floating point precision fix, after months of waiting, plus fix for width of string...
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 3 Oct 2006 19:57:38 +0000 (19:57 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 3 Oct 2006 19:57:38 +0000 (19:57 +0000)
git-svn-id: svn://localhost/ardour2/trunk@940 d708f5d6-7413-0410-9779-e7cbd77b26cf

SConstruct
gtk2_ardour/SConscript
libs/ardour/audio_diskstream.cc
libs/ardour/crossfade.cc
libs/ardour/vst_plugin.cc

index b12b803121654dddb45e7821cb371da942656f38..03eee09815a89d2733afab24e922306f5ec30fef 100644 (file)
@@ -15,7 +15,7 @@ import SCons.Node.FS
 SConsignFile()
 EnsureSConsVersion(0, 96)
 
-version = '2.0beta3'
+version = '2.0beta3.2'
 
 subst_dict = { }
 
index eb82230e4982c0571b8536b37160dc35a16f8f45..072965ca945f373a3a97e6c4c5380a7dab6f1fe3 100644 (file)
@@ -315,8 +315,13 @@ env.Alias ('tarball', env.Distribute (env['DISTTREE'],
                                         'ardour.menus', 'ardour.bindings', 'ardour.colors',
                                        'editor_xpms'
                                         ] +
-                                      gtkardour_files + vst_files + pixmap_files +
-                                      glob.glob('po/*.po') + glob.glob('*.h')))
+                                      gtkardour_files +
+                                     vst_files +
+                                     pixmap_files +
+                                     skipped_files +
+                                     audiounit_files + 
+                                     fft_analysis_files +
+                                     glob.glob('po/*.po') + glob.glob('*.h')))
 
 # generate a prototype full-featured ardour_ui.rc file
 
index 89bffc89e3f8004f03ac7e24a6ccf45f3e2cc3dc..efe4e89cd164bf48e4fd54c772a0d4351352d2c3 100644 (file)
@@ -1755,7 +1755,7 @@ AudioDiskstream::get_state ()
 
        node->add_property ("playlist", _playlist->name());
        
-       snprintf (buf, sizeof(buf), "%f", _visible_speed);
+       snprintf (buf, sizeof(buf), "%.12g", _visible_speed);
        node->add_property ("speed", buf);
 
        node->add_property("name", _name);
index acf254e73a474ae5f7219d60576b38cb5df46616..203041616eeb45b1139423fd8bc7ad12ce74b755 100644 (file)
@@ -803,7 +803,7 @@ Crossfade::set_state (const XMLNode& node)
                        sscanf (prop->value().c_str(), "%" PRIu32, &x);
                        
                        prop = (*i)->property ("y");
-                       sscanf (prop->value().c_str(), "%f", &y);
+                       sscanf (prop->value().c_str(), "%.12g", &y);
 
                        _fade_in.add (x, y);
                }
@@ -825,7 +825,7 @@ Crossfade::set_state (const XMLNode& node)
                        sscanf (prop->value().c_str(), "%" PRIu32, &x);
 
                        prop = (*i)->property ("y");
-                       sscanf (prop->value().c_str(), "%f", &y);
+                       sscanf (prop->value().c_str(), "%.12g", &y);
                        
                        _fade_out.add (x, y);
                }
index e5a84bbad09189b9e387facb96d5dd8b92794620..02003a4238ac969b04d930e2b8beedc59582cfba 100644 (file)
@@ -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;