X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fscene_change.cc;h=dcf83951cd2acdf6b51a0ceaca60b5d64925bee9;hb=27d06075a7cdbfbedae95035977fc2622aeadbe6;hp=eda260382b604c615eb5e28bb305ee0d304de8ab;hpb=5399425f534e2d96d07cf29f427bfa0f39d904b7;p=ardour.git diff --git a/libs/ardour/scene_change.cc b/libs/ardour/scene_change.cc index eda260382b..dcf83951cd 100644 --- a/libs/ardour/scene_change.cc +++ b/libs/ardour/scene_change.cc @@ -25,11 +25,12 @@ using namespace PBD; using namespace ARDOUR; std::string SceneChange::xml_node_name = X_("SceneChange"); +const uint32_t SceneChange::out_of_bound_color = 0x00000000; /* note: zero alpha means invisible, which acts as out-of-bound signal */ boost::shared_ptr SceneChange::factory (const XMLNode& node, int version) { - const XMLProperty* prop = node.property (X_("type")); + XMLProperty const * prop = node.property (X_("type")); if (prop->value() == X_("MIDI")) { return boost::shared_ptr (new MIDISceneChange (node, version)); @@ -37,3 +38,31 @@ SceneChange::factory (const XMLNode& node, int version) return boost::shared_ptr(); } + +SceneChange::SceneChange () + : _color (out_of_bound_color) + , _active (true) +{ +} + +void +SceneChange::set_color (uint32_t c) +{ + _color = c; + ColorChanged (); /* EMIT SIGNAL */ +} + +uint32_t +SceneChange::color() const +{ + return _color; +} + +void +SceneChange::set_active (bool yn) +{ + if (_active != yn) { + _active = yn; + ActiveChanged (); /* EMIT SIGNAL */ + } +}