[LAD] [ANN] LV2 beta3

Steve Harris steve at plugin.org.uk
Thu May 10 22:08:51 UTC 2007


On 10 May 2007, at 22:44, Fons Adriaensen wrote:

> On Thu, May 10, 2007 at 03:58:25PM +0100, Steve Harris wrote:
>
>> I don't support it unless someone has a representation issue. You're
>> not like to see if (fs == 44100) anyway, and if you did you'd want to
>> hedge a bit: if (fs > 44090 && fs < 44110). If you have to write if
>> (fs_num / fs_denom == 44100) then things are bit dodgy anyway.
>
> Let me state once and for all, even it will not gain me any  
> popularity:
>
>   Anyone who thinks that writing a range check on a fraction A/B is  
> too
>   difficult is very probably completely incompetent and should not  
> waste
>   his/her time trying to write audio DSP code for a plugin.

I wasn't suggesting it was hard, just that doing the value check on  
an integer is no easier than doing it on a double, so that's not an  
argument in either direction.

> But if the word of Linux Audio wants to accommodate amateurism and
> ignorance at the expense of professionalism and experience, I will
> not hesitate a second to say goodbey. I'll feel sad for a few days
> but not much longer.

I'm not sure that it's reasonable to to describe representing sample  
rates as a floating point number as amateurish. Switching to a  
numerator/denominator pair is a bit of a departure, and will  
significantly increase the effort of porting LADSPA plugins to LV2,  
so I'm not keen until I understand the benefit in concrete terms.

I dislike boilerplate code that appears everywhere, and certainly all  
my plugins would grow
double fs = (double)fs_denom / (double)fs_num; which seems a bit  
pointless on the face of it.

I could probably run sed script to switch to num/denom format, but  
it's almost zero effort to switch to a double, and none of my plugins  
will derive any benefit whatsoever from the dum/denom pair. Do you  
have an example of where knowing both factors is useful?

- Steve



More information about the Linux-audio-dev mailing list