Re: [linux-audio-dev] XAP spec - early scribbles

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

Subject: Re: [linux-audio-dev] XAP spec - early scribbles
From: Simon Jenkins (sjenkins_AT_blueyonder.co.uk)
Date: Sat Mar 01 2003 - 22:15:42 EET


David Olofson wrote:

>On Saturday 01 March 2003 17.12, Simon Jenkins wrote:
>[...]
>
>
>>>then these components must be built of other components...
>>>i dont see a reason why one wants a big complex component
>>>if it could be built from smaller components...
>>>(other than performace)
>>>
>>>
>>Absolutely they must be built out of other components. The question
>>is: who does the building? I'm saying that the plugin designer
>>should be able to present a complex "plugin" which is actually a
>>ready-connected graph of simpler components. The alternative is for
>>the plugin designer to present a "bag of bits" for the user to
>>connect together.
>>
>>
>
>If we do this on the right level, we can have both. We definitely
>should have a standard graph description (and preset) file format
>anyway, and all we need is a way for plugin authors to provide useful
>subgraphs with their plugins.
>
I'm thinking that if its done on the right level we can have both very
nearly for free... and only incur whatever administrative overhead
there might be when the additional functionality is actually used.

In terms of its inputs and outputs a subgraph is indistinguishable from
a real plugin. All thats needed is a very thin code wrapper around
the administration of the subgraph: A virtual plugin which, when
you instantiate it, would instantiate all of the real plugins that
made up the subgraph. Which, when you connected to or from it,
would cause the connection to actually be made to the appropriate
real plugin within the subgraph. Which, when you removed it, would
cause the removal of all the real plugins within the subgraph.

I'm not up-to-date enough with the XAP spec to know how
much hassle this would all be, but its all *administrative*
hassle and doesn't affect the runtime API in any way: The
virtual plugin never appears in the actual processing graph,
and the real plugins are perfectly ordinary plugins, connected
into a perfectly ordinary graph, sorted and called (independently
of each other) just like any other plugin in the graph.

Simon Jenkins
(Bristol, UK)


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

This archive was generated by hypermail 2b28 : Sat Mar 01 2003 - 21:18:09 EET