mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 14:46:53 +00:00
969 lines
31 KiB
C
969 lines
31 KiB
C
/*
|
|
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__ */
|
|
|