PV_UGens in the source have a particular idiom: PV_GET_BUF etc.
The cookiecutter template seems to invalidate much of this usage, and I’m too much of a C++ idiot to see my way through.
[ 25%] Building CXX object CMakeFiles/PV_FreezeMerge_scsynth.dir/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp.o
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:8:24: error: ‘ft’ was declared ‘extern’ and later ‘static’ [-fpermissive]
8 | static InterfaceTable* ft;
| ^~
In file included from /home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:5:
/home/dlm/share/superc/include/plugin_interface/FFT_UGens.h:153:24: note: previous declaration of ‘ft’
153 | extern InterfaceTable* ft;
| ^~
In file included from /home/dlm/share/superc/include/plugin_interface/SC_PlugIn.h:25,
from /home/dlm/share/superc/include/plugin_interface/SC_PlugIn.hpp:25,
from /home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:4:
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp: In constructor ‘PV_FreezeMerge::PV_FreezeMerge::PV_FreezeMerge()’:
/home/dlm/share/superc/include/plugin_interface/SC_Unit.h:68:21: error: ‘unit’ was not declared in this scope; did you mean ‘Unit’?
68 | #define OUT(index) (unit->mOutBuf[index])
| ^~~~
/home/dlm/share/superc/include/plugin_interface/Unroll.h:133:19: note: in expansion of macro ‘OUT’
133 | #define ZOUT0(i) (OUT(i)[0]) // get first sample
| ^~~
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:14:9: note: in expansion of macro ‘ZOUT0’
14 | ZOUT0(0) = ZIN0(0);
| ^~~~~
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp: At global scope:
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:22:1: error: redefinition of ‘PV_FreezeMerge::PV_FreezeMerge::PV_FreezeMerge()’
22 | PV_FreezeMerge::PV_FreezeMerge() {
| ^~~~~~~~~~~~~~
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:12:1: note: ‘PV_FreezeMerge::PV_FreezeMerge::PV_FreezeMerge()’ previously defined here
12 | PV_FreezeMerge::PV_FreezeMerge() {
| ^~~~~~~~~~~~~~
In file included from /home/dlm/share/superc/include/plugin_interface/SC_PlugIn.h:25,
from /home/dlm/share/superc/include/plugin_interface/SC_PlugIn.hpp:25,
from /home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:4:
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp: In member function ‘void PV_FreezeMerge::PV_FreezeMerge::next(int)’:
/home/dlm/share/superc/include/plugin_interface/SC_Unit.h:67:20: error: ‘unit’ was not declared in this scope; did you mean ‘Unit’?
67 | #define IN(index) (unit->mInBuf[index])
| ^~~~
/home/dlm/share/superc/include/plugin_interface/Unroll.h:129:18: note: in expansion of macro ‘IN’
129 | #define ZIN0(i) (IN(i)[0]) // get first sample
| ^~
/home/dlm/share/superc/include/plugin_interface/FFT_UGens.h:81:21: note: in expansion of macro ‘ZIN0’
81 | float fbufnum = ZIN0(0); \
| ^~~~
/home/dlm/share/tools/pvfreeze2/pv_freezemerge/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp:29:9: note: in expansion of macro ‘PV_GET_BUF’
29 | PV_GET_BUF
| ^~~~~~~~~~
gmake[2]: *** [CMakeFiles/PV_FreezeMerge_scsynth.dir/build.make:76: CMakeFiles/PV_FreezeMerge_scsynth.dir/plugins/PV_FreezeMerge/PV_FreezeMerge.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/PV_FreezeMerge_scsynth.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
Edit: If all else fails, I can get sorta what I wanted without making a new plugin. But I was really hoping to put some IIR decay logic into the pv freeze framework, so I’d rather not give up just yet.
TIA for advice,
hjh