- char buf[256];
- LocaleGuard lg;
-
- snprintf (buf, sizeof (buf), "%lf", pulse());
- root->add_property ("pulse", buf);
- snprintf (buf, sizeof (buf), "%li", frame());
- root->add_property ("frame", buf);
- snprintf (buf, sizeof (buf), "%lf", _note_types_per_minute);
- root->add_property ("beats-per-minute", buf);
- snprintf (buf, sizeof (buf), "%lf", _note_type);
- root->add_property ("note-type", buf);
- snprintf (buf, sizeof (buf), "%lf", _end_note_types_per_minute);
- root->add_property ("end-beats-per-minute", buf);
- snprintf (buf, sizeof (buf), "%s", !initial()?"yes":"no");
- root->add_property ("movable", buf);
- snprintf (buf, sizeof (buf), "%s", active()?"yes":"no");
- root->add_property ("active", buf);
- root->add_property ("lock-style", enum_2_string (position_lock_style()));
- root->add_property ("locked-to-meter", locked_to_meter()?"yes":"no");
+
+ MetricSection::add_state_to_node (*root);
+
+ root->set_property ("beats-per-minute", _note_types_per_minute);
+ root->set_property ("note-type", _note_type);
+ root->set_property ("clamped", _clamped);
+ root->set_property ("end-beats-per-minute", _end_note_types_per_minute);
+ root->set_property ("active", _active);
+ root->set_property ("locked-to-meter", _locked_to_meter);