add new editor actions for solo, mute, solo-isolate toggle (of selected tracks) for use by MIDI bindings
git-svn-id: svn://localhost/ardour2/branches/3.0@9990 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
12d1da30d2
commit
bd1d705498
@ -1081,6 +1081,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
||||
void toggle_region_lock ();
|
||||
void toggle_opaque_region ();
|
||||
void toggle_record_enable ();
|
||||
void toggle_solo ();
|
||||
void toggle_solo_isolate ();
|
||||
void toggle_mute ();
|
||||
void toggle_region_lock_style ();
|
||||
void raise_region ();
|
||||
void raise_region_to_top ();
|
||||
|
@ -194,6 +194,12 @@ Editor::register_actions ()
|
||||
|
||||
act = reg_sens (editor_actions, "track-record-enable-toggle", _("Toggle Record Enable"), sigc::mem_fun(*this, &Editor::toggle_record_enable));
|
||||
ActionManager::track_selection_sensitive_actions.push_back (act);
|
||||
act = reg_sens (editor_actions, "track-solo-toggle", _("Toggle Solo"), sigc::mem_fun(*this, &Editor::toggle_solo));
|
||||
ActionManager::track_selection_sensitive_actions.push_back (act);
|
||||
act = reg_sens (editor_actions, "track-mute-toggle", _("Toggle Mute"), sigc::mem_fun(*this, &Editor::toggle_mute));
|
||||
ActionManager::track_selection_sensitive_actions.push_back (act);
|
||||
act = reg_sens (editor_actions, "track-solo-isolate-toggle", _("Toggle Solo Isolate"), sigc::mem_fun(*this, &Editor::toggle_solo_isolate));
|
||||
ActionManager::track_selection_sensitive_actions.push_back (act);
|
||||
|
||||
for (int i = 1; i <= 12; ++i) {
|
||||
string const a = string_compose (X_("save-visual-state-%1"), i);
|
||||
|
@ -4755,6 +4755,60 @@ Editor::toggle_record_enable ()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Editor::toggle_solo ()
|
||||
{
|
||||
bool new_state = false;
|
||||
bool first = true;
|
||||
boost::shared_ptr<RouteList> rl (new RouteList);
|
||||
|
||||
for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
|
||||
RouteTimeAxisView *rtav = dynamic_cast<RouteTimeAxisView *>(*i);
|
||||
|
||||
if (!rtav) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (first) {
|
||||
new_state = !rtav->route()->soloed ();
|
||||
first = false;
|
||||
}
|
||||
|
||||
rl->push_back (rtav->route());
|
||||
}
|
||||
|
||||
_session->set_solo (rl, new_state, Session::rt_cleanup, true);
|
||||
}
|
||||
|
||||
void
|
||||
Editor::toggle_mute ()
|
||||
{
|
||||
bool new_state = false;
|
||||
bool first = true;
|
||||
boost::shared_ptr<RouteList> rl (new RouteList);
|
||||
|
||||
for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
|
||||
RouteTimeAxisView *rtav = dynamic_cast<RouteTimeAxisView *>(*i);
|
||||
|
||||
if (!rtav) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (first) {
|
||||
new_state = !rtav->route()->soloed ();
|
||||
first = false;
|
||||
}
|
||||
|
||||
rl->push_back (rtav->route());
|
||||
}
|
||||
|
||||
_session->set_mute (rl, new_state, Session::rt_cleanup, true);
|
||||
}
|
||||
|
||||
void
|
||||
Editor::toggle_solo_isolate ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
Editor::set_fade_length (bool in)
|
||||
|
@ -180,6 +180,7 @@ This mode provides many different operations on both regions and control points,
|
||||
@rop|Region/split-region|s|split
|
||||
@sess|Common/Save|<@PRIMARY@>s|save session
|
||||
@sess|Main/Snapshot|<@PRIMARY@><@TERTIARY@>s|snapshot session
|
||||
@trans|Editor/track-solo-toggle|<@SECONDARY@>s|toggle track solo status
|
||||
@rop|Region/duplicate-region|d|duplicate region (once)
|
||||
@rop|Region/multi-duplicate-region|<@TERTIARY@>d|duplicate region (multi)
|
||||
@select|Editor/select-all-in-punch-range|<@PRIMARY@>d|select all in punch range
|
||||
|
Loading…
Reference in New Issue
Block a user