X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession_object.h;h=1f81cf6fd252bb1e12816c811856e2f80249d414;hb=ce7a5e1c9fa3edf2d9cc66875505e402a0aaa6f6;hp=069badcb6afa0fbde699449488b990bf2bb23367;hpb=cdcc4d3720d8168a158f6a5a5f23e9ce981bc68c;p=ardour.git diff --git a/libs/ardour/ardour/session_object.h b/libs/ardour/ardour/session_object.h index 069badcb6a..1f81cf6fd2 100644 --- a/libs/ardour/ardour/session_object.h +++ b/libs/ardour/ardour/session_object.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + Copyright (C) 2000-2010 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 @@ -24,12 +24,17 @@ #include "pbd/statefuldestructible.h" #include "pbd/signals.h" +#include "ardour/ardour.h" #include "ardour/session_handle.h" #include "i18n.h" namespace ARDOUR { +namespace Properties { + extern PBD::PropertyDescriptor name; +} + class Session; /** A named object associated with a Session. Objects derived from this class are @@ -39,16 +44,20 @@ class Session; class SessionObject : public SessionHandleRef, public PBD::StatefulDestructible { public: + static void make_property_quarks (); + SessionObject (Session& session, const std::string& name) : SessionHandleRef (session) - , _name (X_("name"), PBD::Change (0), name) + , _name (Properties::name, PBD::PropertyChange (0), name) { - add_state (_name); + add_property (_name); } Session& session() const { return _session; } std::string name() const { return _name; } + PBD::PropertyChange set_property (const PBD::PropertyBase& prop); + virtual bool set_name (const std::string& str) { if (_name != str) { _name = str; @@ -60,7 +69,7 @@ class SessionObject : public SessionHandleRef, public PBD::StatefulDestructible PBD::Signal0 NameChanged; protected: - PBD::State _name; + PBD::Property _name; }; } // namespace ARDOUR