1 {
2      File:       QuickTime/QuickTimeMusic.h
3 
4      Contains:   QuickTime Interfaces.
5 
6      Version:    QuickTime 7.7.1
7 
8      Copyright:  � 1990-2012 by Apple 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 QuickTimeMusic;
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,Dialogs,Endian,Files,ImageCompression,Movies,QuickdrawTypes;
218 {$endc} {not MACOSALLINCLUDE}
219 
220 
221 {$ifc TARGET_OS_MAC}
222 
223 {$ALIGN MAC68K}
224 
225 { QuickTime is not available to 64-bit clients }
226 
227 {$ifc not TARGET_CPU_64}
228 
229 const
230 	kaiToneDescType = FourCharCode('tone');
231 	kaiNoteRequestInfoType = FourCharCode('ntrq');
232 	kaiKnobListType = FourCharCode('knbl');
233 	kaiKeyRangeInfoType = FourCharCode('sinf');
234 	kaiSampleDescType = FourCharCode('sdsc');
235 	kaiSampleInfoType = FourCharCode('smin');
236 	kaiSampleDataType = FourCharCode('sdat');
237 	kaiSampleDataQUIDType = FourCharCode('quid');
238 	kaiInstInfoType = FourCharCode('iinf');
239 	kaiPictType = FourCharCode('pict');
240 	kaiWriterType = FourCharCode('�wrt');
241 	kaiCopyrightType = FourCharCode('�cpy');
242 	kaiOtherStrType = FourCharCode('str ');
243 	kaiInstrumentRefType = FourCharCode('iref');
244 	kaiInstGMQualityType = FourCharCode('qual');
245 	kaiLibraryInfoType = FourCharCode('linf');
246 	kaiLibraryDescType = FourCharCode('ldsc');
247 
248 type
249 	InstLibDescRecPtr = ^InstLibDescRec;
250 	InstLibDescRec = record
251 		libIDName: Str31;
252 	end;
253 type
254 	InstKnobRecPtr = ^InstKnobRec;
255 	InstKnobRec = record
256 		number: BigEndianLong;
257 		value: BigEndianLong;
258 	end;
259 const
260 	kInstKnobMissingUnknown = 0;
261 	kInstKnobMissingDefault = 1 shl 0;
262 
263 type
264 	InstKnobListPtr = ^InstKnobList;
265 	InstKnobList = record
266 		knobCount: BigEndianLong;
267 		knobFlags: BigEndianLong;
268 		knob: array [0..0] of InstKnobRec;
269 	end;
270 const
271 	kMusicLoopTypeNormal = 0;
272 	kMusicLoopTypePalindrome = 1;     { back & forth}
273 
274 const
275 	instSamplePreProcessFlag = 1 shl 0;
276 
277 type
278 	InstSampleDescRecPtr = ^InstSampleDescRec;
279 	InstSampleDescRec = record
280 		dataFormat: BigEndianOSType;
281 		numChannels: BigEndianShort;
282 		sampleSize: BigEndianShort;
283 		sampleRate: BigEndianUnsignedFixed;
284 		sampleDataID: BigEndianShort;
285 		offset: BigEndianLong;                 { offset within SampleData - this could be just for internal use}
286 		numSamples: BigEndianLong;             { this could also just be for internal use, we'll see}
287 
288 		loopType: BigEndianLong;
289 		loopStart: BigEndianLong;
290 		loopEnd: BigEndianLong;
291 
292 		pitchNormal: BigEndianLong;
293 		pitchLow: BigEndianLong;
294 		pitchHigh: BigEndianLong;
295 	end;
296 
297 type
298 	AtomicInstrument = Handle;
299 	AtomicInstrumentPtr = Ptr;
300 const
301 	kQTMIDIComponentType = FourCharCode('midi');
302 
303 const
304 	kOMSComponentSubType = FourCharCode('OMS ');
305 	kFMSComponentSubType = FourCharCode('FMS ');
306 	kMIDIManagerComponentSubType = FourCharCode('mmgr');
307 	kOSXMIDIComponentSubType = FourCharCode('osxm');
308 
309 type
310 	QTMIDIComponent = ComponentInstance;
311 const
312 	kMusicPacketPortLost = 1;    { received when application loses the default input port }
313 	kMusicPacketPortFound = 2;    { received when application gets it back out from under someone else's claim }
314 	kMusicPacketTimeGap = 3;     { data[0] = number of milliseconds to keep the MIDI line silent }
315 
316 const
317 	kAppleSysexID = $11; { apple sysex is followed by 2-byte command. 0001 is the command for samplesize }
318 	kAppleSysexCmdSampleSize = $0001; { 21 bit number in 3 midi bytes follows sysex ID and 2 cmd bytes }
319 	kAppleSysexCmdSampleBreak = $0002; { specifies that the sample should break right here }
320 	kAppleSysexCmdAtomicInstrument = $0010; { contents of atomic instrument handle }
321 	kAppleSysexCmdDeveloper = $7F00; { F0 11 7F 00 ww xx yy zz ... F7 is available for non-Apple developers, where wxyz is unique app signature with 8th bit cleared, unique to developer, and 00 and 7f are reserved }
322 
323 type
324 	MusicMIDIPacket = record
325 		length: UInt16;
326 		reserved: UNSIGNEDLONG;               { if length zero, then reserved = above enum }
327 		data: packed array [0..248] of UInt8;
328 	end;
329 type
selfnull330 	MusicMIDISendProcPtr = function( self: ComponentInstance; refCon: SIGNEDLONG; var mmp: MusicMIDIPacket ): ComponentResult;
331 	MusicMIDISendUPP = MusicMIDISendProcPtr;
332 const
333 	kSynthesizerConnectionFMS = 1;    { this connection imported from FMS }
334 	kSynthesizerConnectionMMgr = 2;    { this connection imported from the MIDI Mgr }
335 	kSynthesizerConnectionOMS = 4;    { this connection imported from OMS }
336 	kSynthesizerConnectionQT = 8;    { this connection is a QuickTime-only port }
337 	kSynthesizerConnectionOSXMIDI = 16;   { this connection is an OS X CoreMIDI port }
338                                         { lowest five bits are mutually exclusive; combinations reserved for future use.}
339 	kSynthesizerConnectionUnavailable = 256; { port exists, but cannot be used just now }
340 
341 {
342     The sampleBankFile field of this structure can be used to pass in a pointer to an FSSpec
343     that represents a SoundFont 2 or DLS file (otherwise set it to NULL ).
344 
345     You then pass in a structure with this field set (all other fields should be zero) to
346     NARegisterMusicDevice:
347         - with synthType as kSoftSynthComponentSubType
348         - with name being used to return to the application the "name" of the synth
349         that should be used in the synthesiserName field of the ToneDescription structure
350         and is also used to retrieve a particular MusicComponent with the
351         NAGetRegisteredMusicDevice call
352 
353     This call will create a MusicComponent of kSoftSynthComponentSubType, with the specified
354     sound bank as the sample data source.
355 
356     This field requires QuickTime 5.0 or later and should be set to NULL for prior versions.
357 }
358 type
359 	SynthesizerConnectionsPtr = ^SynthesizerConnections;
360 	SynthesizerConnections = record
361 		clientID: OSType;
362 		inputPortID: OSType;            { terminology death: this port is used to SEND to the midi synth }
363 		outputPortID: OSType;           { terminology death: this port receives from a keyboard or other control device }
364 		midiChannel: SIGNEDLONG;            { The system channel; others are configurable (or the nubus slot number) }
365 		flags: SIGNEDLONG;
366 		unique: SIGNEDLONG;                 { unique id may be used instead of index, to getinfo and unregister calls }
367 		sampleBankFile: FSSpecPtr;         {  see notes above }
368 		reserved2: SIGNEDLONG;              { should be zero }
369 	end;
370 type
371 	QTMIDIPortPtr = ^QTMIDIPort;
372 	QTMIDIPort = record
373 		portConnections: SynthesizerConnections;
374 		portName: Str63;
375 	end;
376 type
377 	QTMIDIPortList = record
378 		portCount: SInt16;
379 		port: array [0..0] of QTMIDIPort;
380 	end;
381 	QTMIDIPortListPtr = ^QTMIDIPortList;
382 type
383 	QTMIDIPortListHandle = ^QTMIDIPortListPtr;
384 {
385  *  QTMIDIGetMIDIPorts()   *** DEPRECATED ***
386  *
387  *  Availability:
388  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
389  *    CarbonLib:        in CarbonLib 1.0 and later
390  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
391  *    Windows:          in qtmlClient.lib 3.0 and later
392  }
QTMIDIGetMIDIPortsnull393 function QTMIDIGetMIDIPorts( ci: QTMIDIComponent; var inputPorts: QTMIDIPortListHandle; var outputPorts: QTMIDIPortListHandle ): ComponentResult; external name '_QTMIDIGetMIDIPorts';
394 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
395 
396 
397 {
398  *  QTMIDIUseSendPort()   *** DEPRECATED ***
399  *
400  *  Availability:
401  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
402  *    CarbonLib:        in CarbonLib 1.0 and later
403  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
404  *    Windows:          in qtmlClient.lib 3.0 and later
405  }
QTMIDIUseSendPortnull406 function QTMIDIUseSendPort( ci: QTMIDIComponent; portIndex: SIGNEDLONG; inUse: SIGNEDLONG ): ComponentResult; external name '_QTMIDIUseSendPort';
407 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
408 
409 
410 {
411  *  QTMIDISendMIDI()   *** DEPRECATED ***
412  *
413  *  Availability:
414  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
415  *    CarbonLib:        in CarbonLib 1.0 and later
416  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
417  *    Windows:          in qtmlClient.lib 3.0 and later
418  }
QTMIDISendMIDInull419 function QTMIDISendMIDI( ci: QTMIDIComponent; portIndex: SIGNEDLONG; var mp: MusicMIDIPacket ): ComponentResult; external name '_QTMIDISendMIDI';
420 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
421 
422 
423 const
424 	kMusicComponentType = FourCharCode('musi');
425 	kInstrumentComponentType = FourCharCode('inst');
426 
427 const
428 	kSoftSynthComponentSubType = FourCharCode('ss  ');
429 	kGMSynthComponentSubType = FourCharCode('gm  ');
430 
431 
432 type
433 	MusicComponent = ComponentInstance;
434 { MusicSynthesizerFlags}
435 const
436 	kSynthesizerDynamicVoice = 1 shl 0; { can assign voices on the fly (else, polyphony is very important }
437 	kSynthesizerUsesMIDIPort = 1 shl 1; { must be patched through MIDI Manager }
438 	kSynthesizerMicrotone = 1 shl 2; { can play microtonal scales }
439 	kSynthesizerHasSamples = 1 shl 3; { synthesizer has some use for sampled data }
440 	kSynthesizerMixedDrums = 1 shl 4; { any part can play drum parts, total = instrument parts }
441 	kSynthesizerSoftware = 1 shl 5; { implemented in main CPU software == uses cpu cycles }
442 	kSynthesizerHardware = 1 shl 6; { is a hardware device (such as nubus, or maybe DSP?) }
443 	kSynthesizerDynamicChannel = 1 shl 7; { can move any part to any channel or disable each part. (else we assume it lives on all channels in masks) }
444 	kSynthesizerHogsSystemChannel = 1 shl 8; { can be channelwise dynamic, but always responds on its system channel }
445 	kSynthesizerHasSystemChannel = 1 shl 9; { has some "system channel" notion to distinguish it from multiple instances of the same device (GM devices dont) }
446 	kSynthesizerSlowSetPart = 1 shl 10; { SetPart() and SetPartInstrumentNumber() calls do not have rapid response, may glitch notes }
447 	kSynthesizerOffline = 1 shl 12; { can enter an offline synthesis mode }
448 	kSynthesizerGM = 1 shl 14; { synth is a GM device }
449 	kSynthesizerDLS = 1 shl 15; { synth supports DLS level 1 }
450 	kSynthesizerSoundLocalization = 1 shl 16; { synth supports extremely baroque, nonstandard, and proprietary "apple game sprockets" localization parameter set }
451 
452 {
453  * Note that these controller numbers
454  * are _not_ identical to the MIDI controller numbers.
455  * These are _signed_ 8.8 values, and the LSB's are
456  * always sent to a MIDI device. Controllers 32-63 are
457  * reserved (for MIDI, they are LSB's for 0-31, but we
458  * always send both).
459  *
460  * The full range, therefore, is -128.00 to 127.7f.
461  *
462  * _Excepting_ _volume_, all controls default to zero.
463  *
464  * Pitch bend is specified in fractional semitones! No
465  * more "pitch bend range" nonsense. You can bend as far
466  * as you want, any time you want.
467  }
468 type
469 	MusicController = SInt32;
470 const
471 	kControllerModulationWheel = 1;
472 	kControllerBreath = 2;
473 	kControllerFoot = 4;
474 	kControllerPortamentoTime = 5;    { time in 8.8 seconds, portamento on/off is omitted, 0 time = 'off' }
475 	kControllerVolume = 7;    { main volume control }
476 	kControllerBalance = 8;
477 	kControllerPan = 10;   { 0 - "default", 1 - n: positioned in output 1-n (incl fractions) }
478 	kControllerExpression = 11;   { secondary volume control }
479 	kControllerLever1 = 16;   { general purpose controllers }
480 	kControllerLever2 = 17;   { general purpose controllers }
481 	kControllerLever3 = 18;   { general purpose controllers }
482 	kControllerLever4 = 19;   { general purpose controllers }
483 	kControllerLever5 = 80;   { general purpose controllers }
484 	kControllerLever6 = 81;   { general purpose controllers }
485 	kControllerLever7 = 82;   { general purpose controllers }
486 	kControllerLever8 = 83;   { general purpose controllers }
487 	kControllerPitchBend = 32;   { positive & negative semitones, with 8 bits fraction, same units as transpose controllers}
488 	kControllerAfterTouch = 33;   { aka channel pressure }
489 	kControllerPartTranspose = 40;   { identical to pitchbend, for overall part xpose }
490 	kControllerTuneTranspose = 41;   { another pitchbend, for "song global" pitch offset }
491 	kControllerPartVolume = 42;   { another volume control, passed right down from note allocator part volume }
492 	kControllerTuneVolume = 43;   { another volume control, used for "song global" volume - since we share one synthesizer across multiple tuneplayers}
493 	kControllerSustain = 64;   { boolean - positive for on, 0 or negative off }
494 	kControllerPortamento = 65;   { boolean}
495 	kControllerSostenuto = 66;   { boolean }
496 	kControllerSoftPedal = 67;   { boolean }
497 	kControllerReverb = 91;
498 	kControllerTremolo = 92;
499 	kControllerChorus = 93;
500 	kControllerCeleste = 94;
501 	kControllerPhaser = 95;
502 	kControllerEditPart = 113;  { last 16 controllers 113-128 and above are global controllers which respond on part zero }
503 	kControllerMasterTune = 114;
504 	kControllerMasterTranspose = 114;  { preferred}
505 	kControllerMasterVolume = 115;
506 	kControllerMasterCPULoad = 116;
507 	kControllerMasterPolyphony = 117;
508 	kControllerMasterFeatures = 118;
509 
510 
511 { ID's of knobs supported by the QuickTime Music Synthesizer built into QuickTime}
512 
513 const
514 	kQTMSKnobStartID = $02000000;
515 	kQTMSKnobVolumeAttackTimeID = $02000001;
516 	kQTMSKnobVolumeDecayTimeID = $02000002;
517 	kQTMSKnobVolumeSustainLevelID = $02000003;
518 	kQTMSKnobVolumeRelease1RateID = $02000004;
519 	kQTMSKnobVolumeDecayKeyScalingID = $02000005;
520 	kQTMSKnobVolumeReleaseTimeID = $02000006;
521 	kQTMSKnobVolumeLFODelayID = $02000007;
522 	kQTMSKnobVolumeLFORampTimeID = $02000008;
523 	kQTMSKnobVolumeLFOPeriodID = $02000009;
524 	kQTMSKnobVolumeLFOShapeID = $0200000A;
525 	kQTMSKnobVolumeLFODepthID = $0200000B;
526 	kQTMSKnobVolumeOverallID = $0200000C;
527 	kQTMSKnobVolumeVelocity127ID = $0200000D;
528 	kQTMSKnobVolumeVelocity96ID = $0200000E;
529 	kQTMSKnobVolumeVelocity64ID = $0200000F;
530 	kQTMSKnobVolumeVelocity32ID = $02000010;
531 	kQTMSKnobVolumeVelocity16ID = $02000011; { Pitch related knobs}
532 	kQTMSKnobPitchTransposeID = $02000012;
533 	kQTMSKnobPitchLFODelayID = $02000013;
534 	kQTMSKnobPitchLFORampTimeID = $02000014;
535 	kQTMSKnobPitchLFOPeriodID = $02000015;
536 	kQTMSKnobPitchLFOShapeID = $02000016;
537 	kQTMSKnobPitchLFODepthID = $02000017;
538 	kQTMSKnobPitchLFOQuantizeID = $02000018; { Stereo related knobs}
539 	kQTMSKnobStereoDefaultPanID = $02000019;
540 	kQTMSKnobStereoPositionKeyScalingID = $0200001A;
541 	kQTMSKnobPitchLFOOffsetID = $0200001B;
542 	kQTMSKnobExclusionGroupID = $0200001C; { Misc knobs, late additions}
543 	kQTMSKnobSustainTimeID = $0200001D;
544 	kQTMSKnobSustainInfiniteID = $0200001E;
545 	kQTMSKnobVolumeLFOStereoID = $0200001F;
546 	kQTMSKnobVelocityLowID = $02000020;
547 	kQTMSKnobVelocityHighID = $02000021;
548 	kQTMSKnobVelocitySensitivityID = $02000022;
549 	kQTMSKnobPitchSensitivityID = $02000023;
550 	kQTMSKnobVolumeLFODepthFromWheelID = $02000024;
551 	kQTMSKnobPitchLFODepthFromWheelID = $02000025; { Volume Env again}
552 	kQTMSKnobVolumeExpOptionsID = $02000026; { Env1}
553 	kQTMSKnobEnv1AttackTimeID = $02000027;
554 	kQTMSKnobEnv1DecayTimeID = $02000028;
555 	kQTMSKnobEnv1SustainLevelID = $02000029;
556 	kQTMSKnobEnv1SustainTimeID = $0200002A;
557 	kQTMSKnobEnv1SustainInfiniteID = $0200002B;
558 	kQTMSKnobEnv1ReleaseTimeID = $0200002C;
559 	kQTMSKnobEnv1ExpOptionsID = $0200002D; { Env2}
560 	kQTMSKnobEnv2AttackTimeID = $0200002E;
561 	kQTMSKnobEnv2DecayTimeID = $0200002F;
562 	kQTMSKnobEnv2SustainLevelID = $02000030;
563 	kQTMSKnobEnv2SustainTimeID = $02000031;
564 	kQTMSKnobEnv2SustainInfiniteID = $02000032;
565 	kQTMSKnobEnv2ReleaseTimeID = $02000033;
566 	kQTMSKnobEnv2ExpOptionsID = $02000034; { Pitch Env}
567 	kQTMSKnobPitchEnvelopeID = $02000035;
568 	kQTMSKnobPitchEnvelopeDepthID = $02000036; { Filter}
569 	kQTMSKnobFilterKeyFollowID = $02000037;
570 	kQTMSKnobFilterTransposeID = $02000038;
571 	kQTMSKnobFilterQID = $02000039;
572 	kQTMSKnobFilterFrequencyEnvelopeID = $0200003A;
573 	kQTMSKnobFilterFrequencyEnvelopeDepthID = $0200003B;
574 	kQTMSKnobFilterQEnvelopeID = $0200003C;
575 	kQTMSKnobFilterQEnvelopeDepthID = $0200003D; { Reverb Threshhold}
576 	kQTMSKnobReverbThresholdID = $0200003E;
577 	kQTMSKnobVolumeAttackVelScalingID = $0200003F;
578 	kQTMSKnobLastIDPlus1 = $02000040;
579 
580 
581 const
582 	kControllerMaximum = $00007FFF; { +01111111.11111111 }
583 	kControllerMinimum = $FFFF8000; { -10000000.00000000 }
584 
585 type
586 	SynthesizerDescription = record
587 		synthesizerType: OSType;        { synthesizer type (must be same as component subtype) }
588 		name: Str31;                   { text name of synthesizer type }
589 		flags: UNSIGNEDLONG;                  { from the above enum }
590 		voiceCount: UNSIGNEDLONG;             { maximum polyphony }
591 
592 		partCount: UNSIGNEDLONG;              { maximum multi-timbrality (and midi channels) }
593 		instrumentCount: UNSIGNEDLONG;        { non gm, built in (rom) instruments only }
594 		modifiableInstrumentCount: UNSIGNEDLONG; { plus n-more are user modifiable }
595 		channelMask: UNSIGNEDLONG;            { (midi device only) which channels device always uses }
596 
597 		drumPartCount: UNSIGNEDLONG;          { maximum multi-timbrality of drum parts }
598 		drumCount: UNSIGNEDLONG;              { non gm, built in (rom) drumkits only }
599 		modifiableDrumCount: UNSIGNEDLONG;    { plus n-more are user modifiable }
600 		drumChannelMask: UNSIGNEDLONG;        { (midi device only) which channels device always uses }
601 
602 		outputCount: UNSIGNEDLONG;            { number of audio outputs (usually two) }
603 		latency: UNSIGNEDLONG;                { response time in �Sec }
604 
605 		controllers: array [0..4-1] of UNSIGNEDLONG;         { array of 128 bits }
606 		gmInstruments: array [0..4-1] of UNSIGNEDLONG;       { array of 128 bits }
607 		gmDrums: array [0..4-1] of UNSIGNEDLONG;             { array of 128 bits }
608 	end;
609 const
610 	kVoiceCountDynamic = -1;    { constant to use to specify dynamic voicing }
611 
612 
613 type
614 	ToneDescriptionPtr = ^ToneDescription;
615 	ToneDescription = record
616 		synthesizerType: BigEndianOSType;        { synthesizer type }
617 		synthesizerName: Str31;        { name of instantiation of synth }
618 		instrumentName: Str31;         { preferred name for human use }
619 		instrumentNumber: BigEndianLong;       { inst-number used if synth-name matches }
620 		gmNumber: BigEndianLong;               { Best matching general MIDI number }
621 	end;
622 const
623 	kFirstGMInstrument = $00000001;
624 	kLastGMInstrument = $00000080;
625 	kFirstGSInstrument = $00000081;
626 	kLastGSInstrument = $00003FFF;
627 	kFirstDrumkit = $00004000; { (first value is "no drum". instrument numbers from 16384->16384+128 are drumkits, and for GM they are _defined_ drumkits! }
628 	kLastDrumkit = $00004080;
629 	kFirstROMInstrument = $00008000;
630 	kLastROMInstrument = $0000FFFF;
631 	kFirstUserInstrument = $00010000;
632 	kLastUserInstrument = $0001FFFF;
633 
634 { InstrumentMatch}
635 const
636 	kInstrumentMatchSynthesizerType = 1;
637 	kInstrumentMatchSynthesizerName = 2;
638 	kInstrumentMatchName = 4;
639 	kInstrumentMatchNumber = 8;
640 	kInstrumentMatchGMNumber = 16;
641 	kInstrumentMatchGSNumber = 32;
642 
643 { KnobFlags}
644 const
645 	kKnobBasic = 8;    { knob shows up in certain simplified lists of knobs }
646 	kKnobReadOnly = 16;   { knob value cannot be changed by user or with a SetKnob call }
647 	kKnobInterruptUnsafe = 32;   { only alter this knob from foreground task time (may access toolbox) }
648 	kKnobKeyrangeOverride = 64;   { knob can be overridden within a single keyrange (software synth only) }
649 	kKnobGroupStart = 128;  { knob is first in some logical group of knobs }
650 	kKnobFixedPoint8 = 1024;
651 	kKnobFixedPoint16 = 2048; { One of these may be used at a time. }
652 	kKnobTypeNumber = 0 shl 12;
653 	kKnobTypeGroupName = 1 shl 12; { "knob" is really a group name for display purposes }
654 	kKnobTypeBoolean = 2 shl 12; { if range is greater than 1, its a multi-checkbox field }
655 	kKnobTypeNote = 3 shl 12; { knob range is equivalent to MIDI keys }
656 	kKnobTypePan = 4 shl 12; { range goes left/right (lose this? ) }
657 	kKnobTypeInstrument = 5 shl 12; { knob value = reference to another instrument number }
658 	kKnobTypeSetting = 6 shl 12; { knob value is 1 of n different things (eg, fm algorithms) popup menu }
659 	kKnobTypeMilliseconds = 7 shl 12; { knob is a millisecond time range }
660 	kKnobTypePercentage = 8 shl 12; { knob range is displayed as a Percentage }
661 	kKnobTypeHertz = 9 shl 12; { knob represents frequency }
662 	kKnobTypeButton = 10 shl 12; { momentary trigger push button }
663 
664 
665 const
666 	kUnknownKnobValue = $7FFFFFFF; { a knob with this value means, we don't know it. }
667 	kDefaultKnobValue = $7FFFFFFE; { used to SET a knob to its default value. }
668 
669 type
670 	KnobDescriptionPtr = ^KnobDescription;
671 	KnobDescription = record
672 		name: Str63;
673 		lowValue: SIGNEDLONG;
674 		highValue: SIGNEDLONG;
675 		defaultValue: SIGNEDLONG;           { a default instrument is made of all default values }
676 		flags: SIGNEDLONG;
677 		knobID: SIGNEDLONG;
678 	end;
679 type
680 	GCInstrumentData = record
681 		tone: ToneDescription;
682 		knobCount: SIGNEDLONG;
683 		knob: array [0..1-1] of SIGNEDLONG;
684 	end;
685 	GCInstrumentDataPtr = ^GCInstrumentData;
686 type
687 	GCInstrumentDataHandle = ^GCInstrumentDataPtr;
688 	InstrumentAboutInfoPtr = ^InstrumentAboutInfo;
689 	InstrumentAboutInfo = record
690 		p: PicHandle;
691 		author: Str255;
692 		copyright: Str255;
693 		other: Str255;
694 	end;
695 
696 const
697   notImplementedMusicErr = $8000F7E9;
698   cantSendToSynthesizerErr = $8000F7E8;
699   cantReceiveFromSynthesizerErr = $8000F7E7;
700   illegalVoiceAllocationErr = $8000F7E6;
701   illegalPartErr = $8000F7E5;
702   illegalChannelErr = $8000F7E4;
703   illegalKnobErr = $8000F7E3;
704   illegalKnobValueErr = $8000F7E2;
705   illegalInstrumentErr = $8000F7E1;
706   illegalControllerErr = $8000F7E0;
707   midiManagerAbsentErr = $8000F7DF;
708   synthesizerNotRespondingErr = $8000F7DE;
709   synthesizerErr = $8000F7DD;
710   illegalNoteChannelErr = $8000F7DC;
711   noteChannelNotAllocatedErr = $8000F7DB;
712   tunePlayerFullErr = $8000F7DA;
713   tuneParseErr = $8000F7D9;
714 
715 const
716 	kGetAtomicInstNoExpandedSamples = 1 shl 0;
717 	kGetAtomicInstNoOriginalSamples = 1 shl 1;
718 	kGetAtomicInstNoSamples = kGetAtomicInstNoExpandedSamples or kGetAtomicInstNoOriginalSamples;
719 	kGetAtomicInstNoKnobList = 1 shl 2;
720 	kGetAtomicInstNoInstrumentInfo = 1 shl 3;
721 	kGetAtomicInstOriginalKnobList = 1 shl 4;
722 	kGetAtomicInstAllKnobs = 1 shl 5; { return even those that are set to default}
723 
724 {
725    For non-gm instruments, instrument number of tone description == 0
726    If you want to speed up while running, slam the inst num with what Get instrument number returns
727    All missing knobs are slammed to the default value
728 }
729 const
730 	kSetAtomicInstKeepOriginalInstrument = 1 shl 0;
731 	kSetAtomicInstShareAcrossParts = 1 shl 1; { inst disappears when app goes away}
732 	kSetAtomicInstCallerTosses = 1 shl 2; { the caller isn't keeping a copy around (for NASetAtomicInstrument)}
733 	kSetAtomicInstCallerGuarantees = 1 shl 3; { the caller guarantees a copy is around}
734 	kSetAtomicInstInterruptSafe = 1 shl 4; { dont move memory at this time (but process at next task time)}
735 	kSetAtomicInstDontPreprocess = 1 shl 7; { perform no further preprocessing because either 1)you know the instrument is digitally clean, or 2) you got it from a GetPartAtomic}
736 
737 const
738 	kInstrumentNamesModifiable = 1;
739 	kInstrumentNamesBoth = 2;
740 
741 {
742  * Structures specific to the GenericMusicComponent
743  }
744 
745 const
746 	kGenericMusicComponentSubtype = FourCharCode('gene');
747 
748 type
749 	GenericKnobDescriptionPtr = ^GenericKnobDescription;
750 	GenericKnobDescription = record
751 		kd: KnobDescription;
752 		hw1: SIGNEDLONG;                    { driver defined }
753 		hw2: SIGNEDLONG;                    { driver defined }
754 		hw3: SIGNEDLONG;                    { driver defined }
755 		settingsID: SIGNEDLONG;             { resource ID list for boolean and popup names }
756 	end;
757 type
758 	GenericKnobDescriptionList = record
759 		knobCount: SIGNEDLONG;
760 		knob: array [0..0] of GenericKnobDescription;
761 	end;
762 	GenericKnobDescriptionListPtr = ^GenericKnobDescriptionList;
763 type
764 	GenericKnobDescriptionListHandle = ^GenericKnobDescriptionListPtr;
765 { knobTypes for MusicDerivedSetKnob }
766 const
767 	kGenericMusicKnob = 1;
768 	kGenericMusicInstrumentKnob = 2;
769 	kGenericMusicDrumKnob = 3;
770 	kGenericMusicGlobalController = 4;
771 
772 
773 const
774 	kGenericMusicResFirst = 0;
775 	kGenericMusicResMiscStringList = 1;   { STR# 1: synth name, 2:about author,3:aboutcopyright,4:aboutother }
776 	kGenericMusicResMiscLongList = 2;    { Long various params, see list below }
777 	kGenericMusicResInstrumentList = 3;   { NmLs of names and shorts, categories prefixed by '��' }
778 	kGenericMusicResDrumList = 4;    { NmLs of names and shorts }
779 	kGenericMusicResInstrumentKnobDescriptionList = 5; { Knob }
780 	kGenericMusicResDrumKnobDescriptionList = 6; { Knob }
781 	kGenericMusicResKnobDescriptionList = 7; { Knob }
782 	kGenericMusicResBitsLongList = 8;    { Long back to back bitmaps of controllers, gminstruments, and drums }
783 	kGenericMusicResModifiableInstrumentHW = 9; { Shrt same as the hw shorts trailing the instrument names, a shortlist }
784 	kGenericMusicResGMTranslation = 10;   { Long 128 long entries, 1 for each gm inst, of local instrument numbers 1-n (not hw numbers) }
785 	kGenericMusicResROMInstrumentData = 11; { knob lists for ROM instruments, so the knob values may be known }
786 	kGenericMusicResAboutPICT = 12;   { picture for aboutlist. must be present for GetAbout call to work }
787 	kGenericMusicResLast = 13;
788 
789 { elements of the misc long list }
790 const
791 	kGenericMusicMiscLongFirst = 0;
792 	kGenericMusicMiscLongVoiceCount = 1;
793 	kGenericMusicMiscLongPartCount = 2;
794 	kGenericMusicMiscLongModifiableInstrumentCount = 3;
795 	kGenericMusicMiscLongChannelMask = 4;
796 	kGenericMusicMiscLongDrumPartCount = 5;
797 	kGenericMusicMiscLongModifiableDrumCount = 6;
798 	kGenericMusicMiscLongDrumChannelMask = 7;
799 	kGenericMusicMiscLongOutputCount = 8;
800 	kGenericMusicMiscLongLatency = 9;
801 	kGenericMusicMiscLongFlags = 10;
802 	kGenericMusicMiscLongFirstGMHW = 11;  { number to add to locate GM main instruments }
803 	kGenericMusicMiscLongFirstGMDrumHW = 12; { number to add to locate GM drumkits }
804 	kGenericMusicMiscLongFirstUserHW = 13; { First hw number of user instruments (presumed sequential) }
805 	kGenericMusicMiscLongLast = 14;
806 
807 type
808 	GCPartPtr = ^GCPart;
809 	GCPart = record
810 		hwInstrumentNumber: SIGNEDLONG;     { internal number of recalled instrument }
811 		controller: array [0..127] of SInt16;				{  current values for all controllers  }
812 		volume: SIGNEDLONG;                 { ctrl 7 is special case }
813 		polyphony: SIGNEDLONG;
814 		midiChannel: SIGNEDLONG;            { 1-16 if in use }
815 		id: GCInstrumentData;                     { ToneDescription & knoblist, uncertain length }
816 	end;
817 {
818  * Calls specific to the GenericMusicComponent
819  }
820 const
821 	kMusicGenericRange = $0100;
822 	kMusicDerivedRange = $0200;
823 
824 {
825  * Flags in GenericMusicConfigure call
826  }
827 const
828 	kGenericMusicDoMIDI = 1 shl 0; { implement normal MIDI messages for note, controllers, and program changes 0-127 }
829 	kGenericMusicBank0 = 1 shl 1; { implement instrument bank changes on controller 0 }
830 	kGenericMusicBank32 = 1 shl 2; { implement instrument bank changes on controller 32 }
831 	kGenericMusicErsatzMIDI = 1 shl 3; { construct MIDI packets, but send them to the derived component }
832 	kGenericMusicCallKnobs = 1 shl 4; { call the derived component with special knob format call }
833 	kGenericMusicCallParts = 1 shl 5; { call the derived component with special part format call }
834 	kGenericMusicCallInstrument = 1 shl 6; { call MusicDerivedSetInstrument for MusicSetInstrument calls }
835 	kGenericMusicCallNumber = 1 shl 7; { call MusicDerivedSetPartInstrumentNumber for MusicSetPartInstrumentNumber calls, & don't send any C0 or bank stuff }
836 	kGenericMusicCallROMInstrument = 1 shl 8; { call MusicSetInstrument for MusicSetPartInstrumentNumber for "ROM" instruments, passing params from the ROMi resource }
837 	kGenericMusicAllDefaults = 1 shl 9; { indicates that when a new instrument is recalled, all knobs are reset to DEFAULT settings. True for GS modules }
838 
839 
840 type
SoundDatanull841 	MusicOfflineDataProcPtr = function( SoundData: Ptr; numBytes: SIGNEDLONG; myRefCon: SIGNEDLONG ): ComponentResult;
842 	MusicOfflineDataUPP = MusicOfflineDataProcPtr;
843 	OfflineSampleTypePtr = ^OfflineSampleType;
844 	OfflineSampleType = record
845 		numChannels: UNSIGNEDLONG;            {number of channels,  ie mono = 1}
846 		sampleRate: UnsignedFixed;             {sample rate in Apples Fixed point representation}
847 		sampleSize: UInt16;             {number of bits in sample}
848 	end;
849 type
850 	InstrumentInfoRecordPtr = ^InstrumentInfoRecord;
851 	InstrumentInfoRecord = record
852 		instrumentNumber: SIGNEDLONG;       { instrument number (if 0, name is a catagory)}
853 		flags: SIGNEDLONG;                  { show in picker, etc.}
854 		toneNameIndex: SIGNEDLONG;          { index in toneNames (1 based)}
855 		itxtNameAtomID: SIGNEDLONG;         { index in itxtNames (itxt/name by index)}
856 	end;
857 type
858 	InstrumentInfoList = record
859 		recordCount: SIGNEDLONG;
860 		toneNames: Handle;              { name from tone description}
861 		itxtNames: QTAtomContainer;              { itxt/name atoms for instruments}
862 		info: array [0..0] of InstrumentInfoRecord;
863 	end;
864 	InstrumentInfoListPtr = ^InstrumentInfoList;
865 type
866 	InstrumentInfoListHandle = ^InstrumentInfoListPtr;
867 {
868  *  MusicGetDescription()   *** DEPRECATED ***
869  *
870  *  Availability:
871  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
872  *    CarbonLib:        in CarbonLib 1.0 and later
873  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
874  *    Windows:          in qtmlClient.lib 3.0 and later
875  }
MusicGetDescriptionnull876 function MusicGetDescription( mc: MusicComponent; var sd: SynthesizerDescription ): ComponentResult; external name '_MusicGetDescription';
877 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
878 
879 
880 {
881  *  MusicGetPart()   *** DEPRECATED ***
882  *
883  *  Availability:
884  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
885  *    CarbonLib:        in CarbonLib 1.0 and later
886  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
887  *    Windows:          in qtmlClient.lib 3.0 and later
888  }
MusicGetPartnull889 function MusicGetPart( mc: MusicComponent; part: SIGNEDLONG; var midiChannel: SIGNEDLONG; var polyphony: SIGNEDLONG ): ComponentResult; external name '_MusicGetPart';
890 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
891 
892 
893 {
894  *  MusicSetPart()   *** DEPRECATED ***
895  *
896  *  Availability:
897  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
898  *    CarbonLib:        in CarbonLib 1.0 and later
899  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
900  *    Windows:          in qtmlClient.lib 3.0 and later
901  }
MusicSetPartnull902 function MusicSetPart( mc: MusicComponent; part: SIGNEDLONG; midiChannel: SIGNEDLONG; polyphony: SIGNEDLONG ): ComponentResult; external name '_MusicSetPart';
903 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
904 
905 
906 {
907  *  MusicSetPartInstrumentNumber()   *** DEPRECATED ***
908  *
909  *  Availability:
910  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
911  *    CarbonLib:        in CarbonLib 1.0 and later
912  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
913  *    Windows:          in qtmlClient.lib 3.0 and later
914  }
MusicSetPartInstrumentNumbernull915 function MusicSetPartInstrumentNumber( mc: MusicComponent; part: SIGNEDLONG; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_MusicSetPartInstrumentNumber';
916 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
917 
918 
919 {
920  *  MusicGetPartInstrumentNumber()   *** DEPRECATED ***
921  *
922  *  Availability:
923  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
924  *    CarbonLib:        in CarbonLib 1.0 and later
925  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
926  *    Windows:          in qtmlClient.lib 3.0 and later
927  }
MusicGetPartInstrumentNumbernull928 function MusicGetPartInstrumentNumber( mc: MusicComponent; part: SIGNEDLONG ): ComponentResult; external name '_MusicGetPartInstrumentNumber';
929 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
930 
931 
932 {
933  *  MusicStorePartInstrument()   *** DEPRECATED ***
934  *
935  *  Availability:
936  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
937  *    CarbonLib:        in CarbonLib 1.0 and later
938  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
939  *    Windows:          in qtmlClient.lib 3.0 and later
940  }
MusicStorePartInstrumentnull941 function MusicStorePartInstrument( mc: MusicComponent; part: SIGNEDLONG; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_MusicStorePartInstrument';
942 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
943 
944 
945 {
946  *  MusicGetPartAtomicInstrument()   *** DEPRECATED ***
947  *
948  *  Availability:
949  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
950  *    CarbonLib:        in CarbonLib 1.0 and later
951  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
952  *    Windows:          in qtmlClient.lib 3.0 and later
953  }
MusicGetPartAtomicInstrumentnull954 function MusicGetPartAtomicInstrument( mc: MusicComponent; part: SIGNEDLONG; var ai: AtomicInstrument; flags: SIGNEDLONG ): ComponentResult; external name '_MusicGetPartAtomicInstrument';
955 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
956 
957 
958 {
959  *  MusicSetPartAtomicInstrument()   *** DEPRECATED ***
960  *
961  *  Availability:
962  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
963  *    CarbonLib:        in CarbonLib 1.0 and later
964  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
965  *    Windows:          in qtmlClient.lib 3.0 and later
966  }
MusicSetPartAtomicInstrumentnull967 function MusicSetPartAtomicInstrument( mc: MusicComponent; part: SIGNEDLONG; aiP: AtomicInstrumentPtr; flags: SIGNEDLONG ): ComponentResult; external name '_MusicSetPartAtomicInstrument';
968 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
969 
970 
971 {
972  *  MusicGetPartKnob()   *** DEPRECATED ***
973  *
974  *  Availability:
975  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
976  *    CarbonLib:        in CarbonLib 1.0 and later
977  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
978  *    Windows:          in qtmlClient.lib 3.0 and later
979  }
MusicGetPartKnobnull980 function MusicGetPartKnob( mc: MusicComponent; part: SIGNEDLONG; knobID: SIGNEDLONG ): ComponentResult; external name '_MusicGetPartKnob';
981 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
982 
983 
984 {
985  *  MusicSetPartKnob()   *** DEPRECATED ***
986  *
987  *  Availability:
988  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
989  *    CarbonLib:        in CarbonLib 1.0 and later
990  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
991  *    Windows:          in qtmlClient.lib 3.0 and later
992  }
MusicSetPartKnobnull993 function MusicSetPartKnob( mc: MusicComponent; part: SIGNEDLONG; knobID: SIGNEDLONG; knobValue: SIGNEDLONG ): ComponentResult; external name '_MusicSetPartKnob';
994 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
995 
996 
997 {
998  *  MusicGetKnob()   *** DEPRECATED ***
999  *
1000  *  Availability:
1001  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1002  *    CarbonLib:        in CarbonLib 1.0 and later
1003  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1004  *    Windows:          in qtmlClient.lib 3.0 and later
1005  }
MusicGetKnobnull1006 function MusicGetKnob( mc: MusicComponent; knobID: SIGNEDLONG ): ComponentResult; external name '_MusicGetKnob';
1007 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1008 
1009 
1010 {
1011  *  MusicSetKnob()   *** DEPRECATED ***
1012  *
1013  *  Availability:
1014  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1015  *    CarbonLib:        in CarbonLib 1.0 and later
1016  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1017  *    Windows:          in qtmlClient.lib 3.0 and later
1018  }
MusicSetKnobnull1019 function MusicSetKnob( mc: MusicComponent; knobID: SIGNEDLONG; knobValue: SIGNEDLONG ): ComponentResult; external name '_MusicSetKnob';
1020 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1021 
1022 
1023 {
1024  *  MusicGetPartName()   *** DEPRECATED ***
1025  *
1026  *  Availability:
1027  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1028  *    CarbonLib:        in CarbonLib 1.0 and later
1029  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1030  *    Windows:          in qtmlClient.lib 3.0 and later
1031  }
MusicGetPartNamenull1032 function MusicGetPartName( mc: MusicComponent; part: SIGNEDLONG; name: StringPtr ): ComponentResult; external name '_MusicGetPartName';
1033 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1034 
1035 
1036 {
1037  *  MusicSetPartName()   *** DEPRECATED ***
1038  *
1039  *  Availability:
1040  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1041  *    CarbonLib:        in CarbonLib 1.0 and later
1042  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1043  *    Windows:          in qtmlClient.lib 3.0 and later
1044  }
MusicSetPartNamenull1045 function MusicSetPartName( mc: MusicComponent; part: SIGNEDLONG; name: StringPtr ): ComponentResult; external name '_MusicSetPartName';
1046 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1047 
1048 
1049 {
1050  *  MusicFindTone()   *** DEPRECATED ***
1051  *
1052  *  Availability:
1053  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1054  *    CarbonLib:        in CarbonLib 1.0 and later
1055  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1056  *    Windows:          in qtmlClient.lib 3.0 and later
1057  }
MusicFindTonenull1058 function MusicFindTone( mc: MusicComponent; var td: ToneDescription; var libraryIndexOut: SIGNEDLONG; fit: UNSIGNEDLONGPtr ): ComponentResult; external name '_MusicFindTone';
1059 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1060 
1061 
1062 {
1063  *  MusicPlayNote()   *** DEPRECATED ***
1064  *
1065  *  Availability:
1066  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1067  *    CarbonLib:        in CarbonLib 1.0 and later
1068  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1069  *    Windows:          in qtmlClient.lib 3.0 and later
1070  }
MusicPlayNotenull1071 function MusicPlayNote( mc: MusicComponent; part: SIGNEDLONG; pitch: SIGNEDLONG; velocity: SIGNEDLONG ): ComponentResult; external name '_MusicPlayNote';
1072 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1073 
1074 
1075 {
1076  *  MusicResetPart()   *** DEPRECATED ***
1077  *
1078  *  Availability:
1079  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1080  *    CarbonLib:        in CarbonLib 1.0 and later
1081  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1082  *    Windows:          in qtmlClient.lib 3.0 and later
1083  }
MusicResetPartnull1084 function MusicResetPart( mc: MusicComponent; part: SIGNEDLONG ): ComponentResult; external name '_MusicResetPart';
1085 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1086 
1087 
1088 {
1089  *  MusicSetPartController()   *** DEPRECATED ***
1090  *
1091  *  Availability:
1092  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1093  *    CarbonLib:        in CarbonLib 1.0 and later
1094  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1095  *    Windows:          in qtmlClient.lib 3.0 and later
1096  }
MusicSetPartControllernull1097 function MusicSetPartController( mc: MusicComponent; part: SIGNEDLONG; controllerNumber: MusicController; controllerValue: SIGNEDLONG ): ComponentResult; external name '_MusicSetPartController';
1098 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1099 
1100 
1101 {
1102  *  MusicGetPartController()   *** DEPRECATED ***
1103  *
1104  *  Availability:
1105  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1106  *    CarbonLib:        in CarbonLib 1.0 and later
1107  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1108  *    Windows:          in qtmlClient.lib 3.0 and later
1109  }
MusicGetPartControllernull1110 function MusicGetPartController( mc: MusicComponent; part: SIGNEDLONG; controllerNumber: MusicController ): ComponentResult; external name '_MusicGetPartController';
1111 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1112 
1113 
1114 {
1115  *  MusicGetMIDIProc()   *** DEPRECATED ***
1116  *
1117  *  Availability:
1118  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1119  *    CarbonLib:        in CarbonLib 1.0 and later
1120  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1121  *    Windows:          in qtmlClient.lib 3.0 and later
1122  }
MusicGetMIDIProcnull1123 function MusicGetMIDIProc( mc: MusicComponent; var midiSendProc: MusicMIDISendUPP; var refCon: SIGNEDLONG ): ComponentResult; external name '_MusicGetMIDIProc';
1124 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1125 
1126 
1127 {
1128  *  MusicSetMIDIProc()   *** DEPRECATED ***
1129  *
1130  *  Availability:
1131  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1132  *    CarbonLib:        in CarbonLib 1.0 and later
1133  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1134  *    Windows:          in qtmlClient.lib 3.0 and later
1135  }
MusicSetMIDIProcnull1136 function MusicSetMIDIProc( mc: MusicComponent; midiSendProc: MusicMIDISendUPP; refCon: SIGNEDLONG ): ComponentResult; external name '_MusicSetMIDIProc';
1137 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1138 
1139 
1140 {
1141  *  MusicGetInstrumentNames()   *** DEPRECATED ***
1142  *
1143  *  Availability:
1144  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1145  *    CarbonLib:        in CarbonLib 1.0 and later
1146  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1147  *    Windows:          in qtmlClient.lib 3.0 and later
1148  }
MusicGetInstrumentNamesnull1149 function MusicGetInstrumentNames( mc: MusicComponent; modifiableInstruments: SIGNEDLONG; var instrumentNames: Handle; var instrumentCategoryLasts: Handle; var instrumentCategoryNames: Handle ): ComponentResult; external name '_MusicGetInstrumentNames';
1150 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1151 
1152 
1153 {
1154  *  MusicGetDrumNames()   *** DEPRECATED ***
1155  *
1156  *  Availability:
1157  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1158  *    CarbonLib:        in CarbonLib 1.0 and later
1159  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1160  *    Windows:          in qtmlClient.lib 3.0 and later
1161  }
MusicGetDrumNamesnull1162 function MusicGetDrumNames( mc: MusicComponent; modifiableInstruments: SIGNEDLONG; var instrumentNumbers: Handle; var instrumentNames: Handle ): ComponentResult; external name '_MusicGetDrumNames';
1163 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1164 
1165 
1166 {
1167  *  MusicGetMasterTune()   *** DEPRECATED ***
1168  *
1169  *  Availability:
1170  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1171  *    CarbonLib:        in CarbonLib 1.0 and later
1172  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1173  *    Windows:          in qtmlClient.lib 3.0 and later
1174  }
MusicGetMasterTunenull1175 function MusicGetMasterTune( mc: MusicComponent ): ComponentResult; external name '_MusicGetMasterTune';
1176 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1177 
1178 
1179 {
1180  *  MusicSetMasterTune()   *** DEPRECATED ***
1181  *
1182  *  Availability:
1183  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1184  *    CarbonLib:        in CarbonLib 1.0 and later
1185  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1186  *    Windows:          in qtmlClient.lib 3.0 and later
1187  }
MusicSetMasterTunenull1188 function MusicSetMasterTune( mc: MusicComponent; masterTune: SIGNEDLONG ): ComponentResult; external name '_MusicSetMasterTune';
1189 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1190 
1191 
1192 {
1193  *  MusicGetInstrumentAboutInfo()   *** DEPRECATED ***
1194  *
1195  *  Availability:
1196  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1197  *    CarbonLib:        in CarbonLib 1.0 and later
1198  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1199  *    Windows:          in qtmlClient.lib 3.0 and later
1200  }
MusicGetInstrumentAboutInfonull1201 function MusicGetInstrumentAboutInfo( mc: MusicComponent; part: SIGNEDLONG; var iai: InstrumentAboutInfo ): ComponentResult; external name '_MusicGetInstrumentAboutInfo';
1202 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1203 
1204 
1205 {
1206  *  MusicGetDeviceConnection()   *** DEPRECATED ***
1207  *
1208  *  Availability:
1209  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1210  *    CarbonLib:        in CarbonLib 1.0 and later
1211  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1212  *    Windows:          in qtmlClient.lib 3.0 and later
1213  }
MusicGetDeviceConnectionnull1214 function MusicGetDeviceConnection( mc: MusicComponent; index: SIGNEDLONG; var id1: SIGNEDLONG; var id2: SIGNEDLONG ): ComponentResult; external name '_MusicGetDeviceConnection';
1215 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1216 
1217 
1218 {
1219  *  MusicUseDeviceConnection()   *** DEPRECATED ***
1220  *
1221  *  Availability:
1222  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1223  *    CarbonLib:        in CarbonLib 1.0 and later
1224  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1225  *    Windows:          in qtmlClient.lib 3.0 and later
1226  }
MusicUseDeviceConnectionnull1227 function MusicUseDeviceConnection( mc: MusicComponent; id1: SIGNEDLONG; id2: SIGNEDLONG ): ComponentResult; external name '_MusicUseDeviceConnection';
1228 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1229 
1230 
1231 {
1232  *  MusicGetKnobSettingStrings()   *** DEPRECATED ***
1233  *
1234  *  Availability:
1235  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1236  *    CarbonLib:        in CarbonLib 1.0 and later
1237  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1238  *    Windows:          in qtmlClient.lib 3.0 and later
1239  }
MusicGetKnobSettingStringsnull1240 function MusicGetKnobSettingStrings( mc: MusicComponent; knobIndex: SIGNEDLONG; isGlobal: SIGNEDLONG; var settingsNames: Handle; var settingsCategoryLasts: Handle; var settingsCategoryNames: Handle ): ComponentResult; external name '_MusicGetKnobSettingStrings';
1241 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1242 
1243 
1244 {
1245  *  MusicGetMIDIPorts()   *** DEPRECATED ***
1246  *
1247  *  Availability:
1248  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1249  *    CarbonLib:        in CarbonLib 1.0 and later
1250  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1251  *    Windows:          in qtmlClient.lib 3.0 and later
1252  }
MusicGetMIDIPortsnull1253 function MusicGetMIDIPorts( mc: MusicComponent; var inputPortCount: SIGNEDLONG; var outputPortCount: SIGNEDLONG ): ComponentResult; external name '_MusicGetMIDIPorts';
1254 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1255 
1256 
1257 {
1258  *  MusicSendMIDI()   *** DEPRECATED ***
1259  *
1260  *  Availability:
1261  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1262  *    CarbonLib:        in CarbonLib 1.0 and later
1263  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1264  *    Windows:          in qtmlClient.lib 3.0 and later
1265  }
MusicSendMIDInull1266 function MusicSendMIDI( mc: MusicComponent; portIndex: SIGNEDLONG; var mp: MusicMIDIPacket ): ComponentResult; external name '_MusicSendMIDI';
1267 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1268 
1269 
1270 {
1271  *  MusicStartOffline()   *** DEPRECATED ***
1272  *
1273  *  Availability:
1274  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1275  *    CarbonLib:        in CarbonLib 1.0 and later
1276  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1277  *    Windows:          in qtmlClient.lib 3.0 and later
1278  }
MusicStartOfflinenull1279 function MusicStartOffline( mc: MusicComponent; numChannels: UNSIGNEDLONGPtr; var sampleRate: UnsignedFixed; sampleSize: UInt16Ptr; dataProc: MusicOfflineDataUPP; dataProcRefCon: SIGNEDLONG ): ComponentResult; external name '_MusicStartOffline';
1280 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1281 
1282 
1283 {
1284  *  MusicSetOfflineTimeTo()   *** DEPRECATED ***
1285  *
1286  *  Availability:
1287  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1288  *    CarbonLib:        in CarbonLib 1.0 and later
1289  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1290  *    Windows:          in qtmlClient.lib 3.0 and later
1291  }
MusicSetOfflineTimeTonull1292 function MusicSetOfflineTimeTo( mc: MusicComponent; newTimeStamp: SIGNEDLONG ): ComponentResult; external name '_MusicSetOfflineTimeTo';
1293 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1294 
1295 
1296 {
1297  *  MusicGetInstrumentKnobDescription()   *** DEPRECATED ***
1298  *
1299  *  Availability:
1300  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1301  *    CarbonLib:        in CarbonLib 1.0 and later
1302  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1303  *    Windows:          in qtmlClient.lib 3.0 and later
1304  }
MusicGetInstrumentKnobDescriptionnull1305 function MusicGetInstrumentKnobDescription( mc: MusicComponent; knobIndex: SIGNEDLONG; var mkd: KnobDescription ): ComponentResult; external name '_MusicGetInstrumentKnobDescription';
1306 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1307 
1308 
1309 {
1310  *  MusicGetDrumKnobDescription()   *** DEPRECATED ***
1311  *
1312  *  Availability:
1313  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1314  *    CarbonLib:        in CarbonLib 1.0 and later
1315  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1316  *    Windows:          in qtmlClient.lib 3.0 and later
1317  }
MusicGetDrumKnobDescriptionnull1318 function MusicGetDrumKnobDescription( mc: MusicComponent; knobIndex: SIGNEDLONG; var mkd: KnobDescription ): ComponentResult; external name '_MusicGetDrumKnobDescription';
1319 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1320 
1321 
1322 {
1323  *  MusicGetKnobDescription()   *** DEPRECATED ***
1324  *
1325  *  Availability:
1326  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1327  *    CarbonLib:        in CarbonLib 1.0 and later
1328  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1329  *    Windows:          in qtmlClient.lib 3.0 and later
1330  }
MusicGetKnobDescriptionnull1331 function MusicGetKnobDescription( mc: MusicComponent; knobIndex: SIGNEDLONG; var mkd: KnobDescription ): ComponentResult; external name '_MusicGetKnobDescription';
1332 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1333 
1334 
1335 {
1336  *  MusicGetInfoText()   *** DEPRECATED ***
1337  *
1338  *  Availability:
1339  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1340  *    CarbonLib:        in CarbonLib 1.0 and later
1341  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1342  *    Windows:          in qtmlClient.lib 3.0 and later
1343  }
MusicGetInfoTextnull1344 function MusicGetInfoText( mc: MusicComponent; selector: SIGNEDLONG; var textH: Handle; var styleH: Handle ): ComponentResult; external name '_MusicGetInfoText';
1345 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1346 
1347 
1348 const
1349 	kGetInstrumentInfoNoBuiltIn = 1 shl 0;
1350 	kGetInstrumentInfoMidiUserInst = 1 shl 1;
1351 	kGetInstrumentInfoNoIText = 1 shl 2;
1352 
1353 {
1354  *  MusicGetInstrumentInfo()   *** DEPRECATED ***
1355  *
1356  *  Availability:
1357  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1358  *    CarbonLib:        in CarbonLib 1.0 and later
1359  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1360  *    Windows:          in qtmlClient.lib 3.0 and later
1361  }
MusicGetInstrumentInfonull1362 function MusicGetInstrumentInfo( mc: MusicComponent; getInstrumentInfoFlags: SIGNEDLONG; var infoListH: InstrumentInfoListHandle ): ComponentResult; external name '_MusicGetInstrumentInfo';
1363 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1364 
1365 
1366 {
1367  *  MusicTask()   *** DEPRECATED ***
1368  *
1369  *  Availability:
1370  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1371  *    CarbonLib:        in CarbonLib 1.0 and later
1372  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1373  *    Windows:          in qtmlClient.lib 3.0 and later
1374  }
MusicTasknull1375 function MusicTask( mc: MusicComponent ): ComponentResult; external name '_MusicTask';
1376 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1377 
1378 
1379 {
1380  *  MusicSetPartInstrumentNumberInterruptSafe()   *** DEPRECATED ***
1381  *
1382  *  Availability:
1383  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1384  *    CarbonLib:        in CarbonLib 1.0 and later
1385  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1386  *    Windows:          in qtmlClient.lib 3.0 and later
1387  }
MusicSetPartInstrumentNumberInterruptSafenull1388 function MusicSetPartInstrumentNumberInterruptSafe( mc: MusicComponent; part: SIGNEDLONG; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_MusicSetPartInstrumentNumberInterruptSafe';
1389 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1390 
1391 
1392 {
1393  *  MusicSetPartSoundLocalization()   *** DEPRECATED ***
1394  *
1395  *  Availability:
1396  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1397  *    CarbonLib:        in CarbonLib 1.0 and later
1398  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1399  *    Windows:          in qtmlClient.lib 3.0 and later
1400  }
MusicSetPartSoundLocalizationnull1401 function MusicSetPartSoundLocalization( mc: MusicComponent; part: SIGNEDLONG; data: Handle ): ComponentResult; external name '_MusicSetPartSoundLocalization';
1402 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1403 
1404 
1405 {
1406  *  MusicGenericConfigure()   *** DEPRECATED ***
1407  *
1408  *  Availability:
1409  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1410  *    CarbonLib:        in CarbonLib 1.0 and later
1411  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1412  *    Windows:          in qtmlClient.lib 3.0 and later
1413  }
MusicGenericConfigurenull1414 function MusicGenericConfigure( mc: MusicComponent; mode: SIGNEDLONG; flags: SIGNEDLONG; baseResID: SIGNEDLONG ): ComponentResult; external name '_MusicGenericConfigure';
1415 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1416 
1417 
1418 {
1419  *  MusicGenericGetPart()   *** DEPRECATED ***
1420  *
1421  *  Availability:
1422  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1423  *    CarbonLib:        in CarbonLib 1.0 and later
1424  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1425  *    Windows:          in qtmlClient.lib 3.0 and later
1426  }
MusicGenericGetPartnull1427 function MusicGenericGetPart( mc: MusicComponent; partNumber: SIGNEDLONG; var part: GCPartPtr ): ComponentResult; external name '_MusicGenericGetPart';
1428 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1429 
1430 
1431 {
1432  *  MusicGenericGetKnobList()   *** DEPRECATED ***
1433  *
1434  *  Availability:
1435  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1436  *    CarbonLib:        in CarbonLib 1.0 and later
1437  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1438  *    Windows:          in qtmlClient.lib 3.0 and later
1439  }
MusicGenericGetKnobListnull1440 function MusicGenericGetKnobList( mc: MusicComponent; knobType: SIGNEDLONG; var gkdlH: GenericKnobDescriptionListHandle ): ComponentResult; external name '_MusicGenericGetKnobList';
1441 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1442 
1443 
1444 {
1445  *  MusicGenericSetResourceNumbers()   *** DEPRECATED ***
1446  *
1447  *  Availability:
1448  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1449  *    CarbonLib:        in CarbonLib 1.0 and later
1450  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
1451  *    Windows:          in qtmlClient.lib 3.0 and later
1452  }
MusicGenericSetResourceNumbersnull1453 function MusicGenericSetResourceNumbers( mc: MusicComponent; resourceIDH: Handle ): ComponentResult; external name '_MusicGenericSetResourceNumbers';
1454 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1455 
1456 
1457 {
1458  *  MusicDerivedMIDISend()   *** DEPRECATED ***
1459  *
1460  *  Availability:
1461  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1462  *    CarbonLib:        in CarbonLib 1.0 and later
1463  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1464  *    Windows:          in qtmlClient.lib 3.0 and later
1465  }
MusicDerivedMIDISendnull1466 function MusicDerivedMIDISend( mc: MusicComponent; var packet: MusicMIDIPacket ): ComponentResult; external name '_MusicDerivedMIDISend';
1467 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1468 
1469 
1470 {
1471  *  MusicDerivedSetKnob()   *** DEPRECATED ***
1472  *
1473  *  Availability:
1474  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1475  *    CarbonLib:        in CarbonLib 1.0 and later
1476  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1477  *    Windows:          in qtmlClient.lib 3.0 and later
1478  }
MusicDerivedSetKnobnull1479 function MusicDerivedSetKnob( mc: MusicComponent; knobType: SIGNEDLONG; knobNumber: SIGNEDLONG; knobValue: SIGNEDLONG; partNumber: SIGNEDLONG; var p: GCPart; var gkd: GenericKnobDescription ): ComponentResult; external name '_MusicDerivedSetKnob';
1480 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1481 
1482 
1483 {
1484  *  MusicDerivedSetPart()   *** DEPRECATED ***
1485  *
1486  *  Availability:
1487  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1488  *    CarbonLib:        in CarbonLib 1.0 and later
1489  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1490  *    Windows:          in qtmlClient.lib 3.0 and later
1491  }
MusicDerivedSetPartnull1492 function MusicDerivedSetPart( mc: MusicComponent; partNumber: SIGNEDLONG; var p: GCPart ): ComponentResult; external name '_MusicDerivedSetPart';
1493 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1494 
1495 
1496 {
1497  *  MusicDerivedSetInstrument()   *** DEPRECATED ***
1498  *
1499  *  Availability:
1500  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1501  *    CarbonLib:        in CarbonLib 1.0 and later
1502  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1503  *    Windows:          in qtmlClient.lib 3.0 and later
1504  }
MusicDerivedSetInstrumentnull1505 function MusicDerivedSetInstrument( mc: MusicComponent; partNumber: SIGNEDLONG; var p: GCPart ): ComponentResult; external name '_MusicDerivedSetInstrument';
1506 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1507 
1508 
1509 {
1510  *  MusicDerivedSetPartInstrumentNumber()   *** DEPRECATED ***
1511  *
1512  *  Availability:
1513  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1514  *    CarbonLib:        in CarbonLib 1.0 and later
1515  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1516  *    Windows:          in qtmlClient.lib 3.0 and later
1517  }
MusicDerivedSetPartInstrumentNumbernull1518 function MusicDerivedSetPartInstrumentNumber( mc: MusicComponent; partNumber: SIGNEDLONG; var p: GCPart ): ComponentResult; external name '_MusicDerivedSetPartInstrumentNumber';
1519 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1520 
1521 
1522 {
1523  *  MusicDerivedSetMIDI()   *** DEPRECATED ***
1524  *
1525  *  Availability:
1526  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1527  *    CarbonLib:        in CarbonLib 1.0 and later
1528  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1529  *    Windows:          in qtmlClient.lib 3.0 and later
1530  }
MusicDerivedSetMIDInull1531 function MusicDerivedSetMIDI( mc: MusicComponent; midiProc: MusicMIDISendUPP; refcon: SIGNEDLONG; midiChannel: SIGNEDLONG ): ComponentResult; external name '_MusicDerivedSetMIDI';
1532 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1533 
1534 
1535 {
1536  *  MusicDerivedStorePartInstrument()   *** DEPRECATED ***
1537  *
1538  *  Availability:
1539  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1540  *    CarbonLib:        in CarbonLib 1.0 and later
1541  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1542  *    Windows:          in qtmlClient.lib 3.0 and later
1543  }
MusicDerivedStorePartInstrumentnull1544 function MusicDerivedStorePartInstrument( mc: MusicComponent; partNumber: SIGNEDLONG; var p: GCPart; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_MusicDerivedStorePartInstrument';
1545 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1546 
1547 
1548 {
1549  *  MusicDerivedOpenResFile()   *** DEPRECATED ***
1550  *
1551  *  Availability:
1552  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1553  *    CarbonLib:        in CarbonLib 1.0 and later
1554  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
1555  *    Windows:          in qtmlClient.lib 3.0 and later
1556  }
MusicDerivedOpenResFilenull1557 function MusicDerivedOpenResFile( mc: MusicComponent ): ComponentResult; external name '_MusicDerivedOpenResFile';
1558 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1559 
1560 
1561 {
1562  *  MusicDerivedCloseResFile()   *** DEPRECATED ***
1563  *
1564  *  Availability:
1565  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1566  *    CarbonLib:        in CarbonLib 1.0 and later
1567  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
1568  *    Windows:          in qtmlClient.lib 3.0 and later
1569  }
MusicDerivedCloseResFilenull1570 function MusicDerivedCloseResFile( mc: MusicComponent; resRefNum: SInt16 ): ComponentResult; external name '_MusicDerivedCloseResFile';
1571 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1572 
1573 
1574 {--------------------------
1575     Types
1576 --------------------------}
1577 const
1578 	kNoteRequestNoGM = 1;    { don't degrade to a GM synth }
1579 	kNoteRequestNoSynthType = 2;    { don't degrade to another synth of same type but different name }
1580 	kNoteRequestSynthMustMatch = 4;     { synthType must be a match, including kGMSynthComponentSubType }
1581 
1582 
1583 const
1584 	kNoteRequestSpecifyMIDIChannel = $80;
1585 
1586 type
1587 	NoteAllocator = ComponentInstance;
1588 {
1589     The midiChannelAssignment field of this structure is used to assign a MIDI channel
1590     when a NoteChannel is created from a NoteRequest.
1591     A value of 0 indicates a MIDI channel has *not* been assigned
1592     A value of (kNoteRequestSpecifyMIDIChannel | 1->16) is a MIDI channel assignment
1593 
1594     This field requires QuickTime 5.0 or later and should be set to 0 for prior versions.
1595 }
1596 type
1597 	NoteRequestMIDIChannel = UInt8;
1598 	NoteRequestInfoPtr = ^NoteRequestInfo;
1599 	NoteRequestInfo = record
1600 		flags: UInt8;                  { 1: dont accept GM match, 2: dont accept same-synth-type match }
1601 		midiChannelAssignment: NoteRequestMIDIChannel; { (kNoteRequestSpecifyMIDIChannel | 1->16) as MIDI Channel assignement or zero - see notes above  }
1602 		polyphony: BigEndianShort;              { Maximum number of voices }
1603 		typicalPolyphony: BigEndianFixed;       { Hint for level mixing }
1604 	end;
1605 type
1606 	NoteRequestPtr = ^NoteRequest;
1607 	NoteRequest = record
1608 		info: NoteRequestInfo;
1609 		tone: ToneDescription;
1610 	end;
1611 
1612 type
1613 	NoteChannel = SIGNEDLONG;
1614 
1615 const
1616 	kPickDontMix = 1;    { dont mix instruments with drum sounds }
1617 	kPickSameSynth = 2;    { only allow the same device that went in, to come out }
1618 	kPickUserInsts = 4;    { show user insts in addition to ROM voices }
1619 	kPickEditAllowEdit = 8;    { lets user switch over to edit mode }
1620 	kPickEditAllowPick = 16;   { lets the user switch over to pick mode }
1621 	kPickEditSynthGlobal = 32;   { edit the global knobs of the synth }
1622 	kPickEditControllers = 64;    { edit the controllers of the notechannel }
1623 
1624 
1625 const
1626 	kNoteAllocatorComponentType = FourCharCode('nota');
1627 
1628 
1629 {--------------------------------
1630     Note Allocator Prototypes
1631 --------------------------------}
1632 {
1633  *  NARegisterMusicDevice()   *** DEPRECATED ***
1634  *
1635  *  Availability:
1636  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1637  *    CarbonLib:        in CarbonLib 1.0 and later
1638  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1639  *    Windows:          in qtmlClient.lib 3.0 and later
1640  }
NARegisterMusicDevicenull1641 function NARegisterMusicDevice( na: NoteAllocator; synthType: OSType; var name: Str31; var connections: SynthesizerConnections ): ComponentResult; external name '_NARegisterMusicDevice';
1642 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1643 
1644 
1645 {
1646  *  NAUnregisterMusicDevice()   *** DEPRECATED ***
1647  *
1648  *  Availability:
1649  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1650  *    CarbonLib:        in CarbonLib 1.0 and later
1651  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1652  *    Windows:          in qtmlClient.lib 3.0 and later
1653  }
NAUnregisterMusicDevicenull1654 function NAUnregisterMusicDevice( na: NoteAllocator; index: SIGNEDLONG ): ComponentResult; external name '_NAUnregisterMusicDevice';
1655 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1656 
1657 
1658 {
1659  *  NAGetRegisteredMusicDevice()   *** DEPRECATED ***
1660  *
1661  *  Availability:
1662  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1663  *    CarbonLib:        in CarbonLib 1.0 and later
1664  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1665  *    Windows:          in qtmlClient.lib 3.0 and later
1666  }
NAGetRegisteredMusicDevicenull1667 function NAGetRegisteredMusicDevice( na: NoteAllocator; index: SIGNEDLONG; var synthType: OSType; name: Str31; var connections: SynthesizerConnections; var mc: MusicComponent ): ComponentResult; external name '_NAGetRegisteredMusicDevice';
1668 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1669 
1670 
1671 {
1672  *  NASaveMusicConfiguration()   *** DEPRECATED ***
1673  *
1674  *  Availability:
1675  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1676  *    CarbonLib:        in CarbonLib 1.0 and later
1677  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1678  *    Windows:          in qtmlClient.lib 3.0 and later
1679  }
NASaveMusicConfigurationnull1680 function NASaveMusicConfiguration( na: NoteAllocator ): ComponentResult; external name '_NASaveMusicConfiguration';
1681 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1682 
1683 
1684 {
1685  *  NANewNoteChannel()   *** DEPRECATED ***
1686  *
1687  *  Availability:
1688  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1689  *    CarbonLib:        in CarbonLib 1.0 and later
1690  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1691  *    Windows:          in qtmlClient.lib 3.0 and later
1692  }
NANewNoteChannelnull1693 function NANewNoteChannel( na: NoteAllocator; var noteRequest_: NoteRequest; var outChannel: NoteChannel ): ComponentResult; external name '_NANewNoteChannel';
1694 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1695 
1696 
1697 {
1698  *  NADisposeNoteChannel()   *** DEPRECATED ***
1699  *
1700  *  Availability:
1701  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1702  *    CarbonLib:        in CarbonLib 1.0 and later
1703  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1704  *    Windows:          in qtmlClient.lib 3.0 and later
1705  }
NADisposeNoteChannelnull1706 function NADisposeNoteChannel( na: NoteAllocator; noteChannel_: NoteChannel ): ComponentResult; external name '_NADisposeNoteChannel';
1707 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1708 
1709 
1710 {
1711  *  NAGetNoteChannelInfo()   *** DEPRECATED ***
1712  *
1713  *  Availability:
1714  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1715  *    CarbonLib:        in CarbonLib 1.0 and later
1716  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1717  *    Windows:          in qtmlClient.lib 3.0 and later
1718  }
NAGetNoteChannelInfonull1719 function NAGetNoteChannelInfo( na: NoteAllocator; noteChannel_: NoteChannel; var index: SIGNEDLONG; var part: SIGNEDLONG ): ComponentResult; external name '_NAGetNoteChannelInfo';
1720 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1721 
1722 
1723 {
1724  *  NAPrerollNoteChannel()   *** DEPRECATED ***
1725  *
1726  *  Availability:
1727  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1728  *    CarbonLib:        in CarbonLib 1.0 and later
1729  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1730  *    Windows:          in qtmlClient.lib 3.0 and later
1731  }
NAPrerollNoteChannelnull1732 function NAPrerollNoteChannel( na: NoteAllocator; noteChannel_: NoteChannel ): ComponentResult; external name '_NAPrerollNoteChannel';
1733 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1734 
1735 
1736 {
1737  *  NAUnrollNoteChannel()   *** DEPRECATED ***
1738  *
1739  *  Availability:
1740  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1741  *    CarbonLib:        in CarbonLib 1.0 and later
1742  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1743  *    Windows:          in qtmlClient.lib 3.0 and later
1744  }
NAUnrollNoteChannelnull1745 function NAUnrollNoteChannel( na: NoteAllocator; noteChannel_: NoteChannel ): ComponentResult; external name '_NAUnrollNoteChannel';
1746 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1747 
1748 
1749 {
1750  *  NASetNoteChannelVolume()   *** DEPRECATED ***
1751  *
1752  *  Availability:
1753  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1754  *    CarbonLib:        in CarbonLib 1.0 and later
1755  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1756  *    Windows:          in qtmlClient.lib 3.0 and later
1757  }
NASetNoteChannelVolumenull1758 function NASetNoteChannelVolume( na: NoteAllocator; noteChannel_: NoteChannel; volume: Fixed ): ComponentResult; external name '_NASetNoteChannelVolume';
1759 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1760 
1761 
1762 {
1763  *  NAResetNoteChannel()   *** DEPRECATED ***
1764  *
1765  *  Availability:
1766  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1767  *    CarbonLib:        in CarbonLib 1.0 and later
1768  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1769  *    Windows:          in qtmlClient.lib 3.0 and later
1770  }
NAResetNoteChannelnull1771 function NAResetNoteChannel( na: NoteAllocator; noteChannel_: NoteChannel ): ComponentResult; external name '_NAResetNoteChannel';
1772 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1773 
1774 
1775 {
1776  *  NAPlayNote()   *** DEPRECATED ***
1777  *
1778  *  Availability:
1779  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1780  *    CarbonLib:        in CarbonLib 1.0 and later
1781  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1782  *    Windows:          in qtmlClient.lib 3.0 and later
1783  }
NAPlayNotenull1784 function NAPlayNote( na: NoteAllocator; noteChannel_: NoteChannel; pitch: SIGNEDLONG; velocity: SIGNEDLONG ): ComponentResult; external name '_NAPlayNote';
1785 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1786 
1787 
1788 {
1789  *  NASetController()   *** DEPRECATED ***
1790  *
1791  *  Availability:
1792  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1793  *    CarbonLib:        in CarbonLib 1.0 and later
1794  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1795  *    Windows:          in qtmlClient.lib 3.0 and later
1796  }
NASetControllernull1797 function NASetController( na: NoteAllocator; noteChannel_: NoteChannel; controllerNumber: SIGNEDLONG; controllerValue: SIGNEDLONG ): ComponentResult; external name '_NASetController';
1798 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1799 
1800 
1801 {
1802  *  NASetKnob()   *** DEPRECATED ***
1803  *
1804  *  Availability:
1805  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1806  *    CarbonLib:        in CarbonLib 1.0 and later
1807  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1808  *    Windows:          in qtmlClient.lib 3.0 and later
1809  }
NASetKnobnull1810 function NASetKnob( na: NoteAllocator; noteChannel_: NoteChannel; knobNumber: SIGNEDLONG; knobValue: SIGNEDLONG ): ComponentResult; external name '_NASetKnob';
1811 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1812 
1813 
1814 {
1815  *  NAFindNoteChannelTone()   *** DEPRECATED ***
1816  *
1817  *  Availability:
1818  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1819  *    CarbonLib:        in CarbonLib 1.0 and later
1820  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1821  *    Windows:          in qtmlClient.lib 3.0 and later
1822  }
NAFindNoteChannelTonenull1823 function NAFindNoteChannelTone( na: NoteAllocator; noteChannel_: NoteChannel; var td: ToneDescription; var instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_NAFindNoteChannelTone';
1824 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1825 
1826 
1827 {
1828  *  NASetInstrumentNumber()   *** DEPRECATED ***
1829  *
1830  *  Availability:
1831  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1832  *    CarbonLib:        in CarbonLib 1.0 and later
1833  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1834  *    Windows:          in qtmlClient.lib 3.0 and later
1835  }
NASetInstrumentNumbernull1836 function NASetInstrumentNumber( na: NoteAllocator; noteChannel_: NoteChannel; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_NASetInstrumentNumber';
1837 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1838 
1839 
1840 {
1841  *  NAPickInstrument()   *** DEPRECATED ***
1842  *
1843  *  Availability:
1844  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1845  *    CarbonLib:        in CarbonLib 1.0 and later
1846  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1847  *    Windows:          in qtmlClient.lib 3.0 and later
1848  }
NAPickInstrumentnull1849 function NAPickInstrument( na: NoteAllocator; filterProc: ModalFilterUPP; prompt: StringPtr; var sd: ToneDescription; flags: UNSIGNEDLONG; refCon: SIGNEDLONG; reserved1: SIGNEDLONG; reserved2: SIGNEDLONG ): ComponentResult; external name '_NAPickInstrument';
1850 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1851 
1852 
1853 {
1854  *  NAPickArrangement()   *** DEPRECATED ***
1855  *
1856  *  Availability:
1857  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1858  *    CarbonLib:        in CarbonLib 1.0 and later
1859  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1860  *    Windows:          in qtmlClient.lib 3.0 and later
1861  }
NAPickArrangementnull1862 function NAPickArrangement( na: NoteAllocator; filterProc: ModalFilterUPP; prompt: StringPtr; zero1: SIGNEDLONG; zero2: SIGNEDLONG; t: Track; songName: StringPtr ): ComponentResult; external name '_NAPickArrangement';
1863 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1864 
1865 
1866 {
1867  *  NAStuffToneDescription()   *** DEPRECATED ***
1868  *
1869  *  Availability:
1870  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1871  *    CarbonLib:        in CarbonLib 1.0 and later
1872  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1873  *    Windows:          in qtmlClient.lib 3.0 and later
1874  }
NAStuffToneDescriptionnull1875 function NAStuffToneDescription( na: NoteAllocator; gmNumber: SIGNEDLONG; var td: ToneDescription ): ComponentResult; external name '_NAStuffToneDescription';
1876 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1877 
1878 
1879 {
1880  *  NACopyrightDialog()   *** DEPRECATED ***
1881  *
1882  *  Availability:
1883  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1884  *    CarbonLib:        in CarbonLib 1.0 and later
1885  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1886  *    Windows:          in qtmlClient.lib 3.0 and later
1887  }
NACopyrightDialognull1888 function NACopyrightDialog( na: NoteAllocator; p: PicHandle; author: StringPtr; copyright: StringPtr; other: StringPtr; title: StringPtr; filterProc: ModalFilterUPP; refCon: SIGNEDLONG ): ComponentResult; external name '_NACopyrightDialog';
1889 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1890 
1891 
1892 {
1893     kNADummyOneSelect = 29
1894     kNADummyTwoSelect = 30
1895 }
1896 
1897 {
1898  *  NAGetIndNoteChannel()   *** DEPRECATED ***
1899  *
1900  *  Availability:
1901  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1902  *    CarbonLib:        in CarbonLib 1.0 and later
1903  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1904  *    Windows:          in qtmlClient.lib 3.0 and later
1905  }
NAGetIndNoteChannelnull1906 function NAGetIndNoteChannel( na: NoteAllocator; index: SIGNEDLONG; var nc: NoteChannel; var seed: SIGNEDLONG ): ComponentResult; external name '_NAGetIndNoteChannel';
1907 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1908 
1909 
1910 {
1911  *  NAGetMIDIPorts()   *** DEPRECATED ***
1912  *
1913  *  Availability:
1914  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1915  *    CarbonLib:        in CarbonLib 1.0 and later
1916  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1917  *    Windows:          in qtmlClient.lib 3.0 and later
1918  }
NAGetMIDIPortsnull1919 function NAGetMIDIPorts( na: NoteAllocator; var inputPorts: QTMIDIPortListHandle; var outputPorts: QTMIDIPortListHandle ): ComponentResult; external name '_NAGetMIDIPorts';
1920 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1921 
1922 
1923 {
1924  *  NAGetNoteRequest()   *** DEPRECATED ***
1925  *
1926  *  Availability:
1927  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1928  *    CarbonLib:        in CarbonLib 1.0 and later
1929  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1930  *    Windows:          in qtmlClient.lib 3.0 and later
1931  }
NAGetNoteRequestnull1932 function NAGetNoteRequest( na: NoteAllocator; noteChannel_: NoteChannel; var nrOut: NoteRequest ): ComponentResult; external name '_NAGetNoteRequest';
1933 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1934 
1935 
1936 {
1937  *  NASendMIDI()   *** DEPRECATED ***
1938  *
1939  *  Availability:
1940  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1941  *    CarbonLib:        in CarbonLib 1.0 and later
1942  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1943  *    Windows:          in qtmlClient.lib 3.0 and later
1944  }
NASendMIDInull1945 function NASendMIDI( na: NoteAllocator; noteChannel_: NoteChannel; var mp: MusicMIDIPacket ): ComponentResult; external name '_NASendMIDI';
1946 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1947 
1948 
1949 {
1950  *  NAPickEditInstrument()   *** DEPRECATED ***
1951  *
1952  *  Availability:
1953  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1954  *    CarbonLib:        in CarbonLib 1.0 and later
1955  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1956  *    Windows:          in qtmlClient.lib 3.0 and later
1957  }
NAPickEditInstrumentnull1958 function NAPickEditInstrument( na: NoteAllocator; filterProc: ModalFilterUPP; prompt: StringPtr; refCon: SIGNEDLONG; nc: NoteChannel; ai: AtomicInstrument; flags: SIGNEDLONG ): ComponentResult; external name '_NAPickEditInstrument';
1959 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1960 
1961 
1962 {
1963  *  NANewNoteChannelFromAtomicInstrument()   *** DEPRECATED ***
1964  *
1965  *  Availability:
1966  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1967  *    CarbonLib:        in CarbonLib 1.0 and later
1968  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1969  *    Windows:          in qtmlClient.lib 3.0 and later
1970  }
NANewNoteChannelFromAtomicInstrumentnull1971 function NANewNoteChannelFromAtomicInstrument( na: NoteAllocator; instrument: AtomicInstrumentPtr; flags: SIGNEDLONG; var outChannel: NoteChannel ): ComponentResult; external name '_NANewNoteChannelFromAtomicInstrument';
1972 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1973 
1974 
1975 {
1976  *  NASetAtomicInstrument()   *** DEPRECATED ***
1977  *
1978  *  Availability:
1979  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1980  *    CarbonLib:        in CarbonLib 1.0 and later
1981  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1982  *    Windows:          in qtmlClient.lib 3.0 and later
1983  }
NASetAtomicInstrumentnull1984 function NASetAtomicInstrument( na: NoteAllocator; noteChannel_: NoteChannel; instrument: AtomicInstrumentPtr; flags: SIGNEDLONG ): ComponentResult; external name '_NASetAtomicInstrument';
1985 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1986 
1987 
1988 {
1989  *  NAGetKnob()   *** DEPRECATED ***
1990  *
1991  *  Availability:
1992  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
1993  *    CarbonLib:        in CarbonLib 1.0 and later
1994  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1995  *    Windows:          in qtmlClient.lib 3.0 and later
1996  }
NAGetKnobnull1997 function NAGetKnob( na: NoteAllocator; noteChannel_: NoteChannel; knobNumber: SIGNEDLONG; var knobValue: SIGNEDLONG ): ComponentResult; external name '_NAGetKnob';
1998 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
1999 
2000 
2001 {
2002  *  NATask()   *** DEPRECATED ***
2003  *
2004  *  Availability:
2005  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2006  *    CarbonLib:        in CarbonLib 1.0 and later
2007  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2008  *    Windows:          in qtmlClient.lib 3.0 and later
2009  }
NATasknull2010 function NATask( na: NoteAllocator ): ComponentResult; external name '_NATask';
2011 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2012 
2013 
2014 {
2015  *  NASetNoteChannelBalance()   *** DEPRECATED ***
2016  *
2017  *  Availability:
2018  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2019  *    CarbonLib:        in CarbonLib 1.0 and later
2020  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2021  *    Windows:          in qtmlClient.lib 3.0 and later
2022  }
NASetNoteChannelBalancenull2023 function NASetNoteChannelBalance( na: NoteAllocator; noteChannel_: NoteChannel; balance: SIGNEDLONG ): ComponentResult; external name '_NASetNoteChannelBalance';
2024 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2025 
2026 
2027 {
2028  *  NASetInstrumentNumberInterruptSafe()   *** DEPRECATED ***
2029  *
2030  *  Availability:
2031  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2032  *    CarbonLib:        in CarbonLib 1.0 and later
2033  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2034  *    Windows:          in qtmlClient.lib 3.0 and later
2035  }
NASetInstrumentNumberInterruptSafenull2036 function NASetInstrumentNumberInterruptSafe( na: NoteAllocator; noteChannel_: NoteChannel; instrumentNumber: SIGNEDLONG ): ComponentResult; external name '_NASetInstrumentNumberInterruptSafe';
2037 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2038 
2039 
2040 {
2041  *  NASetNoteChannelSoundLocalization()   *** DEPRECATED ***
2042  *
2043  *  Availability:
2044  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2045  *    CarbonLib:        in CarbonLib 1.0 and later
2046  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2047  *    Windows:          in qtmlClient.lib 3.0 and later
2048  }
NASetNoteChannelSoundLocalizationnull2049 function NASetNoteChannelSoundLocalization( na: NoteAllocator; noteChannel_: NoteChannel; data: Handle ): ComponentResult; external name '_NASetNoteChannelSoundLocalization';
2050 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2051 
2052 
2053 {
2054  *  NAGetController()   *** DEPRECATED ***
2055  *
2056  *  Availability:
2057  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2058  *    CarbonLib:        in CarbonLib 1.0 and later
2059  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2060  *    Windows:          in qtmlClient.lib 3.0 and later
2061  }
NAGetControllernull2062 function NAGetController( na: NoteAllocator; noteChannel_: NoteChannel; controllerNumber: SIGNEDLONG; var controllerValue: SIGNEDLONG ): ComponentResult; external name '_NAGetController';
2063 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2064 
2065 
2066 const
2067 	kTuneQueueDepth = 8;     { Deepest you can queue tune segments }
2068 
2069 
2070 type
2071 	TuneStatusPtr = ^TuneStatus;
2072 	TuneStatus = record
2073 		tune: UNSIGNEDLONGPtr;                   { currently playing tune }
2074 		tunePtr: UNSIGNEDLONGPtr;                { position within currently playing piece }
2075 		time: TimeValue;                   { current tune time }
2076 		queueCount: SInt16;             { how many pieces queued up? }
2077 		queueSpots: SInt16;             { How many more tunepieces can be queued }
2078 		queueTime: TimeValue;              { How much time is queued up? (can be very inaccurate) }
2079 		reserved: array [0..2] of SIGNEDLONG;
2080 	end;
2081 
2082 	TuneCallBackProcPtr = procedure( const (*var*) status: TuneStatus; refCon: SIGNEDLONG);
2083 	TunePlayCallBackProcPtr = procedure( var event: UNSIGNEDLONG; seed: SIGNEDLONG; refCon: SIGNEDLONG );
2084 	TuneCallBackUPP = TuneCallBackProcPtr;
2085 	TunePlayCallBackUPP = TunePlayCallBackProcPtr;
2086 
2087 type
2088 	TunePlayer = ComponentInstance;
2089 const
2090 	kTunePlayerComponentType = FourCharCode('tune');
2091 
2092 
2093 {
2094  *  TuneSetHeader()   *** DEPRECATED ***
2095  *
2096  *  Availability:
2097  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2098  *    CarbonLib:        in CarbonLib 1.0 and later
2099  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2100  *    Windows:          in qtmlClient.lib 3.0 and later
2101  }
TuneSetHeadernull2102 function TuneSetHeader( tp: TunePlayer; var header: UNSIGNEDLONG ): ComponentResult; external name '_TuneSetHeader';
2103 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2104 
2105 
2106 {
2107  *  TuneGetTimeBase()   *** DEPRECATED ***
2108  *
2109  *  Availability:
2110  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2111  *    CarbonLib:        in CarbonLib 1.0 and later
2112  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2113  *    Windows:          in qtmlClient.lib 3.0 and later
2114  }
TuneGetTimeBasenull2115 function TuneGetTimeBase( tp: TunePlayer; var tb: TimeBase ): ComponentResult; external name '_TuneGetTimeBase';
2116 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2117 
2118 
2119 {
2120  *  TuneSetTimeScale()   *** DEPRECATED ***
2121  *
2122  *  Availability:
2123  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2124  *    CarbonLib:        in CarbonLib 1.0 and later
2125  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2126  *    Windows:          in qtmlClient.lib 3.0 and later
2127  }
TuneSetTimeScalenull2128 function TuneSetTimeScale( tp: TunePlayer; scale: TimeScale ): ComponentResult; external name '_TuneSetTimeScale';
2129 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2130 
2131 
2132 {
2133  *  TuneGetTimeScale()   *** DEPRECATED ***
2134  *
2135  *  Availability:
2136  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2137  *    CarbonLib:        in CarbonLib 1.0 and later
2138  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2139  *    Windows:          in qtmlClient.lib 3.0 and later
2140  }
TuneGetTimeScalenull2141 function TuneGetTimeScale( tp: TunePlayer; var scale: TimeScale ): ComponentResult; external name '_TuneGetTimeScale';
2142 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2143 
2144 
2145 {
2146  *  TuneGetIndexedNoteChannel()   *** DEPRECATED ***
2147  *
2148  *  Availability:
2149  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2150  *    CarbonLib:        in CarbonLib 1.0 and later
2151  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2152  *    Windows:          in qtmlClient.lib 3.0 and later
2153  }
TuneGetIndexedNoteChannelnull2154 function TuneGetIndexedNoteChannel( tp: TunePlayer; i: SIGNEDLONG; var nc: NoteChannel ): ComponentResult; external name '_TuneGetIndexedNoteChannel';
2155 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2156 
2157 
2158 { Values for when to start. }
2159 const
2160 	kTuneStartNow = 1;    { start after buffer is implied }
2161 	kTuneDontClipNotes = 2;    { allow notes to finish their durations outside sample }
2162 	kTuneExcludeEdgeNotes = 4;    { dont play notes that start at end of tune }
2163 	kTuneQuickStart = 8;    { Leave all the controllers where they are, ignore start time }
2164 	kTuneLoopUntil = 16;   { loop a queued tune if there's nothing else in the queue}
2165 	kTunePlayDifference = 32;   { by default, the tune difference is skipped}
2166 	kTunePlayConcurrent = 64;   { dont block the next tune sequence with this one}
2167 	kTuneStartNewMaster = 16384;
2168 
2169 {
2170  *  TuneQueue()   *** DEPRECATED ***
2171  *
2172  *  Availability:
2173  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2174  *    CarbonLib:        in CarbonLib 1.0 and later
2175  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2176  *    Windows:          in qtmlClient.lib 3.0 and later
2177  }
TuneQueuenull2178 function TuneQueue( tp: TunePlayer; var tune: UNSIGNEDLONG; tuneRate: Fixed; tuneStartPosition: UNSIGNEDLONG; tuneStopPosition: UNSIGNEDLONG; queueFlags: UNSIGNEDLONG; callBackProc: TuneCallBackUPP; refCon: SIGNEDLONG ): ComponentResult; external name '_TuneQueue';
2179 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2180 
2181 
2182 {
2183  *  TuneInstant()   *** DEPRECATED ***
2184  *
2185  *  Availability:
2186  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2187  *    CarbonLib:        in CarbonLib 1.0 and later
2188  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2189  *    Windows:          in qtmlClient.lib 3.0 and later
2190  }
TuneInstantnull2191 function TuneInstant( tp: TunePlayer; var tune: UNSIGNEDLONG; tunePosition: UNSIGNEDLONG ): ComponentResult; external name '_TuneInstant';
2192 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2193 
2194 
2195 {
2196  *  TuneGetStatus()   *** DEPRECATED ***
2197  *
2198  *  Availability:
2199  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2200  *    CarbonLib:        in CarbonLib 1.0 and later
2201  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2202  *    Windows:          in qtmlClient.lib 3.0 and later
2203  }
TuneGetStatusnull2204 function TuneGetStatus( tp: TunePlayer; var status: TuneStatus ): ComponentResult; external name '_TuneGetStatus';
2205 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2206 
2207 
2208 { Values for stopping. }
2209 const
2210 	kTuneStopFade = 1;    { do a quick, synchronous fadeout }
2211 	kTuneStopSustain = 2;    { don't silece notes }
2212 	kTuneStopInstant = 4;    { silence notes fast (else, decay them) }
2213 	kTuneStopReleaseChannels = 8;     { afterwards, let the channels go }
2214 
2215 {
2216  *  TuneStop()   *** DEPRECATED ***
2217  *
2218  *  Availability:
2219  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2220  *    CarbonLib:        in CarbonLib 1.0 and later
2221  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2222  *    Windows:          in qtmlClient.lib 3.0 and later
2223  }
TuneStopnull2224 function TuneStop( tp: TunePlayer; stopFlags: SIGNEDLONG ): ComponentResult; external name '_TuneStop';
2225 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2226 
2227 
2228 {
2229  *  TuneSetVolume()   *** DEPRECATED ***
2230  *
2231  *  Availability:
2232  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2233  *    CarbonLib:        in CarbonLib 1.0 and later
2234  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2235  *    Windows:          in qtmlClient.lib 3.0 and later
2236  }
TuneSetVolumenull2237 function TuneSetVolume( tp: TunePlayer; volume: Fixed ): ComponentResult; external name '_TuneSetVolume';
2238 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2239 
2240 
2241 {
2242  *  TuneGetVolume()   *** DEPRECATED ***
2243  *
2244  *  Availability:
2245  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2246  *    CarbonLib:        in CarbonLib 1.0 and later
2247  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2248  *    Windows:          in qtmlClient.lib 3.0 and later
2249  }
TuneGetVolumenull2250 function TuneGetVolume( tp: TunePlayer ): ComponentResult; external name '_TuneGetVolume';
2251 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2252 
2253 
2254 {
2255  *  TunePreroll()   *** DEPRECATED ***
2256  *
2257  *  Availability:
2258  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2259  *    CarbonLib:        in CarbonLib 1.0 and later
2260  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2261  *    Windows:          in qtmlClient.lib 3.0 and later
2262  }
TunePrerollnull2263 function TunePreroll( tp: TunePlayer ): ComponentResult; external name '_TunePreroll';
2264 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2265 
2266 
2267 {
2268  *  TuneUnroll()   *** DEPRECATED ***
2269  *
2270  *  Availability:
2271  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2272  *    CarbonLib:        in CarbonLib 1.0 and later
2273  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2274  *    Windows:          in qtmlClient.lib 3.0 and later
2275  }
TuneUnrollnull2276 function TuneUnroll( tp: TunePlayer ): ComponentResult; external name '_TuneUnroll';
2277 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2278 
2279 
2280 {
2281  *  TuneSetNoteChannels()   *** DEPRECATED ***
2282  *
2283  *  Availability:
2284  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2285  *    CarbonLib:        in CarbonLib 1.0 and later
2286  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2287  *    Windows:          in qtmlClient.lib 3.0 and later
2288  }
TuneSetNoteChannelsnull2289 function TuneSetNoteChannels( tp: TunePlayer; count: UNSIGNEDLONG; var noteChannelList: NoteChannel; playCallBackProc: TunePlayCallBackUPP; refCon: SIGNEDLONG ): ComponentResult; external name '_TuneSetNoteChannels';
2290 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2291 
2292 
2293 {
2294  *  TuneSetPartTranspose()   *** DEPRECATED ***
2295  *
2296  *  Availability:
2297  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2298  *    CarbonLib:        in CarbonLib 1.0 and later
2299  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2300  *    Windows:          in qtmlClient.lib 3.0 and later
2301  }
TuneSetPartTransposenull2302 function TuneSetPartTranspose( tp: TunePlayer; part: UNSIGNEDLONG; transpose: SIGNEDLONG; velocityShift: SIGNEDLONG ): ComponentResult; external name '_TuneSetPartTranspose';
2303 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2304 
2305 
2306 {
2307  *  TuneGetNoteAllocator()   *** DEPRECATED ***
2308  *
2309  *  Availability:
2310  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2311  *    CarbonLib:        in CarbonLib 1.0 and later
2312  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2313  *    Windows:          in qtmlClient.lib 3.0 and later
2314  }
TuneGetNoteAllocatornull2315 function TuneGetNoteAllocator( tp: TunePlayer ): NoteAllocator; external name '_TuneGetNoteAllocator';
2316 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2317 
2318 
2319 {
2320  *  TuneSetSofter()   *** DEPRECATED ***
2321  *
2322  *  Availability:
2323  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2324  *    CarbonLib:        in CarbonLib 1.0 and later
2325  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2326  *    Windows:          in qtmlClient.lib 3.0 and later
2327  }
TuneSetSofternull2328 function TuneSetSofter( tp: TunePlayer; softer: SIGNEDLONG ): ComponentResult; external name '_TuneSetSofter';
2329 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2330 
2331 
2332 {
2333  *  TuneTask()   *** DEPRECATED ***
2334  *
2335  *  Availability:
2336  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2337  *    CarbonLib:        in CarbonLib 1.0 and later
2338  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2339  *    Windows:          in qtmlClient.lib 3.0 and later
2340  }
TuneTasknull2341 function TuneTask( tp: TunePlayer ): ComponentResult; external name '_TuneTask';
2342 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2343 
2344 
2345 {
2346  *  TuneSetBalance()   *** DEPRECATED ***
2347  *
2348  *  Availability:
2349  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2350  *    CarbonLib:        in CarbonLib 1.0 and later
2351  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2352  *    Windows:          in qtmlClient.lib 3.0 and later
2353  }
TuneSetBalancenull2354 function TuneSetBalance( tp: TunePlayer; balance: SIGNEDLONG ): ComponentResult; external name '_TuneSetBalance';
2355 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2356 
2357 
2358 {
2359  *  TuneSetSoundLocalization()   *** DEPRECATED ***
2360  *
2361  *  Availability:
2362  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2363  *    CarbonLib:        in CarbonLib 1.0 and later
2364  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2365  *    Windows:          in qtmlClient.lib 3.0 and later
2366  }
TuneSetSoundLocalizationnull2367 function TuneSetSoundLocalization( tp: TunePlayer; data: Handle ): ComponentResult; external name '_TuneSetSoundLocalization';
2368 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2369 
2370 
2371 {
2372  *  TuneSetHeaderWithSize()   *** DEPRECATED ***
2373  *
2374  *  Availability:
2375  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2376  *    CarbonLib:        in CarbonLib 1.0 and later
2377  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2378  *    Windows:          in qtmlClient.lib 3.0 and later
2379  }
TuneSetHeaderWithSizenull2380 function TuneSetHeaderWithSize( tp: TunePlayer; var header: UNSIGNEDLONG; size: UNSIGNEDLONG ): ComponentResult; external name '_TuneSetHeaderWithSize';
2381 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2382 
2383 
2384 { flags for part mix. }
2385 const
2386 	kTuneMixMute = 1;    { disable a part }
2387 	kTuneMixSolo = 2;     { if any parts soloed, play only soloed parts }
2388 
2389 
2390 {
2391  *  TuneSetPartMix()   *** DEPRECATED ***
2392  *
2393  *  Availability:
2394  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2395  *    CarbonLib:        in CarbonLib 1.0 and later
2396  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2397  *    Windows:          in qtmlClient.lib 3.0 and later
2398  }
TuneSetPartMixnull2399 function TuneSetPartMix( tp: TunePlayer; partNumber: UNSIGNEDLONG; volume: SIGNEDLONG; balance: SIGNEDLONG; mixFlags: SIGNEDLONG ): ComponentResult; external name '_TuneSetPartMix';
2400 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2401 
2402 
2403 {
2404  *  TuneGetPartMix()   *** DEPRECATED ***
2405  *
2406  *  Availability:
2407  *    Mac OS X:         in version 10.0 and later in QuickTime.framework but deprecated in 10.5
2408  *    CarbonLib:        in CarbonLib 1.0 and later
2409  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2410  *    Windows:          in qtmlClient.lib 3.0 and later
2411  }
TuneGetPartMixnull2412 function TuneGetPartMix( tp: TunePlayer; partNumber: UNSIGNEDLONG; var volumeOut: SIGNEDLONG; var balanceOut: SIGNEDLONG; var mixFlagsOut: SIGNEDLONG ): ComponentResult; external name '_TuneGetPartMix';
2413 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2414 
2415 
2416 type
2417 	MusicOpWord = UNSIGNEDLONG;
2418 	MusicOpWordPtr = ^MusicOpWord;
2419 {    QuickTime Music Track Event Formats:
2420 
2421     At this time, QuickTime music tracks support 5 different event types -- REST events,
2422     short NOTE events, short CONTROL events, short GENERAL events, Long NOTE events,
2423     long CONTROL events, and variable GENERAL events.
2424 
2425         � REST Event (4 bytes/event):
2426 
2427             (0 0 0) (5-bit UNUSED) (24-bit Rest Duration)
2428 
2429         ��Short NOTE Events (4 bytes/event):
2430 
2431             (0 0 1) (5-bit Part) (6-bit Pitch) (7-bit Volume) (11-bit Duration)
2432 
2433             where:  Pitch is offset by 32 (Actual pitch = pitch field + 32)
2434 
2435         ��Short CONTROL Events (4 bytes/event):
2436 
2437             (0 1 0) (5-bit Part) (8-bit Controller) (1-bit UNUSED) (1-bit Sign) (7-bit MSB) (7-bit LSB)
2438                                                                          ( or 15-bit Signed Value)
2439         � Short GENERAL Event (4 bytes/event):
2440 
2441             (0 1 1) (1-bit UNUSED) (12-bit Sub-Type) (16-bit Value)
2442 
2443         � Long NOTE Events (8 bytes/event):
2444 
2445             (1 0 0 1) (12-bit Part) (1-bit UNUSED) (7-bit Pitch) (1-bit UNUSED) (7-bit Volume)
2446             (1 0) (8-bit UNUSED) (22-bit Duration)
2447 
2448         ��Long CONTROL Event (8 bytes/event):
2449 
2450             (1 0 1 0) (12-bit Part) (16-bit Value MSB)
2451             (1 0) (14-bit Controller) (16-bit Value LSB)
2452 
2453         ��Long KNOB Event (8 bytes/event):
2454 
2455             (1 0 1 1) (12-bit Sub-Type) (16-bit Value MSB)
2456             (1 0) (14-bit KNOB) (16-bit Value LSB)
2457 
2458         ��Variable GENERAL Length Events (N bytes/event):
2459 
2460             (1 1 1 1) (12-bit Sub-Type) (16-bit Length)
2461                 :
2462             (32-bit Data values)
2463                 :
2464             (1 1) (14-bit UNUSED) (16-bit Length)
2465 
2466             where:  Length field is the number of LONG words in the record.
2467                     Lengths include the first and last long words (Minimum length = 2)
2468 
2469     The following event type values have not been used yet and are reserved for
2470     future expansion:
2471 
2472         � (1 0 0 0)     (8 bytes/event)
2473         � (1 1 0 0)     (N bytes/event)
2474         � (1 1 0 1)     (N bytes/event)
2475         � (1 1 1 0)     (N bytes/event)
2476 
2477     For all events, the following generalizations apply:
2478 
2479         -   All duration values are specified in Millisecond units.
2480         -   Pitch values are intended to map directly to the MIDI key numbers.
2481         -   Controllers from 0 to 127 correspond to the standard MIDI controllers.
2482             Controllers greater than 127 correspond to other controls (i.e., Pitch Bend,
2483             Key Pressure, and Channel Pressure).
2484 }
2485 
2486 { Defines for the implemented music event data fields}
2487 const
2488 	kRestEventType = $00000000; { lower 3-bits }
2489 	kNoteEventType = $00000001; { lower 3-bits }
2490 	kControlEventType = $00000002; { lower 3-bits }
2491 	kMarkerEventType = $00000003; { lower 3-bits }
2492 	kUndefined1EventType = $00000008; { 4-bits }
2493 	kXNoteEventType = $00000009; { 4-bits }
2494 	kXControlEventType = $0000000A; { 4-bits }
2495 	kKnobEventType = $0000000B; { 4-bits }
2496 	kUndefined2EventType = $0000000C; { 4-bits }
2497 	kUndefined3EventType = $0000000D; { 4-bits }
2498 	kUndefined4EventType = $0000000E; { 4-bits }
2499 	kGeneralEventType = $0000000F; { 4-bits }
2500 	kXEventLengthBits = $00000002; { 2 bits: indicates 8-byte event record }
2501 	kGeneralEventLengthBits = $00000003; { 2 bits: indicates variable length event record }
2502 	kEventLen = 1;    { length of events in long words }
2503 	kXEventLen = 2;
2504 	kRestEventLen = kEventLen; { length of events in long words }
2505 	kNoteEventLen = kEventLen;
2506 	kControlEventLen = kEventLen;
2507 	kMarkerEventLen = kEventLen;
2508 	kXNoteEventLen = kXEventLen;
2509 	kXControlEventLen = kXEventLen;
2510 	kGeneralEventLen = kXEventLen; { 2 or more, however }
2511                                         { Universal Event Defines}
2512 	kEventLengthFieldPos = 30;   { by looking at these two bits of the 1st or last word         }
2513 	kEventLengthFieldWidth = 2;    { of an event you can determine the event length                }
2514                                         { length field: 0 & 1 => 1 long; 2 => 2 longs; 3 => variable length }
2515 	kEventTypeFieldPos = 29;   { event type field for short events }
2516 	kEventTypeFieldWidth = 3;    { short type is 3 bits }
2517 	kXEventTypeFieldPos = 28;   { event type field for extended events }
2518 	kXEventTypeFieldWidth = 4;    { extended type is 4 bits }
2519 	kEventPartFieldPos = 24;
2520 	kEventPartFieldWidth = 5;
2521 	kXEventPartFieldPos = 16;   { in the 1st long word }
2522 	kXEventPartFieldWidth = 12;   { Rest Events}
2523 	kRestEventDurationFieldPos = 0;
2524 	kRestEventDurationFieldWidth = 24;
2525 	kRestEventDurationMax = ((1 shl kRestEventDurationFieldWidth) - 1); { Note Events}
2526 	kNoteEventPitchFieldPos = 18;
2527 	kNoteEventPitchFieldWidth = 6;
2528 	kNoteEventPitchOffset = 32;   { add to value in pitch field to get actual pitch }
2529 	kNoteEventVolumeFieldPos = 11;
2530 	kNoteEventVolumeFieldWidth = 7;
2531 	kNoteEventVolumeOffset = 0;    { add to value in volume field to get actual volume }
2532 	kNoteEventDurationFieldPos = 0;
2533 	kNoteEventDurationFieldWidth = 11;
2534 	kNoteEventDurationMax = ((1 shl kNoteEventDurationFieldWidth) - 1);
2535 	kXNoteEventPitchFieldPos = 0;    { in the 1st long word }
2536 	kXNoteEventPitchFieldWidth = 16;
2537 	kXNoteEventDurationFieldPos = 0;    { in the 2nd long word }
2538 	kXNoteEventDurationFieldWidth = 22;
2539 	kXNoteEventDurationMax = ((1 shl kXNoteEventDurationFieldWidth) - 1);
2540 	kXNoteEventVolumeFieldPos = 22;   { in the 2nd long word }
2541 	kXNoteEventVolumeFieldWidth = 7;    { Control Events}
2542 	kControlEventControllerFieldPos = 16;
2543 	kControlEventControllerFieldWidth = 8;
2544 	kControlEventValueFieldPos = 0;
2545 	kControlEventValueFieldWidth = 16;
2546 	kXControlEventControllerFieldPos = 0; { in the 2nd long word }
2547 	kXControlEventControllerFieldWidth = 16;
2548 	kXControlEventValueFieldPos = 0;    { in the 1st long word }
2549 	kXControlEventValueFieldWidth = 16;   { Knob Events}
2550 	kKnobEventValueHighFieldPos = 0;    { 1st long word }
2551 	kKnobEventValueHighFieldWidth = 16;
2552 	kKnobEventKnobFieldPos = 16;   { 2nd long word }
2553 	kKnobEventKnobFieldWidth = 14;
2554 	kKnobEventValueLowFieldPos = 0;    { 2nd long word }
2555 	kKnobEventValueLowFieldWidth = 16;   { Marker Events}
2556 	kMarkerEventSubtypeFieldPos = 16;
2557 	kMarkerEventSubtypeFieldWidth = 8;
2558 	kMarkerEventValueFieldPos = 0;
2559 	kMarkerEventValueFieldWidth = 16;   { General Events}
2560 	kGeneralEventSubtypeFieldPos = 16;   { in the last long word }
2561 	kGeneralEventSubtypeFieldWidth = 14;
2562 	kGeneralEventLengthFieldPos = 0;    { in the 1st & last long words }
2563 	kGeneralEventLengthFieldWidth = 16;
2564 
2565 {$ifc TARGET_RT_LITTLE_ENDIAN}
2566 const
2567 	kEndMarkerValue = $00000060;
2568 
2569 {$elsec}
2570 const
2571 	kEndMarkerValue = $60000000;
2572 
2573 {$endc}  {TARGET_RT_LITTLE_ENDIAN}
2574 
2575 { macros for extracting various fields from the QuickTime event records}
2576 
2577 
2578 { General Event Defined Types}
2579 const
2580 	kGeneralEventNoteRequest = 1;    { Encapsulates NoteRequest data structure }
2581 	kGeneralEventPartKey = 4;
2582 	kGeneralEventTuneDifference = 5;    { Contains a standard sequence, with end marker, for the tune difference of a sequence piece (halts QuickTime 2.0 Music) }
2583 	kGeneralEventAtomicInstrument = 6;    { Encapsulates AtomicInstrument record }
2584 	kGeneralEventKnob = 7;    { knobID/knobValue pairs; smallest event is 4 longs }
2585 	kGeneralEventMIDIChannel = 8;    { used in tune header, one longword identifies the midi channel it originally came from }
2586 	kGeneralEventPartChange = 9;    { used in tune sequence, one longword identifies the tune part which can now take over this part's note channel (similar to program change) (halts QuickTime 2.0 Music)}
2587 	kGeneralEventNoOp = 10;   { guaranteed to do nothing and be ignored. (halts QuickTime 2.0 Music) }
2588 	kGeneralEventUsedNotes = 11;   { four longwords specifying which midi notes are actually used, 0..127 msb to lsb }
2589 	kGeneralEventPartMix = 12;    { three longwords: Fixed volume, long balance, long flags }
2590 
2591 { Marker Event Defined Types       // marker is 60 ee vv vv in hex, where e = event type, and v = value}
2592 const
2593 	kMarkerEventEnd = 0;    { marker type 0 means: value 0 - stop, value != 0 - ignore}
2594 	kMarkerEventBeat = 1;    { value 0 = single beat; anything else is 65536ths-of-a-beat (quarter note)}
2595 	kMarkerEventTempo = 2;     { value same as beat marker, but indicates that a tempo event should be computed (based on where the next beat or tempo marker is) and emitted upon export}
2596 
2597 const
2598 	kCurrentlyNativeEndian = 1;
2599 	kCurrentlyNotNativeEndian = 2;
2600 
2601 { UPP call backs }
2602 {
2603  *  NewMusicMIDISendUPP()
2604  *
2605  *  Availability:
2606  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2607  *    CarbonLib:        in CarbonLib 1.0 and later
2608  *    Non-Carbon CFM:   available as macro/inline
2609  }
NewMusicMIDISendUPPnull2610 function NewMusicMIDISendUPP( userRoutine: MusicMIDISendProcPtr ): MusicMIDISendUPP; external name '_NewMusicMIDISendUPP';
2611 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2612 
2613 {
2614  *  NewMusicOfflineDataUPP()
2615  *
2616  *  Availability:
2617  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2618  *    CarbonLib:        in CarbonLib 1.0 and later
2619  *    Non-Carbon CFM:   available as macro/inline
2620  }
NewMusicOfflineDataUPPnull2621 function NewMusicOfflineDataUPP( userRoutine: MusicOfflineDataProcPtr ): MusicOfflineDataUPP; external name '_NewMusicOfflineDataUPP';
2622 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2623 
2624 {
2625  *  NewTuneCallBackUPP()
2626  *
2627  *  Availability:
2628  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2629  *    CarbonLib:        in CarbonLib 1.0 and later
2630  *    Non-Carbon CFM:   available as macro/inline
2631  }
NewTuneCallBackUPPnull2632 function NewTuneCallBackUPP( userRoutine: TuneCallBackProcPtr ): TuneCallBackUPP; external name '_NewTuneCallBackUPP';
2633 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2634 
2635 {
2636  *  NewTunePlayCallBackUPP()
2637  *
2638  *  Availability:
2639  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2640  *    CarbonLib:        in CarbonLib 1.0 and later
2641  *    Non-Carbon CFM:   available as macro/inline
2642  }
NewTunePlayCallBackUPPnull2643 function NewTunePlayCallBackUPP( userRoutine: TunePlayCallBackProcPtr ): TunePlayCallBackUPP; external name '_NewTunePlayCallBackUPP';
2644 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2645 
2646 {
2647  *  DisposeMusicMIDISendUPP()
2648  *
2649  *  Availability:
2650  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2651  *    CarbonLib:        in CarbonLib 1.0 and later
2652  *    Non-Carbon CFM:   available as macro/inline
2653  }
2654 procedure DisposeMusicMIDISendUPP( userUPP: MusicMIDISendUPP ); external name '_DisposeMusicMIDISendUPP';
2655 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2656 
2657 {
2658  *  DisposeMusicOfflineDataUPP()
2659  *
2660  *  Availability:
2661  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2662  *    CarbonLib:        in CarbonLib 1.0 and later
2663  *    Non-Carbon CFM:   available as macro/inline
2664  }
2665 procedure DisposeMusicOfflineDataUPP( userUPP: MusicOfflineDataUPP ); external name '_DisposeMusicOfflineDataUPP';
2666 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2667 
2668 {
2669  *  DisposeTuneCallBackUPP()
2670  *
2671  *  Availability:
2672  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2673  *    CarbonLib:        in CarbonLib 1.0 and later
2674  *    Non-Carbon CFM:   available as macro/inline
2675  }
2676 procedure DisposeTuneCallBackUPP( userUPP: TuneCallBackUPP ); external name '_DisposeTuneCallBackUPP';
2677 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2678 
2679 {
2680  *  DisposeTunePlayCallBackUPP()
2681  *
2682  *  Availability:
2683  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2684  *    CarbonLib:        in CarbonLib 1.0 and later
2685  *    Non-Carbon CFM:   available as macro/inline
2686  }
2687 procedure DisposeTunePlayCallBackUPP( userUPP: TunePlayCallBackUPP ); external name '_DisposeTunePlayCallBackUPP';
2688 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2689 
2690 {
2691  *  InvokeMusicMIDISendUPP()
2692  *
2693  *  Availability:
2694  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2695  *    CarbonLib:        in CarbonLib 1.0 and later
2696  *    Non-Carbon CFM:   available as macro/inline
2697  }
InvokeMusicMIDISendUPPnull2698 function InvokeMusicMIDISendUPP( self: ComponentInstance; refCon: SIGNEDLONG; var mmp: MusicMIDIPacket; userUPP: MusicMIDISendUPP ): ComponentResult; external name '_InvokeMusicMIDISendUPP';
2699 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2700 
2701 {
2702  *  InvokeMusicOfflineDataUPP()
2703  *
2704  *  Availability:
2705  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2706  *    CarbonLib:        in CarbonLib 1.0 and later
2707  *    Non-Carbon CFM:   available as macro/inline
2708  }
InvokeMusicOfflineDataUPPnull2709 function InvokeMusicOfflineDataUPP( SoundData: Ptr; numBytes: SIGNEDLONG; myRefCon: SIGNEDLONG; userUPP: MusicOfflineDataUPP ): ComponentResult; external name '_InvokeMusicOfflineDataUPP';
2710 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2711 
2712 {
2713  *  InvokeTuneCallBackUPP()
2714  *
2715  *  Availability:
2716  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2717  *    CarbonLib:        in CarbonLib 1.0 and later
2718  *    Non-Carbon CFM:   available as macro/inline
2719  }
2720 procedure InvokeTuneCallBackUPP( const (*var*) status: TuneStatus; refCon: SIGNEDLONG; userUPP: TuneCallBackUPP ); external name '_InvokeTuneCallBackUPP';
2721 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2722 
2723 {
2724  *  InvokeTunePlayCallBackUPP()
2725  *
2726  *  Availability:
2727  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2728  *    CarbonLib:        in CarbonLib 1.0 and later
2729  *    Non-Carbon CFM:   available as macro/inline
2730  }
2731 procedure InvokeTunePlayCallBackUPP( var event: UNSIGNEDLONG; seed: SIGNEDLONG; refCon: SIGNEDLONG; userUPP: TunePlayCallBackUPP ); external name '_InvokeTunePlayCallBackUPP';
2732 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
2733 
2734 
2735 { selectors for component calls }
2736 const
2737 	kQTMIDIGetMIDIPortsSelect = $0001;
2738 	kQTMIDIUseSendPortSelect = $0002;
2739 	kQTMIDISendMIDISelect = $0003;
2740 	kMusicGetDescriptionSelect = $0001;
2741 	kMusicGetPartSelect = $0002;
2742 	kMusicSetPartSelect = $0003;
2743 	kMusicSetPartInstrumentNumberSelect = $0004;
2744 	kMusicGetPartInstrumentNumberSelect = $0005;
2745 	kMusicStorePartInstrumentSelect = $0006;
2746 	kMusicGetPartAtomicInstrumentSelect = $0009;
2747 	kMusicSetPartAtomicInstrumentSelect = $000A;
2748 	kMusicGetPartKnobSelect = $0010;
2749 	kMusicSetPartKnobSelect = $0011;
2750 	kMusicGetKnobSelect = $0012;
2751 	kMusicSetKnobSelect = $0013;
2752 	kMusicGetPartNameSelect = $0014;
2753 	kMusicSetPartNameSelect = $0015;
2754 	kMusicFindToneSelect = $0016;
2755 	kMusicPlayNoteSelect = $0017;
2756 	kMusicResetPartSelect = $0018;
2757 	kMusicSetPartControllerSelect = $0019;
2758 	kMusicGetPartControllerSelect = $001A;
2759 	kMusicGetMIDIProcSelect = $001B;
2760 	kMusicSetMIDIProcSelect = $001C;
2761 	kMusicGetInstrumentNamesSelect = $001D;
2762 	kMusicGetDrumNamesSelect = $001E;
2763 	kMusicGetMasterTuneSelect = $001F;
2764 	kMusicSetMasterTuneSelect = $0020;
2765 	kMusicGetInstrumentAboutInfoSelect = $0022;
2766 	kMusicGetDeviceConnectionSelect = $0023;
2767 	kMusicUseDeviceConnectionSelect = $0024;
2768 	kMusicGetKnobSettingStringsSelect = $0025;
2769 	kMusicGetMIDIPortsSelect = $0026;
2770 	kMusicSendMIDISelect = $0027;
2771 	kMusicStartOfflineSelect = $0029;
2772 	kMusicSetOfflineTimeToSelect = $002A;
2773 	kMusicGetInstrumentKnobDescriptionSelect = $002B;
2774 	kMusicGetDrumKnobDescriptionSelect = $002C;
2775 	kMusicGetKnobDescriptionSelect = $002D;
2776 	kMusicGetInfoTextSelect = $002E;
2777 	kMusicGetInstrumentInfoSelect = $002F;
2778 	kMusicTaskSelect = $0031;
2779 	kMusicSetPartInstrumentNumberInterruptSafeSelect = $0032;
2780 	kMusicSetPartSoundLocalizationSelect = $0033;
2781 	kMusicGenericConfigureSelect = $0100;
2782 	kMusicGenericGetPartSelect = $0101;
2783 	kMusicGenericGetKnobListSelect = $0102;
2784 	kMusicGenericSetResourceNumbersSelect = $0103;
2785 	kMusicDerivedMIDISendSelect = $0200;
2786 	kMusicDerivedSetKnobSelect = $0201;
2787 	kMusicDerivedSetPartSelect = $0202;
2788 	kMusicDerivedSetInstrumentSelect = $0203;
2789 	kMusicDerivedSetPartInstrumentNumberSelect = $0204;
2790 	kMusicDerivedSetMIDISelect = $0205;
2791 	kMusicDerivedStorePartInstrumentSelect = $0206;
2792 	kMusicDerivedOpenResFileSelect = $0207;
2793 	kMusicDerivedCloseResFileSelect = $0208;
2794 	kNARegisterMusicDeviceSelect = $0000;
2795 	kNAUnregisterMusicDeviceSelect = $0001;
2796 	kNAGetRegisteredMusicDeviceSelect = $0002;
2797 	kNASaveMusicConfigurationSelect = $0003;
2798 	kNANewNoteChannelSelect = $0004;
2799 	kNADisposeNoteChannelSelect = $0005;
2800 	kNAGetNoteChannelInfoSelect = $0006;
2801 	kNAPrerollNoteChannelSelect = $0007;
2802 	kNAUnrollNoteChannelSelect = $0008;
2803 	kNASetNoteChannelVolumeSelect = $000B;
2804 	kNAResetNoteChannelSelect = $000C;
2805 	kNAPlayNoteSelect = $000D;
2806 	kNASetControllerSelect = $000E;
2807 	kNASetKnobSelect = $000F;
2808 	kNAFindNoteChannelToneSelect = $0010;
2809 	kNASetInstrumentNumberSelect = $0011;
2810 	kNAPickInstrumentSelect = $0012;
2811 	kNAPickArrangementSelect = $0013;
2812 	kNAStuffToneDescriptionSelect = $001B;
2813 	kNACopyrightDialogSelect = $001C;
2814 	kNAGetIndNoteChannelSelect = $001F;
2815 	kNAGetMIDIPortsSelect = $0021;
2816 	kNAGetNoteRequestSelect = $0022;
2817 	kNASendMIDISelect = $0023;
2818 	kNAPickEditInstrumentSelect = $0024;
2819 	kNANewNoteChannelFromAtomicInstrumentSelect = $0025;
2820 	kNASetAtomicInstrumentSelect = $0026;
2821 	kNAGetKnobSelect = $0028;
2822 	kNATaskSelect = $0029;
2823 	kNASetNoteChannelBalanceSelect = $002A;
2824 	kNASetInstrumentNumberInterruptSafeSelect = $002B;
2825 	kNASetNoteChannelSoundLocalizationSelect = $002C;
2826 	kNAGetControllerSelect = $002D;
2827 	kTuneSetHeaderSelect = $0004;
2828 	kTuneGetTimeBaseSelect = $0005;
2829 	kTuneSetTimeScaleSelect = $0006;
2830 	kTuneGetTimeScaleSelect = $0007;
2831 	kTuneGetIndexedNoteChannelSelect = $0008;
2832 	kTuneQueueSelect = $000A;
2833 	kTuneInstantSelect = $000B;
2834 	kTuneGetStatusSelect = $000C;
2835 	kTuneStopSelect = $000D;
2836 	kTuneSetVolumeSelect = $0010;
2837 	kTuneGetVolumeSelect = $0011;
2838 	kTunePrerollSelect = $0012;
2839 	kTuneUnrollSelect = $0013;
2840 	kTuneSetNoteChannelsSelect = $0014;
2841 	kTuneSetPartTransposeSelect = $0015;
2842 	kTuneGetNoteAllocatorSelect = $0017;
2843 	kTuneSetSofterSelect = $0018;
2844 	kTuneTaskSelect = $0019;
2845 	kTuneSetBalanceSelect = $001A;
2846 	kTuneSetSoundLocalizationSelect = $001B;
2847 	kTuneSetHeaderWithSizeSelect = $001C;
2848 	kTuneSetPartMixSelect = $001D;
2849 	kTuneGetPartMixSelect = $001E;
2850 
2851 {$endc} {not TARGET_CPU_64}
2852 
2853 {$endc} {TARGET_OS_MAC}
2854 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
2855 
2856 end.
2857 {$endc} {not MACOSALLINCLUDE}
2858