Måste tipsa om mitt favoritprogram GeekTool http://projects.tynsoe.org/en/geektool/
Med GeekTool så kan du lägga outputen från shellscript på skrivbordet. Dessa uppdateras sedan med ett intervall du sätter i programmet. Jag skrev ihop ett Applescript som skriver ut playlisten som spelas just nu och markerar sången som spelas.
set returnString to ""
tell application "iTunes"
set foo to tracks of current playlist
repeat with bar in foo
if name of bar is name of current track then
set returnString to returnString & "->"
end if
set returnString to returnString & tab & name of bar & " - " & artist of bar & "ZaZaZaZaZ"
end repeat
return returnString
end tell
Jag är ingen stjärna på Applescript men det är en start att bygga vidare på. Scriptet saknar en hel del som att kolla om iTunes är igång och om en playlist spelas.
För att få det hela att fungera i GeekTool skrivar vi följande i Shell i GeekTool:
osascript /sökväg/till/skriptet/ovan/iTunes.playlist.scpt | sed 's/ZaZaZaZaZ/\
/g'
Anledningen till ZaZaZaZaZ är att jag inte fick osascript att returnera en sträng med flera rader. Observera att radbrytningen efter /\ är viktig i kodan ovan.
Nackdelen med den här läsningen är att den är en pollande lösning som frågar iTunes med jämna mellanrum vad som pågår istället för att iTunes säger till när den byter låt.