[seq24-users] seq24 & OSX
Brought to you by:
rcbuse
|
From: c h. <cal...@ho...> - 2005-05-08 19:52:38
|
I made a bit of a foray into this a few months ago, but got caught up with other things. Here's what I found. The CoreMidi/AudioToolbox classes of most immmediate interest are MIDIEndpointRef, MusicSequence, MusicTrack, MIDINoteMessage, and MusicPlayer (anyone interested should have a look at <AudioToolbox/AudioToolbox.h> and <CoreMIDI/MIDIServices.h>). A Music Player is used to control the playing of a MusicSequence and is associated with at most one Music Sequence (which can also only be associated with one MusicPlayer). MusicSequences are associated with a single MIDIEndpointRef (midi device), and contain MusicTracks, which in turn contain events such as MIDINoteMessages. In a departure from the Seq24 model, midi channel information is associated with events rather than tracks. The analogy between master/midibus and MIDIEndPointRef is also not perfect. Not having programmed with alsa, I'm not sure what an Alsa sequencer client's responsibilities are. I thought it might be more or less equivalent to a MusicPlayer. Therefore, I thought the following Seq24/Alsa:CoreMidi correspondences might provide a starting point: event -> MIDINoteMessage sequence -> MusicTrack perform -> MusicSequence mastermidibus/midibus (?) -> MIDIEndPointRef snd_seq_t* -> MusicPlayer Initially I managed to eliminate all the Alsa dependencies (compiled and ran but didn't do much). Then, as a quick hack, I thought I'd make Seq24 objects wrapper for the corresponding CoreMidi objects. A few other things had to be shifted around to account for the discrepancies between the two models. I've managed to send some midi to my synth, but haven't been too thorough, and really all I have are some rudimentary tinkerings. I'd be interested in helping to port Seq24 as time permits. Cheers, Callum. _________________________________________________________________ Be the first to hear what's new at MSN - sign up to our free newsletters! http://www.msn.co.uk/newsletters |