Lune

    • Release
    • Open Source

    Es gibt 45 Antworten in diesem Thema. Der letzte Beitrag () ist von ClonkAndre.

      Version 2.0.1.8

      Änderungen:
      - Bei externem Player, anderer ausblenden
      - Keine Endlosschleife
      - Nach zuendeschauen nicht nach Zeit fragen
      - Auto-Abspielen abstellbar
      - Scrollbar verbessern
      - Pfad bei Image disable
      - Taskleiste Progressbar und Icons
      - Symbole ändern

      Download:
      VideoManager.zip (Version 2.0.1.8) (komprimiert ~ 636 KB, unkomprimiert ~ 6,32 MB)
      Ich habe gleich die neue Version ausprobiert. Hier mal, was mir aufgefallen ist - ok, ich habe auch danach gesucht, also nicht sauer sein ;) :
      • Wenn ich eine neue Serie mit einem bereits vergebenem Namen erstelle, wird die alte überschrieben.
      • Wenn ich einen externen Spieler verwende, dann wird das Playerfenster in der Taskleiste angezeigt aber anscheinend ist die Opacity auf 0 gesetzt. Wenn ich also fertig bin mit dem schauen, dann sehe ich das Fenster nicht mehr und muss es über die Taskleiste schließen, damit wieder das Hauptfenster sichtbar wird. Lösungsvorschlag: Gar nicht den internen Player laden, sondern stattdessen das Hauptfenster minimieren.
      • Die Fernbedienung ist etwas verbuggt... Kann man die eigentlich wieder abschalten? Und was ist, wenn bei mir bereits irgendetwas auf Port 2323 läuft?
      • Kein Fehler, aber was ich mich halt frage: Es gibt einen Maximieren-Knopf, aber ich kann weder die Größe des Fensters nicht ändern, noch es maximieren. Er ist nicht ausgegraut und das mit nicht vorhandenem Hover fiel mir erst beim dritten hinschauen auf. Empfehlung: Symbol leicht ausgrauen, ganz entfernen oder noch besser, das Fenster resizeable machen. Beim allerersten Programmstart habe ich nämlich da draufgeklickt, wie ein Verrückter und habe mich gewundert, warum nix passiert :D
      Dein Programm wird immer besser und ich freue mich auf jedes Update! Dein Programm ist ja OpenSource. Ich finde nirgends den Quelltext, denn der Webserver für die Fernbedienung würde mich interessieren.

      Schönen Abend noch!
      Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

      43232069737420636f6f6c21

      masterm schrieb:

      Dein Programm wird immer besser und ich freue mich auf jedes Update! Dein Programm ist ja OpenSource. Ich finde nirgends den Quelltext, denn der Webserver für die Fernbedienung würde mich interessieren.

      Dem kann ich mich nur anschließen ! Und hätte noch Ideen.:
      Und zwar, eine einfache Kindersicherung, so das gewünschte Serien und Playlists, mit einem Passwort versehen sind.
      Gruppen/Kategorien (auch mit pw) für Serien und Playlists, wäre auch super.
      Zu VideoManager
      Sofern noch nicht behoben.

      Du kannst das auch bei GDI passend machen, aber in diesem Fall musst du es anpassen.

      Beispiel:

      Anzeige 100p*100p

      Bild 1: 150p*100p
      Breite > Höhe ---> Skala 1.5
      Bild also 100p*67 (100p/1.5)

      Bild 2: 200p*240p
      Höhe>Breite ---> 240/200 = 1.2
      Bild also 100*83(100/1.2)

      Nun nurnoch den X oder Y Wert anpassen und dann passt das ohne Gezerre.
      Zum Vorschlag von 3Angle, habe ich den passenden code parat.:

      VB.NET-Quellcode

      1. Public Function ScaleImage(ByVal originalImage As Image, ByVal newtWidth As Integer) As Image
      2. Dim aspectRatio As Double = originalImage.Height / originalImage.Width
      3. Dim newHeight As Integer = CInt(newtWidth * aspectRatio)
      4. Return New Bitmap(originalImage, newtWidth, newHeight)
      5. End Function
      @Pasta danke für die Idee mit dem Gruppen/Kategorien, das kann umgesetzt werden. Aber was Passwortschutz mit VB.NET angeht weiß ich nicht so richtig wie das passieren soll :S

      @3Angle Aber dann wären die Bilder alle nicht mehr so schön gleichmäßig. Also das mit dem skalieren hatte ich am Anfang drin, nur hatte ich es dann so gemacht, dass ein schwarzer rand drumrum gemalt wurde. Also entweder skalieren, dann sind die Bilder halt ungleichmäßig groß oder eben eine Größe vorschreiben und verzerren.

      @masterm
      1. Danke wird geändert :)
      2. Der interne Player holt aber den MP4-Link aus der StreamCloud-URL, heißt ich mach dann noch ne extra Form die das macht.
      3. Was heißt verbuggt ? Also bei mir geht sie :D aber halt nur auf dem internen Player. Ausschaltbar werde ich noch machen. Und den Port kann ich auch änderbar machen, danke :)
      4. Ja die Buttons oben habe ich geändert wegen Grafik-Bugs bei anderen Usern und die sind noch nicht so schön. Also der Maximieren-Button ist eigentlich disabled, sieht man nur schlecht :S

      Danke für eure Rückmeldung
      mfG Frank

      xd-franky-5 schrieb:

      Aber was Passwortschutz mit VB.NET angeht

      Naja, sicher kann es eh nicht werden, ich meine ja auch "sicher" :D , wie eben geht, damit Anna (10) und Nils (11) da nicht so einfach dran kommen.
      öhm, blöde Frage:
      Warum machsz du nicht einfach ein standardmäßes schwarzes Quadrat mit einer bestimmten Größe und lässt dann die Bilder zentriert da drauf zeichnen?

      Dann hast du ein immer gleich bleibendes Gerüst und nur die Vorschaubilder ändern sich.

      Höhe/Breite, je nachdem was von beidem größer ist, sollten sich aber an den Maßen des Quadrats orientieren.
      Warum so kompliziert ?
      Die Originalbilder passend zu PictureBox.Width skalieren, PictureBox1.SizeMode = PictureBoxSizeMode.Zoom,
      skaliertes Bild rein in die PictureBox und fertig. :thumbup:
      da hast du aber das Problem, dass das Grunddesign immer anders ausssieht. Beziehungsweise wird dann durch unterschiedlich große Bilder dann das komplette Design verzerrt. Mit einem farbigen "Container" hat man immer was gleich bleibendes, mit dem sich das Design nicht großartig ändert.

      Und was heißt hier kompliziert? Wenn er doch eh das Bild per GDI zeichnet? Ein Rectangle ist eine zusätzliche Zeile ;)
      Warum sollte es "immer anders aussehen" ? Die PictureBoxes sollten natürlich gleich groß sein.
      Eine PictureBox ist doch ein Container und den kann man auch farbig gestalten (BackColor, BackgroungImage), da brauche ich doch kein rectangle für.

      Version 2.0.1.9

      Änderungen:
      - Gruppen
      - Bildergröße einstellbar (fit or stretch)
      - Bugfixes (Überschreiben, ControlBox Buttons)
      - Fernbedienung abschaltbar
      - Port änderbar
      - Player Form
      - Bilderanzeige schneller
      - Animationen bei Bilderanzeige
      - Passwortschutz (AES)
      - Bugfixes (Bilder, Auto-Scroll, etc.)
      - Projekt wieder umbenannt

      Download:
      MovieManager.zip (Version 2.0.1.9) (komprimiert ~ 953 KB, unkomprimiert ~ 12,6 MB)
      Da ich den Thread als Open Source gekennzeichnet habe, kommen hier mal ein paar nützliche Code-Abschnitte:

      Verschlüsselung

      VB.NET-Quellcode

      1. Imports System.IO
      2. Imports System.Security.Cryptography
      3. Imports System.Text
      4. Public Class Crypt
      5. Dim MagicBytes() As Byte
      6. Sub New(ByVal MagicString As String)
      7. MagicBytes = Encoding.Unicode.GetBytes(MagicString)
      8. End Sub
      9. Private Function CreateSalt() As String
      10. Dim chars As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+=][}{<>"
      11. Dim salt As String = ""
      12. Dim rnd As New Random
      13. For i As Integer = 1 To 64
      14. Dim x As Integer = rnd.Next(0, chars.Length - 1)
      15. salt &= chars.Substring(x, 1)
      16. Next
      17. Return salt
      18. End Function
      19. Private Function CreateChecksum(ByVal Bytes() As Byte) As Byte()
      20. Dim result() As Byte
      21. Dim sha As New SHA512Managed()
      22. result = sha.ComputeHash(Bytes)
      23. Return result
      24. End Function
      25. Public Sub EncryptFile(ByVal FileName As String, ByVal Key As String)
      26. Dim salt() As Byte = Encoding.Unicode.GetBytes(CreateSalt())
      27. Dim checksum() As Byte = CreateChecksum(File.ReadAllBytes(FileName))
      28. Dim AES As New AesCryptoServiceProvider()
      29. Dim rfc As New Rfc2898DeriveBytes(Key, salt)
      30. AES.Key = rfc.GetBytes(32)
      31. AES.IV = rfc.GetBytes(16)
      32. Using fsInput As New FileStream(FileName, FileMode.Open, FileAccess.Read)
      33. Using fsEncrypted As New FileStream(FileName & "_e", FileMode.Create, FileAccess.Write)
      34. fsEncrypted.Write(MagicBytes, 0, MagicBytes.Length)
      35. fsEncrypted.Write(salt, 0, salt.Length)
      36. fsEncrypted.Write(checksum, 0, checksum.Length)
      37. Using cryptostream As New CryptoStream(fsEncrypted, AES.CreateEncryptor, CryptoStreamMode.Write)
      38. fsInput.CopyTo(cryptostream)
      39. End Using
      40. End Using
      41. End Using
      42. File.Delete(FileName)
      43. File.Move(FileName & "_e", FileName)
      44. End Sub
      45. Public Function DecryptFile(ByVal FileName As String, ByVal Key As String) As Boolean
      46. Try
      47. Dim salt(127) As Byte
      48. Dim mag(MagicBytes.Length - 1) As Byte
      49. Dim checksum(63) As Byte
      50. Using fshash As New FileStream(FileName, FileMode.Open, FileAccess.Read)
      51. fshash.Read(mag, 0, mag.Length)
      52. fshash.Read(salt, 0, salt.Length)
      53. fshash.Read(checksum, 0, checksum.Length)
      54. Dim AES As New AesCryptoServiceProvider()
      55. Dim rfc As New Rfc2898DeriveBytes(Key, salt)
      56. AES.Key = rfc.GetBytes(32)
      57. AES.IV = rfc.GetBytes(16)
      58. Using cryptostream As New CryptoStream(fshash, AES.CreateDecryptor, CryptoStreamMode.Read)
      59. Using fs As New FileStream(FileName & "_d", FileMode.Create)
      60. cryptostream.CopyTo(fs)
      61. End Using
      62. End Using
      63. End Using
      64. If checksum.SequenceEqual(CreateChecksum(File.ReadAllBytes(FileName & "_d"))) Then
      65. File.Delete(FileName)
      66. File.Move(FileName & "_d", FileName)
      67. Return True
      68. Else
      69. File.Delete(FileName & "_d")
      70. Return False
      71. End If
      72. Catch ex As Exception
      73. File.Delete(FileName & "_d")
      74. Return False
      75. End Try
      76. End Function
      77. Public Function IsEncrypted(ByVal FileName As String) As Boolean
      78. Dim mag(MagicBytes.Length - 1) As Byte
      79. Using fshash As New FileStream(FileName, FileMode.Open, FileAccess.Read)
      80. fshash.Read(mag, 0, mag.Length)
      81. End Using
      82. Return mag.SequenceEqual(MagicBytes)
      83. End Function
      84. End Class



      HTTP-Server

      VB.NET-Quellcode

      1. Imports System.Net
      2. Public Class Site
      3. Dim _bytes As Byte()
      4. Dim _name As String
      5. Dim listener As HttpListener
      6. Dim _caller As Form
      7. Dim _port As Integer
      8. Dim t As New Threading.Thread(Sub() Request()) With {.IsBackground = True}
      9. Sub New(ByVal bytes As Byte(), ByVal name As String, ByVal caller As Form, ByVal port As Integer)
      10. _bytes = bytes
      11. _name = name
      12. _caller = caller
      13. _port = port
      14. t.Start()
      15. End Sub
      16. Public Property Bytes As Byte()
      17. Get
      18. Return _bytes
      19. End Get
      20. Set(value As Byte())
      21. _bytes = value
      22. End Set
      23. End Property
      24. Public Sub Close()
      25. allow = False
      26. t.Abort()
      27. listener.Stop()
      28. End Sub
      29. Dim allow As Boolean = True
      30. Event RequestReceived(eq As String)
      31. Public Sub Request()
      32. listener = New HttpListener()
      33. listener.Prefixes.Add("Http://*:" & _port & "/" & _name & "/")
      34. listener.Start()
      35. Do While allow
      36. Try
      37. Dim context As HttpListenerContext = listener.GetContext
      38. Dim response As HttpListenerResponse = context.Response
      39. If Not String.IsNullOrEmpty(context.Request.RawUrl) Then
      40. Dim responseHtmlBytes As Byte()
      41. _caller.Invoke(Sub() RaiseEvent RequestReceived(context.Request.Url.Segments(context.Request.Url.Segments.Count - 1)))
      42. responseHtmlBytes = _bytes
      43. Dim stream As IO.Stream = response.OutputStream
      44. stream.Write(responseHtmlBytes, 0, responseHtmlBytes.Length)
      45. stream.Close()
      46. End If
      47. Catch ex As Exception
      48. End Try
      49. Loop
      50. End Sub
      51. End Class



      Image zu Base64 und Base64 zu Image

      VB.NET-Quellcode

      1. Public Function ConvertImageToBase64(ByVal img As Image) As String
      2. Dim b64 As String
      3. Using MS As New MemoryStream
      4. img.Save(MS, Imaging.ImageFormat.Jpeg)
      5. b64 = Convert.ToBase64String(MS.ToArray)
      6. End Using
      7. Return b64
      8. End Function
      9. Public Function ConvertBase64ToImage(ByVal base64string As String) As Image
      10. Dim img As Image
      11. Using MS As New MemoryStream(Convert.FromBase64String(base64string))
      12. img = Image.FromStream(MS)
      13. End Using
      14. Return img
      15. End Function



      Dateien rekursiv suchen

      VB.NET-Quellcode

      1. Public Function GetFilesRecursive(ByVal initial As String) As List(Of String)
      2. Dim result As New List(Of String)
      3. Dim stack As New Stack(Of String)
      4. stack.Push(initial)
      5. Do While (stack.Count > 0)
      6. Dim dir As String = stack.Pop
      7. Try
      8. result.AddRange(Directory.GetFiles(dir, "*.*"))
      9. Dim directoryName As String
      10. For Each directoryName In Directory.GetDirectories(dir)
      11. stack.Push(directoryName)
      12. Next
      13. Catch ex As Exception
      14. End Try
      15. Loop
      16. Return result
      17. End Function



      IMDB API

      VB.NET-Quellcode

      1. Public Function FindSeries(ByVal title As String) As ShortSeries
      2. Try
      3. Dim Movie As XElement = XDocument.Load("http://www.omdbapi.com/?t=" & title & "&r=xml&type=series").Descendants("movie")(0)
      4. Dim t As String = Movie.Attribute("title").Value
      5. Dim desc As String = Movie.Attribute("plot").Value
      6. Dim img As String = Movie.Attribute("poster").Value
      7. Dim ssr As New ShortSeries(t, desc, img)
      8. Return ssr
      9. Catch ex As Exception
      10. Return Nothing
      11. End Try
      12. End Function
      13. Public Function FindMovie(ByVal title As String) As ShortMovie
      14. Try
      15. Dim Movie As XElement = XDocument.Load("http://www.omdbapi.com/?t=" & title & "&r=xml&type=movie").Descendants("movie")(0)
      16. Dim t As String = Movie.Attribute("title").Value
      17. Dim desc As String = Movie.Attribute("plot").Value
      18. Dim img As String = Movie.Attribute("poster").Value
      19. Dim sm As New ShortMovie(t, desc, img)
      20. Return sm
      21. Catch ex As Exception
      22. Return Nothing
      23. End Try
      24. End Function
      25. Public Class ShortSeries
      26. Dim _title As String
      27. Dim _desc As String
      28. Dim _img As String
      29. Sub New(ByVal title As String, ByVal description As String, ByVal image As String)
      30. _title = title
      31. _desc = description
      32. _img = image
      33. End Sub
      34. Public ReadOnly Property Title As String
      35. Get
      36. Return _title
      37. End Get
      38. End Property
      39. Public ReadOnly Property Description As String
      40. Get
      41. Return _desc
      42. End Get
      43. End Property
      44. Public ReadOnly Property Image As String
      45. Get
      46. Return _img
      47. End Get
      48. End Property
      49. End Class
      50. Public Class ShortMovie
      51. Dim _title As String
      52. Dim _desc As String
      53. Dim _img As String
      54. Sub New(ByVal title As String, ByVal description As String, ByVal image As String)
      55. _title = title
      56. _desc = description
      57. _img = image
      58. End Sub
      59. Public ReadOnly Property Title As String
      60. Get
      61. Return _title
      62. End Get
      63. End Property
      64. Public ReadOnly Property Description As String
      65. Get
      66. Return _desc
      67. End Get
      68. End Property
      69. Public ReadOnly Property Image As String
      70. Get
      71. Return _img
      72. End Get
      73. End Property
      74. End Class



      XML schreiben und lesen

      VB.NET-Quellcode

      1. Public Settings As New Settings
      2. Sub New()
      3. If File.Exists(Path.Combine(Application.StartupPath, "Settings\Settings.CONFIG")) Then Settings = ReadSettings() Else Save()
      4. End Sub
      5. Public Function ReadSettings() As Settings
      6. Dim settings As New Settings
      7. Using objStreamReader As New StreamReader(Path.Combine(Application.StartupPath, "Settings\Settings.CONFIG"))
      8. Dim x As New XmlSerializer(settings.GetType)
      9. settings = CType(x.Deserialize(objStreamReader), Settings)
      10. End Using
      11. Return settings
      12. End Function
      13. Public Sub Save()
      14. Dim path As String = IO.Path.Combine(Application.StartupPath, "Settings\Settings.CONFIG")
      15. Using objStreamWriter As New StreamWriter(path)
      16. Dim x As New XmlSerializer(Settings.GetType)
      17. x.Serialize(objStreamWriter, Settings)
      18. End Using
      19. End Sub
      20. Die Klasse "Settings" besteht ausschließlich aus Properties und besitzt keinen Konstruktor.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xd-franky-5“ ()

      Version 3.0.0.0

      Version 3.0.0.0:
      - Design geändert
      - Suche
      - Einzelne Filme
      - Bug- und Performance fixes
      - Weitere Funktionen...

      Download:
      Lune.zip (Version 3.0.0.0) (komprimiert ~ 1,6 MB, unkomprimiert ~ 26,3 MB)
      Dateien
      • Lune.bmp

        (1,12 MB, 206 mal heruntergeladen, zuletzt: )
      Lange nichts mehr gehört. Dachte schon, das Programm sei vergessen worden.
      Das neue Design gefällt mir um einiges besser, als das Vorherige. Es wirkt von der Farbgebung viel angenehmer.
      Ich habe einfach mal eine halbe Stunde herumgespielt und dabei ist mir Folgendes aufgefallen:
      1. Die Übersetzung ins Deutsche ist unvollständig.
      2. Wenn ich eine Gruppe bei den Serien erstelle, bekomme ich folgende Meldung, wenn ich die Serienübersicht öffne:
        Spoiler anzeigen
        See the end of this message for details on invoking
        just-in-time (JIT) debugging instead of this dialog box.

        ************** Exception Text **************
        System.NullReferenceException: Object reference not set to an instance of an object.
        at Lune.MainFrm.LoadMediaSeries()
        at Lune.MainFrm.VB$StateMachine_454_ReloadSeries.MoveNext()
        --- End of stack trace from previous location where exception was thrown ---
        at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)


        ************** Loaded Assemblies **************
        mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
        ----------------------------------------
        Lune
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/Lune.exe
        ----------------------------------------
        Microsoft.VisualBasic
        Assembly Version: 10.0.0.0
        Win32 Version: 14.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
        ----------------------------------------
        System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
        ----------------------------------------
        System.Core
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
        ----------------------------------------
        System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
        ----------------------------------------
        System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
        ----------------------------------------
        System.Runtime.Remoting
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/de/Lune.resources.DLL
        ----------------------------------------
        System.Xml
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        System.Configuration
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
        ----------------------------------------
        Microsoft.GeneratedCode
        Assembly Version: 1.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/en/Lune.resources.DLL
        ----------------------------------------

        ************** JIT Debugging **************
        To enable just-in-time (JIT) debugging, the .config file for this
        application or computer (machine.config) must have the
        jitDebugging value set in the system.windows.forms section.
        The application must also be compiled with debugging
        enabled.

        For example:

        <configuration>
        <system.windows.forms jitDebugging="true" />
        </configuration>

        When JIT debugging is enabled, any unhandled exception
        will be sent to the JIT debugger registered on the computer
        rather than be handled by this dialog box.

        Außerdem kann ich dann keine Serie mehr sehen. Bei
      3. Wenn der externe Player aktiviert ist, tritt immer folgender Fehler alle paar Sekunden auf:
        Spoiler anzeigen
        See the end of this message for details on invoking
        just-in-time (JIT) debugging instead of this dialog box.

        ************** Exception Text **************
        System.NullReferenceException: Object reference not set to an instance of an object.
        at Lune.MainFrm.LoadMediaSeries()
        at Lune.MainFrm.MainFrm_Load(Object sender, EventArgs e)
        at System.EventHandler.Invoke(Object sender, EventArgs e)
        at System.Windows.Forms.Form.OnLoad(EventArgs e)
        at System.Windows.Forms.Form.OnCreateControl()
        at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
        at System.Windows.Forms.Control.CreateControl()
        at System.Windows.Forms.Control.WmShowWindow(Message& m)
        at System.Windows.Forms.Control.WndProc(Message& m)
        at System.Windows.Forms.Form.WmShowWindow(Message& m)
        at Lune.CustomForm.WndProc(Message& m)
        at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

        ************** Loaded Assemblies **************
        mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
        ----------------------------------------
        Lune
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/Lune.exe
        ----------------------------------------
        Microsoft.VisualBasic
        Assembly Version: 10.0.0.0
        Win32 Version: 14.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
        ----------------------------------------
        System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
        ----------------------------------------
        System.Core
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
        ----------------------------------------
        System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
        ----------------------------------------
        System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
        ----------------------------------------
        System.Runtime.Remoting
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/de/Lune.resources.DLL
        ----------------------------------------
        System.Xml
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        System.Configuration
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
        ----------------------------------------
        Microsoft.GeneratedCode
        Assembly Version: 1.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Lune/en/Lune.resources.DLL
        ----------------------------------------

        ************** JIT Debugging **************
        To enable just-in-time (JIT) debugging, the .config file for this
        application or computer (machine.config) must have the
        jitDebugging value set in the system.windows.forms section.
        The application must also be compiled with debugging
        enabled.

        For example:

        <configuration>
        <system.windows.forms jitDebugging="true" />
        </configuration>

        When JIT debugging is enabled, any unhandled exception
        will be sent to the JIT debugger registered on the computer
        rather than be handled by this dialog box.

        Das Programm wird nahezu unbenutzbar. Da hilft es nur noch alle Dateien zu löschen. Der externe Player wird nicht aufgerufen.
      4. Bei den Serien habe ich lange gebraucht, um herauszufinden, wie ich Folgen hinzufüge.
      5. Was bringt die Search-the-Computer-Funkion? Mir erschließt sich die Funktion nämlich nicht.
      6. Ich habe einen Film vollständig angesehen und das Programm frägt mich, ob ich den Film von vorne sehen möchte, oder bei 0:00 weiterschauen möchte. Ich würde es wie der VLC machen, dass wenn du weniger als X Prozent oder mehr als 100-X Prozent gesehen hast, dass beim nächsten Mal keine abfrage kommt.
      7. Wenn die GUI vom Player eingeblendet wird, ruckelt die Wiedergabe kurz.
      8. Mir persönlich fehlt die Möglichkeit des Vorspulens, z.B. durch das gedrückt Halten vom Weiter-Button. Vor allem bei langen Filmen, wo die Leiste nicht sehr genau ist, ist das ganz praktisch.
      9. Im Player erschließt sich mir die Funktion des rechten Buttons mit den zwei Pfeilen nicht wirklich. Da wäre eine Beschriftung per Hover ganz praktisch.
      10. Wenn ich mir die Filminfos anzeigen lasse, hat der Dialog sowohl einen OK-Button, als auch einen Abbrechen-Button. Beide haben aber die selbe Wirkung. Anfangs irritiert das aber, vor allem wenn man die Beschreibung leer gelassen hat :D
      11. Wenn ich dass Programm maximiere, legt es sich auch über meine Taskleiste. Ist das gewollt?
      12. Die Verschlüsselung klappt irgendwie nicht so ganz. Folgender Fehler, wenn ich meinen Film bearbeiten möchte (Name: bbb, PW: 123456)
        Spoiler anzeigen
        See the end of this message for details on invoking
        just-in-time (JIT) debugging instead of this dialog box.

        ************** Exception Text **************
        System.IO.FileNotFoundException: Could not find file 'C:\Users\Mario\Desktop\Film-Manager\Lune\123456'.
        File name: 'C:\Users\Mario\Desktop\Film-Manager\Lune\123456'
        at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
        at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
        at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
        at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
        at System.IO.StreamReader..ctor(String path)
        at Lune.MethodsModule.ReadSeries(String path)
        at Lune.Media..ctor(String Path, String Password)
        at Lune.MainFrm.MovieCM_MenuItemClick(Int32 index)
        at Lune.MovieCM.Clicked(Int32 i)
        at Lune.MovieCM.EditBtn_Click(Object sender, EventArgs e)
        at System.Windows.Forms.Control.OnClick(EventArgs e)
        at System.Windows.Forms.Button.OnClick(EventArgs e)
        at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
        at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
        at System.Windows.Forms.Control.WndProc(Message& m)
        at System.Windows.Forms.ButtonBase.WndProc(Message& m)
        at System.Windows.Forms.Button.WndProc(Message& m)
        at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

        ************** Loaded Assemblies **************
        mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
        ----------------------------------------
        Lune
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Film-Manager/Lune/Lune.exe
        ----------------------------------------
        Microsoft.VisualBasic
        Assembly Version: 10.0.0.0
        Win32 Version: 14.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
        ----------------------------------------
        System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
        ----------------------------------------
        System.Core
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
        ----------------------------------------
        System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
        ----------------------------------------
        System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
        ----------------------------------------
        System.Runtime.Remoting
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Film-Manager/Lune/de/Lune.resources.DLL
        ----------------------------------------
        System.Xml
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        System.Configuration
        Assembly Version: 4.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
        ----------------------------------------
        Microsoft.GeneratedCode
        Assembly Version: 1.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        Lune.resources
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Mario/Desktop/Film-Manager/Lune/en/Lune.resources.DLL
        ----------------------------------------
        Microsoft.GeneratedCode
        Assembly Version: 1.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------
        Microsoft.GeneratedCode
        Assembly Version: 1.0.0.0
        Win32 Version: 4.6.1586.0 built by: NETFXREL2
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        ----------------------------------------

        ************** JIT Debugging **************
        To enable just-in-time (JIT) debugging, the .config file for this
        application or computer (machine.config) must have the
        jitDebugging value set in the system.windows.forms section.
        The application must also be compiled with debugging
        enabled.

        For example:

        <configuration>
        <system.windows.forms jitDebugging="true" />
        </configuration>

        When JIT debugging is enabled, any unhandled exception
        will be sent to the JIT debugger registered on the computer
        rather than be handled by this dialog box.

        Danach scheint der Passwortschutz aufgehoben, auch nach einen Restart. Nur die Decrypt-Option weist auf die Verschlüsselung hin.
      13. Log in und Log out ist komplett ohne Funktion.
      14. Die Wiedergabelänge könnte über den Player bei der Wiedergabe ermittelt werden, wenn keine angegeben wurde.
      15. Die Hilfe-Seite existiert nicht. Kein Programmfehler, aber trotzdem unschön.
      Ich hoffe, du kannst mit meiner Rückmeldung etwas anfangen. Die Liste ist etwas lang, aber ich habe auch wirklich versucht Fehlern zu provozieren. :evil:

      Grüße
      Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

      43232069737420636f6f6c21

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „masterm“ ()

      Stream ist eine gute Idee also dein Programm. Sehr gute Arbeit.

      Aber ich würde dennoch aufpassen, weil Kinox.to hat auch nur verlinkt, und diese wurden oft verklagt / gesperrt und co. Also daher würde ich sehr aufpassen mit solcher Software. Zwar weist du darauf hin, in deinem Text, aber ich denke, wenn dir einer was böses will finden die Möglichkeiten.
      Ihr sucht Webspace für eure Projekte? Dann sagt bescheid - kostenfrei und ohne Werbung!
      @masterm
      1. Ich sehe nichts was nicht übersetzt wurde, bitte etwas genauer.
      2. Lag daran, dass ich keine neue Instanz der Liste der Serien erstellt habe, danke.
      3. Ich kann den Fehler irgendwie nicht reproduzieren und dein Fehlercode hat irgendwie nichts mit dem Player zu tun.
      4. Hättest du eine Idee das zu vereinfachen ?
      5. Damit kannst du nach bereits bestehenden Serien-Dateien auf deinem Computer suchen und importieren.
      6. Habe nun eingestellt, dass nur gefragt wird wenn man weniger als 90% gesehen hat, danke.
      7. Da ich nicht mit WPF arbeite, werden alle Grafiken vom Prozessor verarbeitet, was das ruckeln produziert, leider in naher Zukunft nicht änderbar :/
      8. Wurde nun eingefügt, danke.
      9. Der Button stellt ein, ob nach der jetzigen Episode die nächste abgespielt, oder die Wiedergabe beendet werden soll.
      10. Liegt daran, dass es quasi eine Standard-Form ist :D
      11. Ist es nicht, wurde nun behoben, danke.
      12. Oh da war ein Dreher bei den Parametern drin, danke.
      13. Die Funktionen sollen noch kommen, keine Sorge.
      14. Wurde gemacht, danke.
      15. Huch falscher Link, danke.

      Danke für deine Hilfe :)

      @chenjung
      Danke, naja ich verlinke ja nicht direkt, die Nutzer dürfen selbst verlinken.
      Ich helfe gerne!
      Zu 1: Der Bild-auswählen-Button im Serien-Dialog, der komplette Film-Dialog, sowie der Episoden-Dialog. Diese sind alle auf Englisch.
      Zu 4: Ich würde einen Button an der im Bild markierten Stelle positionieren.
      Zu 5: Wie wäre es, wenn man außerdem ein Verzeichnis nach Dateien durchsuchen kann und das Programm erkennt an der Benennung (z.B. S03E17) die Staffel und Episode?

      Zum Screenshot: Irgendwie funktioniert das Scrollen nicht so richtig: Die Leiste wird überdeckt und das Mausrad ist ohne Funktion. Außerdem wird ein Teil der GUI abgeschnitten, wenn man das Fenster verkleinert.

      Grüße
      Bilder
      • Lune.png

        22,79 kB, 1.143×501, 182 mal angesehen
      Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

      43232069737420636f6f6c21

      Version 3.0.0.1

      Version 3.0.0.1:
      - Übersetzung vervollständigt
      - Bug fixes
      - Neue Episode Button
      - Keine Abspielabfrage wenn mehr als 90% geschaut wurde
      - Vorspulen bei gedrückt halten
      - Dauer über Player ermitteln

      Download:
      Lune.zip (Version 3.0.0.1) (komprimiert ~ 1,6 MB, unkomprimiert ~ 26,3 MB)

      EDIT: Erkennen von Episoden und Staffeln folgt