Mark Taylor
Wed, 04 Oct 2000 22:40:14 -0700
> 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/ )