I've looked at it and it seems possible if somebody had the kind of time
required to make such changes happen. I'm not sure my skills in this area
are equal to the task at hand though. FYI there is also a talking clock
program available on the programs page that works much the same as the clock
scripts.
David Ferrin
personal email address
[EMAIL PROTECTED]
Consciousness is that annoying time between naps.
----- Original Message -----
From: "Demetry" <[EMAIL PROTECTED]>
To: "Jaws Users" <[email protected]>
Sent: Thursday, December 07, 2006 9:25 AM
Subject: [JAWS-Users] Jaws script: Cuckoo Clock?
Hi scripters in the list,
I downloaded the script "Cuckoo Clock" from Jaws-Users web site.
How can I modify script in such a way that instead of the 12 hours rhythm
generally is also 24 hours possible? Because starting from 13 o'clock (1
PM) to 23 o'clock (11 PM) chimes the cuckoo also so long. And with 24
o'clock (12 AM) runs then a continuous loop. Please, can someone help me?
-----
Include "hjConst.jsh"
Include "Cuckoo.jsm"
Include "Cuckoo.jsh"
Void Function AutoStartEvent ()
Let GlobalCuckooSound15 = IniReadString (CuckooSettings, CuckooSound15,
DefaultSound15, CuckooIniFile)
Let GlobalCuckooSound30 = IniReadString (CuckooSettings, CuckooSound30,
DefaultSound30, CuckooIniFile)
Let GlobalCuckooSound60 = IniReadString (CuckooSettings, CuckooSound60,
DefaultSound60, CuckooIniFile)
Let GlobalCuckooDelay15 = IniReadInteger (CuckooSettings, CuckooDelay15,
DefaultDelay15, CuckooIniFile)
Let GlobalCuckooDelay30 = IniReadInteger (CuckooSettings, CuckooDelay30,
DefaultDelay30, CuckooIniFile)
Let GlobalCuckooDelay60 = IniReadInteger (CuckooSettings, CuckooDelay60,
DefaultDelay60, CuckooIniFile)
Let GlobalCuckooEpoch = IniReadInteger (CuckooSettings, CuckooState, 0,
CuckooIniFile)
Let GlobalCuckooEventHandle = 0
Let GlobalCuckooCalls = 0
If (GlobalCuckooEpoch) Then
CuckooEvent()
EndIf
EndFunction
Script SetCuckooClock ()
Var
Int nChoice
Let nChoice = DlgSelectItemInList (TimeIntervalMenu,
TimeIntervalDialogTitle, False)
SpeechOff()
Delay(1)
Pause()
SpeechOn()
If (nChoice == 1) Then
Let GlobalCuckooEpoch = 15
EndIf
If (nChoice == 2) then
Let GlobalCuckooEpoch = 30
EndIf
If (nChoice == 3) then
Let GlobalCuckooEpoch = 60
EndIf
If (nChoice == 4) then
Let GlobalCuckooEpoch = 0
If (GlobalCuckooEventHandle) then
UnScheduleFunction (GlobalCuckooEventHandle)
EndIf
EndIf
; If the user does not select a menu item, exit
If (!nChoice) then
Return
EndIf
; Save the new setting in the .ini file
IniWriteInteger (CuckooSettings, CuckooState, GlobalCuckooEpoch,
CuckooIniFile)
; If GlobalEpoch is positive, fire the CuckooEvent function.
If (GlobalCuckooEpoch) then
CuckooEvent()
EndIf
PerformScript SayCuckooState()
EndScript
Script SayCuckooState ()
If (!GlobalCuckooEpoch) then
SayMessage(OT_JAWS_MESSAGE, CuckooMSG2, " ")
Say(CuckooMSG3, OT_NO_DISABLE)
Else
SayMessage(OT_JAWS_MESSAGE, CuckooMSG4, " ")
Say(IntToString(GlobalCuckooEpoch) + CuckooMSG5, OT_NO_DISABLE)
EndIf
EndScript
Void Function CuckooEvent ()
Var
Int nMinutes,
Int nScheduleTime
If (!GlobalCuckooEpoch) then ; if the cuckoo chimes are turned off, bail out
Return
EndIf
Let nScheduleTime = 0
Let nMinutes = StringToInt(StringSegment(SysGetTime(), ":", 2)) ; get the
minutes
; Deal with chiming on a quarter to and a quarter past the hour
If ((nMinutes == 15 || nMinutes == 45) && GlobalCuckooEpoch == 15) then
PlaySound(GetJAWSSettingsDirectory() + cscDoubleBackslash +
globalCuckooSound15)
ScheduleFunction("CuckooAnnounceTime", GlobalCuckooDelay15 + 5)
Let nScheduleTime = 60 * (GlobalCuckooEpoch - 1)
EndIf
; Deal with chiming on the halfhour
If (nMinutes == 30 && GlobalCuckooEpoch <= 30) then
PlaySound(GetJAWSSettingsDirectory() + cscDoubleBackslash +
globalCuckooSound30)
ScheduleFunction("CuckooAnnounceTime", GlobalCuckooDelay30 + 5)
Let nScheduleTime = 60 * (GlobalCuckooEpoch - 1)
EndIf
; Deal with chiming on the hour
If (nMinutes == 0 && GlobalCuckooEpoch <= 60) then
Let GlobalCuckooCalls = StringToInt(StringSegment(SysGetTime(), ":",
1))
ScheduleFunction("CuckooAnnounceTime", 0)
ScheduleFunction("CuckooCall", 10)
Let nScheduleTime = 60 * (GlobalCuckooEpoch - 1)
EndIf
If (nScheduleTime == 0) then ; if no chiming has been done during this
cuckoo event, decide when to schedule the next event
If (nMinutes % GlobalCuckooEpoch == GlobalCuckooEpoch - 1) then ; if
within one minute of playing chimes
Let nScheduleTime = 5 ; schedule the next event for half a
second in the future
else ; else schedule the next event for within one minute of the
next time at which the chimes should be sounded
Let nScheduleTime = 600 * (GlobalCuckooEpoch - 1 - (nMinutes
% GlobalCuckooEpoch))
EndIf
EndIf
; Schedule the next time CuckooEvent should be run to check the time
Let GlobalCuckooEventHandle = ScheduleFunction ("CuckooEvent",
nScheduleTime)
EndFunction
Void Function CuckooCall ()
PlaySound(GetJAWSSettingsDirectory() + cscDoubleBackslash +
GlobalCuckooSound60)
Let GlobalCuckooCalls = GlobalCuckooCalls - 1
If (GlobalCuckooCalls) then
ScheduleFunction("CuckooCall", GlobalCuckooDelay60)
EndIf
EndFunction
Void Function CuckooAnnounceTime ()
SayUsingVoice(VCTX_MESSAGE, CuckooMSG1 + SysGetTime(), OT_NO_DISABLE)
EndFunction
-----
Thank you very much in advance for your assistance!
Demetry.
--~--~---------~--~----~------------~-------~--~----~
Visit the JAWS Users List home page at:
http://www.jaws-users.com
You received this message because you are subscribed to the Google Groups
"JAWS Users List" group.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/jaws-users-list?hl=en
-~----------~----~----~----~------~----~------~--~---