[gmpi] Re: R: Re: Topic 4: Host Interface

  • From: Marc Poirier <marc@xxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 1 Apr 2003 20:27:47 +0200 (CEST)

> > > Well, plugins should be rendering all the time, anyway, right?
> > 
> > No.  Why do you say that?  Maybe you are a more efficient musician than 
> > me, though, you never stop recording or playing back audio...  ;)
> 
> Maybe you don't do 'fiddling', like I do.  I sit in front of the stopped
> sequencer and play notes on my MIDI keyboard into VSTi plugins.  I set up
> effects and I audition patches and tweaks.  Transport is not running.  Time
> is.  Plugins are.

No, I do fiddle.  :)  But that's not the only way for a host to function, 
and plenty of hosts don't function that way.  Or for example, let's look 
at Logic:  Buses and auxes and master outs are always rendering.  Live 
audio inputs are always rendering.  Non-live audio tracks only render 
during playback.  If an virtual instrument track is currently selected, it 
will always be rendering, thus allowing you to fiddle.  All other virtual 
instrument tracks only render during playback.  Anyway, that's an example 
of a mixed environment.  Some other hosts do only one, or only the other, 
or a mix.

So I totally understand what you're describing, and we definitely see that 
in hosts, and it's great and we want that, but we also already know that 
we have to deal with other behavior where rendering doesn't occur 
constantly.  It's not only offline hosts that we have to consider, 
realtime hosts that stop streams when there's no transport activity are 
very common, too.

> > > But that aside:  load_preset, plugin->process(0 frames).  All events get 
> > > handled immediately.
> > 
> > Ewww, kludgy.  Not to mention that it also precludes doing any events when 
> 
> I don't really see it as kludgy - it follows the definition.  Run all events
> before 'now', then process frames until the next event.  Events before 'now'
> get run and the plugin sees no further work.  One API.

Sure, it's allowable and follows the definition, but it's not very nice 
design in my opinion.  It just seems to goofy to require a fake rendering 
run in order to inform other listeners of events.  There are listeners 
that don't have anything to do with rendering, so it doesn't seem that 
they should have to be lassoed by that...

Marc


----------------------------------------------------------------------
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: