| 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.