Real-time play/mute/stop MIDI sequences?
Real-time play/mute/stop MIDI sequences?
- Subject: Real-time play/mute/stop MIDI sequences?
- From: "Tod E. Kurt" <email@hidden>
- Date: Fri, 6 Feb 2004 00:24:01 -0800
Hi,
Short version: I'm trying to do real-time triggering of pre-recorded
MIDI sequences? Any tips?
Longer version: I'm trying to recreate the 'Open mode' functionality of
Dr. T's KCS (anyone remember this?). It was totally unlike any MIDI
sequencer I've seen since. Open-mode KCS was essentially
pattern-based. Each pattern could be any arbitrary string of MIDI data
and the revolutionary thing was that each pattern was assigned a key on
the computer keyboard. Press a key, the pattern starts playing,
looping forever. Press it again, the pattern stops. Shift-press to
mute/unmute the pattern. The really cool thing was that these patterns
could contain not just MIDI events but events for triggering other
patterns. And those "meta-patterns" could in turn be triggered from
"meta-meta-patterns" and so on. KCS didn't distinquish or care, but
you could do trigger it all in real-time (or 'align'ed to a measure)
I'm stuck on how to accomplish the MIDI sequence triggering. Imagine a
list of pre-recorded MIDI sequences and on a moments notice from a UI,
an arbitrary one of those sequences is started playing. An arbitrary
time later that sequence may be stopped.
At first I started looking at simply sending MIDIPacketLists of the
full pattern on keypress, but I couldn't find a way to mute or stop a
list after MIDISend(). Then I discovered the functions in
MusicPlayer.h but I encountered some large latencies (>1sec) when
calling MusicPlayerPreroll() / MusicPlayerStart() to start a pattern
going. Then I tried writing my own scheduler, which worked but sucked
up too much CPU that it was worthless.
So, I'm out of ideas or don't understand CoreMIDI/Audio very well.
Anyone have any pointers?
Thanks,
-=tod
---
Tod E. Kurt
email@hidden
http://todbot.com/
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.