Open frink opened 2 years ago
Hi, thanks a lot !
Guitarix prevents relicensing under LGPL...
Personally I'm fine with everything being under GPL, my own work is at least GPLv3+ and often AGPL. In any case I don't really intend to touch at the actual DSPs as it is really not my field of expertise, I just want them to be easily useable from other Faust-based systems
Regarding the ffunction calls, we had some work last weeks in order to enable ffunction calls from faust's LLVM backend. My initial plan was to also jit-compile the C++ code but it seems that everyone in the world uses ffunction for this kind of tables and @sletz mentioned that Faust now had a waveform feature which could be better suited to represent such things, so that's something I put in my bucket list for investigation.
Moving things to FAUST tables should work. Also the ffunctions may no longer be needed if you can express these functions with math primitives. I've not dug deep into guitarix code recently so I'm not sure.
I noticed about half of this has already made its way into the Official Faust Libraries. Namely tubes and tone stacks.
First off, I wanted to say that I'm glad you're doing this because Guitarix code is messy for actually sharing and reusing FAUST portable code. I think bringing everything to a fresh library will be good for everyone. Here are a few things that might be helpful in your endeavor to separate FAUST from the rest of Guitarix and create a useful library.
A lot of the DSP code is not pure FAUST... They include c++ code with ffunction calls and fconstant declarations with FAUST specific implementations. It may be helpful to look at the gen_tube_tables script which calls tube_transfer.py to build the lookup tables for valve.h which are then included in guitarix.lib for further processing. Basically everything in the DSP folder gets used somehow.
Guitarix prevents relicensing under LGPL... It seems to me that if you removed
abgate
andzita
stuff you could rightly license this GPL 2.0 or 3.0 but LGPL 3.0 would still be a stretch since it is more permissive than GPL 2.0. See the license convolution below from the Guitarix COPYING file in trunk:Hopefully that helps you get everything running. I look forward to watching your progress on this.
Blessings on your coding travels!