[openbeos-midi] Re: Initial Checkin

  • From: Michael Pfeiffer <michael.pfeiffer@xxxxxxxxx>
  • To: openbeos-midi@xxxxxxxxxxxxx
  • Date: Mon, 22 Apr 2002 13:39:20 +0200

Hello Paul,

I just want to point out that the Be implementation of BMidi uses
a different technique to invoke the callback functions from 
the spray functions (see BeBook, BMidi, Running Ahead of Time).

Every BMidi object creates an incoming thread in its constructor.
This thread waits on the port for an incoming message and
calls the corresponding callback function.

The Spray functions send data to the port of the incoming threads.

This way the spray function has not to wait until the callback
function returns. It only blocks if the incomding thread has not
received the data in the port.

Second, I think BMidiStore is not responsible for synchronisation
(does not call SnoozeUntil). This has to be done in the callback
functions of a BMidi object that is connected to BMidiStore,
if it is required.


Other related posts: