Quictime Controller Scripts Failing on Windows
Sannyasin Sivakatirswami
katir at hindu.org
Fri Nov 12 00:46:38 EST 2004
See previous post on this thread for more detail, but I think I have
narrowed it down.
The culprit I conclude now to be:
On Windows: setting the currenttime of a player, stops it, and if you
start it again, it resets the currentTime of the player to zero and
starts playing from the beginning.
and since I cannot get the controller to appear on Windows, this
effectively means this application is dead on Windows: there is not way
for the user to move back and forth in the player... which is an
absolute requirement for transcription work.
;-( as I really need to have it working on Windows asap...
Read on for the saga, that took nearly three hours of testing, save,
zipping moving to a Windows machine for testing ...
On Nov 11, 2004, at 6:18 PM, Sannyasin Sivakatirswami wrote:
> global gTimeScale
> on mouseUp
> set the currentTime of player "theTape" to fld "theMovieTime" -\
> (gTimeScale * fld "jumpSecs")
> end mouseUp
this works fine on Mac OSX, if the player is running, it jumps back and
continues... On Windows, the player stops cold. If I add an explicit
"Start Player" like this:
global gTimeScale
on mouseUp
set the currentTime of player "theTape" to fld "theMovieTime" -\
(gTimeScale * fld "jumpSecs")
start player "theTape"
end mouseUp
Windows will start the player over again, but at zero.
On first appearance one might conclude that Windows cannot get/read or
set the currentTime of a player object. And is defaulting to zero on a
start player command.
*but* in my stack script I have a send message that updates the user
fields which proves it *does* read the currentTime of the player:
on postTime
put empty into fld "thetime"
put the timescale of player "theTape" into intervalsPerSec
put the currentTime of player "theTape" into fld "theMovieTime"
put the currentTime of player "theTape" into tCurrentTime
put (tCurrentTime div intervalsPerSec) & " secs" into fld "theTime"
if tCurrentTime is not (the duration of player "theTape") then
send postTime to me in 1 seconds
else
answer "Tape is over!" with "OK"
end if
end postTime
OK this is working just fine... fields are being posted with the
current time...
So that leaves the variable "gTimeScale" as possibly being null on
Windows. this is initialized on Windows in the initial start player
script. Is it possible that on Windows, you cannot read the timescale
of a QT player object if it has not been started, but on Mac you can?
global gTimeScale
on mouseUp
set the currentTime of player "theTape" to 0
if (there is a file fld "soundFile") is not true then
answer "I cannot find that audio file." & cr & \"
"Did you move it or delete it? You can selected it again if you
are not finished, but click NO when asked to clear the header info."
with "OK"
exit mouseup
end if
set the filename of player "theTape" to fld "soundFile"
put the timescale of player "theTape" into gTimeScale
if ((char 1 to 4 of fld "soundFile") = "http") then
testNetConnection
wait 20 ticks
if button "Connected" is disabled then
answer "Sorry, you are not connected to the internet. Please log
on and try again." with "OK"
exit mouseUp
end if
end if
start player "theTape"
clearTimeFields
send insertAudioDuration to this stack in 15 secs
send postTime to this stack in 15 seconds
end mouseUp
OK, so I change my post message to poke the gtimeScale propety of the
current player *after* it has been started and is running for
sometime... OK, now it it does seem to read the time scale... but,
click the back up or forward or pick up from last sesson buttons just
stops the... OK finally I think I have the gremlin:
A button which picks up from last session has this script:
global gTimeScale
on mouseUp
start player "theTape"
set the currentTime of player "theTape" to fld "saveTime"
put the timescale of player "theTape" into gTimeScale
send insertAudioDuration to this stack in 2 secs
send postTime to this stack in 2 seconds
end mouseUp
it does nothing. the player is not started...
so the culprit I conclude now to be:
On windows: setting the currenttime of a player, stops it , and if you
start it again, it resets the currentTime of the player to zero and
starts playing from the beginning.
can any help from out windows QT wizards?
Sannyasin Sivakatirswami
Himalayan Academy Publications
at Kauai's Hindu Monastery
katir at hindu.org
www.HimalayanAcademy.com,
www.HinduismToday.com
www.Gurudeva.org
www.Hindu.org
More information about the use-livecode
mailing list