Appelscript per FB starten

Hallo zusammen,

nach einigen google-Suchen und eigenen Versuchen, wende ich mich an euch mit meinem kleinen Problem.

Auf meinem Mediacenter (ein MacMini) läuft EyeTV und XBMC mit dem SnowLeopard. Das Hin- und Herschalten habe ich per Applescript gelöst.
Die Bedienung habe ich mit einem iPhone oder iPad realisiert.
Jetzt stellte sich mir die Frage, ob es möglich ist, per AppleScript zu erkennen, ob EyeTV über die IR-FB ausgeschaltet wurde?
EyeTV wird beim Abschalten nicht beendet, sonder es wird nur das Programmfenster geschlossen! Also einen einfache Taskabfrage funktioniert hier nicht.

Kann ich durch Abfrage, z.B. alle 2s, feststellen, ob es zu ist??

SW-Lösungen wie Remote Buddy wollte ich nicht benutzen.

Vielen Danke schon mal für eure Hilfe und Ideen :smile:

Gruß
Jörg

Hallo,
so solltest Du EyeTV beenden können:
“tell application “EyeTV”
activate
tell application “System Events”
key code 12 using {command down}
end tell
end tell
wobei key code 12 für q und using {command down} für die Apfel-Taste stehen.
alternativ kann auch folgender Befehl verwendet werden:
keystroke “q” using {command down}”
Dann mußt Du keine “Zeit” in einer “Abfragung” verschwenden
Ist aber dünnes Eis…
Gruß und Spaß
Andreas

1 „Gefällt mir“

Hallo Andreas,

Danke für die schnelle Antwort.

Dein Skript schließt EyeTV ohne wenn und aber! Ich kann nur leider nicht festlegen, dass das Skript beim “Ausschalten über FB” von EyeTV gestartet wird. Oder geht das irgendwie??

Mein Ansatz wäre, z.B. das Prüfen, ob das Programmfenster offen ist oder nicht. Durch das Ausschalten über FB wird leider nur dieses Fenster geschlossen!! Ein anderer Ansatz fällt mir nicht ein!! Nur leider blicke ich nicht so richtig beim Befehlssatz und der Steuermöglichkeiten von EyeTV so richtig durch. Das Beenden von EyeTV selber war leider nicht das Problem.

Gruss,
Jörg

Hallo Jörg

So ganz habe ich noch nicht verstanden was Du genau erreichen möchtest. Du schliesst mit der Apple Remote das EyeTV Fenster, richtig? Nun möchtest Du ein Script, welches überprüft ob das Fenster geschlossen ist und dann etwas tut? Verstehe ich das richtig?

lg

Michael

Edit:

Hier mal ein Beispiel für ein solches Script. Du könntest das Script als Programm abspeichern und endlos im Hintergrund laufen lassen. Mit diesen Einstellungen (vorletzte Zeile, "do shell script “sleep 2”) wäre jeder Durchlauf um 2 Sekunden verzögert.

Das Script überprüft, ob EyeTV überhaupt läuft. Wenn ja, wird der Zustand von Player Window 1 abgefragt. Ist es vorhanden, dann wird die Variable FensterOffen auf 1 gesetzt. Ist es nicht vorhanden, dann auf 2. Die Variable kann folgende Zustände annehmen:

0 - EyeTV ist nicht gestartet
1 - EyeTV ist gestartet, Player Window ist offen
2 - EyeTV ist gestartet, Player Window ist geschlossen

2 wäre der Zustand wenn Du EyeTV wegschaltest, wenn ich das richtig verstanden habe. Das Script würde jetzt in diesem Fall EyeTV beenden. Hier lassen sich natürlich auch noch weitere Anweisungen einbauen.

Falls Du jedoch eine direkte Reaktion auf Deine Apple Remote haben möchtest, dann wirst Du vermutlich nicht um eine Zusatzsoftware wie z.B. Remote Buddy herum kommen. Zumindest mir ist kein Weg bekannt, der daran vorbei führt.

repeat
	set FensterOffen to 0
	tell application "System Events"
		get every process
		if exists application process "EyeTV" then
			set FensterOffen to 2
			tell application "EyeTV"
				try
					if exists player_window 1 then
						set FensterOffen to 1
					end if
				end try
			end tell
		end if
	end tell
	if FensterOffen = 2 then
		tell application "EyeTV" to quit
	end if
	do shell script "sleep 2"
end repeat
1 „Gefällt mir“

Hallo Michael,

Danke für den Tipp!

Das ist genau das, was ich wollte :smiley: :w00t:

Mir war nicht klar, wie ich ein Fenster abfrage.
Heute Abend werde ich es dann gleich mal ausprobieren.

Die AppleRemote nutze ich dafür nicht, sondern die originale EyeTV FB.

Aber jetzt wo du es sagst, kann man den Mac nicht mit der AppleRemote ausschalten? Irgendwie klingelt es da bei mir?? Ich glaube ein langer Druck auf die Menü-Taste? Bin mir aber nicht sicher.
Aber dann müßte ich die wieder aus der Versenkung holen. :unamused:

Danke und Grüssle,
Jörg

Guten Morgen

Doch, da gab es eine Möglichkeit mit der AR. Das ging mit der Play Taste, wenn ich mich recht erinnere. Ich kann es im Moment aber nicht genau sagen…

lg

Michael