Hi folks,

Question in the subject might sound odd, but I've got a C system which for various reasons has 2 separate processes A and B, each with its own MIDIClient object.

Client A has a MIDINotifyProc callback, which works fine and receives MIDINotifications.

Client B doesn't run as the main thread in its process (and can't because of the way the system is set up), and so it doesn't have a MIDINotifyProc, because (AFAICT) running outside the main runloop it doesn't (and can't) receive MIDINotifications.

When I add or remove a MIDI device to or from the system, client A's MIDINotifyProc gets called as expected, and client A can see the new source, destination and device lists correctly. However client B doesn't see anything different, even after calling MIDIRestart() (although that causes a MIDINotification to be sent to client A!).

I'm not sure what's happening under the hood, but it seems like client B has some caching or similar behavior. I do need to be able to see changes in client B in order to respond to them though. Can anyone explain, or have any ideas on how to address this?

Thanks very much!

Igor

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to