Eigenschaften
Grundsätzliches
Lyrics Jukebox braucht nicht installiert zu werden, man kann das Programm einfach starten. Alle benötigten Dateien
werden mitgeliefert. Lediglich die Internetradiofunktion stellt eine Ausnahme dar, denn dafür wird der VLC-Player benötigt.
So kann es auch problemlos als portabler Musikplayer benutzt werden, bei dem sich alle Daten auf einem Wechseldatenträger
befinden.
Das Programm ist kostenlos (und enthält auch keine Werbung oder ähnliches), und es benötigt keine Internetverbindung (außer
natürlich fürs Radiostreaming).
Weil Lyrics Jukebox für einen kleinen Bildschirm entworfen wurde, wo ein umfangreicher Einstellungsdialog schwer handhabbar wäre,
wird die Betriebsart mittels einer Konfigurationsdatei festgelegt, in der die Einstellungen von Hand geändert werden.
Das Programm erwartet diese Konfigurationsdatei mit dem Namen Lyrics_Jukebox.config standardmäßig im selben Verzeichnis,
in dem die Programmdatei liegt. Wenn eine andere Konfigurationsdatei benutzt werden soll, dann können Pfad/Name als Startargument
übergeben werden.
Details zum Verändern der Einstellungen und alle Konfigurationsparameter sind auf der
Seite zur Konfiguration beschrieben.
Betriebsarten
Hinweis: Nachfolgend enthalten einige Beispiele Pfadangaben mit / als Pfadtrenner, so wie es in den meisten
Betriebssystemen üblich ist. Für Windows können Sie dort selbstverständlich ein \ einsetzen.
Lyrics Jukebox kann auf verschiedene Weise benutzt werden. Generell können Sie festlegen, ob das Programm ständig Musik wiedergibt und
die Jukebox nur zum zusätzlichen Auswählen einzelner Stücke und zum Nachsehen benutzt wird, was es denn so für Musik gibt,
oder ob nach dem Programmstart die Jukebox aufgerufen wird und nur die Stücke gespielt werden, die dort ausgewählt werden.
Die mitgelieferte Standardkonfiguration startet das Programm im Wiedergabemodus und die Jukebox läßt sich ein- und ausschalten.
Nachfolgend finden Sie einige Anregungen für mögliche Betriebsarten und die entsprechenden Konfigurationseinträge.
- Einfacher Player ohne Textanzeige oder Jukebox
Das erreichen Sie mit SimplePlayer=on.
- Wiedergabe einer M3U-Playlist
Geben Sie hierfür Pfad/Dateiname bei PlayList an,
beispielsweise PlayList=Wiedergabelisten/Partymusic.m3u
- Wiedergabe eines Verzeichnisinhaltes (wahlweise mit oder ohne Unterverzeichnissen)
Geben Sie hierfür Pfad/Dateiname bei MusicDir an,
beispielsweise MusicDir=Musik/Klassik
Ob dabei Unterverzeichnisse gelesen werden, legt der Parameter ReadSubDirs fest.
- Wiedergabe ohne Zufallswiedergabe
Shuffle=off
SmartShuffle=off
- mit einfacher Zufallswiedergabe
Shuffle=on
- mit erweiterter Zufallswiedergabe ohne Wiederholungen
Shuffle=off
SmartShuffle=on
- mit veränderter Wiedergabehäufigkeit
Die Wiedergabehäufigkeit einzelner Stücke kann in einer Liste festgelegt werden
RatingList=Pfad/Dateiname (Aufbau der Liste siehe Konfiguration).
Wenn Sie wollen, erreichen Sie damit eine Rotation einzelner Stücke so wie bei manchen Radiostationen,
aber übertreiben Sie es lieber nicht.
Wie stark die Auswirkungen der Bewertungseinträge wahrgenommen werden, hängt von der Gesamtanzahl der Musikstücke ab:
- Bei positiver Bewertung werden für das betreffende Stück über die gesamte aktuelle Wiedergabeliste zusätzliche
Wiedergabepositionen gleichmäßig verteilt (wobei das Programm Wiederholungen von Interpret oder Titel
zu vermeiden versucht). Der Wert +3 führt also zu drei zusätzlichen Wiedergabepositionen, was bei wenigen
Stücken natürlich mehr auffällt als bei vielen.
- Bei negativer Bewertung wird das Stück zufallsgesteuert ausgelassen, beispielsweise bewirkt also -2, daß
das Stück durchschnittlich nur jedes dritte Mal gespielt wird.
- Eine Playlist ohne Pfade oder mit falschen Pfaden kann importiert werden
OldPlayList=Pfad/Dateiname
Das kann man auch mit der Zufallswiedergabe oder einer vorher geladenen Playlist kombinieren, die hiermit importierte Playlist wird immer
am Anfang einsortiert. Wenn sie zu Ende ist, fährt die Wiedergabe mit der internen Wiedergabeliste fort, also der Zufallsliste
oder der geladenen Playlist.
Für den Import einer solchen Liste müssen alle darin vorkommenden Titel bekannt sein, also entweder im angegebenen Musikverzeichnis stehen
(wenn die Musik aus MusicDir benutzt wird) oder in der Playlist vorhanden sein (wenn PlayList benutzt wird). Fehlende Stücke werden
weggelassen, und es gibt eine kurze Warnmeldung während des Imports der OldPlayList.
- Laufschrift
Für die Benutzung auf kleinen Bildschirmen kann eine große Laufschrift mit Informationen über das Stück aktiviert werden
LargeIntro=on
Dieser Parameter bewirkt, daß einige Sekunden nach dem Beginn der Wiedergabe das Jahr, der
Interpret und der Titel als Lauftext angezeigt werden.
Im Radiomodus wird dann der übermittelte Name des aktuell gespielten Stücks angezeigt, sobald er sich ändert.
- Für die Unterstützung von Bühnenauftritten („on-stage“) kann vor jedem neuen Stück gewartet werden
PauseBeforeTrack=on
Die Wiedergabe beginnt dann beim Betätigen der Leertaste oder der Pausentaste der Bedienoberfläche.
- Betrieb als Jukebox, bei der nur die gewählten Stücke gespielt werden
JukeboxOnly=on
Dieser Parameter bewirkt, daß sich die Jukeboxfunktion nicht abschalten läßt.
- Betrieb als Party-Jukebox, die, wenn niemand ein Stück wählt, nach einer gewünschten Zeitdauer zur Zufallswiedergabe oder der Playlist wechselt
JukeboxTimeout=60
bewirkt beispielsweise das selbständige Fortsetzen der Wiedergabe nach einer Minute.
- Betrieb als Internetradio
Dabei wird der VLC-Player benutzt, der also installiert sein muß.
Die Streaming-URLs der Internetradiostationen stehen in einer Textdatei, die Sie nach Ihren Wünschen verändern können.
Jede Zeile enthält eine URL, und die Stationen werden im Programm in deren Reihenfolge angeboten.
RadioStations=Pfad/Dateiname
Das Symbol der Radiofunktion wird nur angeboten, wenn die Liste der Radiostationen vorhanden ist und der VLC-Player
beim Programmstart gefunden wurde. Dafür muß er am üblichen Ort installiert oder sein Pfad
im Konfigurationseintrag VLCExecutable angegeben sein.
Bei Bedarf wird er gestartet und dann per Telnet gesteuert.
- Betrieb im Fenster oder mit Vollbilddarstellung
Fullscreen=on
bewirkt eine Vollbilddarstellung, die sich wahlweise auch nicht abschalten läßt. Das Programm kann dann nur mit
Strg-C beendet werden.
Das ist die optimale Einstellung, wenn es als Jukebox betrieben wird, weil Besucher die Bedienoberfläche des Betriebssystems
nicht erreichen können.
Läuft das Programm im Fenster, dann können Sie es mit Alt-Enter auf Vollbild skalieren und zurück. Die Darstellung ist dabei
aber anders als bei der Einstellung Fullscreen, denn es wird der Fensterinhalt auf
die Bildschirmabmessungen vergrößert.
Beim Betrieb im Fenster wird Drag&Drop unterstützt.
Sie können Musik- oder Textdateien oder Playlisten ins Programmfenster ziehen, die Stücke werden dann wie bei der Suche oder
der Jukebox temporär eingefügt und als nächstes wiedergegeben.
weitere Einstellungen
- Schriftarten, Fenster- und Schriftgröße
Für die Darstellung von unsynchronisierten und synchronisierten Liedtexten kann mit TxtFont und
LRCFont jeweils eine Schriftart festgelegt werden. Sollte sich die für LRC-Texte gewählte Schrift
nicht für alle Sprachen eignen, dann läßt sich mit LanguageFonts bestimmten Sprachen eine separate Schrift
zuordnen.
Stellen Sie die gewünschte Fenstergröße mit
DisplayWidth und DisplayHeight ein. Das Programm startet immer mit
diesen Werten.
Dann sollten Sie die Schriftgröße an die Fenster- oder Displaygröße anpassen, dafür stehen LRCFontSize und
TxtFontSize zur Verfügung.
- Musikdateien in den Arbeitsspeicher laden
Der Parameter PreLoadMusic steuert, ob das aktuelle Musikstück direkt vom Datenträger abgespielt oder
vorher in den Arbeitsspeicher geladen wird. Das Abspielen aus dem Arbeitsspeicher hat zwei Vorteile: Es kann keine Unterbrechungen
wegen verzögerten Dateilesens geben, und die ID3-Tags werden entfernt und können daher nicht zu Störgeräuschen aufgrund von
Fehlsynchronisation führen.
- Netzwerkaktivitäten und Updatesuche
In der Standardkonfiguration baut Lyricsjukebox keine Netzwerkverbindungen zu Zielen außerhalb Ihres Rechners auf.
Beim Benutzen der Internetradiofunktion verbindet sich Lyricsjukebox per Telnet zum VLC-Server auf
localhost. Die
Verbindung zur Radiostation wird dann durch den VLC media player hergestellt.
Mit dem Parameter CheckForUpdate können Sie steuern, ob LyricsJukebox hier auf der Website
nach einer neuen Version suchen soll. Wenn Sie diese Updatesuche aktivieren, dann testet LyricsJukebox beim Programmstart
das Vorhandensein einer Internetverbindung durch kurzen Verbindungsaufbau zu einem Google-Server (das ist eine
Funktion
der verwendeten Programmiersprache), dann lädt es die Downloadseite von hier per HTTP, überprüft die darin angegebene
Versionsnummer und zeigt bei Bedarf 12 Sekunden lang eine Meldung über die neue Version an.
Auf dem Mac und unter Linux tauschen die Programme Lyrics_Jukebox und seine Servicekomponente Lyrics_Jukebox_Service
Daten per UDP aus. Normalerweise sollte eine lokale Firewall diese Daten nicht blockieren, aber wenn es nötig ist, dann
erlauben Sie Zugriff auf die UDP-Ports 61802 und 61803.
Grundsätzliches zur Bedienung
Lyrics Jukebox kann mit Maus bzw. Touchscreen bedient werden.
Die halbtransparenten Bedienelemente werden beim Antippen oder Anklicken des Bildschirms sichtbar. Zehn Sekunden nach dem letzten
Bedienvorgang werden sie wieder ausgeblendet. Wenn eine Tastatur vorhanden ist, können sie auch mit Esc entfernt werden.
Die meisten Bedienfunktionen sind auch als Tastaturkürzel verfügbar, die Zuordnung der Funktionen zu den Tasten sind auf der Seite
zur Bedienung aufgelistet. Diese Tastenfunktionen werden auch für die Fernbedienung benutzt.
Statussymbole
Am rechten Bildrand unter der Spielzeit zeigen sechs Symbole verschiedene Betriebszustände von Lyrics Jukebox an.
- Die Musikbox kennzeichnet die Jukeboxbetriebsart. Wenn sie angezeigt wird, wechselt das Programm also nach dem Ende des
letzten gewählten Musikstücks zur Jukeboxanzeige.
- Das Taschenradio kennzeichnet die Internetradiofunktion.
- Der durchgestrichene Lautsprecher wird angezeigt, wenn die Stummschaltung aktiviert wurde.
- Der kleine Zurück-Knopf signalisiert, daß man sich mit dem Zurück-Knopf in die Liste der zuletzt wiedergegebenen Stücke
begeben hat. Diese Liste wird geführt, weil die normale interne Wiedergabeliste nicht weiß, welche Stücke mittels der
Suchfunktion oder der Musikboxauswahl einfügt wurden. So erreicht man mit dem Zurück-Knopf auch die zusätzlich wiedergegebenen
Stücke.
Um diese Liste sofort zu verlassen und direkt zur normalen Wiedergabereihenfolge zurückzukehren, kann man den Vorwärts-Knopf
1,5 Sekunden lang drücken.
- Das Playlist-Symbol erscheint, wenn eine von Hand ausgewählte Wiedergabeliste abgespielt wird.
- Die Sanduhr zeigt an, wie weit das Aktualisieren oder der Neuaufbau des Bildercaches und der internen Wiedergabeliste
fortgeschritten ist.
Umgang mit Playlisten
Lyrics Jukebox unterstützt momentan die Wiedergabelistenformate M3U
und EXTM3U für lokal (auf dem Computer) gespeicherte Musikdateien.
Um Playlisten zu verwenden, stehen mehrere Möglichkeiten zur Verfügung.
Wiedergabeliste beim Programmstart direkt abspielen
Als erstes können Sie beim Konfigurationsparameter PlayList eine Wiedergabeliste
angeben. Diese Playlist wird dann anstelle der automatisch erzeugten geladen,
der Konfigurationseintrag MusicDir hat in dem Fall also keine Bedeutung.
Diese Wiedergabeliste wird dann auf die gleiche Art behandelt wie eine aus
Verzeichnisinhalten generierte, also auch (je nach Konfiguration) für Zufallswiedergabe
umsortiert. Auch wird entsprechend der Ratinglist die Wiedergabehäufigkeit gesteuert.
Zusätzliche Wiedergabeliste an den Anfang einsortieren
Wenn sich alle Stücke, die in einer Playlist aufgeführt sind, in den Verzeichnissen MusicDir
oder MusicSpareDir befinden, gibt es zweitens eine andere praktische Möglichkeit.
Wenn Sie diese Liste beim Konfigurationseintrag OldPlayList eintragen, dann wird
die interne Wiedergabeliste so umsortiert, daß sich alle Stücke der OldPlayList am Anfang
befinden. Danach kommen dann alle anderen Stücke aus den beiden Musikverzeichnissen,
die nicht in der Liste stehen.
Die Pfadangaben der auf diese Weise übernommenen Liste werden ignoriert (die Pfade sind ja
bekannt), und so genügt es auch, nur die Dateinamen der Musikstücke in der Liste
aufzuführen. Das ist auch dann nützlich, wenn Sie Musikstücke in den Verzeichnissen
an einen anderen Ort verschoben haben.
Diese Funktion könnten Sie auch benutzen, um für diesen Fall eine neue Playlist mit den
richtigen Pfaden zu erzeugen (die dann auch in anderen Programmen funktioniert). Dazu
geben Sie bei ExportPlayList einen Dateinamen an. In diese Datei wird dann die komplette
interne Wiedergabeliste im M3U-Format exportiert.
Falls eine OldPlayList importiert wurde und gleichzeitig eine
Ratinglist aktiviert ist, werden die in der OldPlayList
vorhandenen Stücke beim Auswerten der Ratinglist ignoriert, damit die Stücke der
OldPlayList genau in deren Reihenfolge wiedergegeben werden.
Listenauswahl
Drittens geben die Konfigurationseinträge PlaylistDir und AlbumDir
jeweils ein Verzeichnis an, in dem nach Wiedergabelisten gesucht wird.
Außerdem sammelt Lyrics Jukebox, wenn es für das Einlesen von Musikdateien konfiguriert ist, auch alle
Wiedergabelisten, die es in den Musikverzeichnissen findet.
Die entstandene Liste von Wiedergabelisten erreichen Sie mit dem Playlist-Symbol auf der Wiedergabeanzeige.
Dort können Sie abzuspielende Wiedergabelisten auswählen, die Bedienung ist dabei ähnlich der Suche
nach Musikstücken.
Drag&Drop
Die vierte Möglichkeit, eine Playlist wiederzugeben, besteht darin, sie per Drag&Drop mit der Maus ins
Programmfenster zu ziehen. Dann wird sie an die im vorherigen Punkt beschriebene Liste angehängt und als
nächste abzuspielende Playlist ausgewählt.
Zurücksetzen der Wiedergabeposition
Wenn Sie nach Änderungen der Wiedergabelisten die Wiedergabe von vorn beginnen möchten,
dann erreichen Sie das, indem Sie in der Textdatei, die bei StateFile definiert ist
(standardmäßig LJ_Status.config), den Namen des aktuellen Stücks entfernen, der in der letzten Zeile
steht.
Bei Bedarf können Sie hier auch das Lesen des Verzeichnisinhaltes der Musikordner und den Neuaufbau
der internen Playlist und des Caches der Coverbilder auslösen,
indem Sie den Wert von Music Hash verändern.
Sie können auch gleich die gesamte Datei löschen, aber dann gehen auch die gespeicherten Einstellungen verloren,
beispielsweise die Lautstärke, die Jukeboxeinstellungen oder die aktuelle Radiostation.
Fehlersuche
Bei Problemen irgendwelcher Art kann man mit dem Konfigurationseintrag ShowMessages die Anzeige zusätzlicher
Diagnosemeldungen aktivieren, die bei Bedarf auf dem Display vor den Bedienelementen erscheinen. Es werden dann verschiedene
programminterne Vorgänge gemeldet, und man kann sich eine genauere Vorstellung der Abläufe machen.
Beispielsweise helfen die Meldungen auch, um zu ermitteln, welches der höchste sinnvolle Wert für die Frequenz beim Parameter
Frequency ist. Ist die Frequenz zu hoch eingestellt, kommen ständig Meldungen der Art „2 Events ausgelassen“.
Diese Meldungen sind bei Aktivitäten wie dem Wechsel zum nächsten Stück oder jeglichen Bedienvorgängen normal, aber während der
Musikwiedergabe sollten sie allenfalls gelegentlich auftreten.
Die Meldungen haben eine individuelle Anzeigedauer. Da auf kleinen Bildschirmen nur wenige Zeilen angezeigt werden können, wird
der Text nicht normal gescrollt, sondern abgelaufene Meldungen werden aus der Liste entfernt und die entstandenen Lücken beim
Scrollen geschlossen. Das ist sicher ungewohnt, aber auf diese Weise verschwinden wichtige Meldungen nicht so schnell aus dem
Bild, was besonders hilfreich ist, wenn Sie die ausführliche Protokollierung eingeschaltet haben.
Die Bedienung des Programms wird durch die Meldungen übrigens nicht verhindert, man kann durch sie hindurchklicken.
Während der Entwicklung brauchte ich ein Hilfsmittel, um mir bestimmte Variableninhalte ansehen zu können. Dieses Monitorfenster
können Sie (wenn das Programm nicht im Vollbild läuft) mit MonitorWindow einschalten. Das ist
zwar für Sie wahrscheinlich nicht so sehr zur Fehlersuche nützlich, aber es hilft möglicherweise, die internen Abläufe beim
Wechsel zwischen den Betriebszuständen schneller zu verstehen.
Sonstiges
Lyrics Jukebox akzeptiert momentan nur Musik im MP3-Format. Andere Audiodateiformate werden noch nicht gelesen, obwohl
das auf ffmpeg basierende Abspielen kein Problem darstellen würde, aber ich möchte dem Programm erst noch beibringen,
andere Tag-Formate (wie Vorbis comments) zu lesen.
Bei MP3-Dateien mit variabler Bitrate, die keinen Xing-Header enthalten, steht dem Programm die genaue Dauer des Stücks nicht
zur Verfügung. Wenn der zugehörige Text nur eine Textdatei ohne Zeitstempel ist, dann wird den einzelnen Zeilen
daher nicht die passende Zeit
zugeordnet, und die Scrollgeschwindigkeit ist meistens zu langsam. Außerdem wird die Wirkung des Positionsschiebereglers nicht
immer so präzise sein, wie sie erwartet wird.
Falls das in Einzelfällen stört, können Sie der Musikdatei den Xing-Header mit einem geeigneten Programm hinzufügen,
beispielsweise bieten foobar 2000 oder MP3 Diags diese Möglichkeit.
Lyrics Jukebox wurde in der Multimedia-Skriptsprache Hollywood geschrieben, mit der man unkompliziert plattformübergreifend
programmieren kann. Das ausführbare Programm besteht im wesentlichen aus einem Lua-Kern, der Lua-Bytecode ausführt. Natürlich
hat die bequeme Entwicklung nicht nur Vorteile, denn Interpretersprachen liefern langsamere Ergebnisse als Compilersprachen.
Im wesentlichen ist der entstandene Code aber schnell genug für das, was gebraucht wird. Kleine Nachteile fallen beim Wechsel
zum nächsten Stück auf, denn da sind eine Reihe Aktivitäten erforderlich (Tags lesen, Coverbild laden und umskalieren, Text lesen,
Musikdatei in den Speicher laden, ggf. Grafiklayer für den großen Lauftext erzeugen).
Speziell auf dem Raspberry dauert daher der
Wechsel von einem Stück zum nächsten deutlich länger als auf einem schnellen PC.
Ob ich irgendwann einmal versuche, einen geeigneten Einstellungsdialog für die Konfiguration zu entwerfen, weiß ich noch nicht,
denn mir genügt das so, wie es momentan ist.
Bei laufendem Radio hat mich gelegentlich interessiert, ob das Musikstück, das gerade gespielt wird, in meiner Sammlung vorhanden ist. Daher sucht Lyrics Jukebox bei jeder Änderung des übermittelten Titels in seiner Playlist nach dem Namen, und wenn er gefunden wird, erscheint rechts ein grüner Punkt. Das funktioniert aber nur bei Radiostationen, die den Titel nicht zu verklausuliert übermitteln.