Added "Selected" view mode to Mackie Control.
This commit is contained in:
@@ -299,7 +299,7 @@ MackieControlProtocol::get_sorted_routes()
|
||||
remote_ids.insert (route->remote_control_id());
|
||||
}
|
||||
break;
|
||||
case MidiTracks:
|
||||
case MidiTracks: // for now aux and buss are same
|
||||
if (is_midi_track(*it)) {
|
||||
sorted.push_back (*it);
|
||||
remote_ids.insert (route->remote_control_id());
|
||||
@@ -307,7 +307,17 @@ MackieControlProtocol::get_sorted_routes()
|
||||
break;
|
||||
case Plugins:
|
||||
break;
|
||||
case Auxes:
|
||||
case Auxes: // for now aux and buss are same
|
||||
if (!is_track(*it)) {
|
||||
sorted.push_back (*it);
|
||||
remote_ids.insert (route->remote_control_id());
|
||||
}
|
||||
break;
|
||||
case Selected: // For example: a group
|
||||
if (selected(*it)) {
|
||||
sorted.push_back (*it);
|
||||
remote_ids.insert (route->remote_control_id());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2019,3 +2029,17 @@ MackieControlProtocol::is_midi_track (boost::shared_ptr<Route> r) const
|
||||
{
|
||||
return boost::dynamic_pointer_cast<MidiTrack>(r) != 0;
|
||||
}
|
||||
|
||||
bool
|
||||
MackieControlProtocol::selected (boost::shared_ptr<Route> r) const
|
||||
{
|
||||
const RouteNotificationList* rl = &_last_selected_routes;
|
||||
|
||||
for (ARDOUR::RouteNotificationList::const_iterator i = rl->begin(); i != rl->end(); ++i) {
|
||||
boost::shared_ptr<ARDOUR::Route> rt = (*i).lock();
|
||||
if (rt == r) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -107,6 +107,7 @@ class MackieControlProtocol
|
||||
MidiTracks,
|
||||
Busses,
|
||||
Auxes,
|
||||
Selected,
|
||||
Plugins,
|
||||
};
|
||||
|
||||
@@ -149,6 +150,7 @@ class MackieControlProtocol
|
||||
bool is_track (boost::shared_ptr<ARDOUR::Route>) const;
|
||||
bool is_audio_track (boost::shared_ptr<ARDOUR::Route>) const;
|
||||
bool is_midi_track (boost::shared_ptr<ARDOUR::Route>) const;
|
||||
bool selected (boost::shared_ptr<ARDOUR::Route>) const;
|
||||
|
||||
void set_view_mode (ViewMode);
|
||||
void set_flip_mode (FlipMode);
|
||||
|
||||
@@ -935,6 +935,8 @@ MackieControlProtocol::user_press (Mackie::Button&)
|
||||
Mackie::LedState
|
||||
MackieControlProtocol::user_release (Mackie::Button&)
|
||||
{
|
||||
set_view_mode (Selected);
|
||||
refresh_current_bank();
|
||||
return none;
|
||||
}
|
||||
Mackie::LedState
|
||||
|
||||
@@ -1062,6 +1062,11 @@ Surface::update_view_mode_display ()
|
||||
id = Button::Aux;
|
||||
text = _("Auxes");
|
||||
break;
|
||||
case MackieControlProtocol::Selected:
|
||||
show_two_char_display ("SE");
|
||||
id = Button::User;
|
||||
text = _("Selected Routes");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1073,6 +1078,7 @@ Surface::update_view_mode_display ()
|
||||
view_mode_buttons.push_back (Button::AudioTracks);
|
||||
view_mode_buttons.push_back (Button::MidiTracks);
|
||||
view_mode_buttons.push_back (Button::Aux);
|
||||
view_mode_buttons.push_back (Button::User);
|
||||
|
||||
if (id >= 0) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user