• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Applet zusammen mit iTunes starten bzw. beenden

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Gibt es eine technische Möglichkeit ein Applet zusammen mit iTunes zu starten und zu beenden?

Hintergrund der Frage:
- Ich habe einen last.fm-Scrobbler für iTunes Radio geschrieben.
- Es handelt sich um eine Hintergrundanwendung ohne Benutzerinterface.
- Das Applet ruft alle 11 Sekunden die iTunes-Schnittstelle auf, und ermittelt ob ein neuer Titel angefangen hat.

Ich möchte nun das Applet automatisch zusammen mit iTunes starten. Genauso sollte sich das Programm zusammen mit iTunes beenden; andernfalls startet sich iTunes durch die Applet-Abfrage ja wieder.
 

fyysh

Schweizer Glockenapfel
Registriert
25.01.10
Beiträge
1.386
Es gibt ein App, dass das macht. Es heißt GimmeSomeTune. Also gibt es das.
Wie die das gelöst haben, kann ich dir aber nicht sagen. launchd scheint es nicht zu sein.
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

andernfalls startet sich iTunes durch die Applet-Abfrage ja wieder.
Du mußt vorab fragen, ob iTunes überhaupt gestartet ist:
Code:
tell application "System Events"
	if ((bundle identifier of processes) contains "com.apple.iTunes") then
		return true
	else
		return false
	end if
end tell
... erst dann richtest Du Deine Anfrage an iTunes.

Möglicherweise solltest Du Dir überlegen, ob Du weiter Deine Zeit mit AS verbringen möchtest.
Für Dein Vorhaben ist Cocoa/Objective-C viel besser geeignet.
iTunes sendet bei jedem Titelwechsel usw. Nachrichten ins System, die Du belauschen kannst, u.a. wenn es geöffnet bzw. geschlossen wird.

http://developer.apple.com/mac/libr...BridgeConcepts/Introduction/Introduction.html

Das würdest Du benötigen und funktioniert super.

Viele Grüße
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
AppleScript ist m.E. das Mittel der Wahl wenn des darum geht, Arbeitsabläufe in skriptfähigen Anwendungen zu automatisieren, diese untereinander zu verknüpfen oder um Funktionalität zu erweitern. Ich sehe es aber ähnlich wie LittlePixel: Für deutlich darüber hinaus gehende Aufgabenstellungen sollte man Alternativen betrachten.

Hintergrund - ich sehe für meinen Anwendungsfall folgendes Problem: Es kann passieren, daß während der Shutdownphase von iTunes, aus meiner Anwendung ein Event gegen iTunes ausgelöst wird. Dies hat zur Folge, daß iTunes nach dem Shutdown sofort wieder startet.

Bevor ein Event ausgelöst wird, wird zwar abgefragt ob iTunes überhaupt läuft (z.B. via "if iTunes is running"), das prinzipielle Problem besteht aber darin, daß auch während der Shutdownphase "is running" den Status "true" zurück liefert.

D.h. ich suche nach einer systemseitigen Möglichkeit, Anwendungen miteinander zu verknüpfen. Konkret: Nach erfolgtem Start der Masteranwendung iTunes soll die verknüpfte Anwendung iTunesRadioScrobbler gestartet werden. Und umgekehrt soll vor dem Beenden der Masteranwendung zunächst die verknüpfte Anwendung gestoppt werden.

Alternativer Lösungsansatz: Shutdownerkennung für iTunes (z.B. via ps).
 
Zuletzt bearbeitet:

fyysh

Schweizer Glockenapfel
Registriert
25.01.10
Beiträge
1.386
D.h. ich suche nach einer systemseitigen Möglichkeit, Anwendungen miteinander zu verknüpfen. Konkret: Nach erfolgtem Start der Masteranwendung iTunes soll die verknüpfte Anwendung iTunesRadioScrobbler gestartet werden. Und umgekehrt soll vor dem Beenden der Masteranwendung zunächst die verknüpfte Anwendung gestoppt werden.

Leider habe ich mich mit dieser Thematik noch nicht auseinandergesetzt, kann dir aber mit 100%iger Sicherheit sagen, dass es genau so funktioniert, wie du es vorhast.

Tools wie Keyboard Maestro oder QuicKeys bieten solche Features an. Ich gehe davon aus, dass es irgendwo (nur wo?) dokumentiert sein müsste. Meine Schnellsuche hat leider nichts brauchbares ausgespuckt.

Wenn du was findest, wäre es super, wenn du es hier reinposten könntest. Würde mich ebenfalls sehr interessieren.

Einfach nur die Scripting Bridge von iTunes zu verwenden ist übrigens, wie ich gestern feststellen musste, irgendwie suboptimal, da iTunes neu startet, wenn man diese "anspricht" während iTunes heruntergefahren wird. Bei den schnelleren Möglichkeiten im Scripting-Bereich, um die Scripting Bridge zu nutzen (Ruby/Perl), ist die Wahrscheinlichkeit zwar geringer, dass man iTunes genau im falschen Augenblick erwischt, aber nicht unmöglich, wie ich feststellen musste.

Sollten GimmeSomeTune und I Love Stars ObjC für die Nutzung der Scripting Bridge nutzen, so kann das "Wiederhochkommen" auch mit ObjC verursacht werden. Irgendwie sehr halbgeil. Man müsste also den Quit Event von iTunes abfangen können und in diesem Fall sofort aufhören, die Scripting Bridge anzusteuern. Dann sollte es klappen.