EyeTV3 RecordingDone Script zum ausschalten

musst du mittels do shell script und ps halt gucken, ob der prozess läuft.
frontrow selber kann wohl kein applescript, zumindest kann man kein funktionsverzeichnis davon öffnen...

Danke dir. Für jemand der noch nix mit Skripte programmieren zu tun hatte umsetzbar?
 
so in der art:
Code:
set frontrow to do shell script "ps -ef|grep 'Front Row'|grep -v grep|wc -l|sed -e 's/^[ \t]*//'"
if is_recording = false and ausmachen = true and frontrow = 0 then
 
Zuletzt bearbeitet:
so in der art:
Code:
set frontrow to do shell script "ps -ef|grep "Front Row"|grep -v grep|wc -l|sed -e 's/^[ \t]*//'"
if is_recording = false and ausmachen = true and frontrow = 0 then

Vielen Dank für die Hilfe. Applescript scheint gewisse Ähnlichkeiten mit Matlab zu haben von der Programmierung her.

Mit dem Code werden alle laufenden Prozesse angezeigt. Es wird nach dem Prozess Front Row gesucht und ein gewisser Teil der Zeile ausgelesen. Ist das so in etwa korrekt? Was macht grep -v grep?

Hab es folgendermaßen reinkopiert:
Code:
on RecordingDone(recordingID)
	set frontrow to do shell script "ps -ef|grep "Front Row"|grep -v grep|wc -l|sed -e 's/^[ \t]*//'"
		tell application "EyeTV"
			set limit to 30 * minutes
			set ausmachen to true
			set vorlauf to (prepad time + 2) * minutes
			set jetzt to current date
			repeat with aufnahme in start time of programs
				set diff to aufnahme - jetzt
				if diff ≥ vorlauf then set diff to diff - vorlauf
				if diff ≥ 0 and diff ≤ limit then set ausmachen to false
			end repeat
			if is_recording = false and ausmachen = true and frontrow = 0 then
				activate
				set antwort to display dialog "ausschalten?" buttons {"nein", "ja"} default button "ja" giving up after 30
				if button returned of antwort = "ja" or button returned of antwort = "" then
					tell application "Finder"
						sleep
					end tell
				end if
			end if
		end tell
end RecordingDone

Beim Speichern kommt der Fehler "Es wurde Zeilenende erwartet, aber ein ""front"" wurde gefunden". Hab die ".." weg gemacht und man konnte es speichern. Getestet habe ich es auch gleich, leider erfolglos. Ich nehme an, dass er nach der zweiten Zeile schon rausspringt. Bis zur Anzeige kommt er nicht.
 
oh, sorry, hab oben das "Front Row" übersehen, die " müssen da in ' geändert werden.
sonst denkt der das " schliesst das " von do shell script.

grep -v grep nimmt halt das grep bei den ergebnissen von ps -ef raus.
sonst hättest du da mind. eins...
 
Das hab ich mir fast gedacht dass es an den '...' War mir allerdings nicht sicher.
Hab es abgeändert und gespeichert. Beim Speichern löscht mir der Skript-Editor
das "\t" aus "[ \t]". Ausprobiert hab ich es. Leider hat es nicht geklappt.
 
Hallo zusammen!

Wollte mich mal für das Skript bedanken :)
Hätte auch noch ne Frage: Wäre es möglich einen kleinen Countdown einzufügen, der die 30s runterzählt?

Hab mal das hier gefunden (die andern Google-Ergebnisse waren immer komplette, eigenständige Programme). Allerdings sieht mir das verlinkte Script ziemlich umständlich programmiert aus. (Schweizerdeutsch sieht ja geschrieben genauso lustig aus, wie sichs anhört ;))
 
das hatte ich ursprünglich mal überlegt, aber das ist wirklich sehr umständlich in applescript und dem dialog...
würde auch immer flackern beim text update...
 
Mal eine Frage an den Experten. Wie frage ich per Applescript wenn EyeTV etwas aufnimmt, welches Programm es aufnimmt?

Und mal allgemein gefragt, ich verstehe nicht so ganz, wie man die möglichen Applescript Befehle benutzt. Wenn man über das Funktionsverzeichnis EyeTV aufruft, bekommt man ja alle Befehle angezeigt, die EyeTV unterstützt. Und bei den einfachen, wie play, pause, etc. ist mir das auch klar. Aber wie frage ich z.B. die "start time" der nächsten, anstehenden Aufnahme ab?

Gruß
BOP
 
Hallo Spezialisten - ich bin's wieder.
Habe ein Problem mit dem Ausschalten meines EyeTvs. Ich habe sowohl mal das RecordingDone als auch das ExportDone Script probiert. Folgendes Problem:

Ich nehme auf und habe eingestellt, dass die Sendung gleich für den WiFi Access vorbereitet wird. Entsprechend fängt EyeTv das Exportieren an. Leider geht jedesmal nach dem Export iTunes auf und die Filme werden da als "Fernsehsendung" beigefügt. Wenn dann das ExportingDone Script den Rechner ausschalten will, verhindert iTunes dieses.
Hat jemand eine Idee?
 
du kannst applescript sagen, es soll die apps ignorieren.
das birgt allerdings die gefahr, dass du irgendwelche offenen dokumente nicht gespeichert kriegst, wenn du gerade am rechner arbeitest und den dialog verpennst...

Code:
tell application "finder"
ignoring application responses
shut down
end ignoring
end tell
 
Zuletzt bearbeitet:
Cool wäre auch ein Befehl, der ein zufällig mit Beendigung der Aufnahme/ des Exportes stattfindendes Time Machine Backup erst zuende laufen lässt und dann den Mac schlafen legt.
Bei mir ist das, glaube ich nämlich, der einzige Grund, weshalb das RecordingDone Script manchmal nicht funktioniert…
Time Machine im Vorgang unterbrechen wird ja eher riskant sein.

Gibt's da auch was von Applescript? :)
 
hi,
habe es gerade mal versucht. Der Rechner hat gar nix gemacht.
Denke es liegt an dem Shutdown Befehl.

habe das Kommando mal auf "Shut Down" geändert. Jetzt scheints zu gehen.
 
hatte der scripteditor das schon nicht moniert bzw nicht als kommando gefärbt?
 
also bei mir funktioniert es immer noch nicht.

er bring zwar die meldung zum ausschalten tut es aber nach der wartezeit nicht :(

in welchen log files kann ich nachsehen was den shutdown unterbindet?
 
Code:
tell application "finder"
ignoring application responses
shutdown
end ignoring
end tell

wo packe ich das mit rein?
 
Zurück
Oben Unten