add support for VST default values (instantiation time value)
authorRobin Gareus <robin@gareus.org>
Wed, 3 Aug 2016 18:53:49 +0000 (20:53 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 3 Aug 2016 18:53:49 +0000 (20:53 +0200)
libs/ardour/ardour/vst_plugin.h
libs/ardour/vst_plugin.cc

index 2f2bcaae837e0476562e97fbe6a6f4d57b689910..e56b9c005cc353716762077cdc3ff03a97b40b1a 100644 (file)
@@ -118,6 +118,7 @@ protected:
 
        framepos_t _transport_frame;
        float      _transport_speed;
+       mutable std::map <uint32_t, float> _parameter_defaults;
 };
 
 }
index 728219b0fea89e41029d342df04895fd40c76b19..8188354062c4b6adfeb3b79952008d18818c84ab 100644 (file)
@@ -91,9 +91,9 @@ VSTPlugin::set_block_size (pframes_t nframes)
 }
 
 float
-VSTPlugin::default_value (uint32_t)
+VSTPlugin::default_value (uint32_t which)
 {
-       return 0;
+       return _parameter_defaults[which];
 }
 
 float
@@ -323,6 +323,9 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
                desc.sr_dependent = false;
        }
 
+       desc.normal = get_parameter (which);
+       _parameter_defaults[which] = desc.normal;
+
        return 0;
 }