X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fmidi_scene_change.cc;h=969dadbf7596cc66d70c427457c551614c863d38;hb=cf52d6e4b40111eb04b244ec054055a4ec15dbe0;hp=edcc8a658d2faf4e6dfdbeac2b5ddf6f15f6f57f;hpb=3d0efb8bf7b5fe2c3d73359f278bb74eaa7ddc41;p=ardour.git diff --git a/libs/ardour/midi_scene_change.cc b/libs/ardour/midi_scene_change.cc index edcc8a658d..969dadbf75 100644 --- a/libs/ardour/midi_scene_change.cc +++ b/libs/ardour/midi_scene_change.cc @@ -23,7 +23,7 @@ #include "ardour/midi_port.h" #include "ardour/midi_scene_change.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace PBD; using namespace ARDOUR; @@ -77,7 +77,7 @@ MIDISceneChange::get_bank_lsb_message (uint8_t* buf, size_t size) const buf[0] = 0xB0 | (_channel & 0xf); buf[1] = 0x20; - buf[2] = _bank & 0x7f; + buf[2] = _bank & 0x7f; return 3; } @@ -110,6 +110,8 @@ MIDISceneChange::get_state () node->add_property (X_("bank"), buf); snprintf (buf, sizeof (buf), "%d", (int) _channel); node->add_property (X_("channel"), buf); + snprintf (buf, sizeof (buf), "%u", _color); + node->add_property (X_("color"), buf); return *node; } @@ -121,7 +123,7 @@ MIDISceneChange::set_state (const XMLNode& node, int /* version-ignored */) return -1; } - const XMLProperty* prop; + XMLProperty const * prop; if ((prop = node.property (X_("program"))) == 0) { return -1; @@ -138,13 +140,39 @@ MIDISceneChange::set_state (const XMLNode& node, int /* version-ignored */) } _channel = atoi (prop->value()); + if ((prop = node.property (X_("color"))) != 0) { + _color = atoi (prop->value()); + } else { + _color = out_of_bound_color; + } + return 0; } bool MIDISceneChange::operator==(const MIDISceneChange& other) const { - return _program == other._program && - _bank == other._bank && - _channel == other._channel; + return _program == other._program && + _bank == other._bank && + _channel == other._channel; } + +void +MIDISceneChange::set_channel (int channel) +{ + _channel = channel; +} + +void +MIDISceneChange::set_program (int program) +{ + _program = program; +} + +void +MIDISceneChange::set_bank (int bank) +{ + _bank = bank; +} + +