• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Real-time play/mute/stop MIDI sequences?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Prev by Date: Re: [NEWBIE] Starting...
  • Next by Date: Re: Q: Setting the size of an AudioUnit buffer?
  • Previous by thread: Re: AUCarbonViewControl bug?
  • Next by thread: Problems using AudioOutputUnit
  • Index(es):
    • Date
    • Thread