[E2 Plugin] Merlin Music Player + Merlin iDream (Update 08.08.2010)

  • Merlin Music Player - E2 Plugin


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/MerlinMusicPlayer.jpg]


    Beschreibung:


    Der Merlin Music Player ist eine Neuentwicklung des MerlinMP3Players. Ich habe mich dazu entschlossen, das Projekt komplett neu zu programmieren, so dass eigentlich keine Codezeile mehr aus dem alten Projekt vorhanden ist. Von der Bedienung her ist das neue Plugin aber genau so wie das Alte.


    Ich habe den Software-Decoder für das Abspielen von MP3 Dateien ebenfalls neu geschrieben, man kann den optional in der Config auswählen. Dieser ist aber in meinen Augen nicht mehr notwendig und sollte nur ausgewählt werden, wenn man mit dem Hardware Modus Probleme hat, denn der Softwaremodus ist nicht 100% stabil.
    Ich hatte den Software Modus damals entwickelt, um einen relativ schnellen Musikwechsel zu erreichen. Jedoch habe ich nun eine CUE-SHEET Unterstützung im Player implementiert, womit CD's, die fließende Musikübergänge besitzen, überhaupt keine Pause mehr zwischen den Titeln haben. Dazu müsst Ihr Eure CD einfach als ein einziges File rippen und eine CUE-Datei dazu erstellen, der Merlin Music Player parst dann diese Datei und Ihr könnt im Player dann navigieren, als ob die Musikdatei aus mehreren Dateien besteht. Damit habt Ihr dann keine Pausen mehr zwischen den Tracks! ;)


    Das Projekt ist in 2 Module aufgeteilt:


    1) Merlin Music Player




    Hier kann man mit einem Filebrowser sich durch Verzeichnisse navigieren und Musikdateien auswählen und abspielen.


    Folgende Dateitypen werden dabei unterstützt: MP3, FLAC, M4A und OGG Musikdateien
    Wenn Ihr eine Datei ausgewählt habt, werden automatisch alle Musikdateien des aktuellen Verzeichnisses in die Songliste mitaufgenommen.


    Folgende Playlist-Arten werden unterstützt:
    M3U Playlisten
    PLS Playlisten (worin beispielsweise auch Internet-Musikstreams enthalten sein können)
    CUE SHEET Dateien


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/FileList.jpg]


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/MerlinMusicPlayerSonglistCUE.jpg] [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/MerlinMusicPlayerCUE.jpg]


    2) iDream


    In iDream könnt Ihr Eure Musikdateien nach id3Tags parsen lassen, diese Informationen werden in einer Datenbank abgelegt, welche dann nach Artists, Alben, Genre usw. gruppiert sind.
    Außerdem habt Ihr in iDream die Möglichkeit, eigene Playlisten zu erstellen.


    Um die Datenbank zu füllen wählt Ihr ein Verzeichnis aus (Menü drücken in iDream), welches dann samt Unterverzeichnissen durchsucht wird. Da dieser Vorgang je nach Musikdateienanzahl eine Weile dauern kann, wird dieser Vorgang in einem seperaten Thread durchgeführt, so dass Ihr die Scan-Maske während des Prozesses schließen könnt und normal weiter die Dreambox verwenden könnt.


    Ihr könnt in den einzelnen Übersichtslisten die farbigen Knöpfe benutzen, um beispielsweise für einen Artists alle Song anzeigen zu lassen, oder für einen Song alle in diesem Album. Des weiteren könnt Ihr die Datenbank nach Titel, Album, Artist usw. durchsuchen, Playlisten anlegen usw. (Menü Drücken in iDream).


    Um in iDream eine Ebene nach oben zu kommen [back], könnt ihr auch die "0" auf der Fernbedienung drücken.


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/iDream.jpg]
    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/iDreamAlbumlist.jpg] [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/iDreamArtistAlbumList.jpg]


    ----


    Wenn Ihr Euch im Merlin Music Player befindet und "exit" drückt, wird die Musik weiter abgespielt. Um in den Player zurückzugelangen einfach eine neue Datei/iDream Eintrag auswählen, oder auf "Info" drücken.


    Wenn Ihr Euch im Music Player befindet, könnt Ihr mit Pfeil link/rechts zu dem voherigen/nächsten Lied gelangen. Mit Pfeil hoch/runter gelangt Ihr in die aktuelle Songliste.


    Wenn Ihr im Player auf "Info" drückt, werden die Lyrics zu dem aktuellen Lied angezeigt.


    Im Player können mit "Bouqet Down" und "Bouquet Up" Shuffle-List und Repeat Einstellungen vorgenommen werden.


    Ihr könnt in allen Masken auf "Menü" drücken, um in die Konfiguration vom Merlin Music Player zu gelangen bzw. in iDream spezielle Funktionen neben der Konfiguration auswählen zu können.


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/Config.jpg]


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/Songlist.jpg] [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/Lyrics.jpg]


    [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/MerlinMusicPlayer.jpg] [Blocked Image: http://info.dreambox-tools.info/merlinmusicplayer/Screensaver.jpg]


    ---


    Info:


    Änderungen gegenüber alten Projekt MerlinMP3Player:


    Fixes:
    1 ) Screensaver Fix
    2 ) FLAC Support Fix
    3 ) neues Routine für ID3Tag Parsen für iDream Database --> keine Abstürze mehr feststellbar
    4 ) Software MP3 Decoder in Servicefactory integriert und stabiler gemacht


    NEU:
    1 ) Komplett neue Überarbeitung/Programmierung
    2 ) Unterstützung von CUE Files
    3 ) Unterstützung von PLS Files
    4 ) iDream Datenbank-Verzeichnis-Ort kann frei gewählt werden
    5 ) Covers von Google-Image-Verzeichnis-Ort kann frei gewählt werden
    6 ) Google Cover Images werden permanent gespeichert, um Internet-Traffic zu sparen und schnelleres Anzeigen der Cover zu garantieren
    7 ) optimierter Entscheidungsweg des Players, ob überhaupt ein neues Cover angezeigt werden muss
    8 ) Suchen nach ID3 Tag Suchbegriffen in Merlin iDream
    9 ) Erstellung eigener Playlisten in Merlin iDream
    10 ) Es muss kein HD-Pack mehr installiert werden, alle Screens unterstützen 720x576, 1024x576 und 1280x720
    11 ) Optionale Einstellung, ob beim Starten des Plugins automatisch das letzte verwendete Lied abgespielt werden soll


    Viel Spass damit, wers denn gebrauchen kann.
    Dr. Best



    HInweis:
    Zur Installation sind mehrere zusätzliche Pakete neben dem Plugin notwendig.


    1) Merlin2 Image
    Solange das Plugin nicht auf dem Feed liegt müssen die 3 Pakete aus dem Anhang installiert werden, der Rest wieder automatisch vom Online-Feed gezogen


    2) CVS Images von DMM
    Hier muss neben dem Plugin das Paket "python-mutagen_1.18-r0_mipsel" aus dem Anhang installiert werden, der Rest sollte über den Online-Feed von DMM gezogen werden


    3) Sonstige Images
    Da habe ich keinen Plan, was auf deren Feed liegt. Da aber neben dem Paket "python-mutagen_1.18-r0_mipsel" nur Standard-Pakete, welche sich im OE befinden, benötigt werden, sollte diese, sofern der Image-Bauer Eures Vertrauens diese auch zur Verfüfung stellt, automatisch gezogen werden. Wenn die Installation schief läuft wegen fehlendender Abhängigkeiten, einfach melden, dann lade ich die Pakete hier im Thread hoch.

  • Ich lade am besten einfach mal alle Libs hoch, die benötigt werden, egal, ob auf dem Online Feed oder nicht, dann hat sie jeder. :)

  • Update 27.02.2010
    Merlin Music Player Version 1.1


    Fixes:
    - better error handling for id3tags
    - LCD display fix in songlist for filenames


    New:
    - LCD display support for filebrowser
    - do not check existed songs in database for id3tags again when scanning --> very much faster now to scan for new files in folders
    - play current directory with sub-folders automatically by pressing green button in filebrowser
    - with DM7025 and DM8000 you can watch TV while playing songs. Press "OK" in Merlin Music Player to activate, you can switch channels by pressing next/previous/bouquet up/bouquet down key on RC, Info = EPGInfo. Pressing "OK" displays the current song title. Press "EXIT" to go back to Merlin Music Player widget.



    Viel Spass damit.
    Dr. Best

  • Update 07.03.2010


    Log-Message:


    Quote


    -fixed UnicodeDecodeError : no more unicode errors while parsing id3tags, hopefully ;)
    -do not crash when OperationalError (unable to open database file) happens


    Es ist eine neue Abhängigkeit zu dem Paket gekommen: python-sqlite3 MUSS vorher installiert werden, und zwar das hier aus dem angehängten Attachment bei einem OE 1.5 Image!!! (Merlin2 und OoZoon Feed ist das nicht notwendig!)
    Dafür ist das Paket python-pysqlite2 nicht mehr notwendig und kann nach dem Update deinstalliert werden.

  • An audio player is a kind of media player for playing back digital audio, including optical discs such as CDs, SACDs, DVD-Audio, HDCD, audio files and streaming audio. In addition to VCR-like functions like playing, pausing, stopping, rewinding, and forwarding, some common functions include playlisting, tagging format support, and equalizer. Many of the audio players also support simple playback of digital videos in which we can also run movies. An audio file format is a file format for storing audio data on a computer system. It can be a raw bitstream, but it is usually a container format or an audio data format with defined storage layer. The general approach towards storing digital audio is to sample the audio voltage which, on playback, would correspond to a certain level of signal in an individual channel with a certain resolution the number of bits per sample in regular intervals. This data can then be stored uncompressed, or compressed to reduce the file size.
    :)

  • sherry1 : What do you want to express?
    If your intention was just to promote your website, I deleted you signature ...

    Grüße,
    Olove

    "All we need to do ... is keep talking (Stephen Hawking)"


    Ich leiste KEINEN Support per PN/E-Mail, derartige Anfragen werden nicht beantwortet.
    I won't give support via PN/E-Mail and I won't answer such messages.

  • @ Dr.Best:


    crashlog im Anhang


    DM7025+ mit 2.8.1 release (1.5OE)


    Auszug aus dem crashlog: ERROR reading section - Value too large for defined data type




    Wenn ich den MusicPlayer aufrufe, dann geht er direkt in das "default movie location" Verzeichniss (denke ich).#


    Dies ist bei mir eine 1,5TB Platte die an einer DM500HD dranhängt und via Samba Freigabe auf die DM7035 gemountet ist (als /media/net/DM500HDWZ)


    Dieser mount ist als "use as HDD replacement" aktiviert.




    Der Crash geschieht sofort nach dem Aufruf.


    Er zeigt mir alle Ordner auf der "HDD" an, aber dann kommen die Spinner und es crasht.


    ich komme nicht mehr bis ins "Menu"




    Mein Fehler ????

  • Hm, der Player findet zwar das Datenbank-File, aber in diesem nicht eine Tabelle, wo er zugreifen will.
    Das ist natürlich schlecht, dass dann das Plugin abstürzt, ich müsste eh noch ein paar Fehler-Abfangroutinen einbauen...


    Gib einfach mal im Telnet-Fenster folgendes ein:


    cat /etc/enigma2/settings | grep config.plugins.merlinmp3player.databasepath


    dann siehst Du den Pfad, von welchen der Player das Datenbank-File verwednet.
    Lösche dann die Datei "iDream.db" per Hand, dann lässt sich auch der Player wieder starten.


    Du musst schauen, dass das Verzeichnis, wo der Player das Datenbank-File speichern will, auch beschreibbar ist. Ansonsten crasht es (was natürlich noch von mir abgefangen werden muss).


    WIe gesagt, ich muss da noch ein paar Fehler-Abfangroutinen einbauen, damit das nicht mehr passiert.


    Eigenartig findet ich allerdings, dass der Player bei Dir die Datenbank findet, aber nicht die Tabelle "CurrentSongList". Verwendest Du noch das Datenbankfile der alten Player-Version? Wie dem auch sei, löschen, dann geht wieder alles.

  • Sollte heute im Laufe des Tages auf dem DMM-Experimental-Feed liegen.

  • Hello Dr. Best,


    hätte da drei Vorschläge bzw. Bitten zum Music Player.


    1) Im Falle eines nicht vorhandenen Files aus der Playlist (Gstreamer error: Resource not found. (3) from source) wäre es spitze, wenn die Wiedergabe nicht komplett stehen bleibt, sondern der Player zum nächsten Titel weiter springt.
    2) Meinst du, es wäre möglich, eine Restzeitanzeige einzubauen?
    3) Ein Scan über die DB, ob alle eingetragenen Files physikalisch noch auf der HD liegen und im Falle von 'abhanden' kommen, diese entfernen.


    Würd' mich freuen, wenn sich die Punkte so umsetzen ließen.


    Thx a lot! ;-)

  • Hello Dr. Best,


    hätte da drei Vorschläge bzw. Bitten zum Music Player.

    Da bitte ich doch gleich mit. :D



    Wäre es möglich für den Music Player ein eigenes Webinterface zu erstellen?


    Also daß man direkt von PC, iPod, iPad oder ähnlichem auf ein Webif des Plugins kommt.
    Somit müßte man den TV nicht einschalten und könnte seine Musik mit der Dream die an der heimischen Anlage hängt steuern.