Mac OS 9
Sound.h
Go to the documentation of this file.
1 
19 #ifndef __SOUND__
20 #define __SOUND__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __COMPONENTS__
27 #include <Components.h>
28 #endif
29 
30 #ifndef __MIXEDMODE__
31 #include <MixedMode.h>
32 #endif
33 
34 #ifndef __DIALOGS__
35 #include <Dialogs.h>
36 #endif
37 
38 #if PRAGMA_ONCE
39 #pragma once
40 #endif
41 
42 #ifdef __cplusplus
43 extern "C"
44 {
45 #endif
46 
47 #if PRAGMA_IMPORT
48 #pragma import on
49 #endif
50 
51 #if PRAGMA_STRUCT_ALIGN
52 #pragma options align = mac68k
53 #elif PRAGMA_STRUCT_PACKPUSH
54 #pragma pack(push, 2)
55 #elif PRAGMA_STRUCT_PACK
56 #pragma pack(2)
57 #endif
58 
108 #define twelfthRootTwo 1.05946309435
109 
110  enum
111  {
112  soundListRsrc =
113  FOUR_CHAR_CODE('snd ')
114  };
115 
116  enum
117  {
118  kSimpleBeepID = 1
119  };
120 
121  enum
122  {
123  rate48khz = (long)0xBB800000,
124  rate44khz = (long)0xAC440000,
125  rate32khz = 0x7D000000,
126  rate22050hz = 0x56220000,
127  rate22khz = 0x56EE8BA3,
128  rate16khz = 0x3E800000,
129  rate11khz = 0x2B7745D1,
130  rate11025hz = 0x2B110000,
131  rate8khz = 0x1F400000
132  };
133 
135  enum
136  {
137  sampledSynth = 5
138  };
139 
140 #if CALL_NOT_IN_CARBON
141  enum
142  {
143  squareWaveSynth = 1,
147  MACE6snthID = 13
148  };
149 
150 #endif
152  enum
153  {
154  kMiddleC = 60
155  };
156 
157  enum
158  {
159  kNoVolume = 0,
160  kFullVolume = 0x0100
161  };
162 
163  enum
164  {
165  stdQLength = 128
166  };
167 
168  enum
169  {
170  dataOffsetFlag = 0x8000
171  };
172 
173  enum
174  {
175  kUseOptionalOutputDevice = -1
176  };
177 
178  enum
179  {
180  notCompressed = 0,
182  variableCompression = -2
183  };
184 
185  enum
186  {
187  twoToOne = 1,
188  eightToThree = 2,
189  threeToOne = 3,
190  sixToOne = 4,
191  sixToOnePacketSize = 8,
192  threeToOnePacketSize = 16
193  };
194 
195  enum
196  {
197  stateBlockSize = 64,
198  leftOverBlockSize = 32
199  };
200 
201  enum
202  {
203  firstSoundFormat = 0x0001,
204  secondSoundFormat = 0x0002
205  };
206 
207 #if CALL_NOT_IN_CARBON
208  enum
209  {
210  dbBufferReady = 0x00000001,
211  dbLastBuffer = 0x00000004
212  };
213 
214 #endif
216  enum
217  {
218  sysBeepDisable = 0x0000,
219  sysBeepEnable = (1 << 0),
220  sysBeepSynchronous = (1 << 1)
221  };
222 
223  enum
224  {
225  unitTypeNoSelection = 0xFFFF,
226  unitTypeSeconds = 0x0000
227  };
228 
229  enum
230  {
231  stdSH = 0x00,
232  extSH = 0xFF,
233  cmpSH = 0xFE
234  };
235 
237  enum
238  {
239  nullCmd = 0,
240  quietCmd = 3,
241  flushCmd = 4,
242  reInitCmd = 5,
243  waitCmd = 10,
244  pauseCmd = 11,
245  resumeCmd = 12,
246  callBackCmd = 13,
247  syncCmd = 14,
248  availableCmd = 24,
249  versionCmd = 25,
250  volumeCmd = 46,
256  soundCmd = 80,
257  bufferCmd = 81,
258  rateMultiplierCmd = 86,
259  getRateMultiplierCmd = 87
260  };
261 
262 #if CALL_NOT_IN_CARBON
265  enum
266  {
267  initCmd = 1,
268  freeCmd = 2,
269  totalLoadCmd = 26,
270  loadCmd = 27,
271  freqDurationCmd = 40,
272  restCmd = 41,
273  freqCmd = 42,
274  ampCmd = 43,
275  timbreCmd = 44,
276  getAmpCmd = 45,
277  waveTableCmd = 60,
278  phaseCmd = 61,
279  rateCmd = 82,
280  continueCmd = 83,
281  doubleBufferCmd = 84,
282  getRateCmd = 85,
283  sizeCmd = 90,
284  convertCmd = 91
285  };
286 
287 #endif
289 #if OLDROUTINENAMES
291  enum
292  {
293  waveInitChannelMask = 0x07,
294  waveInitChannel0 = 0x04,
295  waveInitChannel1 = 0x05,
296  waveInitChannel2 = 0x06,
297  waveInitChannel3 = 0x07,
298  initChan0 = waveInitChannel0,
299  initChan1 = waveInitChannel1,
300  initChan2 = waveInitChannel2,
301  initChan3 = waveInitChannel3
302  };
303 
304  enum
305  {
306  outsideCmpSH = 0,
307  insideCmpSH = 1,
308  aceSuccess = 0,
309  aceMemFull = 1,
310  aceNilBlock = 2,
311  aceBadComp = 3,
312  aceBadEncode = 4,
313  aceBadDest = 5,
314  aceBadCmd = 6
315  };
316 
317 #endif
319  enum
320  {
321  initChanLeft = 0x0002,
322  initChanRight = 0x0003,
323  initNoInterp = 0x0004,
324  initNoDrop = 0x0008,
325  initMono = 0x0080,
326  initStereo = 0x00C0,
327  initMACE3 = 0x0300,
328  initMACE6 = 0x0400,
329  initPanMask = 0x0003,
330  initSRateMask = 0x0030,
331  initStereoMask = 0x00C0,
332  initCompMask = 0xFF00
333  };
334 
336  enum
337  {
338  siActiveChannels = FOUR_CHAR_CODE('chac'),
339  siActiveLevels = FOUR_CHAR_CODE('lmac'),
340  siAGCOnOff = FOUR_CHAR_CODE('agc '),
341  siAsync = FOUR_CHAR_CODE('asyn'),
342  siAVDisplayBehavior = FOUR_CHAR_CODE('avdb'),
343  siChannelAvailable = FOUR_CHAR_CODE('chav'),
345  FOUR_CHAR_CODE('cmav'),
347  FOUR_CHAR_CODE('cpct'),
348  siCompressionFactor = FOUR_CHAR_CODE('cmfa'),
349  siCompressionHeader = FOUR_CHAR_CODE('cmhd'),
351  FOUR_CHAR_CODE('cnam'),
352  siCompressionParams = FOUR_CHAR_CODE('evaw'),
354  FOUR_CHAR_CODE('cprt'),
355  siCompressionType = FOUR_CHAR_CODE('comp'),
356  siContinuous = FOUR_CHAR_CODE('cont'),
357  siDecompressionParams = FOUR_CHAR_CODE('wave'),
358  siDeviceBufferInfo = FOUR_CHAR_CODE('dbin'),
360  FOUR_CHAR_CODE('dcon'),
361  siDeviceIcon = FOUR_CHAR_CODE('icon'),
362  siDeviceName = FOUR_CHAR_CODE('name'),
363  siEQSpectrumBands = FOUR_CHAR_CODE('eqsb'),
364  siEQSpectrumLevels = FOUR_CHAR_CODE('eqlv'),
366  FOUR_CHAR_CODE('eqlo'),
368  FOUR_CHAR_CODE('eqrs'),
371  FOUR_CHAR_CODE('eqtg'),
373  FOUR_CHAR_CODE('eqtc'),
374  siHardwareBalance = FOUR_CHAR_CODE('hbal'),
375  siHardwareBalanceSteps = FOUR_CHAR_CODE('hbls'),
376  siHardwareBass = FOUR_CHAR_CODE('hbas'),
377  siHardwareBassSteps = FOUR_CHAR_CODE('hbst'),
378  siHardwareBusy = FOUR_CHAR_CODE('hwbs'),
379  siHardwareFormat = FOUR_CHAR_CODE('hwfm'),
380  siHardwareMute = FOUR_CHAR_CODE('hmut'),
381  siHardwareMuteNoPrefs = FOUR_CHAR_CODE(
382  'hmnp'),
383  siHardwareTreble = FOUR_CHAR_CODE('htrb'),
384  siHardwareTrebleSteps = FOUR_CHAR_CODE('hwts'),
385  siHardwareVolume = FOUR_CHAR_CODE('hvol'),
387  FOUR_CHAR_CODE('hstp'),
388  siHeadphoneMute = FOUR_CHAR_CODE('pmut'),
389  siHeadphoneVolume = FOUR_CHAR_CODE('pvol'),
391  FOUR_CHAR_CODE('hdst'),
392  siInputAvailable = FOUR_CHAR_CODE('inav'),
393  siInputGain = FOUR_CHAR_CODE('gain'),
394  siInputSource = FOUR_CHAR_CODE('sour'),
395  siInputSourceNames = FOUR_CHAR_CODE('snam'),
396  siLevelMeterOnOff = FOUR_CHAR_CODE('lmet'),
397  siModemGain = FOUR_CHAR_CODE('mgai'),
398  siMonitorAvailable = FOUR_CHAR_CODE('mnav'),
399  siMonitorSource = FOUR_CHAR_CODE('mons'),
400  siNumberChannels = FOUR_CHAR_CODE('chan'),
401  siOptionsDialog = FOUR_CHAR_CODE('optd'),
402  siOSTypeInputSource = FOUR_CHAR_CODE('inpt'),
404  FOUR_CHAR_CODE('inav'),
405  siOutputDeviceName = FOUR_CHAR_CODE('onam'),
406  siPlayThruOnOff = FOUR_CHAR_CODE('plth'),
408  FOUR_CHAR_CODE('psmx'),
410  FOUR_CHAR_CODE('prmx'),
411  siQuality = FOUR_CHAR_CODE('qual'),
412  siRateMultiplier = FOUR_CHAR_CODE('rmul'),
413  siRecordingQuality = FOUR_CHAR_CODE('qual'),
414  siSampleRate = FOUR_CHAR_CODE('srat'),
415  siSampleRateAvailable = FOUR_CHAR_CODE('srav'),
416  siSampleSize = FOUR_CHAR_CODE('ssiz'),
417  siSampleSizeAvailable = FOUR_CHAR_CODE('ssav'),
419  FOUR_CHAR_CODE('sucd'),
421  FOUR_CHAR_CODE('sumd'),
423  FOUR_CHAR_CODE('flap'),
424  siSoundClock = FOUR_CHAR_CODE('sclk'),
425  siUseThisSoundClock = FOUR_CHAR_CODE(
426  'sclc'),
427  siSpeakerMute =
428  FOUR_CHAR_CODE('smut'),
430  FOUR_CHAR_CODE('svol'),
431  siSSpCPULoadLimit = FOUR_CHAR_CODE('3dll'),
432  siSSpLocalization = FOUR_CHAR_CODE('3dif'),
433  siSSpSpeakerSetup = FOUR_CHAR_CODE('3dst'),
434  siStereoInputGain = FOUR_CHAR_CODE('sgai'),
435  siSubwooferMute = FOUR_CHAR_CODE('bmut'),
436  siTerminalType = FOUR_CHAR_CODE('ttyp'),
437  siTwosComplementOnOff = FOUR_CHAR_CODE('twos'),
438  siVendorProduct = FOUR_CHAR_CODE('vpro'),
439  siVolume = FOUR_CHAR_CODE('volu'),
440  siVoxRecordInfo = FOUR_CHAR_CODE('voxr'),
441  siVoxStopInfo = FOUR_CHAR_CODE('voxs'),
442  siWideStereo = FOUR_CHAR_CODE('wide'),
443  siSupportedExtendedFlags = FOUR_CHAR_CODE(
444  'exfl'),
445  siRateConverterRollOffSlope = FOUR_CHAR_CODE(
446  'rcdb'),
451  FOUR_CHAR_CODE('olte')
452  };
453 
454  enum
455  {
456  siCloseDriver = FOUR_CHAR_CODE('clos'),
458  FOUR_CHAR_CODE('init'),
459  siPauseRecording = FOUR_CHAR_CODE('paus'),
461  FOUR_CHAR_CODE('user')
462  };
463 
465  enum
466  {
467  kInvalidSource =
468  (long)0xFFFFFFFF,
470  kNoSource = FOUR_CHAR_CODE('none'),
471  kCDSource = FOUR_CHAR_CODE('cd '),
472  kExtMicSource = FOUR_CHAR_CODE('emic'),
473  kSoundInSource = FOUR_CHAR_CODE('sinj'),
474  kRCAInSource = FOUR_CHAR_CODE('irca'),
475  kTVFMTunerSource = FOUR_CHAR_CODE('tvfm'),
476  kDAVInSource = FOUR_CHAR_CODE('idav'),
477  kIntMicSource = FOUR_CHAR_CODE('imic'),
478  kMediaBaySource = FOUR_CHAR_CODE('mbay'),
479  kModemSource = FOUR_CHAR_CODE('modm'),
481  kPCCardSource = FOUR_CHAR_CODE('pcm '),
482  kZoomVideoSource = FOUR_CHAR_CODE('zvpc'),
483  kDVDSource = FOUR_CHAR_CODE('dvda'),
484  kMicrophoneArray = FOUR_CHAR_CODE('mica')
485  };
486 
488  enum
489  {
490  kNoSoundComponentType = FOUR_CHAR_CODE('****'),
491  kSoundComponentType = FOUR_CHAR_CODE('sift'),
493  FOUR_CHAR_CODE('nift'),
494  kRate8SubType = FOUR_CHAR_CODE('ratb'),
495  kRate16SubType = FOUR_CHAR_CODE('ratw'),
496  kConverterSubType = FOUR_CHAR_CODE('conv'),
497  kSndSourceSubType = FOUR_CHAR_CODE('sour'),
498  kMixerType = FOUR_CHAR_CODE('mixr'),
499  kMixer8SubType = FOUR_CHAR_CODE('mixb'),
500  kMixer16SubType = FOUR_CHAR_CODE('mixw'),
501  kSoundInputDeviceType = FOUR_CHAR_CODE('sinp'),
502  kWaveInSubType = FOUR_CHAR_CODE('wavi'),
503  kWaveInSnifferSubType = FOUR_CHAR_CODE('wisn'),
504  kSoundOutputDeviceType = FOUR_CHAR_CODE('sdev'),
505  kClassicSubType = FOUR_CHAR_CODE('clas'),
506  kASCSubType = FOUR_CHAR_CODE('asc '),
507  kDSPSubType = FOUR_CHAR_CODE('dsp '),
508  kAwacsSubType =
509  FOUR_CHAR_CODE('awac'),
511  FOUR_CHAR_CODE('awgc'),
512  kSingerSubType = FOUR_CHAR_CODE('sing'),
513  kSinger2SubType = FOUR_CHAR_CODE('sng2'),
514  kWhitSubType =
515  FOUR_CHAR_CODE('whit'),
516  kSoundBlasterSubType = FOUR_CHAR_CODE('sbls'),
517  kWaveOutSubType = FOUR_CHAR_CODE('wavo'),
518  kWaveOutSnifferSubType = FOUR_CHAR_CODE('wosn'),
519  kDirectSoundSubType = FOUR_CHAR_CODE('dsnd'),
521  FOUR_CHAR_CODE('dssn'),
522  kUNIXsdevSubType = FOUR_CHAR_CODE('un1x'),
523  kUSBSubType = FOUR_CHAR_CODE('usb '),
524  kBlueBoxSubType = FOUR_CHAR_CODE('bsnd'),
525  kSoundCompressor = FOUR_CHAR_CODE('scom'),
526  kSoundDecompressor = FOUR_CHAR_CODE('sdec'),
527  kAudioComponentType =
528  FOUR_CHAR_CODE('adio'),
529  kAwacsPhoneSubType = FOUR_CHAR_CODE('hphn'),
530  kAudioVisionSpeakerSubType = FOUR_CHAR_CODE('telc'),
531  kAudioVisionHeadphoneSubType = FOUR_CHAR_CODE('telh'),
532  kPhilipsFaderSubType = FOUR_CHAR_CODE('tvav'),
533  kSGSToneSubType = FOUR_CHAR_CODE('sgs0'),
534  kSoundEffectsType = FOUR_CHAR_CODE('snfx'),
535  kEqualizerSubType = FOUR_CHAR_CODE('eqal'),
536  kSSpLocalizationSubType = FOUR_CHAR_CODE('snd3')
537  };
538 
540  enum
541  {
542  kSoundNotCompressed = FOUR_CHAR_CODE('NONE'),
543  k8BitOffsetBinaryFormat = FOUR_CHAR_CODE('raw '),
544  k16BitBigEndianFormat = FOUR_CHAR_CODE('twos'),
545  k16BitLittleEndianFormat = FOUR_CHAR_CODE('sowt'),
546  kFloat32Format = FOUR_CHAR_CODE('fl32'),
547  kFloat64Format = FOUR_CHAR_CODE('fl64'),
548  k24BitFormat = FOUR_CHAR_CODE('in24'),
549  k32BitFormat = FOUR_CHAR_CODE('in32'),
551  FOUR_CHAR_CODE('23ni'),
552  kMACE3Compression = FOUR_CHAR_CODE('MAC3'),
553  kMACE6Compression = FOUR_CHAR_CODE('MAC6'),
554  kCDXA4Compression = FOUR_CHAR_CODE('cdx4'),
555  kCDXA2Compression = FOUR_CHAR_CODE('cdx2'),
556  kIMACompression = FOUR_CHAR_CODE('ima4'),
557  kULawCompression = FOUR_CHAR_CODE('ulaw'),
558  kALawCompression = FOUR_CHAR_CODE('alaw'),
559  kMicrosoftADPCMFormat = 0x6D730002,
560  kDVIIntelIMAFormat = 0x6D730011,
561  kDVAudioFormat = FOUR_CHAR_CODE('dvca'),
562  kQDesignCompression = FOUR_CHAR_CODE('QDMC'),
563  kQDesign2Compression = FOUR_CHAR_CODE('QDM2'),
564  kQUALCOMMCompression = FOUR_CHAR_CODE('Qclp'),
568  kMPEGLayer3Format = 0x6D730055,
570  FOUR_CHAR_CODE('.mp3')
571  };
572 
573 #if TARGET_RT_LITTLE_ENDIAN
574  enum
575  {
576  k16BitNativeEndianFormat = k16BitLittleEndianFormat,
577  k16BitNonNativeEndianFormat = k16BitBigEndianFormat
578  };
579 
580 #else
581 enum
582 {
583  k16BitNativeEndianFormat = k16BitBigEndianFormat,
584  k16BitNonNativeEndianFormat = k16BitLittleEndianFormat
585 };
586 
587 #endif
590  enum
591  {
592  k8BitRawIn = (1 << 0),
593  k8BitTwosIn = (1 << 1),
594  k16BitIn = (1 << 2),
595  kStereoIn = (1 << 3),
596  k8BitRawOut = (1 << 8),
597  k8BitTwosOut = (1 << 9),
598  k16BitOut = (1 << 10),
599  kStereoOut = (1 << 11),
600  kReverse = (1L << 16),
601  kRateConvert = (1L << 17),
602  kCreateSoundSource = (1L << 18),
603  kVMAwareness = (1L << 21),
604  kHighQuality = (1L << 22),
605  kNonRealTime = (1L << 23)
606  };
607 
609  enum
610  {
611  kSourcePaused = (1 << 0),
612  kPassThrough = (1L << 16),
613  kNoSoundComponentChain = (1L << 17)
614  };
615 
617  enum
618  {
619  kNoMixing = (1 << 0),
621  (1 << 1),
623  (1 << 2),
625  (1 << 3),
626  kNoChannelConversion = (1 << 4),
627  kNoDecompression = (1 << 5),
628  kNoVolumeConversion = (1 << 6),
630  kScheduledSource = (1 << 8),
632  kNonPagingMixer = (1 << 10),
634  (1 << 11),
635  kPagingMixer =
636  (1 << 12),
637  kVMAwareMixer = (1 << 13),
639  kExtendedSoundData = (1 << 14)
641  };
642 
644  enum
645  {
646  kBestQuality = (1 << 0)
647  };
648 
650  enum
651  {
652  kInputMask = 0x000000FF,
653  kOutputMask = 0x0000FF00,
655  kActionMask = 0x00FF0000,
656  kSoundComponentBits = 0x00FFFFFF
657  };
658 
660  enum
661  {
662  kAudioFormatAtomType = FOUR_CHAR_CODE('frma'),
663  kAudioEndianAtomType = FOUR_CHAR_CODE('enda'),
664  kAudioVBRAtomType = FOUR_CHAR_CODE('vbra'),
665  kAudioTerminatorAtomType = 0
666  };
667 
669  enum
670  {
671  kAVDisplayHeadphoneRemove =
672  0,
675  2,
679  };
680 
682  enum
683  {
686  0,
693  audioDoesMono = (1L << 0),
694  audioDoesStereo = (1L << 1),
696  (1L
697  << 2)
698  };
699 
701  enum
702  {
703  siCDQuality = FOUR_CHAR_CODE('cd '),
704  siBestQuality = FOUR_CHAR_CODE('best'),
705  siBetterQuality = FOUR_CHAR_CODE('betr'),
706  siGoodQuality = FOUR_CHAR_CODE('good'),
707  siNoneQuality = FOUR_CHAR_CODE(
708  'none')
709  };
710 
711  enum
712  {
713  siDeviceIsConnected = 1,
717  siWritePermission = 1
718  };
719 
721  enum
722  {
723  kSoundConverterDidntFillBuffer =
724  (1 << 0),
727  (1 << 1)
729  };
730 
733  enum
734  {
735  kExtendedSoundSampleCountNotValid =
736  1L << 0,
739  };
740 
747  struct SndCommand
748  {
749  unsigned short cmd;
750  short param1;
751  long param2;
752  };
753  typedef struct SndCommand SndCommand;
754  typedef struct SndChannel SndChannel;
755 
756  typedef SndChannel *SndChannelPtr;
757  typedef CALLBACK_API(void, SndCallBackProcPtr)(SndChannelPtr chan,
758  SndCommand *cmd);
759  typedef STACK_UPP_TYPE(SndCallBackProcPtr) SndCallBackUPP;
760  struct SndChannel
761  {
762  SndChannelPtr nextChan;
763  Ptr firstMod;
764  SndCallBackUPP callBack;
765  long userInfo;
766  long wait;
768  short flags;
769  short qLength;
770  short qHead;
771  short qTail;
772  SndCommand queue[128];
773  };
774 
783  SndCallBackUPP
784  NewSndCallBackUPP(SndCallBackProcPtr userRoutine);
785 #if !OPAQUE_UPP_TYPES
786  enum
787  {
788  uppSndCallBackProcInfo = 0x000003C0
789  };
790 #ifdef __cplusplus
791  inline SndCallBackUPP NewSndCallBackUPP(SndCallBackProcPtr userRoutine)
792  {
793  return (SndCallBackUPP)NewRoutineDescriptor(
794  (ProcPtr)(userRoutine), uppSndCallBackProcInfo, GetCurrentArchitecture());
795  }
796 #else
797 #define NewSndCallBackUPP(userRoutine) \
798  (SndCallBackUPP) \
799  NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndCallBackProcInfo, \
800  GetCurrentArchitecture())
801 #endif
802 #endif
803 
812  void
813  DisposeSndCallBackUPP(SndCallBackUPP userUPP);
814 #if !OPAQUE_UPP_TYPES
815 #ifdef __cplusplus
816  inline void DisposeSndCallBackUPP(SndCallBackUPP userUPP)
817  {
818  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
819  }
820 #else
821 #define DisposeSndCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
822 #endif
823 #endif
824 
833  void
835  SndCallBackUPP userUPP);
836 #if !OPAQUE_UPP_TYPES
837 #ifdef __cplusplus
839  SndCallBackUPP userUPP)
840  {
841  CALL_TWO_PARAMETER_UPP(userUPP, uppSndCallBackProcInfo, chan, cmd);
842  }
843 #else
844 #define InvokeSndCallBackUPP(chan, cmd, userUPP) \
845  CALL_TWO_PARAMETER_UPP((userUPP), uppSndCallBackProcInfo, (chan), (cmd))
846 #endif
847 #endif
848 
849 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
851 #define NewSndCallBackProc(userRoutine) NewSndCallBackUPP(userRoutine)
852 #define CallSndCallBackProc(userRoutine, chan, cmd) \
853  InvokeSndCallBackUPP(chan, cmd, userRoutine)
854 #endif
857  struct StateBlock
858  {
859  short stateVar[64];
860  };
861  typedef struct StateBlock StateBlock;
862  typedef StateBlock *StateBlockPtr;
864  {
865  unsigned long count;
866  SInt8 sampleArea[32];
867  };
868  typedef struct LeftOverBlock LeftOverBlock;
870  struct ModRef
871  {
872  unsigned short modNumber;
873  long modInit;
874  };
875  typedef struct ModRef ModRef;
877  {
878  short format;
879  short numModifiers;
880  ModRef modifierPart[1];
881  short numCommands;
882  SndCommand commandPart[1];
883  UInt8 dataPart[1];
884  };
885  typedef struct SndListResource SndListResource;
886  typedef SndListResource *SndListPtr;
887  typedef SndListPtr *SndListHandle;
888  typedef SndListHandle SndListHndl;
891  {
892  short format;
893  short refCount;
894  short numCommands;
895  SndCommand commandPart[1];
896  UInt8 dataPart[1];
897  };
898  typedef struct Snd2ListResource Snd2ListResource;
899  typedef Snd2ListResource *Snd2ListPtr;
900  typedef Snd2ListPtr *Snd2ListHandle;
902  struct SoundHeader
903  {
904  Ptr samplePtr;
905  unsigned long length;
906  UnsignedFixed sampleRate;
907  unsigned long loopStart;
908  unsigned long loopEnd;
909  UInt8 encode;
911  UInt8 sampleArea[1];
912  };
913  typedef struct SoundHeader SoundHeader;
914  typedef SoundHeader *SoundHeaderPtr;
916  {
917  Ptr samplePtr;
918  unsigned long numChannels;
919  UnsignedFixed
921  unsigned long loopStart;
922  unsigned long loopEnd;
923  UInt8 encode;
925  unsigned long
929  OSType format;
930  unsigned long futureUse2;
935  unsigned short packetSize;
936  unsigned short
938  unsigned short sampleSize;
939  UInt8 sampleArea[1];
940  };
941  typedef struct CmpSoundHeader CmpSoundHeader;
944  {
945  Ptr samplePtr;
946  unsigned long numChannels;
947  UnsignedFixed
949  unsigned long loopStart;
950  unsigned long loopEnd;
951  UInt8 encode;
953  unsigned long numFrames;
958  unsigned short sampleSize;
959  unsigned short futureUse1;
960  unsigned long futureUse2;
961  unsigned long futureUse3;
962  unsigned long futureUse4;
963  UInt8 sampleArea[1];
964  };
965  typedef struct ExtSoundHeader ExtSoundHeader;
968  {
969  SoundHeader stdHeader;
970  CmpSoundHeader cmpHeader;
971  ExtSoundHeader extHeader;
972  };
973  typedef union SoundHeaderUnion SoundHeaderUnion;
975  {
976  short destination;
977  short unused;
978  CmpSoundHeaderPtr inputPtr;
979  CmpSoundHeaderPtr outputPtr;
980  };
981  typedef struct ConversionBlock ConversionBlock;
984  enum
985  {
986  kScheduledSoundDoScheduled = 1 << 0,
987  kScheduledSoundDoCallBack = 1 << 1,
988  kScheduledSoundExtendedHdr = 1 << 2
989  };
990 
992  {
994  long flags;
995  short reserved;
996  short callBackParam1;
997  long callBackParam2;
998  TimeRecord startTime;
999  };
1003  {
1004  SoundHeaderUnion u;
1005  long flags;
1006  short reserved;
1007  short callBackParam1;
1008  long callBackParam2;
1009  TimeRecord startTime;
1010  long recordSize;
1011  long extendedFlags;
1012  long bufferSize;
1013  };
1016  struct SMStatus
1017  {
1018  short smMaxCPULoad;
1019  short smNumChannels;
1020  short smCurCPULoad;
1021  };
1022  typedef struct SMStatus SMStatus;
1023  typedef SMStatus *SMStatusPtr;
1024  struct SCStatus
1025  {
1026  UnsignedFixed scStartTime;
1027  UnsignedFixed scEndTime;
1028  UnsignedFixed scCurrentTime;
1029  Boolean scChannelBusy;
1030  Boolean scChannelDisposed;
1031  Boolean scChannelPaused;
1032  Boolean scUnused;
1033  unsigned long scChannelAttributes;
1034  long scCPULoad;
1035  };
1036  typedef struct SCStatus SCStatus;
1037  typedef SCStatus *SCStatusPtr;
1039  {
1040  long unitType;
1041  UnsignedFixed selStart;
1042  UnsignedFixed selEnd;
1043  };
1044  typedef struct AudioSelection AudioSelection;
1046 #if CALL_NOT_IN_CARBON
1048  {
1049  long dbNumFrames;
1050  long dbFlags;
1051  long dbUserInfo[2];
1052  SInt8 dbSoundData[1];
1053  };
1054  typedef struct SndDoubleBuffer SndDoubleBuffer;
1056 
1057  typedef CALLBACK_API(void,
1058  SndDoubleBackProcPtr)(SndChannelPtr channel,
1060  typedef STACK_UPP_TYPE(SndDoubleBackProcPtr) SndDoubleBackUPP;
1061 #if CALL_NOT_IN_CARBON
1070  SndDoubleBackUPP
1071  NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine);
1072 #if !OPAQUE_UPP_TYPES
1073  enum
1074  {
1075  uppSndDoubleBackProcInfo = 0x000003C0
1076  };
1077 #ifdef __cplusplus
1078  inline SndDoubleBackUPP NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine)
1079  {
1080  return (SndDoubleBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
1081  uppSndDoubleBackProcInfo,
1082  GetCurrentArchitecture());
1083  }
1084 #else
1085 #define NewSndDoubleBackUPP(userRoutine) \
1086  (SndDoubleBackUPP) \
1087  NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndDoubleBackProcInfo, \
1088  GetCurrentArchitecture())
1089 #endif
1090 #endif
1091 
1100  void
1101  DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP);
1102 #if !OPAQUE_UPP_TYPES
1103 #ifdef __cplusplus
1104  inline void DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP)
1105  {
1106  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1107  }
1108 #else
1109 #define DisposeSndDoubleBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1110 #endif
1111 #endif
1112 
1121  void
1124  SndDoubleBackUPP userUPP);
1125 #if !OPAQUE_UPP_TYPES
1126 #ifdef __cplusplus
1127  inline void InvokeSndDoubleBackUPP(SndChannelPtr channel,
1129  SndDoubleBackUPP userUPP)
1130  {
1131  CALL_TWO_PARAMETER_UPP(userUPP, uppSndDoubleBackProcInfo, channel,
1132  doubleBufferPtr);
1133  }
1134 #else
1135 #define InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userUPP) \
1136  CALL_TWO_PARAMETER_UPP((userUPP), uppSndDoubleBackProcInfo, (channel), \
1137  (doubleBufferPtr))
1138 #endif
1139 #endif
1140 
1141 #endif
1143 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
1145 #define NewSndDoubleBackProc(userRoutine) NewSndDoubleBackUPP(userRoutine)
1146 #define CallSndDoubleBackProc(userRoutine, channel, doubleBufferPtr) \
1147  InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userRoutine)
1148 #endif
1151  {
1152  short dbhNumChannels;
1153  short dbhSampleSize;
1154  short dbhCompressionID;
1155  short dbhPacketSize;
1156  UnsignedFixed dbhSampleRate;
1157  SndDoubleBufferPtr dbhBufferPtr[2];
1158  SndDoubleBackUPP dbhDoubleBack;
1159  };
1163  {
1164  short dbhNumChannels;
1165  short dbhSampleSize;
1166  short dbhCompressionID;
1167  short dbhPacketSize;
1168  UnsignedFixed dbhSampleRate;
1169  SndDoubleBufferPtr dbhBufferPtr[2];
1170  SndDoubleBackUPP dbhDoubleBack;
1171  OSType dbhFormat;
1172  };
1175 #endif
1178  {
1179  short count;
1180  Handle infoHandle;
1181  };
1182  typedef struct SoundInfoList SoundInfoList;
1185  {
1186  long flags;
1187  OSType format;
1188  short numChannels;
1189  short sampleSize;
1190  UnsignedFixed sampleRate;
1191  long sampleCount;
1192  Byte *buffer;
1193  long reserved;
1194  };
1195  typedef struct SoundComponentData SoundComponentData;
1198  {
1199  SoundComponentData desc;
1200  long recordSize;
1202  long bufferSize;
1203  };
1206  typedef struct SoundParamBlock SoundParamBlock;
1208  typedef CALLBACK_API(Boolean, SoundParamProcPtr)(SoundParamBlockPtr *pb);
1209  typedef STACK_UPP_TYPE(SoundParamProcPtr) SoundParamUPP;
1211  {
1212  long recordSize;
1214  UnsignedFixed rateMultiplier;
1215  short leftVolume;
1217  long quality;
1219  SoundParamUPP moreRtn;
1220  SoundParamUPP completionRtn;
1221  long refCon;
1222  short result;
1223  };
1224 
1226  {
1229  short reserved;
1230  long extendedFlags;
1231  long bufferSize;
1232  };
1236  {
1237  long recordSize;
1238  OSType format;
1239  short compressionID;
1240  unsigned short samplesPerPacket;
1241  unsigned short bytesPerPacket;
1242  unsigned short bytesPerFrame;
1243  unsigned short bytesPerSample;
1244  unsigned short futureUse1;
1245  };
1246  typedef struct CompressionInfo CompressionInfo;
1251  {
1252  Float64 slope;
1253  Float64 intercept;
1254  Float64 minClip;
1255  Float64 maxClip;
1256  };
1260  typedef struct OpaqueSoundConverter *SoundConverter;
1262  typedef CALLBACK_API(Boolean, SoundConverterFillBufferDataProcPtr)(
1263  SoundComponentDataPtr *data, void *refCon);
1264  typedef STACK_UPP_TYPE(SoundConverterFillBufferDataProcPtr)
1265  SoundConverterFillBufferDataUPP;
1267  typedef struct OpaqueSoundSource *SoundSource;
1268  typedef SoundSource *SoundSourcePtr;
1269 
1271  {
1272  ComponentDescription description;
1275  };
1276  typedef struct SoundComponentLink SoundComponentLink;
1278  struct AudioInfo
1279  {
1280  long capabilitiesFlags;
1281  long reserved;
1282  unsigned short numVolumeSteps;
1284  };
1285  typedef struct AudioInfo AudioInfo;
1286  typedef AudioInfo *AudioInfoPtr;
1288  {
1289  long size;
1290  OSType atomType;
1291  OSType format;
1292  };
1293  typedef struct AudioFormatAtom AudioFormatAtom;
1296  {
1297  long size;
1298  OSType atomType;
1300  };
1301  typedef struct AudioEndianAtom AudioEndianAtom;
1304  {
1305  long size;
1306  OSType atomType;
1307  };
1311  {
1312  short numChannels;
1313  UInt8 leftMeter;
1314  UInt8 rightMeter;
1315  };
1316  typedef struct LevelMeterInfo LevelMeterInfo;
1319  {
1320  short count;
1321  UnsignedFixedPtr frequency;
1322  };
1325 
1327  typedef struct SPB SPB;
1328  typedef SPB *SPBPtr;
1329 
1331  typedef CALLBACK_API_REGISTER68K(void, SIInterruptProcPtr,
1332  (SPBPtr inParamPtr, Ptr dataBuffer,
1333  short peakAmplitude, long sampleSize));
1334  typedef CALLBACK_API(void, SICompletionProcPtr)(SPBPtr inParamPtr);
1335  typedef REGISTER_UPP_TYPE(SIInterruptProcPtr) SIInterruptUPP;
1336  typedef STACK_UPP_TYPE(SICompletionProcPtr) SICompletionUPP;
1337 
1339  struct SPB
1340  {
1341  long inRefNum;
1342  unsigned long count;
1343  unsigned long milliseconds;
1344  unsigned long bufferLength;
1346  SICompletionUPP completionRoutine;
1347  SIInterruptUPP interruptRoutine;
1348  long userLong;
1349  OSErr error;
1350  long unused1;
1351  };
1352 
1361  SoundParamUPP
1362  NewSoundParamUPP(SoundParamProcPtr userRoutine);
1363 #if !OPAQUE_UPP_TYPES
1364  enum
1365  {
1366  uppSoundParamProcInfo = 0x000000D0
1367  };
1368 #ifdef __cplusplus
1369  inline SoundParamUPP NewSoundParamUPP(SoundParamProcPtr userRoutine)
1370  {
1371  return (SoundParamUPP)NewRoutineDescriptor(
1372  (ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture());
1373  }
1374 #else
1375 #define NewSoundParamUPP(userRoutine) \
1376  (SoundParamUPP) NewRoutineDescriptor( \
1377  (ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture())
1378 #endif
1379 #endif
1380 
1389  SoundConverterFillBufferDataUPP
1391  SoundConverterFillBufferDataProcPtr userRoutine);
1392 #if !OPAQUE_UPP_TYPES
1393  enum
1394  {
1395  uppSoundConverterFillBufferDataProcInfo = 0x000003D0
1396  };
1397 #ifdef __cplusplus
1398  inline SoundConverterFillBufferDataUPP NewSoundConverterFillBufferDataUPP(
1399  SoundConverterFillBufferDataProcPtr userRoutine)
1400  {
1401  return (SoundConverterFillBufferDataUPP)NewRoutineDescriptor(
1402  (ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo,
1403  GetCurrentArchitecture());
1404  }
1405 #else
1406 #define NewSoundConverterFillBufferDataUPP(userRoutine) \
1407  (SoundConverterFillBufferDataUPP) NewRoutineDescriptor( \
1408  (ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo, \
1409  GetCurrentArchitecture())
1410 #endif
1411 #endif
1412 
1421  SIInterruptUPP
1422  NewSIInterruptUPP(SIInterruptProcPtr userRoutine);
1423 #if !OPAQUE_UPP_TYPES
1424  enum
1425  {
1426  uppSIInterruptProcInfo = 0x1C579802
1427  };
1429 #ifdef __cplusplus
1430  inline SIInterruptUPP NewSIInterruptUPP(SIInterruptProcPtr userRoutine)
1431  {
1432  return (SIInterruptUPP)NewRoutineDescriptor(
1433  (ProcPtr)(userRoutine), uppSIInterruptProcInfo, GetCurrentArchitecture());
1434  }
1435 #else
1436 #define NewSIInterruptUPP(userRoutine) \
1437  (SIInterruptUPP) \
1438  NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIInterruptProcInfo, \
1439  GetCurrentArchitecture())
1440 #endif
1441 #endif
1442 
1451  SICompletionUPP
1452  NewSICompletionUPP(SICompletionProcPtr userRoutine);
1453 #if !OPAQUE_UPP_TYPES
1454  enum
1455  {
1456  uppSICompletionProcInfo = 0x000000C0
1457  };
1458 #ifdef __cplusplus
1459  inline SICompletionUPP NewSICompletionUPP(SICompletionProcPtr userRoutine)
1460  {
1461  return (SICompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
1462  uppSICompletionProcInfo,
1463  GetCurrentArchitecture());
1464  }
1465 #else
1466 #define NewSICompletionUPP(userRoutine) \
1467  (SICompletionUPP) \
1468  NewRoutineDescriptor((ProcPtr)(userRoutine), uppSICompletionProcInfo, \
1469  GetCurrentArchitecture())
1470 #endif
1471 #endif
1472 
1481  void
1482  DisposeSoundParamUPP(SoundParamUPP userUPP);
1483 #if !OPAQUE_UPP_TYPES
1484 #ifdef __cplusplus
1485  inline void DisposeSoundParamUPP(SoundParamUPP userUPP)
1486  {
1487  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1488  }
1489 #else
1490 #define DisposeSoundParamUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1491 #endif
1492 #endif
1493 
1502  void
1503  DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP);
1504 #if !OPAQUE_UPP_TYPES
1505 #ifdef __cplusplus
1507  SoundConverterFillBufferDataUPP userUPP)
1508  {
1509  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1510  }
1511 #else
1512 #define DisposeSoundConverterFillBufferDataUPP(userUPP) \
1513  DisposeRoutineDescriptor(userUPP)
1514 #endif
1515 #endif
1516 
1525  void
1526  DisposeSIInterruptUPP(SIInterruptUPP userUPP);
1527 #if !OPAQUE_UPP_TYPES
1528 #ifdef __cplusplus
1529  inline void DisposeSIInterruptUPP(SIInterruptUPP userUPP)
1530  {
1531  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1532  }
1533 #else
1534 #define DisposeSIInterruptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1535 #endif
1536 #endif
1537 
1546  void
1547  DisposeSICompletionUPP(SICompletionUPP userUPP);
1548 #if !OPAQUE_UPP_TYPES
1549 #ifdef __cplusplus
1550  inline void DisposeSICompletionUPP(SICompletionUPP userUPP)
1551  {
1552  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1553  }
1554 #else
1555 #define DisposeSICompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1556 #endif
1557 #endif
1558 
1567  Boolean
1568  InvokeSoundParamUPP(SoundParamBlockPtr *pb, SoundParamUPP userUPP);
1569 #if !OPAQUE_UPP_TYPES
1570 #ifdef __cplusplus
1572  SoundParamUPP userUPP)
1573  {
1574  return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppSoundParamProcInfo, pb);
1575  }
1576 #else
1577 #define InvokeSoundParamUPP(pb, userUPP) \
1578  (Boolean) CALL_ONE_PARAMETER_UPP((userUPP), uppSoundParamProcInfo, (pb))
1579 #endif
1580 #endif
1581 
1590  Boolean
1592  SoundConverterFillBufferDataUPP userUPP);
1593 #if !OPAQUE_UPP_TYPES
1594 #ifdef __cplusplus
1595  inline Boolean
1597  SoundConverterFillBufferDataUPP userUPP)
1598  {
1599  return (Boolean)CALL_TWO_PARAMETER_UPP(
1600  userUPP, uppSoundConverterFillBufferDataProcInfo, data, refCon);
1601  }
1602 #else
1603 #define InvokeSoundConverterFillBufferDataUPP(data, refCon, userUPP) \
1604  (Boolean) CALL_TWO_PARAMETER_UPP( \
1605  (userUPP), uppSoundConverterFillBufferDataProcInfo, (data), (refCon))
1606 #endif
1607 #endif
1608 
1617  void
1618  InvokeSIInterruptUPP(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude,
1619  long sampleSize, SIInterruptUPP userUPP);
1620 #if !OPAQUE_UPP_TYPES && \
1621  (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
1622 #ifdef __cplusplus
1623  inline void InvokeSIInterruptUPP(SPBPtr inParamPtr, Ptr dataBuffer,
1624  short peakAmplitude, long sampleSize,
1625  SIInterruptUPP userUPP)
1626  {
1627  CALL_FOUR_PARAMETER_UPP(userUPP, uppSIInterruptProcInfo, inParamPtr,
1628  dataBuffer, peakAmplitude, sampleSize);
1629  }
1630 #else
1631 #define InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, \
1632  sampleSize, userUPP) \
1633  CALL_FOUR_PARAMETER_UPP((userUPP), uppSIInterruptProcInfo, (inParamPtr), \
1634  (dataBuffer), (peakAmplitude), (sampleSize))
1635 #endif
1636 #endif
1637 
1646  void
1647  InvokeSICompletionUPP(SPBPtr inParamPtr, SICompletionUPP userUPP);
1648 #if !OPAQUE_UPP_TYPES
1649 #ifdef __cplusplus
1650  inline void InvokeSICompletionUPP(SPBPtr inParamPtr, SICompletionUPP userUPP)
1651  {
1652  CALL_ONE_PARAMETER_UPP(userUPP, uppSICompletionProcInfo, inParamPtr);
1653  }
1654 #else
1655 #define InvokeSICompletionUPP(inParamPtr, userUPP) \
1656  CALL_ONE_PARAMETER_UPP((userUPP), uppSICompletionProcInfo, (inParamPtr))
1657 #endif
1658 #endif
1659 
1660 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
1662 #define NewSoundParamProc(userRoutine) NewSoundParamUPP(userRoutine)
1663 #define NewSoundConverterFillBufferDataProc(userRoutine) \
1664  NewSoundConverterFillBufferDataUPP(userRoutine)
1665 #define NewSIInterruptProc(userRoutine) NewSIInterruptUPP(userRoutine)
1666 #define NewSICompletionProc(userRoutine) NewSICompletionUPP(userRoutine)
1667 #define CallSoundParamProc(userRoutine, pb) InvokeSoundParamUPP(pb, userRoutine)
1668 #define CallSoundConverterFillBufferDataProc(userRoutine, data, refCon) \
1669  InvokeSoundConverterFillBufferDataUPP(data, refCon, userRoutine)
1670 #define CallSIInterruptProc(userRoutine, inParamPtr, dataBuffer, \
1671  peakAmplitude, sampleSize) \
1672  InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, sampleSize, \
1673  userRoutine)
1674 #define CallSICompletionProc(userRoutine, inParamPtr) \
1675  InvokeSICompletionUPP(inParamPtr, userRoutine)
1676 #endif
1678  typedef CALLBACK_API(void, FilePlayCompletionProcPtr)(SndChannelPtr chan);
1679  typedef STACK_UPP_TYPE(FilePlayCompletionProcPtr) FilePlayCompletionUPP;
1680 #if CALL_NOT_IN_CARBON
1689  FilePlayCompletionUPP
1690  NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine);
1691 #if !OPAQUE_UPP_TYPES
1692  enum
1693  {
1694  uppFilePlayCompletionProcInfo = 0x000000C0
1695  };
1696 #ifdef __cplusplus
1697  inline FilePlayCompletionUPP
1698  NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine)
1699  {
1700  return (FilePlayCompletionUPP)NewRoutineDescriptor(
1701  (ProcPtr)(userRoutine), uppFilePlayCompletionProcInfo,
1702  GetCurrentArchitecture());
1703  }
1704 #else
1705 #define NewFilePlayCompletionUPP(userRoutine) \
1706  (FilePlayCompletionUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
1707  uppFilePlayCompletionProcInfo, \
1708  GetCurrentArchitecture())
1709 #endif
1710 #endif
1711 
1720  void
1721  DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP);
1722 #if !OPAQUE_UPP_TYPES
1723 #ifdef __cplusplus
1724  inline void DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP)
1725  {
1726  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
1727  }
1728 #else
1729 #define DisposeFilePlayCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1730 #endif
1731 #endif
1732 
1741  void
1742  InvokeFilePlayCompletionUPP(SndChannelPtr chan, FilePlayCompletionUPP userUPP);
1743 #if !OPAQUE_UPP_TYPES
1744 #ifdef __cplusplus
1745  inline void InvokeFilePlayCompletionUPP(SndChannelPtr chan,
1746  FilePlayCompletionUPP userUPP)
1747  {
1748  CALL_ONE_PARAMETER_UPP(userUPP, uppFilePlayCompletionProcInfo, chan);
1749  }
1750 #else
1751 #define InvokeFilePlayCompletionUPP(chan, userUPP) \
1752  CALL_ONE_PARAMETER_UPP((userUPP), uppFilePlayCompletionProcInfo, (chan))
1753 #endif
1754 #endif
1755 
1756 #endif
1758 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
1760 #define NewFilePlayCompletionProc(userRoutine) \
1761  NewFilePlayCompletionUPP(userRoutine)
1762 #define CallFilePlayCompletionProc(userRoutine, chan) \
1763  InvokeFilePlayCompletionUPP(chan, userRoutine)
1764 #endif
1781  void
1782  SysBeep(short duration);
1783 
1792  OSErr
1794 
1803  OSErr
1805 
1814  OSErr
1815  SndNewChannel(SndChannelPtr *chan, short synth, long init,
1816  SndCallBackUPP userRoutine);
1817 
1826  OSErr
1828 
1837  OSErr
1838  SndPlay(SndChannelPtr chan, SndListHandle sndHandle, Boolean async);
1839 
1840 #if OLDROUTINENAMES
1841 #if CALL_NOT_IN_CARBON
1850  OSErr
1851  SndAddModifier(SndChannelPtr chan, Ptr modifier, short id, long init);
1852 
1853 #endif
1855 #endif
1857 #if CALL_NOT_IN_CARBON
1866  OSErr
1868 
1870 #endif
1893  NumVersion
1895 
1896 #if CALL_NOT_IN_CARBON
1905  OSErr
1906  SndStartFilePlay(SndChannelPtr chan, short fRefNum, short resNum,
1907  long bufferSize, void *theBuffer,
1908  AudioSelectionPtr theSelection,
1909  FilePlayCompletionUPP theCompletion, Boolean async);
1910 
1938  OSErr
1940 
1949  OSErr
1951 
1952 #endif
1962  OSErr
1963  SndChannelStatus(SndChannelPtr chan, short theLength, SCStatusPtr theStatus);
1964 
1990  OSErr
1991  SndManagerStatus(short theLength, SMStatusPtr theStatus);
1992 
2007  void
2008  SndGetSysBeepState(short *sysBeepState);
2009 
2025  OSErr
2026  SndSetSysBeepState(short sysBeepState);
2027 
2028 #if CALL_NOT_IN_CARBON
2037  OSErr
2039 
2063  NumVersion
2065 
2074  void
2075  Comp3to1(const void *inBuffer, void *outBuffer, unsigned long cnt,
2076  StateBlockPtr inState, StateBlockPtr outState,
2077  unsigned long numChannels, unsigned long whichChannel);
2078 
2087  void
2088  Exp1to3(const void *inBuffer, void *outBuffer, unsigned long cnt,
2089  StateBlockPtr inState, StateBlockPtr outState,
2090  unsigned long numChannels, unsigned long whichChannel);
2091 
2100  void
2101  Comp6to1(const void *inBuffer, void *outBuffer, unsigned long cnt,
2102  StateBlockPtr inState, StateBlockPtr outState,
2103  unsigned long numChannels, unsigned long whichChannel);
2104 
2113  void
2114  Exp1to6(const void *inBuffer, void *outBuffer, unsigned long cnt,
2115  StateBlockPtr inState, StateBlockPtr outState,
2116  unsigned long numChannels, unsigned long whichChannel);
2117 
2119 #endif
2129  OSErr
2130  GetSysBeepVolume(long *level);
2131 
2140  OSErr
2141  SetSysBeepVolume(long level);
2142 
2151  OSErr
2153 
2162  OSErr
2164 
2173  OSErr
2174  GetSoundHeaderOffset(SndListHandle sndHandle, long *offset);
2175 
2184  UnsignedFixed
2185  UnsignedFixedMulDiv(UnsignedFixed value, UnsignedFixed multiplier,
2186  UnsignedFixed divisor);
2187 
2196  OSErr
2197  GetCompressionInfo(short compressionID, OSType format, short numChannels,
2198  short sampleSize, CompressionInfoPtr cp);
2199 
2208  OSErr
2209  SetSoundPreference(OSType theType, Str255 name, Handle settings);
2210 
2219  OSErr
2220  GetSoundPreference(OSType theType, Str255 name, Handle settings);
2221 
2230  OSErr
2232  long outputFlags, ComponentInstance *mixerComponent);
2233 
2242  OSErr
2244 
2254  OSErr
2255  SndGetInfo(SndChannelPtr chan, OSType selector, void *infoPtr);
2256 
2265  OSErr
2266  SndSetInfo(SndChannelPtr chan, OSType selector, const void *infoPtr);
2267 
2276  OSErr
2277  GetSoundOutputInfo(Component outputDevice, OSType selector, void *infoPtr);
2278 
2287  OSErr
2288  SetSoundOutputInfo(Component outputDevice, OSType selector, const void *infoPtr);
2289 
2299  OSErr
2300  GetCompressionName(OSType compressionType, Str255 compressionName);
2301 
2310  OSErr
2312  const SoundComponentData *outputFormat, SoundConverter *sc);
2313 
2322  OSErr
2324 
2333  OSErr
2334  SoundConverterGetBufferSizes(SoundConverter sc, unsigned long inputBytesTarget,
2335  unsigned long *inputFrames,
2336  unsigned long *inputBytes,
2337  unsigned long *outputBytes);
2338 
2347  OSErr
2349 
2358  OSErr
2360  unsigned long inputFrames, void *outputPtr,
2361  unsigned long *outputFrames,
2362  unsigned long *outputBytes);
2363 
2372  OSErr
2374  unsigned long *outputFrames,
2375  unsigned long *outputBytes);
2376 
2386  OSErr
2387  SoundConverterGetInfo(SoundConverter sc, OSType selector, void *infoPtr);
2388 
2397  OSErr
2398  SoundConverterSetInfo(SoundConverter sc, OSType selector, void *infoPtr);
2399 
2409  OSErr
2411  SoundConverterFillBufferDataUPP fillBufferDataUPP,
2412  void *fillBufferDataRefCon, void *outputBuffer,
2413  unsigned long outputBufferByteSize,
2414  unsigned long *bytesWritten,
2415  unsigned long *framesWritten,
2416  unsigned long *outputFlags);
2417 
2426  OSErr
2427  SoundManagerGetInfo(OSType selector, void *infoPtr);
2428 
2437  OSErr
2438  SoundManagerSetInfo(OSType selector, const void *infoPtr);
2439 
2453  ComponentResult
2455 
2464  ComponentResult
2466  ComponentInstance source);
2467 
2476  ComponentResult
2478  ComponentInstance *source);
2479 
2488  ComponentResult
2490  SoundComponentDataPtr *sourceData);
2491 
2500  ComponentResult
2502  SoundComponentDataPtr *actual);
2503 
2513  ComponentResult
2515 
2524  ComponentResult
2526 
2536  ComponentResult
2538  OSType selector, void *infoPtr);
2539 
2548  ComponentResult
2550  OSType selector, void *infoPtr);
2551 
2561  ComponentResult
2563  SoundSource *sources);
2564 
2573  ComponentResult
2575  SoundSource *sources);
2576 
2585  ComponentResult
2587  SoundSource *sources);
2588 
2597  ComponentResult
2599  SoundParamBlockPtr pb, long actions);
2600 
2602  enum
2603  {
2604  kSoundComponentInitOutputDeviceSelect = 0x0001,
2605  kSoundComponentSetSourceSelect = 0x0002,
2606  kSoundComponentGetSourceSelect = 0x0003,
2607  kSoundComponentGetSourceDataSelect = 0x0004,
2608  kSoundComponentSetOutputSelect = 0x0005,
2609  kSoundComponentAddSourceSelect = 0x0101,
2610  kSoundComponentRemoveSourceSelect = 0x0102,
2611  kSoundComponentGetInfoSelect = 0x0103,
2612  kSoundComponentSetInfoSelect = 0x0104,
2613  kSoundComponentStartSourceSelect = 0x0105,
2614  kSoundComponentStopSourceSelect = 0x0106,
2615  kSoundComponentPauseSourceSelect = 0x0107,
2616  kSoundComponentPlaySourceBufferSelect = 0x0108
2617  };
2624 #if CALL_NOT_IN_CARBON
2633  ComponentResult
2634  AudioGetVolume(ComponentInstance ac, short whichChannel, ShortFixed *volume);
2635 
2644  ComponentResult
2645  AudioSetVolume(ComponentInstance ac, short whichChannel, ShortFixed volume);
2646 
2658  ComponentResult
2659  AudioGetMute(ComponentInstance ac, short whichChannel, short *mute);
2660 
2669  ComponentResult
2670  AudioSetMute(ComponentInstance ac, short whichChannel, short mute);
2671 
2683  ComponentResult
2685 
2696  ComponentResult
2698 
2707  ComponentResult
2708  AudioGetBass(ComponentInstance ac, short whichChannel, short *bass);
2709 
2718  ComponentResult
2719  AudioSetBass(ComponentInstance ac, short whichChannel, short bass);
2720 
2729  ComponentResult
2730  AudioGetTreble(ComponentInstance ac, short whichChannel, short *Treble);
2731 
2740  ComponentResult
2741  AudioSetTreble(ComponentInstance ac, short whichChannel, short Treble);
2742 
2751  ComponentResult
2753 
2764  ComponentResult
2765  AudioMuteOnEvent(ComponentInstance ac, short muteOnEvent);
2766 
2768  enum
2769  {
2770  kAudioGetVolumeSelect = 0x0000,
2771  kAudioSetVolumeSelect = 0x0001,
2772  kAudioGetMuteSelect = 0x0002,
2773  kAudioSetMuteSelect = 0x0003,
2774  kAudioSetToDefaultsSelect = 0x0004,
2775  kAudioGetInfoSelect = 0x0005,
2776  kAudioGetBassSelect = 0x0006,
2777  kAudioSetBassSelect = 0x0007,
2778  kAudioGetTrebleSelect = 0x0008,
2779  kAudioSetTrebleSelect = 0x0009,
2780  kAudioGetOutputDeviceSelect = 0x000A,
2781  kAudioMuteOnEventSelect = 0x0081
2782  };
2783 #endif
2785  enum
2786  {
2787  kDelegatedSoundComponentSelectors = 0x0100
2788  };
2789 
2813  NumVersion
2814  SPBVersion(void);
2815 
2824  OSErr
2825  SndRecord(ModalFilterUPP filterProc, Point corner, OSType quality,
2826  SndListHandle *sndHandle);
2827 
2828 #if CALL_NOT_IN_CARBON
2837  OSErr
2838  SndRecordToFile(ModalFilterUPP filterProc, Point corner, OSType quality,
2839  short fRefNum);
2840 
2841 #endif
2851  OSErr
2852  SPBSignInDevice(short deviceRefNum, ConstStr255Param deviceName);
2853 
2862  OSErr
2863  SPBSignOutDevice(short deviceRefNum);
2864 
2873  OSErr
2874  SPBGetIndexedDevice(short count, Str255 deviceName, Handle *deviceIconHandle);
2875 
2884  OSErr
2885  SPBOpenDevice(ConstStr255Param deviceName, short permission, long *inRefNum);
2886 
2895  OSErr
2896  SPBCloseDevice(long inRefNum);
2897 
2906  OSErr
2907  SPBRecord(SPBPtr inParamPtr, Boolean asynchFlag);
2908 
2909 #if CALL_NOT_IN_CARBON
2918  OSErr
2919  SPBRecordToFile(short fRefNum, SPBPtr inParamPtr, Boolean asynchFlag);
2920 
2921 #endif
2939  OSErr
2940  SPBPauseRecording(long inRefNum);
2941 
2958  OSErr
2959  SPBResumeRecording(long inRefNum);
2960 
2979  OSErr
2980  SPBStopRecording(long inRefNum);
2981 
3012  OSErr
3013  SPBGetRecordingStatus(long inRefNum, short *recordingStatus, short *meterLevel,
3014  unsigned long *totalSamplesToRecord,
3015  unsigned long *numberOfSamplesRecorded,
3016  unsigned long *totalMsecsToRecord,
3017  unsigned long *numberOfMsecsRecorded);
3018 
3027  OSErr
3028  SPBGetDeviceInfo(long inRefNum, OSType infoType, void *infoData);
3029 
3038  OSErr
3039  SPBSetDeviceInfo(long inRefNum, OSType infoType, void *infoData);
3040 
3049  OSErr
3050  SPBMillisecondsToBytes(long inRefNum, long *milliseconds);
3051 
3060  OSErr
3061  SPBBytesToMilliseconds(long inRefNum, long *byteCount);
3062 
3100  OSErr
3101  SetupSndHeader(SndListHandle sndHandle, short numChannels,
3102  UnsignedFixed sampleRate, short sampleSize,
3103  OSType compressionType, short baseNote, unsigned long numBytes,
3104  short *headerLen);
3105 
3142  OSErr
3143  SetupAIFFHeader(short fRefNum, short numChannels, UnsignedFixed sampleRate,
3144  short sampleSize, OSType compressionType,
3145  unsigned long numBytes, unsigned long numFrames);
3146 
3156  OSErr
3157  ParseAIFFHeader(short fRefNum, SoundComponentData *sndInfo,
3158  unsigned long *numFrames, unsigned long *dataOffset);
3159 
3168  OSErr
3170  unsigned long *numFrames, unsigned long *dataOffset);
3171 
3172 #if !TARGET_OS_MAC || TARGET_API_MAC_CARBON
3178  typedef struct SndInputCmpParam SndInputCmpParam;
3180  typedef CALLBACK_API(void,
3181  SICCompletionProcPtr)(SndInputCmpParamPtr SICParmPtr);
3183  {
3184  SICCompletionProcPtr ioCompletion;
3185  SIInterruptProcPtr ioInterrupt;
3186  OSErr ioResult;
3187  short pad;
3188  unsigned long ioReqCount;
3189  unsigned long ioActCount;
3190  Ptr ioBuffer;
3191  Ptr ioMisc;
3192  };
3193 
3202  ComponentResult
3204 
3213  ComponentResult
3215 
3224  ComponentResult
3226 
3235  ComponentResult
3237 
3246  ComponentResult
3248 
3257  ComponentResult
3258  SndInputGetStatus(ComponentInstance self, short *recordingStatus,
3259  unsigned long *totalSamplesToRecord,
3260  unsigned long *numberOfSamplesRecorded);
3261 
3270  ComponentResult
3271  SndInputGetDeviceInfo(ComponentInstance self, OSType infoType, void *infoData);
3272 
3281  ComponentResult
3282  SndInputSetDeviceInfo(ComponentInstance self, OSType infoType, void *infoData);
3283 
3292  ComponentResult
3294 
3296  enum
3297  {
3298  kSndInputReadAsyncSelect = 0x0001,
3299  kSndInputReadSyncSelect = 0x0002,
3300  kSndInputPauseRecordingSelect = 0x0003,
3301  kSndInputResumeRecordingSelect = 0x0004,
3302  kSndInputStopRecordingSelect = 0x0005,
3303  kSndInputGetStatusSelect = 0x0006,
3304  kSndInputGetDeviceInfoSelect = 0x0007,
3305  kSndInputSetDeviceInfoSelect = 0x0008,
3306  kSndInputInitHardwareSelect = 0x0009
3307  };
3308 #endif
3310 #if PRAGMA_STRUCT_ALIGN
3311 #pragma options align = reset
3312 #elif PRAGMA_STRUCT_PACKPUSH
3313 #pragma pack(pop)
3314 #elif PRAGMA_STRUCT_PACK
3315 #pragma pack()
3316 #endif
3317 
3318 #ifdef PRAGMA_IMPORT_OFF
3319 #pragma import off
3320 #elif PRAGMA_IMPORT
3321 #pragma import reset
3322 #endif
3323 
3324 #ifdef __cplusplus
3325 }
3326 #endif
3327 
3328 #endif
3329 * / t available
3330  * \mac_os_x in version 10.0 and
3331  later
3332  * /
3333  ComponentResult
3334  SndInputSetDeviceInfo(ComponentInstance self, OSType infoType, void *infoData);
3335 
3344 ComponentResult
3346 
3348 enum
3349 {
3350  kSndInputReadAsyncSelect = 0x0001,
3351  kSndInputReadSyncSelect = 0x0002,
3352  kSndInputPauseRecordingSelect = 0x0003,
3353  kSndInputResumeRecordingSelect = 0x0004,
3354  kSndInputStopRecordingSelect = 0x0005,
3355  kSndInputGetStatusSelect = 0x0006,
3356  kSndInputGetDeviceInfoSelect = 0x0007,
3357  kSndInputSetDeviceInfoSelect = 0x0008,
3358  kSndInputInitHardwareSelect = 0x0009
3359 };
3360 #endif
3362 #if PRAGMA_STRUCT_ALIGN
3363 #pragma options align = reset
3364 #elif PRAGMA_STRUCT_PACKPUSH
3365 #pragma pack(pop)
3366 #elif PRAGMA_STRUCT_PACK
3367 #pragma pack()
3368 #endif
3369 
3370 #ifdef PRAGMA_IMPORT_OFF
3371 #pragma import off
3372 #elif PRAGMA_IMPORT
3373 #pragma import reset
3374 #endif
3375 
3376 #ifdef __cplusplus
3377 }
3378 #endif
3379 
3380 #endif
3381 * /*/*/ * /*/*/ * /*/*/ * /*/*/
Component Manager Interfaces.
Dialog Manager interfaces.
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
Mixed Mode Manager Interfaces.
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
@ kNonRealTime
Definition: Sound.h:605
@ kRateConvert
Definition: Sound.h:601
@ kHighQuality
Definition: Sound.h:604
@ k8BitTwosIn
Definition: Sound.h:593
OSErr SndRecordToFile(ModalFilterUPP filterProc, Point corner, OSType quality, short fRefNum)
@ waveTableSynth
Definition: Sound.h:144
@ MACE3snthID
Definition: Sound.h:146
OSErr SPBGetRecordingStatus(long inRefNum, short *recordingStatus, short *meterLevel, unsigned long *totalSamplesToRecord, unsigned long *numberOfSamplesRecorded, unsigned long *totalMsecsToRecord, unsigned long *numberOfMsecsRecorded)
SPBGetRecordingStatus Obtain recording status information.
OSErr SPBOpenDevice(ConstStr255Param deviceName, short permission, long *inRefNum)
OSErr SPBPauseRecording(long inRefNum)
SPBPauseRecording Pause recording from the specified device.
void DisposeSICompletionUPP(SICompletionUPP userUPP)
OSErr SndStartFilePlay(SndChannelPtr chan, short fRefNum, short resNum, long bufferSize, void *theBuffer, AudioSelectionPtr theSelection, FilePlayCompletionUPP theCompletion, Boolean async)
ComponentResult SoundComponentStopSource(ComponentInstance ti, short count, SoundSource *sources)
ComponentResult AudioGetTreble(ComponentInstance ac, short whichChannel, short *Treble)
ComponentResult SndInputGetDeviceInfo(ComponentInstance self, OSType infoType, void *infoData)
void SndGetSysBeepState(short *sysBeepState)
SndGetSysBeepState Determine whether SysBeep is enabled.
OSErr SetupAIFFHeader(short fRefNum, short numChannels, UnsignedFixed sampleRate, short sampleSize, OSType compressionType, unsigned long numBytes, unsigned long numFrames)
Set up a file that can be played by SndStartFilePlay.
OSErr SndDisposeChannel(SndChannelPtr chan, Boolean quietNow)
NumVersion SPBVersion(void)
Determine the version of the sound input routines.
void Exp1to6(const void *inBuffer, void *outBuffer, unsigned long cnt, StateBlockPtr inState, StateBlockPtr outState, unsigned long numChannels, unsigned long whichChannel)
OSErr SndStopFilePlay(SndChannelPtr chan, Boolean quietNow)
@ siUserInterruptProc
Definition: Sound.h:460
@ siPauseRecording
Definition: Sound.h:459
@ siInitializeDriver
Definition: Sound.h:457
OSErr GetCompressionInfo(short compressionID, OSType format, short numChannels, short sampleSize, CompressionInfoPtr cp)
ComponentResult SoundComponentGetInfo(ComponentInstance ti, SoundSource sourceID, OSType selector, void *infoPtr)
ComponentResult AudioSetToDefaults(ComponentInstance ac)
void InvokeSndCallBackUPP(SndChannelPtr chan, SndCommand *cmd, SndCallBackUPP userUPP)
ComponentResult SoundComponentGetSource(ComponentInstance ti, SoundSource sourceID, ComponentInstance *source)
OSErr SoundConverterConvertBuffer(SoundConverter sc, const void *inputPtr, unsigned long inputFrames, void *outputPtr, unsigned long *outputFrames, unsigned long *outputBytes)
OSErr SPBSignInDevice(short deviceRefNum, ConstStr255Param deviceName)
@ kSoundComponentBits
Definition: Sound.h:656
@ kActionMask
Definition: Sound.h:655
@ kOutputShift
Definition: Sound.h:654
@ kOutputMask
Definition: Sound.h:653
ComponentResult AudioGetOutputDevice(ComponentInstance ac, Component *outputDevice)
void DisposeSIInterruptUPP(SIInterruptUPP userUPP)
OSErr GetSoundHeaderOffset(SndListHandle sndHandle, long *offset)
OSErr CloseMixerSoundComponent(ComponentInstance ci)
ComponentResult SoundComponentPlaySourceBuffer(ComponentInstance ti, SoundSource sourceID, SoundParamBlockPtr pb, long actions)
ComponentResult SndInputStopRecording(ComponentInstance self)
ComponentResult AudioGetVolume(ComponentInstance ac, short whichChannel, ShortFixed *volume)
OSErr GetSysBeepVolume(long *level)
OSErr ParseAIFFHeader(short fRefNum, SoundComponentData *sndInfo, unsigned long *numFrames, unsigned long *dataOffset)
ComponentResult AudioGetMute(ComponentInstance ac, short whichChannel, short *mute)
ComponentResult SoundComponentSetOutput(ComponentInstance ti, SoundComponentDataPtr requested, SoundComponentDataPtr *actual)
@ siAsync
Definition: Sound.h:341
@ siCompressionSampleRate
Definition: Sound.h:353
@ siCompressionNames
Definition: Sound.h:350
@ siVendorProduct
Definition: Sound.h:438
@ siSupportedExtendedFlags
Definition: Sound.h:443
@ siTwosComplementOnOff
Definition: Sound.h:437
@ siCompressionAvailable
Definition: Sound.h:344
@ siSampleSize
Definition: Sound.h:416
@ siVolume
Definition: Sound.h:439
@ siDeviceIcon
Definition: Sound.h:361
@ siHardwareMuteNoPrefs
Definition: Sound.h:381
@ siOSTypeInputSource
Definition: Sound.h:402
@ siLevelMeterOnOff
Definition: Sound.h:396
@ siInputSource
Definition: Sound.h:394
@ siEQSpectrumResolution
Definition: Sound.h:367
@ siRateConverterRollOffSlope
Definition: Sound.h:445
@ siSampleRate
Definition: Sound.h:414
@ siHeadphoneVolumeSteps
Definition: Sound.h:390
@ siCompressionParams
Definition: Sound.h:352
@ siDeviceBufferInfo
Definition: Sound.h:358
@ siRateMultiplier
Definition: Sound.h:412
@ siQuality
Definition: Sound.h:411
@ siPreMixerSoundComponent
Definition: Sound.h:409
@ siVoxRecordInfo
Definition: Sound.h:440
@ siOSTypeInputAvailable
Definition: Sound.h:403
@ siDeviceName
Definition: Sound.h:362
@ siPlayThruOnOff
Definition: Sound.h:406
@ siSubwooferMute
Definition: Sound.h:435
@ siModemGain
Definition: Sound.h:397
@ siHardwareTreble
Definition: Sound.h:383
@ siOptionsDialog
Definition: Sound.h:401
@ siCompressionFactor
Definition: Sound.h:348
@ siHeadphoneVolume
Definition: Sound.h:389
@ siRecordingQuality
Definition: Sound.h:413
@ siInputSourceNames
Definition: Sound.h:395
@ siInputGain
Definition: Sound.h:393
@ siInputAvailable
Definition: Sound.h:392
@ siEQSpectrumLevels
Definition: Sound.h:364
@ siHardwareVolumeSteps
Definition: Sound.h:386
@ siOutputLatency
Definition: Sound.h:450
@ siOutputDeviceName
Definition: Sound.h:405
@ siTerminalType
Definition: Sound.h:436
@ siSoundClock
Definition: Sound.h:424
@ siSpeakerMute
Definition: Sound.h:427
@ siHardwareBalance
Definition: Sound.h:374
@ siActiveLevels
Definition: Sound.h:339
@ siSlopeAndIntercept
Definition: Sound.h:422
@ siHardwareMute
Definition: Sound.h:380
@ siContinuous
Definition: Sound.h:356
@ siEQSpectrumBands
Definition: Sound.h:363
@ siWideStereo
Definition: Sound.h:442
@ siCompressionHeader
Definition: Sound.h:349
@ siPostMixerSoundComponent
Definition: Sound.h:407
@ siVoxStopInfo
Definition: Sound.h:441
@ siHardwareFormat
Definition: Sound.h:379
@ siSampleSizeAvailable
Definition: Sound.h:417
@ siAGCOnOff
Definition: Sound.h:340
@ siAVDisplayBehavior
Definition: Sound.h:342
@ siHeadphoneMute
Definition: Sound.h:388
@ siSampleRateAvailable
Definition: Sound.h:415
@ siSetupCDAudio
Definition: Sound.h:418
@ siCompressionType
Definition: Sound.h:355
@ siEQSpectrumOnOff
Definition: Sound.h:365
@ siEQToneControlOnOff
Definition: Sound.h:372
@ siSetupModemAudio
Definition: Sound.h:420
@ siSpeakerVolume
Definition: Sound.h:429
@ siDeviceConnected
Definition: Sound.h:359
@ siEQToneControlGain
Definition: Sound.h:370
@ siMonitorAvailable
Definition: Sound.h:398
@ siSSpCPULoadLimit
Definition: Sound.h:431
@ siCompressionChannels
Definition: Sound.h:346
@ siDecompressionParams
Definition: Sound.h:357
OSErr SoundConverterOpen(const SoundComponentData *inputFormat, const SoundComponentData *outputFormat, SoundConverter *sc)
ComponentResult SoundComponentSetInfo(ComponentInstance ti, SoundSource sourceID, OSType selector, void *infoPtr)
ComponentResult AudioMuteOnEvent(ComponentInstance ac, short muteOnEvent)
@ siReadPermission
Definition: Sound.h:716
@ siDeviceNotConnected
Definition: Sound.h:714
@ siWritePermission
Definition: Sound.h:717
@ siDontKnowIfConnected
Definition: Sound.h:715
struct OpaqueSoundSource * SoundSource
Definition: Sound.h:1267
struct OpaqueSoundConverter * SoundConverter
Definition: Sound.h:1260
OSErr SetSoundOutputInfo(Component outputDevice, OSType selector, const void *infoPtr)
OSErr SoundManagerSetInfo(OSType selector, const void *infoPtr)
@ unitTypeSeconds
Definition: Sound.h:226
void InvokeSICompletionUPP(SPBPtr inParamPtr, SICompletionUPP userUPP)
#define NewSndDoubleBackUPP(userRoutine)
Definition: Sound.h:1085
OSErr ParseSndHeader(SndListHandle sndHandle, SoundComponentData *sndInfo, unsigned long *numFrames, unsigned long *dataOffset)
@ extSH
Definition: Sound.h:232
@ cmpSH
Definition: Sound.h:233
OSErr SoundConverterClose(SoundConverter sc)
@ siGoodQuality
Definition: Sound.h:706
@ siNoneQuality
Definition: Sound.h:707
@ siBetterQuality
Definition: Sound.h:705
@ siBestQuality
Definition: Sound.h:704
#define NewSIInterruptUPP(userRoutine)
Definition: Sound.h:1436
OSErr SPBCloseDevice(long inRefNum)
void DisposeSndCallBackUPP(SndCallBackUPP userUPP)
@ clockComponentCmd
Definition: Sound.h:252
@ linkSoundComponentsCmd
Definition: Sound.h:255
@ scheduledSoundCmd
Definition: Sound.h:254
@ getClockComponentCmd
Definition: Sound.h:253
@ getVolumeCmd
Definition: Sound.h:251
@ soundCmd
Definition: Sound.h:256
void DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP)
OSErr GetDefaultOutputVolume(long *level)
#define NewFilePlayCompletionUPP(userRoutine)
Definition: Sound.h:1705
OSErr SoundConverterFillBuffer(SoundConverter sc, SoundConverterFillBufferDataUPP fillBufferDataUPP, void *fillBufferDataRefCon, void *outputBuffer, unsigned long outputBufferByteSize, unsigned long *bytesWritten, unsigned long *framesWritten, unsigned long *outputFlags)
OSErr SndSetSysBeepState(short sysBeepState)
SndSetSysBeepState Set the state of the system alert sound..
void DisposeSoundParamUPP(SoundParamUPP userUPP)
OSErr SndPlayDoubleBuffer(SndChannelPtr chan, SndDoubleBufferHeaderPtr theParams)
void InvokeFilePlayCompletionUPP(SndChannelPtr chan, FilePlayCompletionUPP userUPP)
OSErr SndRecord(ModalFilterUPP filterProc, Point corner, OSType quality, SndListHandle *sndHandle)
#define NewSndCallBackUPP(userRoutine)
Definition: Sound.h:797
OSErr SoundConverterGetBufferSizes(SoundConverter sc, unsigned long inputBytesTarget, unsigned long *inputFrames, unsigned long *inputBytes, unsigned long *outputBytes)
@ initMACE3
Definition: Sound.h:327
@ initMono
Definition: Sound.h:325
@ initSRateMask
Definition: Sound.h:330
@ initChanRight
Definition: Sound.h:322
@ initStereoMask
Definition: Sound.h:331
@ initNoInterp
Definition: Sound.h:323
@ initStereo
Definition: Sound.h:326
@ initPanMask
Definition: Sound.h:329
@ initNoDrop
Definition: Sound.h:324
@ initMACE6
Definition: Sound.h:328
@ initCompMask
Definition: Sound.h:332
OSErr SndSetInfo(SndChannelPtr chan, OSType selector, const void *infoPtr)
ComponentResult SoundComponentInitOutputDevice(ComponentInstance ti, long actions)
#define NewSoundParamUPP(userRoutine)
Definition: Sound.h:1375
OSErr GetSoundPreference(OSType theType, Str255 name, Handle settings)
ComponentResult SoundComponentAddSource(ComponentInstance ti, SoundSource *sourceID)
ComponentResult AudioSetVolume(ComponentInstance ac, short whichChannel, ShortFixed volume)
OSErr SoundManagerGetInfo(OSType selector, void *infoPtr)
@ kAVDisplayPlainTalkRemove
Definition: Sound.h:674
@ kAVDisplayPlainTalkInsert
Definition: Sound.h:677
@ kAVDisplayHeadphoneInsert
Definition: Sound.h:673
ComponentResult AudioSetMute(ComponentInstance ac, short whichChannel, short mute)
OSErr SetDefaultOutputVolume(long level)
OSErr SPBStopRecording(long inRefNum)
SPBStopRecording Resume recording from the specified device.
void InvokeSndDoubleBackUPP(SndChannelPtr channel, SndDoubleBufferPtr doubleBufferPtr, SndDoubleBackUPP userUPP)
@ sysBeepEnable
Definition: Sound.h:219
OSErr SndManagerStatus(short theLength, SMStatusPtr theStatus)
SndManagerStatus Determine information about the Sound Manager.
OSErr SPBGetIndexedDevice(short count, Str255 deviceName, Handle *deviceIconHandle)
@ rate16khz
Definition: Sound.h:128
@ rate22khz
Definition: Sound.h:127
@ rate11025hz
Definition: Sound.h:130
@ rate32khz
Definition: Sound.h:125
@ rate8khz
Definition: Sound.h:131
@ rate11khz
Definition: Sound.h:129
@ rate22050hz
Definition: Sound.h:126
@ rate44khz
Definition: Sound.h:124
void SysBeep(short duration)
void Exp1to3(const void *inBuffer, void *outBuffer, unsigned long cnt, StateBlockPtr inState, StateBlockPtr outState, unsigned long numChannels, unsigned long whichChannel)
ComponentResult SoundComponentGetSourceData(ComponentInstance ti, SoundComponentDataPtr *sourceData)
OSErr SndDoCommand(SndChannelPtr chan, const SndCommand *cmd, Boolean noWait)
typedef CALLBACK_API_REGISTER68K(void, SIInterruptProcPtr,(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize))
@ dbLastBuffer
Definition: Sound.h:211
OSErr OpenMixerSoundComponent(SoundComponentDataPtr outputDescription, long outputFlags, ComponentInstance *mixerComponent)
Boolean InvokeSoundConverterFillBufferDataUPP(SoundComponentDataPtr *data, void *refCon, SoundConverterFillBufferDataUPP userUPP)
ComponentResult SndInputReadSync(ComponentInstance self, SndInputCmpParamPtr SICParmPtr)
#define NewSICompletionUPP(userRoutine)
Definition: Sound.h:1466
OSErr SoundConverterSetInfo(SoundConverter sc, OSType selector, void *infoPtr)
ComponentResult SoundComponentStartSource(ComponentInstance ti, short count, SoundSource *sources)
OSErr GetCompressionName(OSType compressionType, Str255 compressionName)
OSErr SoundConverterGetInfo(SoundConverter sc, OSType selector, void *infoPtr)
@ kOffsetBinary
Definition: Sound.h:565
@ kIMACompression
Definition: Sound.h:556
@ kFloat64Format
Definition: Sound.h:547
@ k16BitBigEndianFormat
Definition: Sound.h:544
@ kFullMPEGLay3Format
Definition: Sound.h:569
@ kMACE6Compression
Definition: Sound.h:553
@ kMPEGLayer3Format
Definition: Sound.h:568
@ kTwosComplement
Definition: Sound.h:566
@ k8BitOffsetBinaryFormat
Definition: Sound.h:543
@ k32BitLittleEndianFormat
Definition: Sound.h:550
@ kCDXA2Compression
Definition: Sound.h:555
@ kDVIIntelIMAFormat
Definition: Sound.h:560
@ kCDXA4Compression
Definition: Sound.h:554
@ kMicrosoftADPCMFormat
Definition: Sound.h:559
@ kQDesignCompression
Definition: Sound.h:562
@ k24BitFormat
Definition: Sound.h:548
@ kQDesign2Compression
Definition: Sound.h:563
@ kMACE3Compression
Definition: Sound.h:552
@ kFloat32Format
Definition: Sound.h:546
@ kQUALCOMMCompression
Definition: Sound.h:564
@ kDVAudioFormat
Definition: Sound.h:561
@ kALawCompression
Definition: Sound.h:558
@ kULawCompression
Definition: Sound.h:557
@ k32BitFormat
Definition: Sound.h:549
@ kLittleEndianFormat
Definition: Sound.h:567
@ k16BitLittleEndianFormat
Definition: Sound.h:545
ComponentResult SoundComponentSetSource(ComponentInstance ti, SoundSource sourceID, ComponentInstance source)
OSErr SetupSndHeader(SndListHandle sndHandle, short numChannels, UnsignedFixed sampleRate, short sampleSize, OSType compressionType, short baseNote, unsigned long numBytes, short *headerLen)
Set up headers for 'snd ' resources.
OSErr SPBBytesToMilliseconds(long inRefNum, long *byteCount)
OSErr SPBGetDeviceInfo(long inRefNum, OSType infoType, void *infoData)
ComponentResult AudioSetTreble(ComponentInstance ac, short whichChannel, short Treble)
OSErr SoundConverterBeginConversion(SoundConverter sc)
ComponentResult SndInputInitHardware(ComponentInstance self)
OSErr SPBSetDeviceInfo(long inRefNum, OSType infoType, void *infoData)
ComponentResult SoundComponentRemoveSource(ComponentInstance ti, SoundSource sourceID)
OSErr SPBResumeRecording(long inRefNum)
SPBResumeRecording Resume recording from the specified device.
void DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP)
ComponentResult SndInputReadAsync(ComponentInstance self, SndInputCmpParamPtr SICParmPtr)
OSErr SPBSignOutDevice(short deviceRefNum)
void Comp3to1(const void *inBuffer, void *outBuffer, unsigned long cnt, StateBlockPtr inState, StateBlockPtr outState, unsigned long numChannels, unsigned long whichChannel)
OSErr SndDoImmediate(SndChannelPtr chan, const SndCommand *cmd)
ComponentResult SndInputPauseRecording(ComponentInstance self)
OSErr SetSysBeepVolume(long level)
OSErr SoundConverterEndConversion(SoundConverter sc, void *outputPtr, unsigned long *outputFrames, unsigned long *outputBytes)
OSErr SPBRecord(SPBPtr inParamPtr, Boolean asynchFlag)
NumVersion MACEVersion(void)
Determine the version of the MACE tools.
ComponentResult AudioGetInfo(ComponentInstance ac, AudioInfoPtr info)
@ secondSoundFormat
Definition: Sound.h:204
OSErr SndChannelStatus(SndChannelPtr chan, short theLength, SCStatusPtr theStatus)
OSErr SndGetInfo(SndChannelPtr chan, OSType selector, void *infoPtr)
OSErr GetSoundOutputInfo(Component outputDevice, OSType selector, void *infoPtr)
void InvokeSIInterruptUPP(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize, SIInterruptUPP userUPP)
@ kExtendedSoundBufferSizeValid
Definition: Sound.h:738
OSErr SndNewChannel(SndChannelPtr *chan, short synth, long init, SndCallBackUPP userRoutine)
void Comp6to1(const void *inBuffer, void *outBuffer, unsigned long cnt, StateBlockPtr inState, StateBlockPtr outState, unsigned long numChannels, unsigned long whichChannel)
typedef CALLBACK_API(Boolean, SoundConverterFillBufferDataProcPtr)(SoundComponentDataPtr *data
ComponentResult SndInputResumeRecording(ComponentInstance self)
UnsignedFixed UnsignedFixedMulDiv(UnsignedFixed value, UnsignedFixed multiplier, UnsignedFixed divisor)
@ kFullVolume
Definition: Sound.h:160
OSErr SndPlay(SndChannelPtr chan, SndListHandle sndHandle, Boolean async)
@ convertCmd
Definition: Sound.h:284
@ fixedCompression
Definition: Sound.h:181
@ variableCompression
Definition: Sound.h:182
Boolean InvokeSoundParamUPP(SoundParamBlockPtr *pb, SoundParamUPP userUPP)
OSErr SetSoundPreference(OSType theType, Str255 name, Handle settings)
#define NewSoundConverterFillBufferDataUPP(userRoutine)
Definition: Sound.h:1406
OSErr SndControl(short id, SndCommand *cmd)
ComponentResult SoundComponentPauseSource(ComponentInstance ti, short count, SoundSource *sources)
@ kSoundConverterHasLeftOverData
Definition: Sound.h:726
ComponentResult SndInputSetDeviceInfo(ComponentInstance self, OSType infoType, void *infoData)
@ kTVFMTunerSource
Definition: Sound.h:475
@ kCDSource
Definition: Sound.h:471
@ kIntMicSource
Definition: Sound.h:477
@ kZoomVideoSource
Definition: Sound.h:482
@ kExtMicSource
Definition: Sound.h:472
@ kDVDSource
Definition: Sound.h:483
@ kSoundInSource
Definition: Sound.h:473
@ kRCAInSource
Definition: Sound.h:474
@ kMicrophoneArray
Definition: Sound.h:484
@ kNoSource
Definition: Sound.h:470
@ kPCCardSource
Definition: Sound.h:481
@ kModemSource
Definition: Sound.h:479
@ kMediaBaySource
Definition: Sound.h:478
OSErr SPBMillisecondsToBytes(long inRefNum, long *milliseconds)
ComponentResult AudioGetBass(ComponentInstance ac, short whichChannel, short *bass)
ComponentResult AudioSetBass(ComponentInstance ac, short whichChannel, short bass)
@ audioDoesStereo
Definition: Sound.h:694
@ audioRightChannel
Definition: Sound.h:688
@ audioLeftChannel
Definition: Sound.h:687
@ audioAllChannels
Definition: Sound.h:685
@ audioDoesIndependentChannels
Definition: Sound.h:695
@ audioUnmuted
Definition: Sound.h:690
@ audioDoesMono
Definition: Sound.h:693
@ audioMuted
Definition: Sound.h:691
@ kNoSampleRateConversion
Definition: Sound.h:620
@ kNoDecompression
Definition: Sound.h:627
@ kNoChannelConversion
Definition: Sound.h:626
@ kNoVolumeConversion
Definition: Sound.h:628
@ kNoRealtimeProcessing
Definition: Sound.h:629
@ kVMAwareMixer
Definition: Sound.h:637
@ kNoSampleSizeConversion
Definition: Sound.h:622
@ kNoSampleFormatConversion
Definition: Sound.h:624
@ kNonPagingMixer
Definition: Sound.h:632
@ kScheduledSource
Definition: Sound.h:630
@ kSoundConverterMixer
Definition: Sound.h:633
@ kPagingMixer
Definition: Sound.h:635
@ kExtendedSoundData
Definition: Sound.h:639
@ kNonInterleavedBuffer
Definition: Sound.h:631
OSErr SPBRecordToFile(short fRefNum, SPBPtr inParamPtr, Boolean asynchFlag)
ComponentResult SndInputGetStatus(ComponentInstance self, short *recordingStatus, unsigned long *totalSamplesToRecord, unsigned long *numberOfSamplesRecorded)
NumVersion SndSoundManagerVersion(void)
SndSoundManagerVersion Determine the version of the Sound Manager.
@ kClassicSubType
Definition: Sound.h:505
@ kSingerSubType
Definition: Sound.h:512
@ kWaveOutSnifferSubType
Definition: Sound.h:518
@ kUSBSubType
Definition: Sound.h:523
@ kConverterSubType
Definition: Sound.h:496
@ kSoundOutputDeviceType
Definition: Sound.h:504
@ kGCAwacsSubType
Definition: Sound.h:510
@ kSndSourceSubType
Definition: Sound.h:497
@ kMixer16SubType
Definition: Sound.h:500
@ kEqualizerSubType
Definition: Sound.h:535
@ kDSPSubType
Definition: Sound.h:507
@ kUNIXsdevSubType
Definition: Sound.h:522
@ kDirectSoundSnifferSubType
Definition: Sound.h:520
@ kSSpLocalizationSubType
Definition: Sound.h:536
@ kAwacsPhoneSubType
Definition: Sound.h:529
@ kSoundCompressor
Definition: Sound.h:525
@ kAwacsSubType
Definition: Sound.h:508
@ kWhitSubType
Definition: Sound.h:514
@ kSinger2SubType
Definition: Sound.h:513
@ kRate8SubType
Definition: Sound.h:494
@ kWaveOutSubType
Definition: Sound.h:517
@ kASCSubType
Definition: Sound.h:506
@ kMixerType
Definition: Sound.h:498
@ kSoundBlasterSubType
Definition: Sound.h:516
@ kWaveInSubType
Definition: Sound.h:502
@ kDirectSoundSubType
Definition: Sound.h:519
@ kSoundComponentPPCType
Definition: Sound.h:492
@ kWaveInSnifferSubType
Definition: Sound.h:503
@ kRate16SubType
Definition: Sound.h:495
@ kSoundInputDeviceType
Definition: Sound.h:501
@ kBlueBoxSubType
Definition: Sound.h:524
OSErr SndPauseFilePlay(SndChannelPtr chan)
SndPauseFilePlay Suspend asynchronous play from disk.
void DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP)
typedef REGISTER_UPP_TYPE(HighHookProcPtr) HighHookUPP
Definition: ATA.h:616
Definition: Sound.h:1296
OSType atomType
Definition: Sound.h:1298
short littleEndian
Definition: Sound.h:1299
Definition: Sound.h:1288
OSType format
Definition: Sound.h:1291
OSType atomType
Definition: Sound.h:1290
Definition: Sound.h:1279
unsigned short numVolumeSteps
Definition: Sound.h:1282
long reserved
Definition: Sound.h:1281
Definition: Sound.h:1039
Definition: Sound.h:1304
OSType atomType
Definition: Sound.h:1306
Definition: Sound.h:916
Ptr markerChunk
Definition: Sound.h:928
unsigned short snthID
Definition: Sound.h:937
unsigned long numFrames
Definition: Sound.h:926
unsigned long loopStart
Definition: Sound.h:921
unsigned long numChannels
Definition: Sound.h:918
unsigned long loopEnd
Definition: Sound.h:922
OSType format
Definition: Sound.h:929
extended80 AIFFSampleRate
Definition: Sound.h:927
short compressionID
Definition: Sound.h:934
UInt8 baseFrequency
Definition: Sound.h:924
unsigned long futureUse2
Definition: Sound.h:930
unsigned short sampleSize
Definition: Sound.h:938
UInt8 sampleArea[1]
Definition: Sound.h:939
unsigned short packetSize
Definition: Sound.h:935
LeftOverBlockPtr leftOverSamples
Definition: Sound.h:932
UInt8 encode
Definition: Sound.h:923
UnsignedFixed sampleRate
Definition: Sound.h:920
StateBlockPtr stateVars
Definition: Sound.h:931
Definition: Components.h:133
Definition: Components.h:220
Definition: Components.h:214
Definition: Sound.h:1236
Definition: Sound.h:975
Definition: Sound.h:1319
Definition: Sound.h:944
unsigned short futureUse1
Definition: Sound.h:959
unsigned long futureUse4
Definition: Sound.h:962
unsigned long loopStart
Definition: Sound.h:949
unsigned long loopEnd
Definition: Sound.h:950
UInt8 baseFrequency
Definition: Sound.h:952
UInt8 encode
Definition: Sound.h:951
Ptr markerChunk
Definition: Sound.h:955
unsigned long numChannels
Definition: Sound.h:946
Ptr instrumentChunks
Definition: Sound.h:956
unsigned long futureUse3
Definition: Sound.h:961
UInt8 sampleArea[1]
Definition: Sound.h:963
Ptr AESRecording
Definition: Sound.h:957
extended80 AIFFSampleRate
Definition: Sound.h:954
unsigned long numFrames
Definition: Sound.h:953
unsigned long futureUse2
Definition: Sound.h:960
UnsignedFixed sampleRate
Definition: Sound.h:948
Definition: Sound.h:1003
Definition: Sound.h:1198
long extendedFlags
Definition: Sound.h:1201
long bufferSize
Definition: Sound.h:1202
long recordSize
Definition: Sound.h:1200
Definition: Sound.h:1226
long bufferSize
Definition: Sound.h:1231
short reserved
Definition: Sound.h:1229
Definition: MacTypes.h:206
Definition: Sound.h:864
Definition: Sound.h:1311
UInt8 rightMeter
Definition: Sound.h:1314
UInt8 leftMeter
Definition: Sound.h:1313
Definition: Sound.h:871
Definition: MacTypes.h:638
Definition: MacTypes.h:520
Definition: Sound.h:1025
Definition: Sound.h:1017
Definition: Sound.h:1340
unsigned long count
Definition: Sound.h:1342
OSErr error
Definition: Sound.h:1349
long userLong
Definition: Sound.h:1348
unsigned long bufferLength
Definition: Sound.h:1344
unsigned long milliseconds
Definition: Sound.h:1343
SICompletionUPP completionRoutine
Definition: Sound.h:1346
long unused1
Definition: Sound.h:1350
SIInterruptUPP interruptRoutine
Definition: Sound.h:1347
Ptr bufferPtr
Definition: Sound.h:1345
Definition: Sound.h:992
Definition: Sound.h:891
Definition: Sound.h:761
SndCallBackUPP callBack
Definition: Sound.h:764
SndCommand cmdInProgress
Definition: Sound.h:767
Definition: Sound.h:748
Definition: Sound.h:1163
Definition: Sound.h:1151
Definition: Sound.h:1048
Definition: Sound.h:3183
SIInterruptProcPtr ioInterrupt
Definition: Sound.h:3185
OSErr ioResult
Definition: Sound.h:3186
short pad
Definition: Sound.h:3187
Definition: Sound.h:877
Definition: Sound.h:1185
Definition: Sound.h:903
UInt8 baseFrequency
Definition: Sound.h:910
unsigned long loopEnd
Definition: Sound.h:908
UnsignedFixed sampleRate
Definition: Sound.h:906
UInt8 sampleArea[1]
Definition: Sound.h:911
unsigned long loopStart
Definition: Sound.h:907
unsigned long length
Definition: Sound.h:905
UInt8 encode
Definition: Sound.h:909
Definition: Sound.h:1178
Definition: Sound.h:1211
short result
Definition: Sound.h:1222
UnsignedFixed rateMultiplier
Definition: Sound.h:1214
long refCon
Definition: Sound.h:1221
short leftVolume
Definition: Sound.h:1215
ComponentInstance filter
Definition: Sound.h:1218
short rightVolume
Definition: Sound.h:1216
SoundParamUPP completionRtn
Definition: Sound.h:1220
SoundParamUPP moreRtn
Definition: Sound.h:1219
SoundComponentData desc
Definition: Sound.h:1213
Definition: Sound.h:1251
Definition: Sound.h:858
Definition: MacTypes.h:585
Definition: Sound.h:968