summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/LADSPANode.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-09 14:24:56 +0000
committerDavid Robillard <d@drobilla.net>2006-09-09 14:24:56 +0000
commitfca95e5d454d37bd74b98f5bce35cfcbaee86c3f (patch)
tree97fcf6e8afaf4356d46a24236e9aa2451ab55698 /src/libs/engine/LADSPANode.cpp
parentb853b3dde1f7028dd275f78433a6ad9b5b9f61c7 (diff)
downloadingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.tar.gz
ingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.tar.bz2
ingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.zip
Drove 'er home! Working monolothic Ingenuity (ie. in-process engine).
Countless bugfixes. git-svn-id: http://svn.drobilla.net/lad/ingen@123 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/LADSPANode.cpp')
-rw-r--r--src/libs/engine/LADSPANode.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/libs/engine/LADSPANode.cpp b/src/libs/engine/LADSPANode.cpp
index b01f8900..76550d0b 100644
--- a/src/libs/engine/LADSPANode.cpp
+++ b/src/libs/engine/LADSPANode.cpp
@@ -110,8 +110,11 @@ LADSPANode::instantiate()
_ports->at(j) = port;
}
- assert(_ports->at(j) != NULL);
- Sample default_val = default_port_value(j);
+ assert(port);
+ assert(_ports->at(j) == port);
+
+ Sample default_val, min, max;
+ get_port_limits(j, default_val, min, max);
// Set default value
if (port->buffer_size() == 1) {
@@ -119,6 +122,12 @@ LADSPANode::instantiate()
} else {
((TypedPort<Sample>*)port)->set_value(0.0f, 0);
}
+
+ char tmp_buf[16];
+ snprintf(tmp_buf, 16, "%f", min);
+ port->set_metadata("min", tmp_buf);
+ snprintf(tmp_buf, 16, "%f", max);
+ port->set_metadata("max", tmp_buf);
}
return true;
@@ -262,12 +271,9 @@ LADSPANode::get_port_vals(ulong port_index, PortInfo* info)
#endif
-Sample
-LADSPANode::default_port_value(ulong port_index)
+void
+LADSPANode::get_port_limits(unsigned long port_index, Sample& normal, Sample& lower, Sample& upper)
{
- LADSPA_Data normal = 0.0f;
- LADSPA_Data upper = 0.0f;
- LADSPA_Data lower = 0.0f;
LADSPA_PortRangeHintDescriptor hint_descriptor = _descriptor->PortRangeHints[port_index].HintDescriptor;
/* set upper and lower, possibly adjusted to the sample rate */
@@ -328,10 +334,6 @@ LADSPANode::default_port_value(ulong port_index)
normal = upper;
}
}
-
- cerr << path() << " Port " << port_index << " LADSPA Default value: " << normal << endl;
- // FIXME: set min/max as metadata
- return normal;
}