ical-iTunes-Applescript update
Mai 26, 2006
Musste im Script einen Fehler korrigieren, damit URLs der News von Deutschlandradio zwischen 0 und 9 Uhr morgens (04, nicht 4!) und von xx:30 bis xx:59 stimmen. Ich sag’s ja: Alpha-Release!
br-onlines „Podcastmixer“
Mai 26, 2006
Die Online-Abteilung des Bayrischen Rundfunks tüftelt offenbar auch mit Applescript rum. Rausgekommen ist dabei etwas namens „Podcastmixer„:
Der Podcast Mixer stellt aus den Wiedergabelisten von iTunes und den vorhandenen Podcasts eine eigene Wiedergabeliste nach einstellbaren Regeln zusammen. Sie können sich so zum Beispiel ein Musik-Album und zwischen den einzelnen Stücken einen Beitrag aus einem Podcast anhören.
Natürlich lassen sich auch reine Musik-Wiedergabelisten mischen. Oder nur verschiedene Podcasts. Sie bestimmen, wie häufig hintereinander ein Titel aus einer Wiedergabeliste/einem Podcast gespielt werden soll und nach welchen Kriterien die Reihenfolge bestimmt werden soll. Der Rest geht automatisch. Sie bekommen dann ein abwechslungsreiches Programm aus ihrer Lieblingsmusik und den interessantesten Infos – für zu Hause oder mit dem iPod für unterwegs.
Und so sieht dessen GUI aus:

Aktuelle News von Deutschlandradio im Musicstream
Mai 25, 2006
Unser Applescript, das – via iCal – zu frei wählbaren Zeiten in den Musicstream, den Du grad hörst, Wortelemente einblendet, hab ich grad um eine Option ergänzt: aktuelle Nachrichten! Der Kalender muss jetzt „latest.news“ heissen und als zusätzlichen Eventnamen (neben den bisherigen) gibt’s „dradionews“. Heisst ein Event so, wird zu seiner „Alarmzeit“ das aktuellste verfügbare Bulletin der stündlichen News von Deutschlandradio gestartet. Und jetzt kann das Skript auch einblenden: Nach dem Wortelement fadet es den Stream, den Du davor gehört hast, sanft wieder ein. Und sollte das Quellfile des Wortelements nicht existieren, geht’s einfach mit dem Stream weiter („try… end try“ is your friend).
das semi-universelle „Progletscript“
Mai 18, 2006
Und noch eins: Dieses Applescript versteht nun beliebige Streams, nicht „nur“ last.fm. Sprich: Du kannst x-einen Stream am Hören sein mit iTunes, wenn in iCal ein Alarm losgeht im Kalender namens „last.drs“ und als dessen „Erinnerung“ dieses Skript (am besten mit 0 Min. Vorlauf) definiert ist, dann blendet es den laufenden Stream aus und spielt die zur Alarmzeit aktuellste verfügbare Ausgabe der Sendung aus dem Podcast-Angebot von SR DRS ab, die im Titel des Events steht (derzeit: kontext, reflexe, echoderzeit, heutemorgen). Ist die Sendung fertig, oder drückst Du bei iTunes auf stop, wechselt das Script wieder zurück zu dem Stream, den Du vorher am Hören warst. Ein weiterer Alpha-Release aus dem Hause radiolab… Wir bleiben dran.
So sähe übrigens iCal ungefähr aus bei jemandem, der mit diesem Script um 10:45 am Montag „kontext“ hören möchte:

one more
Mai 16, 2006
Voilà, das universale „Proglet-Script“, bei dem der Titel des Events bestimmt, welche Sendung zu dem Zeitpunkt kommt, wenn dieses Applescript als Erinnerung gestartet wird. Nicht vergessen: Keinen Vorlauf angeben, resp. auf 0 setzen! Und: Der Kalender, in dem die Events sind mit diesem Skript dran, der muss „last.drs“ heissen. Noch so ein alpha-Release aus dem Hause radiolab…
Next try
Mai 16, 2006
Das ist das Applescript für die Morgeninfosendung „Heute Morgen“. Etwas unbefriedigend: Für jede Sendung ein eigenes Skript! In der nächsten Version muss das ein einziges sein, das selber merkt, wie der Event heisst, für dessen Alarm es zuständig ist und die Ziel-URL entsprechend zusammensetzt. Dann müssen lediglich die Events die Namen der Sendungen tragen: reflexe, kontext, echoderzeit, heutemorgen etc. Kommt Zeit, kommt Skript.
First try
Mai 15, 2006
Wer den lastfmproxy installiert hat kann mit diesem Applescript aus dem Hause radiolab im last.fm-Musikstrom per iCal automatisch dann das jeweils aktuellste verfügbare Echo der Zeit von SR DRS auftauchen lassen, wann er will. Dasselbe hier für die Sendung „Reflexe“. Und da für Kontext. Die Skripte nutzen aus, dass iCal Programme und Scripte timen kann. Wie das geht, steht bei Apple. iCal sähe dann für jemanden so aus, der um 11 das Echo vom Vorabend hört, um 17 Uhr Kontext und um 18 Uhr Reflexe:

Dass die -> Proglets jeden Tag an derselben Stelle positioniert sind, ist zufällig. Müssen sie natürlich nicht sein.
konsequenterweise…
Mai 12, 2006
last.drs: So ging’s ev. auch…
Mai 11, 2006

So könnte ein Webinterface zu „last.drs“ aussehen, wenn mit ajax-Prinzipien gebaut. 1100×660 Version. Das Bild zeigt natürlich lediglich ein „mockup“ ohne Funktionalität. Selber anschauen hier (Safari wird von pageflakes leider nicht richtig unterstützt…). Die alles-im-Browser-Version hat wohl tatsächlich den einen oder anderen Vorteil gegenüber der lastfmproxy+applescript-Version…
Bei der Gelegenheit (siehe mockup) grad ein „neues“ Wort erfunden: Proglet, in Anlehnung an und abgeleitet von Wavelet. Obwohl das eine nun wirklich gar nichts mit dem anderen zu tun hat. Proglet klang irgendwie einfach nett für ein Teil, das traditionellerweise „Sendegefäss“ heisst. Proglets lassen sich bei last.drs (temporärer Name!) via Web-Interface im Zeitstrom frei positionieren an dem Ort, wo sie regelmässig wiederkehren sollen und wo sie vom Musikfluss umspühlt werden… So etwa.
last.drs: so könnte es – im Prinzip – gehen…
Mai 11, 2006

Der lastfmproxy holt den stream bei last.fm gemäss den per Browser definierten Vorgaben. iTunes spielt last.fm ab dem proxy (localhost:1881). Das Applescript „last.drs“ holt beim lokalen iCal im Kalender „last.drs“ die Information, wann welche Sendung abzuspielen ist (zum Glück sind die Filenamen reproduzierbar: echoderzeit_yyyymmdd.mp3). Entsprechend steuert das Skript, was iTunes woher wann spielt. It’s as simple as that. Auf einem Mac… Ein paar Codeschnipsel pro memoria:
#last.fm ab proxy spielen:
tell application „iTunes“
open location „http://localhost:1881/lastfm.m3u“
end tell
#wechseln zu z.B. Echo der Zeit zu Zeitpunkt X
tell application „iTunes“
open location „http://pod.drs.ch/mp3/echoderzeit/echoderzeit_yyyymmdd.mp3″
end tell
# warten, bis externes MP3 – z.B. „Echo der Zeit“ – fertig ist:
tell application „iTunes“
repeat while player state is playing
delay 1
end repeat
end tell
# nach z.B. „Echo“ retour zu last.fm:
tell application „iTunes“
open location „http://localhost:1881/lastfm.m3u“
end tell