[LAD] Lv2 port replication [was Re: the role of lv2 extensions]

james morris james at jwm-art.net
Thu Aug 13 09:08:09 UTC 2009


On 12/8/2009, "David Robillard" <dave at drobilla.net> wrote:

>On Thu, 2009-08-13 at 00:05 +0100, james morris wrote:
>> On 12/8/2009, "David Robillard" <dave at drobilla.net> wrote:
>>
>> >On Wed, 2009-08-12 at 23:39 +0100, james morris wrote:
>> >> On 12/8/2009, "Steve Harris" <steve at plugin.org.uk> wrote:
>> >>
>> >> >On 12 Aug 2009, at 23:20, David Robillard wrote:
>> >> >>
>> >> >> Allow one group of ports to have either no replication, or the same
>> >> >> replication count as another group of ports.  Obvious example being,
>> >> >> controls tend to stick to 1, audio tends to get replicated, but we may
>> >> >> want to replicate the controls to match audio.  So, a single plugin
>> >> >> could do all of the above cases in a single instance, if the author
>> >> >> wants to do it that way.
>> >> >
>> >> >That makes sense to me.
>> >> >
>> >>
>> >> that's what i thought what i said implied [scratches head].
>> >
>> >.... I don't think "or ganging the control ports" really quite conveys
>> >the idea entirely ;)
>>
>> Don't be daft! I'll admit my LP filter example was less than concise.
>>
>> >> >> Allow one group of ports to have either no replication, or the same
>> >> >> replication count as another group of ports.  Obvious example being,
>>
>> Which group of ports? The output group from the previous plugin in the
>> chain? Why not just the number of channels? That's all that's needed
>> for the simple case I'm talking about.
>
>So the guy claiming he described the solution already is still working
>on grasping the problem? :P </daft>

I said previously I was fairly sure port replication should be a property
of a port. The LP filter example had one cutoff port for two channels,
and asked what if we want two cutoff ports. This implies that the cutoff
port can have no replication or the same replication as the number of
channels processed. It's so obvious that different ports within the
same plugin MUST have the same replication count or no replication I
never thought to spell it out.


>Other plugins are /way/ outside of scope.  What is "the number of
>channels"?  Just some abstract parameter, we're designing a plugin API

I was trying to point to the question of: Why base the replication of a
control port on the replication of the audio ports? The audio port
replication is based on the number of channels, so base the replication
of the control port (if it is to be replicated) on that also. The plugin
will be informed of the number of channels by the host anyway.

>here, not a modular synth's internals.  As described in the above quoted
>email, the problem is sometimes you want the audio ports on plugin P
>replicated and the control ports on plugin P singular, but other times
>you want the control ports on plugin P replicated to match the audio
>ports.  Anything to do with other plugins is well within "host's
>problem" territory.

So we have two new port properties: one to say this port should always be
replicated - audio ports would use this - and another to say that this
port can be replicated but does not have to be. The matching of counts
is implied because there's no sane reason why port replication counts
would not match.



James.



More information about the Linux-audio-dev mailing list