Fix unused parameter warnings since GCC apparently doesn't feel like listening to -Wno-unused-parameter

git-svn-id: svn://localhost/ardour2/branches/3.0@5835 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2009-10-21 00:15:42 +00:00
parent af8c16cfe0
commit bc56eb8bd7
33 changed files with 172 additions and 172 deletions

View file

@ -2228,7 +2228,7 @@ Editor::set_edit_point_preference (EditPoint ep, bool force)
} }
int int
Editor::set_state (const XMLNode& node, int version) Editor::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
XMLNode* geometry; XMLNode* geometry;

View file

@ -157,8 +157,8 @@ Keyboard::get_state (void)
return *node; return *node;
} }
int int
Keyboard::set_state (const XMLNode& node, int version) Keyboard::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -1001,7 +1001,7 @@ TimeAxisView::get_state ()
} }
int int
TimeAxisView::set_state (const XMLNode& node, int version) TimeAxisView::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty *prop; const XMLProperty *prop;

View file

@ -221,7 +221,7 @@ UIConfiguration::get_variables (std::string which_node)
} }
int int
UIConfiguration::set_state (const XMLNode& root, int version) UIConfiguration::set_state (const XMLNode& root, int /*version*/)
{ {
if (root.name() != "Ardour") { if (root.name() != "Ardour") {
return -1; return -1;

View file

@ -1768,7 +1768,7 @@ AudioDiskstream::get_state ()
} }
int int
AudioDiskstream::set_state (const XMLNode& node, int version) AudioDiskstream::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
XMLNodeList nlist = node.children(); XMLNodeList nlist = node.children();

View file

@ -56,7 +56,7 @@ AudioTrack::AudioTrack (Session& sess, string name, Route::Flag flag, TrackMode
use_new_diskstream (); use_new_diskstream ();
} }
AudioTrack::AudioTrack (Session& sess, const XMLNode& node, int version) AudioTrack::AudioTrack (Session& sess, const XMLNode& node, int /*version*/)
: Track (sess, node) : Track (sess, node)
{ {
_set_state (node, Stateful::loading_state_version, false); _set_state (node, Stateful::loading_state_version, false);

View file

@ -118,7 +118,7 @@ AudioSource::get_state ()
} }
int int
AudioSource::set_state (const XMLNode& node, int version) AudioSource::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -288,7 +288,7 @@ ControlProtocolManager::cpi_by_name (string name)
} }
int int
ControlProtocolManager::set_state (const XMLNode& node, int version) ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
{ {
XMLNodeList clist; XMLNodeList clist;
XMLNodeConstIterator citer; XMLNodeConstIterator citer;

View file

@ -720,7 +720,7 @@ Crossfade::get_state ()
} }
int int
Crossfade::set_state (const XMLNode& node, int version) Crossfade::set_state (const XMLNode& node, int /*version*/)
{ {
XMLNodeConstIterator i; XMLNodeConstIterator i;
XMLNodeList children; XMLNodeList children;

View file

@ -104,7 +104,7 @@ FileSource::init (const ustring& pathstr, bool must_exist)
} }
int int
FileSource::set_state (const XMLNode& node, int version) FileSource::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -739,7 +739,7 @@ IO::find_possible_bundle (const string &desired_name)
} }
int int
IO::get_port_counts_2X (XMLNode const & node, int version, ChanCount& n, boost::shared_ptr<Bundle>& c) IO::get_port_counts_2X (XMLNode const & node, int /*version*/, ChanCount& n, boost::shared_ptr<Bundle>& /*c*/)
{ {
XMLProperty const * prop; XMLProperty const * prop;
XMLNodeList children = node.children (); XMLNodeList children = node.children ();
@ -892,7 +892,7 @@ IO::make_connections (const XMLNode& node, int version, bool in)
int int
IO::make_connections_2X (const XMLNode& node, int version, bool in) IO::make_connections_2X (const XMLNode& node, int /*version*/, bool in)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -347,7 +347,7 @@ Location::get_state (void)
} }
int int
Location::set_state (const XMLNode& node, int version) Location::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty *prop; const XMLProperty *prop;
@ -674,7 +674,7 @@ Locations::get_state ()
} }
int int
Locations::set_state (const XMLNode& node, int version) Locations::set_state (const XMLNode& node, int /*version*/)
{ {
XMLNodeList nlist; XMLNodeList nlist;
XMLNodeConstIterator niter; XMLNodeConstIterator niter;

View file

@ -354,7 +354,7 @@ LV2Plugin::has_editor() const
} }
int int
LV2Plugin::set_state(const XMLNode& node, int version) LV2Plugin::set_state(const XMLNode& node, int /*version*/)
{ {
XMLNodeList nodes; XMLNodeList nodes;
XMLProperty *prop; XMLProperty *prop;

View file

@ -1232,7 +1232,7 @@ MidiDiskstream::get_state ()
} }
int int
MidiDiskstream::set_state (const XMLNode& node, int version) MidiDiskstream::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
XMLNodeList nlist = node.children(); XMLNodeList nlist = node.children();

View file

@ -260,7 +260,7 @@ MidiModel::DeltaCommand::unmarshal_note(XMLNode *xml_note)
#define DELTA_COMMAND_ELEMENT "DeltaCommand" #define DELTA_COMMAND_ELEMENT "DeltaCommand"
int int
MidiModel::DeltaCommand::set_state (const XMLNode& delta_command, int version) MidiModel::DeltaCommand::set_state (const XMLNode& delta_command, int /*version*/)
{ {
if (delta_command.name() != string(DELTA_COMMAND_ELEMENT)) { if (delta_command.name() != string(DELTA_COMMAND_ELEMENT)) {
return 1; return 1;
@ -646,7 +646,7 @@ MidiModel::DiffCommand::unmarshal_change(XMLNode *xml_change)
} }
int int
MidiModel::DiffCommand::set_state(const XMLNode& diff_command, int version) MidiModel::DiffCommand::set_state(const XMLNode& diff_command, int /*version*/)
{ {
if (diff_command.name() != string(DIFF_COMMAND_ELEMENT)) { if (diff_command.name() != string(DIFF_COMMAND_ELEMENT)) {
return 1; return 1;

View file

@ -95,7 +95,7 @@ MidiSource::get_state ()
} }
int int
MidiSource::set_state (const XMLNode& node, int version) MidiSource::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -66,7 +66,7 @@ MidiTrack::MidiTrack (Session& sess, string name, Route::Flag flag, TrackMode mo
_mode = mode; _mode = mode;
} }
MidiTrack::MidiTrack (Session& sess, const XMLNode& node, int version) MidiTrack::MidiTrack (Session& sess, const XMLNode& node, int /*version*/)
: Track (sess, node, DataType::MIDI) : Track (sess, node, DataType::MIDI)
, _immediate_events(1024) // FIXME: size? , _immediate_events(1024) // FIXME: size?
, _step_edit_ring_buffer(64) // FIXME: size? , _step_edit_ring_buffer(64) // FIXME: size?

View file

@ -103,7 +103,7 @@ MuteMaster::get_value () const
} }
int int
MuteMaster::set_state (const XMLNode& node, int version) MuteMaster::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -172,7 +172,7 @@ StreamPanner::set_position (float xpos, float ypos, float zpos, bool link_call)
} }
int int
StreamPanner::set_state (const XMLNode& node, int version) StreamPanner::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
XMLNodeConstIterator iter; XMLNodeConstIterator iter;
@ -730,7 +730,7 @@ Multi2dPanner::state (bool /*full_state*/)
} }
int int
Multi2dPanner::set_state (const XMLNode& node, int version) Multi2dPanner::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
float newx,newy; float newx,newy;

View file

@ -145,7 +145,7 @@ Processor::state (bool full_state)
} }
int int
Processor::set_state_2X (const XMLNode & node, int version) Processor::set_state_2X (const XMLNode & node, int /*version*/)
{ {
XMLProperty const * prop; XMLProperty const * prop;

View file

@ -240,7 +240,7 @@ RCConfiguration::get_variables ()
} }
int int
RCConfiguration::set_state (const XMLNode& root, int version) RCConfiguration::set_state (const XMLNode& root, int /*version*/)
{ {
if (root.name() != "Ardour") { if (root.name() != "Ardour") {
return -1; return -1;

View file

@ -1174,7 +1174,7 @@ Region::get_state ()
} }
int int
Region::set_live_state (const XMLNode& node, int version, Change& what_changed, bool send) Region::set_live_state (const XMLNode& node, int /*version*/, Change& what_changed, bool send)
{ {
const XMLNodeList& nlist = node.children(); const XMLNodeList& nlist = node.children();
const XMLProperty *prop; const XMLProperty *prop;

View file

@ -136,7 +136,7 @@ RouteGroup::get_state (void)
return *node; return *node;
} }
int int
RouteGroup::set_state (const XMLNode& node, int version) RouteGroup::set_state (const XMLNode& node, int version)
{ {
if (version < 3000) { if (version < 3000) {
@ -161,14 +161,14 @@ RouteGroup::set_state (const XMLNode& node, int version)
} }
int int
RouteGroup::set_state_2X (const XMLNode& node, int version) RouteGroup::set_state_2X (const XMLNode& node, int /*version*/)
{ {
XMLProperty const * prop; XMLProperty const * prop;
if ((prop = node.property ("name")) != 0) { if ((prop = node.property ("name")) != 0) {
_name = prop->value(); _name = prop->value();
} }
if ((prop = node.property ("flags")) != 0) { if ((prop = node.property ("flags")) != 0) {
_flags = Flag (string_2_enum (prop->value(), _flags)); _flags = Flag (string_2_enum (prop->value(), _flags));
} }

View file

@ -170,7 +170,7 @@ Session::GlobalRouteStateCommand::GlobalRouteStateCommand (Session& s, const XML
} }
int int
Session::GlobalRouteStateCommand::set_state (const XMLNode& node, int version) Session::GlobalRouteStateCommand::set_state (const XMLNode& node, int /*version*/)
{ {
GlobalRouteBooleanState states; GlobalRouteBooleanState states;
XMLNodeList nlist; XMLNodeList nlist;
@ -483,7 +483,7 @@ Session::GlobalMeteringStateCommand::get_state()
} }
int int
Session::GlobalMeteringStateCommand::set_state (const XMLNode& node, int version) Session::GlobalMeteringStateCommand::set_state (const XMLNode& node, int /*version*/)
{ {
GlobalRouteBooleanState states; GlobalRouteBooleanState states;
XMLNodeList nlist; XMLNodeList nlist;

View file

@ -76,7 +76,7 @@ SessionConfiguration::get_variables ()
int int
SessionConfiguration::set_state (XMLNode const& root, int version) SessionConfiguration::set_state (XMLNode const& root, int /*version*/)
{ {
if (root.name() != "Ardour") { if (root.name() != "Ardour") {
return -1; return -1;

View file

@ -163,7 +163,7 @@ SessionMetadata::get_state ()
} }
int int
SessionMetadata::set_state (const XMLNode & state, int version) SessionMetadata::set_state (const XMLNode & state, int /*version*/)
{ {
const XMLNodeList & children = state.children(); const XMLNodeList & children = state.children();
ustring name; ustring name;

View file

@ -110,7 +110,7 @@ Source::get_state ()
} }
int int
Source::set_state (const XMLNode& node, int version) Source::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;

View file

@ -1500,7 +1500,7 @@ TempoMap::get_state ()
} }
int int
TempoMap::set_state (const XMLNode& node, int version) TempoMap::set_state (const XMLNode& node, int /*version*/)
{ {
{ {
Glib::RWLock::WriterLock lm (lock); Glib::RWLock::WriterLock lm (lock);

View file

@ -24,7 +24,7 @@ ARDOUR::UserBundle::UserBundle (XMLNode const & node, bool i)
} }
int int
ARDOUR::UserBundle::set_state (XMLNode const & node, int version) ARDOUR::UserBundle::set_state (XMLNode const & node, int /*version*/)
{ {
XMLProperty const * name; XMLProperty const * name;

View file

@ -1,5 +1,5 @@
/* /*
Copyright (C) 2008 Hans Baier Copyright (C) 2008 Hans Baier
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -61,7 +61,7 @@ void initialize_primary_key_from_commands (PatchPrimaryKey& id, const XMLNode* n
assert(control != ""); assert(control != "");
string value = node->property("Value")->value(); string value = node->property("Value")->value();
assert(value != ""); assert(value != "");
if (control == "0") { if (control == "0") {
id.msb = PBD::atoi(value); id.msb = PBD::atoi(value);
} else if (control == "32") { } else if (control == "32") {
@ -77,13 +77,13 @@ void initialize_primary_key_from_commands (PatchPrimaryKey& id, const XMLNode* n
int int
Patch::set_state (const XMLNode& node, int version) Patch::set_state (const XMLNode& node, int /*version*/)
{ {
assert(node.name() == "Patch"); assert(node.name() == "Patch");
_number = node.property("Number")->value(); _number = node.property("Number")->value();
_name = node.property("Name")->value(); _name = node.property("Name")->value();
XMLNode* commands = node.child("PatchMIDICommands"); XMLNode* commands = node.child("PatchMIDICommands");
if (commands) { if (commands) {
initialize_primary_key_from_commands(_id, commands); initialize_primary_key_from_commands(_id, commands);
} else { } else {
@ -101,7 +101,7 @@ Patch::set_state (const XMLNode& node, int version)
cerr << "deserialized Patch: name: " << _name << " msb: " << _id.msb << " lsb: " << _id.lsb << " program " << _id.program_number << endl; cerr << "deserialized Patch: name: " << _name << " msb: " << _id.msb << " lsb: " << _id.lsb << " program " << _id.program_number << endl;
// TODO: handle that more gracefully // TODO: handle that more gracefully
assert(_id.is_sane()); assert(_id.is_sane());
return 0; return 0;
} }
@ -116,7 +116,7 @@ Note::get_state (void)
} }
int int
Note::set_state (const XMLNode& node, int version) Note::set_state (const XMLNode& node, int /*version*/)
{ {
assert(node.name() == "Note"); assert(node.name() == "Note");
_number = node.property("Number")->value(); _number = node.property("Number")->value();
@ -147,7 +147,7 @@ NoteNameList::set_state (const XMLNode& node, int version)
note->set_state(*(*i), version); note->set_state(*(*i), version);
_notes.push_back(note); _notes.push_back(note);
} }
return 0; return 0;
} }
@ -178,7 +178,7 @@ PatchBank::set_state (const XMLNode& node, int version)
_id = new PatchPrimaryKey(); _id = new PatchPrimaryKey();
initialize_primary_key_from_commands(*_id, commands); initialize_primary_key_from_commands(*_id, commands);
} }
XMLNode* patch_name_list = node.child("PatchNameList"); XMLNode* patch_name_list = node.child("PatchNameList");
assert(patch_name_list); assert(patch_name_list);
const XMLNodeList patches = patch_name_list->children(); const XMLNodeList patches = patch_name_list->children();
@ -187,7 +187,7 @@ PatchBank::set_state (const XMLNode& node, int version)
patch->set_state(*(*i), version); patch->set_state(*(*i), version);
_patch_name_list.push_back(patch); _patch_name_list.push_back(patch);
} }
return 0; return 0;
} }
@ -245,7 +245,7 @@ ChannelNameSet::set_state (const XMLNode& node, int version)
// cerr << "AvailableForChannels after insert" << endl; // cerr << "AvailableForChannels after insert" << endl;
} }
} }
// cerr << "before PatchBank" << endl; // cerr << "before PatchBank" << endl;
if (node->name() == "PatchBank") { if (node->name() == "PatchBank") {
@ -263,19 +263,19 @@ ChannelNameSet::set_state (const XMLNode& node, int version)
// cerr << "after PatchBank pushback" << endl; // cerr << "after PatchBank pushback" << endl;
} }
} }
// cerr << "ChannelnameSet done" << endl; // cerr << "ChannelnameSet done" << endl;
return 0; return 0;
} }
int int
CustomDeviceMode::set_state(const XMLNode& a_node, int version) CustomDeviceMode::set_state(const XMLNode& a_node, int /*version*/)
{ {
assert(a_node.name() == "CustomDeviceMode"); assert(a_node.name() == "CustomDeviceMode");
_name = a_node.property("Name")->value(); _name = a_node.property("Name")->value();
boost::shared_ptr<XMLSharedNodeList> channel_name_set_assignments = boost::shared_ptr<XMLSharedNodeList> channel_name_set_assignments =
a_node.find("//ChannelNameSetAssign"); a_node.find("//ChannelNameSetAssign");
for(XMLSharedNodeList::const_iterator i = channel_name_set_assignments->begin(); for(XMLSharedNodeList::const_iterator i = channel_name_set_assignments->begin();
@ -294,15 +294,15 @@ CustomDeviceMode::get_state(void)
{ {
XMLNode* custom_device_mode = new XMLNode("CustomDeviceMode"); XMLNode* custom_device_mode = new XMLNode("CustomDeviceMode");
custom_device_mode->add_property("Name", _name); custom_device_mode->add_property("Name", _name);
XMLNode* channel_name_set_assignments = XMLNode* channel_name_set_assignments =
custom_device_mode->add_child("ChannelNameSetAssignments"); custom_device_mode->add_child("ChannelNameSetAssignments");
for (int i = 0; i < 15 && !_channel_name_set_assignments[i].empty(); i++) { for (int i = 0; i < 15 && !_channel_name_set_assignments[i].empty(); i++) {
XMLNode* channel_name_set_assign = XMLNode* channel_name_set_assign =
channel_name_set_assignments->add_child("ChannelNameSetAssign"); channel_name_set_assignments->add_child("ChannelNameSetAssign");
channel_name_set_assign->add_property("Channel", i + 1); channel_name_set_assign->add_property("Channel", i + 1);
channel_name_set_assign->add_property("NameSet", _channel_name_set_assignments[i]); channel_name_set_assign->add_property("NameSet", _channel_name_set_assignments[i]);
} }
return *custom_device_mode; return *custom_device_mode;
} }
@ -337,7 +337,7 @@ MasterDeviceNames::set_state(const XMLNode& a_node, int version)
++i) { ++i) {
boost::shared_ptr<CustomDeviceMode> custom_device_mode(new CustomDeviceMode()); boost::shared_ptr<CustomDeviceMode> custom_device_mode(new CustomDeviceMode());
custom_device_mode->set_state(*(*i), version); custom_device_mode->set_state(*(*i), version);
_custom_device_modes[custom_device_mode->name()] = custom_device_mode; _custom_device_modes[custom_device_mode->name()] = custom_device_mode;
_custom_device_mode_names.push_back(custom_device_mode->name()); _custom_device_mode_names.push_back(custom_device_mode->name());
} }
@ -376,9 +376,9 @@ MasterDeviceNames::get_state(void)
} }
MIDINameDocument::MIDINameDocument (const string& filename) MIDINameDocument::MIDINameDocument (const string& filename)
: _document(XMLTree(filename)) : _document(XMLTree(filename))
{ {
set_state(*_document.root(), 0); set_state(*_document.root(), 0);
} }
int int
@ -388,7 +388,7 @@ MIDINameDocument::set_state(const XMLNode& a_node, int version)
boost::shared_ptr<XMLSharedNodeList> author = a_node.find("//Author"); boost::shared_ptr<XMLSharedNodeList> author = a_node.find("//Author");
assert(author->size() == 1); assert(author->size() == 1);
_author = author->front()->content(); _author = author->front()->content();
// cerr << "MIDINameDocument::set_state befor masterdevicenames" << endl; // cerr << "MIDINameDocument::set_state befor masterdevicenames" << endl;
// MasterDeviceNames // MasterDeviceNames
boost::shared_ptr<XMLSharedNodeList> master_device_names_list = a_node.find("//MasterDeviceNames"); boost::shared_ptr<XMLSharedNodeList> master_device_names_list = a_node.find("//MasterDeviceNames");
@ -399,7 +399,7 @@ MIDINameDocument::set_state(const XMLNode& a_node, int version)
// cerr << "MIDINameDocument::set_state before masterdevicenames->set_state" << endl; // cerr << "MIDINameDocument::set_state before masterdevicenames->set_state" << endl;
master_device_names->set_state(*(*i), version); master_device_names->set_state(*(*i), version);
// cerr << "MIDINameDocument::set_state after masterdevicenames->set_state" << endl; // cerr << "MIDINameDocument::set_state after masterdevicenames->set_state" << endl;
for (MasterDeviceNames::Models::const_iterator model = master_device_names->models().begin(); for (MasterDeviceNames::Models::const_iterator model = master_device_names->models().begin();
model != master_device_names->models().end(); model != master_device_names->models().end();
++model) { ++model) {
@ -407,11 +407,11 @@ MIDINameDocument::set_state(const XMLNode& a_node, int version)
_master_device_names_list.insert( _master_device_names_list.insert(
std::pair<std::string, boost::shared_ptr<MasterDeviceNames> > std::pair<std::string, boost::shared_ptr<MasterDeviceNames> >
(*model, master_device_names)); (*model, master_device_names));
_all_models.push_back(*model); _all_models.push_back(*model);
} }
} }
return 0; return 0;
} }

View file

@ -105,7 +105,7 @@ Controllable::get_state ()
} }
int int
Controllable::set_state (const XMLNode& node, int version) Controllable::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop = node.property (X_("id")); const XMLProperty* prop = node.property (X_("id"));

View file

@ -1,6 +1,6 @@
/* /*
Copyright (C) 1998-2006 Paul Davis Copyright (C) 1998-2006 Paul Davis
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or the Free Software Foundation; either version 2 of the License, or
@ -42,7 +42,7 @@ MIDIControllable::MIDIControllable (Port& p, Controllable& c, bool is_bistate)
control_additional = (byte) -1; control_additional = (byte) -1;
connections = 0; connections = 0;
feedback = true; // for now feedback = true; // for now
/* use channel 0 ("1") as the initial channel */ /* use channel 0 ("1") as the initial channel */
midi_rebind (0); midi_rebind (0);
@ -59,18 +59,18 @@ MIDIControllable::midi_forget ()
/* stop listening for incoming messages, but retain /* stop listening for incoming messages, but retain
our existing event + type information. our existing event + type information.
*/ */
if (connections > 0) { if (connections > 0) {
midi_sense_connection[0].disconnect (); midi_sense_connection[0].disconnect ();
} }
if (connections > 1) { if (connections > 1) {
midi_sense_connection[1].disconnect (); midi_sense_connection[1].disconnect ();
} }
connections = 0; connections = 0;
midi_learn_connection.disconnect (); midi_learn_connection.disconnect ();
} }
void void
@ -101,7 +101,7 @@ MIDIControllable::drop_external_control ()
{ {
if (connections > 0) { if (connections > 0) {
midi_sense_connection[0].disconnect (); midi_sense_connection[0].disconnect ();
} }
if (connections > 1) { if (connections > 1) {
midi_sense_connection[1].disconnect (); midi_sense_connection[1].disconnect ();
} }
@ -147,14 +147,14 @@ MIDIControllable::midi_to_control(float val)
return val / midi_range * control_range + control_min; return val / midi_range * control_range + control_min;
} }
void void
MIDIControllable::midi_sense_note_on (Parser &p, EventTwoBytes *tb) MIDIControllable::midi_sense_note_on (Parser &p, EventTwoBytes *tb)
{ {
midi_sense_note (p, tb, true); midi_sense_note (p, tb, true);
} }
void void
MIDIControllable::midi_sense_note_off (Parser &p, EventTwoBytes *tb) MIDIControllable::midi_sense_note_off (Parser &p, EventTwoBytes *tb)
{ {
midi_sense_note (p, tb, false); midi_sense_note (p, tb, false);
} }
@ -168,7 +168,7 @@ MIDIControllable::midi_sense_note (Parser &, EventTwoBytes *msg, bool is_on)
/* Note: parser handles the use of zero velocity to /* Note: parser handles the use of zero velocity to
mean note off. if we get called with is_on=true, then we mean note off. if we get called with is_on=true, then we
got a *real* note on. got a *real* note on.
*/ */
if (msg->note_number == control_additional) { if (msg->note_number == control_additional) {
@ -209,7 +209,7 @@ MIDIControllable::midi_sense_program_change (Parser &, byte msg)
if (!bistate) { if (!bistate) {
controllable.set_value (msg/127.0); controllable.set_value (msg/127.0);
last_value = (MIDI::byte) (controllable.get_value() * 127.0); // to prevent feedback fights last_value = (MIDI::byte) (controllable.get_value() * 127.0); // to prevent feedback fights
} }
} }
void void
@ -221,7 +221,7 @@ MIDIControllable::midi_sense_pitchbend (Parser &, pitchbend_t pb)
controllable.set_value ((pb/(float) SHRT_MAX)); controllable.set_value ((pb/(float) SHRT_MAX));
last_value = (MIDI::byte) (controllable.get_value() * 127.0); // to prevent feedback fights last_value = (MIDI::byte) (controllable.get_value() * 127.0); // to prevent feedback fights
} }
void void
MIDIControllable::midi_receiver (Parser &, byte *msg, size_t /*len*/) MIDIControllable::midi_receiver (Parser &, byte *msg, size_t /*len*/)
@ -257,7 +257,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
if (_port.input() == 0) { if (_port.input() == 0) {
return; return;
} }
Parser& p = *_port.input(); Parser& p = *_port.input();
int chn_i = chn; int chn_i = chn;
@ -284,7 +284,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
midi_sense_connection[0] = p.channel_note_on[chn_i].connect midi_sense_connection[0] = p.channel_note_on[chn_i].connect
(mem_fun (*this, &MIDIControllable::midi_sense_note_on)); (mem_fun (*this, &MIDIControllable::midi_sense_note_on));
if (bistate) { if (bistate) {
midi_sense_connection[1] = p.channel_note_off[chn_i].connect midi_sense_connection[1] = p.channel_note_off[chn_i].connect
(mem_fun (*this, &MIDIControllable::midi_sense_note_off)); (mem_fun (*this, &MIDIControllable::midi_sense_note_off));
connections = 2; connections = 2;
} else { } else {
@ -294,7 +294,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
break; break;
case MIDI::controller: case MIDI::controller:
midi_sense_connection[0] = p.channel_controller[chn_i].connect midi_sense_connection[0] = p.channel_controller[chn_i].connect
(mem_fun (*this, &MIDIControllable::midi_sense_controller)); (mem_fun (*this, &MIDIControllable::midi_sense_controller));
connections = 1; connections = 1;
snprintf (buf, sizeof (buf), "MIDI control: Controller %d", control_additional); snprintf (buf, sizeof (buf), "MIDI control: Controller %d", control_additional);
@ -304,7 +304,7 @@ MIDIControllable::bind_midi (channel_t chn, eventType ev, MIDI::byte additional)
case MIDI::program: case MIDI::program:
if (!bistate) { if (!bistate) {
midi_sense_connection[0] = p.channel_program_change[chn_i].connect midi_sense_connection[0] = p.channel_program_change[chn_i].connect
(mem_fun (*this, (mem_fun (*this,
&MIDIControllable::midi_sense_program_change)); &MIDIControllable::midi_sense_program_change));
connections = 1; connections = 1;
_control_description = "MIDI control: ProgramChange"; _control_description = "MIDI control: ProgramChange";
@ -334,7 +334,7 @@ MIDIControllable::send_feedback ()
return; return;
} }
msg[0] = (control_type & 0xF0) | (control_channel & 0xF); msg[0] = (control_type & 0xF0) | (control_channel & 0xF);
msg[1] = control_additional; msg[1] = control_additional;
msg[2] = (byte) (control_to_midi(controllable.get_value())); msg[2] = (byte) (control_to_midi(controllable.get_value()));
@ -345,9 +345,9 @@ MIDI::byte*
MIDIControllable::write_feedback (MIDI::byte* buf, int32_t& bufsize, bool /*force*/) MIDIControllable::write_feedback (MIDI::byte* buf, int32_t& bufsize, bool /*force*/)
{ {
if (control_type != none && feedback && bufsize > 2) { if (control_type != none && feedback && bufsize > 2) {
MIDI::byte gm = (MIDI::byte) (control_to_midi(controllable.get_value())); MIDI::byte gm = (MIDI::byte) (control_to_midi(controllable.get_value()));
if (gm != last_value) { if (gm != last_value) {
*buf++ = (0xF0 & control_type) | (0xF & control_channel); *buf++ = (0xF0 & control_type) | (0xF & control_channel);
*buf++ = control_additional; /* controller number */ *buf++ = control_additional; /* controller number */
@ -356,12 +356,12 @@ MIDIControllable::write_feedback (MIDI::byte* buf, int32_t& bufsize, bool /*forc
bufsize -= 3; bufsize -= 3;
} }
} }
return buf; return buf;
} }
int int
MIDIControllable::set_state (const XMLNode& node, int version) MIDIControllable::set_state (const XMLNode& node, int /*version*/)
{ {
const XMLProperty* prop; const XMLProperty* prop;
int xx; int xx;
@ -394,7 +394,7 @@ MIDIControllable::set_state (const XMLNode& node, int version)
} }
bind_midi (control_channel, control_type, control_additional); bind_midi (control_channel, control_type, control_additional);
return 0; return 0;
} }

View file

@ -187,7 +187,7 @@ MackiePort & MackieControlProtocol::port_for_id( uint32_t index )
current_max += (*it)->strips(); current_max += (*it)->strips();
if ( index < current_max ) return **it; if ( index < current_max ) return **it;
} }
// oops - no matching port // oops - no matching port
ostringstream os; ostringstream os;
os << "No port for index " << index; os << "No port for index " << index;
@ -216,15 +216,15 @@ struct RouteByRemoteId
MackieControlProtocol::Sorted MackieControlProtocol::get_sorted_routes() MackieControlProtocol::Sorted MackieControlProtocol::get_sorted_routes()
{ {
Sorted sorted; Sorted sorted;
// fetch all routes // fetch all routes
boost::shared_ptr<RouteList> routes = session->get_routes(); boost::shared_ptr<RouteList> routes = session->get_routes();
set<uint32_t> remote_ids; set<uint32_t> remote_ids;
// routes with remote_id 0 should never be added // routes with remote_id 0 should never be added
// TODO verify this with ardour devs // TODO verify this with ardour devs
// remote_ids.insert( 0 ); // remote_ids.insert( 0 );
// sort in remote_id order, and exclude master, control and hidden routes // sort in remote_id order, and exclude master, control and hidden routes
// and any routes that are already set. // and any routes that are already set.
for (RouteList::iterator it = routes->begin(); it != routes->end(); ++it ) for (RouteList::iterator it = routes->begin(); it != routes->end(); ++it )
@ -255,7 +255,7 @@ void MackieControlProtocol::switch_banks( int initial )
{ {
// DON'T prevent bank switch if initial == _current_initial_bank // DON'T prevent bank switch if initial == _current_initial_bank
// because then this method can't be used as a refresh // because then this method can't be used as a refresh
// sanity checking // sanity checking
Sorted sorted = get_sorted_routes(); Sorted sorted = get_sorted_routes();
int delta = sorted.size() - route_table.size(); int delta = sorted.size() - route_table.size();
@ -267,11 +267,11 @@ void MackieControlProtocol::switch_banks( int initial )
return; return;
} }
_current_initial_bank = initial; _current_initial_bank = initial;
// first clear the signals from old routes // first clear the signals from old routes
// taken care of by the RouteSignal destructors // taken care of by the RouteSignal destructors
clear_route_signals(); clear_route_signals();
// now set the signals for new routes // now set the signals for new routes
if ( _current_initial_bank <= sorted.size() ) if ( _current_initial_bank <= sorted.size() )
{ {
@ -282,7 +282,7 @@ void MackieControlProtocol::switch_banks( int initial )
#ifdef DEBUG #ifdef DEBUG
cout << "switch to " << _current_initial_bank << ", " << end_pos << endl; cout << "switch to " << _current_initial_bank << ", " << end_pos << endl;
#endif #endif
// link routes to strips // link routes to strips
uint32_t i = 0; uint32_t i = 0;
for ( ; it != end && it != sorted.end(); ++it, ++i ) for ( ; it != end && it != sorted.end(); ++it, ++i )
@ -298,7 +298,7 @@ void MackieControlProtocol::switch_banks( int initial )
// update strip from route // update strip from route
rs->notify_all(); rs->notify_all();
} }
// create dead strips if there aren't enough routes to // create dead strips if there aren't enough routes to
// fill a bank // fill a bank
for ( ; i < route_table.size(); ++i ) for ( ; i < route_table.size(); ++i )
@ -309,7 +309,7 @@ void MackieControlProtocol::switch_banks( int initial )
port.write( builder.zero_strip( port, strip ) ); port.write( builder.zero_strip( port, strip ) );
} }
} }
// display the current start bank. // display the current start bank.
surface().display_bank_start( mcu_port(), builder, _current_initial_bank ); surface().display_bank_start( mcu_port(), builder, _current_initial_bank );
} }
@ -317,17 +317,17 @@ void MackieControlProtocol::switch_banks( int initial )
void MackieControlProtocol::zero_all() void MackieControlProtocol::zero_all()
{ {
// TODO turn off SMPTE displays // TODO turn off SMPTE displays
// zero all strips // zero all strips
for ( Surface::Strips::iterator it = surface().strips.begin(); it != surface().strips.end(); ++it ) for ( Surface::Strips::iterator it = surface().strips.begin(); it != surface().strips.end(); ++it )
{ {
MackiePort & port = port_for_id( (*it)->index() ); MackiePort & port = port_for_id( (*it)->index() );
port.write( builder.zero_strip( port, **it ) ); port.write( builder.zero_strip( port, **it ) );
} }
// and the master strip // and the master strip
mcu_port().write( builder.zero_strip( dynamic_cast<MackiePort&>( mcu_port() ), master_strip() ) ); mcu_port().write( builder.zero_strip( dynamic_cast<MackiePort&>( mcu_port() ), master_strip() ) );
// turn off global buttons and leds // turn off global buttons and leds
// global buttons are only ever on mcu_port, so we don't have // global buttons are only ever on mcu_port, so we don't have
// to figure out which port. // to figure out which port.
@ -355,29 +355,29 @@ int MackieControlProtocol::set_active( bool yn )
if ( yn ) if ( yn )
{ {
// TODO what happens if this fails half way? // TODO what happens if this fails half way?
// create MackiePorts // create MackiePorts
{ {
Glib::Mutex::Lock lock( update_mutex ); Glib::Mutex::Lock lock( update_mutex );
create_ports(); create_ports();
} }
// make sure the ports are being listened to // make sure the ports are being listened to
update_ports(); update_ports();
// wait until poll thread is running, with ports to poll // wait until poll thread is running, with ports to poll
// the mutex is only there because conditions require a mutex // the mutex is only there because conditions require a mutex
{ {
Glib::Mutex::Lock lock( update_mutex ); Glib::Mutex::Lock lock( update_mutex );
while ( nfds == 0 ) update_cond.wait( update_mutex ); while ( nfds == 0 ) update_cond.wait( update_mutex );
} }
// now initialise MackiePorts - ie exchange sysex messages // now initialise MackiePorts - ie exchange sysex messages
for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it ) for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it )
{ {
(*it)->open(); (*it)->open();
} }
// wait until all ports are active // wait until all ports are active
// TODO a more sophisticated approach would // TODO a more sophisticated approach would
// allow things to start up with only an MCU, even if // allow things to start up with only an MCU, even if
@ -386,15 +386,15 @@ int MackieControlProtocol::set_active( bool yn )
{ {
(*it)->wait_for_init(); (*it)->wait_for_init();
} }
// create surface object. This depends on the ports being // create surface object. This depends on the ports being
// correctly initialised // correctly initialised
initialize_surface(); initialize_surface();
connect_session_signals(); connect_session_signals();
// yeehah! // yeehah!
_active = true; _active = true;
// send current control positions to surface // send current control positions to surface
// must come after _active = true otherwise it won't run // must come after _active = true otherwise it won't run
update_surface(); update_surface();
@ -450,13 +450,13 @@ bool MackieControlProtocol::handle_strip_button( Control & control, ButtonState
//state = default_button_press( dynamic_cast<Button&>( control ) ); //state = default_button_press( dynamic_cast<Button&>( control ) );
} }
} }
if ( control.name() == "fader_touch" ) if ( control.name() == "fader_touch" )
{ {
state = bs == press; state = bs == press;
control.strip().gain().in_use( state ); control.strip().gain().in_use( state );
} }
return state; return state;
} }
@ -541,7 +541,7 @@ void MackieControlProtocol::update_surface()
// do the initial bank switch to connect signals // do the initial bank switch to connect signals
// _current_initial_bank is initialised by set_state // _current_initial_bank is initialised by set_state
switch_banks( _current_initial_bank ); switch_banks( _current_initial_bank );
// create a RouteSignal for the master route // create a RouteSignal for the master route
boost::shared_ptr<Route> mr = master_route (); boost::shared_ptr<Route> mr = master_route ();
@ -550,10 +550,10 @@ void MackieControlProtocol::update_surface()
// update strip from route // update strip from route
master_route_signal->notify_all(); master_route_signal->notify_all();
} }
// sometimes the jog wheel is a pot // sometimes the jog wheel is a pot
surface().blank_jog_ring( mcu_port(), builder ); surface().blank_jog_ring( mcu_port(), builder );
// update global buttons and displays // update global buttons and displays
notify_record_state_changed(); notify_record_state_changed();
notify_transport_state_changed(); notify_transport_state_changed();
@ -574,7 +574,7 @@ void MackieControlProtocol::connect_session_signals()
session->config.ParameterChanged.connect ( ( mem_fun (*this, &MackieControlProtocol::notify_parameter_changed) ) ); session->config.ParameterChanged.connect ( ( mem_fun (*this, &MackieControlProtocol::notify_parameter_changed) ) );
// receive rude solo changed // receive rude solo changed
connections_back = session->SoloActive.connect( ( mem_fun (*this, &MackieControlProtocol::notify_solo_active_changed) ) ); connections_back = session->SoloActive.connect( ( mem_fun (*this, &MackieControlProtocol::notify_solo_active_changed) ) );
// make sure remote id changed signals reach here // make sure remote id changed signals reach here
// see also notify_route_added // see also notify_route_added
Sorted sorted = get_sorted_routes(); Sorted sorted = get_sorted_routes();
@ -603,7 +603,7 @@ void MackieControlProtocol::add_port( MIDI::Port & midi_port, int number )
{ {
MackiePort * sport = new MackiePort( *this, midi_port, number ); MackiePort * sport = new MackiePort( *this, midi_port, number );
_ports.push_back( sport ); _ports.push_back( sport );
connections_back = sport->init_event.connect( connections_back = sport->init_event.connect(
sigc::bind ( sigc::bind (
mem_fun (*this, &MackieControlProtocol::handle_port_init) mem_fun (*this, &MackieControlProtocol::handle_port_init)
@ -624,7 +624,7 @@ void MackieControlProtocol::add_port( MIDI::Port & midi_port, int number )
, sport , sport
) )
); );
_ports_changed = true; _ports_changed = true;
} }
} }
@ -645,7 +645,7 @@ void MackieControlProtocol::create_ports()
} }
add_port( *midi_port, 0 ); add_port( *midi_port, 0 );
} }
// open extender ports. Up to 9. Should be enough. // open extender ports. Up to 9. Should be enough.
// could also use mm->get_midi_ports() // could also use mm->get_midi_ports()
string ext_port_base = "mcu_xt_"; string ext_port_base = "mcu_xt_";
@ -676,9 +676,9 @@ void MackieControlProtocol::initialize_surface()
{ {
strips += (*it)->strips(); strips += (*it)->strips();
} }
set_route_table_size( strips ); set_route_table_size( strips );
// TODO same as code in mackie_port.cc // TODO same as code in mackie_port.cc
string emulation = ARDOUR::Config->get_mackie_emulation(); string emulation = ARDOUR::Config->get_mackie_emulation();
if ( emulation == "bcf" ) if ( emulation == "bcf" )
@ -697,7 +697,7 @@ void MackieControlProtocol::initialize_surface()
} }
_surface->init(); _surface->init();
// Connect events. Must be after route table otherwise there will be trouble // Connect events. Must be after route table otherwise there will be trouble
for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it ) for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it )
{ {
@ -712,10 +712,10 @@ void MackieControlProtocol::close()
// calls methods on objects that are deleted // calls methods on objects that are deleted
_polling = false; _polling = false;
pthread_join( thread, 0 ); pthread_join( thread, 0 );
// TODO disconnect port active/inactive signals // TODO disconnect port active/inactive signals
// Or at least put a lock here // Or at least put a lock here
// disconnect global signals from Session // disconnect global signals from Session
// TODO Since *this is a sigc::trackable, this shouldn't be necessary // TODO Since *this is a sigc::trackable, this shouldn't be necessary
// but it is for some reason // but it is for some reason
@ -725,7 +725,7 @@ void MackieControlProtocol::close()
it->disconnect(); it->disconnect();
} }
#endif #endif
if ( _surface != 0 ) if ( _surface != 0 )
{ {
// These will fail if the port has gone away. // These will fail if the port has gone away.
@ -742,7 +742,7 @@ void MackieControlProtocol::close()
cout << "MackieControlProtocol::close caught exception: " << e.what() << endl; cout << "MackieControlProtocol::close caught exception: " << e.what() << endl;
#endif #endif
} }
for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it ) for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it )
{ {
try try
@ -762,21 +762,21 @@ void MackieControlProtocol::close()
#endif #endif
} }
} }
// disconnect routes from strips // disconnect routes from strips
clear_route_signals(); clear_route_signals();
delete _surface; delete _surface;
_surface = 0; _surface = 0;
} }
// shut down MackiePorts // shut down MackiePorts
for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it ) for( MackiePorts::iterator it = _ports.begin(); it != _ports.end(); ++it )
{ {
delete *it; delete *it;
} }
_ports.clear(); _ports.clear();
// this is done already in monitor_work. But it's here so we know. // this is done already in monitor_work. But it's here so we know.
delete[] pfd; delete[] pfd;
pfd = 0; pfd = 0;
@ -793,26 +793,26 @@ XMLNode & MackieControlProtocol::get_state()
#ifdef DEBUG #ifdef DEBUG
cout << "MackieControlProtocol::get_state" << endl; cout << "MackieControlProtocol::get_state" << endl;
#endif #endif
// add name of protocol // add name of protocol
XMLNode* node = new XMLNode( X_("Protocol") ); XMLNode* node = new XMLNode( X_("Protocol") );
node->add_property( X_("name"), _name ); node->add_property( X_("name"), _name );
// add current bank // add current bank
ostringstream os; ostringstream os;
os << _current_initial_bank; os << _current_initial_bank;
node->add_property( X_("bank"), os.str() ); node->add_property( X_("bank"), os.str() );
return *node; return *node;
} }
int MackieControlProtocol::set_state (const XMLNode & node, int version) int MackieControlProtocol::set_state (const XMLNode & node, int /*version*/)
{ {
#ifdef DEBUG #ifdef DEBUG
cout << "MackieControlProtocol::set_state: active " << _active << endl; cout << "MackieControlProtocol::set_state: active " << _active << endl;
#endif #endif
int retval = 0; int retval = 0;
// fetch current bank // fetch current bank
if ( node.property( X_("bank") ) != 0 ) if ( node.property( X_("bank") ) != 0 )
{ {
@ -831,7 +831,7 @@ int MackieControlProtocol::set_state (const XMLNode & node, int version)
return -1; return -1;
} }
} }
return retval; return retval;
} }
@ -854,7 +854,7 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control &
cerr << "Warning: index is " << index << " which is not in the route table, size: " << route_table.size() << endl; cerr << "Warning: index is " << index << " which is not in the route table, size: " << route_table.size() << endl;
} }
} }
// This handles control element events from the surface // This handles control element events from the surface
// the state of the controls on the surface is usually updated // the state of the controls on the surface is usually updated
// from UI events. // from UI events.
@ -867,14 +867,14 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control &
if ( route != 0 ) if ( route != 0 )
{ {
route->gain_control()->set_value( state.pos ); route->gain_control()->set_value( state.pos );
// must echo bytes back to slider now, because // must echo bytes back to slider now, because
// the notifier only works if the fader is not being // the notifier only works if the fader is not being
// touched. Which it is if we're getting input. // touched. Which it is if we're getting input.
port.write( builder.build_fader( (Fader&)control, state.pos ) ); port.write( builder.build_fader( (Fader&)control, state.pos ) );
} }
break; break;
case Control::type_button: case Control::type_button:
if ( control.group().is_strip() ) if ( control.group().is_strip() )
{ {
@ -904,7 +904,7 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control &
surface().handle_button( *this, state.button_state, dynamic_cast<Button&>( control ) ); surface().handle_button( *this, state.button_state, dynamic_cast<Button&>( control ) );
} }
break; break;
// pot (jog wheel, external control) // pot (jog wheel, external control)
case Control::type_pot: case Control::type_pot:
if ( control.group().is_strip() ) if ( control.group().is_strip() )
@ -917,14 +917,14 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control &
// assume pan for now // assume pan for now
float xpos; float xpos;
route->panner()->streampanner (0).get_effective_position (xpos); route->panner()->streampanner (0).get_effective_position (xpos);
// calculate new value, and trim // calculate new value, and trim
xpos += state.delta * state.sign; xpos += state.delta * state.sign;
if ( xpos > 1.0 ) if ( xpos > 1.0 )
xpos = 1.0; xpos = 1.0;
else if ( xpos < 0.0 ) else if ( xpos < 0.0 )
xpos = 0.0; xpos = 0.0;
route->panner()->streampanner (0).set_position( xpos ); route->panner()->streampanner (0).set_position( xpos );
} }
} }
@ -946,7 +946,7 @@ void MackieControlProtocol::handle_control_event( SurfacePort & port, Control &
} }
} }
break; break;
default: default:
cout << "Control::type not handled: " << control.type() << endl; cout << "Control::type not handled: " << control.type() << endl;
} }
@ -1012,7 +1012,7 @@ void MackieControlProtocol::notify_active_changed (RouteSignal *)
cout << e.what() << endl; cout << e.what() << endl;
} }
} }
void MackieControlProtocol::notify_gain_changed( RouteSignal * route_signal, bool force_update ) void MackieControlProtocol::notify_gain_changed( RouteSignal * route_signal, bool force_update )
{ {
try try
@ -1044,7 +1044,7 @@ void MackieControlProtocol::notify_name_changed( RouteSignal * route_signal )
{ {
string line1; string line1;
string fullname = route_signal->route()->name(); string fullname = route_signal->route()->name();
if ( fullname.length() <= 6 ) if ( fullname.length() <= 6 )
{ {
line1 = fullname; line1 = fullname;
@ -1053,7 +1053,7 @@ void MackieControlProtocol::notify_name_changed( RouteSignal * route_signal )
{ {
line1 = PBD::short_version( fullname, 6 ); line1 = PBD::short_version( fullname, 6 );
} }
SurfacePort & port = route_signal->port(); SurfacePort & port = route_signal->port();
port.write( builder.strip_display( port, strip, 0, line1 ) ); port.write( builder.strip_display( port, strip, 0, line1 ) );
port.write( builder.strip_display_blank( port, strip, 1 ) ); port.write( builder.strip_display_blank( port, strip, 1 ) );
@ -1075,7 +1075,7 @@ void MackieControlProtocol::notify_panner_changed( RouteSignal * route_signal, b
{ {
float pos; float pos;
route_signal->route()->panner()->streampanner(0).get_effective_position( pos ); route_signal->route()->panner()->streampanner(0).get_effective_position( pos );
// cache the MidiByteArray here, because the mackie led control is much lower // cache the MidiByteArray here, because the mackie led control is much lower
// resolution than the panner control. So we save lots of byte // resolution than the panner control. So we save lots of byte
// sends in spite of more work on the comparison // sends in spite of more work on the comparison
@ -1106,7 +1106,7 @@ void MackieControlProtocol::update_automation( RouteSignal & rs )
{ {
notify_gain_changed( &rs, false ); notify_gain_changed( &rs, false );
} }
if ( rs.route()->panner() ) { if ( rs.route()->panner() ) {
ARDOUR::AutoState panner_state = rs.route()->panner()->automation_state(); ARDOUR::AutoState panner_state = rs.route()->panner()->automation_state();
if ( panner_state == Touch || panner_state == Play ) if ( panner_state == Touch || panner_state == Play )
@ -1121,14 +1121,14 @@ string MackieControlProtocol::format_bbt_timecode( nframes_t now_frame )
{ {
BBT_Time bbt_time; BBT_Time bbt_time;
session->bbt_time( now_frame, bbt_time ); session->bbt_time( now_frame, bbt_time );
// According to the Logic docs // According to the Logic docs
// digits: 888/88/88/888 // digits: 888/88/88/888
// BBT mode: Bars/Beats/Subdivisions/Ticks // BBT mode: Bars/Beats/Subdivisions/Ticks
ostringstream os; ostringstream os;
os << setw(3) << setfill('0') << bbt_time.bars; os << setw(3) << setfill('0') << bbt_time.bars;
os << setw(2) << setfill('0') << bbt_time.beats; os << setw(2) << setfill('0') << bbt_time.beats;
// figure out subdivisions per beat // figure out subdivisions per beat
const Meter & meter = session->tempo_map().meter_at( now_frame ); const Meter & meter = session->tempo_map().meter_at( now_frame );
int subdiv = 2; int subdiv = 2;
@ -1136,13 +1136,13 @@ string MackieControlProtocol::format_bbt_timecode( nframes_t now_frame )
{ {
subdiv = 3; subdiv = 3;
} }
uint32_t subdivisions = bbt_time.ticks / uint32_t( Meter::ticks_per_beat / subdiv ); uint32_t subdivisions = bbt_time.ticks / uint32_t( Meter::ticks_per_beat / subdiv );
uint32_t ticks = bbt_time.ticks % uint32_t( Meter::ticks_per_beat / subdiv ); uint32_t ticks = bbt_time.ticks % uint32_t( Meter::ticks_per_beat / subdiv );
os << setw(2) << setfill('0') << subdivisions + 1; os << setw(2) << setfill('0') << subdivisions + 1;
os << setw(3) << setfill('0') << ticks; os << setw(3) << setfill('0') << ticks;
return os.str(); return os.str();
} }
@ -1159,7 +1159,7 @@ string MackieControlProtocol::format_smpte_timecode( nframes_t now_frame )
os << setw(2) << setfill('0') << smpte.minutes; os << setw(2) << setfill('0') << smpte.minutes;
os << setw(2) << setfill('0') << smpte.seconds; os << setw(2) << setfill('0') << smpte.seconds;
os << setw(3) << setfill('0') << smpte.frames; os << setw(3) << setfill('0') << smpte.frames;
return os.str(); return os.str();
} }
@ -1170,7 +1170,7 @@ void MackieControlProtocol::update_timecode_display()
// do assignment here so current_frame is fixed // do assignment here so current_frame is fixed
nframes_t current_frame = session->transport_frame(); nframes_t current_frame = session->transport_frame();
string timecode; string timecode;
switch ( _timecode_type ) switch ( _timecode_type )
{ {
case ARDOUR::AnyTime::BBT: case ARDOUR::AnyTime::BBT:
@ -1183,8 +1183,8 @@ void MackieControlProtocol::update_timecode_display()
ostringstream os; ostringstream os;
os << "Unknown timecode: " << _timecode_type; os << "Unknown timecode: " << _timecode_type;
throw runtime_error( os.str() ); throw runtime_error( os.str() );
} }
// only write the timecode string to the MCU if it's changed // only write the timecode string to the MCU if it's changed
// since last time. This is to reduce midi bandwidth used. // since last time. This is to reduce midi bandwidth used.
if ( timecode != _timecode_last ) if ( timecode != _timecode_last )
@ -1204,15 +1204,15 @@ void MackieControlProtocol::poll_session_data()
{ {
update_automation( **it ); update_automation( **it );
} }
// and the master strip // and the master strip
if ( master_route_signal != 0 ) if ( master_route_signal != 0 )
{ {
update_automation( *master_route_signal ); update_automation( *master_route_signal );
} }
update_timecode_display(); update_timecode_display();
_automation_last.start(); _automation_last.start();
} }
} }
@ -1225,12 +1225,12 @@ LedState MackieControlProtocol::frm_left_press (Button &)
{ {
// can use first_mark_before/after as well // can use first_mark_before/after as well
unsigned long elapsed = _frm_left_last.restart(); unsigned long elapsed = _frm_left_last.restart();
Location * loc = session->locations()->first_location_before ( Location * loc = session->locations()->first_location_before (
session->transport_frame() session->transport_frame()
); );
// allow a quick double to go past a previous mark // allow a quick double to go past a previous mark
if ( session->transport_rolling() && elapsed < 500 && loc != 0 ) if ( session->transport_rolling() && elapsed < 500 && loc != 0 )
{ {
Location * loc_two_back = session->locations()->first_location_before ( loc->start() ); Location * loc_two_back = session->locations()->first_location_before ( loc->start() );
@ -1239,13 +1239,13 @@ LedState MackieControlProtocol::frm_left_press (Button &)
loc = loc_two_back; loc = loc_two_back;
} }
} }
// move to the location, if it's valid // move to the location, if it's valid
if ( loc != 0 ) if ( loc != 0 )
{ {
session->request_locate( loc->start(), session->transport_rolling() ); session->request_locate( loc->start(), session->transport_rolling() );
} }
return on; return on;
} }
@ -1468,7 +1468,7 @@ void MackieControlProtocol::notify_route_added( ARDOUR::RouteList & rl )
refresh_current_bank(); refresh_current_bank();
} }
// otherwise route added, but current bank needs no updating // otherwise route added, but current bank needs no updating
// make sure remote id changes in the new route are handled // make sure remote id changes in the new route are handled
typedef ARDOUR::RouteList ARS; typedef ARDOUR::RouteList ARS;
for ( ARS::iterator it = rl.begin(); it != rl.end(); ++it ) for ( ARS::iterator it = rl.begin(); it != rl.end(); ++it )
@ -1486,7 +1486,7 @@ void MackieControlProtocol::notify_solo_active_changed( bool active )
void MackieControlProtocol::notify_remote_id_changed() void MackieControlProtocol::notify_remote_id_changed()
{ {
Sorted sorted = get_sorted_routes(); Sorted sorted = get_sorted_routes();
// if a remote id has been moved off the end, we need to shift // if a remote id has been moved off the end, we need to shift
// the current bank backwards. // the current bank backwards.
if ( sorted.size() - _current_initial_bank < route_signals.size() ) if ( sorted.size() - _current_initial_bank < route_signals.size() )
@ -1518,9 +1518,9 @@ void MackieControlProtocol::notify_transport_state_changed()
update_global_button( "play", session->transport_rolling() ); update_global_button( "play", session->transport_rolling() );
update_global_button( "stop", !session->transport_rolling() ); update_global_button( "stop", !session->transport_rolling() );
update_global_button( "loop", session->get_play_loop() ); update_global_button( "loop", session->get_play_loop() );
_transport_previously_rolling = session->transport_rolling(); _transport_previously_rolling = session->transport_rolling();
// rec is special because it's tristate // rec is special because it's tristate
Button * rec = reinterpret_cast<Button*>( surface().controls_by_name["record"] ); Button * rec = reinterpret_cast<Button*>( surface().controls_by_name["record"] );
mcu_port().write( builder.build_led( *rec, record_release( *rec ) ) ); mcu_port().write( builder.build_led( *rec, record_release( *rec ) ) );
@ -1541,7 +1541,7 @@ LedState MackieControlProtocol::left_press (Button &)
session->set_dirty(); session->set_dirty();
switch_banks( new_initial ); switch_banks( new_initial );
} }
return on; return on;
} }
else else
@ -1567,7 +1567,7 @@ LedState MackieControlProtocol::right_press (Button &)
session->set_dirty(); session->set_dirty();
switch_banks( _current_initial_bank + delta ); switch_banks( _current_initial_bank + delta );
} }
return on; return on;
} }
else else