2
votes

As the title says- Is there a way to detect what slide is showing in a keynote presentation (using applescript)? And yes, I am aware of how to change slides with applescript, I just need to detect what slide is already active.

SOLVED! >>> SEE BELOW

(Don't have enough reputation to answer my own question, so I'll just stick it here.)

I found a way round it thanks to this guy's script: http://code.google.com/p/keynotetweet/

For each slide in Keynote you get the option to attach invisible notes (not the yellow stickies, its a text box at the bottom of the page. Change the view to "Show Presenter Notes"). Here you can store a trigger string, ie "action". So create a keynote and put "action" in the notes of one slide. Start up the applescript then the slideshow, and when the slide with "action" in the notes is visible, the applescript will pick up it up and do whatever you set it to do.

repeat
    tell application "Keynote"
        set slideNotes to get notes of current slide of first slideshow
        if text of slideNotes is equal to "action" then
            say "Is this the slide you're looking for?"
        end if
    end tell
end repeat

Enjoy!

1

1 Answers

1
votes
tell application "Keynote"
tell slideshow 1
    get current slide
end tell
end tell

gives you slide 3 of document "Untitled" of application "Keynote"