From: Chris B. <ch...@cn...> - 2009-05-19 02:35:03
|
On Mon, May 18, 2009 at 9:21 PM, Chris Bagwell < cba...@us...> wrote: > Update of /cvsroot/sox/sox > In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28721 > > Modified Files: > INSTALL configure.ac cygbuild > Log Message: > Enable libltdl on cygwin to allow dlopen() MP3 libraries. > > With these changes, I can use cygbuild to create a sox.exe that allows using external lame and mad libraries installed by the end user. The main issues I've run into are: * Audacity prefers a lame library called "lame_enc.dll" thats built from lame source. That library seems to be missing the function lame_set_bWriteVbrTag(). Since we seem to only be using it ourself to say we don't support VBR, I tried commenting it out and it worked ok with limited testing. Not sure if we want to make that symbol optional. * Need to rename lame_enc.dll to libmp3lame.dll for our current code to find it. If we do above change, we also should probably search for lame_enc.dll specifically so user doesn't need to rename. * Audacity has some pointers to a package for ffmpeg and related libraries. It includes libmp3lame-0.dll which has same symbols as unix. If you rename that one to libmp3lame.dll it works fine with no sox code changes. Maybe this should be our preferred pointer to end users. TODO: Maybe I don't need to take off the -0... Haven't tested that yet. * I can not find any place to download libmad.dll or mad.dll off the net. Cygwin doesn't seem to want to generate a libmad DLL and I've not had luck with building one in VC++ yet. So this means this feature is untested under cygwin still. Anyone built a libmad DLL before? Chris |