diff options
Diffstat (limited to 'common/quicktime_win32/SpeechSynthesis.h')
| -rw-r--r-- | common/quicktime_win32/SpeechSynthesis.h | 968 |
1 files changed, 968 insertions, 0 deletions
diff --git a/common/quicktime_win32/SpeechSynthesis.h b/common/quicktime_win32/SpeechSynthesis.h new file mode 100644 index 0000000..f343aae --- /dev/null +++ b/common/quicktime_win32/SpeechSynthesis.h @@ -0,0 +1,968 @@ +/* + File: SpeechSynthesis.h + + Contains: Speech Interfaces. + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved. + + Bugs?: For bug reports, consult the following page on + the World Wide Web: + + http://developer.apple.com/bugreporter/ + +*/ +#ifndef __SPEECHSYNTHESIS__ +#define __SPEECHSYNTHESIS__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MIXEDMODE__ +#include <MixedMode.h> +#endif + +#ifndef __FILES__ +#include <Files.h> +#endif + + + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_IMPORT +#pragma import on +#endif + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=mac68k +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 2) +#elif PRAGMA_STRUCT_PACK + #pragma pack(2) +#endif + +enum { + kTextToSpeechSynthType = FOUR_CHAR_CODE('ttsc'), + kTextToSpeechVoiceType = FOUR_CHAR_CODE('ttvd'), + kTextToSpeechVoiceFileType = FOUR_CHAR_CODE('ttvf'), + kTextToSpeechVoiceBundleType = FOUR_CHAR_CODE('ttvb') +}; + +enum { + kNoEndingProsody = 1, + kNoSpeechInterrupt = 2, + kPreflightThenPause = 4 +}; + +enum { + kImmediate = 0, + kEndOfWord = 1, + kEndOfSentence = 2 +}; + + +/*------------------------------------------*/ +/* GetSpeechInfo & SetSpeechInfo selectors */ +/*------------------------------------------*/ +enum { + soStatus = FOUR_CHAR_CODE('stat'), + soErrors = FOUR_CHAR_CODE('erro'), + soInputMode = FOUR_CHAR_CODE('inpt'), + soCharacterMode = FOUR_CHAR_CODE('char'), + soNumberMode = FOUR_CHAR_CODE('nmbr'), + soRate = FOUR_CHAR_CODE('rate'), + soPitchBase = FOUR_CHAR_CODE('pbas'), + soPitchMod = FOUR_CHAR_CODE('pmod'), + soVolume = FOUR_CHAR_CODE('volm'), + soSynthType = FOUR_CHAR_CODE('vers'), + soRecentSync = FOUR_CHAR_CODE('sync'), + soPhonemeSymbols = FOUR_CHAR_CODE('phsy'), + soCurrentVoice = FOUR_CHAR_CODE('cvox'), + soCommandDelimiter = FOUR_CHAR_CODE('dlim'), + soReset = FOUR_CHAR_CODE('rset'), + soCurrentA5 = FOUR_CHAR_CODE('myA5'), + soRefCon = FOUR_CHAR_CODE('refc'), + soTextDoneCallBack = FOUR_CHAR_CODE('tdcb'), /* use with SpeechTextDoneProcPtr*/ + soSpeechDoneCallBack = FOUR_CHAR_CODE('sdcb'), /* use with SpeechDoneProcPtr*/ + soSyncCallBack = FOUR_CHAR_CODE('sycb'), /* use with SpeechSyncProcPtr*/ + soErrorCallBack = FOUR_CHAR_CODE('ercb'), /* use with SpeechErrorProcPtr*/ + soPhonemeCallBack = FOUR_CHAR_CODE('phcb'), /* use with SpeechPhonemeProcPtr*/ + soWordCallBack = FOUR_CHAR_CODE('wdcb'), + soSynthExtension = FOUR_CHAR_CODE('xtnd'), + soSoundOutput = FOUR_CHAR_CODE('sndo') +}; + + +/*------------------------------------------*/ +/* Speaking Mode Constants */ +/*------------------------------------------*/ +enum { + modeText = FOUR_CHAR_CODE('TEXT'), /* input mode constants */ + modePhonemes = FOUR_CHAR_CODE('PHON'), + modeNormal = FOUR_CHAR_CODE('NORM'), /* character mode and number mode constants */ + modeLiteral = FOUR_CHAR_CODE('LTRL') +}; + + +enum { + soVoiceDescription = FOUR_CHAR_CODE('info'), + soVoiceFile = FOUR_CHAR_CODE('fref') +}; + + +typedef struct OpaqueSpeechChannel* SpeechChannel; + +struct VoiceSpec { + OSType creator; + OSType id; +}; +typedef struct VoiceSpec VoiceSpec; +typedef VoiceSpec * VoiceSpecPtr; + +enum { + kNeuter = 0, + kMale = 1, + kFemale = 2 +}; + + + + +struct VoiceDescription { + long length; + VoiceSpec voice; + long version; + Str63 name; + Str255 comment; + short gender; + short age; + short script; + short language; + short region; + long reserved[4]; +}; +typedef struct VoiceDescription VoiceDescription; + + +struct VoiceFileInfo { + FSSpec fileSpec; + short resID; +}; +typedef struct VoiceFileInfo VoiceFileInfo; +struct SpeechStatusInfo { + Boolean outputBusy; + Boolean outputPaused; + long inputBytesLeft; + short phonemeCode; +}; +typedef struct SpeechStatusInfo SpeechStatusInfo; + + +struct SpeechErrorInfo { + short count; + OSErr oldest; + long oldPos; + OSErr newest; + long newPos; +}; +typedef struct SpeechErrorInfo SpeechErrorInfo; + + +struct SpeechVersionInfo { + OSType synthType; + OSType synthSubType; + OSType synthManufacturer; + long synthFlags; + NumVersion synthVersion; +}; +typedef struct SpeechVersionInfo SpeechVersionInfo; + + +struct PhonemeInfo { + short opcode; + Str15 phStr; + Str31 exampleStr; + short hiliteStart; + short hiliteEnd; +}; +typedef struct PhonemeInfo PhonemeInfo; + +struct PhonemeDescriptor { + short phonemeCount; + PhonemeInfo thePhonemes[1]; +}; +typedef struct PhonemeDescriptor PhonemeDescriptor; +struct SpeechXtndData { + OSType synthCreator; + Byte synthData[2]; +}; +typedef struct SpeechXtndData SpeechXtndData; + +struct DelimiterInfo { + Byte startDelimiter[2]; + Byte endDelimiter[2]; +}; +typedef struct DelimiterInfo DelimiterInfo; + +typedef CALLBACK_API( void , SpeechTextDoneProcPtr )(SpeechChannel chan, long refCon, const void **nextBuf, unsigned long *byteLen, long *controlFlags); +typedef CALLBACK_API( void , SpeechDoneProcPtr )(SpeechChannel chan, long refCon); +typedef CALLBACK_API( void , SpeechSyncProcPtr )(SpeechChannel chan, long refCon, OSType syncMessage); +typedef CALLBACK_API( void , SpeechErrorProcPtr )(SpeechChannel chan, long refCon, OSErr theError, long bytePos); +typedef CALLBACK_API( void , SpeechPhonemeProcPtr )(SpeechChannel chan, long refCon, short phonemeOpcode); +typedef CALLBACK_API( void , SpeechWordProcPtr )(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen); +typedef STACK_UPP_TYPE(SpeechTextDoneProcPtr) SpeechTextDoneUPP; +typedef STACK_UPP_TYPE(SpeechDoneProcPtr) SpeechDoneUPP; +typedef STACK_UPP_TYPE(SpeechSyncProcPtr) SpeechSyncUPP; +typedef STACK_UPP_TYPE(SpeechErrorProcPtr) SpeechErrorUPP; +typedef STACK_UPP_TYPE(SpeechPhonemeProcPtr) SpeechPhonemeUPP; +typedef STACK_UPP_TYPE(SpeechWordProcPtr) SpeechWordUPP; +/* + * NewSpeechTextDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechTextDoneUPP ) +NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechTextDoneProcInfo = 0x0000FFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechTextDoneUPP) NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine) { return (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechTextDoneUPP(userRoutine) (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewSpeechDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechDoneUPP ) +NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechDoneProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechDoneUPP) NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine) { return (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechDoneUPP(userRoutine) (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewSpeechSyncUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechSyncUPP ) +NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechSyncProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechSyncUPP) NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine) { return (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechSyncUPP(userRoutine) (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewSpeechErrorUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechErrorUPP ) +NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechErrorProcInfo = 0x00003BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechErrorUPP) NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine) { return (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechErrorUPP(userRoutine) (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewSpeechPhonemeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechPhonemeUPP ) +NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechPhonemeProcInfo = 0x00000BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechPhonemeUPP) NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine) { return (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechPhonemeUPP(userRoutine) (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewSpeechWordUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( SpeechWordUPP ) +NewSpeechWordUPP(SpeechWordProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppSpeechWordProcInfo = 0x00002FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(SpeechWordUPP) NewSpeechWordUPP(SpeechWordProcPtr userRoutine) { return (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture()); } + #else + #define NewSpeechWordUPP(userRoutine) (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * DisposeSpeechTextDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechTextDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeSpeechDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechDoneUPP(SpeechDoneUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechDoneUPP(SpeechDoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeSpeechSyncUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechSyncUPP(SpeechSyncUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechSyncUPP(SpeechSyncUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechSyncUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeSpeechErrorUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechErrorUPP(SpeechErrorUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechErrorUPP(SpeechErrorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeSpeechPhonemeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechPhonemeUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeSpeechWordUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeSpeechWordUPP(SpeechWordUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeSpeechWordUPP(SpeechWordUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeSpeechWordUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * InvokeSpeechTextDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechTextDoneUPP( + SpeechChannel chan, + long refCon, + const void ** nextBuf, + unsigned long * byteLen, + long * controlFlags, + SpeechTextDoneUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechTextDoneUPP(SpeechChannel chan, long refCon, const void ** nextBuf, unsigned long * byteLen, long * controlFlags, SpeechTextDoneUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppSpeechTextDoneProcInfo, chan, refCon, nextBuf, byteLen, controlFlags); } + #else + #define InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppSpeechTextDoneProcInfo, (chan), (refCon), (nextBuf), (byteLen), (controlFlags)) + #endif +#endif + +/* + * InvokeSpeechDoneUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechDoneUPP( + SpeechChannel chan, + long refCon, + SpeechDoneUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechDoneUPP(SpeechChannel chan, long refCon, SpeechDoneUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppSpeechDoneProcInfo, chan, refCon); } + #else + #define InvokeSpeechDoneUPP(chan, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSpeechDoneProcInfo, (chan), (refCon)) + #endif +#endif + +/* + * InvokeSpeechSyncUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechSyncUPP( + SpeechChannel chan, + long refCon, + OSType syncMessage, + SpeechSyncUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechSyncUPP(SpeechChannel chan, long refCon, OSType syncMessage, SpeechSyncUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechSyncProcInfo, chan, refCon, syncMessage); } + #else + #define InvokeSpeechSyncUPP(chan, refCon, syncMessage, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechSyncProcInfo, (chan), (refCon), (syncMessage)) + #endif +#endif + +/* + * InvokeSpeechErrorUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechErrorUPP( + SpeechChannel chan, + long refCon, + OSErr theError, + long bytePos, + SpeechErrorUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechErrorUPP(SpeechChannel chan, long refCon, OSErr theError, long bytePos, SpeechErrorUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechErrorProcInfo, chan, refCon, theError, bytePos); } + #else + #define InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechErrorProcInfo, (chan), (refCon), (theError), (bytePos)) + #endif +#endif + +/* + * InvokeSpeechPhonemeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechPhonemeUPP( + SpeechChannel chan, + long refCon, + short phonemeOpcode, + SpeechPhonemeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechPhonemeUPP(SpeechChannel chan, long refCon, short phonemeOpcode, SpeechPhonemeUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechPhonemeProcInfo, chan, refCon, phonemeOpcode); } + #else + #define InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechPhonemeProcInfo, (chan), (refCon), (phonemeOpcode)) + #endif +#endif + +/* + * InvokeSpeechWordUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeSpeechWordUPP( + SpeechChannel chan, + long refCon, + unsigned long wordPos, + unsigned short wordLen, + SpeechWordUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeSpeechWordUPP(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen, SpeechWordUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechWordProcInfo, chan, refCon, wordPos, wordLen); } + #else + #define InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechWordProcInfo, (chan), (refCon), (wordPos), (wordLen)) + #endif +#endif + +#if CALL_NOT_IN_CARBON || OLDROUTINENAMES + /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ + #define NewSpeechTextDoneProc(userRoutine) NewSpeechTextDoneUPP(userRoutine) + #define NewSpeechDoneProc(userRoutine) NewSpeechDoneUPP(userRoutine) + #define NewSpeechSyncProc(userRoutine) NewSpeechSyncUPP(userRoutine) + #define NewSpeechErrorProc(userRoutine) NewSpeechErrorUPP(userRoutine) + #define NewSpeechPhonemeProc(userRoutine) NewSpeechPhonemeUPP(userRoutine) + #define NewSpeechWordProc(userRoutine) NewSpeechWordUPP(userRoutine) + #define CallSpeechTextDoneProc(userRoutine, chan, refCon, nextBuf, byteLen, controlFlags) InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userRoutine) + #define CallSpeechDoneProc(userRoutine, chan, refCon) InvokeSpeechDoneUPP(chan, refCon, userRoutine) + #define CallSpeechSyncProc(userRoutine, chan, refCon, syncMessage) InvokeSpeechSyncUPP(chan, refCon, syncMessage, userRoutine) + #define CallSpeechErrorProc(userRoutine, chan, refCon, theError, bytePos) InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userRoutine) + #define CallSpeechPhonemeProc(userRoutine, chan, refCon, phonemeOpcode) InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userRoutine) + #define CallSpeechWordProc(userRoutine, chan, refCon, wordPos, wordLen) InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userRoutine) +#endif /* CALL_NOT_IN_CARBON */ + +/* + * SpeechManagerVersion() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( NumVersion ) +SpeechManagerVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x000C, 0xA800); + + +/* + * MakeVoiceSpec() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +MakeVoiceSpec( + OSType creator, + OSType id, + VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x0604, 0x000C, 0xA800); + + +/* + * CountVoices() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +CountVoices(short * numVoices) FOURWORDINLINE(0x203C, 0x0108, 0x000C, 0xA800); + + +/* + * GetIndVoice() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetIndVoice( + short index, + VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x030C, 0x000C, 0xA800); + + +/* + * GetVoiceDescription() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetVoiceDescription( + const VoiceSpec * voice, + VoiceDescription * info, + long infoLength) FOURWORDINLINE(0x203C, 0x0610, 0x000C, 0xA800); + + +/* + * GetVoiceInfo() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetVoiceInfo( + const VoiceSpec * voice, + OSType selector, + void * voiceInfo) FOURWORDINLINE(0x203C, 0x0614, 0x000C, 0xA800); + + +/* + * NewSpeechChannel() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +NewSpeechChannel( + VoiceSpec * voice, /* can be NULL */ + SpeechChannel * chan) FOURWORDINLINE(0x203C, 0x0418, 0x000C, 0xA800); + + +/* + * DisposeSpeechChannel() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +DisposeSpeechChannel(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x021C, 0x000C, 0xA800); + + +/* + * SpeakString() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SpeakString(ConstStr255Param textToBeSpoken) FOURWORDINLINE(0x203C, 0x0220, 0x000C, 0xA800); + + +/* + * SpeakText() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SpeakText( + SpeechChannel chan, + const void * textBuf, + unsigned long textBytes) FOURWORDINLINE(0x203C, 0x0624, 0x000C, 0xA800); + + +/* + * SpeakBuffer() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SpeakBuffer( + SpeechChannel chan, + const void * textBuf, + unsigned long textBytes, + long controlFlags) FOURWORDINLINE(0x203C, 0x0828, 0x000C, 0xA800); + + +/* + * StopSpeech() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +StopSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x022C, 0x000C, 0xA800); + + +/* + * StopSpeechAt() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +StopSpeechAt( + SpeechChannel chan, + long whereToStop) FOURWORDINLINE(0x203C, 0x0430, 0x000C, 0xA800); + + +/* + * PauseSpeechAt() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +PauseSpeechAt( + SpeechChannel chan, + long whereToPause) FOURWORDINLINE(0x203C, 0x0434, 0x000C, 0xA800); + + +/* + * ContinueSpeech() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +ContinueSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x0238, 0x000C, 0xA800); + + +/* + * SpeechBusy() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +SpeechBusy(void) FOURWORDINLINE(0x203C, 0x003C, 0x000C, 0xA800); + + +/* + * SpeechBusySystemWide() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +SpeechBusySystemWide(void) FOURWORDINLINE(0x203C, 0x0040, 0x000C, 0xA800); + + +/* + * SetSpeechRate() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SetSpeechRate( + SpeechChannel chan, + Fixed rate) FOURWORDINLINE(0x203C, 0x0444, 0x000C, 0xA800); + + +/* + * GetSpeechRate() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetSpeechRate( + SpeechChannel chan, + Fixed * rate) FOURWORDINLINE(0x203C, 0x0448, 0x000C, 0xA800); + + +/* + * SetSpeechPitch() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SetSpeechPitch( + SpeechChannel chan, + Fixed pitch) FOURWORDINLINE(0x203C, 0x044C, 0x000C, 0xA800); + + +/* + * GetSpeechPitch() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetSpeechPitch( + SpeechChannel chan, + Fixed * pitch) FOURWORDINLINE(0x203C, 0x0450, 0x000C, 0xA800); + + +/* + * SetSpeechInfo() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +SetSpeechInfo( + SpeechChannel chan, + OSType selector, + const void * speechInfo) FOURWORDINLINE(0x203C, 0x0654, 0x000C, 0xA800); + + +/* + * GetSpeechInfo() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetSpeechInfo( + SpeechChannel chan, + OSType selector, + void * speechInfo) FOURWORDINLINE(0x203C, 0x0658, 0x000C, 0xA800); + + +/* + * TextToPhonemes() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +TextToPhonemes( + SpeechChannel chan, + const void * textBuf, + unsigned long textBytes, + Handle phonemeBuf, + long * phonemeBytes) FOURWORDINLINE(0x203C, 0x0A5C, 0x000C, 0xA800); + + +/* + * UseDictionary() + * + * Availability: + * Non-Carbon CFM: in SpeechLib 1.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +UseDictionary( + SpeechChannel chan, + Handle dictionary) FOURWORDINLINE(0x203C, 0x0460, 0x000C, 0xA800); + + + + + +#if PRAGMA_STRUCT_ALIGN + #pragma options align=reset +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(pop) +#elif PRAGMA_STRUCT_PACK + #pragma pack() +#endif + +#ifdef PRAGMA_IMPORT_OFF +#pragma import off +#elif PRAGMA_IMPORT +#pragma import reset +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __SPEECHSYNTHESIS__ */ + |