zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 72ff679d90861283e3f353d25fd10c3d130ed07b
parent a0228c1d51bec576f5f431797e92b93f68baf8c2
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Sun,  1 Nov 2015 11:45:24 -0500

PAD/Rtosc: Fix GCC 4.8.x Bug

decltype() was/is buggy when used in lambdas in class static member initialization:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=65727

Diffstat:
Msrc/Params/PADnoteParameters.cpp | 13++++++++-----
Msrc/Params/PADnoteParameters.h | 4++--
2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/Params/PADnoteParameters.cpp b/src/Params/PADnoteParameters.cpp @@ -35,7 +35,7 @@ using namespace rtosc; #define rObject PADnoteParameters -const rtosc::Ports PADnoteParameters::realtime_ports = +static const rtosc::Ports realtime_ports = { rRecurp(FreqLfo, "Frequency LFO"), rRecurp(AmpLfo, "Amplitude LFO"), @@ -119,8 +119,7 @@ const rtosc::Ports PADnoteParameters::realtime_ports = }}, }; - -const rtosc::Ports PADnoteParameters::non_realtime_ports = +static const rtosc::Ports non_realtime_ports = { //Harmonic Source Distribution rRecurp(oscilgen, "Oscillator"), @@ -220,10 +219,14 @@ const rtosc::Ports PADnoteParameters::non_realtime_ports = delete[] tmp;}}, }; +const rtosc::Ports &PADnoteParameters::non_realtime_ports = ::non_realtime_ports; +const rtosc::Ports &PADnoteParameters::realtime_ports = ::realtime_ports; + + const rtosc::MergePorts PADnoteParameters::ports = { - &PADnoteParameters::non_realtime_ports, - &PADnoteParameters::realtime_ports + &non_realtime_ports, + &realtime_ports }; diff --git a/src/Params/PADnoteParameters.h b/src/Params/PADnoteParameters.h @@ -166,8 +166,8 @@ class PADnoteParameters:public Presets std::function<bool()> do_abort); static const rtosc::MergePorts ports; - static const rtosc::Ports non_realtime_ports; - static const rtosc::Ports realtime_ports; + static const rtosc::Ports &non_realtime_ports; + static const rtosc::Ports &realtime_ports; private: void generatespectrum_bandwidthMode(float *spectrum,