• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Irssi und iTunes

  • Ersteller Ersteller turncoat
  • Erstellt am Erstellt am

turncoat

Gast
Da die Telekom gestern meinte mein DSL sperren zu müssen, hab’ ich mich einfach mal auf den Hosenboden gesetzt und ein kleines AppleScript geschrieben, um Informationen zum aktuellen Track an Irssi bzw. andere Konsolenprogramme weiterzugeben.

Beim basteln, stieß ich allerdings auf ein Problem. Zu Beginn habe ich versucht über player state einen Rückschluss auf den aktuellen Zustand von iTunes - also playing, paused, stopped, fast forwarding/rewinding - zu ziehen.

Das war aber irgendwie nicht möglich. Folgendes Beispiel um mein Problem zu verdeutlichen

Code:
tell application "iTunes"

	if (player state) is "playing" then
		set output to "a " & player state

	else if (player state) is "paused" then
		set output to "b " & player state

	else if (player state) is "stopped" then
		set output to "c " & player state

	else
		set output to "d " & player state

	end if
end tell

Statt einem Wert passend zur Tätigkeit von iTunes erhalte ich immer nur die Ausgabe vom letzten else - also d - inklusive dem richtigen Status.

Hat jemand ’ne Ahnung woran das liegen könnte. Meine Alternativelösung habe ich mal als Archiv angehängt. :-)

Grüße,
Markus
 
Zuletzt bearbeitet von einem Moderator:
Ich möchte gern jeden „player state“ individuell mit einer Ausgabe belegen können.
 
Also wenn der player state ist "play..." dann tue irgendetwas ? :-/

Das hast du doch so…
 
Zuletzt bearbeitet:
Genau das funktioniert aber leider nicht, wie ich mit dem Beispiel oben verdeutlicht habe. Die Abfrage geht immer ins Leere, egal, wie der wirkliche Status ist.

Am liebsten wäre mir eine Aufgliederung nach „player state“, „kind“ und im Spezialfall „Videodatei“ noch nach der „Videoart“, aber ich krieg’ die eine Hälfte nicht realisiert und find’ für die Andere nicht die entsprechenden Variabeln.
 
Danke schonmal. „playing“ und „paused“ werden problemlos erkannt, wenn iTunes aber „stopped“ ist, gibt er das nicht aus, sondern nimmt den letzten else-Zweig.

Gründe dafür kommen mir keine in den Sinn.
 
So...hier ist eine überarbeitete Version...
Da müsste es klappen, turncoat ! :-D

Gruß,

X.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: turncoat
Funktioniert fein, danke. Warum es mit einer Schleife allein nicht funktioniert, kannst du mir wohl aber auch nicht sagen, oder?

Ich werd’ dann mal meinen Spass für die Konsole entsprechend umschreiben. :-)
 
Was meinst du mit einer Schleife allein ?

Kannst du mir das mal ein bisschen genauer erklären ?

Gruß,

X.
 
Schleife war nicht das passende Wort, ich meinte, warum man den vollständigen „player state“ nicht in einer If-Else-Bedingung abfangen kann.

Du hast es in deinem Skript ja auch auf anderem Wege gelöst. Ist AppleScript vielleicht bei der Verschachtlung von If-Else-Bedingungen in der Tiefe limitiert. Im Guide konnte ich dazu leider nichts finden.
 
OK, es geht doch jetzt alles, wozu brauchst du dieses Script denn überhaupt ? :-/

Gruß,

X.
 
Nun versteh’ ichs. Dann werd’ ich mich direkt mal ans Basteln machen. Ich arbeite inzwischen an einem „Wrapper“, um dem Benutzer einige Funktionen im Irssi zu ermöglichen.

So soll er z. B. das Ausgabeschema bestimmen.