Re: [linux-audio-dev] Real time plug ins

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Real time plug ins
From: Benno Senoner (sbenno_AT_gardena.net)
Date: Tue Mar 14 2000 - 12:32:51 EST


On Tue, 14 Mar 2000, James McCartney wrote:

> >
> > Back to the realtime problem:
> >
> > What do you mean with "instantiable in realtime" ?
> >
> > 1) that there is no disruption in the audio stream while adding/removing
> > plugins from the processing chain, but the instantiation may take some time
> > ( 0.1 - 1 sec)
> >
> > OR
> >
> > 2) condition 1) must be meed AND the plugin must start up immediately
> > after the insertion , with virtually NO delay at all.
> >

>
> Both 1 and 2 must hold since patches can be spawned in response to audio
> triggers and do so in a sample accurate manner. SC has its own memory
> management from which all of its unit generators allocate.
> Even in order for condition 1, you need to know the instantaneous values at
> the new ugen's inputs in order to start without popping. This can only be
> done if you can instantiate in the real time stream.
>
>

I see a solution here:

we should introduce the following convention for plugin-instantiation:

there could be two categories of plugins:

1)
the ones whose instantiation functions are not hard-realtime:
these plugin should do instantiation in the low-priority thread

2)

the ones which can instantiate "in realtime", that means
no malloc() / disk I/O etc allowed.

James, If you said that SC has its own memory management, the problem is
basically solved.
Since you simply have to instantiate the plugins in the main DSP loop of the
host.
But if a plugin breaks this rule , then audio dropouts during instantiation
will be unavoidable.

LAD folks, is my solution acceptable ?

Benno.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Mar 14 2000 - 20:32:17 EST