1 {
2 File: CarbonSound/Sound.h
3
4 Contains: Sound Manager Interfaces.
5
6 Version: CarbonSound-115~164
7
8 Copyright: � 1986-2008 by Apple Computer, Inc., all rights reserved
9
10 Bugs?: For bug reports, consult the following page on
11 the World Wide Web:
12
13 http://bugs.freepascal.org
14
15 }
16 { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
17 { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
18 {
19 Modified for use with Free Pascal
20 Version 308
21 Please report any bugs to <gpc@microbizz.nl>
22 }
23
24 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
25 {$mode macpas}
26 {$modeswitch cblocks}
27 {$packenum 1}
28 {$macro on}
29 {$inline on}
30 {$calling mwpascal}
31
32 unit Sound;
33 interface
34 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
35 {$setc GAP_INTERFACES_VERSION := $0308}
36
37 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
38 {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
39 {$endc}
40
41 {$ifc defined CPUPOWERPC and defined CPUI386}
42 {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
43 {$endc}
44 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
45 {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
46 {$endc}
47
48 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
49 {$setc __ppc__ := 1}
50 {$elsec}
51 {$setc __ppc__ := 0}
52 {$endc}
53 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
54 {$setc __ppc64__ := 1}
55 {$elsec}
56 {$setc __ppc64__ := 0}
57 {$endc}
58 {$ifc not defined __i386__ and defined CPUI386}
59 {$setc __i386__ := 1}
60 {$elsec}
61 {$setc __i386__ := 0}
62 {$endc}
63 {$ifc not defined __x86_64__ and defined CPUX86_64}
64 {$setc __x86_64__ := 1}
65 {$elsec}
66 {$setc __x86_64__ := 0}
67 {$endc}
68 {$ifc not defined __arm__ and defined CPUARM}
69 {$setc __arm__ := 1}
70 {$elsec}
71 {$setc __arm__ := 0}
72 {$endc}
73 {$ifc not defined __arm64__ and defined CPUAARCH64}
74 {$setc __arm64__ := 1}
75 {$elsec}
76 {$setc __arm64__ := 0}
77 {$endc}
78
79 {$ifc defined cpu64}
80 {$setc __LP64__ := 1}
81 {$elsec}
82 {$setc __LP64__ := 0}
83 {$endc}
84
85
86 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
87 {$error Conflicting definitions for __ppc__ and __i386__}
88 {$endc}
89
90 {$ifc defined __ppc__ and __ppc__}
91 {$setc TARGET_CPU_PPC := TRUE}
92 {$setc TARGET_CPU_PPC64 := FALSE}
93 {$setc TARGET_CPU_X86 := FALSE}
94 {$setc TARGET_CPU_X86_64 := FALSE}
95 {$setc TARGET_CPU_ARM := FALSE}
96 {$setc TARGET_CPU_ARM64 := FALSE}
97 {$setc TARGET_OS_MAC := TRUE}
98 {$setc TARGET_OS_IPHONE := FALSE}
99 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
100 {$setc TARGET_OS_EMBEDDED := FALSE}
101 {$elifc defined __ppc64__ and __ppc64__}
102 {$setc TARGET_CPU_PPC := FALSE}
103 {$setc TARGET_CPU_PPC64 := TRUE}
104 {$setc TARGET_CPU_X86 := FALSE}
105 {$setc TARGET_CPU_X86_64 := FALSE}
106 {$setc TARGET_CPU_ARM := FALSE}
107 {$setc TARGET_CPU_ARM64 := FALSE}
108 {$setc TARGET_OS_MAC := TRUE}
109 {$setc TARGET_OS_IPHONE := FALSE}
110 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
111 {$setc TARGET_OS_EMBEDDED := FALSE}
112 {$elifc defined __i386__ and __i386__}
113 {$setc TARGET_CPU_PPC := FALSE}
114 {$setc TARGET_CPU_PPC64 := FALSE}
115 {$setc TARGET_CPU_X86 := TRUE}
116 {$setc TARGET_CPU_X86_64 := FALSE}
117 {$setc TARGET_CPU_ARM := FALSE}
118 {$setc TARGET_CPU_ARM64 := FALSE}
119 {$ifc defined iphonesim}
120 {$setc TARGET_OS_MAC := FALSE}
121 {$setc TARGET_OS_IPHONE := TRUE}
122 {$setc TARGET_IPHONE_SIMULATOR := TRUE}
123 {$elsec}
124 {$setc TARGET_OS_MAC := TRUE}
125 {$setc TARGET_OS_IPHONE := FALSE}
126 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
127 {$endc}
128 {$setc TARGET_OS_EMBEDDED := FALSE}
129 {$elifc defined __x86_64__ and __x86_64__}
130 {$setc TARGET_CPU_PPC := FALSE}
131 {$setc TARGET_CPU_PPC64 := FALSE}
132 {$setc TARGET_CPU_X86 := FALSE}
133 {$setc TARGET_CPU_X86_64 := TRUE}
134 {$setc TARGET_CPU_ARM := FALSE}
135 {$setc TARGET_CPU_ARM64 := FALSE}
136 {$ifc defined iphonesim}
137 {$setc TARGET_OS_MAC := FALSE}
138 {$setc TARGET_OS_IPHONE := TRUE}
139 {$setc TARGET_IPHONE_SIMULATOR := TRUE}
140 {$elsec}
141 {$setc TARGET_OS_MAC := TRUE}
142 {$setc TARGET_OS_IPHONE := FALSE}
143 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
144 {$endc}
145 {$setc TARGET_OS_EMBEDDED := FALSE}
146 {$elifc defined __arm__ and __arm__}
147 {$setc TARGET_CPU_PPC := FALSE}
148 {$setc TARGET_CPU_PPC64 := FALSE}
149 {$setc TARGET_CPU_X86 := FALSE}
150 {$setc TARGET_CPU_X86_64 := FALSE}
151 {$setc TARGET_CPU_ARM := TRUE}
152 {$setc TARGET_CPU_ARM64 := FALSE}
153 {$setc TARGET_OS_MAC := FALSE}
154 {$setc TARGET_OS_IPHONE := TRUE}
155 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
156 {$setc TARGET_OS_EMBEDDED := TRUE}
157 {$elifc defined __arm64__ and __arm64__}
158 {$setc TARGET_CPU_PPC := FALSE}
159 {$setc TARGET_CPU_PPC64 := FALSE}
160 {$setc TARGET_CPU_X86 := FALSE}
161 {$setc TARGET_CPU_X86_64 := FALSE}
162 {$setc TARGET_CPU_ARM := FALSE}
163 {$setc TARGET_CPU_ARM64 := TRUE}
164 {$ifc defined ios}
165 {$setc TARGET_OS_MAC := FALSE}
166 {$setc TARGET_OS_IPHONE := TRUE}
167 {$setc TARGET_OS_EMBEDDED := TRUE}
168 {$elsec}
169 {$setc TARGET_OS_MAC := TRUE}
170 {$setc TARGET_OS_IPHONE := FALSE}
171 {$setc TARGET_OS_EMBEDDED := FALSE}
172 {$endc}
173 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
174 {$elsec}
175 {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
176 {$endc}
177
178 {$ifc defined __LP64__ and __LP64__ }
179 {$setc TARGET_CPU_64 := TRUE}
180 {$elsec}
181 {$setc TARGET_CPU_64 := FALSE}
182 {$endc}
183
184 {$ifc defined FPC_BIG_ENDIAN}
185 {$setc TARGET_RT_BIG_ENDIAN := TRUE}
186 {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
187 {$elifc defined FPC_LITTLE_ENDIAN}
188 {$setc TARGET_RT_BIG_ENDIAN := FALSE}
189 {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
190 {$elsec}
191 {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
192 {$endc}
193 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
194 {$setc CALL_NOT_IN_CARBON := FALSE}
195 {$setc OLDROUTINENAMES := FALSE}
196 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
197 {$setc OPAQUE_UPP_TYPES := TRUE}
198 {$setc OTCARBONAPPLICATION := TRUE}
199 {$setc OTKERNEL := FALSE}
200 {$setc PM_USE_SESSION_APIS := TRUE}
201 {$setc TARGET_API_MAC_CARBON := TRUE}
202 {$setc TARGET_API_MAC_OS8 := FALSE}
203 {$setc TARGET_API_MAC_OSX := TRUE}
204 {$setc TARGET_CARBON := TRUE}
205 {$setc TARGET_CPU_68K := FALSE}
206 {$setc TARGET_CPU_MIPS := FALSE}
207 {$setc TARGET_CPU_SPARC := FALSE}
208 {$setc TARGET_OS_UNIX := FALSE}
209 {$setc TARGET_OS_WIN32 := FALSE}
210 {$setc TARGET_RT_MAC_68881 := FALSE}
211 {$setc TARGET_RT_MAC_CFM := FALSE}
212 {$setc TARGET_RT_MAC_MACHO := TRUE}
213 {$setc TYPED_FUNCTION_POINTERS := TRUE}
214 {$setc TYPE_BOOL := FALSE}
215 {$setc TYPE_EXTENDED := FALSE}
216 {$setc TYPE_LONGLONG := TRUE}
217 uses MacTypes,Components,MixedMode,Dialogs;
218 {$endc} {not MACOSALLINCLUDE}
219
220
221 {$ifc TARGET_OS_MAC}
222
223 {$ALIGN MAC68K}
224
225 {$ifc not TARGET_CPU_64}
226 {
227 * * * N O T E * * *
228
229 This file has been updated to include Sound Manager 3.3 interfaces.
230
231 Some of the Sound Manager 3.0 interfaces were not put into the InterfaceLib
232 that originally shipped with the PowerMacs. These missing functions and the
233 new 3.3 interfaces have been released in the SoundLib library for PowerPC
234 developers to link with. The runtime library for these functions are
235 installed by the Sound Manager. The following functions are found in SoundLib.
236
237 GetCompressionInfo(), GetSoundPreference(), SetSoundPreference(),
238 UnsignedFixedMulDiv(), SndGetInfo(), SndSetInfo(), GetSoundOutputInfo(),
239 SetSoundOutputInfo(), GetCompressionName(), SoundConverterOpen(),
240 SoundConverterClose(), SoundConverterGetBufferSizes(), SoundConverterBeginConversion(),
241 SoundConverterConvertBuffer(), SoundConverterEndConversion(),
242 AudioGetBass(), AudioGetInfo(), AudioGetMute(), AudioGetOutputDevice(),
243 AudioGetTreble(), AudioGetVolume(), AudioMuteOnEvent(), AudioSetBass(),
244 AudioSetMute(), AudioSetToDefaults(), AudioSetTreble(), AudioSetVolume(),
245 OpenMixerSoundComponent(), CloseMixerSoundComponent(), SoundComponentAddSource(),
246 SoundComponentGetInfo(), SoundComponentGetSource(), SoundComponentGetSourceData(),
247 SoundComponentInitOutputDevice(), SoundComponentPauseSource(),
248 SoundComponentPlaySourceBuffer(), SoundComponentRemoveSource(),
249 SoundComponentSetInfo(), SoundComponentSetOutput(), SoundComponentSetSource(),
250 SoundComponentStartSource(), SoundComponentStopSource(),
251 ParseAIFFHeader(), ParseSndHeader(), SoundConverterGetInfo(), SoundConverterSetInfo()
252 }
253 {
254 Interfaces for Sound Driver, !!! OBSOLETE and NOT SUPPORTED !!!
255
256 These items are no longer defined, but appear here so that someone
257 searching the interfaces might find them. If you are using one of these
258 items, you must change your code to support the Sound Manager.
259
260 swMode, ftMode, ffMode
261 FreeWave, FFSynthRec, Tone, SWSynthRec, Wave, FTSoundRec
262 SndCompletionProcPtr
263 StartSound, StopSound, SoundDone
264 SetSoundVol, GetSoundVol
265 }
266 {
267 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
268 constants
269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 }
271 const
272 twelfthRootTwo = 1.05946309435;
273
274 const
275 soundListRsrc = FourCharCode('snd '); {Resource type used by Sound Manager}
276 kSoundCodecInfoResourceType = FourCharCode('snfo'); {Resource type holding codec information (optional public component resource)}
277
278 const
279 kSimpleBeepID = 1; {reserved resource ID for Simple Beep}
280
281 const
282 rate48khz = $BB800000; {48000.00000 in fixed-point}
283 rate44khz = $AC440000; {44100.00000 in fixed-point}
284 rate32khz = $7D000000; {32000.00000 in fixed-point}
285 rate22050hz = $56220000; {22050.00000 in fixed-point}
286 rate22khz = $56EE8BA3; {22254.54545 in fixed-point}
287 rate16khz = $3E800000; {16000.00000 in fixed-point}
288 rate11khz = $2B7745D1; {11127.27273 in fixed-point}
289 rate11025hz = $2B110000; {11025.00000 in fixed-point}
290 rate8khz = $1F400000; { 8000.00000 in fixed-point}
291
292 {synthesizer numbers for SndNewChannel}
293 const
294 sampledSynth = 5; {sampled sound synthesizer}
295
296 {$ifc CALL_NOT_IN_CARBON}
297 const
298 squareWaveSynth = 1; {square wave synthesizer}
299 waveTableSynth = 3; {wave table synthesizer}
300 {old Sound Manager MACE synthesizer numbers}
301 MACE3snthID = 11;
302 MACE6snthID = 13;
303
304 {$endc} {CALL_NOT_IN_CARBON}
305
306 const
307 kMiddleC = 60; {MIDI note value for middle C}
308
309 const
310 kNoVolume = 0; {setting for no sound volume}
311 kFullVolume = $0100; {1.0, setting for full hardware output volume}
312
313 const
314 stdQLength = 128;
315
316 const
317 dataOffsetFlag = $8000;
318
319 const
320 kUseOptionalOutputDevice = -1; {only for Sound Manager 3.0 or later}
321
322 const
323 notCompressed = 0; {compression ID's}
324 fixedCompression = -1; {compression ID for fixed-sized compression}
325 variableCompression = -2; {compression ID for variable-sized compression}
326
327 const
328 twoToOne = 1;
329 eightToThree = 2;
330 threeToOne = 3;
331 sixToOne = 4;
332 sixToOnePacketSize = 8;
333 threeToOnePacketSize = 16;
334
335 const
336 stateBlockSize = 64;
337 leftOverBlockSize = 32;
338
339 const
340 firstSoundFormat = $0001; {general sound format}
341 secondSoundFormat = $0002; {special sampled sound format (HyperCard)}
342
343 {$ifc CALL_NOT_IN_CARBON}
344 const
345 dbBufferReady = $00000001; {double buffer is filled}
346 dbLastBuffer = $00000004; {last double buffer to play}
347
348 {$endc} {CALL_NOT_IN_CARBON}
349
350 const
351 sysBeepDisable = $0000; {SysBeep() enable flags}
352 sysBeepEnable = 1 shl 0;
353 sysBeepSynchronous = 1 shl 1; {if bit set, make alert sounds synchronous}
354
355 const
356 unitTypeNoSelection = $FFFF; {unitTypes for AudioSelection.unitType}
357 unitTypeSeconds = $0000;
358
359 const
360 stdSH = $00; {Standard sound header encode value}
361 extSH = $FF; {Extended sound header encode value}
362 cmpSH = $FE; {Compressed sound header encode value}
363
364 {command numbers for SndDoCommand and SndDoImmediate}
365 const
366 nullCmd = 0;
367 quietCmd = 3;
368 flushCmd = 4;
369 reInitCmd = 5;
370 waitCmd = 10;
371 pauseCmd = 11;
372 resumeCmd = 12;
373 callBackCmd = 13;
374 syncCmd = 14;
375 availableCmd = 24;
376 versionCmd = 25;
377 volumeCmd = 46; {sound manager 3.0 or later only}
378 getVolumeCmd = 47; {sound manager 3.0 or later only}
379 clockComponentCmd = 50; {sound manager 3.2.1 or later only}
380 getClockComponentCmd = 51; {sound manager 3.2.1 or later only}
381 scheduledSoundCmd = 52; {sound manager 3.3 or later only}
382 linkSoundComponentsCmd = 53; {sound manager 3.3 or later only}
383 soundCmd = 80;
384 bufferCmd = 81;
385 rateMultiplierCmd = 86;
386 getRateMultiplierCmd = 87;
387
388 {$ifc CALL_NOT_IN_CARBON}
389 {command numbers for SndDoCommand and SndDoImmediate that are not available for use in Carbon }
390 const
391 initCmd = 1;
392 freeCmd = 2;
393 totalLoadCmd = 26;
394 loadCmd = 27;
395 freqDurationCmd = 40;
396 restCmd = 41;
397 freqCmd = 42;
398 ampCmd = 43;
399 timbreCmd = 44;
400 getAmpCmd = 45;
401 waveTableCmd = 60;
402 phaseCmd = 61;
403 rateCmd = 82;
404 continueCmd = 83;
405 doubleBufferCmd = 84;
406 getRateCmd = 85;
407 sizeCmd = 90; {obsolete command}
408 convertCmd = 91; {obsolete MACE command}
409
410 {$endc} {CALL_NOT_IN_CARBON}
411
412 {$ifc OLDROUTINENAMES}
413 {channel initialization parameters}
414 const
415 waveInitChannelMask = $07;
416 waveInitChannel0 = $04; {wave table only, Sound Manager 2.0 and earlier}
417 waveInitChannel1 = $05; {wave table only, Sound Manager 2.0 and earlier}
418 waveInitChannel2 = $06; {wave table only, Sound Manager 2.0 and earlier}
419 waveInitChannel3 = $07; {wave table only, Sound Manager 2.0 and earlier}
420 initChan0 = waveInitChannel0; {obsolete spelling}
421 initChan1 = waveInitChannel1; {obsolete spelling}
422 initChan2 = waveInitChannel2; {obsolete spelling}
423 initChan3 = waveInitChannel3; {obsolete spelling}
424
425 const
426 outsideCmpSH = 0; {obsolete MACE constant}
427 insideCmpSH = 1; {obsolete MACE constant}
428 aceSuccess = 0; {obsolete MACE constant}
429 aceMemFull = 1; {obsolete MACE constant}
430 aceNilBlock = 2; {obsolete MACE constant}
431 aceBadComp = 3; {obsolete MACE constant}
432 aceBadEncode = 4; {obsolete MACE constant}
433 aceBadDest = 5; {obsolete MACE constant}
434 aceBadCmd = 6; {obsolete MACE constant}
435
436 {$endc} {OLDROUTINENAMES}
437
438 const
439 initChanLeft = $0002; {left stereo channel}
440 initChanRight = $0003; {right stereo channel}
441 initNoInterp = $0004; {no linear interpolation}
442 initNoDrop = $0008; {no drop-sample conversion}
443 initMono = $0080; {monophonic channel}
444 initStereo = $00C0; {stereo channel}
445 initMACE3 = $0300; {MACE 3:1}
446 initMACE6 = $0400; {MACE 6:1}
447 initPanMask = $0003; {mask for right/left pan values}
448 initSRateMask = $0030; {mask for sample rate values}
449 initStereoMask = $00C0; {mask for mono/stereo values}
450 initCompMask = $FF00; {mask for compression IDs}
451
452 {Get&Set Sound Information Selectors}
453 const
454 siActiveChannels = FourCharCode('chac'); {active channels}
455 siActiveLevels = FourCharCode('lmac'); {active meter levels}
456 siAGCOnOff = FourCharCode('agc '); {automatic gain control state}
457 siAsync = FourCharCode('asyn'); {asynchronous capability}
458 siAVDisplayBehavior = FourCharCode('avdb');
459 siChannelAvailable = FourCharCode('chav'); {number of channels available}
460 siCompressionAvailable = FourCharCode('cmav'); {compression types available}
461 siCompressionFactor = FourCharCode('cmfa'); {current compression factor}
462 siCompressionHeader = FourCharCode('cmhd'); {return compression header}
463 siCompressionNames = FourCharCode('cnam'); {compression type names available}
464 siCompressionParams = FourCharCode('evaw'); {compression parameters}
465 siCompressionSampleRate = FourCharCode('cprt'); { SetInfo only: compressor's sample rate}
466 siCompressionChannels = FourCharCode('cpct'); { SetInfo only: compressor's number of channels}
467 siCompressionOutputSampleRate = FourCharCode('cort'); { GetInfo only: only implemented by compressors that have differing in and out rates }
468 siCompressionInputRateList = FourCharCode('crtl'); { GetInfo only: only implemented by compressors that only take certain input rates }
469 siCompressionType = FourCharCode('comp'); {current compression type}
470 siCompressionConfiguration = FourCharCode('ccfg'); {compression extensions}
471 siContinuous = FourCharCode('cont'); {continous recording}
472 siDecompressionParams = FourCharCode('wave'); {decompression parameters}
473 siDecompressionConfiguration = FourCharCode('dcfg'); {decompression extensions}
474 siDeviceBufferInfo = FourCharCode('dbin'); {size of interrupt buffer}
475 siDeviceConnected = FourCharCode('dcon'); {input device connection status}
476 siDeviceIcon = FourCharCode('icon'); {input device icon}
477 siDeviceName = FourCharCode('name'); {input device name}
478 siEQSpectrumBands = FourCharCode('eqsb'); { number of spectrum bands}
479 siEQSpectrumLevels = FourCharCode('eqlv'); { gets spectum meter levels}
480 siEQSpectrumOnOff = FourCharCode('eqlo'); { turn on/off spectum meter levels}
481 siEQSpectrumResolution = FourCharCode('eqrs'); { set the resolution of the FFT, 0 = low res (<=16 bands), 1 = high res (16-64 bands)}
482 siEQToneControlGain = FourCharCode('eqtg'); { set the bass and treble gain}
483 siEQToneControlOnOff = FourCharCode('eqtc'); { turn on equalizer attenuation}
484 siHardwareBalance = FourCharCode('hbal');
485 siHardwareBalanceSteps = FourCharCode('hbls');
486 siHardwareBass = FourCharCode('hbas');
487 siHardwareBassSteps = FourCharCode('hbst');
488 siHardwareBusy = FourCharCode('hwbs'); {sound hardware is in use}
489 siHardwareFormat = FourCharCode('hwfm'); {get hardware format}
490 siHardwareMute = FourCharCode('hmut'); {mute state of all hardware}
491 siHardwareMuteNoPrefs = FourCharCode('hmnp'); {mute state of all hardware, but don't store in prefs }
492 siHardwareTreble = FourCharCode('htrb');
493 siHardwareTrebleSteps = FourCharCode('hwts');
494 siHardwareVolume = FourCharCode('hvol'); {volume level of all hardware}
495 siHardwareVolumeSteps = FourCharCode('hstp'); {number of volume steps for hardware}
496 siHeadphoneMute = FourCharCode('pmut'); {mute state of headphones}
497 siHeadphoneVolume = FourCharCode('pvol'); {volume level of headphones}
498 siHeadphoneVolumeSteps = FourCharCode('hdst'); {number of volume steps for headphones}
499 siInputAvailable = FourCharCode('inav'); {input sources available}
500 siInputGain = FourCharCode('gain'); {input gain}
501 siInputSource = FourCharCode('sour'); {input source selector}
502 siInputSourceNames = FourCharCode('snam'); {input source names}
503 siLevelMeterOnOff = FourCharCode('lmet'); {level meter state}
504 siModemGain = FourCharCode('mgai'); {modem input gain}
505 siMonitorAvailable = FourCharCode('mnav');
506 siMonitorSource = FourCharCode('mons');
507 siNumberChannels = FourCharCode('chan'); {current number of channels}
508 siOptionsDialog = FourCharCode('optd'); {display options dialog}
509 siOSTypeInputSource = FourCharCode('inpt'); {input source by OSType}
510 siOSTypeInputAvailable = FourCharCode('inav'); {list of available input source OSTypes}
511 siOutputDeviceName = FourCharCode('onam'); {output device name}
512 siPlayThruOnOff = FourCharCode('plth'); {playthrough state}
513 siPostMixerSoundComponent = FourCharCode('psmx'); {install post-mixer effect}
514 siPreMixerSoundComponent = FourCharCode('prmx'); {install pre-mixer effect}
515 siQuality = FourCharCode('qual'); {quality setting}
516 siRateMultiplier = FourCharCode('rmul'); {throttle rate setting}
517 siRecordingQuality = FourCharCode('qual'); {recording quality}
518 siSampleRate = FourCharCode('srat'); {current sample rate}
519 siSampleRateAvailable = FourCharCode('srav'); {sample rates available}
520 siSampleSize = FourCharCode('ssiz'); {current sample size}
521 siSampleSizeAvailable = FourCharCode('ssav'); {sample sizes available}
522 siSetupCDAudio = FourCharCode('sucd'); {setup sound hardware for CD audio}
523 siSetupModemAudio = FourCharCode('sumd'); {setup sound hardware for modem audio}
524 siSlopeAndIntercept = FourCharCode('flap'); {floating point variables for conversion}
525 siSoundClock = FourCharCode('sclk');
526 siUseThisSoundClock = FourCharCode('sclc'); {sdev uses this to tell the mixer to use his sound clock}
527 siSpeakerMute = FourCharCode('smut'); {mute state of all built-in speaker}
528 siSpeakerVolume = FourCharCode('svol'); {volume level of built-in speaker}
529 siSSpCPULoadLimit = FourCharCode('3dll');
530 siSSpLocalization = FourCharCode('3dif');
531 siSSpSpeakerSetup = FourCharCode('3dst');
532 siStereoInputGain = FourCharCode('sgai'); {stereo input gain}
533 siSubwooferMute = FourCharCode('bmut'); {mute state of sub-woofer}
534 siTerminalType = FourCharCode('ttyp'); { usb terminal type }
535 siTwosComplementOnOff = FourCharCode('twos'); {two's complement state}
536 siVendorProduct = FourCharCode('vpro'); { vendor and product ID }
537 siVolume = FourCharCode('volu'); {volume level of source}
538 siVoxRecordInfo = FourCharCode('voxr'); {VOX record parameters}
539 siVoxStopInfo = FourCharCode('voxs'); {VOX stop parameters}
540 siWideStereo = FourCharCode('wide'); {wide stereo setting}
541 siSupportedExtendedFlags = FourCharCode('exfl'); {which flags are supported in Extended sound data structures}
542 siRateConverterRollOffSlope = FourCharCode('rcdb'); {the roll-off slope for the rate converter's filter, in whole dB as a long this value is a long whose range is from 20 (worst quality/fastest performance) to 90 (best quality/slowest performance)}
543 siOutputLatency = FourCharCode('olte'); {latency of sound output component}
544 siHALAudioDeviceID = FourCharCode('hlid'); {audio device id}
545 siHALAudioDeviceUniqueID = FourCharCode('huid'); {audio device unique id}
546 siClientAcceptsVBR = FourCharCode('cvbr'); {client handles VBR}
547 siSourceIsExhausted = FourCharCode('srcx'); {the ultimate source of data has run out (keep asking, but when you get nothing, that's it)}
548 siMediaContextID = FourCharCode('uuid'); {media context id -- UUID }
549 siCompressionMaxPacketSize = FourCharCode('cmxp'); {maximum compressed packet size for current configuration -- unsigned long }
550 siAudioCodecPropertyValue = FourCharCode('spva'); {audio codec property value -- SoundAudioCodecPropertyRequestParams* }
551 siAudioCodecPropertyInfo = FourCharCode('spin'); {audio codec property info -- SoundAudioCodecPropertyRequestParams* }
552
553 const
554 siCloseDriver = FourCharCode('clos'); {reserved for internal use only}
555 siInitializeDriver = FourCharCode('init'); {reserved for internal use only}
556 siPauseRecording = FourCharCode('paus'); {reserved for internal use only}
557 siUserInterruptProc = FourCharCode('user'); {reserved for internal use only}
558
559 { input source Types}
560 const
561 kInvalidSource = -1; {this source may be returned from GetInfo if no other source is the monitored source}
562 kNoSource = FourCharCode('none'); {no source selection}
563 kCDSource = FourCharCode('cd '); {internal CD player input}
564 kExtMicSource = FourCharCode('emic'); {external mic input}
565 kSoundInSource = FourCharCode('sinj'); {sound input jack}
566 kRCAInSource = FourCharCode('irca'); {RCA jack input}
567 kTVFMTunerSource = FourCharCode('tvfm');
568 kDAVInSource = FourCharCode('idav'); {DAV analog input}
569 kIntMicSource = FourCharCode('imic'); {internal mic input}
570 kMediaBaySource = FourCharCode('mbay'); {media bay input}
571 kModemSource = FourCharCode('modm'); {modem input (internal modem on desktops, PCI input on PowerBooks)}
572 kPCCardSource = FourCharCode('pcm '); {PC Card pwm input}
573 kZoomVideoSource = FourCharCode('zvpc'); {zoom video input}
574 kDVDSource = FourCharCode('dvda'); { DVD audio input}
575 kMicrophoneArray = FourCharCode('mica'); { microphone array}
576
577 {Sound Component Types and Subtypes}
578 const
579 kNoSoundComponentType = FourCharCode('****');
580 kSoundComponentType = FourCharCode('sift'); {component type}
581 kSoundComponentPPCType = FourCharCode('nift'); {component type for PowerPC code}
582 kRate8SubType = FourCharCode('ratb'); {8-bit rate converter}
583 kRate16SubType = FourCharCode('ratw'); {16-bit rate converter}
584 kConverterSubType = FourCharCode('conv'); {sample format converter}
585 kSndSourceSubType = FourCharCode('sour'); {generic source component}
586 kMixerType = FourCharCode('mixr');
587 kMixer8SubType = FourCharCode('mixb'); {8-bit mixer}
588 kMixer16SubType = FourCharCode('mixw'); {16-bit mixer}
589 kSoundInputDeviceType = FourCharCode('sinp'); {sound input component}
590 kWaveInSubType = FourCharCode('wavi'); {Windows waveIn}
591 kWaveInSnifferSubType = FourCharCode('wisn'); {Windows waveIn sniffer}
592 kSoundOutputDeviceType = FourCharCode('sdev'); {sound output component}
593 kClassicSubType = FourCharCode('clas'); {classic hardware, i.e. Mac Plus}
594 kASCSubType = FourCharCode('asc '); {Apple Sound Chip device}
595 kDSPSubType = FourCharCode('dsp '); {DSP device}
596 kAwacsSubType = FourCharCode('awac'); {Another of Will's Audio Chips device}
597 kGCAwacsSubType = FourCharCode('awgc'); {Awacs audio with Grand Central DMA}
598 kSingerSubType = FourCharCode('sing'); {Singer (via Whitney) based sound}
599 kSinger2SubType = FourCharCode('sng2'); {Singer 2 (via Whitney) for Acme}
600 kWhitSubType = FourCharCode('whit'); {Whit sound component for PrimeTime 3}
601 kSoundBlasterSubType = FourCharCode('sbls'); {Sound Blaster for CHRP}
602 kWaveOutSubType = FourCharCode('wavo'); {Windows waveOut}
603 kWaveOutSnifferSubType = FourCharCode('wosn'); {Windows waveOut sniffer}
604 kDirectSoundSubType = FourCharCode('dsnd'); {Windows DirectSound}
605 kDirectSoundSnifferSubType = FourCharCode('dssn'); {Windows DirectSound sniffer}
606 kUNIXsdevSubType = FourCharCode('un1x'); {UNIX base sdev}
607 kUSBSubType = FourCharCode('usb '); {USB device}
608 kBlueBoxSubType = FourCharCode('bsnd'); {Blue Box sound component}
609 kHALCustomComponentSubType = FourCharCode('halx'); {Registered by the HAL output component ('hal!') for each HAL output device}
610 kSoundCompressor = FourCharCode('scom');
611 kSoundDecompressor = FourCharCode('sdec');
612 kAudioComponentType = FourCharCode('adio'); {Audio components and sub-types}
613 kAwacsPhoneSubType = FourCharCode('hphn');
614 kAudioVisionSpeakerSubType = FourCharCode('telc');
615 kAudioVisionHeadphoneSubType = FourCharCode('telh');
616 kPhilipsFaderSubType = FourCharCode('tvav');
617 kSGSToneSubType = FourCharCode('sgs0');
618 kSoundEffectsType = FourCharCode('snfx'); {sound effects type}
619 kEqualizerSubType = FourCharCode('eqal'); {frequency equalizer}
620 kSSpLocalizationSubType = FourCharCode('snd3');
621
622 {Format Types}
623 const
624 kSoundNotCompressed = FourCharCode('NONE'); {sound is not compressed}
625 k8BitOffsetBinaryFormat = FourCharCode('raw '); {8-bit offset binary}
626 k16BitBigEndianFormat = FourCharCode('twos'); {16-bit big endian}
627 k16BitLittleEndianFormat = FourCharCode('sowt'); {16-bit little endian}
628 kFloat32Format = FourCharCode('fl32'); {32-bit floating point}
629 kFloat64Format = FourCharCode('fl64'); {64-bit floating point}
630 k24BitFormat = FourCharCode('in24'); {24-bit integer}
631 k32BitFormat = FourCharCode('in32'); {32-bit integer}
632 k32BitLittleEndianFormat = FourCharCode('23ni'); {32-bit little endian integer }
633 kMACE3Compression = FourCharCode('MAC3'); {MACE 3:1}
634 kMACE6Compression = FourCharCode('MAC6'); {MACE 6:1}
635 kCDXA4Compression = FourCharCode('cdx4'); {CD/XA 4:1}
636 kCDXA2Compression = FourCharCode('cdx2'); {CD/XA 2:1}
637 kIMACompression = FourCharCode('ima4'); {IMA 4:1}
638 kULawCompression = FourCharCode('ulaw'); {�Law 2:1}
639 kALawCompression = FourCharCode('alaw'); {aLaw 2:1}
640 kMicrosoftADPCMFormat = $6D730002; {Microsoft ADPCM - ACM code 2}
641 kDVIIntelIMAFormat = $6D730011; {DVI/Intel IMA ADPCM - ACM code 17}
642 kMicrosoftGSMCompression = $6D730031; {Microsoft GSM 6.10 - ACM code 49}
643 kDVAudioFormat = FourCharCode('dvca'); {DV Audio}
644 kQDesignCompression = FourCharCode('QDMC'); {QDesign music}
645 kQDesign2Compression = FourCharCode('QDM2'); {QDesign2 music}
646 kQUALCOMMCompression = FourCharCode('Qclp'); {QUALCOMM PureVoice}
647 kOffsetBinary = k8BitOffsetBinaryFormat; {for compatibility}
648 kTwosComplement = k16BitBigEndianFormat; {for compatibility}
649 kLittleEndianFormat = k16BitLittleEndianFormat; {for compatibility}
650 kMPEGLayer3Format = $6D730055; {MPEG Layer 3, CBR only (pre QT4.1)}
651 kFullMPEGLay3Format = FourCharCode('.mp3'); {MPEG Layer 3, CBR & VBR (QT4.1 and later)}
652 kVariableDurationDVAudioFormat = FourCharCode('vdva'); {Variable Duration DV Audio}
653 kMPEG4AudioFormat = FourCharCode('mp4a');
654
655 {$ifc TARGET_RT_LITTLE_ENDIAN}
656 const
657 k16BitNativeEndianFormat = k16BitLittleEndianFormat;
658 k16BitNonNativeEndianFormat = k16BitBigEndianFormat;
659
660 {$elsec}
661 const
662 k16BitNativeEndianFormat = k16BitBigEndianFormat;
663 k16BitNonNativeEndianFormat = k16BitLittleEndianFormat;
664
665 {$endc} {TARGET_RT_LITTLE_ENDIAN}
666
667 {Features Flags}
668 const
669 k8BitRawIn = 1 shl 0; {data description}
670 k8BitTwosIn = 1 shl 1;
671 k16BitIn = 1 shl 2;
672 kStereoIn = 1 shl 3;
673 k8BitRawOut = 1 shl 8;
674 k8BitTwosOut = 1 shl 9;
675 k16BitOut = 1 shl 10;
676 kStereoOut = 1 shl 11;
677 kReverse = 1 shl 16; { function description}
678 kRateConvert = 1 shl 17;
679 kCreateSoundSource = 1 shl 18;
680 kVMAwareness = 1 shl 21; { component will hold its memory}
681 kHighQuality = 1 shl 22; { performance description}
682 kNonRealTime = 1 shl 23;
683
684 {'snfo' Resource Feature Flags}
685 const
686 kSoundCodecInfoFixedCompression = 1 shl 0; { has fixed compression format}
687 kSoundCodecInfoVariableCompression = 1 shl 1; { has variable compression format}
688 kSoundCodecInfoHasRestrictedInputRates = 1 shl 2; { compressor has restricted set of input sample rates}
689 kSoundCodecInfoCanChangeOutputRate = 1 shl 3; { compressor may output a different sample rate than it receives}
690 kSoundCodecInfoRequiresExternalFraming = 1 shl 4; { format requires external framing information during decode/encode}
691 kSoundCodecInfoVariableDuration = 1 shl 5; { audio packets can vary in duration}
692
693 {SoundComponentPlaySourceBuffer action flags}
694 const
695 kSourcePaused = 1 shl 0;
696 kPassThrough = 1 shl 16;
697 kNoSoundComponentChain = 1 shl 17;
698
699 {SoundParamBlock flags, usefull for OpenMixerSoundComponent}
700 const
701 kNoMixing = 1 shl 0; {don't mix source}
702 kNoSampleRateConversion = 1 shl 1; {don't convert sample rate (i.e. 11 kHz -> 22 kHz)}
703 kNoSampleSizeConversion = 1 shl 2; {don't convert sample size (i.e. 16 -> 8)}
704 kNoSampleFormatConversion = 1 shl 3; {don't convert sample format (i.e. 'twos' -> 'raw ')}
705 kNoChannelConversion = 1 shl 4; {don't convert stereo/mono}
706 kNoDecompression = 1 shl 5; {don't decompress (i.e. 'MAC3' -> 'raw ')}
707 kNoVolumeConversion = 1 shl 6; {don't apply volume}
708 kNoRealtimeProcessing = 1 shl 7; {won't run at interrupt time}
709 kScheduledSource = 1 shl 8; {source is scheduled}
710 kNonInterleavedBuffer = 1 shl 9; {buffer is not interleaved samples}
711 kNonPagingMixer = 1 shl 10; {if VM is on, use the non-paging mixer}
712 kSoundConverterMixer = 1 shl 11; {the mixer is to be used by the SoundConverter}
713 kPagingMixer = 1 shl 12; {the mixer is to be used as a paging mixer when VM is on}
714 kVMAwareMixer = 1 shl 13; {passed to the output device when the SM is going to deal with VM safety}
715 kExtendedSoundData = 1 shl 14; {SoundComponentData record is actually an ExtendedSoundComponentData}
716
717 {SoundParamBlock quality settings}
718 const
719 kBestQuality = 1 shl 0; {use interpolation in rate conversion}
720
721 {useful bit masks}
722 const
723 kInputMask = $000000FF; {masks off input bits}
724 kOutputMask = $0000FF00; {masks off output bits}
725 kOutputShift = 8; {amount output bits are shifted}
726 kActionMask = $00FF0000; {masks off action bits}
727 kSoundComponentBits = $00FFFFFF;
728
729 {audio atom types}
730 const
731 kAudioFormatAtomType = FourCharCode('frma');
732 kAudioEndianAtomType = FourCharCode('enda');
733 kAudioVBRAtomType = FourCharCode('vbra');
734 kAudioTerminatorAtomType = 0;
735
736 {siAVDisplayBehavior types}
737 const
738 kAVDisplayHeadphoneRemove = 0; { monitor does not have a headphone attached}
739 kAVDisplayHeadphoneInsert = 1; { monitor has a headphone attached}
740 kAVDisplayPlainTalkRemove = 2; { monitor either sending no input through CPU input port or unable to tell if input is coming in}
741 kAVDisplayPlainTalkInsert = 3; { monitor sending PlainTalk level microphone source input through sound input port}
742
743 {Audio Component constants}
744 const
745 {Values for whichChannel parameter}
746 audioAllChannels = 0; {All channels (usually interpreted as both left and right)}
747 audioLeftChannel = 1; {Left channel}
748 audioRightChannel = 2; {Right channel}
749 {Values for mute parameter}
750 audioUnmuted = 0; {Device is unmuted}
751 audioMuted = 1; {Device is muted}
752 {Capabilities flags definitions}
753 audioDoesMono = 1 shl 0; {Device supports mono output}
754 audioDoesStereo = 1 shl 1; {Device supports stereo output}
755 audioDoesIndependentChannels = 1 shl 2; {Device supports independent software control of each channel}
756
757 {Sound Input Qualities}
758 const
759 siCDQuality = FourCharCode('cd '); {44.1kHz, stereo, 16 bit}
760 siBestQuality = FourCharCode('best'); {22kHz, mono, 8 bit}
761 siBetterQuality = FourCharCode('betr'); {22kHz, mono, MACE 3:1}
762 siGoodQuality = FourCharCode('good'); {22kHz, mono, MACE 6:1}
763 siNoneQuality = FourCharCode('none'); {settings don't match any quality for a get call}
764
765 const
766 siDeviceIsConnected = 1; {input device is connected and ready for input}
767 siDeviceNotConnected = 0; {input device is not connected}
768 siDontKnowIfConnected = -1; {can't tell if input device is connected}
769 siReadPermission = 0; {permission passed to SPBOpenDevice}
770 siWritePermission = 1; {permission passed to SPBOpenDevice}
771
772 {flags that SoundConverterFillBuffer will return}
773 const
774 kSoundConverterDidntFillBuffer = 1 shl 0; {set if the converter couldn't completely satisfy a SoundConverterFillBuffer request}
775 kSoundConverterHasLeftOverData = 1 shl 1; {set if the converter had left over data after completely satisfying a SoundConverterFillBuffer call}
776
777 { flags for extendedFlags fields of ExtendedSoundComponentData, ExtendedSoundParamBlock, and ExtendedScheduledSoundHeader}
778 const
779 kExtendedSoundSampleCountNotValid = 1 shl 0; { set if sampleCount of SoundComponentData isn't meaningful; use buffer size instead}
780 kExtendedSoundBufferSizeValid = 1 shl 1; { set if bufferSize field is valid}
781 kExtendedSoundFrameSizesValid = 1 shl 2; { set if frameSizesArray is valid (will be nil if all sizes are common and kExtendedSoundCommonFrameSizeValid is set}
782 kExtendedSoundCommonFrameSizeValid = 1 shl 3; { set if all audio frames have the same size and the commonFrameSize field is valid}
783 kExtendedSoundExtensionsValid = 1 shl 4; { set if pointer to extensions array is valid}
784 kExtendedSoundBufferFlagsValid = 1 shl 5; { set if buffer flags field is valid}
785
786 { flags passed in bufferFlags/bufferFlagsMask extended fields if kExtendedSoundBufferFlagsValid extended flag is set}
787 const
788 kExtendedSoundBufferIsDiscontinuous = 1 shl 0; { buffer is discontinuous with previous buffer}
789 kExtendedSoundBufferIsFirstBuffer = 1 shl 1; { buffer is first buffer}
790
791 {
792 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
793 typedefs
794 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
795 }
796
797 type
798 SndCommandPtr = ^SndCommand;
799 SndCommand = record
800 cmd: UInt16;
801 param1: SInt16;
802 param2: SIGNEDLONG;
803 end;
804 type
805 SndChannelPtr = ^SndChannel;
806 SndCallBackProcPtr = procedure( chan: SndChannelPtr; var cmd: SndCommand );
807 SndCallBackUPP = SndCallBackProcPtr;
808 SndChannel = record
809 nextChan: SndChannelPtr;
810 firstMod: Ptr; { reserved for the Sound Manager }
811 callBack: SndCallBackUPP;
812 userInfo: SIGNEDLONG;
813 wait: SIGNEDLONG; { The following is for internal Sound Manager use only.}
814 cmdInProgress: SndCommand;
815 flags: SInt16;
816 qLength: SInt16;
817 qHead: SInt16;
818 qTail: SInt16;
819 queue: array [0..127] of SndCommand;
820 end;
821
822 {
823 * NewSndCallBackUPP()
824 *
825 * Availability:
826 * Mac OS X: in version 10.0 and later in Carbon.framework
827 * CarbonLib: in CarbonLib 1.0 and later
828 * Non-Carbon CFM: available as macro/inline
829 }
NewSndCallBackUPPnull830 function NewSndCallBackUPP( userRoutine: SndCallBackProcPtr ): SndCallBackUPP; external name '_NewSndCallBackUPP';
831 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
832
833 {
834 * DisposeSndCallBackUPP()
835 *
836 * Availability:
837 * Mac OS X: in version 10.0 and later in Carbon.framework
838 * CarbonLib: in CarbonLib 1.0 and later
839 * Non-Carbon CFM: available as macro/inline
840 }
841 procedure DisposeSndCallBackUPP( userUPP: SndCallBackUPP ); external name '_DisposeSndCallBackUPP';
842 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
843
844 {
845 * InvokeSndCallBackUPP()
846 *
847 * Availability:
848 * Mac OS X: in version 10.0 and later in Carbon.framework
849 * CarbonLib: in CarbonLib 1.0 and later
850 * Non-Carbon CFM: available as macro/inline
851 }
852 procedure InvokeSndCallBackUPP( chan: SndChannelPtr; var cmd: SndCommand; userUPP: SndCallBackUPP ); external name '_InvokeSndCallBackUPP';
853 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
854
855 {MACE structures}
856 type
857 StateBlock = record
858 stateVar: array [0..63] of SInt16;
859 end;
860 StateBlockPtr = ^StateBlock;
861 type
862 LeftOverBlock = record
863 count: UNSIGNEDLONG;
864 sampleArea: array [0..31] of SInt8;
865 end;
866 LeftOverBlockPtr = ^LeftOverBlock;
867 type
868 ModRef = record
869 modNumber: UInt16;
870 modInit: SIGNEDLONG;
871 end;
872 type
873 SndListResourcePtr = ^SndListResource;
874 SndListResource = record
875 format: SInt16;
876 numModifiers: SInt16;
877 modifierPart: array [0..0] of ModRef;
878 numCommands: SInt16;
879 commandPart: array [0..0] of SndCommand;
880 dataPart: UInt8;
881 end;
882 type
883 SndListPtr = SndListResourcePtr;
884 SndListHandle = ^SndListPtr;
885 SndListHndl = SndListHandle;
886 {HyperCard sound resource format}
887 type
888 Snd2ListResourcePtr = ^Snd2ListResource;
889 Snd2ListResource = record
890 format: SInt16;
891 refCount: SInt16;
892 numCommands: SInt16;
893 commandPart: array [0..0] of SndCommand;
894 dataPart: UInt8;
895 end;
896 type
897 Snd2ListPtr = Snd2ListResourcePtr;
898 Snd2ListHandle = ^Snd2ListPtr;
899 Snd2ListHndl = Snd2ListHandle;
900 SoundHeader = record
901 samplePtr: Ptr; {if NIL then samples are in sampleArea}
902 length: UNSIGNEDLONG; {length of sound in bytes}
903 sampleRate: UnsignedFixed; {sample rate for this sound}
904 loopStart: UNSIGNEDLONG; {start of looping portion}
905 loopEnd: UNSIGNEDLONG; {end of looping portion}
906 encode: UInt8; {header encoding}
907 baseFrequency: UInt8; {baseFrequency value}
908 sampleArea: array [0..0] of UInt8; {space for when samples follow directly}
909 pad: UInt8;
910 end;
911 SoundHeaderPtr = ^SoundHeader;
912 type
913 CmpSoundHeader = record
914 samplePtr: Ptr; {if nil then samples are in sample area}
915 numChannels: UNSIGNEDLONG; {number of channels i.e. mono = 1}
916 sampleRate: UnsignedFixed; {sample rate in Apples Fixed point representation}
917 loopStart: UNSIGNEDLONG; {loopStart of sound before compression}
918 loopEnd: UNSIGNEDLONG; {loopEnd of sound before compression}
919 encode: UInt8; {data structure used , stdSH, extSH, or cmpSH}
920 baseFrequency: UInt8; {same meaning as regular SoundHeader}
921 numFrames: UNSIGNEDLONG; {length in frames ( packetFrames or sampleFrames )}
922 AIFFSampleRate: extended80; {IEEE sample rate}
923 markerChunk: Ptr; {sync track}
924 format: OSType; {data format type, was futureUse1}
925 futureUse2: UNSIGNEDLONG; {reserved by Apple}
926 stateVars: StateBlockPtr; {pointer to State Block}
927 leftOverSamples: LeftOverBlockPtr; {used to save truncated samples between compression calls}
928 compressionID: SInt16; {0 means no compression, non zero means compressionID}
929 packetSize: UInt16; {number of bits in compressed sample packet}
930 snthID: UInt16; {resource ID of Sound Manager snth that contains NRT C/E}
931 sampleSize: UInt16; {number of bits in non-compressed sample}
932 sampleArea: array [0..0] of UInt8; {space for when samples follow directly}
933 pad: UInt8;
934 end;
935 CmpSoundHeaderPtr = ^CmpSoundHeader;
936 type
937 ExtSoundHeader = record
938 samplePtr: Ptr; {if nil then samples are in sample area}
939 numChannels: UNSIGNEDLONG; {number of channels, ie mono = 1}
940 sampleRate: UnsignedFixed; {sample rate in Apples Fixed point representation}
941 loopStart: UNSIGNEDLONG; {same meaning as regular SoundHeader}
942 loopEnd: UNSIGNEDLONG; {same meaning as regular SoundHeader}
943 encode: UInt8; {data structure used , stdSH, extSH, or cmpSH}
944 baseFrequency: UInt8; {same meaning as regular SoundHeader}
945 numFrames: UNSIGNEDLONG; {length in total number of frames}
946 AIFFSampleRate: extended80; {IEEE sample rate}
947 markerChunk: Ptr; {sync track}
948 instrumentChunks: Ptr; {AIFF instrument chunks}
949 AESRecording: Ptr;
950 sampleSize: UInt16; {number of bits in sample}
951 futureUse1: UInt16; {reserved by Apple}
952 futureUse2: UNSIGNEDLONG; {reserved by Apple}
953 futureUse3: UNSIGNEDLONG; {reserved by Apple}
954 futureUse4: UNSIGNEDLONG; {reserved by Apple}
955 sampleArea: array [0..0] of UInt8; {space for when samples follow directly}
956 pad: UInt8;
957 end;
958 ExtSoundHeaderPtr = ^ExtSoundHeader;
959 type
960 SoundHeaderUnionPtr = ^SoundHeaderUnion;
961 SoundHeaderUnion = record
962 case SInt16 of
963 0: (
964 stdHeader: SoundHeader;
965 );
966 1: (
967 cmpHeader: CmpSoundHeader;
968 );
969 2: (
970 extHeader: ExtSoundHeader;
971 );
972 end;
973
974 ConversionBlock = record
975 destination: SInt16;
976 unused: SInt16;
977 inputPtr: CmpSoundHeaderPtr;
978 outputPtr: CmpSoundHeaderPtr;
979 end;
980 ConversionBlockPtr = ^ConversionBlock;
981 { ScheduledSoundHeader flags}
982 const
983 kScheduledSoundDoScheduled = 1 shl 0;
984 kScheduledSoundDoCallBack = 1 shl 1;
985 kScheduledSoundExtendedHdr = 1 shl 2;
986
987 type
988 ScheduledSoundHeader = record
989 u: SoundHeaderUnion;
990 flags: SIGNEDLONG;
991 reserved: SInt16;
992 callBackParam1: SInt16;
993 callBackParam2: SIGNEDLONG;
994 startTime: TimeRecord;
995 end;
996 ScheduledSoundHeaderPtr = ^ScheduledSoundHeader;
997 type
998 ExtendedScheduledSoundHeader = record
999 u: SoundHeaderUnion;
1000 flags: SIGNEDLONG;
1001 reserved: SInt16;
1002 callBackParam1: SInt16;
1003 callBackParam2: SIGNEDLONG;
1004 startTime: TimeRecord;
1005 recordSize: SIGNEDLONG;
1006 extendedFlags: SIGNEDLONG;
1007 bufferSize: SIGNEDLONG;
1008 frameCount: SIGNEDLONG; { number of audio frames}
1009 frameSizesArray: SIGNEDLONGPtr; { pointer to array of longs with frame sizes in bytes}
1010 commonFrameSize: SIGNEDLONG; { size of each frame if common}
1011 extensionsPtr: UnivPtr; {pointer to set of classic atoms (size,type,data,...)}
1012 extensionsSize: SIGNEDLONG; {size of extensions data (extensionsPtr)}
1013 bufferFlags: UNSIGNEDLONG; {set or cleared flags}
1014 bufferFlagsMask: UNSIGNEDLONG; {which flags are valid}
1015 end;
1016 ExtendedScheduledSoundHeaderPtr = ^ExtendedScheduledSoundHeader;
1017 type
1018 SMStatus = record
1019 smMaxCPULoad: SInt16;
1020 smNumChannels: SInt16;
1021 smCurCPULoad: SInt16;
1022 end;
1023 SMStatusPtr = ^SMStatus;
1024 type
1025 SCStatus = record
1026 scStartTime: UnsignedFixed;
1027 scEndTime: UnsignedFixed;
1028 scCurrentTime: UnsignedFixed;
1029 scChannelBusy: Boolean;
1030 scChannelDisposed: Boolean;
1031 scChannelPaused: Boolean;
1032 scUnused: Boolean;
1033 scChannelAttributes: UNSIGNEDLONG;
1034 scCPULoad: SIGNEDLONG;
1035 end;
1036 SCStatusPtr = ^SCStatus;
1037 type
1038 AudioSelection = record
1039 unitType: SIGNEDLONG;
1040 selStart: UnsignedFixed;
1041 selEnd: UnsignedFixed;
1042 end;
1043 AudioSelectionPtr = ^AudioSelection;
1044 {$ifc CALL_NOT_IN_CARBON}
1045 type
1046 SndDoubleBuffer = record
1047 dbNumFrames: SIGNEDLONG;
1048 dbFlags: SIGNEDLONG;
1049 dbUserInfo: array [0..1] of SInt32;
1050 dbSoundData: array [0..0] of SInt8;
1051 end;
1052 SndDoubleBufferPtr = ^SndDoubleBuffer;
1053
1054
1055 type
1056 SndDoubleBackProcPtr = procedure( channel: SndChannelPtr; doubleBufferPtr: SndDoubleBufferPtr );
1057 SndDoubleBackUPP = SndDoubleBackProcPtr;
1058 {
1059 * NewSndDoubleBackUPP()
1060 *
1061 * Availability:
1062 * Mac OS X: not available
1063 * CarbonLib: not available
1064 * Non-Carbon CFM: available as macro/inline
1065 }
1066
1067 {
1068 * DisposeSndDoubleBackUPP()
1069 *
1070 * Availability:
1071 * Mac OS X: not available
1072 * CarbonLib: not available
1073 * Non-Carbon CFM: available as macro/inline
1074 }
1075
1076 {
1077 * InvokeSndDoubleBackUPP()
1078 *
1079 * Availability:
1080 * Mac OS X: not available
1081 * CarbonLib: not available
1082 * Non-Carbon CFM: available as macro/inline
1083 }
1084
1085 type
1086 SndDoubleBufferHeader = record
1087 dbhNumChannels: SInt16;
1088 dbhSampleSize: SInt16;
1089 dbhCompressionID: SInt16;
1090 dbhPacketSize: SInt16;
1091 dbhSampleRate: UnsignedFixed;
1092 dbhBufferPtr: array [0..1] of SndDoubleBufferPtr;
1093 dbhDoubleBack: SndDoubleBackUPP;
1094 end;
1095 SndDoubleBufferHeaderPtr = ^SndDoubleBufferHeader;
1096 type
1097 SndDoubleBufferHeader2 = record
1098 dbhNumChannels: SInt16;
1099 dbhSampleSize: SInt16;
1100 dbhCompressionID: SInt16;
1101 dbhPacketSize: SInt16;
1102 dbhSampleRate: UnsignedFixed;
1103 dbhBufferPtr: array [0..1] of SndDoubleBufferPtr;
1104 dbhDoubleBack: SndDoubleBackUPP;
1105 dbhFormat: OSType;
1106 end;
1107 SndDoubleBufferHeader2Ptr = ^SndDoubleBufferHeader2;
1108 {$endc} {CALL_NOT_IN_CARBON}
1109
1110 type
1111 SoundInfoList = record
1112 count: SInt16;
1113 infoHandle: Handle;
1114 end;
1115 SoundInfoListPtr = ^SoundInfoList;
1116 type
1117 SoundComponentData = record
1118 flags: SIGNEDLONG;
1119 format: OSType;
1120 numChannels: SInt16;
1121 sampleSize: SInt16;
1122 sampleRate: UnsignedFixed;
1123 sampleCount: SIGNEDLONG;
1124 buffer: BytePtr;
1125 reserved: SIGNEDLONG;
1126 end;
1127 SoundComponentDataPtr = ^SoundComponentData;
1128 type
1129 ExtendedSoundComponentData = record
1130 desc: SoundComponentData; {description of sound buffer}
1131 recordSize: SIGNEDLONG; {size of this record in bytes}
1132 extendedFlags: SIGNEDLONG; {flags for extended record}
1133 bufferSize: SIGNEDLONG; {size of buffer in bytes}
1134 frameCount: SIGNEDLONG; {number of audio frames}
1135 frameSizesArray: SIGNEDLONGPtr; {pointer to array of longs with frame sizes in bytes}
1136 commonFrameSize: SIGNEDLONG; {size of each frame if common}
1137 extensionsPtr: UnivPtr; {pointer to set of classic atoms (size,type,data,...)}
1138 extensionsSize: SIGNEDLONG; {size of extensions data (extensionsPtr)}
1139 bufferFlags: UNSIGNEDLONG; {set or cleared flags}
1140 bufferFlagsMask: UNSIGNEDLONG; {which flags are valid}
1141 end;
1142 ExtendedSoundComponentDataPtr = ^ExtendedSoundComponentData;
1143 type
1144 SoundParamBlockPtr = ^SoundParamBlock;
varnull1145 SoundParamProcPtr = function( var pb: SoundParamBlockPtr ): Boolean;
1146 SoundParamUPP = SoundParamProcPtr;
1147 SoundParamBlock = record
1148 recordSize: SIGNEDLONG; {size of this record in bytes}
1149 desc: SoundComponentData; {description of sound buffer}
1150 rateMultiplier: UnsignedFixed; {rate multiplier to apply to sound}
1151 leftVolume: SInt16; {volumes to apply to sound}
1152 rightVolume: SInt16;
1153 quality: SIGNEDLONG; {quality to apply to sound}
1154 filter: ComponentInstance; {filter to apply to sound}
1155 moreRtn: SoundParamUPP; {routine to call to get more data}
1156 completionRtn: SoundParamUPP; {routine to call when buffer is complete}
1157 refCon: SIGNEDLONG; {user refcon}
1158 result: SInt16; {result}
1159 end;
1160
1161 type
1162 ExtendedSoundParamBlock = record
1163 pb: SoundParamBlock; {classic SoundParamBlock except recordSize == sizeof(ExtendedSoundParamBlock)}
1164 reserved: SInt16;
1165 extendedFlags: SIGNEDLONG; {flags}
1166 bufferSize: SIGNEDLONG; {size of buffer in bytes}
1167 frameCount: SIGNEDLONG; {number of audio frames}
1168 frameSizesArray: SIGNEDLONGPtr; {pointer to array of longs with frame sizes in bytes}
1169 commonFrameSize: SIGNEDLONG; {size of each frame if common}
1170 extensionsPtr: UnivPtr; {pointer to set of classic atoms (size,type,data,...)}
1171 extensionsSize: SIGNEDLONG; {size of extensions data (extensionsPtr)}
1172 bufferFlags: UNSIGNEDLONG; {set or cleared flags}
1173 bufferFlagsMask: UNSIGNEDLONG; {which flags are valid}
1174 end;
1175 ExtendedSoundParamBlockPtr = ^ExtendedSoundParamBlock;
1176 type
1177 CompressionInfo = record
1178 recordSize: SIGNEDLONG;
1179 format: OSType;
1180 compressionID: SInt16;
1181 samplesPerPacket: UInt16;
1182 bytesPerPacket: UInt16;
1183 bytesPerFrame: UInt16;
1184 bytesPerSample: UInt16;
1185 futureUse1: UInt16;
1186 end;
1187 CompressionInfoPtr = ^CompressionInfo;
1188 type
1189 CompressionInfoHandle = ^CompressionInfoPtr;
1190 {variables for floating point conversion}
1191 type
1192 SoundSlopeAndInterceptRecordPtr = ^SoundSlopeAndInterceptRecord;
1193 SoundSlopeAndInterceptRecord = record
1194 slope: Float64;
1195 intercept: Float64;
1196 minClip: Float64;
1197 maxClip: Float64;
1198 end;
1199 type
1200 SoundSlopeAndInterceptPtr = SoundSlopeAndInterceptRecordPtr;
1201 {private thing to use as a reference to a Sound Converter}
1202 type
1203 SoundConverter = ^OpaqueSoundConverter; { an opaque type }
1204 OpaqueSoundConverter = record end;
1205 SoundConverterPtr = ^SoundConverter; { when a var xx:SoundConverter parameter can be nil, it is changed to xx: SoundConverterPtr }
1206 {callback routine to provide data to the Sound Converter}
1207 type
varnull1208 SoundConverterFillBufferDataProcPtr = function( var data: SoundComponentDataPtr; refCon: UnivPtr ): Boolean;
1209 SoundConverterFillBufferDataUPP = SoundConverterFillBufferDataProcPtr;
1210 {private thing to use as a reference to a Sound Source}
1211 type
1212 SoundSource = ^OpaqueSoundSource; { an opaque type }
1213 OpaqueSoundSource = record end;
1214 SoundSourcePtr = ^SoundSource;
1215
1216
1217 type
1218 SoundComponentLink = record
1219 description: ComponentDescription; {Describes the sound component}
1220 mixerID: SoundSource; {Reserved by Apple}
1221 linkID: SoundSourcePtr; {Reserved by Apple}
1222 end;
1223 SoundComponentLinkPtr = ^SoundComponentLink;
1224 type
1225 AudioInfo = record
1226 capabilitiesFlags: SIGNEDLONG; {Describes device capabilities}
1227 reserved: SIGNEDLONG; {Reserved by Apple}
1228 numVolumeSteps: UInt16; {Number of significant increments between min and max volume}
1229 end;
1230 AudioInfoPtr = ^AudioInfo;
1231 type
1232 AudioFormatAtom = record
1233 size: SIGNEDLONG; { = sizeof(AudioFormatAtom)}
1234 atomType: OSType; { = kAudioFormatAtomType}
1235 format: OSType;
1236 end;
1237 AudioFormatAtomPtr = ^AudioFormatAtom;
1238 type
1239 AudioEndianAtom = record
1240 size: SIGNEDLONG; { = sizeof(AudioEndianAtom)}
1241 atomType: OSType; { = kAudioEndianAtomType}
1242 littleEndian: SInt16;
1243 end;
1244 AudioEndianAtomPtr = ^AudioEndianAtom;
1245 type
1246 AudioTerminatorAtom = record
1247 size: SIGNEDLONG; { = sizeof(AudioTerminatorAtom)}
1248 atomType: OSType; { = kAudioTerminatorAtomType}
1249 end;
1250 AudioTerminatorAtomPtr = ^AudioTerminatorAtom;
1251 type
1252 LevelMeterInfo = record
1253 numChannels: SInt16; { mono or stereo source}
1254 leftMeter: UInt8; { 0-255 range}
1255 rightMeter: UInt8; { 0-255 range}
1256 end;
1257 LevelMeterInfoPtr = ^LevelMeterInfo;
1258 type
1259 EQSpectrumBandsRecord = record
1260 count: SInt16;
1261 frequency: UnsignedFixedPtr; { pointer to array of frequencies}
1262 end;
1263 EQSpectrumBandsRecordPtr = ^EQSpectrumBandsRecord;
1264 const
1265 kSoundAudioCodecPropertyWritableFlag = 1 shl 0;
1266
1267 type
1268 SoundAudioCodecPropertyRequestParams = record
1269 propertyClass: UInt32;
1270 propertyID: UInt32;
1271 propertyDataSize: UInt32; { out -- GetPropertyInfo, in/out -- GetProperty, in -- SetProperty}
1272 propertyData: UnivPtr; { in -- GetPropertyInfo, GetProperty, SetProperty}
1273 propertyRequestFlags: UInt32; { out -- GetPropertyInfo}
1274 propertyDataType: UInt32; { out -- GetPropertyInfo, often 0}
1275 propertyRequestResult: ComponentResult; { out -- GetPropertyInfo, GetProperty, SetProperty}
1276 end;
1277
1278
1279 { Sound Input Structures}
1280 type
1281 SPBPtr = ^SPB;
1282
1283
1284 {user procedures called by sound input routines}
1285 SIInterruptProcPtr = procedure( inParamPtr: SPBPtr; dataBuffer: Ptr; peakAmplitude: SInt16; sampleSize: SIGNEDLONG );
1286 SICompletionProcPtr = procedure( inParamPtr: SPBPtr );
1287 SIInterruptUPP = SIInterruptProcPtr;
1288 SICompletionUPP = SICompletionProcPtr;
1289
1290
1291 {Sound Input Parameter Block}
1292 SPB = record
1293 inRefNum: SIGNEDLONG; {reference number of sound input device}
1294 count: UNSIGNEDLONG; {number of bytes to record}
1295 milliseconds: UNSIGNEDLONG; {number of milliseconds to record}
1296 bufferLength: UNSIGNEDLONG; {length of buffer in bytes}
1297 bufferPtr: Ptr; {buffer to store sound data in}
1298 completionRoutine: SICompletionUPP; {completion routine}
1299 interruptRoutine: SIInterruptUPP; {interrupt routine}
1300 userLong: SIGNEDLONG; {user-defined field}
1301 error: OSErr; {error}
1302 unused1: SIGNEDLONG; {reserved - must be zero}
1303 end;
1304
1305 {
1306 * NewSoundParamUPP()
1307 *
1308 * Availability:
1309 * Mac OS X: in version 10.0 and later in Carbon.framework
1310 * CarbonLib: in CarbonLib 1.0 and later
1311 * Non-Carbon CFM: available as macro/inline
1312 }
NewSoundParamUPPnull1313 function NewSoundParamUPP( userRoutine: SoundParamProcPtr ): SoundParamUPP; external name '_NewSoundParamUPP';
1314 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1315
1316 {
1317 * NewSoundConverterFillBufferDataUPP()
1318 *
1319 * Availability:
1320 * Mac OS X: in version 10.0 and later in Carbon.framework
1321 * CarbonLib: in CarbonLib 1.1 and later
1322 * Non-Carbon CFM: available as macro/inline
1323 }
NewSoundConverterFillBufferDataUPPnull1324 function NewSoundConverterFillBufferDataUPP( userRoutine: SoundConverterFillBufferDataProcPtr ): SoundConverterFillBufferDataUPP; external name '_NewSoundConverterFillBufferDataUPP';
1325 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1326
1327 {
1328 * NewSIInterruptUPP()
1329 *
1330 * Availability:
1331 * Mac OS X: in version 10.0 and later in Carbon.framework
1332 * CarbonLib: in CarbonLib 1.0 and later
1333 * Non-Carbon CFM: available as macro/inline
1334 }
NewSIInterruptUPPnull1335 function NewSIInterruptUPP( userRoutine: SIInterruptProcPtr ): SIInterruptUPP; external name '_NewSIInterruptUPP';
1336 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1337
1338 {
1339 * NewSICompletionUPP()
1340 *
1341 * Availability:
1342 * Mac OS X: in version 10.0 and later in Carbon.framework
1343 * CarbonLib: in CarbonLib 1.0 and later
1344 * Non-Carbon CFM: available as macro/inline
1345 }
NewSICompletionUPPnull1346 function NewSICompletionUPP( userRoutine: SICompletionProcPtr ): SICompletionUPP; external name '_NewSICompletionUPP';
1347 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1348
1349 {
1350 * DisposeSoundParamUPP()
1351 *
1352 * Availability:
1353 * Mac OS X: in version 10.0 and later in Carbon.framework
1354 * CarbonLib: in CarbonLib 1.0 and later
1355 * Non-Carbon CFM: available as macro/inline
1356 }
1357 procedure DisposeSoundParamUPP( userUPP: SoundParamUPP ); external name '_DisposeSoundParamUPP';
1358 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1359
1360 {
1361 * DisposeSoundConverterFillBufferDataUPP()
1362 *
1363 * Availability:
1364 * Mac OS X: in version 10.0 and later in Carbon.framework
1365 * CarbonLib: in CarbonLib 1.1 and later
1366 * Non-Carbon CFM: available as macro/inline
1367 }
1368 procedure DisposeSoundConverterFillBufferDataUPP( userUPP: SoundConverterFillBufferDataUPP ); external name '_DisposeSoundConverterFillBufferDataUPP';
1369 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1370
1371 {
1372 * DisposeSIInterruptUPP()
1373 *
1374 * Availability:
1375 * Mac OS X: in version 10.0 and later in Carbon.framework
1376 * CarbonLib: in CarbonLib 1.0 and later
1377 * Non-Carbon CFM: available as macro/inline
1378 }
1379 procedure DisposeSIInterruptUPP( userUPP: SIInterruptUPP ); external name '_DisposeSIInterruptUPP';
1380 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1381
1382 {
1383 * DisposeSICompletionUPP()
1384 *
1385 * Availability:
1386 * Mac OS X: in version 10.0 and later in Carbon.framework
1387 * CarbonLib: in CarbonLib 1.0 and later
1388 * Non-Carbon CFM: available as macro/inline
1389 }
1390 procedure DisposeSICompletionUPP( userUPP: SICompletionUPP ); external name '_DisposeSICompletionUPP';
1391 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1392
1393 {
1394 * InvokeSoundParamUPP()
1395 *
1396 * Availability:
1397 * Mac OS X: in version 10.0 and later in Carbon.framework
1398 * CarbonLib: in CarbonLib 1.0 and later
1399 * Non-Carbon CFM: available as macro/inline
1400 }
InvokeSoundParamUPPnull1401 function InvokeSoundParamUPP( var pb: SoundParamBlockPtr; userUPP: SoundParamUPP ): Boolean; external name '_InvokeSoundParamUPP';
1402 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1403
1404 {
1405 * InvokeSoundConverterFillBufferDataUPP()
1406 *
1407 * Availability:
1408 * Mac OS X: in version 10.0 and later in Carbon.framework
1409 * CarbonLib: in CarbonLib 1.1 and later
1410 * Non-Carbon CFM: available as macro/inline
1411 }
InvokeSoundConverterFillBufferDataUPPnull1412 function InvokeSoundConverterFillBufferDataUPP( var data: SoundComponentDataPtr; refCon: UnivPtr; userUPP: SoundConverterFillBufferDataUPP ): Boolean; external name '_InvokeSoundConverterFillBufferDataUPP';
1413 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1414
1415 {
1416 * InvokeSIInterruptUPP()
1417 *
1418 * Availability:
1419 * Mac OS X: in version 10.0 and later in Carbon.framework
1420 * CarbonLib: in CarbonLib 1.0 and later
1421 * Non-Carbon CFM: available as macro/inline
1422 }
1423 procedure InvokeSIInterruptUPP( inParamPtr: SPBPtr; dataBuffer: Ptr; peakAmplitude: SInt16; sampleSize: SIGNEDLONG; userUPP: SIInterruptUPP ); external name '_InvokeSIInterruptUPP';
1424 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1425
1426 {
1427 * InvokeSICompletionUPP()
1428 *
1429 * Availability:
1430 * Mac OS X: in version 10.0 and later in Carbon.framework
1431 * CarbonLib: in CarbonLib 1.0 and later
1432 * Non-Carbon CFM: available as macro/inline
1433 }
1434 procedure InvokeSICompletionUPP( inParamPtr: SPBPtr; userUPP: SICompletionUPP ); external name '_InvokeSICompletionUPP';
1435 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1436
1437 type
1438 FilePlayCompletionProcPtr = procedure( chan: SndChannelPtr );
1439 FilePlayCompletionUPP = FilePlayCompletionProcPtr;
1440 {
1441 * NewFilePlayCompletionUPP()
1442 *
1443 * Availability:
1444 * Mac OS X: not available
1445 * CarbonLib: not available
1446 * Non-Carbon CFM: available as macro/inline
1447 }
1448
1449 {
1450 * DisposeFilePlayCompletionUPP()
1451 *
1452 * Availability:
1453 * Mac OS X: not available
1454 * CarbonLib: not available
1455 * Non-Carbon CFM: available as macro/inline
1456 }
1457
1458 {
1459 * InvokeFilePlayCompletionUPP()
1460 *
1461 * Availability:
1462 * Mac OS X: not available
1463 * CarbonLib: not available
1464 * Non-Carbon CFM: available as macro/inline
1465 }
1466
1467 {
1468 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1469 prototypes
1470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1471 }
1472
1473
1474 { Sound Manager routines }
1475 {$ifc not TARGET_CPU_64}
1476 {
1477 * SysBeep() *** DEPRECATED ***
1478 *
1479 * Deprecated:
1480 * Use AudioServicesPlayAlertSound(). Found in
1481 * AudioToolbox/AudioServices.h
1482 *
1483 * Availability:
1484 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1485 * CarbonLib: in CarbonLib 1.0 and later
1486 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1487 }
1488 procedure SysBeep( duration: SInt16 ); external name '_SysBeep';
1489 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1490
1491
1492 {
1493 * SndDoCommand() *** DEPRECATED ***
1494 *
1495 * Availability:
1496 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1497 * CarbonLib: in CarbonLib 1.0 and later
1498 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1499 }
SndDoCommandnull1500 function SndDoCommand( chan: SndChannelPtr; const (*var*) cmd: SndCommand; noWait: Boolean ): OSErr; external name '_SndDoCommand';
1501 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1502
1503
1504 {
1505 * SndDoImmediate() *** DEPRECATED ***
1506 *
1507 * Availability:
1508 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1509 * CarbonLib: in CarbonLib 1.0 and later
1510 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1511 }
SndDoImmediatenull1512 function SndDoImmediate( chan: SndChannelPtr; const (*var*) cmd: SndCommand ): OSErr; external name '_SndDoImmediate';
1513 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1514
1515
1516 {
1517 * SndNewChannel() *** DEPRECATED ***
1518 *
1519 * Availability:
1520 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1521 * CarbonLib: in CarbonLib 1.0 and later
1522 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1523 }
SndNewChannelnull1524 function SndNewChannel( var chan: SndChannelPtr; synth: SInt16; init: SIGNEDLONG; userRoutine: SndCallBackUPP ): OSErr; external name '_SndNewChannel';
1525 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1526
1527
1528 {
1529 * SndDisposeChannel() *** DEPRECATED ***
1530 *
1531 * Availability:
1532 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1533 * CarbonLib: in CarbonLib 1.0 and later
1534 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1535 }
SndDisposeChannelnull1536 function SndDisposeChannel( chan: SndChannelPtr; quietNow: Boolean ): OSErr; external name '_SndDisposeChannel';
1537 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1538
1539
1540 {
1541 * SndPlay() *** DEPRECATED ***
1542 *
1543 * Availability:
1544 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1545 * CarbonLib: in CarbonLib 1.0 and later
1546 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1547 }
SndPlaynull1548 function SndPlay( chan: SndChannelPtr; sndHandle: SndListHandle; async: Boolean ): OSErr; external name '_SndPlay';
1549 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1550
1551
1552 {$endc} {not TARGET_CPU_64}
1553
1554 {$ifc OLDROUTINENAMES}
1555 {
1556 * SndAddModifier()
1557 *
1558 * Availability:
1559 * Mac OS X: not available
1560 * CarbonLib: not available
1561 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1562 }
1563
1564
1565 {$endc} {OLDROUTINENAMES}
1566
1567 {
1568 * SndControl()
1569 *
1570 * Availability:
1571 * Mac OS X: not available
1572 * CarbonLib: not available
1573 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1574 }
1575
1576
1577 { Sound Manager 2.0 and later, uses _SoundDispatch }
1578 {$ifc not TARGET_CPU_64}
1579 {
1580 * SndSoundManagerVersion() *** DEPRECATED ***
1581 *
1582 * Availability:
1583 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1584 * CarbonLib: in CarbonLib 1.0 and later
1585 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1586 }
SndSoundManagerVersionnull1587 function SndSoundManagerVersion: NumVersion; external name '_SndSoundManagerVersion';
1588 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1589
1590
1591 {$endc} {not TARGET_CPU_64}
1592
1593 {
1594 * SndStartFilePlay()
1595 *
1596 * Availability:
1597 * Mac OS X: not available
1598 * CarbonLib: not available
1599 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1600 }
1601
1602
1603 {
1604 * SndPauseFilePlay()
1605 *
1606 * Availability:
1607 * Mac OS X: not available
1608 * CarbonLib: not available
1609 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1610 }
1611
1612
1613 {
1614 * SndStopFilePlay()
1615 *
1616 * Availability:
1617 * Mac OS X: not available
1618 * CarbonLib: not available
1619 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1620 }
1621
1622
1623 {$ifc not TARGET_CPU_64}
1624 {
1625 * SndChannelStatus() *** DEPRECATED ***
1626 *
1627 * Availability:
1628 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1629 * CarbonLib: in CarbonLib 1.0 and later
1630 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1631 }
SndChannelStatusnull1632 function SndChannelStatus( chan: SndChannelPtr; theLength: SInt16; theStatus: SCStatusPtr ): OSErr; external name '_SndChannelStatus';
1633 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1634
1635
1636 {
1637 * SndManagerStatus() *** DEPRECATED ***
1638 *
1639 * Availability:
1640 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1641 * CarbonLib: in CarbonLib 1.0 and later
1642 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1643 }
SndManagerStatusnull1644 function SndManagerStatus( theLength: SInt16; theStatus: SMStatusPtr ): OSErr; external name '_SndManagerStatus';
1645 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1646
1647
1648 {
1649 * SndGetSysBeepState() *** DEPRECATED ***
1650 *
1651 * Deprecated:
1652 * SysBeep related APIs have been replaced by AudioServices. Found
1653 * in AudioToolbox/AudioServices.h
1654 *
1655 * Availability:
1656 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1657 * CarbonLib: in CarbonLib 1.0 and later
1658 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1659 }
1660 procedure SndGetSysBeepState( var sysBeepState: SInt16 ); external name '_SndGetSysBeepState';
1661 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1662
1663
1664 {
1665 * SndSetSysBeepState() *** DEPRECATED ***
1666 *
1667 * Deprecated:
1668 * SysBeep related APIs have been replaced by AudioServices. Found
1669 * in AudioToolbox/AudioServices.h
1670 *
1671 * Availability:
1672 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1673 * CarbonLib: in CarbonLib 1.0 and later
1674 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1675 }
SndSetSysBeepStatenull1676 function SndSetSysBeepState( sysBeepState: SInt16 ): OSErr; external name '_SndSetSysBeepState';
1677 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1678
1679
1680 {$endc} {not TARGET_CPU_64}
1681
1682 {
1683 * SndPlayDoubleBuffer()
1684 *
1685 * Availability:
1686 * Mac OS X: not available
1687 * CarbonLib: not available
1688 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1689 }
1690
1691
1692 { MACE compression routines, uses _SoundDispatch }
1693 {
1694 * MACEVersion()
1695 *
1696 * Availability:
1697 * Mac OS X: not available
1698 * CarbonLib: not available
1699 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1700 }
1701
1702
1703 {
1704 * Comp3to1()
1705 *
1706 * Availability:
1707 * Mac OS X: not available
1708 * CarbonLib: not available
1709 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1710 }
1711
1712
1713 {
1714 * Exp1to3()
1715 *
1716 * Availability:
1717 * Mac OS X: not available
1718 * CarbonLib: not available
1719 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1720 }
1721
1722
1723 {
1724 * Comp6to1()
1725 *
1726 * Availability:
1727 * Mac OS X: not available
1728 * CarbonLib: not available
1729 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1730 }
1731
1732
1733 {
1734 * Exp1to6()
1735 *
1736 * Availability:
1737 * Mac OS X: not available
1738 * CarbonLib: not available
1739 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1740 }
1741
1742
1743 { Sound Manager 3.0 and later calls, uses _SoundDispatch }
1744 {$ifc not TARGET_CPU_64}
1745 {
1746 * GetSysBeepVolume() *** DEPRECATED ***
1747 *
1748 * Availability:
1749 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1750 * CarbonLib: in CarbonLib 1.0 and later
1751 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1752 }
GetSysBeepVolumenull1753 function GetSysBeepVolume( var level: SIGNEDLONG ): OSErr; external name '_GetSysBeepVolume';
1754 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1755
1756
1757 {
1758 * SetSysBeepVolume() *** DEPRECATED ***
1759 *
1760 * Availability:
1761 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1762 * CarbonLib: in CarbonLib 1.0 and later
1763 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1764 }
SetSysBeepVolumenull1765 function SetSysBeepVolume( level: SIGNEDLONG ): OSErr; external name '_SetSysBeepVolume';
1766 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1767
1768
1769 {
1770 * GetDefaultOutputVolume() *** DEPRECATED ***
1771 *
1772 * Availability:
1773 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1774 * CarbonLib: in CarbonLib 1.0 and later
1775 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1776 }
GetDefaultOutputVolumenull1777 function GetDefaultOutputVolume( var level: SIGNEDLONG ): OSErr; external name '_GetDefaultOutputVolume';
1778 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1779
1780
1781 {
1782 * SetDefaultOutputVolume() *** DEPRECATED ***
1783 *
1784 * Availability:
1785 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1786 * CarbonLib: in CarbonLib 1.0 and later
1787 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1788 }
SetDefaultOutputVolumenull1789 function SetDefaultOutputVolume( level: SIGNEDLONG ): OSErr; external name '_SetDefaultOutputVolume';
1790 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1791
1792
1793 {
1794 * GetSoundHeaderOffset() *** DEPRECATED ***
1795 *
1796 * Availability:
1797 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1798 * CarbonLib: in CarbonLib 1.0 and later
1799 * Non-Carbon CFM: in InterfaceLib 7.1 and later
1800 }
GetSoundHeaderOffsetnull1801 function GetSoundHeaderOffset( sndHandle: SndListHandle; var offset: SIGNEDLONG ): OSErr; external name '_GetSoundHeaderOffset';
1802 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1803
1804
1805 {$endc} {not TARGET_CPU_64}
1806
1807 {
1808 * UnsignedFixedMulDiv()
1809 *
1810 * Availability:
1811 * Mac OS X: not available
1812 * CarbonLib: in CarbonLib 1.0 and later
1813 * Non-Carbon CFM: in SoundLib 3.0 and later
1814 }
1815 (*
1816 function UnsignedFixedMulDiv( value: UnsignedFixed; multiplier: UnsignedFixed; divisor: UnsignedFixed ): UnsignedFixed; external name '_UnsignedFixedMulDiv';
1817
1818 Duplicated in FixMath.h, also strange that it's included here without availability info.
1819 *)
1820
1821 {$ifc not TARGET_CPU_64}
1822 {
1823 * GetCompressionInfo() *** DEPRECATED ***
1824 *
1825 * Availability:
1826 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1827 * CarbonLib: in CarbonLib 1.0 and later
1828 * Non-Carbon CFM: in SoundLib 3.0 and later
1829 }
GetCompressionInfonull1830 function GetCompressionInfo( compressionID: SInt16; format: OSType; numChannels: SInt16; sampleSize: SInt16; cp: CompressionInfoPtr ): OSErr; external name '_GetCompressionInfo';
1831 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1832
1833
1834 {
1835 * SetSoundPreference() *** DEPRECATED ***
1836 *
1837 * Availability:
1838 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1839 * CarbonLib: in CarbonLib 1.0 and later
1840 * Non-Carbon CFM: in SoundLib 3.0 and later
1841 }
SetSoundPreferencenull1842 function SetSoundPreference( theType: OSType; var name: Str255; settings: Handle ): OSErr; external name '_SetSoundPreference';
1843 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1844
1845
1846 {
1847 * GetSoundPreference() *** DEPRECATED ***
1848 *
1849 * Availability:
1850 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1851 * CarbonLib: in CarbonLib 1.0 and later
1852 * Non-Carbon CFM: in SoundLib 3.0 and later
1853 }
GetSoundPreferencenull1854 function GetSoundPreference( theType: OSType; var name: Str255; settings: Handle ): OSErr; external name '_GetSoundPreference';
1855 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1856
1857
1858 {
1859 * OpenMixerSoundComponent() *** DEPRECATED ***
1860 *
1861 * Availability:
1862 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1863 * CarbonLib: in CarbonLib 1.0 and later
1864 * Non-Carbon CFM: in SoundLib 3.0 and later
1865 }
OpenMixerSoundComponentnull1866 function OpenMixerSoundComponent( outputDescription: SoundComponentDataPtr; outputFlags: SIGNEDLONG; var mixerComponent: ComponentInstance ): OSErr; external name '_OpenMixerSoundComponent';
1867 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1868
1869
1870 {
1871 * CloseMixerSoundComponent() *** DEPRECATED ***
1872 *
1873 * Availability:
1874 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1875 * CarbonLib: in CarbonLib 1.0 and later
1876 * Non-Carbon CFM: in SoundLib 3.0 and later
1877 }
CloseMixerSoundComponentnull1878 function CloseMixerSoundComponent( ci: ComponentInstance ): OSErr; external name '_CloseMixerSoundComponent';
1879 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1880
1881
1882 { Sound Manager 3.1 and later calls, uses _SoundDispatch }
1883 {
1884 * SndGetInfo() *** DEPRECATED ***
1885 *
1886 * Availability:
1887 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1888 * CarbonLib: in CarbonLib 1.0 and later
1889 * Non-Carbon CFM: in SoundLib 3.1 and later
1890 }
SndGetInfonull1891 function SndGetInfo( chan: SndChannelPtr; selector: OSType; infoPtr: UnivPtr ): OSErr; external name '_SndGetInfo';
1892 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1893
1894
1895 {
1896 * SndSetInfo() *** DEPRECATED ***
1897 *
1898 * Availability:
1899 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1900 * CarbonLib: in CarbonLib 1.0 and later
1901 * Non-Carbon CFM: in SoundLib 3.1 and later
1902 }
SndSetInfonull1903 function SndSetInfo( chan: SndChannelPtr; selector: OSType; infoPtr: {const} UnivPtr ): OSErr; external name '_SndSetInfo';
1904 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1905
1906
1907 {
1908 * GetSoundOutputInfo() *** DEPRECATED ***
1909 *
1910 * Availability:
1911 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1912 * CarbonLib: in CarbonLib 1.0 and later
1913 * Non-Carbon CFM: in SoundLib 3.1 and later
1914 }
GetSoundOutputInfonull1915 function GetSoundOutputInfo( outputDevice: Component; selector: OSType; infoPtr: UnivPtr ): OSErr; external name '_GetSoundOutputInfo';
1916 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1917
1918
1919 {
1920 * SetSoundOutputInfo() *** DEPRECATED ***
1921 *
1922 * Availability:
1923 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1924 * CarbonLib: in CarbonLib 1.0 and later
1925 * Non-Carbon CFM: in SoundLib 3.1 and later
1926 }
SetSoundOutputInfonull1927 function SetSoundOutputInfo( outputDevice: Component; selector: OSType; infoPtr: {const} UnivPtr ): OSErr; external name '_SetSoundOutputInfo';
1928 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1929
1930
1931 { Sound Manager 3.2 and later calls, uses _SoundDispatch }
1932 {
1933 * GetCompressionName() *** DEPRECATED ***
1934 *
1935 * Availability:
1936 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1937 * CarbonLib: in CarbonLib 1.0 and later
1938 * Non-Carbon CFM: in SoundLib 3.2 and later
1939 }
GetCompressionNamenull1940 function GetCompressionName( compressionType: OSType; var compressionName: Str255 ): OSErr; external name '_GetCompressionName';
1941 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1942
1943
1944 {
1945 * SoundConverterOpen() *** DEPRECATED ***
1946 *
1947 * Availability:
1948 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1949 * CarbonLib: in CarbonLib 1.0 and later
1950 * Non-Carbon CFM: in SoundLib 3.2 and later
1951 }
SoundConverterOpennull1952 function SoundConverterOpen( const (*var*) inputFormat: SoundComponentData; const (*var*) outputFormat: SoundComponentData; var sc: SoundConverter ): OSErr; external name '_SoundConverterOpen';
1953 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1954
1955
1956 {
1957 * SoundConverterClose() *** DEPRECATED ***
1958 *
1959 * Availability:
1960 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1961 * CarbonLib: in CarbonLib 1.0 and later
1962 * Non-Carbon CFM: in SoundLib 3.2 and later
1963 }
SoundConverterClosenull1964 function SoundConverterClose( sc: SoundConverter ): OSErr; external name '_SoundConverterClose';
1965 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1966
1967
1968 {
1969 * SoundConverterGetBufferSizes() *** DEPRECATED ***
1970 *
1971 * Availability:
1972 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1973 * CarbonLib: in CarbonLib 1.0 and later
1974 * Non-Carbon CFM: in SoundLib 3.2 and later
1975 }
SoundConverterGetBufferSizesnull1976 function SoundConverterGetBufferSizes( sc: SoundConverter; inputBytesTarget: UNSIGNEDLONG; var inputFrames: UNSIGNEDLONG; var inputBytes: UNSIGNEDLONG; var outputBytes: UNSIGNEDLONG ): OSErr; external name '_SoundConverterGetBufferSizes';
1977 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1978
1979
1980 {
1981 * SoundConverterBeginConversion() *** DEPRECATED ***
1982 *
1983 * Availability:
1984 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1985 * CarbonLib: in CarbonLib 1.0 and later
1986 * Non-Carbon CFM: in SoundLib 3.2 and later
1987 }
SoundConverterBeginConversionnull1988 function SoundConverterBeginConversion( sc: SoundConverter ): OSErr; external name '_SoundConverterBeginConversion';
1989 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1990
1991
1992 {
1993 * SoundConverterConvertBuffer() *** DEPRECATED ***
1994 *
1995 * Availability:
1996 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
1997 * CarbonLib: in CarbonLib 1.0 and later
1998 * Non-Carbon CFM: in SoundLib 3.2 and later
1999 }
SoundConverterConvertBuffernull2000 function SoundConverterConvertBuffer( sc: SoundConverter; inputPtr: {const} UnivPtr; inputFrames: UNSIGNEDLONG; outputPtr: UnivPtr; var outputFrames: UNSIGNEDLONG; var outputBytes: UNSIGNEDLONG ): OSErr; external name '_SoundConverterConvertBuffer';
2001 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2002
2003
2004 {
2005 * SoundConverterEndConversion() *** DEPRECATED ***
2006 *
2007 * Availability:
2008 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2009 * CarbonLib: in CarbonLib 1.0 and later
2010 * Non-Carbon CFM: in SoundLib 3.2 and later
2011 }
SoundConverterEndConversionnull2012 function SoundConverterEndConversion( sc: SoundConverter; outputPtr: UnivPtr; var outputFrames: UNSIGNEDLONG; var outputBytes: UNSIGNEDLONG ): OSErr; external name '_SoundConverterEndConversion';
2013 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2014
2015
2016 { Sound Manager 3.3 and later calls, uses _SoundDispatch }
2017 {
2018 * SoundConverterGetInfo() *** DEPRECATED ***
2019 *
2020 * Availability:
2021 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2022 * CarbonLib: in CarbonLib 1.0 and later
2023 * Non-Carbon CFM: in SoundLib 3.3 and later
2024 }
SoundConverterGetInfonull2025 function SoundConverterGetInfo( sc: SoundConverter; selector: OSType; infoPtr: UnivPtr ): OSErr; external name '_SoundConverterGetInfo';
2026 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2027
2028
2029 {
2030 * SoundConverterSetInfo() *** DEPRECATED ***
2031 *
2032 * Availability:
2033 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2034 * CarbonLib: in CarbonLib 1.0 and later
2035 * Non-Carbon CFM: in SoundLib 3.3 and later
2036 }
SoundConverterSetInfonull2037 function SoundConverterSetInfo( sc: SoundConverter; selector: OSType; infoPtr: UnivPtr ): OSErr; external name '_SoundConverterSetInfo';
2038 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2039
2040
2041 { Sound Manager 3.6 and later calls, uses _SoundDispatch }
2042 {
2043 * SoundConverterFillBuffer() *** DEPRECATED ***
2044 *
2045 * Availability:
2046 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2047 * CarbonLib: in CarbonLib 1.1 and later
2048 * Non-Carbon CFM: in SoundLib 3.6 and later
2049 }
SoundConverterFillBuffernull2050 function SoundConverterFillBuffer( sc: SoundConverter; fillBufferDataUPP: SoundConverterFillBufferDataUPP; fillBufferDataRefCon: UnivPtr; outputBuffer: UnivPtr; outputBufferByteSize: UNSIGNEDLONG; var bytesWritten: UNSIGNEDLONG; var framesWritten: UNSIGNEDLONG; var outputFlags: UNSIGNEDLONG ): OSErr; external name '_SoundConverterFillBuffer';
2051 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2052
2053
2054 {
2055 * SoundManagerGetInfo() *** DEPRECATED ***
2056 *
2057 * Availability:
2058 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2059 * CarbonLib: in CarbonLib 1.1 and later
2060 * Non-Carbon CFM: in SoundLib 3.6 and later
2061 }
SoundManagerGetInfonull2062 function SoundManagerGetInfo( selector: OSType; infoPtr: UnivPtr ): OSErr; external name '_SoundManagerGetInfo';
2063 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2064
2065
2066 {
2067 * SoundManagerSetInfo() *** DEPRECATED ***
2068 *
2069 * Availability:
2070 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2071 * CarbonLib: in CarbonLib 1.1 and later
2072 * Non-Carbon CFM: in SoundLib 3.6 and later
2073 }
SoundManagerSetInfonull2074 function SoundManagerSetInfo( selector: OSType; infoPtr: {const} UnivPtr ): OSErr; external name '_SoundManagerSetInfo';
2075 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2076
2077
2078 {
2079 Sound Component Functions
2080 basic sound component functions
2081 }
2082
2083 {
2084 * SoundComponentInitOutputDevice() *** DEPRECATED ***
2085 *
2086 * Availability:
2087 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2088 * CarbonLib: in CarbonLib 1.0 and later
2089 * Non-Carbon CFM: in SoundLib 3.0 and later
2090 }
SoundComponentInitOutputDevicenull2091 function SoundComponentInitOutputDevice( ti: ComponentInstance; actions: SIGNEDLONG ): ComponentResult; external name '_SoundComponentInitOutputDevice';
2092 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2093
2094
2095 {
2096 * SoundComponentSetSource() *** DEPRECATED ***
2097 *
2098 * Availability:
2099 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2100 * CarbonLib: in CarbonLib 1.0 and later
2101 * Non-Carbon CFM: in SoundLib 3.0 and later
2102 }
SoundComponentSetSourcenull2103 function SoundComponentSetSource( ti: ComponentInstance; sourceID: SoundSource; source: ComponentInstance ): ComponentResult; external name '_SoundComponentSetSource';
2104 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2105
2106
2107 {
2108 * SoundComponentGetSource() *** DEPRECATED ***
2109 *
2110 * Availability:
2111 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2112 * CarbonLib: in CarbonLib 1.0 and later
2113 * Non-Carbon CFM: in SoundLib 3.0 and later
2114 }
SoundComponentGetSourcenull2115 function SoundComponentGetSource( ti: ComponentInstance; sourceID: SoundSource; var source: ComponentInstance ): ComponentResult; external name '_SoundComponentGetSource';
2116 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2117
2118
2119 {
2120 * SoundComponentGetSourceData() *** DEPRECATED ***
2121 *
2122 * Availability:
2123 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2124 * CarbonLib: in CarbonLib 1.0 and later
2125 * Non-Carbon CFM: in SoundLib 3.0 and later
2126 }
SoundComponentGetSourceDatanull2127 function SoundComponentGetSourceData( ti: ComponentInstance; var sourceData: SoundComponentDataPtr ): ComponentResult; external name '_SoundComponentGetSourceData';
2128 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2129
2130
2131 {
2132 * SoundComponentSetOutput() *** DEPRECATED ***
2133 *
2134 * Availability:
2135 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2136 * CarbonLib: in CarbonLib 1.0 and later
2137 * Non-Carbon CFM: in SoundLib 3.0 and later
2138 }
SoundComponentSetOutputnull2139 function SoundComponentSetOutput( ti: ComponentInstance; requested: SoundComponentDataPtr; var actual: SoundComponentDataPtr ): ComponentResult; external name '_SoundComponentSetOutput';
2140 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2141
2142
2143 { junction methods for the mixer, must be called at non-interrupt level}
2144 {
2145 * SoundComponentAddSource() *** DEPRECATED ***
2146 *
2147 * Availability:
2148 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2149 * CarbonLib: in CarbonLib 1.0 and later
2150 * Non-Carbon CFM: in SoundLib 3.0 and later
2151 }
SoundComponentAddSourcenull2152 function SoundComponentAddSource( ti: ComponentInstance; var sourceID: SoundSource ): ComponentResult; external name '_SoundComponentAddSource';
2153 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2154
2155
2156 {
2157 * SoundComponentRemoveSource() *** DEPRECATED ***
2158 *
2159 * Availability:
2160 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2161 * CarbonLib: in CarbonLib 1.0 and later
2162 * Non-Carbon CFM: in SoundLib 3.0 and later
2163 }
SoundComponentRemoveSourcenull2164 function SoundComponentRemoveSource( ti: ComponentInstance; sourceID: SoundSource ): ComponentResult; external name '_SoundComponentRemoveSource';
2165 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2166
2167
2168 { info methods}
2169 {
2170 * SoundComponentGetInfo() *** DEPRECATED ***
2171 *
2172 * Availability:
2173 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2174 * CarbonLib: in CarbonLib 1.0 and later
2175 * Non-Carbon CFM: in SoundLib 3.0 and later
2176 }
SoundComponentGetInfonull2177 function SoundComponentGetInfo( ti: ComponentInstance; sourceID: SoundSource; selector: OSType; infoPtr: UnivPtr ): ComponentResult; external name '_SoundComponentGetInfo';
2178 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2179
2180
2181 {
2182 * SoundComponentSetInfo() *** DEPRECATED ***
2183 *
2184 * Availability:
2185 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2186 * CarbonLib: in CarbonLib 1.0 and later
2187 * Non-Carbon CFM: in SoundLib 3.0 and later
2188 }
SoundComponentSetInfonull2189 function SoundComponentSetInfo( ti: ComponentInstance; sourceID: SoundSource; selector: OSType; infoPtr: UnivPtr ): ComponentResult; external name '_SoundComponentSetInfo';
2190 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2191
2192
2193 { control methods}
2194 {
2195 * SoundComponentStartSource() *** DEPRECATED ***
2196 *
2197 * Availability:
2198 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2199 * CarbonLib: in CarbonLib 1.0 and later
2200 * Non-Carbon CFM: in SoundLib 3.0 and later
2201 }
SoundComponentStartSourcenull2202 function SoundComponentStartSource( ti: ComponentInstance; count: SInt16; var sources: SoundSource ): ComponentResult; external name '_SoundComponentStartSource';
2203 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2204
2205
2206 {
2207 * SoundComponentStopSource() *** DEPRECATED ***
2208 *
2209 * Availability:
2210 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2211 * CarbonLib: in CarbonLib 1.0 and later
2212 * Non-Carbon CFM: in SoundLib 3.0 and later
2213 }
SoundComponentStopSourcenull2214 function SoundComponentStopSource( ti: ComponentInstance; count: SInt16; var sources: SoundSource ): ComponentResult; external name '_SoundComponentStopSource';
2215 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2216
2217
2218 {
2219 * SoundComponentPauseSource() *** DEPRECATED ***
2220 *
2221 * Availability:
2222 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2223 * CarbonLib: in CarbonLib 1.0 and later
2224 * Non-Carbon CFM: in SoundLib 3.0 and later
2225 }
SoundComponentPauseSourcenull2226 function SoundComponentPauseSource( ti: ComponentInstance; count: SInt16; var sources: SoundSource ): ComponentResult; external name '_SoundComponentPauseSource';
2227 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2228
2229
2230 {
2231 * SoundComponentPlaySourceBuffer() *** DEPRECATED ***
2232 *
2233 * Availability:
2234 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2235 * CarbonLib: in CarbonLib 1.0 and later
2236 * Non-Carbon CFM: in SoundLib 3.0 and later
2237 }
SoundComponentPlaySourceBuffernull2238 function SoundComponentPlaySourceBuffer( ti: ComponentInstance; sourceID: SoundSource; pb: SoundParamBlockPtr; actions: SIGNEDLONG ): ComponentResult; external name '_SoundComponentPlaySourceBuffer';
2239 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2240
2241
2242 {$endc} {not TARGET_CPU_64}
2243
2244
2245 { selectors for component calls }
2246 const
2247 kSoundComponentInitOutputDeviceSelect = $0001;
2248 kSoundComponentSetSourceSelect = $0002;
2249 kSoundComponentGetSourceSelect = $0003;
2250 kSoundComponentGetSourceDataSelect = $0004;
2251 kSoundComponentSetOutputSelect = $0005;
2252 kSoundComponentAddSourceSelect = $0101;
2253 kSoundComponentRemoveSourceSelect = $0102;
2254 kSoundComponentGetInfoSelect = $0103;
2255 kSoundComponentSetInfoSelect = $0104;
2256 kSoundComponentStartSourceSelect = $0105;
2257 kSoundComponentStopSourceSelect = $0106;
2258 kSoundComponentPauseSourceSelect = $0107;
2259 kSoundComponentPlaySourceBufferSelect = $0108;
2260 {Audio Components}
2261 {Volume is described as a value between 0 and 1, with 0 indicating minimum
2262 volume and 1 indicating maximum volume; if the device doesn't support
2263 software control of volume, then a value of unimpErr is returned, indicating
2264 that these functions are not supported by the device
2265 }
2266 {
2267 * AudioGetVolume()
2268 *
2269 * Availability:
2270 * Mac OS X: not available
2271 * CarbonLib: not available
2272 * Non-Carbon CFM: in SoundLib 3.0 and later
2273 }
2274
2275
2276 {
2277 * AudioSetVolume()
2278 *
2279 * Availability:
2280 * Mac OS X: not available
2281 * CarbonLib: not available
2282 * Non-Carbon CFM: in SoundLib 3.0 and later
2283 }
2284
2285
2286 {If the device doesn't support software control of mute, then a value of unimpErr is
2287 returned, indicating that these functions are not supported by the device.}
2288 {
2289 * AudioGetMute()
2290 *
2291 * Availability:
2292 * Mac OS X: not available
2293 * CarbonLib: not available
2294 * Non-Carbon CFM: in SoundLib 3.0 and later
2295 }
2296
2297
2298 {
2299 * AudioSetMute()
2300 *
2301 * Availability:
2302 * Mac OS X: not available
2303 * CarbonLib: not available
2304 * Non-Carbon CFM: in SoundLib 3.0 and later
2305 }
2306
2307
2308 {AudioSetToDefaults causes the associated device to reset its volume and mute values
2309 (and perhaps other characteristics, e.g. attenuation) to "factory default" settings}
2310 {
2311 * AudioSetToDefaults()
2312 *
2313 * Availability:
2314 * Mac OS X: not available
2315 * CarbonLib: not available
2316 * Non-Carbon CFM: in SoundLib 3.0 and later
2317 }
2318
2319
2320 {This routine is required; it must be implemented by all audio components}
2321
2322 {
2323 * AudioGetInfo()
2324 *
2325 * Availability:
2326 * Mac OS X: not available
2327 * CarbonLib: not available
2328 * Non-Carbon CFM: in SoundLib 3.0 and later
2329 }
2330
2331
2332 {
2333 * AudioGetBass()
2334 *
2335 * Availability:
2336 * Mac OS X: not available
2337 * CarbonLib: not available
2338 * Non-Carbon CFM: in SoundLib 3.0 and later
2339 }
2340
2341
2342 {
2343 * AudioSetBass()
2344 *
2345 * Availability:
2346 * Mac OS X: not available
2347 * CarbonLib: not available
2348 * Non-Carbon CFM: in SoundLib 3.0 and later
2349 }
2350
2351
2352 {
2353 * AudioGetTreble()
2354 *
2355 * Availability:
2356 * Mac OS X: not available
2357 * CarbonLib: not available
2358 * Non-Carbon CFM: in SoundLib 3.0 and later
2359 }
2360
2361
2362 {
2363 * AudioSetTreble()
2364 *
2365 * Availability:
2366 * Mac OS X: not available
2367 * CarbonLib: not available
2368 * Non-Carbon CFM: in SoundLib 3.0 and later
2369 }
2370
2371
2372 {
2373 * AudioGetOutputDevice()
2374 *
2375 * Availability:
2376 * Mac OS X: not available
2377 * CarbonLib: not available
2378 * Non-Carbon CFM: in SoundLib 3.0 and later
2379 }
2380
2381
2382 {This is routine is private to the AudioVision component. It enables the watching of the mute key.}
2383 {
2384 * AudioMuteOnEvent()
2385 *
2386 * Availability:
2387 * Mac OS X: not available
2388 * CarbonLib: not available
2389 * Non-Carbon CFM: in SoundLib 3.0 and later
2390 }
2391
2392
2393 const
2394 kDelegatedSoundComponentSelectors = $0100;
2395
2396
2397 { Sound Input Manager routines, uses _SoundDispatch }
2398 {$ifc not TARGET_CPU_64}
2399 {
2400 * SPBVersion() *** DEPRECATED ***
2401 *
2402 * Availability:
2403 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2404 * CarbonLib: in CarbonLib 1.0 and later
2405 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2406 }
SPBVersionnull2407 function SPBVersion: NumVersion; external name '_SPBVersion';
2408 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2409
2410
2411 {
2412 * SndRecord() *** DEPRECATED ***
2413 *
2414 * Availability:
2415 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2416 * CarbonLib: in CarbonLib 1.0 and later
2417 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2418 }
SndRecordnull2419 function SndRecord( filterProc: ModalFilterUPP; corner: Point; quality: OSType; var sndHandle: SndListHandle ): OSErr; external name '_SndRecord';
2420 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2421
2422
2423 {$endc} {not TARGET_CPU_64}
2424
2425 {
2426 * SndRecordToFile()
2427 *
2428 * Availability:
2429 * Mac OS X: not available
2430 * CarbonLib: not available
2431 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2432 }
2433
2434
2435 {$ifc not TARGET_CPU_64}
2436 {
2437 * SPBSignInDevice() *** DEPRECATED ***
2438 *
2439 * Availability:
2440 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2441 * CarbonLib: in CarbonLib 1.0 and later
2442 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2443 }
SPBSignInDevicenull2444 function SPBSignInDevice( deviceRefNum: SInt16; const (*var*) deviceName: Str255 ): OSErr; external name '_SPBSignInDevice';
2445 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2446
2447
2448 {
2449 * SPBSignOutDevice() *** DEPRECATED ***
2450 *
2451 * Availability:
2452 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2453 * CarbonLib: in CarbonLib 1.0 and later
2454 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2455 }
SPBSignOutDevicenull2456 function SPBSignOutDevice( deviceRefNum: SInt16 ): OSErr; external name '_SPBSignOutDevice';
2457 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2458
2459
2460 {
2461 * SPBGetIndexedDevice() *** DEPRECATED ***
2462 *
2463 * Availability:
2464 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2465 * CarbonLib: in CarbonLib 1.0 and later
2466 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2467 }
SPBGetIndexedDevicenull2468 function SPBGetIndexedDevice( count: SInt16; var deviceName: Str255; var deviceIconHandle: Handle ): OSErr; external name '_SPBGetIndexedDevice';
2469 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2470
2471
2472 {
2473 * SPBOpenDevice() *** DEPRECATED ***
2474 *
2475 * Availability:
2476 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2477 * CarbonLib: in CarbonLib 1.0 and later
2478 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2479 }
SPBOpenDevicenull2480 function SPBOpenDevice( const (*var*) deviceName: Str255; permission: SInt16; var inRefNum: SIGNEDLONG ): OSErr; external name '_SPBOpenDevice';
2481 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2482
2483
2484 {
2485 * SPBCloseDevice() *** DEPRECATED ***
2486 *
2487 * Availability:
2488 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2489 * CarbonLib: in CarbonLib 1.0 and later
2490 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2491 }
SPBCloseDevicenull2492 function SPBCloseDevice( inRefNum: SIGNEDLONG ): OSErr; external name '_SPBCloseDevice';
2493 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2494
2495
2496 {
2497 * SPBRecord() *** DEPRECATED ***
2498 *
2499 * Availability:
2500 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2501 * CarbonLib: in CarbonLib 1.0 and later
2502 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2503 }
SPBRecordnull2504 function SPBRecord( inParamPtr: SPBPtr; asynchFlag: Boolean ): OSErr; external name '_SPBRecord';
2505 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2506
2507
2508 {$endc} {not TARGET_CPU_64}
2509
2510 {
2511 * SPBRecordToFile()
2512 *
2513 * Availability:
2514 * Mac OS X: not available
2515 * CarbonLib: not available
2516 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2517 }
2518
2519
2520 {$ifc not TARGET_CPU_64}
2521 {
2522 * SPBPauseRecording() *** DEPRECATED ***
2523 *
2524 * Availability:
2525 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2526 * CarbonLib: in CarbonLib 1.0 and later
2527 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2528 }
SPBPauseRecordingnull2529 function SPBPauseRecording( inRefNum: SIGNEDLONG ): OSErr; external name '_SPBPauseRecording';
2530 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2531
2532
2533 {
2534 * SPBResumeRecording() *** DEPRECATED ***
2535 *
2536 * Availability:
2537 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2538 * CarbonLib: in CarbonLib 1.0 and later
2539 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2540 }
SPBResumeRecordingnull2541 function SPBResumeRecording( inRefNum: SIGNEDLONG ): OSErr; external name '_SPBResumeRecording';
2542 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2543
2544
2545 {
2546 * SPBStopRecording() *** DEPRECATED ***
2547 *
2548 * Availability:
2549 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2550 * CarbonLib: in CarbonLib 1.0 and later
2551 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2552 }
SPBStopRecordingnull2553 function SPBStopRecording( inRefNum: SIGNEDLONG ): OSErr; external name '_SPBStopRecording';
2554 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2555
2556
2557 {
2558 * SPBGetRecordingStatus() *** DEPRECATED ***
2559 *
2560 * Availability:
2561 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2562 * CarbonLib: in CarbonLib 1.0 and later
2563 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2564 }
SPBGetRecordingStatusnull2565 function SPBGetRecordingStatus( inRefNum: SIGNEDLONG; var recordingStatus: SInt16; var meterLevel: SInt16; var totalSamplesToRecord: UNSIGNEDLONG; var numberOfSamplesRecorded: UNSIGNEDLONG; var totalMsecsToRecord: UNSIGNEDLONG; var numberOfMsecsRecorded: UNSIGNEDLONG ): OSErr; external name '_SPBGetRecordingStatus';
2566 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2567
2568
2569 {
2570 * SPBGetDeviceInfo() *** DEPRECATED ***
2571 *
2572 * Availability:
2573 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2574 * CarbonLib: in CarbonLib 1.0 and later
2575 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2576 }
SPBGetDeviceInfonull2577 function SPBGetDeviceInfo( inRefNum: SIGNEDLONG; infoType: OSType; infoData: UnivPtr ): OSErr; external name '_SPBGetDeviceInfo';
2578 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2579
2580
2581 {
2582 * SPBSetDeviceInfo() *** DEPRECATED ***
2583 *
2584 * Availability:
2585 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2586 * CarbonLib: in CarbonLib 1.0 and later
2587 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2588 }
SPBSetDeviceInfonull2589 function SPBSetDeviceInfo( inRefNum: SIGNEDLONG; infoType: OSType; infoData: UnivPtr ): OSErr; external name '_SPBSetDeviceInfo';
2590 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2591
2592
2593 {
2594 * SPBMillisecondsToBytes() *** DEPRECATED ***
2595 *
2596 * Availability:
2597 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2598 * CarbonLib: in CarbonLib 1.0 and later
2599 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2600 }
SPBMillisecondsToBytesnull2601 function SPBMillisecondsToBytes( inRefNum: SIGNEDLONG; var milliseconds: SIGNEDLONG ): OSErr; external name '_SPBMillisecondsToBytes';
2602 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2603
2604
2605 {
2606 * SPBBytesToMilliseconds() *** DEPRECATED ***
2607 *
2608 * Availability:
2609 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2610 * CarbonLib: in CarbonLib 1.0 and later
2611 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2612 }
SPBBytesToMillisecondsnull2613 function SPBBytesToMilliseconds( inRefNum: SIGNEDLONG; var byteCount: SIGNEDLONG ): OSErr; external name '_SPBBytesToMilliseconds';
2614 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2615
2616
2617 {
2618 * SetupSndHeader() *** DEPRECATED ***
2619 *
2620 * Availability:
2621 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2622 * CarbonLib: in CarbonLib 1.0 and later
2623 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2624 }
SetupSndHeadernull2625 function SetupSndHeader( sndHandle: SndListHandle; numChannels: SInt16; sampleRate: UnsignedFixed; sampleSize: SInt16; compressionType: OSType; baseNote: SInt16; numBytes: UNSIGNEDLONG; var headerLen: SInt16 ): OSErr; external name '_SetupSndHeader';
2626 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2627
2628
2629 {
2630 * SetupAIFFHeader() *** DEPRECATED ***
2631 *
2632 * Availability:
2633 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2634 * CarbonLib: in CarbonLib 1.0 and later
2635 * Non-Carbon CFM: in InterfaceLib 7.1 and later
2636 }
SetupAIFFHeadernull2637 function SetupAIFFHeader( fRefNum: SInt16; numChannels: SInt16; sampleRate: UnsignedFixed; sampleSize: SInt16; compressionType: OSType; numBytes: UNSIGNEDLONG; numFrames: UNSIGNEDLONG ): OSErr; external name '_SetupAIFFHeader';
2638 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2639
2640
2641 { Sound Input Manager 1.1 and later calls, uses _SoundDispatch }
2642 {
2643 * ParseAIFFHeader() *** DEPRECATED ***
2644 *
2645 * Availability:
2646 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2647 * CarbonLib: in CarbonLib 1.0 and later
2648 * Non-Carbon CFM: in SoundLib 3.0 and later
2649 }
ParseAIFFHeadernull2650 function ParseAIFFHeader( fRefNum: SInt16; var sndInfo: SoundComponentData; var numFrames: UNSIGNEDLONG; var dataOffset: UNSIGNEDLONG ): OSErr; external name '_ParseAIFFHeader';
2651 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2652
2653
2654 {
2655 * ParseSndHeader() *** DEPRECATED ***
2656 *
2657 * Availability:
2658 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2659 * CarbonLib: in CarbonLib 1.0 and later
2660 * Non-Carbon CFM: in SoundLib 3.0 and later
2661 }
ParseSndHeadernull2662 function ParseSndHeader( sndHandle: SndListHandle; var sndInfo: SoundComponentData; var numFrames: UNSIGNEDLONG; var dataOffset: UNSIGNEDLONG ): OSErr; external name '_ParseSndHeader';
2663 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2664
2665
2666 {$endc} {not TARGET_CPU_64}
2667
2668 {$ifc TARGET_API_MAC_CARBON}
2669 { Only to be used if you are writing a sound input component; this }
2670 { is the param block for a read request from the SoundMgr to the }
2671 { sound input component. Not to be confused with the SPB struct }
2672 { above, which is the param block for a read request from an app }
2673 { to the SoundMgr. }
2674 type
2675 SndInputCmpParamPtr = ^SndInputCmpParam;
2676 SICCompletionProcPtr = procedure( SICParmPtr: SndInputCmpParamPtr );
2677 SndInputCmpParam = record
2678 ioCompletion: SICCompletionProcPtr; { completion routine [pointer]}
2679 ioInterrupt: SIInterruptProcPtr; { interrupt routine [pointer]}
2680 ioResult: OSErr; { I/O result code [word]}
2681 pad: SInt16;
2682 ioReqCount: UNSIGNEDLONG;
2683 ioActCount: UNSIGNEDLONG;
2684 ioBuffer: Ptr;
2685 ioMisc: Ptr;
2686 end;
2687
2688 {$ifc not TARGET_CPU_64}
2689 {
2690 * SndInputReadAsync() *** DEPRECATED ***
2691 *
2692 * Availability:
2693 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2694 * CarbonLib: not available
2695 * Non-Carbon CFM: not available
2696 }
SndInputReadAsyncnull2697 function SndInputReadAsync( self: ComponentInstance; SICParmPtr: SndInputCmpParamPtr ): ComponentResult; external name '_SndInputReadAsync';
2698 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2699
2700
2701 {
2702 * SndInputReadSync() *** DEPRECATED ***
2703 *
2704 * Availability:
2705 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2706 * CarbonLib: not available
2707 * Non-Carbon CFM: not available
2708 }
SndInputReadSyncnull2709 function SndInputReadSync( self: ComponentInstance; SICParmPtr: SndInputCmpParamPtr ): ComponentResult; external name '_SndInputReadSync';
2710 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2711
2712
2713 {
2714 * SndInputPauseRecording() *** DEPRECATED ***
2715 *
2716 * Availability:
2717 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2718 * CarbonLib: not available
2719 * Non-Carbon CFM: not available
2720 }
SndInputPauseRecordingnull2721 function SndInputPauseRecording( self: ComponentInstance ): ComponentResult; external name '_SndInputPauseRecording';
2722 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2723
2724
2725 {
2726 * SndInputResumeRecording() *** DEPRECATED ***
2727 *
2728 * Availability:
2729 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2730 * CarbonLib: not available
2731 * Non-Carbon CFM: not available
2732 }
SndInputResumeRecordingnull2733 function SndInputResumeRecording( self: ComponentInstance ): ComponentResult; external name '_SndInputResumeRecording';
2734 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2735
2736
2737 {
2738 * SndInputStopRecording() *** DEPRECATED ***
2739 *
2740 * Availability:
2741 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2742 * CarbonLib: not available
2743 * Non-Carbon CFM: not available
2744 }
SndInputStopRecordingnull2745 function SndInputStopRecording( self: ComponentInstance ): ComponentResult; external name '_SndInputStopRecording';
2746 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2747
2748
2749 {
2750 * SndInputGetStatus() *** DEPRECATED ***
2751 *
2752 * Availability:
2753 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2754 * CarbonLib: not available
2755 * Non-Carbon CFM: not available
2756 }
SndInputGetStatusnull2757 function SndInputGetStatus( self: ComponentInstance; var recordingStatus: SInt16; var totalSamplesToRecord: UNSIGNEDLONG; var numberOfSamplesRecorded: UNSIGNEDLONG ): ComponentResult; external name '_SndInputGetStatus';
2758 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2759
2760
2761 {
2762 * SndInputGetDeviceInfo() *** DEPRECATED ***
2763 *
2764 * Availability:
2765 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2766 * CarbonLib: not available
2767 * Non-Carbon CFM: not available
2768 }
SndInputGetDeviceInfonull2769 function SndInputGetDeviceInfo( self: ComponentInstance; infoType: OSType; infoData: UnivPtr ): ComponentResult; external name '_SndInputGetDeviceInfo';
2770 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2771
2772
2773 {
2774 * SndInputSetDeviceInfo() *** DEPRECATED ***
2775 *
2776 * Availability:
2777 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2778 * CarbonLib: not available
2779 * Non-Carbon CFM: not available
2780 }
SndInputSetDeviceInfonull2781 function SndInputSetDeviceInfo( self: ComponentInstance; infoType: OSType; infoData: UnivPtr ): ComponentResult; external name '_SndInputSetDeviceInfo';
2782 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2783
2784
2785 {
2786 * SndInputInitHardware() *** DEPRECATED ***
2787 *
2788 * Availability:
2789 * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
2790 * CarbonLib: not available
2791 * Non-Carbon CFM: not available
2792 }
SndInputInitHardwarenull2793 function SndInputInitHardware( self: ComponentInstance ): ComponentResult; external name '_SndInputInitHardware';
2794 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2795
2796
2797 {$endc} {not TARGET_CPU_64}
2798
2799
2800 { selectors for component calls }
2801 const
2802 kSndInputReadAsyncSelect = $0001;
2803 kSndInputReadSyncSelect = $0002;
2804 kSndInputPauseRecordingSelect = $0003;
2805 kSndInputResumeRecordingSelect = $0004;
2806 kSndInputStopRecordingSelect = $0005;
2807 kSndInputGetStatusSelect = $0006;
2808 kSndInputGetDeviceInfoSelect = $0007;
2809 kSndInputSetDeviceInfoSelect = $0008;
2810 kSndInputInitHardwareSelect = $0009;
2811 {$endc} {TARGET_API_MAC_CARBON}
2812
2813 {$endc} {not TARGET_CPU_64}
2814
2815 {$endc} {TARGET_OS_MAC}
2816 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
2817
2818 end.
2819 {$endc} {not MACOSALLINCLUDE}
2820