diff options
author | David Robillard <d@drobilla.net> | 2006-09-09 14:24:56 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-09 14:24:56 +0000 |
commit | fca95e5d454d37bd74b98f5bce35cfcbaee86c3f (patch) | |
tree | 97fcf6e8afaf4356d46a24236e9aa2451ab55698 /src/libs/engine/LADSPANode.cpp | |
parent | b853b3dde1f7028dd275f78433a6ad9b5b9f61c7 (diff) | |
download | ingen-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.cpp | 24 |
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; } |