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