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!

Advertisements

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:
GUI Podcastmixer

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).

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:
kontext ical

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:
ical dummy
Dass die -> Proglets jeden Tag an derselben Stelle positioniert sind, ist zufällig. Müssen sie natürlich nicht sein.

konsequenterweise…

Mai 12, 2006

… müsste die Version 2.0 von dem, was gestern noch temporär „last.drs“ hiess, „any.any“ heissen. Sprich: eine beliebige Streamquelle (playlist x bei Webjay, livestream von Radio y in Format A oder B oder C, last.fm, irgendwas), angereichert um „proglets“ von Quellen K oder L oder M etc.

interface mockup bei pageflakes
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 schema
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