toggle playPause para iPhoto, problema de script, probablemente variable global

1

Necesito cambiar playPause para iPhoto, así que escribí este 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

Envié este comando a través de ssh (con osascript -e '% s') y la función de reanudación no funciona (el inicio y la pausa funcionan correctamente).

así que escribí el script de ayuda

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

funciona correctamente cuando lo ejecuto a través del editor de AppleScript, pero no si ejecuto este código a través de ssh.

[editado] Ejecuto scripts exactamente de esta manera:

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'
    
pregunta qbait 05.02.2014 - 02:57

1 respuesta

1

Resolví mi problema, la variable global se restableció, ahora almaceno la variable en el archivo, aquí está el código:

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
    
respondido por el qbait 06.02.2014 - 00:03

Lea otras preguntas en las etiquetas