ardour
scene_change.cc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
21 
22 #include "i18n.h"
23 
24 using namespace PBD;
25 using namespace ARDOUR;
26 
27 std::string SceneChange::xml_node_name = X_("SceneChange");
28 const uint32_t SceneChange::out_of_bound_color = 0x00000000; /* note: zero alpha means invisible, which acts as out-of-bound signal */
29 
31 SceneChange::factory (const XMLNode& node, int version)
32 {
33  const XMLProperty* prop = node.property (X_("type"));
34 
35  if (prop->value() == X_("MIDI")) {
36  return boost::shared_ptr<SceneChange> (new MIDISceneChange (node, version));
37  }
38 
40 }
41 
42 SceneChange::SceneChange ()
43  : _color (out_of_bound_color)
44 {
45 }
46 
47 void
49 {
50  _color = c;
51  ColorChanged (); /* EMIT SIGNAL */
52 }
53 
54 uint32_t
56 {
57  return _color;
58 }
const std::string & value() const
Definition: xml++.h:159
void set_color(uint32_t)
Definition: scene_change.cc:48
PBD::Signal0< void > ColorChanged
Definition: scene_change.h:44
#define X_(Text)
Definition: i18n.h:13
XMLProperty * property(const char *)
Definition: xml++.cc:413
Definition: amp.h:29
uint32_t color() const
Definition: scene_change.cc:55
Definition: xml++.h:95
Definition: debug.h:30