[LAD] [ann] CAPS 0.4.5

David Robillard d at drobilla.net
Fri Apr 8 00:53:41 UTC 2011


On 07/04/11 01:00 PM, Tim Goetze wrote:
> [Stefano D'Angelo]
>    
>> 2011/4/5 David Robillard<d at drobilla.net>:
>>      
>>> On 03/04/11 04:34 AM, Stefano D'Angelo wrote:
>>>        
>>>> 2011/4/2 Tim Goetze<tim at quitte.de>:
>>>>          
>>>>> �const int * caps = (const int *) dlsym (h, "__caps_version__");
>>>>>            
> [...]
>    
>>> Global identifiers beginning with __ are reserved for the C
>>> implementation...
>>>        
> Thanks for pointing that out, David, I'll change the symbol to a plain
> and simple "CAPS_version" instead.
>
>    
You're welcome.

>>> Might as well just use LADSPA as a prefix instead of CAPS, in case this
>>> needs doing somewhere else... though this whole thing is extremely awful,
>>> and I really hope that is not the case...
>>>
>>> Another less awful option would be to somehow add the information to the
>>> library that the port is connectionOptional...
>>>        
>> Tim, you see? David already suggests to use the LADSPA prefix. :-)
>>      
> And I have to concur, a standardised way for hosts to query the
> version of a plugin library seems a good idea indeed.
>
>    
Well, yes and no. Since LADSPA can not tolerate plugin breakage at all, 
one could argue that the presence of such a thing is a symptom...
>> However, I think you could happily avoid doing anything special, I can
>> check if the plugin in question (identified by UniqueID) has more
>> ports than the current version (this has to be hardcoded into the
>> bridge), thus making all ports with index>= the old PortCount
>> connectionOptional in LV2 (that means the bridge makes fake
>> connections unless the LV2 host does really connect them)... however,
>> this is possible if you append the new port(s) to the current ones as
>> Dave suggests, otherwise this just can't be handled even in LADSPA
>> hosts properly, I suspect.
>>      
> The new port for the AutoWah plugin will indeed be appended to the
> list of input ports; however, it will still precede the audio output,
> adhering to the CAPS port order convention which puts inputs before
> outputs.
>    
This will horribly break all sorts of things. Do not do this! 
Admittedly, slightly less so than rearranging control port indices would 
(which would definitely break virtually everything), but still.

You should just change the ID of the plugin and this whole mess goes 
away. I can't think of any reason to keep the ID and break the plugin 
rather than just change the ID...

Cheers,

-dr




More information about the Linux-audio-dev mailing list