[directmusic] Sequencer

  • From: "Richard E. Grant" <mailing_lists@xxxxxxxxxx>
  • To: directmusic@xxxxxxxxxxxxx
  • Date: Mon, 10 Feb 2003 20:20:28 -0500

I have written a sequencer that runs on 9x using the multimedia API and 
timer (timeSetEvent etc...), it thunks to a 16 bit dll where all the 
timer/sequencer code resides. Flat thunking isn't allowed on NT/2000/XP so 
this method doesn't work there. I made a version of my sequencer dll that 
doesn't use thunking, it uses the 32 bit multimedia timer. It works on XP, 
but it's not stable. For example, I can make playback slow down by resizing 
windows.

So, maybe Directmusic is the answer? I haven't looked into it much yet but 
it looks like it has a bunch of high level stuff that's of little or no use 
to me. I need low level control, the ability to (potentially) send messages 
to the main app based on current time, as well as certain types of MIDI 
events. In other words I potentially need to do something custom on every 
MIDI event and/or every MIDI clock. Setting up a stream of MIDI events and 
handing them off to be played is not enough control for my purposes.

Is Directmusic the way to go here, and if so, where is a good place to 
start documentation and sample code wise?

Or, is there some other way? If I could just get a stable timer everything 
would be solved (all the other code is already written). It works fine on 
win9x. Hopefully I'm just missing something obvious...

And a question for the future, what's the best way to go to have digital 
audio as well and have the audio and MIDI play back in sync? I've done a 
little bit of streaming audio with DirectX and it was pretty straight 
forward, but I'm not sure how to get MIDI integrated with that process.

Richard 

Other related posts: