1 votos

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

Necesito alternar 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 vía 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 ayudante script

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 así:

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'

1voto

qbait Puntos 116

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X