        TTL     '$Header: narrator.i,v 32.1 86/01/22 00:25:26 sam Exp $'
;*********************************************************************
;                                                                    ;
;   Copyright 1986, Commodore-Amiga Inc.   All rights reserved.      ;
;   No part of this program may be reproduced, transmitted,          ;
;   transcribed, stored in retrieval system, or translated into      ;
;   any language or computer language, in any form or by any         ;
;   means, electronic, mechanical, magnetic, optical, chemical,      ;
;   manual or otherwise, without the prior written permission of     ;
;   Commodore-Amiga Incorporated, 983 University Ave. Building #D,   ;
;   Los Gatos, California, 95030                                     ;
;                                                                    ;
;*********************************************************************
;
; $Header: narrator.i,v 32.1 86/01/22 00:25:26 sam Exp $
;
; $Locker:  $
;
; $Log: narrator.i,v $
; Revision 32.1  86/01/22  00:25:26  sam
; placed under source control
; 
;
;*********************************************************************
        IFND    DEVICES_NARRATOR_I@
DEVICES_NARRATOR_I@      =     1

        IFND    EXEC_IO_I@
        INCLUDE "exec/io.i"
        ENDIF

;-------- DEFAULT VALUES, USER PARMS, AND GENERAL CONSTANTS

DEFPITCH  EQU       110            ;DEFAULT PITCH
DEFRATE   EQU       150            ;DEFAULT RATE
DEFVOL    EQU       64             ;DEFAULT VOLUME (FULL)
DEFFREQ   EQU       22200          ;DEFAULT SAMPLING FREQUENCY
NATURALF0 EQU       0              ;NATURAL F0 CONTOURS
ROBOTICF0 EQU       1              ;MONOTONE F0
MALE      EQU       0              ;MALE SPEAKER
FEMALE    EQU       1              ;FEMALE SPEAKER
DEFSEX    EQU       MALE           ;DEFAULT SEX
DEFMODE   EQU       NATURALF0      ;DEFAULT MODE

;     Parameter bounds

MINRATE   EQU       40             ;MINIMUM SPEAKING RATE
MAXRATE   EQU       400            ;MAXIMUM SPEAKING RATE
MINPITCH  EQU       65             ;MINIMUM PITCH
MAXPITCH  EQU       320            ;MAXIMUM PITCH
MINFREQ   EQU       5000           ;MINIMUM SAMPLING FREQUENCY
MAXFREQ   EQU       28000          ;MAXIMUM SAMPLING FREQUENCY
MINVOL    EQU       0              ;MINIMUM VOLUME
MAXVOL    EQU       64             ;MAXIMUM VOLUME

;     Driver error codes

ND_NotUsed      EQU     -1              ;
ND_NoMem        EQU     -2              ;Can't allocate memory
ND_NoAudLib     EQU     -3              ;Can't open audio device
ND_MakeBad      EQU     -4              ;Error in MakeLibrary call
ND_UnitErr      EQU     -5              ;Unit other than 0
ND_CantAlloc    EQU     -6              ;Can't allocate the audio channel
ND_Unimpl       EQU     -7              ;Unimplemented command
ND_NoWrite      EQU     -8              ;Read for mouth shape without write
ND_Expunged     EQU     -9              ;Can't open, deferred expunge bit set
ND_PhonErr      EQU     -20             ;Phoneme code spelling error
ND_RateErr      EQU     -21             ;Rate out of bounds
ND_PitchErr     EQU     -22             ;Pitch out of bounds
ND_SexErr       EQU     -23             ;Sex not valid
ND_ModeErr      EQU     -24             ;Mode not valid
ND_FreqErr      EQU     -25             ;Sampling freq out of bounds
ND_VolErr       EQU     -26             ;Volume out of bounds



;               ;------ Write IORequest block 
 STRUCTURE NDI,IOSTD_SIZE
        UWORD   NDI_RATE                ;Speaking rate in words/minute
        UWORD   NDI_PITCH               ;Baseline pitch in Hertz
        UWORD   NDI_MODE                ;F0 mode
        UWORD   NDI_SEX                 ;Speaker sex
        APTR    NDI_CHMASKS             ;Pointer to audio channel masks
        UWORD   NDI_NUMMASKS            ;Size of channel masks array
        UWORD   NDI_VOLUME              ;Channel volume
        UWORD   NDI_SAMPFREQ            ;Sampling frequency
        UBYTE   NDI_MOUTHS              ;Generate mouths? (Boolean value)
        UBYTE   NDI_CHANMASK            ;Actual channel mask used (internal use)
        UBYTE   NDI_NUMCHAN             ;Number of channels used (internal use)
        UBYTE   NDI_PAD                 ;For alignment
        LABEL   NDI_SIZE                ;Size of Narrator IORequest block


;               ;------ Mouth read IORB
 STRUCTURE MRB,NDI_SIZE
        UBYTE   MRB_WIDTH               ;Mouth width
        UBYTE   MRB_HEIGHT              ;Mouth height
        UBYTE   MRB_SHAPE               ;Compressed shape (height/width)
        UBYTE   MRB_PAD                 ;Alignment
        LABEL   MRB_SIZE


        ENDIF
        END

 