attiva / disattiva playPause per iPhoto, problema di script, probabilmente variabile globale

1

Ho bisogno di attivare playPause per iPhoto, quindi ho scritto questo script

global isPaused
try
    get isPaused
on error
    set isPaused to false
end try
tell application "iPhoto"
    if slideshow running then
        if isPaused then
            resume slideshow
        else
            pause slideshow
            set isPaused to true
        end if
    else
        start slideshow
    end if
end tell

Ho inviato questo comando tramite ssh (con osascript -e '% s') e la funzione di ripresa non funziona (avvio e pausa funzionano correttamente).

quindi ho scritto script di supporto

try
    get toggle
on error
    set toggle to false
end try
tell application "iPhoto"
    if toggle then
        start slideshow
    else
        set toggle to true
    end if
end tell

funziona correttamente quando lo eseguo tramite l'editor AppleScript, ma non se eseguo questo codice tramite ssh.

[modifica] Eseguo gli script esattamente in questo modo:

osascript -e 'try
get toggle
on error
set toggle to false
end try
tell application "iPhoto"
if toggle then
start slideshow
else
set toggle to true
end if
end tell'
    
posta qbait 05.02.2014 - 02:57
fonte

1 risposta

1

Ho risolto il problema, la variabile globale è stata ripristinata, ora memorizzo le variabili nel file, ecco il codice:

set thePath to (get path to scripts folder from user domain as text) & “myTempFile.scpt"

script theData
    property IsPaused : missing value
end script

try
    set theData to load script file thePath
on error
    set IsPaused of theData to false
end try

tell application "iPhoto"
    if slideshow running then
        if isPaused of theData then
            resume slideshow
        set isPaused of theData to false
        else
            pause slideshow
            set isPaused of theData to true
        end if
    else
        start slideshow
    set isPaused of theData to false
    end if
end tell

store script theData in file thePath replacing yes
return IsPaused of theData
    
risposta data 06.02.2014 - 00:03
fonte

Leggi altre domande sui tag