> Note:
> 
> Both methods (thousands of functions and thousands of tags) are equivalent:
> 
>   * use one function ( lame_ioctl() ) and thousands of constants
>     to tell this function what functionality is actually requested
>   * use thousands of functions (lame_xxxxx () ) to execute a
>     functionality
> 
> The difference is that second possiblity is more type safe, and the first
> really looks like you never need to change the API, which is only partially
> true (backward linking is possible, but you have still a runtime error,
> this is often called error obscuring).
> 
> -- 
> Frank "C programmers hate readable programs" Klemm
> 

I am afraid I actually agree with Frank on this point :-)

With the tags, you need to add a line in lame.h for each
variable, as well as 3 lines of code in a big 'switch' statement
in lame.c

With functions, you need to add a line in lame.h for each
function, as well as 3 lines of code for the function itself
in lame.c

So they are about the same amount of code, and same amount
of stuff in lame.h.  But the functions seems a cleaner approach?

Anyway, there is a lot more work cleaning up all this ./configure
stuff before we can even think about a new API!

By the way, if you have not done a 'cvs update' in a while,
be sure to do 'cvs update -d' to get all the new subdirectories.
(I learned that from the Vorbis mailing list)

Mark

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to