Vorgestern habe ich hier über den gmusicbrowser berichtet. Für dieses Programm habe ich mir zwei kleine Ergänzugen gebaut. Im einzelnen ein Layout und eine Möglichkeit sich mittels notify-send über einen Liedwechsel informieren zu lassen.
Das Layout
Das von mir verwendete Layout basiert auf diesem Layout (eine Übersicht weiterer Layouts lassen sich hier finden). Gestört hat mich an dem Originallayout, dass der Slider zur Positionierung in einem laufenden Titel nicht funktionierte. Den Fehler konnte ich beheben. Was ich noch nicht geschafft habe ist, den Fehler zu finden und zu beseitigen, der die Informationen zur aktuellen Liedliste anzeigt. Also die Anzahl der Titel, Gesamtlänge und Gesamtgröße.
Mein Layout sieht im Quellcode folgendermaßen aus:
[itunes-like-plus-plus]
####General
Type = G
Default = Window size=1120x820 VPfp_list 120 HPfp0 300
VPfp_list 200_550
###main layout with notebook tabs
VBmain = HBupper _15TBupper
##
HBupper = _VBupper -HBRight
## Notebook with 3 tabs
TBupper = _"Queue" VBQueueList _"Library" HPfp_list_src
_"Context" Context
VBupper = _7HBIndic _HBHeader
HBRight = -ArtistPic(hover_layout=ArtistPopup,
hover_delay=100,tooltip=%a) -10Cover(hover_layout=CoverPopup,
hover_delay=100,tooltip=%l)
HBIndic = MBmenu 20Sort Filter Queue 10Pos
HBHeader = HBButtons _ABInfo
HBButtons = Prev(size=dnd) Play(size=dialog) Next(size=dnd)
Stop(size=small-toolbar) Vol(size=small-toolbar,button=1) 10Filler0
ABInfo = FRInfo(shadow=etched-out)
FRInfo = VBInfo
VBInfo = _HBSongInfo _7HBScale
HBSongInfo = _VBSongInfo -Filler1
VBSongInfo = _2HBTitle _2HBAlbum
HBTitle = LockArtist _Title_by -Stars
HBAlbum = LockAlbum _Album -Date
HBScale = _Scale LabelTime -Length
MBmenu = MainMenuItem PSortItem PFilterItem QueueItem
VBQueueList = 3_QueueList(activate=playlist) HBQueueAct
HBQueueAct = EditListButtons 10QueueActions
HPfp_list_src = FPane3(nb=1,hide=1,pages=savedtree) _VPfp_list
VPfp_list = HPfp0 _VBlist
VBlist = HBstatus _SongTree
HBstatus = SimpleSearch MBlist Refresh ResetFilter PlayFilter
QueueFilter -Total
MBlist = HistItem LSortItem PlayItem
HPfp0 = FPane0(nb=2,hide=1,pages=genre) HPfp1
HPfp1 = FPane1(nb=3,hide=1,pages=artist)
FPane2(nb=4,hide=1,pages=album)
VSize1 = 47 HBHeader
HSize1 = HBButtons HBRight
HSize2 = LockArtist LockAlbum Filler1
VolumeScroll= HBupper
[CoverPopup]
VBmain = Cover(minsize=300,maxsize=300,click1=CloseWindow)
[ArtistPopup]
VBmain = ArtistPic(minsize=300,maxsize=300,click1=CloseWindow)
Um das Layout zu verwenden, müssen die Angaben in eine Datei (z.B. itunesplusplus.layout) abgelegt werden. Die Datei muss sich im Verzeichnis ~/.config/gmusicbrowser/layouts/ befinden. Nach dem Neustart des gmusicbrowser kann das Layout ausgewählt werden.
Die Benachrichtigung
Um die Benachrichtigungsfunktion verwenden zu können ist zuerst die Erweiterung Jetzt läuft zu aktivieren. Danach kann man einen Befehl eintragen, der bei einem Liedwechsel ausgeführt wird. Ich habe mir ein Miniscript geschrieben, welches an dieser Stelle aufgerufen wird. Der Aufruf des Scripts sieht bei mir also so aus (der Pfad ist natürlich anzupassen):
/home/andreas/.local/share/bin/notify %c %t %a %l
Das Script selbst sieht folgendermaßen aus und ist wirklich sehr primitiv gehalten:
#!/bin/bash
/usr/bin/notify-send -u critical -i "$1" "$2" "von $3 ($4)"
Als Ergebnis erscheint eine Benachrichtigung, die neben dem Titel, dem Künstler und dem Album auch ein Albumcover enthält.