> 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/ )