X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fcontrol_protocol%2Fcontrol_protocol.cc;h=6ac673925a52d347f7fe1700197e20135cc52dde;hb=fcbf359dd6123ca55d89f859e41149d6e3f39975;hp=1868957d3fea8393d7593688302b7b2d8687156c;hpb=4bfdcc18bd5284879d02a4ed9f44905ba84058d4;p=ardour.git diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc index 1868957d3f..6ac673925a 100644 --- a/libs/surfaces/control_protocol/control_protocol.cc +++ b/libs/surfaces/control_protocol/control_protocol.cc @@ -47,8 +47,13 @@ PBD::Signal0 ControlProtocol::VerticalZoomOutSelected; PBD::Signal1 ControlProtocol::TrackSelectionChanged; PBD::Signal1 ControlProtocol::AddRouteToSelection; PBD::Signal1 ControlProtocol::SetRouteSelection; +PBD::Signal1 ControlProtocol::ToggleRouteSelection; PBD::Signal1 ControlProtocol::RemoveRouteFromSelection; PBD::Signal0 ControlProtocol::ClearRouteSelection; +PBD::Signal0 ControlProtocol::StepTracksDown; +PBD::Signal0 ControlProtocol::StepTracksUp; + +const std::string ControlProtocol::state_node_name ("Protocol"); ControlProtocol::ControlProtocol (Session& s, string str) : BasicUI (s) @@ -61,6 +66,13 @@ ControlProtocol::~ControlProtocol () { } +int +ControlProtocol::set_active (bool yn) +{ + _active = yn; + return 0; +} + void ControlProtocol::next_track (uint32_t initial_id) { @@ -269,7 +281,7 @@ ControlProtocol::route_get_peak_input_power (uint32_t table_index, uint32_t whic return 0.0f; } - return r->peak_meter().peak_power (which_input); + return r->peak_meter().meter_level (which_input, MeterPeak); } @@ -353,5 +365,28 @@ ControlProtocol:: route_get_name (uint32_t table_index) list > ControlProtocol::bundles () { - return list > (); + return list > (); +} + +XMLNode& +ControlProtocol::get_state () +{ + XMLNode* node = new XMLNode (state_node_name); + + node->add_property ("name", _name); + node->add_property ("feedback", get_feedback() ? "yes" : "no"); + + return *node; +} + +int +ControlProtocol::set_state (XMLNode const & node, int /* version */) +{ + const XMLProperty* prop; + + if ((prop = node.property ("feedback")) != 0) { + set_feedback (string_is_affirmative (prop->value())); + } + + return 0; }