\ File: SpkTime.spf \ Author: Serg Biryukov (2:5084/30) \ Date: 31.10.03 \ Description: Speaks current time in different languages and \ miscellaneous style. \ Words: SpkTime \ Modifiers: SPK-DEFAULT \ SPK-ECHO \ SPK-ENGLISH \ SPK-RUSSIAN \ SPK-SERG \ Usage: Download zip-file with available wav-files \ (http://www.nncron.ru/download/plugins/sounds.zip) and \ extract it to nnCron plugins folder. There are several \ pre-recorded wav-files sets distributed with this \ pluguin: RUSSIAN, ENGLISH, ECHO (RUSSIAN with some echo \ added), and SERG (pygmy voice in Russian). \ Use SPK-DEFAULT modifier (or no modifier at all) to \ play wav-files from 'plugins\sounds' directory, \ SPK-ECHO - to play wav-files from \ 'plugins\sounds\echo' directory, SPK-ENGLISH - to play \ wav-files from 'plugins\sounds\english' etc... 0 [IF] \ this is a comment string Examples: #( Speak_Clock \ speaking the time every hour using default style \ (wav-files, that are located in 'plugins\sounds') Time: 0 Action: SpkTime )# #( Speak_Clock1 \ speaking the time every 30 minutes using English style \ (wav-files, that are located in 'plugins\sounds\english') Time: 0,30 Action: SPK-ENGLISH SpkTime )# [THEN] \ this is a comment string 0 VALUE _Hour 0 VALUE _Min VECT SpkType : SPK-DEFAULT [NONAME S" " NONAME] TO SpkType ; : SPK-ECHO [NONAME S" \ECHO" NONAME] TO SpkType ; : SPK-ENGLISH [NONAME S" \ENGLISH" NONAME] TO SpkType ; : SPK-RUSSIAN [NONAME S" \RUSSIAN" NONAME] TO SpkType ; : SPK-SERG [NONAME S" \SERG" NONAME] TO SpkType ; SPK-DEFAULT : SpkDir S" plugins\Sounds%SpkType%" EVAL-SUBST ; : SpkTime GET-CUR-TIME Hour@ TO _Hour _Hour 20 > IF 10 _Hour 10 / * TO _Hour PLAY-SOUNDW: "%SpkDir%\%_Hour%.WAV" Hour@ 10 MOD TO _Hour THEN _Hour 1 = _Hour 2 = OR IF PLAY-SOUNDW: "%SpkDir%\%_Hour%h.WAV" ELSE PLAY-SOUNDW: "%SpkDir%\%_Hour%.WAV" THEN _Hour 1 = IF PLAY-SOUNDW: "%SpkDir%\Hour.WAV" ELSE _Hour 4 > _Hour 0 = OR IF PLAY-SOUNDW: "%SpkDir%\Hours.WAV" ELSE PLAY-SOUNDW: "%SpkDir%\Hour2.WAV" THEN THEN Min@ TO _Min _Min 20 > IF 10 _Min 10 / * TO _Min PLAY-SOUNDW: "%SpkDir%\%_Min%.WAV" Min@ 10 MOD TO _Min 25 TO _Hour THEN _Min 1 = _Min 2 = OR IF PLAY-SOUNDW: "%SpkDir%\%_Min%m.WAV" ELSE _Min 0 = _Hour 25 = AND IF ELSE PLAY-SOUNDW: "%SpkDir%\%_Min%.WAV" THEN THEN _Min 1 = IF PLAY-SOUNDW: "%SpkDir%\Minute.WAV" ELSE _Min 4 > _Min 0 = OR IF PLAY-SOUNDW: "%SpkDir%\Minutes.WAV" ELSE PLAY-SOUNDW: "%SpkDir%\Minute2.WAV" THEN THEN ;