📄 ixjdefs.h
字号:
#define DEVCTRL_RINGSTATE_INIT 0#define DEVCTRL_RINGSTATE_RING_0 1#define DEVCTRL_RINGSTATE_RING_1 2#define DEVCTRL_RINGSTATE_RING_2 3#define DEVCTRL_RINGSTATE_RING_3 4#define DEVCTRL_RINGSTATE_RING_4 5#define DEVCTRL_RINGSTATE_RING_5 6#define DEVCTRL_RINGSTATE_RING_6 7#define DEVCTRL_RINGSTATE_RING_7 8#define DEVCTRL_RINGSTATE_RING_8 9#define DEVCTRL_RINGSTATE_RING_9 10#define DEVCTRL_RINGSTATE_RING_10 11#define DEVCTRL_RINGSTATE_RING_11 12//==========================================================================//--------------------------------------------------------------------------// Filter support//--------------------------------------------------------------------------//// Additional bit patterns to 'Or' into Command Base 'words'#define FILTER_MODE_SYNC 0#define FILTER_MODE_ASYNC 1#define FILTER_LINE_VOLUME_POS_0DB 2 // +0 dB#define FILTER_LINE_VOLUME_MUTE 3 // Mute Microphone (also resets AEC)#define FILTER_SPEAKER_VOLUME_POS_14DB 0 // +14 dB#define FILTER_SPEAKER_VOLUME_POS_12DB 1 // +12 dB#define FILTER_SPEAKER_VOLUME_POS_10DB 2 // +10 dB#define FILTER_SPEAKER_VOLUME_POS_8DB 3 // +8 dB#define FILTER_SPEAKER_VOLUME_POS_6DB 4 // +6 dB#define FILTER_SPEAKER_VOLUME_POS_4DB 5 // +4 dB#define FILTER_SPEAKER_VOLUME_POS_2DB 6 // +2 dB#define FILTER_SPEAKER_VOLUME_POS_0DB 7 // 0 dB#define FILTER_SPEAKER_VOLUME_NEG_2DB 8 // -2 dB#define FILTER_SPEAKER_VOLUME_NEG_4DB 9 // -4 dB#define FILTER_SPEAKER_VOLUME_NEG_6DB 10 // -6 dB#define FILTER_SPEAKER_VOLUME_NEG_8DB 11 // -8 dB#define FILTER_SPEAKER_VOLUME_NEG_10DB 12 // -10 dB#define FILTER_SPEAKER_VOLUME_NEG_12DB 13 // -12 dB#define FILTER_SPEAKER_VOLUME_NEG_14DB 14 // -14 dB#define FILTER_SPEAKER_VOLUME_MUTE 15 // Mute Filter#define FILTER_DTMFSTATE_INIT 0#define FILTER_DTMFSTATE_NOT_VALID_1 1#define FILTER_DTMFSTATE_NOT_VALID_2 2#define FILTER_DTMFSTATE_NOT_VALID_3 3#define FILTER_DTMFSTATE_VALID_1 4#define FILTER_DTMFSTATE_VALID_2 5#define FILTER_DTMFSTATE_VALID_3 6#define FrameCount( LineMonitor ) ((LineMonitor>>12)&0x0f)#define FilterBits( LineMonitor ) ((LineMonitor>>8)&0x0f)#define Peak( LineMonitor ) ((LineMonitor>>6)&1)#define DTMFValid( LineMonitor ) ((LineMonitor>>5)&1)#define CPFValid( LineMonitor ) ((LineMonitor>>4)&1)#define DTMFDigit( LineMonitor ) (LineMonitor&0x0f)//==========================================================================//--------------------------------------------------------------------------// Idle support//--------------------------------------------------------------------------//#define IDLE_TONE_MODE_SYNC 0 // Selects Synchronous Tone mode#define IDLE_TONE_MODE_ASYNC 1 // Selects Asynchronous Tone mode#define IDLE_TONE_NOTONE 0#define IDLE_TONE_1 1#define IDLE_TONE_2 2#define IDLE_TONE_3 3#define IDLE_TONE_4 4#define IDLE_TONE_5 5#define IDLE_TONE_6 6#define IDLE_TONE_7 7#define IDLE_TONE_8 8#define IDLE_TONE_9 9#define IDLE_TONE_STAR 10#define IDLE_TONE_0 11#define IDLE_TONE_POUND 12#define IDLE_TONE_DIAL 25#define IDLE_TONE_RING 26#define IDLE_TONE_BUSY 27#define IDLE_TONE_A 28#define IDLE_TONE_B 29#define IDLE_TONE_C 30#define IDLE_TONE_D 31// Table from TelTone M-991 Spec sheet (table 4).// Tone Name Frequency (Hz) Interruption Rate// 1 2//-------------------------------------------------------------------------------------------// Dial | 350 | 440 | Steady// Reorder | 480 | 620 | Repeat, tones on and off 250 ms +- 25ms// Busy | 480 | 620 | Repeat, tones on and off 500 ms +- 50ms// Audible Ring | 480 | 480 | Repeat, tones on 2 +- 0.2sec, tones off 4 +- 0.4sec// Recall Dial | 350 | 440 | Three bursts tones on and off 100 ms +- 20ms each followed by dial tone// Special AR | 440 | 480 | Tones on 1 +- 0.2sec, followed by single 440Hz on for 0.2sec on, and silence for 3 +- 0.3sec, repeat// Intercept | 440 | 620 | Repeat alternating tones, each on for 230ms +- 70ms with total cycle of 500 +- 50ms// Call Waiting | 440 | Off | One burst 200 +- 100ms// Busy Verification | 440 | Off | One burst of tone on 1.75 +- 0.25sec before attendant intrudes, followed by burst of tone 0.65 +- 0.15sec on, 8 to 20 sec apart for as long as the call lasts.// Executive Override | 440 | Off | One burst of tone for 3 +- 1sec before overriding station intrudes.// Confirmation | 350 | 440 | Three bursts on and off 100ms each or 100ms on, 100ms off, 300 ms on.#define TONE_DIAL 0#define TONE_REORDER 1#define TONE_BUSY 2#define TONE_AUDIBLE_RING 3#define TONE_RECALL_DIAL 4#define TONE_SPECIAL_AR 5#define TONE_INTERCEPT 6#define TONE_CALL_WAITING 7#define TONE_BUSY_VERIFICATION 8#define TONE_EXECUTIVE_OVERRIDE 9#define TONE_CONFIRMATION 10typedef struct{ DWORD dwToneIndex; DWORD dwDuration; DWORD dwToneOnPeriod; DWORD dwToneOffPeriod; DWORD dwMasterGain;} IDLE_TONE;typedef struct{ DWORD dwToneIndex; // 1-31, 0 reserved for silence DWORD dwFrequencyFactor0; // dwFrequencyFactor0 = 32767 * cos( 2*Pi*(frequency0/8000) ) DWORD dwGain0; // 0-15 See Tone Level Table DWORD dwFrequencyFactor1; // dwFrequencyFactor1 = 32767 * cos( 2*Pi*(frequency1/8000) ) DWORD dwGain1; // 0-15 See Tone Level Table} IDLE_NEW_TONE;//==========================================================================// // Tone Level Table//____________________________________________________________// Index Codec Output Level (dB relative to 0.707 Vrms)//____________________________________________________________// 0 +6// 1 +4// 2 +2// 3 0// 4 -2// 5 -4// 6 -6// 7 -8// 8 -10// 9 -12// 10 -14// 11 -16// 12 -18// 13 -20// 14 -22// 15 -24//==========================================================================//--------------------------------------------------------------------------// Mixer support//--------------------------------------------------------------------------//// Playback mixer lines#define PlaybackMaster 0#define PlaybackMicrophone 1#define PlaybackWave 2#define PlaybackCD 3#define PlaybackLineIn 4#define PlaybackPhoneIn 5#define PlaybackPhoneOut 6#define PlaybackPhoneLineOut 7#define PlaybackDeviceCount 8// Record mixer lines#define RecordMaster 0#define RecordMicrophone 1#define RecordWave 2#define RecordCD 3#define RecordLineIn 4#define RecordPhoneIn 5#define RecordPhoneLineIn 6#define RecordDeviceCount 7// Output mixer lines#define OutputMicrophone PlaybackMicrophone#define OutputWave PlaybackWave#define OutputCD PlaybackCD#define OutputLineIn PlaybackLineIn#define OutputPhoneIn PlaybackPhoneIn// Input mixer lines#define InputMicrophone RecordMicrophone#define InputWave RecordWave#define InputCD RecordCD#define InputLineIn RecordLineIn#define InputPhoneIn RecordPhoneIn// Mixer line structuretypedef struct _MIXER_LINE{ DWORD dwLineID; DWORD dwMute; DWORD dwLeftVolume; DWORD dwRightVolume;}MIXER_LINE;#define MIXER_ACCESS TEXT( "MixerAccess" )//==========================================================================//--------------------------------------------------------------------------// Playback support//--------------------------------------------------------------------------//// Additional bit patterns to 'Or' into Command Base 'words'#define PLAYBACK_TFRMODE_80X5 0 // Selects Data transfer via Software Control and Status Registers (CT8015/CT8005 protocol mode).#define PLAYBACK_TFRMODE_8020 3 // Selects Data transfer via Host Transmit Data Buffer Access Port.#define PLAYBACK_SYNC_MODE_CODEC 0#define PLAYBACK_SYNC_MODE_DATA 1#define PLAYBACK_SYNC_MODE_POLL 2#define PLAYBACK_SYNC_MODE_HOST 3// Playback modes#define PLAYBACK_MODE_COMPRESSED 0 // Selects: Compressed modes, TrueSpeech 8.5-4.1, G.723.1, G.722, G.728, G.729#define PLAYBACK_MODE_TRUESPEECH_V40 0 // Selects: TrueSpeech 8.5, 6.3, 5.3, 4.8 or 4.1 Kbps#define PLAYBACK_MODE_TRUESPEECH 8 // Selects: TrueSpeech 8.5, 6.3, 5.3, 4.8 or 4.1 Kbps Version 5.1#define PLAYBACK_MODE_ULAW 2 // Selects: 64 Kbit/sec MuA-law PCM#define PLAYBACK_MODE_ALAW 10 // Selects: 64 Kbit/sec A-law PCM#define PLAYBACK_MODE_16LINEAR 6 // Selects: 128 Kbit/sec 16-bit linear#define PLAYBACK_MODE_8LINEAR 4 // Selects: 64 Kbit/sec 8-bit signed linear#define PLAYBACK_MODE_8LINEAR_WSS 5 // Selects: 64 Kbit/sec WSS 8-bit unsigned linear// Playback rates#define PLAYBACK_RATE_TS85 0 // Selects TrueSpeech 8.5 playback rate.#define PLAYBACK_RATE_TS63 1 // Selects TrueSpeech 6.3 playback rate.#define PLAYBACK_RATE_TS53 2 // Selects TrueSpeech 5.3 playback rate.#define PLAYBACK_RATE_TS48 3 // Selects TrueSpeech 4.8 playback rate.#define PLAYBACK_RATE_TS41 4 // Selects TrueSpeech 4.1 playback rate.#define PLAYBACK_RATE_G722 7 // Selects G.722 playback rate.#define PLAYBACK_RATE_G723_63 PLAYBACK_RATE_TS63 // Selects G.723.1 (6.3 kbps) playback rate.#define PLAYBACK_RATE_G723_53 PLAYBACK_RATE_TS53 // Selects G.723.1 (5.3 kbps) playback rate.#define PLAYBACK_RATE_G728 5 // Selects G.728 playback rate.#define PLAYBACK_RATE_G729 6 // Selects G.729 playback rate.// Frame sizes in WORD units#define PLAYBACK_TS85_WORDS 16 // TrueSpeech 8.5, 30ms frame size#define PLAYBACK_TS63_WORDS 12 // TrueSpeech 6.3, 30ms frame size#define PLAYBACK_TS53_WORDS 10 // TrueSpeech 5.3, 30ms frame size#define PLAYBACK_TS48_WORDS 9 // TrueSpeech 4.8, 30ms frame size#define PLAYBACK_TS41_WORDS 8 // TrueSpeech 4.1, 30ms frame size#define PLAYBACK_ALAW_WORDS 120 // 64 Kbit/sec A-law PCM, 30ms frame size#define PLAYBACK_ALAW_30MS_WORDS 120 // 64 Kbit/sec A-law PCM, 30ms frame size#define PLAYBACK_ALAW_20MS_WORDS 80 // 64 Kbit/sec A-law PCM, 20ms frame size#define PLAYBACK_ALAW_10MS_WORDS 40 // 64 Kbit/sec A-law PCM, 10ms frame size#define PLAYBACK_ULAW_WORDS 120 // 64 Kbit/sec Mu-law PCM, 30ms frame size#define PLAYBACK_ULAW_30MS_WORDS 120 // 64 Kbit/sec Mu-law PCM, 30ms frame size#define PLAYBACK_ULAW_20MS_WORDS 80 // 64 Kbit/sec Mu-law PCM, 20ms frame size#define PLAYBACK_ULAW_10MS_WORDS 40 // 64 Kbit/sec Mu-law PCM, 10ms frame size#define PLAYBACK_16LINEAR_WORDS 240 // 128 Kbit/sec 16-bit linear, 30ms frame size#define PLAYBACK_16LINEAR_30MS_WORDS 240 // 128 Kbit/sec 16-bit linear, 30ms frame size#define PLAYBACK_16LINEAR_20MS_WORDS 160 // 128 Kbit/sec 16-bit linear, 20ms frame size#define PLAYBACK_16LINEAR_10MS_WORDS 80 // 128 Kbit/sec 16-bit linear, 10ms frame size#define PLAYBACK_8LINEAR_WORDS 120 // 64 Kbit/sec 8-bit signed linear, 30ms frame size#define PLAYBACK_8LINEAR_30MS_WORDS 120 // 64 Kbit/sec 8-bit signed linear, 30ms frame size#define PLAYBACK_8LINEAR_20MS_WORDS 80 // 64 Kbit/sec 8-bit signed linear, 20ms frame size#define PLAYBACK_8LINEAR_10MS_WORDS 40 // 64 Kbit/sec 8-bit signed linear, 10ms frame size#define PLAYBACK_8LINEAR_WSS_WORDS 120 // 64 Kbit/sec WSS 8-bit unsigned linear, 30ms frame size#define PLAYBACK_8LINEAR_WSS_30MS_WORDS 120 // 64 Kbit/sec WSS 8-bit unsigned linear, 30ms frame size#define PLAYBACK_8LINEAR_WSS_20MS_WORDS 80 // 64 Kbit/sec WSS 8-bit unsigned linear, 20ms frame size#define PLAYBACK_8LINEAR_WSS_10MS_WORDS 40 // 64 Kbit/sec WSS 8-bit unsigned linear, 10ms frame size#define PLAYBACK_G722_WORDS 40 // 64 Kbit/sec G.722, 10ms frame size#define PLAYBACK_G723_63_WORDS PLAYBACK_TS63_WORDS // 6.3 Kbit/sec G.723.1, 30ms frame size#define PLAYBACK_G723_53_WORDS PLAYBACK_TS53_WORDS // 5.3 Kbit/sec G.723.1, 30ms frame size#define PLAYBACK_G728_10MS_WORDS 16 // 16 Kbit/sec G.728, 10ms frame size#define PLAYBACK_G728_20MS_WORDS 32 // 16 Kbit/sec G.728, 20ms frame size#define PLAYBACK_G728_30MS_WORDS 48 // 16 Kbit/sec G.728, 30ms frame size#define PLAYBACK_G729_10MS_WORDS 6 // 8 Kbit/sec G.729, 10ms frame size#define PLAYBACK_G729_20MS_WORDS 12 // 8 Kbit/sec G.729, 20ms frame size#define PLAYBACK_G729_30MS_WORDS 18 // 8 Kbit/sec G.729, 30ms frame size// Frame sizes in bytes#define PLAYBACK_FRAME_TS85 (PLAYBACK_TS85_WORDS*2)#define PLAYBACK_FRAME_TS63 (PLAYBACK_TS63_WORDS*2)#define PLAYBACK_FRAME_TS53 (PLAYBACK_TS53_WORDS*2)#define PLAYBACK_FRAME_TS48 (PLAYBACK_TS48_WORDS*2)#define PLAYBACK_FRAME_TS41 (PLAYBACK_TS41_WORDS*2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -