Push Song Information

Beschreibung

Diese Shell-Funktionen holen sich von verschiedenen MusicPlayern die gerade gespielte Datei, erzeugen aus den Metadaten der Datei ein Template und laden dieses dann auf einen Webserver hoch.

Das sieht z. B. so aus:

2012-01-08 07:59 +0100

Processing file "/Music_Free/Rock/The Old Stoic - The Old Stoic -- Jamendo - OGG Vorbis q7 - 2010.11.19 [www.jamendo.com]/10 - Sadow And The Moon.ogg"...

New logical stream (#1, serial: 0be44329): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: AO; aoTuV b5 [20061024] (based on Xiph.Org's libVorbis)
Channels: 2
Rate: 44100

Nominal bitrate: 224,000000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
    ARTIST=The Old Stoic
    ALBUM=The Old Stoic
    TRACKNUMBER=10
    JAMENDO-TRACK-ID=684839
    TITLE=Sadow And The Moon
    ORGANIZATION=https://www.jamendo.com
    COMMENT=https://www.jamendo.com
    PUBLISHER=https://www.jamendo.com
    DESCRIPTION=https://www.jamendo.com
    WWW=https://www.jamendo.com/fr/album/79685
    LICENSE=https://creativecommons.org/licenses/by-sa/3.0/
    COPYRIGHT=https://creativecommons.org/licenses/by-sa/3.0/
    ENCODED-BY=https://creativecommons.org/licenses/by-sa/3.0/
    WCOP=https://creativecommons.org/licenses/by-sa/3.0/
    COVERURL=https://imgjam.com/albums/s79/79685/covers/1.400.jpg
    WOAF=https://www.jamendo.com/fr/track/684839
    DATE=2010-11-19
    REPLAYGAIN_TRACK_PEAK=1.05464709
    REPLAYGAIN_TRACK_GAIN=-8.22 dB
Vorbis stream 1:
    Total data length: 9273388 bytes
    Playback length: 5m:41.319s
    Average bitrate: 217,353522 kb/s
Logical stream 1 ended

Hintergrund

Hintergrund: Man fragt mich öfters mal, welche Musik im Hintergrund zu hören ist. Dann hatte ich nicht jedes Mal die Laune, die Datei herauszusuchen und demjenigen den Namen des Künstlers usw. zu schicken.
Mit diesen Shell-Funktionen kann man das dann über einen Mausklick bzw. auf der Konsole sehr schnell erledigen.

In meinem Fall wird die erstellte Vorlage hier hochgeladen: siehe hier.

Installation/Einrichtung

Man muss nun alle (benötigten) Funktionen in eine Datei packen und diese in seiner Shell “sourcen”. Dann erstellt man noch die .psi-settings.conf-Datei in seinem $HOME, passt die Variablen entsprechend an, fertig.

Alternativ kann man diese Funktionen auch in die Datei ~/.bashrc einfügen.

Verwendung

Wenn man jetzt gerade ein Stück bei Clementine hört, reicht das Öffnen der Konsole und die Eingab von

m-psi-clementine

um den Mitmenschen die notwendigen Informationen zu liefern, um sich die freie Musik selbst herunterzuladen :)

Unterstützte Player

Aktuell werden folgende MusicPlayer unterstützt:

Die Shell-Funktionen

Shell-Funktionen zur Abfrage des gerade gespielten Stücks

Das Script mit den Funktionen gibt es bei GitHub: https://github.com/Natenom/shell-scripts/blob/master/psi/get_current_song.sh.

Jede dieser Funktionen liest das gerade gespielte Lied eines Players aus und ruft dann die Shell-Funktion m-psi mit dem Dateinamen als Argument auf.

Shell-Funktion zum Pushen der Dateiinformationen

Das Script mit der Funktion gibt es bei GitHub: https://github.com/Natenom/shell-scripts/blob/master/psi/push_current_song.sh.

Einstellungen

In der Funktion m-psi wird die Datei ~/.psi-settings.conf eingelesen, die bei mir folgenden Inhalt hat (private Daten geaendert), siehe auf GitHub: https://github.com/Natenom/shell-scripts/blob/master/psi/.psi-settings.conf.

Zuletzt geändert 2022-03-29 05:03:36 +0200 CEST durch Natenom (init, 1c39149)