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