summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour.colors1
-rw-r--r--libs/ardour/ladspa_plugin.cc13
2 files changed, 13 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour.colors b/gtk2_ardour/ardour.colors
index 528402d353..84283d6be3 100644
--- a/gtk2_ardour/ardour.colors
+++ b/gtk2_ardour/ardour.colors
@@ -69,6 +69,7 @@ cMeasureLineBeat 0.45 0.45 0.45 0.40
cMeasureLineBar 0.55 0.55 0.60 0.55
cGhostTrackBaseOutline 0.00 0.00 0.00 1.00
cGhostTrackBaseFill 0.27 0.00 0.49 0.50
+cGhostTrackWave 0.0 3.00 0.0 0.30
cImageTrackBase 0.87 0.87 0.85 1.00
cImageTrackOutline 0.00 0.00 0.00 1.00
cMarkerTrackBase 0.87 0.87 0.85 1.00
diff --git a/libs/ardour/ladspa_plugin.cc b/libs/ardour/ladspa_plugin.cc
index fd92e31f3c..98f098ef11 100644
--- a/libs/ardour/ladspa_plugin.cc
+++ b/libs/ardour/ladspa_plugin.cc
@@ -116,6 +116,7 @@ LadspaPlugin::init (void *mod, uint32_t index, nframes_t rate)
for (i = 0; i < port_cnt; ++i) {
if (LADSPA_IS_PORT_CONTROL(port_descriptor (i))) {
+ cerr << "plugin, port nr " << i << ", data = " << control_data[i] << endl;
connect_port (i, &control_data[i]);
if (LADSPA_IS_PORT_OUTPUT(port_descriptor (i)) &&
@@ -164,6 +165,7 @@ LadspaPlugin::default_value (uint32_t port)
float ret = 0.0f;
bool bounds_given = false;
bool sr_scaling = false;
+ bool earlier_hint = false;
/* defaults - case 1 */
@@ -172,6 +174,7 @@ LadspaPlugin::default_value (uint32_t port)
ret = prh[port].LowerBound;
bounds_given = true;
sr_scaling = true;
+ earlier_hint = true;
}
/* FIXME: add support for logarithmic defaults */
@@ -180,33 +183,41 @@ LadspaPlugin::default_value (uint32_t port)
ret = prh[port].LowerBound * 0.75f + prh[port].UpperBound * 0.25f;
bounds_given = true;
sr_scaling = true;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_MIDDLE(prh[port].HintDescriptor)) {
ret = prh[port].LowerBound * 0.50f + prh[port].UpperBound * 0.50f;
bounds_given = true;
sr_scaling = true;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_HIGH(prh[port].HintDescriptor)) {
ret = prh[port].LowerBound * 0.25f + prh[port].UpperBound * 0.75f;
bounds_given = true;
sr_scaling = true;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_MAXIMUM(prh[port].HintDescriptor)) {
ret = prh[port].UpperBound;
bounds_given = true;
sr_scaling = true;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_0(prh[port].HintDescriptor)) {
ret = 0.0f;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_1(prh[port].HintDescriptor)) {
ret = 1.0f;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_100(prh[port].HintDescriptor)) {
ret = 100.0f;
+ earlier_hint = true;
}
else if (LADSPA_IS_HINT_DEFAULT_440(prh[port].HintDescriptor)) {
ret = 440.0f;
+ earlier_hint = true;
}
else {
/* no hint found */
@@ -259,7 +270,7 @@ LadspaPlugin::default_value (uint32_t port)
/* defaults - case 5 */
- if (LADSPA_IS_HINT_SAMPLE_RATE(prh[port].HintDescriptor)) {
+ if (LADSPA_IS_HINT_SAMPLE_RATE(prh[port].HintDescriptor) && !earlier_hint) {
if (bounds_given) {
if (sr_scaling) {
ret *= sample_rate;