Chatzilla Now Playing feature icm Foobar2k

Ik was op zoek naar een manier om op irc channels te laten zien welke muziek ik luisterde. Ik gebruik voor het afspelen van muziek Foobar2000 (op dit moment 0.9.6.9 beta 1) en als irc client gebruik ik ChatZilla.

De enige kant en klare oplossing die ik kon vinden was FoxyTunes icm de Chatzilla plugin ChattyTunes. Deze heeft echter als nadeel dat je een extra extensie in je Firefox geladen moet hebben, en dat willen we als echte tweakers natuurlijk liefst zo min mogelijk. Ik ben dus op zoek gegaan naar een manier om het zelf te doen, helemaal zoals ik zelf wilde.

In eerste instantie heb ik een plugin gezocht voor Foobar, en snel gevonden, namelijk foo_np_simple.dll. Download deze en plaats hem in \Program Files\foobar2000\components. Herstart foobar en ga naar menu File > Preferences, en dan naar Tools > Now Playing Simple.

knipsel

In het bovenstaande venster kan je instellen naar welk bestand je de Now Playing informatie wilt wegschrijven en wat je precies wilt schrijven. Ik schrijf de data weg naar de map AppData\Local\ in mijn persoonlijke map. Bij encoding heb ik gekozen voor UTF-8 zonder header, omdat er met header rare tekens in Chatzilla verschenen.

Daarna heb ik de standaard code van de formatting string aangepast naar het volgende:

$if(%isplaying%,
$if(%ispaused%,
heeft gepauzeerd,
speelt)
%artist% - %title% { %album% }  { %bitrate%kbps - %rating%/5 },
speelt niets)

Deze informatie wordt dus naar het bestand gestuurd. Voor meer informatie over welke variabelen je kan gebruiken kun je naar de site van Foobar gaan.

Nu dat we de helft voor elkaar hebben, kunnen we gaan kijken naar het Chatzilla gedeelte. Ik heb hiervoor een eigen plugin gemaakt die informatie uit het bestand inleest en toont in een irc channel als je /np of /nowplaying intikt. Deze mag je zo downloaden, maar eerst moeten we erachter komen in welke map Chatzilla zoekt naar plugins. Om hierachter te komen tik je in: /pref profilePath. Wanneer je naar het pad navigeert met verkenner zie je onder andere map scripts. In deze map creĆ«er je een nieuwe map, bijvoorbeeld met de naam “nowplaying”. Hierin zet je dan het volgende bestand: init.js.

Het bestand is wat bloated omdat ik een sample-plugin als voorbeeld heb gebruikt. Wanneer je dit gedaan hebt moet je in init.js nog het pad naar je .txt opgeven, wat je gebruikt hebt in foobar2k. Vergeet niet om dubbele slashes te gebruiken om problemen te voorkomen. Wanneer je dit hebt gedaan kan je Chatzilla herstarten.

Om te kijken of de plugin geladen is kan je gebruik maken van /list-plugins, je krijgt dan een overzicht van geladen plugins. Hoewel (bij mij) Chatzilla zegt dat onze now playing plugin wel geladen is maar niet geenabled, kan je al /np gebruiken om te laten zien wat je luistert.

Leave a Reply