automatl / audio-dsp-multi-visualize

Audio plugin which outputs various information about multiple signals onto single surface
GNU General Public License v3.0
28 stars 5 forks source link

Linux compilation problem #12

Closed lem8r closed 10 years ago

lem8r commented 10 years ago

I'm trying to build essp from source. I have put vst sdk to ~/SDKs/vstsdk2.4 extra compiler flags: -I "/home/lem8r/essp/dsp-utility/" -fpermissive -std=c++11 but still got this errors:

Compiling PreferencesLayout.cpp
In file included from /home/lem8r/essp/dsp-utility/dsp-utility.h:63:0,
                 from ../../Source/PluginProcessor.h:15,
                 from ../../Source/PreferencesLayout.h:25,
                 from ../../Source/PreferencesLayout.cpp:25:
/home/lem8r/essp/dsp-utility/WindowFunction.h: In member function ‘virtual void tomatl::dsp::BlackmanHarrisWindow<T>::precalculateWindow()’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:94:33: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   for (int i = 0; i < getLength(); ++i)
                                 ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:97:4: error: ‘mPrecalculated’ was not declared in this scope
    mPrecalculated[i] =
    ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:99:50: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
     a1 * std::cos(2 * TOMATL_PI * i / (getLength() - 1)) +
                                                  ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:100:50: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
     a2 * std::cos(4 * TOMATL_PI * i / (getLength() - 1)) -
                                                  ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:101:50: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
     a3 * std::cos(6 * TOMATL_PI * i / (getLength() - 1));
                                                  ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In constructor ‘tomatl::dsp::BlackmanHarrisWindow<T>::BlackmanHarrisWindow(size_t)’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:109:40: error: class ‘tomatl::dsp::BlackmanHarrisWindow<T>’ does not have any field named ‘WindowFunction’
  BlackmanHarrisWindow(size_t length) : WindowFunction(length) { precalculateWindow(); }
                                        ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In member function ‘virtual void tomatl::dsp::BarlettWindow<T>::precalculateWindow()’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:123:29: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   size_t length = getLength();
                             ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:130:33: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   for (int i = 0; i < getLength(); ++i)
                                 ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:132:4: error: ‘mPrecalculated’ was not declared in this scope
    mPrecalculated[i] = 1. - std::abs((i - a) / halfL);
    ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In constructor ‘tomatl::dsp::BarlettWindow<T>::BarlettWindow(size_t, tomatl::dsp::IWindowFunction::SymmetryMode)’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:138:114: error: class ‘tomatl::dsp::BarlettWindow<T>’ does not have any field named ‘WindowFunction’
  BarlettWindow(size_t length, IWindowFunction::SymmetryMode mode = IWindowFunction::modeSymetric) : mMode(mode), WindowFunction(length) { precalculateWindow(); }
                                                                                                                  ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In member function ‘virtual void tomatl::dsp::HannWindow<T>::precalculateWindow()’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:152:29: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   size_t length = getLength();
                             ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:156:33: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   for (int i = 0; i < getLength(); ++i)
                                 ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:158:4: error: ‘mPrecalculated’ was not declared in this scope
    mPrecalculated[i] = 0.5 * (1. - std::cos(2 * TOMATL_PI * i / (length - 1)));
    ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In constructor ‘tomatl::dsp::HannWindow<T>::HannWindow(size_t, tomatl::dsp::IWindowFunction::SymmetryMode)’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:164:111: error: class ‘tomatl::dsp::HannWindow<T>’ does not have any field named ‘WindowFunction’
  HannWindow(size_t length, IWindowFunction::SymmetryMode mode = IWindowFunction::modeSymetric) : mMode(mode), WindowFunction(length) { precalculateWindow(); }
                                                                                                               ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In member function ‘virtual void tomatl::dsp::SquareWindow<T>::precalculateWindow()’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:176:33: warning: there are no arguments to ‘getLength’ that depend on a template parameter, so a declaration of ‘getLength’ must be available [-fpermissive]
   for (int i = 0; i < getLength(); ++i)
                                 ^
/home/lem8r/essp/dsp-utility/WindowFunction.h:178:4: error: ‘mPrecalculated’ was not declared in this scope
    mPrecalculated[i] = 1.;
    ^
/home/lem8r/essp/dsp-utility/WindowFunction.h: In constructor ‘tomatl::dsp::SquareWindow<T>::SquareWindow(size_t)’:
/home/lem8r/essp/dsp-utility/WindowFunction.h:184:32: error: class ‘tomatl::dsp::SquareWindow<T>’ does not have any field named ‘WindowFunction’
  SquareWindow(size_t length) : WindowFunction(length) { precalculateWindow(); }
                                ^
make: *** [build/intermediate/Release/PreferencesLayout_26fde4a3.o] Error 1
automatl commented 10 years ago

What distro/architecture you were using? I'll see how latest master behaves on my linux VM.

lem8r commented 10 years ago

Ubuntu 14.04 x86_64

automatl commented 10 years ago

Thanks for the report! Should be working now (fixed in 15ca4e06876688bd338711a7a3841084e4fb4cb8) You may need to do git submodule update after git pull origin master

lem8r commented 10 years ago

Great. Now I've managed to build it. Thanks for super fast response!

automatl commented 10 years ago

You are welcome :)