• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Sprichwörter und Redewendungen sind das Thema unseres Monatswettbewerbes. Nähere Informationen dazu gibt es natürlich auch, und zwar auf dieser Seite ---> Klick

Irssi und iTunes

  • Ersteller turncoat
  • 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:

turncoat

Gast
Ich möchte gern jeden „player state“ individuell mit einer Ausgabe belegen können.
 

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Also wenn der player state ist "play..." dann tue irgendetwas ? o_O

Das hast du doch so…
 
Zuletzt bearbeitet:

turncoat

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

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Hilft dir das weiter ? o_O

Gruß,

X.
 

Anhänge

  • iTunes-Player State.app.zip
    19,6 KB · Aufrufe: 52

turncoat

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

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
So...hier ist eine überarbeitete Version...
Da müsste es klappen, turncoat ! :-D

Gruß,

X.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: turncoat

turncoat

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

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Was meinst du mit einer Schleife allein ?

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

Gruß,

X.
 

turncoat

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

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
OK, es geht doch jetzt alles, wozu brauchst du dieses Script denn überhaupt ? o_O

Gruß,

X.
 

turncoat

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