MPD Frontend mit Skin-Support für Touchdisplays
Die neue Version von NewTron-Radio v3.2 ist hier zu finden: Beitrag #1833
Kleine Benutzungshilfe
Es wird ein auf Raspbian Stretch oder Buster basierendes Image sowie ein fertig eingerichtetes Touchdisplay vorausgesetzt.
Für den Konsolenmodus, d.h ohne laufenden Desktop, muß das Touchdisplay so konfiguriert sein, dass es auch dort funktioniert. Das heißt, dass der Touchscreen auf 'ts_calibrate' ansprechen muss (resistive Displays). Eine kleine Hilfe zur Konfiguration des Touchdisplays im Konsolenmodus habe ich in Beitrag #233 geschrieben. In Beitrag #1778 habe ich ein Skript bereitgestellt, dass diesen Vorgang automatisiert.
Wenn das Radio im Desktopmodus benutzt wird startet es im Fenstermodus mit einer Auflösung von 320x240 Pixeln. Dies kann im Skript geändert werden.
Anleitung für die Installer Version
- Das Display muss inkl. Touch im Desktopmodus bereits funktionieren!
- Für den Konsolenmodus muss das Touchdisplay mit 'ts_calibrate' justiert werden (Ausnahme: kapazitive Touchdisplays)
- Kopieren sie die Datei 'newtron-radio-setup-v3.2.sh' auf den pi
- Wechseln sie auf der Kommandozeile in das Verzeichnis in dem die kopierte Datei liegt
- Führen sie die kopierte Datei wie folgt aus:
(Sie können natürlich auch den Installer Ausführbar machen und die Installation mit './newtron-radio-setup-v3.1.sh' starten)
Die Installation kann, je nach Netzgeschwindigkeit und bereits installierten Paketen, einige Zeit dauern - Nach der Installation befinden sich die Dateien des Radios unter /usr/local/lib/newtron-v3. Ein Startskript wurde unter dem Namen 'newtron-radio' im Verzeichnis /usr/local/bin angelegt.
- Sollte die Installation nicht erfolgreich verlaufen sein, können sie versuchen den Installer erneut auszuführen - eventuell auch mehrfach bis keine Fehlermeldungen mehr auftauchen - das hat keine negativen Auswirkungen.
- Desktop Modus
- Im Startmenü einfach Unterhaltungsmedien -> NewTron Radio auswählen.
Oder auf der Kommandozeile (LXTerminal o.Ä.) einfach 'newtron-radio' eintippen und <Return> drücken. - Natürlich ist auch ein automatischer Start per autostart möglich:
Im Startmenü unter Einstellungen ->' Default applications for LXSession' den Reiter Autostart auswählen.
Dort unter 'Manual autostarted applications' einen neuen Eintrag mit dem Inhalt '@newtron-radio' erstellen.
Nach einem Neustart des LXDE-Desktops sollte nun das Radio automatisch ausgeführt werden.
- Im Startmenü einfach Unterhaltungsmedien -> NewTron Radio auswählen.
- Konsolenmodus
Konfiguration
Wer will kann das Phyton-Skript (newtron_radio.py) an die eigenen Bedürfnisse anpassen. So muss man beispielsweise sowieso das Skript bearbeiten, wenn man eine Backlightsteuerung einbauen will.
Konfigurationseinstellungen die die Funktion beeinflussen werden direkt im Skript mit einem Texteditor (nano, vi, ...) eingestellt.
Ein Teil der Einstellungen kann aber auch im Radio selbst geändert und gesichert werden (Skin, Screensavermode/-timer, x-/plus-button).
Gesicherte Einstellungen haben Vorrang vor im Skript geänderten Einstellungen.
Achtung: Die Sicherungsdatei befindet sich im Homeverzeichnis und hat den Namen .newtron-radio.conf.
Für die Wetteranzeige wird ein Key von OpenWeatherMap benötigt.
Diesen kann man sich einfach über http://openweathermap.org/appid besorgen.
Dieser Key ist dann im Skript in der Variablen OWM_KEY (Zeile 93) einzutragen.
Der OWM_KEY kann aber auch als Umgebungsvariable an das Skript übergeben werden: 'export OWM_KEY=123456...abcdef'
Die Umgebungsvariable hat Vorrang vor der Einstellung im Skript.
Ort für Wetteranzeige
Der Standort für die Wetteranzeige wird als OWM_ID, OWM_ZIP, OWM_CITY
oder OWM_COORD im Skript eingetragen (ab Zeile 85).
Die OWM_ID erhält man, indem man den gewünschten Ort auf http://openweathermap.org auswählt. Sie ist in der resultierenden URL abzulesen, z.B. für Frankfurt: http://openweathermap.org/city/2925533. Die OWM_ID wäre demnach '2925533'.
Wenn dort jedoch nur Positionsangaben (long. und lat.) zurückgeliefert werden, kann man stattdessen OWM_COORD verwenden.
Man kann aber auch die OWM_ID eines Ortes in der Nähe aus folgender Liste heraussuchen:
http://bulk.openweathermap.org/sample/city.list.json.gz
Alternativ können die Ortsdaten auch über Umgebungsvariablen eingestellt werden.
Folgende Umgebungsvariablen können gesetzt werden:
OWM_ID: Openweathermap City-ID:
OWM_ID="2925533"
OWM_ZIP: Postleitzahl,Ländercode:
OWM_ZIP="60313,de"
OWM_CITY: Ort,Ländercode:
OWM_CITY="Frankfurt%20am%20Main,de"
OWM_COORD: Längen-/Breitenangabe:
OWM_COORD="lat=50.116669&lon=8.68333"
Die Umgebungsvariable hat Vorrang vor der Einstellung im Skript.
Standardmäßig startet das Radio im Desktopmodus mit einer Auflösung von 320x240 Pixeln und sichtbarem Mauszeiger.
Möchten Sie dies ändern, muss das Skript angepasst werden:
Mauszeiger verstecken: SHOWCURSOR = False (Zeile 66)
Für Vollbild: FULLSCREEN = True (Zeile 67)
Fenstergrösse (wenn nicht Fullscreen): x_w = xxx (Zeile 69), x_h = yyy (Zeile 70)
wobei xxx und yyy den jeweils gewünschten Wert darstellen.
Konfigurationseinstellungen die das Aussehen beeinflussen finden Sie in der Datei 'skin.cfg' des zugehörigen Skins. Für den Default-Skin 'Tron' ist also newtron-v3/skins/Tron/skin.cfg zu bearbeiten.
Ausserdem kann jeder seinen eigenen Skin erstellen und in ins 'skins'-Verzeichnis kopieren.
Ein Skin besteht aus den Button-Grafiken, diversen Bildern (optional) und einer Konfigurationsdatei namens 'skin.cfg'.
Sie können sich als Vorlage einen der bestehenden Skins ('Tron', Copper', 'Glass' oder 'Flat') kopieren und anpassen.
Was man sonst noch alles modifizieren kann wird man schnell selbst feststellen...
Das Skript finden Sie unter '/usr/local/lib/newtron-v3/newtron_radio.py' bzw. im Fall des .tgz-Archivs unter 'newtron-v3/newtron_radio.py' in dem Verzeichnis in dem sie das Archiv entpackt haben.
Eigene Playlisten gehören in das MPD-Playlist-Verzeichnis das in /etc/mpd.conf als 'playlist_directory' definiert ist. Normalerweise ist das '/var/lib/mpd/playlists'.
Eigene Musikdateien (und zugehörige Playlisten) gehören in das MPD-Music-Verzeichnis das in /etc/mpd.conf als 'music_directory' definiert ist. Normalerweise ist das '/var/lib/mpd/music'.
Screenshots
Downloads
Alle Versionen können hier heruntergeladen werden: Link
Um NewTron-Radio auch als einfachen USB-Audio-Player zu verwenden, habe ich ein kleines Installationsskript geschrieben, das dabei hilft, USB-Medien automatisch einzubinden und im Radio verfügbar zu machen. Die USB-Laufwerke (ja, auch mehrere sind möglich) werden im Dateiauswahlfenster des Radios als usb0-usb9 angezeigt.
Siehe auch #1760
Neu! usbmount-setup-for-mpd.sh
Die Installation ist einfach: Das Skript im binary-Modus* auf den pi kopieren und mit 'sh ./usbmount-setup-for-mpd.sh' starten. Die neue Funktionalität steht erst nach einem reboot zur Verfügung
ACHTUNG: Benutzer die bereits usbmount verwenden, sollten vorher die Datei /etc/usbmount/usbmount.conf sichern falls sie diese geändert haben (nur damit im Fehlerfall die ursprüngliche Konfiguration wiederhergestellt werden kann).
*) Im Skript sind Tabs, Leerzeichen und Zeilenumbrüche enthalten, die nicht verändert werden dürfen, wenn das Skript korrekt funktionieren soll. Copy & Paste per Maus und/oder Tastatur ist also nicht empfehlenswert.
Viel Spass beim ausprobieren!
Kommentare, Anregungen, Kritik und Testberichte sind herzlich willkommen.
Changelog:
Newtron-Radio v2.1 (08.06.2015)
===============================
* Fehlerbeseitigung
* Verbesserte Darstellung bei der Wiedergabe von lokalen (mp3)-Playlisten
* Kleine Peformanceoptimierungen
* Automatische Displaytreibererkennung (bei Problemen bitte Konsolenausgabe beachten und Rückmeldung geben)
Newtron-Radio v2.2 (12.06.2015)
===============================
* Playlistenauswahl!
(kann über einen 'touch' auf das Anzeigefenster erreicht werden)
* Sollten im mpd-Playlistenverzeichnis keine Playlisten vorhanden sein, so werden welche hinkopiert
(Das Verzeichnis und eine Defaultplayliste kann im Skript angegeben werden)
* Beim Abspielen von mp3-Playlisten wird jetzt die Titellaufzeit angezeigt
(bei Radio-Playlisten weiterhin Datum und Uhrzeit)
* ein paar Fehler beseitigt
* ...und ein paar neue hinzugefügt
* CPU-Last weiter verringert
Zwischenupdate newtron-radio.py (03.07.15)
* kleine Korrektur in der Playlistenverarbeitung
( :danke_ATDE: an kle, der mich auf den Fehler hingewiesen hat)
Zwischenupdate newtron-radio.py (14.07.15)
* Lautstärkebehandlung beim Start überarbeitet:
Soweit ermittelbar, wird die zuletzt eingestellte Lautstärke beim Start verwendet
Zwischenupdate (23.07.15)
* Reintegration der letzten newtron-radio.py updates in das Archiv
* Installer Version
Zwischenupdate (29.07.15)
* kleinen Fehler beseitigt, der das Radio in einer timeout-Situation zum Absturz bringt
Newtron-Radio v2.3 (07.08.2015)
===============================
* Neues Menü: Auswahl der mpd 'audio_output's
* Screensaver wird jetzt in jedem Menü aktiviert
* Fehlerbereinigung und Codeoptimierungen
* wer vor 15:30Uhr heruntergeladen hat, bitte nochmal laden - war noch ein kleiner Fehler drin
Zwischenupdate (10.08.2015)
* Fehler beseitigt, der zum Absturz führt, wenn kein Audio Output oder nur Audio Outputs
ohne mixer_device in der mpd.conf ausgewählt waren.
* kleinere Codeoptimierungen
* die refresh-Funktion im Playlist-Menü macht jetzt auch ein Datenbank-Update - wie 'mpc update' (seit 13:20Uhr)
Zwischenupdate (14.08.2015)
* einen Absturzfehler bei fehlendem Netzwerk beseitigt
Newtron-Radio v2.3.1 (16.12.2015)
* Einführung von Konfigurationsvariablen 'Fullscreen' und 'Showcursor'
* Fehler beseitigt, der einen Startfehler in disp_init() verursachte, wenn man das Radio im
Desktopmodus startete aber gleichzeitig die Umgebungsvariable SDL_VIDEODRIVER auf
einen Wert ungleich x11 gesetzt war.
* Die gpio-funktion für den Bildschirmschoner wurde aus dem radio-skript im jessie-installer entfernt.
Zwischenupdate (18.12.2015)
* dem jessie-installer fehlte eine Abhängigkeit, die verhindert, dass das Radio funktionsfähig ist (libts-bin)
Zwischenupdate (05.01.2016)
* Fehler im der jessie-installer beseitigt, der verhinderte, dass das Radio startete,
wenn das mpd/playlists-Verzeichnis leer und nicht vom Benutzer beschreibbar ist
Newtron-Radio v2.4.0 (29.01.2016)
* Jetzt mit Wetteranzeige als "Bildschirmschoner"
Änderbar über die Variable 'screensaver_mode' im Radioskript
* Die GPIO-Funktion für den Bildschirmschoner wurde entfernt.
* ... und einige weitere Optimierungen...
Newtron-Radio v2.4.1 (02.02.2016)
* Farbige Wettericons
* Zu lange Titel werden in der Wetteranzeige passend abgeschnitten
* Fehler beim Zugriff auf Yahoo-Wetter werden abgefangen
* Kleinen Bug bei der Display-Initialisierung behoben
Newtron-Radio v2.4.2 (05.02.2016)
* WLan-Empfangsstärkeanzeige im mpd-Outputs-Fenster
* Playlisten werden auf Wunsch (Variable 'sort_playlists') sortiert angezeigt
* Die GPIOs sind wieder da (optional, Variable 'enable_gpio')
* neuer screensaver_mode 'black'
* falls die Wetterinformation nicht oder nur teilweise heruntergeladen wurden,
werden nun Defaultwerte angezeigt (statt abzustürzen)
* weitere kleine Modifikationen...
Newtron-Radio v2.4.3 (12.02.2016)
* Bug Fix - diverse Timeout und Verbindungsprobleme werden jetzt abgefangen
(vor allem bei Bluetooth-Geräten, die den Kontakt zum Pi verlieren)
Speziellen Dank an kle, der sich als Tester zur Verfügung gestellt hat!
* Wlan-Anzeige zeigt nun auch was an, wenn der Treiber (negative) dBm-Werte liefert
* Das Radio kann nun auch mit aktivem Screensaver gestartet werden (Variable 'screensaver')
* Das Setup-Script der Installer-Versionen enthielt einen Fehler, der die korrekte Installation
der beiden kaa-Module verhindern konnte
* ein paar weitere kleine Modifikationen...
Newtron-Radio v2.4.4 (20.02.2016)
* Code-Cleanup - dadurch sind neue Fehler möglich...
* Einfacher Audioplayer - spielt Audio-Dateien und Playlisten aus dem mpd 'music_directory'
(Vielen Dank an 'paulaner' fürs testen!)
- Eine ausgewählte Playliste ersetzt die aktuelle Playliste
- Eine ausgewählte Musikdatei wird an die aktuelle Playliste angehängt
- Verzeichnisse sind Ocker/Orangefarbig
- Musikdateien sind grün eingefärbt
- Playlisten im music_directory sind Cyan
- Playlisten im playlist_directory sind Tron-Blau
* kleinere Fehlerkorrekturen
* Nur noch ein Installer für Wheezy und Jessie
Newtron-Radio v2.5 (26.02.2016)
* Neue Seite 'MPD Playback Settings'
* 'X' und '+' Buttons zur Playlistenverwaltung - im Script deaktivierbar
* soo viele kleine Änderungen, dass ich gar nicht mehr weiß, was ich alles geändert habe...
Newtron-Radio v2.5.1 (28.02.2016)
* Unterschiedliches Verhalten bei 'Crossfade' von mpd unter wheezy und jessie berücksichtigt
* Einige mpc.update()-Aufrufe entfernt um die Gefahr des Blockierens durch mpd zu verringern
* zip-Files werden im Playlistenfenster nicht mehr angezeigt - zuviele Probleme damit...
Newtron-Radio v2.5.1 (03.03.2016)
* Silent Update...
* Installer leicht korrigiert
* Playlisteninitialisierung überarbeitet
* TenMins wird jetzt defaultmässig mit 'True' initialisiert
Newtron-Radio v2.6 (12.03.2016)
* Skin-Support
* Der Farbbutton wechselt jetzt zwischen den Skins statt zwischen den Farben
* Viele durch die Skin-Unterstützung bedingte Codeänderungen
* und dadurch: viele neue Fehlerquellen...
Newtron-Radio v2.7 (18.03.2016)
* Einige Einstellungen können jetzt im Frontend geändert und gespeichert werden
* Die WOEID kann jetzt auch als Umgebungsvariable definiert werden
* Durch die neue Konfigurationsseite mussten einige Buttons umgeordnet werden
* Die Skins haben einen neuen Button 'Config.svg' erhalten
* Code-Cleanup
Newtron-Radio v2.7.1 (25.03.2016)
* BugFix: Das Kopieren der Playlisten beim Erststart klappt jetzt wieder
* Die Crossfade-Zeit ist jetzt einstellbar
* Support für MixRamp (derzeit nur im Skript konfigurierbar)
* Der Clock-Screensaver zeigt jetzt auch den aktuellen Titel an
* Fullscreen für den Desktopmodus ist jetzt auch im Frontend einstellbar
* Zwei zusätzliche SVGs für die Skins nötig: Checkbox_up.svg und Checkbox_down.svg
* Weiterer Code-Cleanup
Newtron-Radio v2.7.2 (27.03.2016)
* Das Wetter wird jetzt über openweathermap.org abgefragt
Dazu wird aber ein Key benötigt, den man unter
http://openweathermap.org/appid bekommt
Newtron-Radio v2.7.3 (01.04.2016)
* Die MixRamp-Werte können jetzt auch im Frontend eingestellt werden
* Kleinere Korrekturen bei der Wetteranzeige
* Kleinere Korrekturen, um Doppeltouches bei einigen Vorgängen zu vermeiden
Newtron-Radio v2.7.4 (17.04.2016)
* Kleinere Fehlerkorrekturen
* Minimale Verbesserungen in der Darstellung des Dateiauswahlfensters
* Die Dateiauswahlansicht wird jetzt regelmäßig (alle 5s) aktualisiert, um Änderungen in der
mpd-Datenbank zeitnah wiederzuspiegeln.
* Sport1.fm - Playliste hinzugefügt
Newtron-Radio v2.7.5 (10.05.2016)
* Der 'Glass'-Skin ersetzt den 'Flat'-Skin
* Dropshadow-Effekt hinzugefügt - für bessere Lesbarkeit von hellem Text auf
hellem Hintergrund (aktivierbar in der jeweiligen skin.cfg - siehe 'Glass'-Skin)
* Der Text kann jetzt auch durch den Skin durchscheinen
(text_on_top = False in skin.cfg - siehe 'Glass'-Skin oder 'Tron'-Skin)
* Etwas im Code rumgerührt...
Newtron-Radio v3.0 (15.07.2019)
* siehe Beitrag #1752
Newtron-Radio v3.1 (15.08.2019)
* siehe Beitrag #1781
Newtron-Radio v3.2 (04.10.2019)
* siehe Beitrag #1833
Display More