Re: Again, Routing Midi Signal from Quicktime through CoreMidi
Re: Again, Routing Midi Signal from Quicktime through CoreMidi
- Subject: Re: Again, Routing Midi Signal from Quicktime through CoreMidi
- From: Edwin Vane <email@hidden>
- Date: Tue, 27 Sep 2005 16:27:22 -0400
- Mail-followup-to: email@hidden, email@hidden
Hi,
I do something similar. My motivation was to synchronize MIDI to video.
QuickTime seemed like a good choice at first with QTMA providing MIDI
support and QuickTime being a synchronization engine. However QTMA is
rather broken in that it is really laggy (about 100ms slow on average).
Trying to synch a QTMA track to video didn't seem to be possible. A
friend pointed out that QTMA was deprecated and so I began looking for
alternatives.
I ended up writing a derived media handler to handle my own custom
media. My custom media is made up of very MIDI-like data so there's no
need to convert from QTMA codes to MIDI. My derived media handler opens
an AUGraph that contains a MusicDevice that accepts the MIDI data. The
benefit of this system is the latency is so low as to be unnoticeable (as a
vew simple user experiments showed). I do have a bit of a problem when
the graph is first created and started (profiling has shown this to take
anywhere from .2s to .8s). Also, since the idling interval in QuickTime
is not constant (hovers arond 20ms generally), sometimes musical events
seem to be a bit uneven.
In theory, the AUGraph could be made to do anything CoreAudio can do.
You could even replace the graph with CoreMIDI calls to send pure events
to other devices etc.
As the documentation on writing media handlers is pretty sparse and my
media handler just satisfies the requirements for my thesis, the
component is probably not the best. However, I'd be more than happy
to provide more details offline to anybody who cares.
On Tue, Sep 27, 2005 at 02:58:39PM -0400, Jim Nevin wrote:
> This topic has been discussed here several times in the past, but
> never to any final resolution or real satisfaction.
>
> Simply, is there now a way, under OS X Tiger with Quicktime 7, to get
> a Midi signal generated by a Music track contained in a Quicktime
> movie to route externally to other Midi enabled applications or
> devices? Even better, does someone have an actual working example?
>
> I have experimented with the wonderful AULab developer application
> under Tiger in combination with Audio/Midi Setup. AULab recognizes
> the DLSSynth AU Instrument Unit that we are told is used by Quicktime
> 7. But AULab does not recognize the Quicktime 7 application as a
> Midi Source, nor of course, does Audio/Midi Setup.
>
> If custom CoreAudio code can do the trick, a working example that
> uses a Quicktime movie as a Midi source would be extremely valuable.
> There are lots of us folks out here who need to do what was once
> possible (under Classic with older versions of Quicktime) -- embed a
> Midi track in a Quicktime movie, and when playing the movie, route
> the generated Midi signal to other Midi applications and/or devices.
>
> Thanks! -- Jim
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
--
Edwin Vane
MMath Candidate
Computer Graphics Lab
School of Computer Science
University of Waterloo
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden