Tilbage i foråret, da jeg skrev tre indlæg (1,2,3) om min nyanskaffede Squeezebox, antydede jeg vist svagt at jeg gik og havde planer om selv at lave et plug-in til SlimServer (SlimServer er server-software til Squeezebox eller den nye Transporter). Plug-in projektets overordnede mål er at få trackinfo på Squeezebox' display for visse netradio stationer som ikke allerede har dette indkodet i deres audiostream. Det er først og fremmest ønsket om at se trackinfo når jeg hører DR Barometer kanalen som har søsat mit projekt, men det vil hurtigt kunne udvides til andre netradio stationer som ligesom DR Barometer har trackinfo tilgængeligt på nettet.
Jeg har ikke arbejdet på projektet længe, men har faktisk allerede i foråret implementeret en "grundpille" til projektet, idet jeg lavede en "proxy-side" (jeg har ikke kunnet finde på noget bedre at kalde det) for DR Barometer netradio indeholdende aktuel trackinfo oversat til et let fortolkeligt format. Tanken er at min SlimServer plugin skal læse trackinfo mm. fra denne "proxy-side"(*) og sende trackinfo videre til min Squeezebox' display når jeg lytter til DR Barometer på denne.
Jeg ved ikke hvornår jeg får tid til at lave selve denne plug-in, men der kommer med garanti til at gå lidt tid. Og vi snakker ikke om uger, men måneder. Jeg har nemlig rigeligt med andre ting stående foran dette projekt på min to-do liste lige i øjeblikket. Og iøvrigt har jeg hverken erfaring med SlimServers API eller Perl-programmering som et sådan plug-in skal implementeres i. Men havde altså lige lyst til at lufte, at projektet skam er på vej, og i mellemtiden kan man da få et lille "sneak preview" (eller "proof of concept" om man vil) med dette simple selv-opdaterende browser popup-vindue indeholdende aktuel DR Barometer trackinfo(**). Ikke at det teknisk eller designmæssigt er så imponerende, men det illustrerer da at jeg er i gang med noget:-)
Et af formålene med "proxy-side formatet" er selvfølgelig også at have den info som SlimServer plug-in skal læse i et ensartet format hvis andre netradio kanaler skal understøttes. Andre kanaler det kunne blive aktuelt at koble på projektet er bl.a. KEXP, KCRW samt Gaffa Radio. Sidstnævnte station udsendte faktisk indtil for nylig deres musik i en ID3-tagget MP3 audiostream som gjorde at Squeezebox automatisk viste trackinfo under afspilningen. Men dét er Gaffa desværre gået bort fra igen, så den station tager jeg nok også under behandling på et tidspunkt. Update 5/10 2006: Efter opdatering af firmware til min Squeezebox, så virker "native" trackinfo på Gaffa Radio igen. Eller også har Gaffa pillet, who knows... Anyway det er firmware version 64 som er udgivet sammen med den nye SlimServer version 6.5.0 jeg kører med nu.
(*) Bemærk at der er en hvis form for "intelligens" i "proxy-siden". Den opdateres rent faktisk kun når den reelt bliver brugt. Felterne for trackinfo kan derfor godt umiddelbart være tomme når man klikker sig ind og kigger på indholdet af siden. Men en refresh af siden burde så initialisere felterne (Hvis altså data er tilgængelige hos DR).
(**) Popup-siden opdaterer sig selv brugende en "meta refresh header". Dette er ikke altid 100% pålideligt (hvis en forespørgsel f.eks. timer ud), men dette skal altså også bare ses som et lille test/demo/debug-værktøj. Popup'ens læsningen af "proxy-sidens" indhold sker i øvrigt server-side, så der er desværre ikke noget spændende "AJAX-kode" at se på hvis man kigger på popup'ens kildekode i browseren (i denne version af popup'en i hvert fald).