confused about MusicDevice API
confused about MusicDevice API
- Subject: confused about MusicDevice API
- From: Marc Poirier <email@hidden>
- Date: Mon, 16 Jun 2003 12:48:37 -0500 (CDT)
I'm just starting to dig into the MusicDevice API, and so far I am
confused about a bunch of stuff.
First of all, I can't tell whether or not it is required to handle the
PrepareInstrument, ReleaseInstrument, StartNote, and StopNote selectors.
Given that the methods for handling these in MusicDeviceBase are pure
virtual, it seems like it might be the case that handling them is
required, but I can't find anything saying that in the docs.
The thing is that my current task is to wrap an internal plugin format
with MusicDevice. The internal format doesn't have anything like
PrepareInstrument or Start/StopNote or anything like that, so if I can
safely ignore that stuff, I will. Otherwise I need to do some
translations.
The other main thing that I'm confused about is what is required to handle
MIDI events. I see 3 (seemingly largely redundant) ways for sending MIDI
events to a MusicDevice: SetParameter with Group scope,
MusicDeviceMIDIEvent, and Start/StopNote. Currently I am handling
MusicDeviceMIDIEvent (overriding HandleMidiEvent from AUMIDIBase) and
passing the raw MIDI along to the internal plugin (since that plugin only
deals with raw MIDI). Is this sufficient? Or do I need to also handle
parameter events in the Group scope and translate those to raw MIDI, and
also handle StartNote and StopNote and translate those to raw MIDI as
well?
And do I need to handle the kMusicDeviceProperty_InstrumentCount and
kMusicDeviceProperty_InstrumentName properties even if the plugin doesn't
have any, or does it need to have at least 1 instrument, or what?
Thanks,
Marc
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.