RE: any AudioUnit instruments supporting kMusicDeviceProperty_MIDIXMLNames
RE: any AudioUnit instruments supporting kMusicDeviceProperty_MIDIXMLNames
- Subject: RE: any AudioUnit instruments supporting kMusicDeviceProperty_MIDIXMLNames
- From: "Cianflone, Chris" <email@hidden>
- Date: Mon, 04 Jul 2011 03:00:39 -0500
- Acceptlanguage: en-US
- Thread-topic: any AudioUnit instruments supporting kMusicDeviceProperty_MIDIXMLNames
Hi Paul,
Thanks for the response.
<<the convention (such as there are any "conventions") involves the MIDNAM file format>>
<<it is far more portable to provide a MIDNAM file for a plugin than to use something like kMusicDeviceProperty_MIDIXMLNames>>
Yes, I was aware of that, but now as I look at the documentation for kMusicDeviceProperty_MIDIXMLNames in AudioUnitProperties.h I am not sure if that is made very clear there. I would think the word "midnam" should at least appear there :)
While I can't find any comments in our source where I found this out, I hooked up kMusicDeviceProperty_MIDIXMLNames assuming that it was a CFURLRef to the midnam file to be used for the given AU instrument. At the time we first added support (around 2005? can't remember it has been a while) we only added support for one of our internal AudioUnit instruments, but it did work in Digital Performer at that time (the patches for our AudioUnit, which had no UI, would show up in the DP's patch lists). For some reason it doesn't appear to be working in the latest Digital Performer (7.23).
I was actually thinking that it is more convenient for the user if the AudioUnit instrument auto-generated its midnam file, since it knows what its capabilities are, what its patches are, etc., and this kMusicDeviceProperty_MIDIXMLNames property would simply tell the host where to find the midnam file. (In fact, if I remember some of the discussion on the MMAs XML-WG many years ago, there was some discussion that hardware MIDI could provide this data via a midnam file. Don't remember any of the details now. Perhaps the file would have been sent via sysex? Did any hardware synths actually ever do this?) Not doing this requires the user to hunt down the appropriate midnam files. I can live with that if no one is supporting kMusicDeviceProperty_MIDIXMLNames, but that brings up some more questions: On the hardware MIDI side, we auto-find the appropriate midnam files based on manufacturer/model (actually I think we first look for kMIDIPropertyNameConfiguration). For the software MIDI side (the AudioUnits), I suppose we could continue to do this by matching on manufacturer/model where model is the plugin name.
I assume we would use the names as described here (http://destroyfx.smartelectronix.com/dfx-au-utilities.html#plugin_name_and_manufacturer_name):
Audio Unit Component names are formatted in this certain way: "Manufacturer Name: Plugin Name".
<<this is supported by Protools, Cubase and even Ardour.>>
Add Finale and Digital Performer to that list.
<<Further, in 2008, bill stewart @ apple said>>
That was actually what I was referring to when I said "discussion about this in the past on this list about this not being very useful".
Thanks and off to take a look at Ardour :)
Chris
________________________________________
From: Paul Davis [email@hidden]
Sent: Sunday, July 03, 2011 3:14 PM
To: Cianflone, Chris
Cc: email@hidden
Subject: Re: any AudioUnit instruments supporting kMusicDeviceProperty_MIDIXMLNames
On Sun, Jul 3, 2011 at 3:59 PM, Cianflone, Chris
<email@hidden> wrote:
> Hi all,
>
> I was wondering if there were any of you virtual instrument developers out there that have supported kMusicDeviceProperty_MIDIXMLNames? While I know that there has been some discussion about this in the past on this list about this not being very useful, I think there are many cases where this still could be useful. A couple of uses that come to mind are being able to provide a unified approach to selecting "patches" in a host application and also being able to get note names and controller names to use in a host UI.
the convention (such as there are any "conventions") involves the
MIDNAM file format. this is supported by Protools, Cubase and even
Ardour.
the host loads the MIDNAM file to discover the name <-> program+bank
mapping (and more) MIDNAM is (amazingly) an XML format. it is far more
portable to provide a MIDNAM file for a plugin than to use something
like kMusicDeviceProperty_MIDIXMLNames
Further, in 2008, bill stewart @ apple said:
-------------------------------
2/ what is exactly kMusicDeviceProperty_MIDIXMLNames and how does it work?
MIDI XML is a MIDI.org specification for using an XML file to express
the capabilities of a MIDI device (such things as patch names, drum
key assignments, etc). We had at some point the notion of having AU's
with sample/patch banks use this spec as a means of informing hosts
what they had. However, the custom view for an AU really obviates the
need for this, and we've not explored a generic view for this kind of
au. So, there doesn't seem to be a need for this at this point.
-----------------------------------
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden