Re: New MusicDevice and PrepareInstrument
Re: New MusicDevice and PrepareInstrument
- Subject: Re: New MusicDevice and PrepareInstrument
- From: Bill Stewart <email@hidden>
- Date: Sun, 15 Jun 2003 13:08:36 -0700
Urs
Apple's DLS Synth works in Logic...
The MusicDevice API and MIDI API are NOT an exclusive or...
For our synth, all that the MIDI api calls do is parse the MIDI data
into a "what do we do with this" type of call, then all of the
internals of the synth are expressed in terms of the extended
note/control semantics - thus a user can use both sets of APIs to talk
to the synth and get the behaviour they would expect...
It actually works quite nicely - you think of MIDI channels as groups -
then your MIDI channel calls essentially establish state on a group
(just as they do in MIDI)... Then your note on (StartNote or MIDI)
messages are just starting a particular note on the established
(default or otherwise) control state of a group...
QuickTime's API from QTMA actually internally uses the extended
semantics as it always had the ability to have notes with fractional
pitches (and some QTMA clients were even using this with gamelan and
other non-Equal tempered scaled music)
Bill
On Sunday, June 15, 2003, at 01:26 AM, Airy Andri wrote:
Le dimanche, 15 juin 2003, ` 02:35 Europe/Paris, Urs Heckmann a icrit :
and it's coming along nicely, however because of what it's doing
(it's actually glue to another sound generator rather than an
independent AU) it seems to fit the Instrument model rather than the
Preset model. In other words I've got a number of rather large
backends from which to choose and they each need to be warmed up
before anything happens.
My questions are: If I release a MusicDevice AU with Instruments
will any hosts (other than my own - and even Rax doesn't grok it
right now) actually be able to use it? Or should I switch to a "no
presets or instruments mode" and handle it all through custom
properties and a custom UI?
Thoughts?
Well, I see that we have some stuff that isn't supported widely nor
really established within our thinking. The instrument paradigm is
still far away from my understanding, as well as the bus stuff isn't
exactly known how to handle.
For the current situation (uh, I get political here...), while we
can't afford the luxury of saying "okay they won't buy it, because it
doesn't run, but what gives, I do it the way it should be", I would
pragmatically recommend sticking to what runs (uhm, former VST people
have an advantage here...).
I have no idea what you do, but given that there are modular systems
running halfways neatly (one isn't really modular, the other ones
crash occasionally), there are quite simple solutions, even with
parameters and presets. IIRC Airy's STK thing switches instruments as
a parameter. In my own designs, I simply switch synthesis techniques
by parameter and keep the stuff that's overall common the same.
Yes, AUStk uses a parameter to define instruments.
But mainly because, as far as a now, no host can use the MusicDevice
API.
I've started to code my first AU by coding only the MusicDevice API,
not the MIDIBase one and, suprise, no sound in Logic.
So, I've decided to learn writing AU by writing code I could test :-)
For current hosts, MusicDevices are nothing more than AudioEffects
without input channels.
Any other host writer here ?
Airy
_______________________________________________
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.
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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.