Re: AudioMIDI Setup endpoint names
Re: AudioMIDI Setup endpoint names
- Subject: Re: AudioMIDI Setup endpoint names
- From: Luke Bellandi <email@hidden>
- Date: Fri, 12 Dec 2003 10:24:41 -0800
Bruce & Pete,
That's right, we're now fleshing out External devices in Panther. In
Jaguar, AudioMIDISetup (AMS) connected endpoints of MIDI Interfaces
directly to the External devices (so the endpoints on AMS's external
devices in Jaguar were not really endpoints.)
However, in Panther, external devices support the full
Device->Entity->Endpoint structure, and modification thereof thanks to
the handy "Ports" panel in the MIDI Device inspector window. Of
course, we use "Port" for Entity and "Connector" for Endpoint in the UI
language.
With the new structure, your interface endpoints will now connect to
external device endpoints instead of external devices. With AMS in
Panther you can name your devices and entities, though the endpoint
names remain NULL.
You'll need to traverse the device a bit to get a useful string now
(i.e., from the owning entity and/or device.)
While we're on the topic of Jaguar->Panther AMS changes... Just for
everyone's information... Panther irreversibly updates all of your
MIDI configurations as they are loaded into AMS (i.e., as you make them
'current' in the MIDI Devices panel.)
1) It fleshes out all external devices to have 1 entity with 1 source
and 1 destination endpoint.
2) It breaks all connections from interface endpoints to external
devices, and recreates them, connecting them from the interface
endpoint to the appropriate newly-created equivalent external device
endpoint. (still with me? that was an ugly sentence.)
So, taking your MIDI Config from Jaguar->Panther will update it
invisibly. However, if for some reason you try to take a
Panther-updated config back to Jaguar, you'll notice that no
connections appear in the UI. They haven't disappeared, but Jaguar's
AMS only knows how to connect interface endpoints to external devices.
Opening that same config back in Panther will show your connections
again.
I'd be interested to hear (off-list) from people who use MIDIConfigs
and who have upgraded from Jaguar to Panther. Did you do an upgrade
install and preserve your configs, or re-create them from scratch? Do
you work on both Jaguar and Panther? Did this Jaguar->Panther
invisible update cause any grief for you, and if so what sort of
trouble?
Best,
Luke
On Dec 11, 2003, at 10:28 PM, Pete Yandell wrote:
Under Panther:
result = MIDIObjectFindByUniqueID (externalID,
&externalDevice, &deviceType);
result = MIDIObjectGetStringProperty (externalDevice,
kMIDIPropertyName, &externalName);
doesn't always give you a valid result even though the system has
handed you the unique ID that you're using. The simple workaround is
to test the result here and only do:
CFArrayAppendValue(names,externalName);
CFRelease (externalName);
if the result as valid.
The longer answer involves the fact that external devices now have
entities, and names are buried somewhere in there. I haven't yet gone
through and worked it all out.
Pete Yandell
http://pete.yandell.com/
_______________________________________________
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.
_______________________________________________
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.