iTunes mal BiDi

Hallo zusammen,

da ich meine Audiolösung hauptsächlich rein über den iPod Touch steuere, habe ich mir ein kleines Tool geschrieben, welches sich zwischen iTunes und IPS (iTunes über COM und IPS über SOAP) hängt. Wird iTunes bedient, werden die entsprechenden Variablen in IPS geändert. Drück ich im WebFront Pause, geht iTunes auf Pause. Aktuell laufender Titel, Interpret und Album wird auch übertragen.

Ich wollte nun nur mal nachfragen, ob daran Interesse bestände. Dann würd ich das Tool konfigurierbar machen (ID´s der Variablen) und zur Verfügung stellen.

Auf meiner ToDo-Liste steht noch die Auswahl von Webradio-Sendern über das WebFront. So kann man morgends auf dem Weg ins Bad einfach Radio anmachen ohne den iPod suchen zu müssen.
Schön wäre auch noch die ganze Medienbibliothek im WebFront, aber das ist ziemlich aufwendig. Mal schauen…

Gruß
dfhome

Hallo dfhome,

welch Frage, natürlich besteht Interesse :smiley:

Ich melde auch mal Interesse an!
Das wäre wirklich noch das fehlende Bindeglied hier - setze auch Itunes ein.

Grüße,
Tom

Ok, dann mach ich die Konfig über ne XML-Datei rein und stell euch hier dann ne Installer-Version zur Verfügung. :slight_smile:

Wow! Wo finde ich das Spendenkonto?

Und das ganze bitte noch für Sonos :slight_smile:

So, hier ne Version noch ohne Installer. Einfach in ein Verzeichnis kopieren und starten. Vorher die config.xml mit den ID´s anpassen.
Benötigt werden:

  • Player (Integer-Variable):
    0: Stop
    1: Previous Track
    2: Play
    3: Pause
    4: Next Track

  • Volume (Integer-Variable):
    eigenes Variablenprofil mit Auflösung von 1 (0-100), Suffix „%“

  • Mute (Boolean-Variable)

  • Track (String-Variable)
    Variablenprofil ~String

  • Interpret (String-Variable)
    Variablenprofil ~String

  • Album (String-Variable)
    Variablenprofil ~String

iTunes wird von dem Tool selbst gestartet, da es ansonsten die Events nicht mitbekommt. Also vorher iTunes bitte beenden. Das Tool und iTunes müssen auf dem gleichen Rechner wie IPS laufen, da der WebService momentan mit der IP 127.0.0.1 adressiert ist.

Gruß und ich bin gespannt auf´s Feedback. :smiley:
dfhome

iTunesCtl.zip (34.2 KB)

Hi!

SUPER!! Gerade mal ausprobiert - und funktioniert klasse!
Die Anzeige von Titel, Interpret, usw. passt.
Wenn ich mir Deinen ersten Screenshot anschaue, dann kannst Du über das Webfront auch in Itunes eingreifen, oder? (Start, Stop, Skip, etc.)
Dazu müssen aber wohl noch Scripte hinter die Variablen - hast Du da vielleicht auch noch was für uns?

Vielen Dank schonmal!
Tom

@dfhome

danke auch schonmal für deine Mühe - ich warte noch auf meinen Ipod und werde es direkt ausprobieren wenn er eingeflogen ist.

Grüße
Daniel

Ja, du musst einfach die Player-Variable setzen (über das hinterlegte Script). Bei Änderung der Variable wird dann iTunes entsprechend gesteuert.

Freut mich, dass es klappt. :smiley:

habs immer noch nicht ausprobiert, aber sind deine „Zonen“ Airport Expresses bzw. AirTunes Geschichten oder eigene Bastelei?

Sind eigene „Bastelei“ (separater Verstärker pro Zone, die einfach geschaltet werden).

@dfhome

Probiere gerade Dein iTunes Control aus, aber stehe gerade ein wenig auf dem Schlauch was die einzelnen Scripte betrifft.

Ja, du musst einfach die Player-Variable setzen (über das hinterlegte Script). Bei Änderung der Variable wird dann iTunes entsprechend gesteuert.

Könntest Du vielleicht das oder die notwendigen Scripte (Player, Mute, Volume) posten.

Danke

Klar, kein Problem. Im Anhang der Ausschnitt aus der Baumansicht. Das betreffende Skript ist das Skript „Trigger“. Und hier der Inhalt:


<?
if ($IPS_SENDER == "WebFront") {
	switch ($IPS_VALUE) {
	   case 0:
			SetValue(37100 /*[Audio\Player\Steuerung]*/, 0);
	   break;
	   case 1:
	   	SetValue(37100 /*[Audio\Player\Steuerung]*/, 1);
	   break;
	   case 2:
         SetValue(37100 /*[Audio\Player\Steuerung]*/, 2);
			FS20_SwitchMode(21198 /*[Audio\Player\Pause]*/, false);
	   break;
	   case 3:
			SetValue(37100 /*[Audio\Player\Steuerung]*/, 3);
			FS20_SwitchMode(21198 /*[Audio\Player\Pause]*/, true);
	   break;
	   case 4:
	   	SetValue(37100 /*[Audio\Player\Steuerung]*/, 4);
		break;
	}
}
?>

Das FS20-Zeugs könnt ihr weglassen.

Und hier das Skipt zu „Volume“:


<?
SetValue(54197 /*[Audio\Lautstärke\Volume]*/, $IPS_VALUE);
?>

Alles weitere macht ja das Tool (über SOAP).

@dfhome

Hi

Danke für’s Script. Steuerung funktioniert soweit, bloss die Volume Steuerung nicht.

Ich denke Du triggerst ja die Lautstärke von Itunes und nich die einer Media Player Instanz?

Gibt die iTunes API eigentlich auch noch Funktionen wie Shuffle, Repeat oder andere Sachen her, wie Z.B. die in iTunes integrierte Zonensteuerung?

Mit weiteren Sachen hab ich mich noch nicht beschäftigt. Ich denke aber schon, dass die API das kann. Momenten hab ich wenig Zeit, ich schau da aber mal bei Gelegenheit.
Wegen der Lautstärke: genau, das stimmt. Das Skript oben übernimmt ja nur die Änderung der Lautstärke im WebFront in die Variable. Hast Du die richtige ID in der config.xml für die Variable drin?

Yep es war die ID verkehrt. Hatte durch rumspielen und löschen etc. ganz vergessen diese anzupassen.

Danke noch mal für Deine Untertützung.

So, mich eben mal hingesetzt und eine Webradio-Unterstützung eingebaut.
Unterstützt werden 4 Sender, welche über eine Integer-Variable angewählt werden. In der config.xml ist zum Einen die ID dieser Variable anzugeben als auch die Sendernamen der Sender (müssen mit dem Namen in der iTunes Mediathek übereinstimmen). Diese dienen zum Suchen in der Mediathek und zum anschließenden Abspielen.
Ich weiß nicht, ob es auch mit den standardmäßig verfügbaren Webradio-Sendern geht, da ich bei mir eigene Sender in die normale Mediathek hinzugefügt habe.
Ach ja, die IP-Adresse von IPS kann nun auch konfiguriert werden (muss sie zwar nicht, da es eigentlich immer lokal läuft, aber egal…).

So, viel Spaß und ich freu mich über Feedback! :loveips:

Im Laufe der Woche gibts noch ne Version, wo man sich auch die Cover vom aktuell laufenden Album im WebFront anzeigen lassen kann… :wink:

…hab jetzt auch die Anzeige der Player Position und der Trackdauer drin… Update schieb ich bald nach… :smiley: