Using DSPFilter by Vinne


#1

I have been trying to implement the DSPFilter code from Vinne’s github and have run into some issues when first trying to compile.

I have read through this post here which lead me in the direction including the header files etc.
Implementing a DSP class that contains includes and namespaces (Vinne Falco DSPFilters)

But when the code compiles in the projucer i receive this error in the build tab

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ios: assigning to ‘basic_ostream<char_type, traits_type> *’ (aka ‘basic_ostream<char, std::__1::char_traits > *’) from incompatible type ‘int’

Or if I compile the VST using Xcode i receive this error

Undefined symbols for architecture x86_64:
“Dsp::Butterworth::LowPassBase::setup(int, double, double)”, referenced from:
Plugin01AudioProcessor::prepareToPlay(double, int) in libPlugin01.a(PluginProcessor.o)
“Dsp::Butterworth::AnalogLowPass::AnalogLowPass()”, referenced from:
Dsp::PoleFilterBaseDsp::Butterworth::AnalogLowPass::PoleFilterBase() in libPlugin01.a(PluginProcessor.o)
“Dsp::Biquad::Biquad()”, referenced from:
Dsp::Cascade::Stage::Stage() in libPlugin01.a(PluginProcessor.o)
“Dsp::Cascade::setCascadeStorage(Dsp::Cascade::Storage const&)”, referenced from:
Dsp::PoleFilter<Dsp::Butterworth::LowPassBase, 4, 4>::PoleFilter() in libPlugin01.a(PluginProcessor.o)
“Dsp::Cascade::Cascade()”, referenced from:
Dsp::PoleFilterBase2::PoleFilterBase2() in libPlugin01.a(PluginProcessor.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Wondering if someone could point me in the right direction or if someone else has solved this issue before.


#2

You’d have to update it to work with JUCE > 3.0

The ‘undefined symbols’ means the linker can’t find the function implementations… you’d have to make sure they’re set to be included in the project.

Rail


#3

Ah awesome. Ill have a look into it.