enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
[ardour.git] / libs / pbd / controllable.cc
index 17b81334f0b07e95a6547c8a4956a38bf4660e9d..b730a42980ffa08b05b8ec3390c22690113088c5 100644 (file)
@@ -23,7 +23,7 @@
 #include "pbd/error.h"
 #include "pbd/locale_guard.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace PBD;
 using namespace std;
@@ -107,10 +107,20 @@ XMLNode&
 Controllable::get_state ()
 {
        XMLNode* node = new XMLNode (xml_node_name);
-       LocaleGuard lg (X_("C"));
+       LocaleGuard lg;
        char buf[64];
 
-       node->add_property (X_("name"), _name); // not reloaded from XML state, just there to look at
+       /* Waves' "Pressure3" has a parameter called "µ-iness"
+        * which causes a  parser error : Input is not proper UTF-8, indicate encoding !
+        *  Bytes: 0xB5 0x2D 0x69 0x6E
+        *          <Controllable name="�-iness" id="2391" flags="" value="0.000000000000" p
+        */
+
+       // this is not reloaded from XML, but it must be present because it is
+       // used to find and identify XML nodes by various Controllable-derived objects
+
+       node->add_property (X_("name"), _name);
+
        id().print (buf, sizeof (buf));
        node->add_property (X_("id"), buf);
        node->add_property (X_("flags"), enum_2_string (_flags));
@@ -128,7 +138,7 @@ Controllable::get_state ()
 int
 Controllable::set_state (const XMLNode& node, int /*version*/)
 {
-       LocaleGuard lg (X_("C"));
+       LocaleGuard lg;
        const XMLProperty* prop;
 
        Stateful::save_extra_xml (node);
@@ -143,7 +153,7 @@ Controllable::set_state (const XMLNode& node, int /*version*/)
                float val;
 
                if (sscanf (prop->value().c_str(), "%f", &val) == 1) {
-                       set_value (val);
+                       set_value (val, NoGroup);
                }
         }