Thread: [Audacity-devel] GVerb -> Windows via Audacity
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
|
From: Vaughan J. <vjo...@co...> - 2003-10-12 23:07:25
|
I've made a version of GVerb that runs in Audacity on Windows via its LADSPA interface. I ran into a bunch of build issues that MSVC is picky about. For instance, fabsf() is defined for C++ but not for C, so I had to tell it to compile the .c files as .cpp. Anyway, it's "working" but I'm not sure it's handling the parameters correctly, so Windows users, please test: "http://home.earthlink.net/~vaughanjohnson/audacity/amp/GVerb.zip" I had to make a slight change to Audacity so it wouldn't crash putting together the dialog. That change is checked into the 1.2 branch, and here's a fresh build with that change: "http://home.earthlink.net/~vaughanjohnson/audacity/audacity-win_2003-10-12.zip" It's just the executable, so drop it on top of a 1.2pre2 installation, and put the GVerb.dll in its Plug-ins folder. Also, for grins, here's the amp plugin from the LADSPA SDK, the first LADSPA plug-in I did for Audacity on Windows: "http://home.earthlink.net/~vaughanjohnson/audacity/amp.zip". Juhana & Steve, let me know if you'd like the code. I started from "http://plugin.org.uk/src/gverb", but I also noticed "http://plugin.org.uk/src/gverb_1216.so.c". Sorry I'm not up on the naming conventions, is ".so" beta? Should I use that source instead of "http://plugin.org.uk/src/gverb/gverb_1210.c"? -Vaughan |
|
From: Dominic M. <do...@mi...> - 2003-10-12 23:18:33
|
Vaughan Johnson wrote: > I've made a version of GVerb that runs in Audacity on Windows via its > LADSPA interface. I ran into a bunch of build issues that MSVC is picky > about. For instance, fabsf() is defined for C++ but not for C, so I had > to tell it to compile the .c files as .cpp. Anyway, it's "working" but > I'm not sure it's handling the parameters correctly, so Windows users, > please test: > "http://home.earthlink.net/~vaughanjohnson/audacity/amp/GVerb.zip" Excellent! > I had to make a slight change to Audacity so it wouldn't crash putting > together the dialog. That change is checked into the 1.2 branch, and > here's a fresh build with that change: > "http://home.earthlink.net/~vaughanjohnson/audacity/audacity-win_2003-10-12.zip" Too bad Audacity had a bug, too; maybe we should release 1.2.0-pre3 after we have the VST enabler working too. > It's just the executable, so drop it on top of a 1.2pre2 installation, > and put the GVerb.dll in its Plug-ins folder. > > Also, for grins, here's the amp plugin from the LADSPA SDK, the first > LADSPA plug-in I did for Audacity on Windows: > "http://home.earthlink.net/~vaughanjohnson/audacity/amp.zip". > > Juhana & Steve, let me know if you'd like the code. I started from > "http://plugin.org.uk/src/gverb", but I also noticed > "http://plugin.org.uk/src/gverb_1216.so.c". Sorry I'm not up on the > naming conventions, is ".so" beta? Should I use that source instead of > "http://plugin.org.uk/src/gverb/gverb_1210.c"? "so" stands for "shared object", which is the Unix equivalent of a DLL. I think that the naming convention is that gverb*.so.c contains the plug-in "main" function and LADSPA code, while all of the other gverb files contain gverb-specific functions. Simple plug-ins just throw everything in one file, but gverb also exists as a library somewhat independent of LADSPA. But if you got it to work, you must have included some sensible collection of files. I ran into similar issues on the Mac, though I didn't realize that fabsf is defined for C++ - I thought it was part of C99. Either way, functions like that need to be wrapped so that LADSPA plug-ins can be made more portable. - Dominic > -Vaughan > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > SourceForge.net hosts over 70,000 Open Source Projects. > See the people who have HELPED US provide better services: > Click here: http://sourceforge.net/supporters.php > _______________________________________________ > Audacity-devel mailing list > Aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel |
|
From: Vaughan J. <vjo...@co...> - 2003-10-14 21:01:45
|
Dominic Mazzoni wrote: > Vaughan Johnson wrote: > >> I've made a version of GVerb that runs in Audacity on Windows via its >> LADSPA interface. I ran into a bunch of build issues that MSVC is >> picky about. For instance, fabsf() is defined for C++ but not for C, >> so I had to tell it to compile the .c files as .cpp. Anyway, it's >> "working" but I'm not sure it's handling the parameters correctly, so >> Windows users, please test: >> "http://home.earthlink.net/~vaughanjohnson/audacity/amp/GVerb.zip" > > > Excellent! I hope so. Had to attend to other things yesterday, but am catching up on email today. > > >> I had to make a slight change to Audacity so it wouldn't crash >> putting together the dialog. That change is checked into the 1.2 >> branch, and here's a fresh build with that change: >> "http://home.earthlink.net/~vaughanjohnson/audacity/audacity-win_2003-10-12.zip" > > > Too bad Audacity had a bug, too; maybe we should release 1.2.0-pre3 > after we have the VST enabler working too. It's that weird thing where wxWindows calls a text control's handler while the control is being constructed. Unfortunately, I had fixed it for what I thought was the general case, but it wasn't quite. VST enabler is next on my list. A pre3 release sounds like a good idea. > > >> It's just the executable, so drop it on top of a 1.2pre2 >> installation, and put the GVerb.dll in its Plug-ins folder. >> >> Also, for grins, here's the amp plugin from the LADSPA SDK, the first >> LADSPA plug-in I did for Audacity on Windows: >> "http://home.earthlink.net/~vaughanjohnson/audacity/amp.zip". >> >> Juhana & Steve, let me know if you'd like the code. I started from >> "http://plugin.org.uk/src/gverb", but I also noticed >> "http://plugin.org.uk/src/gverb_1216.so.c". Sorry I'm not up on the >> naming conventions, is ".so" beta? Should I use that source instead >> of "http://plugin.org.uk/src/gverb/gverb_1210.c"? > > > "so" stands for "shared object", which is the Unix equivalent of > a DLL. I think that the naming convention is that gverb*.so.c contains > the plug-in "main" function and LADSPA code, while all of the other > gverb files contain gverb-specific functions. Simple plug-ins just > throw everything in one file, but gverb also exists as a library > somewhat independent of LADSPA. Thanks. > > > But if you got it to work, you must have included some sensible > collection of files. Yes, there was a corresponding "gverb_1210.c" in the directory with the other source files, and that's why I wondered about the one at the higher level. > > > I ran into similar issues on the Mac, though I didn't realize that > fabsf is defined for C++ - I thought it was part of C99. Either > way, functions like that need to be wrapped so that LADSPA plug-ins > can be made more portable. Yep, I wrapped all my changes in #ifdef WIN32. -Vaughan |
|
From: Vaughan J. <vjo...@co...> - 2003-10-14 21:10:42
|
BTW, following Nick Lamb's discussion of NaN, I couldn't find any implementation in MSVC, but on MSDN, I found a few tests that are supposed to work, so I wrote my own. Basically, if double x is NaN, then (x == x) is false in MSVC. -Vaughan |
|
From: Steve H. <S.W...@ec...> - 2003-10-14 21:16:12
|
On Tue, Oct 14, 2003 at 02:08:11 -0700, Vaughan Johnson wrote: > BTW, following Nick Lamb's discussion of NaN, I couldn't find any > implementation in MSVC, but on MSDN, I found a few tests that are > supposed to work, so I wrote my own. Basically, if double x is NaN, then > (x == x) is false in MSVC. I think thats true on all 387 based machines, but I could be wrong. - Steve |
|
From: Steve H. <S.W...@ec...> - 2003-10-13 07:52:13
|
On Sun, Oct 12, 2003 at 04:04:55PM -0700, Vaughan Johnson wrote: > Juhana & Steve, let me know if you'd like the code. I started from > "http://plugin.org.uk/src/gverb", but I also noticed > "http://plugin.org.uk/src/gverb_1216.so.c". Sorry I'm not up on the > naming conventions, is ".so" beta? Should I use that source instead of > "http://plugin.org.uk/src/gverb/gverb_1210.c"? The .so.c file is just a hack to make libtool keep its dirty hands of the .so build process (it wants to make it a shared library). The .so.c file is generated from the .xml (have a look at that its just the C source with some wrapper). There is a (nasty) perl script, http://plugin.org.uk/src/makestub.pl which turns the .xml into .so.c I think I can add a flag to makestub to make it generate C that will make MSVC happy. - Steve |
|
From: Vaughan J. <vjo...@co...> - 2003-10-14 21:55:36
|
Steve Harris wrote: >On Sun, Oct 12, 2003 at 04:04:55PM -0700, Vaughan Johnson wrote: > > >>Juhana & Steve, let me know if you'd like the code. I started from >>"http://plugin.org.uk/src/gverb", but I also noticed >>"http://plugin.org.uk/src/gverb_1216.so.c". Sorry I'm not up on the >>naming conventions, is ".so" beta? Should I use that source instead of >>"http://plugin.org.uk/src/gverb/gverb_1210.c"? >> >> > >The .so.c file is just a hack to make libtool keep its dirty hands of the >.so build process (it wants to make it a shared library). The .so.c file >is generated from the .xml (have a look at that its just the C source with >some wrapper). There is a (nasty) perl script, >http://plugin.org.uk/src/makestub.pl which turns the .xml into .so.c > >I think I can add a flag to makestub to make it generate C that will make >MSVC happy. > > Wow, that is really cool. I'll bet you're right about getting makestub to do it automatically. My code change were minor -- the weird stuff was for build flags to force it to find fabsf, powf, and sqrtf.. But should I be using "http://plugin.org.uk/src/gverb/gverb_1210.c" (which I started from) or "http://plugin.org.uk/src/gverb_1216.so.c" ? Are those version numbers? Thanks, Vaughan |
|
From: Steve H. <S.W...@ec...> - 2003-10-14 22:01:54
|
On Tue, Oct 14, 2003 at 02:53:06 -0700, Vaughan Johnson wrote: > Wow, that is really cool. I'll bet you're right about getting makestub > to do it automatically. My code change were minor -- the weird stuff was > for build flags to force it to find fabsf, powf, and sqrtf.. Hmm.. maybe its a job for auto* then? > But should I be using > > "http://plugin.org.uk/src/gverb/gverb_1210.c" > > (which I started from) or > > "http://plugin.org.uk/src/gverb_1216.so.c" Neither http://plugin.org.uk/src/gverb_1216.xml - the first one should not be there - probably stale test code - that machine used to be my desktop. > ? Are those version numbers? No, plugin IDs. I just tack them on the end of the filename to prevent plugin filename collisions (eg. amp.so). - Steve |
|
From: Vaughan J. <vjo...@co...> - 2003-10-14 22:01:38
|
Oops, sorry. Juhana pointed out a typo in my posting on Sunday. Vaughan Johnson wrote: > I've made a version of GVerb that runs in Audacity on Windows via its > LADSPA interface. ...Anyway, it's "working" but I'm not sure it's > handling the parameters correctly, so Windows users, please test: > "http://home.earthlink.net/~vaughanjohnson/audacity/amp/GVerb.zip" It's actually at "http://home.earthlink.net/~vaughanjohnson/audacity/GVerb.zip". There's no "/amp" directory. -Vaughan |
|
From: Vaughan J. <vjo...@co...> - 2003-10-21 19:09:08
|
Turns out I had ported GVerb to Windows for Audacity from the wrong ladspa interface code, but thanks to Steve, I've ported the right code, so there's now a new GVerb for Windows-based Audacity: "http://home.earthlink.net/~vaughanjohnson/audacity/GVerb-win_2003-10-18.zip". This one has more controls & works a whole lot better. This runs with the Audacity executable I posted on Sunday: "http://home.earthlink.net/~vaughanjohnson/audacity/audacity-win_2003-10-12.zip". Steve & Juhana, the modified plug-in code is "http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb_1216.c". Mostly it exports the ladspa_descriptor fn & makes sure _init() gets called for Windows. Steve, I think that's all that needs to go into makestub.pl for the plug-in code. -Vaughan |
|
From: Steve H. <S.W...@ec...> - 2003-10-20 19:21:33
|
On Sat, Oct 18, 2003 at 05:18:39 -0700, Vaughan Johnson wrote: > Steve & Juhana, the modified plug-in code is > "http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb_1216.c". > Mostly it exports the ladspa_descriptor fn & makes sure _init() gets called > for Windows. Steve, I think that's all that needs to go into makestub.pl > for the plug-in code. Great. I think I've updated makestub.pl to produce WIN32 compatible code, can you check in the latest snapshot at http://plugin.org.uk/snapshots/ I havent tested it (im at a conference) but it builds ok on linux. - Steve |
|
From: Vaughan J. <vjo...@co...> - 2003-10-23 22:29:16
|
Steve Harris wrote: >On Sat, Oct 18, 2003 at 05:18:39 -0700, Vaughan Johnson wrote: > > >>Steve & Juhana, the modified plug-in code is >>"http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb_1216.c". >>Mostly it exports the ladspa_descriptor fn & makes sure _init() gets called >>for Windows. Steve, I think that's all that needs to go into makestub.pl >>for the plug-in code. >> >> > >Great. I think I've updated makestub.pl to produce WIN32 compatible code, >can you check in the latest snapshot at http://plugin.org.uk/snapshots/ >I havent tested it (im at a conference) but it builds ok on linux. > > Your latest gverb_1216.so.c is fine, so makestub.pl is good, but I also had to modify some other files. Here are my versions: http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa-util.h http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa.h http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb.h Also, I don't know anything about autoconf, which you mentioned before, but MSVC must be told to compile these as C++, or some functions aren't defined (fabsf, powf, sqrtf). I can post my MSVC project files if that would help. -Vaughan |
|
From: Steve H. <S.W...@ec...> - 2003-10-24 17:27:34
|
On Thu, Oct 23, 2003 at 10:58:51 -0700, Vaughan Johnson wrote: > Your latest gverb_1216.so.c is fine, so makestub.pl is good, but I also > had to modify some other files. Here are my versions: > > http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa-util.h > http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa.h > http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb.h OK, I'l merge them with my versions. > Also, I don't know anything about autoconf, which you mentioned before, > but MSVC must be told to compile these as C++, or some functions aren't > defined (fabsf, powf, sqrtf). I can post my MSVC project files if that > would help. Unfortuantly I know less about MSVC than you know about autoconf, but if you could maintain a project file for it that would be good. - Steve |
|
From: Vaughan J. <vjo...@co...> - 2003-10-24 20:58:57
|
Steve Harris wrote: >On Thu, Oct 23, 2003 at 10:58:51 -0700, Vaughan Johnson wrote: > > >>Your latest gverb_1216.so.c is fine, so makestub.pl is good, but I also >>had to modify some other files. Here are my versions: >> >>http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa-util.h >>http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/ladspa.h >>http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/gverb.h >> >> > >OK, I'l merge them with my versions. > Cool. > > > >>Also, I don't know anything about autoconf, which you mentioned before, >>but MSVC must be told to compile these as C++, or some functions aren't >>defined (fabsf, powf, sqrtf). I can post my MSVC project files if that >>would help. >> >> > >Unfortuantly I know less about MSVC than you know about autoconf, but if >you could maintain a project file for it that would be good. > > Certainly. My latest copy is "http://home.earthlink.net/~vaughanjohnson/audacity/GVerb-win_proj_2003-10-23.zip". There's an Export Makefile command in Dev Studio, and the resulting nmake makefile is "http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src/GVerb.mak". All that fwiw, in case you want to take a look, but I'll maintain my version. -Vaughan |
|
From: Vaughan J. <vjo...@co...> - 2003-10-23 23:23:59
|
For those of you interested in the GVerb-win code, the whole project is at "http://home.earthlink.net/~vaughanjohnson/audacity/GVerb-win_proj_2003-10-23.zip". This one's updated from the one I posted a few days ago, in that it uses the plug-in code generated by Steve Harris's updated makestub.pl. The built plug-in is at "http://home.earthlink.net/~vaughanjohnson/audacity/GVerb.dll.zip". The source files that were modified to make it build on Windows are in "http://home.earthlink.net/~vaughanjohnson/audacity/gverb-win-src". -Vaughan |