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:
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,