Re: CoreMIDI SysEx & MIDIMonitor
Re: CoreMIDI SysEx & MIDIMonitor
- Subject: Re: CoreMIDI SysEx & MIDIMonitor
- From: "David A. Hoatson" <email@hidden>
- Date: Thu, 31 Aug 2006 08:27:33 -0700
- Organization: Lynx Studio Technology, Inc.
Wow, that was it! I did a sleep(1) right after MIDIPortConnectSource() -
which I'm guessing allows the thread to startup - and now it works. Thank
you! I'm also guessing that the background thread was already started when
I launched MIDIMonitor or DP4.5 so that is why it worked without the
sleep(1).
Would be nice if there was some event that you could have fire to let you
know when the thread is done starting so you don't just waste a bunch of
time for no reason. I always hate adding sleep() calls - it seems like
such a hack - and it always leads to unreliable code (what if the 'unknown'
event you are waiting for takes longer for some reason?).
Thank you,
David A. Hoatson
----- Original Message -----
From: "Herbie Robinson" <email@hidden>
To: <email@hidden>
Sent: Thursday, August 31, 2006 12:57 AM
Subject: Re: CoreMIDI SysEx & MIDIMonitor
>Good call! I didn't think of that. I launched DP4.5 and it did the
>same thing as MIDIMonitor. Just having the app open changed how the
>whole MIDI subsystem worked (or didn't, as the case may be). Man, I
>must be missing something pretty basic here. Something else I need to
>do to make sure the MIDIServer is fully running?
It's possible the "spy" has something to do with it, but I'm kind of
skeptical. It only operates on outgoing MIDI data (usually sent by
applications), not on data that comes into the computer via other MIDI
interfaces. If you're only reading input data and not writing, or MIDI
Monitor isn't running, it shouldn't be doing anything at all. (What
happens if you uncheck everything in the Sources section under "Spy on
output to destinations"?)
Right - I tried unchecking everything and it didn't change the behavior.
When MIDIMonitor is just launched (not even looking at any streams) my
app works correctly.
I assume you are calling MIDIClientCreate...
If this is a command line test program, you might want put in a short
sleep after doing initialization. I had to sleep for a second to get
things to work properly. Most applications are interactive; so, they
aren't affected by this. This is especially true if the drivers need to
sync a time base with the interface.
--
-*****************************************
** http://www.curbside-recording.com/ **
******************************************
_______________________________________________
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
_______________________________________________
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