home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-01-11 | 25.3 KB | 1,242 lines |
- ;
- ; Narrator tester V1.01
- ; (c) 1993 by Jan Hagqvist
- ;
- ; V0.02 23-June-1993
- ; V0.03 24-June-1993
- ; V0.04 25-June-1993
- ; V1.00 26-June-1993
- ; V1.01 27-June-1993
- ;
-
-
- XREF _LVOOpenLibrary
- XREF _LVOCloseLibrary
- XREF _LVOCreateMsgPort
- XREF _LVODeleteMsgPort
- XREF _LVOCreateIORequest
- XREF _LVODeleteIORequest
- XREF _LVOOpenDevice
- XREF _LVOCloseDevice
- XREF _LVODoIO
- XREF _LVOOpenWindow
- XREF _LVOCloseWindow
- XREF _LVORefreshGList
- XREF _LVOActivateGadget
- XREF _LVOWaitPort
- XREF _LVOGT_GetIMsg
- XREF _LVOGT_ReplyIMsg
- XREF _LVOSendIO
- XREF _LVOTranslate
- XREF _LVOCreateGadgetA
- XREF _LVOFreeGadgets
- XREF _LVOGetVisualInfoA
- XREF _LVOOpenWorkBench
- XREF _LVOCreateContext
- XREF _LVOAddGList
- XREF _LVORemoveGList
- XREF _LVOGT_RefreshWindow
- XREF _LVOFreeVisualInfo
- XREF _LVOGT_SetGadgetAttrsA
- XREF _LVOFindTask
- XREF _LVOGetMsg
- XREF _LVOReplyMsg
-
-
- BUTTON_KIND equ 1
- CYCLE_KIND equ 7
- SLIDER_KIND equ 11
- STRING_KIND equ 12
- PLACETEXT_LEFT equ $1
- PLACETEXT_RIGHT equ $2
- PLACETEXT_ABOVE equ $4
- PLACETEXT_BELOW equ $8
- PLACETEXT_IN equ $10
- NG_HIGHLABEL equ $20
- GT_Underscore equ $80080040
- GT_VisualInfo equ $80080034
- GTMX_Active equ $8008000a
- GTMX_Labels equ $80080009
- GTMX_Spacing equ $8008003d
- GTCY_Labels equ $8008000e
- GTCY_Active equ $8008000f
- GTST_MaxChars equ $8008002e
- GTSL_Min equ $80080026
- GTSL_Max equ $80080027
- GTSL_Level equ $80080028
- GTSL_MaxLevelLen equ $80080029
- GTSL_LevelFormat equ $8008002a
- GTSL_LevelPlace equ $8008002b
- GTSL_DispFunc equ $8008002c
- GA_Disabled equ $8003000e
- GA_Immediate equ $80030015
- GA_RelVerify equ $80030016
- TAG_DONE equ $0
-
- CMD_WRITE equ 3
- NDF_NEWIORB equ 1
-
- io_Command equ 28
- io_Length equ 36
- io_Data equ 40
- rate equ 48
- pitch equ 50
- mode equ 52
- sex equ 54
- ch_masks equ 56
- nm_masks equ 60
- volume equ 62
- flags equ 69
- F0enthusiasm equ 70
- F0perturb equ 71
- F1adj equ 72
- F2adj equ 73
- F3adj equ 74
- A1adj equ 75
- A2adj equ 76
- A3adj equ 77
- articulate equ 78
- centralize equ 79
- centphon equ 80
- AVbias equ 84
- AFbias equ 85
-
- IDCMP_MOUSEMOVE equ $10
- IDCMP_GADGETDOWN equ $20
- IDCMP_GADGETUP equ $40
- IDCMP_CLOSEWINDOW equ $200
- WFLG_SMART_REFRESH equ $0
- WFLG_DRAGBAR equ $2
- WFLG_DEPTHGADGET equ $4
- WFLG_CLOSEGADGET equ $8
- WFLG_ACTIVATE equ $1000
-
- GFLG_GADGHCOMP equ $0000
- GFLG_SELECTED equ $0080
- GACT_STRINGLEFT equ $0000
- GACT_RELVERIFY equ $0001
- GACT_TOGGLESELECT equ $0100
- GTYP_BOOLGADGET equ $0001
- GTYP_STRGADGET equ $0004
- JAM1 equ 0
- WBENCHSCREEN equ 1
- NATURALF0 equ 0
- ROBOTICF0 equ 1
- MANUALF0 equ 2
- MALE equ 0
- FEMALE equ 1
- pr_MsgPort equ 92
- pr_CLI equ 172
-
- NarTest
- move.l 4,a6 ; Check if we're run from WB
- sub.l a1,a1
- jsr _LVOFindTask(a6)
- move.l d0,a4
- tst.l pr_CLI(a4) ; CLI or WB?
- bne.s NoWorkbench
- lea pr_MsgPort(a4),a0
- jsr _LVOWaitPort(a6) ; Wait for message
- lea pr_MsgPort(a4),a0
- jsr _LVOGetMsg(a6) ; Get it
- move.l d0,WorkbenchMsg ; Store it
- NoWorkbench
- jsr _LVOCreateMsgPort(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,NarratorPort
- move.l d0,a0
- moveq.l #88,d0
- jsr _LVOCreateIORequest(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,NarratorRequest
- move.l d0,a1
- move.b #NDF_NEWIORB,flags(a1) ; use the new fields
- lea NarratorName(pc),a0
- moveq.l #0,d0
- move.l d0,d1
- jsr _LVOOpenDevice(a6)
- cmp.l #0,d0
- bne Quit
- lea IntuitionName(pc),a1
- moveq.l #37,d0
- jsr _LVOOpenLibrary(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,IntuitionBase
- lea TranslatorName(pc),a1
- moveq.l #0,d0
- jsr _LVOOpenLibrary(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,TranslatorBase
- lea GadToolsName(pc),a1
- moveq.l #0,d0
- jsr _LVOOpenLibrary(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,GadToolsBase
-
- move.l IntuitionBase(pc),a6
- lea NewWindow(pc),a0
- jsr _LVOOpenWindow(a6)
- cmp.l #0,d0
- beq Quit
- move.l d0,NarWindow
- move.l d0,a0
- move.l 50(a0),NarRastPort
- move.l 62(a0),FirstGadget
- move.l 86(a0),NarUserPort
-
- move.l IntuitionBase(pc),a6
- jsr _LVOOpenWorkBench(a6)
- move.l d0,WBScreen
- move.l #0,GList
- move.l GadToolsBase(pc),a6
- lea GList(pc),a0
- jsr _LVOCreateContext(a6)
- move.l d0,LastGadget
- move.l WBScreen(pc),a0
- sub.l a1,a1
- jsr _LVOGetVisualInfoA(a6)
- move.l d0,VisualInfo
-
- move.l NarratorRequest(pc),a1
- move.w mode(a1),InitialMode
- move.w sex(a1),InitialSex
- move.w volume(a1),InitialVolume
- move.w rate(a1),InitialRate
- move.w pitch(a1),InitialPitch
- move.b centralize(a1),InitialCentralize
- move.b articulate(a1),InitialArticulate
- move.l NarratorRequest(pc),a5
-
- move.l VisualInfo(pc),TextVisual ; Create Text-gadget
- lea TextGadget(pc),a1
- lea TextGadgetTags(pc),a2
- bsr CreateString
- move.l d0,TextBase
- move.l (a0),TextBuffer
-
- move.l VisualInfo(pc),TextVisual2 ; Create Phonetic-gadget
- lea TextGadget2(pc),a1
- lea TextGadget2Tags(pc),a2
- bsr CreateString
- move.l d0,TextBase2
- move.l (a0),TextBuffer2
-
- move.l VisualInfo(pc),ModeVisual ; Create Mode-gadget
- lea ModeGadget(pc),a1
- lea ModeGadgetTags(pc),a2
- bsr CreateCycle
- move.l d0,ModeBase
-
- move.l VisualInfo(pc),SexVisual ; Create Sex-gadget
- lea SexGadget(pc),a1
- lea SexGadgetTags(pc),a2
- bsr CreateCycle
- move.l d0,SexBase
-
- move.l VisualInfo(pc),VolumeVisual ; Create Volume-gadget
- lea VolumeGadget(pc),a1
- lea VolumeGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,VolumeBase
-
- move.l VisualInfo(pc),RateVisual ; Create Rate-gadget
- lea RateGadget(pc),a1
- lea RateGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,RateBase
-
- move.l VisualInfo(pc),PitchVisual ; Create Pitch-gadget
- lea PitchGadget(pc),a1
- lea PitchGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,PitchBase
-
- move.b F0enthusiasm(a5),InitialF0
- move.l VisualInfo(pc),F0EnthusiasmVisual ; Create F0Enthusiasm-gadget
- lea F0EnthusiasmGadget(pc),a1
- lea F0GadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,F0EnthusiasmBase
-
- move.b F0perturb(a5),InitialF0
- move.l VisualInfo(pc),F0PerturbVisual ; Create F0Perturb-gadget
- lea F0PerturbGadget(pc),a1
- lea F0GadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,F0PerturbBase
-
- move.b F1adj(a5),InitialF123Adj
- move.l VisualInfo(pc),F1AdjVisual ; Create F1Adj-gadget
- lea F1AdjGadget(pc),a1
- lea F123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,F1AdjBase
-
- move.b F2adj(a5),InitialF123Adj
- move.l VisualInfo(pc),F2AdjVisual ; Create F2Adj-gadget
- lea F2AdjGadget(pc),a1
- lea F123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,F2AdjBase
-
- move.b F3adj(a5),InitialF123Adj
- move.l VisualInfo(pc),F3AdjVisual ; Create F3Adj-gadget
- lea F3AdjGadget(pc),a1
- lea F123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,F3AdjBase
-
- move.b A1adj(a5),InitialA123Adj
- move.l VisualInfo(pc),A1AdjVisual ; Create A1Adj-gadget
- lea A1AdjGadget(pc),a1
- lea A123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,A1AdjBase
-
- move.b A2adj(a5),InitialA123Adj
- move.l VisualInfo(pc),A2AdjVisual ; Create A2Adj-gadget
- lea A2AdjGadget(pc),a1
- lea A123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,A2AdjBase
-
- move.b A1adj(a5),InitialA123Adj
- move.l VisualInfo(pc),A3AdjVisual ; Create A3Adj-gadget
- lea A3AdjGadget(pc),a1
- lea A123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,A3AdjBase
-
- move.b AVbias(a5),InitialA123Adj
- move.l VisualInfo(pc),AVBiasVisual ; Create AVBias-gadget
- lea AVBiasGadget(pc),a1
- lea A123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,AVBiasBase
-
- move.b AFbias(a5),InitialA123Adj
- move.l VisualInfo(pc),AFBiasVisual ; Create AFBias-gadget
- lea AFBiasGadget(pc),a1
- lea A123AdjGadgetTags(pc),a2
- bsr CreateSlider
- move.l d0,AFBiasBase
-
- move.l VisualInfo(pc),CentralizeVisual ; Create Centralize-gadget
- lea CentralizeGadget(pc),a1
- lea CentralizeGadgetTags(pc),a2
- bsr.s CreateSlider
- move.l d0,CentralizeBase
-
- move.l VisualInfo(pc),CentphonVisual ; Create Centphon-gadget
- lea CentphonGadget(pc),a1
- lea CentphonGadgetTags(pc),a2
- bsr.s CreateCycle
- move.l d0,CentphonBase
-
- move.l VisualInfo(pc),ArticulateVisual ; Create Articulate-gadget
- lea ArticulateGadget(pc),a1
- lea ArticulateGadgetTags(pc),a2
- bsr.s CreateSlider
- move.l d0,ArticulateBase
-
- move.l VisualInfo(pc),ResetVisual ; Create Reset-gadget
- moveq.l #BUTTON_KIND,d0
- move.l LastGadget(pc),a0
- lea ResetGadget(pc),a1
- sub.l a2,a2
- jsr _LVOCreateGadgetA(a6)
- move.l d0,LastGadget
- move.l d0,ResetBase
- bra.s GadgetsCreated
-
- CreateSlider
- moveq.l #SLIDER_KIND,d0
- bsr.s CreateGadget
- rts
-
- CreateCycle
- moveq.l #CYCLE_KIND,d0
- bsr.s CreateGadget
- rts
-
- CreateString
- moveq.l #STRING_KIND,d0
- bsr.s CreateGadget
- move.l d0,a0
- move.l 34(a0),a0
- rts
-
- CreateGadget
- move.l LastGadget(pc),a0
- jsr _LVOCreateGadgetA(a6)
- move.l d0,LastGadget
- rts
-
- GadgetsCreated
- move.l IntuitionBase(pc),a6
- move.l NarWindow(pc),a0
- move.l GList(pc),a1
- move.l #-1,d0
- move.l #-1,d1
- sub.l a2,a2
- jsr _LVOAddGList(a6)
- move.l TextBase(pc),a0
- move.l NarWindow(pc),a1
- sub.l a2,a2
- jsr _LVOActivateGadget(a6)
- bsr RefreshGadgets
- move.l GadToolsBase(pc),a6
- move.l NarWindow(pc),a0
- sub.l a1,a1
- jsr _LVOGT_RefreshWindow(a6)
-
- move.l 4,a6
- move.l NarratorRequest(pc),a1
- move.w #CMD_WRITE,io_Command(a1)
- lea WelcomeText(pc),a0
- move.l a0,io_Data(a1)
- bsr StrLen
- move.l d0,io_Length(a1)
- lea AudioChan(pc),a0
- move.l a0,ch_masks(a1)
- move.w #4,nm_masks(a1)
- move.w #140,rate(a1)
- jsr _LVODoIO(a6)
-
- SetValues
- move.l NarratorRequest(pc),a1
- move.l TextBuffer2(pc),a0
- move.l a0,io_Data(a1)
- lea Values,a0
- SetValues2
- move.b (a1)+,(a0)+
- cmp.l #ValuesEnd,a0
- bne.s SetValues2
-
- WaitForMessage
- move.l 4,a6
- move.l NarUserPort(pc),a0
- jsr _LVOWaitPort(a6) ; Wait for a message
- WaitForMessage2
- move.l GadToolsBase,a6
- move.l NarUserPort(pc),a0 ; Got it
- jsr _LVOGT_GetIMsg(a6)
- move.l d0,a1
- cmp.l #0,d0
- beq.s WaitForMessage ; What? No Message?!
- WaitForMessage2.1
- move.l 20(a1),Class
- move.w 24(a1),Code
- move.w 26(a1),Qualifier
- move.l 28(a1),IAddress
- jsr _LVOGT_ReplyIMsg(a6)
- WaitForMessage3
- cmp.l #IDCMP_CLOSEWINDOW,Class
- bne.s WaitForMessage4
- bra.s Quit
- WaitForMessage4
- cmp.l #IDCMP_GADGETUP,Class
- bne.s WaitForMessage5
- move.l IAddress(pc),a4
- move.l 40(a4),a3
- move.l NarratorRequest(pc),a1
- jsr (a3)
- bra WaitForMessage2
- WaitForMessage5
- bra WaitForMessage2
-
-
- Quit
- move.l IntuitionBase(pc),a6
- move.l NarWindow(pc),a0
- cmp.l #0,a0
- beq.s Quit9
- move.l GList(pc),a1
- cmp.l #0,a1
- beq.s Quit9
- move.l #-1,d0
- jsr _LVORemoveGList(a6)
- Quit9
- move.l GadToolsBase(pc),a6
- cmp.l #0,a6
- beq.s Quit8
- move.l GList(pc),a0
- jsr _LVOFreeGadgets(a6)
- move.l VisualInfo(pc),a0
- jsr _LVOFreeVisualInfo(a6)
- Quit8
- move.l IntuitionBase(pc),a6
- move.l NarWindow(pc),a0
- cmp.l #0,a0
- beq.s Quit5
- jsr _LVOCloseWindow(a6)
- Quit5
- move.l 4,a6
- move.l GadToolsBase(pc),a1
- cmp.l #0,a1
- beq.s Quit7
- jsr _LVOCloseLibrary(a6)
- Quit7
- move.l TranslatorBase(pc),a1
- cmp.l #0,a1
- beq.s Quit6
- jsr _LVOCloseLibrary(a6)
- Quit6
- move.l IntuitionBase(pc),a1
- cmp.l #0,a1
- beq.s Quit4
- jsr _LVOCloseLibrary(a6)
- Quit4
- move.l NarratorRequest(pc),a1
- cmp.l #0,a1
- beq.s Quit2
- jsr _LVOCloseDevice(a6)
- move.l NarratorRequest(pc),a0
- jsr _LVODeleteIORequest(a6)
- Quit2
- move.l NarratorPort(pc),a0
- cmp.l #0,a0
- beq.s Quit3
- jsr _LVODeleteMsgPort(a6)
- Quit3
- move.l WorkbenchMsg(pc),a1
- cmp.l #0,a1
- bne.s WBQuit ; We were started from WB
- moveq.l #0,d0
- rts ; Exit to CLI
-
- WBQuit
- move.l 4,a6
- jsr _LVOReplyMsg(a6)
- rts ; Exit to WB
-
- RefreshGadgets
- movem.l a0-a6/d0-d7,-(sp)
- move.l IntuitionBase(pc),a6
- move.l GList(pc),a0
- move.l NarWindow(pc),a1
- sub.l a2,a2
- move.l #-1,d0
- jsr _LVORefreshGList(a6)
- movem.l (sp)+,a0-a6/d0-d7
- rts
-
- ConvertString
- move.l TextBuffer(pc),a0
- bsr UpperCase
- bsr.s ClearBuffer2
- move.l TranslatorBase(pc),a6
- move.l TextBuffer(pc),a0
- move.l TextBuffer2(pc),a1
- move.l #200,d0
- move.l #800,d1
- jsr _LVOTranslate(a6)
- bsr RefreshGadgets
- bsr TextActivate
- bsr.s Say
- rts
-
- ConvertString2
- move.l TextBuffer2(pc),a0
- bsr UpperCase
- bsr RefreshGadgets
- move.l IntuitionBase(pc),a6
- move.l TextBase2(pc),a0
- move.l NarWindow(pc),a1
- sub.l a2,a2
- jsr _LVOActivateGadget(a6)
- bsr.s Say
- rts
-
- Say
- move.l 4,a6
- move.l NarratorRequest(pc),a1
- move.w #CMD_WRITE,io_Command(a1)
- move.l TextBuffer2(pc),a0
- bsr StrLen
- move.l d0,io_Length(a1)
- jsr _LVODoIO(a6)
- rts
-
- ClearBuffer2
- move.l TextBuffer2(pc),a0
- moveq.l #0,d0
- ClearBuffer2.2
- move.b #0,(a0)+
- addq.l #1,d0
- cmp.w #800,d0
- bne.s ClearBuffer2.2
- rts
-
- SetMode
- move.w Code(pc),mode(a1)
- bsr TextActivate
- rts
-
- SetSex
- move.w Code(pc),sex(a1)
- bsr TextActivate
- rts
-
- SetVolume
- move.w Code(pc),volume(a1)
- bsr TextActivate
- rts
-
- SetRate
- move.w Code(pc),rate(a1)
- bsr TextActivate
- rts
-
- SetPitch
- move.w Code(pc),pitch(a1)
- bsr TextActivate
- rts
-
- SetF0Enthusiasm
- move.w Code(pc),d0
- move.b d0,F0enthusiasm(a1)
- bsr TextActivate
- rts
-
- SetF0Perturb
- move.w Code(pc),d0
- move.b d0,F0perturb(a1)
- bsr TextActivate
- rts
-
- SetF1Adj
- move.w Code(pc),d0
- move.b d0,F1adj(a1)
- bsr TextActivate
- rts
-
- SetF2Adj
- move.w Code(pc),d0
- move.b d0,F2adj(a1)
- bsr TextActivate
- rts
-
- SetF3Adj
- move.w Code(pc),d0
- move.b d0,F3adj(a1)
- bsr TextActivate
- rts
-
- SetA1Adj
- move.w Code(pc),d0
- move.b d0,A1adj(a1)
- bsr TextActivate
- rts
-
- SetA2Adj
- move.w Code(pc),d0
- move.b d0,A2adj(a1)
- bsr TextActivate
- rts
-
- SetA3Adj
- move.w Code(pc),d0
- move.b d0,A3adj(a1)
- bsr TextActivate
- rts
-
- SetAVBias
- move.w Code(pc),d0
- move.b d0,AVbias(a1)
- bsr TextActivate
- rts
-
- SetAFBias
- move.w Code(pc),d0
- move.b d0,AFbias(a1)
- bsr TextActivate
- rts
-
- SetCentralize
- move.w Code(pc),d0
- move.b d0,centralize(a1)
- bsr TextActivate
- rts
-
- SetCentphon
- lea CentphonNone(pc),a0
- moveq.l #0,d0
- move.w Code(pc),d0
- asl.l #2,d0
- add.l d0,a0
- move.l a0,centphon(a1)
- bsr TextActivate
- rts
-
- SetArticulate
- move.w Code(pc),d0
- move.b d0,articulate(a1)
- bsr TextActivate
- rts
-
- ResetValues
- move.l a1,a5
- lea Values,a0
- ResetValues2
- move.b (a0)+,(a1)+
- cmp.l #ValuesEnd,a0
- bne.s ResetValues2
- move.l GadToolsBase(pc),a6
- move.l ModeBase(pc),a0
- move.w mode(a5),CycleValueW
- bsr ResetCycle
- move.l SexBase(pc),a0
- move.w sex(a5),CycleValueW
- bsr ResetCycle
- move.l CentphonBase(pc),a0
- move.w #0,CycleValueW
- bsr ResetCycle
- move.l A1AdjBase(pc),a0
- move.b A1adj(a5),SliderValueB
- bsr ResetSlider
- move.l A2AdjBase(pc),a0
- move.b A2adj(a5),SliderValueB
- bsr ResetSlider
- move.l A3AdjBase(pc),a0
- move.b A3adj(a5),SliderValueB
- bsr ResetSlider
- move.l F1AdjBase(pc),a0
- move.b F1adj(a5),SliderValueB
- bsr ResetSlider
- move.l F2AdjBase(pc),a0
- move.b F2adj(a5),SliderValueB
- bsr ResetSlider
- move.l F3AdjBase(pc),a0
- move.b F3adj(a5),SliderValueB
- bsr ResetSlider
- move.l F0EnthusiasmBase(pc),a0
- move.b F0enthusiasm(a5),SliderValueB
- bsr.s ResetSlider
- move.l F0PerturbBase(pc),a0
- move.b F0perturb(a5),SliderValueB
- bsr.s ResetSlider
- move.l PitchBase(pc),a0
- move.w pitch(a5),SliderValueW
- bsr.s ResetSlider
- move.l RateBase(pc),a0
- move.w rate(a5),SliderValueW
- bsr.s ResetSlider
- move.l AVBiasBase(pc),a0
- move.b AVbias(a5),SliderValueB
- bsr.s ResetSlider
- move.l AFBiasBase(pc),a0
- move.b AFbias(a5),SliderValueB
- bsr.s ResetSlider
- move.l CentralizeBase(pc),a0
- move.b centralize(a5),SliderValueB
- bsr.s ResetSlider
- move.l ArticulateBase(pc),a0
- move.b articulate(a5),SliderValueB
- bsr.s ResetSlider
- bsr TextActivate
- rts
-
- ResetCycle
- move.l NarWindow(pc),a1
- sub.l a2,a2
- lea ResetCycleTags(pc),a3
- jsr _LVOGT_SetGadgetAttrsA(a6)
- rts
-
- ResetSlider
- move.l NarWindow(pc),a1
- sub.l a2,a2
- lea ResetSliderTags(pc),a3
- jsr _LVOGT_SetGadgetAttrsA(a6)
- move.w #0,SliderValueW
- rts
-
- TextActivate
- move.l IntuitionBase(pc),a6
- move.l TextBase(pc),a0
- move.l NarWindow(pc),a1
- sub.l a2,a2
- jsr _LVOActivateGadget(a6)
- rts
-
- StrLen ; in: a0=string, out: d0=length of the string
- movem.l a0,-(sp)
- moveq.l #0,d0
- StrLen2
- cmp.b #0,(a0)+
- beq.s StrLen3
- addq.l #1,d0
- bra.s StrLen2
- StrLen3
- movem.l (sp)+,a0
- rts
-
- UpperCase ; in: a0=string
- movem.l a0,-(sp)
- UpperCase1
- cmp.b #'a',(a0)
- bmi.s UpperCase2
- cmp.b #'z'+1,(a0)
- bpl.s UpperCase2
- sub.b #32,(a0)
- UpperCase2
- cmp.b #0,(a0)+
- bne.s UpperCase1
- movem.l (sp)+,a0
- rts
-
- IntuitionBase dc.l 0
- TranslatorBase dc.l 0
- GadToolsBase dc.l 0
- WorkbenchMsg dc.l 0
- NarWindow dc.l 0
- NarUserPort dc.l 0
- NarRastPort dc.l 0
- NarratorPort dc.l 0
- NarratorRequest dc.l 0
- Code dc.l 0
- Class dc.l 0
- IAddress dc.l 0
- Qualifier dc.l 0
- FirstGadget dc.l 0
- LastGadget dc.l 0
- VisualInfo dc.l 0
- WBScreen dc.l 0
- GList dc.l 0
- TextBuffer dc.l 0
- TextBuffer2 dc.l 0
-
- TextBase dc.l 0
- TextBase2 dc.l 0
- ModeBase dc.l 0
- SexBase dc.l 0
- VolumeBase dc.l 0
- RateBase dc.l 0
- PitchBase dc.l 0
- F0EnthusiasmBase dc.l 0
- F0PerturbBase dc.l 0
- F1AdjBase dc.l 0
- F2AdjBase dc.l 0
- F3AdjBase dc.l 0
- A1AdjBase dc.l 0
- A2AdjBase dc.l 0
- A3AdjBase dc.l 0
- AVBiasBase dc.l 0
- AFBiasBase dc.l 0
- CentralizeBase dc.l 0
- CentphonBase dc.l 0
- ArticulateBase dc.l 0
- ResetBase dc.l 0
-
- NewWindow dc.w 30,30,420,165
- dc.b 0,1
- dc.l IDCMP_GADGETUP!IDCMP_CLOSEWINDOW!IDCMP_MOUSEMOVE!IDCMP_GADGETDOWN
- dc.l WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- dc.l 0,0,NarWindowName,0,0
- dc.w 420,165,420,165,WBENCHSCREEN
-
- IntuitionName dc.b 'intuition.library',0
- TranslatorName dc.b 'translator.library',0
- GadToolsName dc.b 'gadtools.library',0
- NarratorName dc.b 'narrator.device',0
- Font0Name dc.b 'topaz.font',0
-
- VolumeString dc.b '%02ld',0
- RateString dc.b '%03ldwpm',0
- PitchString dc.b '%03ldHz',0
- TriNumberString dc.b '%03ld',0
- SignedBiNumberString dc.b '%3ld',0
- VersionString dc.b '$VER: '
- NarWindowName dc.b 'Narrator tester V1.01 27-June-1993',0
- TextName dc.b 'English: ',0
- TextName2 dc.b 'Phonetic:',0
- ModeName dc.b 'Mode',0
- SexName dc.b 'Sex',0
- VolumeName dc.b 'Volume',0
- RateName dc.b 'Rate ',0
- PitchName dc.b 'Pitch',0
- F0EnthusiasmName dc.b 'F0enthus ',0
- F0PerturbName dc.b 'F0perturb',0
- F1AdjName dc.b 'F1adj',0
- F2AdjName dc.b 'F2adj',0
- F3AdjName dc.b 'F3adj',0
- A1AdjName dc.b 'A1adj',0
- A2AdjName dc.b 'A2adj',0
- A3AdjName dc.b 'A3adj',0
- AVBiasName dc.b 'AVBias',0
- AFBiasName dc.b 'AFBias',0
- CentralizeName dc.b 'Centralize',0
- CentphonName dc.b 'Centphon',0
- ArticulateName dc.b 'Articulate',0
- ResetName dc.b 'Reset Values',0
- AudioChan dc.b 3,5,10,12
- WelcomeText dc.b 'WEH4LKAHM TUW NAE2RAETER TEH4STER. '
- dc.b 'DHIHS IHZ VER4SHUN WAHN POYNT '
- dc.b 'ZIYROW WAHN.',0
-
- ModeNatural dc.b 'Natural',0
- ModeRobotic dc.b 'Robotic',0
- ModeManual dc.b 'Manual',0
- SexMale dc.b 'Male',0
- SexFemale dc.b 'Female',0
-
- ds.l 0
-
- CentphonNone dc.b 0,0,0,0
- CentphonIY dc.b 'IY',0,0
- CentphonIH dc.b 'IH',0,0
- CentphonEH dc.b 'EH',0,0
- CentphonAE dc.b 'AE',0,0
- CentphonAA dc.b 'AA',0,0
- CentphonAH dc.b 'AH',0,0
- CentphonAO dc.b 'AO',0,0
- CentphonOW dc.b 'OW',0,0
- CentphonUH dc.b 'UH',0,0
- CentphonER dc.b 'ER',0,0
- CentphonUW dc.b 'UW',0,0
-
- Font0
- dc.l Font0Name
- dc.w 8
- dc.b 0,1
-
- TextGadget ; GADGETUP
- dc.w 85,15,320,12
- dc.l TextName,Font0
- dc.w 1000
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- TextVisual
- dc.l 0,ConvertString
-
- TextGadgetTags
- dc.l GTST_MaxChars,200
- dc.l TAG_DONE
-
- TextGadget2 ; GADGETUP
- dc.w 85,30,320,12
- dc.l TextName2,Font0
- dc.w 1001
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- TextVisual2
- dc.l 0,ConvertString2
-
- TextGadget2Tags
- dc.l GTST_MaxChars,800
- dc.l TAG_DONE
-
- ModeGadget
- dc.w 46,45,88,12
- dc.l ModeName,Font0
- dc.w 1002
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- ModeVisual
- dc.l 0,SetMode
-
- ModeGadgetTags
- dc.l GTCY_Labels,ModeLabels
- dc.l GTCY_Active
- dc.w 0
- InitialMode
- dc.w 0
- dc.l TAG_DONE
-
- ModeLabels
- dc.l ModeNatural,ModeRobotic,ModeManual,0
-
- SexGadget
- dc.w 170,45,80,12
- dc.l SexName,Font0
- dc.w 1003
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- SexVisual
- dc.l 0,SetSex
-
- SexGadgetTags
- dc.l GTCY_Labels,SexLabels
- dc.l GTCY_Active
- dc.w 0
- InitialSex
- dc.w 0
- dc.l TAG_DONE
-
- SexLabels
- dc.l SexMale,SexFemale,0
-
- VolumeGadget
- dc.w 308,45,84,12
- dc.l VolumeName,Font0
- dc.w 1004
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- VolumeVisual
- dc.l 0,SetVolume
-
- VolumeGadgetTags
- dc.l GTSL_Min,0
- dc.l GTSL_Max,64
- dc.l GTSL_MaxLevelLen,2
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,VolumeString
- dc.l GTSL_Level
- dc.w 0
- InitialVolume
- dc.w 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- RateGadget
- dc.w 264,105,96,12
- dc.l RateName,Font0
- dc.w 1005
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- RateVisual
- dc.l 0,SetRate
-
- RateGadgetTags
- dc.l GTSL_Min,40
- dc.l GTSL_Max,400
- dc.l GTSL_MaxLevelLen,6
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,RateString
- dc.l GTSL_Level
- dc.w 0
- InitialRate
- dc.w 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- PitchGadget
- dc.w 264,90,96,12
- dc.l PitchName,Font0
- dc.w 1006
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- PitchVisual
- dc.l 0,SetPitch
-
- PitchGadgetTags
- dc.l GTSL_Min,65
- dc.l GTSL_Max,320
- dc.l GTSL_MaxLevelLen,5
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,PitchString
- dc.l GTSL_Level
- dc.w 0
- InitialPitch
- dc.w 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- F0EnthusiasmGadget
- dc.w 85,90,90,12
- dc.l F0EnthusiasmName,Font0
- dc.w 1007
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- F0EnthusiasmVisual
- dc.l 0,SetF0Enthusiasm
-
- F0GadgetTags
- dc.l GTSL_Min,0
- dc.l GTSL_Max,255
- dc.l GTSL_MaxLevelLen,3
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,TriNumberString
- dc.l GTSL_Level
- dc.b 0,0,0
- InitialF0
- dc.b 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- F0PerturbGadget
- dc.w 85,105,90,12
- dc.l F0PerturbName,Font0
- dc.w 1008
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- F0PerturbVisual
- dc.l 0,SetF0Perturb
-
- F1AdjGadget
- dc.w 54,75,50,12
- dc.l F1AdjName,Font0
- dc.w 1009
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- F1AdjVisual
- dc.l 0,SetF1Adj
-
- F123AdjGadgetTags
- dc.l GTSL_Min,-20
- dc.l GTSL_Max,20
- dc.l GTSL_MaxLevelLen,3
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,SignedBiNumberString
- dc.l GTSL_Level
- dc.b 0,0,0
- InitialF123Adj
- dc.b 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- F2AdjGadget
- dc.w 190,75,50,12
- dc.l F2AdjName,Font0
- dc.w 1010
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- F2AdjVisual
- dc.l 0,SetF2Adj
-
- F3AdjGadget
- dc.w 326,75,50,12
- dc.l F3AdjName,Font0
- dc.w 1011
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- F3AdjVisual
- dc.l 0,SetF3Adj
-
- A1AdjGadget
- dc.w 54,60,50,12
- dc.l A1AdjName,Font0
- dc.w 1012
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- A1AdjVisual
- dc.l 0,SetA1Adj
-
- A123AdjGadgetTags
- dc.l GTSL_Min,-32
- dc.l GTSL_Max,31
- dc.l GTSL_MaxLevelLen,3
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,SignedBiNumberString
- dc.l GTSL_Level
- dc.b 0,0,0
- InitialA123Adj
- dc.b 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- A2AdjGadget
- dc.w 190,60,50,12
- dc.l A2AdjName,Font0
- dc.w 1013
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- A2AdjVisual
- dc.l 0,SetA2Adj
-
- A3AdjGadget
- dc.w 326,60,50,12
- dc.l A3AdjName,Font0
- dc.w 1014
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- A3AdjVisual
- dc.l 0,SetA3Adj
-
- AVBiasGadget
- dc.w 85,120,90,12
- dc.l AVBiasName,Font0
- dc.w 1015
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- AVBiasVisual
- dc.l 0,SetAVBias
-
- AFBiasGadget
- dc.w 264,120,96,12
- dc.l AFBiasName,Font0
- dc.w 1016
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- AFBiasVisual
- dc.l 0,SetAFBias
-
- CentralizeGadget
- dc.w 264,135,96,12
- dc.l CentralizeName,Font0
- dc.w 1017
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- CentralizeVisual
- dc.l 0,SetCentralize
-
- CentralizeGadgetTags
- dc.l GTSL_Min,0
- dc.l GTSL_Max,100
- dc.l GTSL_MaxLevelLen,3
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,TriNumberString
- dc.l GTSL_Level
- dc.b 0,0,0
- InitialCentralize
- dc.b 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- CentphonGadget
- dc.w 85,135,90,12
- dc.l CentphonName,Font0
- dc.w 1018
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- CentphonVisual
- dc.l 0,SetCentphon
-
- CentphonGadgetTags
- dc.l GTCY_Labels,CentphonLabels
- dc.l TAG_DONE
-
- CentphonLabels
- dc.l CentphonNone,CentphonIY,CentphonIH,CentphonEH,CentphonAE
- dc.l CentphonAA,CentphonAH,CentphonAO,CentphonOW,CentphonUH
- dc.l CentphonER,CentphonUW,0
-
- ArticulateGadget
- dc.w 264,150,96,12
- dc.l ArticulateName,Font0
- dc.w 1019
- dc.l PLACETEXT_LEFT!NG_HIGHLABEL
- ArticulateVisual
- dc.l 0,SetArticulate
-
- ArticulateGadgetTags
- dc.l GTSL_Min,0
- dc.l GTSL_Max,255
- dc.l GTSL_MaxLevelLen,3
- dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
- dc.l GTSL_LevelFormat,TriNumberString
- dc.l GTSL_Level
- dc.b 0,0,0
- InitialArticulate
- dc.b 0
- dc.l GA_RelVerify,1
- dc.l TAG_DONE
-
- ResetGadget
- dc.w 14,150,160,12
- dc.l ResetName,Font0
- dc.w 1020
- dc.l PLACETEXT_IN
- ResetVisual
- dc.l 0,ResetValues
-
- ResetCycleTags
- dc.l GTCY_Active
- dc.w 0
- CycleValueW
- dc.w 0
- dc.l TAG_DONE
-
- ResetSliderTags
- dc.l GTSL_Level
- dc.w 0
- SliderValueW
- dc.b 0
- SliderValueB
- dc.b 0
- dc.l TAG_DONE
-
- SECTION 2,BSS
-
- Values ds.b 88
- ValuesEnd
-
- END
-