summaryrefslogtreecommitdiff
path: root/libs/ardour/vst_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/vst_plugin.cc')
-rw-r--r--libs/ardour/vst_plugin.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc
index e5a84bbad0..02003a4238 100644
--- a/libs/ardour/vst_plugin.cc
+++ b/libs/ardour/vst_plugin.cc
@@ -212,7 +212,7 @@ VSTPlugin::get_state()
char index[64];
char val[32];
snprintf (index, sizeof (index), "param_%ld", n);
- snprintf (val, sizeof (val), "%f", _plugin->getParameter (_plugin, n));
+ snprintf (val, sizeof (val), "%.12g", _plugin->getParameter (_plugin, n));
parameters->add_property (index, val);
}
@@ -244,11 +244,12 @@ VSTPlugin::set_state(const XMLNode& node)
for (i = child->properties().begin(); i != child->properties().end(); ++i) {
long param;
- float val;
+ double val;
+
sscanf ((*i)->name().c_str(), "param_%ld", &param);
- sscanf ((*i)->value().c_str(), "%f", &val);
+ sscanf ((*i)->value().c_str(), "%g", &val);
- _plugin->setParameter (_plugin, param, val);
+ _plugin->setParameter (_plugin, param, (float) val);
}
return 0;