| Framework | Frameworks/QuickTime.framework |
| Declared in | IOMacOSTypes.h QuickTimeMusic.h |
The QuickTime Music Architecture (QTMA) allows QuickTime movies, applications, and other software to play individual musical notes, sequences of notes, and a broad range of sounds from a variety of instruments and synthesizers. With QTMA, you can also import Standard MIDI files and convert them into a QuickTime movie for easy playback.
NADisposeNoteChannel Deprecated in Mac OS X v10.5
NAFindNoteChannelTone Deprecated in Mac OS X v10.5
NAGetController Deprecated in Mac OS X v10.5
NAGetIndNoteChannel Deprecated in Mac OS X v10.5
NAGetKnob Deprecated in Mac OS X v10.5
NAGetNoteChannelInfo Deprecated in Mac OS X v10.5
NAGetNoteRequest Deprecated in Mac OS X v10.5
NANewNoteChannel Deprecated in Mac OS X v10.5
NANewNoteChannelFromAtomicInstrument Deprecated in Mac OS X v10.5
NAPlayNote Deprecated in Mac OS X v10.5
NAPrerollNoteChannel Deprecated in Mac OS X v10.5
NAResetNoteChannel Deprecated in Mac OS X v10.5
NASendMIDI Deprecated in Mac OS X v10.5
NASetAtomicInstrument Deprecated in Mac OS X v10.5
NASetController Deprecated in Mac OS X v10.5
NASetInstrumentNumber Deprecated in Mac OS X v10.5
NASetInstrumentNumberInterruptSafe Deprecated in Mac OS X v10.5
NASetKnob Deprecated in Mac OS X v10.5
NASetNoteChannelBalance Deprecated in Mac OS X v10.5
NASetNoteChannelSoundLocalization Deprecated in Mac OS X v10.5
NASetNoteChannelVolume Deprecated in Mac OS X v10.5
NAUnrollNoteChannel Deprecated in Mac OS X v10.5
MusicDerivedSetInstrument Deprecated in Mac OS X v10.5
MusicDerivedSetKnob Deprecated in Mac OS X v10.5
MusicDerivedSetMIDI Deprecated in Mac OS X v10.5
MusicDerivedSetPart Deprecated in Mac OS X v10.5
MusicGetInstrumentAboutInfo Deprecated in Mac OS X v10.5
MusicGetInstrumentInfo Deprecated in Mac OS X v10.5
MusicGetPart Deprecated in Mac OS X v10.5
MusicGetPartAtomicInstrument Deprecated in Mac OS X v10.5
MusicGetPartController Deprecated in Mac OS X v10.5
MusicGetPartInstrumentNumber Deprecated in Mac OS X v10.5
MusicGetPartKnob Deprecated in Mac OS X v10.5
MusicGetPartName Deprecated in Mac OS X v10.5
MusicResetPart Deprecated in Mac OS X v10.5
MusicSetPart Deprecated in Mac OS X v10.5
MusicSetPartAtomicInstrument Deprecated in Mac OS X v10.5
MusicSetPartController Deprecated in Mac OS X v10.5
MusicSetPartInstrumentNumber Deprecated in Mac OS X v10.5
MusicSetPartInstrumentNumberInterruptSafe Deprecated in Mac OS X v10.5
MusicSetPartKnob Deprecated in Mac OS X v10.5
MusicSetPartName Deprecated in Mac OS X v10.5
MusicSetPartSoundLocalization Deprecated in Mac OS X v10.5
MusicStorePartInstrument Deprecated in Mac OS X v10.5
MusicFindTone Deprecated in Mac OS X v10.5
MusicGetDescription Deprecated in Mac OS X v10.5
MusicGetDeviceConnection Deprecated in Mac OS X v10.5
MusicGetDrumKnobDescription Deprecated in Mac OS X v10.5
MusicGetInstrumentKnobDescription Deprecated in Mac OS X v10.5
MusicGetKnob Deprecated in Mac OS X v10.5
MusicGetKnobDescription Deprecated in Mac OS X v10.5
MusicGetKnobSettingStrings Deprecated in Mac OS X v10.5
MusicGetMIDIPorts Deprecated in Mac OS X v10.5
MusicGetMIDIProc Deprecated in Mac OS X v10.5
MusicPlayNote Deprecated in Mac OS X v10.5
MusicSendMIDI Deprecated in Mac OS X v10.5
MusicSetKnob Deprecated in Mac OS X v10.5
MusicSetMIDIProc Deprecated in Mac OS X v10.5
MusicUseDeviceConnection Deprecated in Mac OS X v10.5
MusicGenericConfigure Deprecated in Mac OS X v10.5
QTMIDIGetMIDIPorts Deprecated in Mac OS X v10.5
QTMIDISendMIDI Deprecated in Mac OS X v10.5
QTMIDIUseSendPort Deprecated in Mac OS X v10.5
MusicGetMasterTune Deprecated in Mac OS X v10.5
MusicSetMasterTune Deprecated in Mac OS X v10.5
MusicSetOfflineTimeTo Deprecated in Mac OS X v10.5
MusicStartOffline Deprecated in Mac OS X v10.5
MusicTask Deprecated in Mac OS X v10.5
NAGetMIDIPorts Deprecated in Mac OS X v10.5
NAGetRegisteredMusicDevice Deprecated in Mac OS X v10.5
NARegisterMusicDevice Deprecated in Mac OS X v10.5
NASaveMusicConfiguration Deprecated in Mac OS X v10.5
NATask Deprecated in Mac OS X v10.5
NAUnregisterMusicDevice Deprecated in Mac OS X v10.5
NACopyrightDialog Deprecated in Mac OS X v10.5
NAPickArrangement Deprecated in Mac OS X v10.5
NAPickEditInstrument Deprecated in Mac OS X v10.5
NAPickInstrument Deprecated in Mac OS X v10.5
NAStuffToneDescription Deprecated in Mac OS X v10.5
TuneGetIndexedNoteChannel Deprecated in Mac OS X v10.5
TuneGetNoteAllocator Deprecated in Mac OS X v10.5
TuneGetPartMix Deprecated in Mac OS X v10.5
TuneGetStatus Deprecated in Mac OS X v10.5
TuneGetTimeBase Deprecated in Mac OS X v10.5
TuneGetTimeScale Deprecated in Mac OS X v10.5
TuneGetVolume Deprecated in Mac OS X v10.5
TuneInstant Deprecated in Mac OS X v10.5
TunePreroll Deprecated in Mac OS X v10.5
TuneQueue Deprecated in Mac OS X v10.5
TuneSetBalance Deprecated in Mac OS X v10.5
TuneSetHeader Deprecated in Mac OS X v10.5
TuneSetHeaderWithSize Deprecated in Mac OS X v10.5
TuneSetNoteChannels Deprecated in Mac OS X v10.5
TuneSetPartMix Deprecated in Mac OS X v10.5
TuneSetPartTranspose Deprecated in Mac OS X v10.5
TuneSetSofter Deprecated in Mac OS X v10.5
TuneSetSoundLocalization Deprecated in Mac OS X v10.5
TuneSetTimeScale Deprecated in Mac OS X v10.5
TuneSetVolume Deprecated in Mac OS X v10.5
TuneStop Deprecated in Mac OS X v10.5
TuneTask Deprecated in Mac OS X v10.5
TuneUnroll Deprecated in Mac OS X v10.5
DisposeMusicMIDISendUPP Deprecated in Mac OS X v10.5
DisposeMusicOfflineDataUPP Deprecated in Mac OS X v10.5
DisposeTuneCallBackUPP Deprecated in Mac OS X v10.5
DisposeTunePlayCallBackUPP Deprecated in Mac OS X v10.5
MusicDerivedCloseResFile Deprecated in Mac OS X v10.5
MusicDerivedMIDISend Deprecated in Mac OS X v10.5
MusicDerivedOpenResFile Deprecated in Mac OS X v10.5
MusicDerivedSetPartInstrumentNumber Deprecated in Mac OS X v10.5
MusicDerivedStorePartInstrument Deprecated in Mac OS X v10.5
MusicGenericGetKnobList Deprecated in Mac OS X v10.5
MusicGenericGetPart Deprecated in Mac OS X v10.5
MusicGenericSetResourceNumbers Deprecated in Mac OS X v10.5
MusicGetDrumNames Deprecated in Mac OS X v10.5
MusicGetInfoText Deprecated in Mac OS X v10.5
MusicGetInstrumentNames Deprecated in Mac OS X v10.5
NewMusicMIDISendUPP Deprecated in Mac OS X v10.5
NewMusicOfflineDataUPP Deprecated in Mac OS X v10.5
NewTuneCallBackUPP Deprecated in Mac OS X v10.5
NewTunePlayCallBackUPP Deprecated in Mac OS X v10.5
Undocumented
typedef ComponentResult (*MusicMIDISendProcPtr) (ComponentInstance self, long refCon, MusicMIDIPacket *mmp);
If you name your function MyMusicMIDISendProc, you would declare it this way:
ComponentResult MyMusicMIDISendProc ( ComponentInstance self, long refCon, MusicMIDIPacket *mmp );
Undocumented
A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
A pointer to a MusicMIDIPacket structure.
See Error Codes. Your callback should return noErr if there is no error.
QuickTimeMusic.hUndocumented
typedef ComponentResult (*MusicOfflineDataProcPtr) (Ptr SoundData, long numBytes, long myRefCon);
If you name your function MyMusicOfflineDataProc, you would declare it this way:
ComponentResult MyMusicOfflineDataProc ( Ptr SoundData, long numBytes, long myRefCon );
Undocumented
Undocumented
Undocumented
See Error Codes. Your callback should return noErr if there is no error.
QuickTimeMusic.hCalled when a sequence of music events is placed into a queue to be played.
typedef void (*TuneCallBackProcPtr) (const TuneStatus *status, long refCon);
If you name your function MyTuneCallBackProc, you would declare it this way:
void MyTuneCallBackProc ( const TuneStatus *status, long refCon );
A pointer to a TuneStatus structure.
A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
QuickTimeMusic.hSupports the TuneSetNoteChannels function.
typedef void (*TunePlayCallBackProcPtr) (unsigned long *event, long seed, long refCon);
If you name your function MyTunePlayCallBackProc, you would declare it this way:
void MyTunePlayCallBackProc ( unsigned long *event, long seed, long refCon );
A pointer to a QuickTime music event structure in the sequence data.
A 32-bit value that is guaranteed to be different for each call to the callback routine (unless 2^32 calls are made, after which the values repeat), with one exception: the value passed at the beginning of a note is also passed at the end of the note's duration, together with a note structure or an extended note in which the velocity bits are set to 0.
A reference constant that the client code supplies to the callback.
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef Handle AtomicInstrument;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef Ptr AtomicInstrumentPtr;
QuickTimeMusic.h
Defines a part in the QuickTime Music Architecture.
struct GCPart {
long hwInstrumentNumber;
short controller[128];
long volume;
long polyphony;
long midiChannel;
GCInstrumentData id;
};
hwInstrumentNumberThe instrument number of the instrument for the part.
controllerAn array of 128 bits identifying the available controllers; see Music Controllers. Bits are numbered from 1 to 128, starting with the most significant bit of the long word and continuing to the least significant of the last bit.
volumeThe sound volume for this part, ranging from -1.0 to +1.0. The high-order 8 bits contain the integer part; the low-order 8 bits contain the fractional part. A value of +1.0 constitutes the maximum volume of the user's computer. Negative values are silent but retain the magnitude of the volume setting.
polyphonyThe maximum number of voices.
midiChannelThe system MIDI channel or, for a hardware device, the slot number.
idA GCInstrumentData structure.
MusicDerivedSetInstrumentMusicDerivedSetKnobMusicDerivedSetPartMusicDerivedSetPartInstrumentNumberMusicDerivedStorePartInstrumentMusicGenericGetPart QuickTimeMusic.h
Describes a knob for the generic music component.
struct GenericKnobDescription {
KnobDescription kd;
long hw1;
long hw2;
long hw3;
long settingsID;
};
kdA KnobDescription structure.
hw1Undocumented
hw2Undocumented
hw3Undocumented
settingsIDUndocumented
Undocumented
MusicDerivedSetKnob QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef GenericKnobDescriptionListPtr * GenericKnobDescriptionListHandle;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef GenericKnobDescriptionList * GenericKnobDescriptionListPtr;
QuickTimeMusic.h
Contains the information that appears in an instrument's About box and is returned by MusicGetInstrumentAboutInfo.
struct InstrumentAboutInfo {
PicHandle p;
Str255 author;
Str255 copyright;
Str255 other;
};
pA handle to a graphic for the About box.
authorThe author's name.
copyrightThe copyright information.
otherAny other textual information.
MusicGetInstrumentAboutInfo QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef InstrumentInfoListPtr * InstrumentInfoListHandle;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef InstrumentInfoList * InstrumentInfoListPtr;
QuickTimeMusic.h
Contains sound parameter values for a single knob.
struct KnobDescription {
Str63 name;
long lowValue;
long highValue;
long defaultValue;
long flags;
long knobID;
};
nameThe name of the knob.
lowValueThe lowest number you can set the knob to.
highValueThe highest number you can set the knob to.
defaultValueA value to use for the default. A default instrument is made of all default values.
flagsConstants (see below) that provide various items of information about the knob. See these constants:
kKnobReadOnly
kKnobInterruptUnsafe
kKnobKeyrangeOverride
kKnobGroupStart
kKnobFixedPoint8
kKnobFixedPoint16
kKnobTypeNumber
kKnobTypeGroupName
kKnobTypeBoolean
kKnobTypeNote
kKnobTypePan
kKnobTypeInstrument
kKnobTypeSetting
kKnobTypeMilliseconds
kKnobTypePercentage
kKnobTypeHertz
kKnobTypeButton
knobIDA knob ID or index. A nonzero value in the high byte indicates that it is an ID. The knob index ranges from 1 to the number of knobs; the ID is an arbitrary number. Use the knob ID to refer to the knob in preference to the knob index, which may change.
MusicGetDrumKnobDescriptionMusicGetInstrumentKnobDescriptionMusicGetKnobDescription QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef ComponentInstance MusicComponent;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef SInt32 MusicController;
QuickTimeMusic.h
Describes MIDI data passed by note allocation calls.
struct MusicMIDIPacket {
unsigned short length;
unsigned long reserved;
UInt8 data[249];
};
lengthThe length of the data in the packet.
reservedContains 0, or one of the music packet status constants (see below). See these constants:
kMusicPacketPortLost
kMusicPacketPortFound
kMusicPacketTimeGap
dataMIDI data.
MusicDerivedMIDISendMusicMIDIReadHookProcMusicMIDISendProcMusicSendMIDINASendMIDIQTMIDISendMIDI QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef STACK_UPP_TYPE(MusicMIDISendProcPtr) MusicMIDISendUPP;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef STACK_UPP_TYPE(MusicOfflineDataProcPtr) MusicOfflineDataUPP;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef ComponentInstance NoteAllocator;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef struct OpaqueNoteChannel * NoteChannel;
QuickTimeMusic.h
Provides complete information for allocating a note channel.
struct NoteRequest {
NoteRequestInfo info;
ToneDescription tone;
};
NAGetNoteRequestNANewNoteChannel QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef ComponentInstance QTMIDIComponent;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef QTMIDIPortListPtr * QTMIDIPortListHandle;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef QTMIDIPortList * QTMIDIPortListPtr;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef unsigned char Str31;
IOMacOSTypes.h
Describes how a MIDI device is connected to the user's computer.
struct SynthesizerConnections {
OSType clientID;
OSType inputPortID;
OSType outputPortID;
long midiChannel;
long flags;
long unique;
long reserved1;
long reserved2;
};
clientIDThe client ID provided by the MIDI Manager, or 'OMS ' for an OMS port.
inputPortIDThe ID provided by the MIDI Manager or OMS for the port used to SEND to the MIDI synthesizer.
outputPortIDThe ID provided by the MIDI Manager or OMS for the port that RECEIVES from a keyboard or other control device.
midiChannelThe system MIDI channel or, for a hardware device, the slot number.
flagsConstants (see below) that provide information about the type of connection. See these constants:
uniqueA unique ID you can use instead of an index to identify the synthesizer to the note allocator.
reserved1Reserved. Set to 0.
reserved2Reserved. Set to 0.
NAGetRegisteredMusicDeviceNARegisterMusicDevice QuickTimeMusic.h
Contains information about a synthesizer.
struct SynthesizerDescription {
OSType synthesizerType;
Str31 name;
unsigned long flags;
unsigned long voiceCount;
unsigned long partCount;
unsigned long instrumentCount;
unsigned long modifiableInstrumentCount;
unsigned long channelMask;
unsigned long drumPartCount;
unsigned long drumCount;
unsigned long modifiableDrumCount;
unsigned long drumChannelMask;
unsigned long outputCount;
unsigned long latency;
unsigned long controllers[4];
unsigned long gmInstruments[4];
unsigned long gmDrums[4];
};
synthesizerTypeThe synthesizer type. This is the same as the music component subtype.
nameText name of the synthesizer type.
flagsConstants (see below) that provide information about how the synthesizer works. See these constants:
kSynthesizerDynamicVoice
kSynthesizerUsesMIDIPort
kSynthesizerMicrotone
kSynthesizerHasSamples
kSynthesizerMixedDrums
kSynthesizerSoftware
kSynthesizerHardware
kSynthesizerDynamicChannel
kSynthesizerHogsSystemChannel
kSynthesizerSlowSetPart
kSynthesizerOffline
kSynthesizerGM
voiceCountMaximum polyphony.
partCountMaximum multi-timbrality (and MIDI channels).
instrumentCountThe number of built-in ROM instruments. This does not include General MIDI instruments.
modifiableInstrumentCountThe number of slots available for saving user-modified instruments.
channelMaskWhich channels a MIDI device always uses for instruments. Set to 0xFFFF for all channels.
drumPartCountThe maximum multi-timbrality of drum parts. For synthesizers where drum kits are separated from instruments.
drumCountThe number of built-in ROM drum kits. This does not include General MIDI drum kits. For synthesizers where drum kits are separated from instruments.
modifiableDrumCountThe number of slots available for saving user-modified drum kits. For MIDI synthesizers where drum kits are separated from instruments.
drumChannelMaskWhich channels a MIDI device always uses for drum kits. Set to FFFF for all channels.
outputCountThe number of audio outputs. This is usually 2.
latencyThe response time in microseconds.
controllersAn array of 128 bits identifying the available controllers; see Music Controllers. Bits are numbered from 1 to 128, starting with the most significant bit of the long word and continuing to the least significant of the last bit.
gmInstrumentsAn array of 128 bits giving the available General MIDI instruments.
gmDrumsAn array of 128 bits giving the available General MIDI drum kits.
MusicGetDescription QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef STACK_UPP_TYPE(TuneCallBackProcPtr) TuneCallBackUPP;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef STACK_UPP_TYPE(TunePlayCallBackProcPtr) TunePlayCallBackUPP;
QuickTimeMusic.h
Represents a type used by the Music Architecture API.
typedef ComponentInstance TunePlayer;
QuickTimeMusic.h
Provides information on the currently playing tune.
struct TuneStatus {
unsigned long * tune;
unsigned long * tunePtr;
TimeValue time;
short queueCount;
short queueSpots;
TimeValue queueTime;
long reserved[3];
};
tuneThe currently playing tune.
tunePtrCurrent position within the playing tune.
timeCurrent tune time.
queueCountNumber of tunes queued up.
queueSpotsNumber of tunes that can be added to the queue.
queueTimeTotal amount of playing time represented by tunes in the queue. This value can be very inaccurate.
reservedReserved; set to 0.
TuneGetStatus QuickTimeMusic.h
Constants that represent generic music types.
enum {
kGenericMusicComponentSubtype = 'gene'
};
enum {
kGenericMusicDoMIDI = 1 << 0, /* implement normal MIDI messages for note,
controllers,
and program changes 0-127 */
kGenericMusicBank0 = 1 << 1, /* implement instrument bank changes on controller 0 */
kGenericMusicBank32 = 1 << 2, /* implement instrument bank changes on controller 32 */
kGenericMusicErsatzMIDI = 1 << 3, /* construct MIDI packets,
but send them to the derived component */
kGenericMusicCallKnobs = 1 << 4, /* call the derived component with special knob format call */
kGenericMusicCallParts = 1 << 5, /* call the derived component with special part format call */
kGenericMusicCallInstrument = 1 << 6, /* call MusicDerivedSetInstrument for MusicSetInstrument calls */
kGenericMusicCallNumber = 1 << 7, /* call MusicDerivedSetPartInstrumentNumber for MusicSetPartInstrumentNumber calls,
& don't send any C0 or bank stuff */
kGenericMusicCallROMInstrument = 1 << 8, /* call MusicSetInstrument for MusicSetPartInstrumentNumber for "ROM" instruments,
passing params from the ROMi resource */
kGenericMusicAllDefaults = 1 << 9 /* indicates that when a new instrument is recalled,
all knobs are reset to DEFAULT settings. True for GS modules */
};
enum {
kGenericMusicKnob = 1,
kGenericMusicInstrumentKnob = 2,
kGenericMusicDrumKnob = 3,
kGenericMusicGlobalController = 4
};
enum {
kGenericMusicMiscLongFirst = 0,
kGenericMusicMiscLongVoiceCount = 1,
kGenericMusicMiscLongPartCount = 2,
kGenericMusicMiscLongModifiableInstrumentCount = 3,
kGenericMusicMiscLongChannelMask = 4,
kGenericMusicMiscLongDrumPartCount = 5,
kGenericMusicMiscLongModifiableDrumCount = 6,
kGenericMusicMiscLongDrumChannelMask = 7,
kGenericMusicMiscLongOutputCount = 8,
kGenericMusicMiscLongLatency = 9,
kGenericMusicMiscLongFlags = 10,
kGenericMusicMiscLongFirstGMHW = 11, /* number to add to locate GM main instruments */
kGenericMusicMiscLongFirstGMDrumHW = 12, /* number to add to locate GM drumkits */
kGenericMusicMiscLongFirstUserHW = 13, /* First hw number of user instruments (presumed sequential) */
kGenericMusicMiscLongLast = 14
};
enum {
kGenericMusicResFirst = 0,
kGenericMusicResMiscStringList = 1, /* STR# 1: synth name,
2:about author,
3:aboutcopyright,
4:aboutother */
kGenericMusicResMiscLongList = 2, /* Long various params,
see list below */
kGenericMusicResInstrumentList = 3, /* NmLs of names and shorts,
categories prefixed by two bullet characters */
kGenericMusicResDrumList = 4, /* NmLs of names and shorts */
kGenericMusicResInstrumentKnobDescriptionList = 5, /* Knob */
kGenericMusicResDrumKnobDescriptionList = 6, /* Knob */
kGenericMusicResKnobDescriptionList = 7, /* Knob */
kGenericMusicResBitsLongList = 8, /* Long back to back bitmaps of controllers,
gminstruments,
and drums */
kGenericMusicResModifiableInstrumentHW = 9, /* Shrt same as the hw shorts trailing the instrument names,
a shortlist */
kGenericMusicResGMTranslation = 10, /* Long 128 long entries,
1 for each gm inst,
of local instrument numbers 1-n (not hw numbers) */
kGenericMusicResROMInstrumentData = 11, /* knob lists for ROM instruments,
so the knob values may be known */
kGenericMusicResAboutPICT = 12, /* picture for aboutlist. must be present for GetAbout call to work */
kGenericMusicResLast = 13
};
enum {
kMusicGenericRange = 0x0100,
kMusicDerivedRange = 0x0200
};
kGenericMusicAllDefaultsIndicates that when a new instrument is recalled, all knobs are reset to DEFAULT settings. True for GS modules.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicDrumKnobValue is 3.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicMiscLongFirstGMHWNumber to add to locate GM main instruments.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicMiscLongFirstGMDrumHWNumber to add to locate GM drumkits.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicMiscLongFirstUserHWFirst HW number of user instruments (presumed sequential).
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResMiscStringListSTR# 1: synth name, 2:about author,3:aboutcopyright,4:aboutother.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResMiscLongListLong various params, see list below.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResInstrumentListNmLs of names and shorts, categories prefixed by two bullet characters.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResDrumListNmLs of names and shorts.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResInstrumentKnobDescriptionListKnob.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResDrumKnobDescriptionListKnob.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResKnobDescriptionListKnob.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResBitsLongListLong back to back bitmaps of controllers, gminstruments, and drums.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResModifiableInstrumentHWShort same as the HW shorts trailing the instrument names, a short list.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResGMTranslationLong 128 long entries, 1 for each gm instrument, of local instrument numbers 1-n (not HW numbers).
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResROMInstrumentDataKnob lists for ROM instruments, so the knob values may be known.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kGenericMusicResAboutPICTPicture for about list. Must be present for GetAbout call to work.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
QuickTimeMusic.h
Constants passed to MusicSetPartAtomicInstrument.
enum {
kGetAtomicInstNoExpandedSamples = 1 << 0,
kGetAtomicInstNoOriginalSamples = 1 << 1,
kGetAtomicInstNoSamples = kGetAtomicInstNoExpandedSamples | kGetAtomicInstNoOriginalSamples,
kGetAtomicInstNoKnobList = 1 << 2,
kGetAtomicInstNoInstrumentInfo = 1 << 3,
kGetAtomicInstOriginalKnobList = 1 << 4,
kGetAtomicInstAllKnobs = 1 << 5 /* return even those that are set to default*/
};
QuickTimeMusic.h
Constants passed to MusicGetInstrumentInfo.
enum {
kGetInstrumentInfoNoBuiltIn = 1 << 0,
kGetInstrumentInfoMidiUserInst = 1 << 1,
kGetInstrumentInfoNoIText = 1 << 2
};
QuickTimeMusic.h
Constants grouped with kInstrumentMatchGMNumber.
enum {
kInstrumentMatchSynthesizerType = 1,
kInstrumentMatchSynthesizerName = 2,
kInstrumentMatchName = 4,
kInstrumentMatchNumber = 8,
kInstrumentMatchGMNumber = 16,
kInstrumentMatchGSNumber = 32
};
QuickTimeMusic.h
Constants grouped with kKnobBasic.
enum {
kKnobBasic = 8, /* knob shows up in certain simplified lists of knobs */
kKnobReadOnly = 16, /* knob value cannot be changed by user or with a SetKnob call */
kKnobInterruptUnsafe = 32, /* only alter this knob from foreground task time (may access toolbox) */
kKnobKeyrangeOverride = 64, /* knob can be overridden within a single keyrange (software synth only) */
kKnobGroupStart = 128, /* knob is first in some logical group of knobs */
kKnobFixedPoint8 = 1024,
kKnobFixedPoint16 = 2048, /* One of these may be used at a time. */
kKnobTypeNumber = 0 << 12,
kKnobTypeGroupName = 1 << 12, /* "knob" is really a group name for display purposes */
kKnobTypeBoolean = 2 << 12, /* if range is greater than 1,
its a multi-checkbox field */
kKnobTypeNote = 3 << 12, /* knob range is equivalent to MIDI keys */
kKnobTypePan = 4 << 12, /* range goes left/right (lose this? ) */
kKnobTypeInstrument = 5 << 12, /* knob value = reference to another instrument number */
kKnobTypeSetting = 6 << 12, /* knob value is 1 of n different things (eg,
fm algorithms) popup menu */
kKnobTypeMilliseconds = 7 << 12, /* knob is a millisecond time range */
kKnobTypePercentage = 8 << 12, /* knob range is displayed as a Percentage */
kKnobTypeHertz = 9 << 12, /* knob represents frequency */
kKnobTypeButton = 10 << 12 /* momentary trigger push button */
};
kKnobReadOnlyThe knob value cannot be changed by the user or with a set knob call.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobInterruptUnsafeAlter this knob only from foreground task time.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobKeyrangeOverrideThe knob can be overridden within a single key range (software synthesizer only).
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobGroupStartThe knob is first in some logical group of knobs.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobFixedPoint8Interpret knob numbers as fixed-point 8-bit.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobFixedPoint16Interpret knob numbers as fixed-point 16-bit.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeNumberThe knob value is a numerical value.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeGroupNameThe name of the knob is really a group name for display purposes.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeBooleanThe knob is an on/off knob. If the range of the knob (as specified by the low value and high value in the knob description structure) is greater than one, the knob is a multi-checkbox field.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeNoteThe knob value range is equivalent to MIDI keys.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypePanThe knob value is the pan setting and is within a range (as specified by the low value and high value in the knob description structure) that goes from left to right.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeInstrumentThe knob value is a reference to another instrument number.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeSettingThe knob value is one of several different discrete settings; for example, items on a pop-up menu.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeMillisecondsThe knob value is in milliseconds.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypePercentageThe knob value is a percentage of the range.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kKnobTypeHertzThe knob value represents frequency.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
QuickTimeMusic.h
Constants passed to MusicMIDIPacket.
enum {
kMusicPacketPortLost = 1, /* received when application loses the default input port */
kMusicPacketPortFound = 2, /* received when application gets it back out from under someone else's claim */
kMusicPacketTimeGap = 3 /* data[0] = number of milliseconds to keep the MIDI line silent */
};
kMusicPacketPortLostThe application has lost the default input port.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kMusicPacketPortFoundThe application has retrieved the input port from the previous owner.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
QuickTimeMusic.h
Constants grouped with kPickDontMix.
enum {
kPickDontMix = 1, /* dont mix instruments with drum sounds */
kPickSameSynth = 2, /* only allow the same device that went in,
to come out */
kPickUserInsts = 4, /* show user insts in addition to ROM voices */
kPickEditAllowEdit = 8, /* lets user switch over to edit mode */
kPickEditAllowPick = 16, /* lets the user switch over to pick mode */
kPickEditSynthGlobal = 32, /* edit the global knobs of the synth */
kPickEditControllers = 64 /* edit the controllers of the notechannel */
};
QuickTimeMusic.h
Constants grouped with kSetAtomicInstCallerGuarantees.
enum {
kSetAtomicInstKeepOriginalInstrument = 1 << 0,
kSetAtomicInstShareAcrossParts = 1 << 1, /* inst disappears when app goes away*/
kSetAtomicInstCallerTosses = 1 << 2, /* the caller isn't keeping a copy around (for NASetAtomicInstrument)*/
kSetAtomicInstCallerGuarantees = 1 << 3, /* the caller guarantees a copy is around*/
kSetAtomicInstInterruptSafe = 1 << 4, /* dont move memory at this time (but process at next task time)*/
kSetAtomicInstDontPreprocess = 1 << 7 /* perform no further preprocessing because either 1)you know the instrument is digitally clean,
or 2) you got it from a GetPartAtomic*/
};
QuickTimeMusic.h
Constants grouped with kSynthesizerConnectionFMS.
enum {
kSynthesizerConnectionFMS = 1, /* this connection imported from FMS */
kSynthesizerConnectionMMgr = 2, /* this connection imported from the MIDI Mgr */
kSynthesizerConnectionOMS = 4, /* this connection imported from OMS */
kSynthesizerConnectionQT = 8, /* this connection is a QuickTime-only port */
kSynthesizerConnectionOSXMIDI = 16, /* this connection is an OS X CoreMIDI port */
/* lowest five bits are mutually exclusive; combinations reserved for future use.*/
kSynthesizerConnectionUnavailable = 256 /* port exists,
but cannot be used just now */
};
kSynthesizerConnectionFMSThis connection is imported from the FreeMIDI system.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerConnectionMMgrThis connection is imported from the MIDI Manager.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerConnectionOMSThis connection is imported from the Open Music System (OMS).
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerConnectionQTThis connection is a QuickTime-only port.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
QuickTimeMusic.h
Constants grouped with kSynthesizerDLS.
enum {
kSynthesizerDynamicVoice = 1 << 0, /* can assign voices on the fly (else,
polyphony is very important */
kSynthesizerUsesMIDIPort = 1 << 1, /* must be patched through MIDI Manager */
kSynthesizerMicrotone = 1 << 2, /* can play microtonal scales */
kSynthesizerHasSamples = 1 << 3, /* synthesizer has some use for sampled data */
kSynthesizerMixedDrums = 1 << 4, /* any part can play drum parts,
total = instrument parts */
kSynthesizerSoftware = 1 << 5, /* implemented in main CPU software == uses cpu cycles */
kSynthesizerHardware = 1 << 6, /* is a hardware device (such as nubus,
or maybe DSP?) */
kSynthesizerDynamicChannel = 1 << 7, /* can move any part to any channel or disable each part. (else we assume it lives on all channels in masks) */
kSynthesizerHogsSystemChannel = 1 << 8, /* can be channelwise dynamic,
but always responds on its system channel */
kSynthesizerHasSystemChannel = 1 << 9, /* has some "system channel" notion to distinguish it from multiple instances of the same device (GM devices dont) */
kSynthesizerSlowSetPart = 1 << 10, /* SetPart() and SetPartInstrumentNumber() calls do not have rapid response,
may glitch notes */
kSynthesizerOffline = 1 << 12, /* can enter an offline synthesis mode */
kSynthesizerGM = 1 << 14, /* synth is a GM device */
kSynthesizerDLS = 1 << 15, /* synth supports DLS level 1 */
kSynthesizerSoundLocalization = 1 << 16 /* synth supports extremely baroque,
nonstandard,
and proprietary "apple game sprockets" localization parameter set */
};
kSynthesizerDynamicVoiceVoices can be assigned to parts on the fly with this synthesizer (otherwise, polyphony is very important).
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerUsesMIDIPortThis synthesizer must be patched through a MIDI system, such as the MIDI Manager or OMS.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerMicrotoneThis synthesizer can play microtonal scales.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerHasSamplesThis synthesizer has some use for sampled audio data.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerMixedDrumsAny part of this synthesizer can play drum parts.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerSoftwareThis synthesizer is implemented in main CPU software and uses CPU cycles.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerHardwareThis synthesizer is a hardware device, not a software synthesizer or MIDI device.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerDynamicChannelThis synthesizer can move any part to any channel or disable each part. For devices only.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerHogsSystemChannelEven if the kSynthesizerDynamicChannel bit is set, this synthesizer always responds on its system channel. For MIDI devices only.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerSlowSetPartThis synthesizer does not respond rapidly to the various set part and set part instrument calls.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerOfflineThis synthesizer can enter an offline synthesis mode.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
kSynthesizerGMThis synthesizer is a General MIDI device.
Available in Mac OS X v10.0 and later.
Declared in QuickTimeMusic.h.
QuickTimeMusic.h
Constants passed to TuneSetPartMix.
enum {
kTuneMixMute = 1, /* disable a part */
kTuneMixSolo = 2 /* if any parts soloed,
play only soloed parts */
};
QuickTimeMusic.h
Constants grouped with kTuneDontClipNotes.
enum {
kTuneStartNow = 1, /* start after buffer is implied */
kTuneDontClipNotes = 2, /* allow notes to finish their durations outside sample */
kTuneExcludeEdgeNotes = 4, /* dont play notes that start at end of tune */
kTuneQuickStart = 8, /* Leave all the controllers where they are,
ignore start time */
kTuneLoopUntil = 16, /* loop a queued tune if there's nothing else in the queue*/
kTunePlayDifference = 32, /* by default,
the tune difference is skipped*/
kTunePlayConcurrent = 64, /* dont block the next tune sequence with this one*/
kTuneStartNewMaster = 16384
};
QuickTimeMusic.h
© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-05-23)