void save_extra_xml (const XMLNode&);
const PBD::ID& id() const { return _id; }
-
+ bool set_id (const XMLNode&);
+ void set_id (const std::string&);
+ void reset_id ();
+
/* history management */
void clear_changes ();
virtual void suspend_property_changes ();
virtual void resume_property_changes ();
-
- virtual bool frozen() const { return _frozen; }
+ bool property_changes_suspended() const { return g_atomic_int_get (&_stateful_frozen) > 0; }
+
protected:
void add_instant_xml (XMLNode&, const sys::path& directory_path);
XMLNode *_extra_xml;
XMLNode *_instant_xml;
- PBD::ID _id;
- int32_t _frozen;
PBD::PropertyChange _pending_changed;
Glib::Mutex _lock;
within thaw() just before send_change() is called.
*/
virtual void mid_thaw (const PropertyChange&) { }
- bool property_changes_suspended() const { return g_atomic_int_get (&_frozen) > 0; }
+
+ private:
+ PBD::ID _id;
+ int32_t _stateful_frozen;
};
} // namespace PBD