/*
- Copyright (C) 2000-2007 Paul Davis
+ Copyright (C) 2000-2007 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "pbd/error.h"
#include "pbd/locale_guard.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace PBD;
using namespace std;
Controllable::get_state ()
{
XMLNode* node = new XMLNode (xml_node_name);
- LocaleGuard lg (X_("POSIX"));
+ 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));
int
Controllable::set_state (const XMLNode& node, int /*version*/)
{
- LocaleGuard lg (X_("POSIX"));
+ LocaleGuard lg;
const XMLProperty* prop;
Stateful::save_extra_xml (node);
float val;
if (sscanf (prop->value().c_str(), "%f", &val) == 1) {
- set_value (val);
- }
+ set_value (val, NoGroup);
+ }
}
return 0;