[gmpi] Re: Topic 6: Time representation

  • From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 2 May 2003 12:12:21 -0700

On Fri, 2 May 2003, Chris Grigg wrote:

 That has real simplicity advantages over the host passing a MUSTIME
 context ID, esp. if every pin has its own event queue.

That's exactly how I saw it working. Event-processing plugins that don't mess around with tempo or time will just pass events on to downstream plugs.

The only complication is in developing merger filters, they will have to
allow (the user?) to select which inbound port's time context to honor.

 You'd probably want to know which MUSTIME
 context  a given note, for example, belongs to.  I suppose musical
 events in the same MUSTIME context could even go to the same
 pin/queue as the MUSTIME tempo, meter, bar/beat/etc. events...

Yes... by and large I see MUSTIMEs running on the same type of event port (of which a plug will normally only have one, but may have more) as note (and maybe parameter... see below) data.

One other thing I'd like to bring up, although I'm not 100% sure it's on
topic there has been much discussion of parameter ramps and automation...

Consider the following simple scenario:-

Host -> Midi..Midi processing plug -> Midi..Audio processing plug

We're agreed, I think, that note events and musical time events flow
downstream in the graph. But what about parameter automation events?

They could be said to belong in a time context, and in general be "like"
note and other musical events. However, if they are to flow downstream in
the same way, each plug must have a unique target-ID, such that it can
identify parameter messages intended for it. In the above case, the MIDI
processing plug needs to be able to ignore parameter events for the audio
plug sitting downstream.

The other option is to provide a seperate class of port (event queue) for
parameter events.

What does everyone think?

Regards,
        Angus.


I had a different vision, I thought that each plug would have the option of whether or not to pass-through incoming events to its output pins. So if you have a seq track and wanted the notes to go to multiple synths, you'd patch a line from the track music event out pin to the 1st synth's music event in pin, and a second line from the same place to the 2nd synth's music event in pin.

This is also consistent with the one-queue-per-pin idea in the other thread with Tim.

-- Chris

----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: