Re: Mutitimbral - A clarification, sort of
Re: Mutitimbral - A clarification, sort of
- Subject: Re: Mutitimbral - A clarification, sort of
- From: Urs Heckmann <email@hidden>
- Date: Wed, 16 Jul 2003 23:15:32 +0200
Chris,
I think this is exactly what I asked for.
For me, it is completely indifferent which entity becomes the Master Of
Parts, if it's not Elements, then it is Groups.
I had thought of Groups (if you read my first mail from Monday, 2nd
section...), but from existing AUBase implementation, i.e.
AUParameterSet, the Element ID jumped right into my eyes, as an
existing concept being passed through with parameter changes.
Regarding realtime parameters at Group Scope, it's not important for me
how these fit into current parameter/state/settings scheme as long as I
can use them like common parameters. I think this should be designed
with care (ok ok), to avoid collisions between Group Presets vs. Global
Presets ( or Single Patches vs. Multi Patches ).
So, if Groups deliver, I'm happy - as well as my customer, I guess.
Hehe, he might have to follow my advice anyway 8-)
One thing regarding Doug's Midi/hardware analogy (hehe, SYSEX on
MidiChannel, funny 8-): Groups should not be aligned to MidiChannel, so
the plugin could serve layered/split sounds, i.e. for live play. The
assignment could be part of the Multi-Patch equivalent of Preset type.
Oh, I haven't gathered experience with the Music Device Instrument
scheme, but I'm also not really scared of it 8-)
Thanks,
;) Urs
Am Mittwoch, 16.07.03, um 21:38 Uhr (Europe/Berlin) schrieb Chris
Rogers:
Urs,
We've been discussing your idea about your "part-based" presets and
think we can make this work according to how you'll want it.
First of all, there's no need to be scared of the
MusicDeviceInstrumentID
idea with multi-timbral MusicDevices such as the DLS synth.
The concept is completely compatible with your idea. The
MusicDeviceInstrumentID
simply encodes a MIDI patch and bank number, so reporting a certain
number
of instruments, simply reports the possible instruments which can be
selected on a particular MIDI channel with patch and bank select
messages.
We strongly encourage multi-timbral softsynth developers to support
the notion of patch, bank, so people can change sounds
in real-time from a controller keyboard (or from a MIDI file with
patch change).
We've also defined this idea of "groups" (with MusicDeviceGroupID
and kAudioUnitScope_Group). We've had these in MusicDevice.h for a
long long time.
If you're just dealing with MIDI, then the MIDI
channel can be considered as the group, but in general the group may
represent many more values than just sixteen. Although it's probably
far from clear, we've always intended there to be real-time parameters
addressable on the "group" scope. So, we've been thinking
about allowing presets to be saved and loaded on the group level.
Doug Wyatt suggests that this is equivalent in the hardware synth
world to simply sending a SYSEX message to assign a particular preset
to the "edit buffer" (which may exist separately for each MIDI channel
in some synths). Then in a hardware synth, whatever is stored in the
"edit buffer" can then be saved off into a particular patch/bank.
The same can be true for groups. Whatever preset is currently assigned
to a group may be saved into a particular patch/bank location.
The global preset for the MusicDevice would save/load the state of all
patches/banks. Doug may have some more clarifications about this.
Urs, how does this sound??
Chris Rogers
Core Audio
Apple Computer
_______________________________________________
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.