GUI for partial mixer scene restore
This commit is contained in:
parent
b52ef52ddf
commit
64dc16a460
@ -3687,7 +3687,7 @@ Mixer_UI::register_actions ()
|
|||||||
a = string_compose (X_("recall-mixer-scene-%1"), i + 1);
|
a = string_compose (X_("recall-mixer-scene-%1"), i + 1);
|
||||||
n = string_compose (_("Recall Mixer Scene #%1"), i + 1);
|
n = string_compose (_("Recall Mixer Scene #%1"), i + 1);
|
||||||
ActionManager::register_action (group, a.c_str (), n.c_str (),
|
ActionManager::register_action (group, a.c_str (), n.c_str (),
|
||||||
sigc::bind (sigc::mem_fun (*this, &Mixer_UI::recall_mixer_scene), i, true));
|
sigc::bind (sigc::mem_fun (*this, &Mixer_UI::recall_mixer_scene), i, true, false));
|
||||||
|
|
||||||
a = string_compose (X_("clear-mixer-scene-%1"), i + 1);
|
a = string_compose (X_("clear-mixer-scene-%1"), i + 1);
|
||||||
n = string_compose (_("Clear Mixer Scene #%1"), i + 1);
|
n = string_compose (_("Clear Mixer Scene #%1"), i + 1);
|
||||||
@ -3959,7 +3959,7 @@ Mixer_UI::store_mixer_scene (size_t n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Mixer_UI::recall_mixer_scene (size_t n, bool interactive)
|
Mixer_UI::recall_mixer_scene (size_t n, bool interactive, bool for_selection)
|
||||||
{
|
{
|
||||||
if (!_session) {
|
if (!_session) {
|
||||||
return;
|
return;
|
||||||
@ -3997,8 +3997,11 @@ Mixer_UI::recall_mixer_scene (size_t n, bool interactive)
|
|||||||
Config->add_instant_xml (node);
|
Config->add_instant_xml (node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (for_selection) {
|
||||||
_session->apply_nth_mixer_scene (n);
|
_session->apply_nth_mixer_scene (n, PublicEditor::instance().get_selection().tracks.routelist ());
|
||||||
|
} else {
|
||||||
|
_session->apply_nth_mixer_scene (n);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -4098,6 +4101,8 @@ Mixer_UI::popup_scene_menu (GdkEventButton* ev, int scn_idx)
|
|||||||
if(ms && !ms->empty()) {
|
if(ms && !ms->empty()) {
|
||||||
items.push_back(Gtk::Menu_Helpers::MenuElem(_("Clear"), sigc::bind(sigc::mem_fun(*this, &Mixer_UI::clear_mixer_scene), scn_idx, true)));
|
items.push_back(Gtk::Menu_Helpers::MenuElem(_("Clear"), sigc::bind(sigc::mem_fun(*this, &Mixer_UI::clear_mixer_scene), scn_idx, true)));
|
||||||
items.push_back(Gtk::Menu_Helpers::MenuElem(_("Rename"), sigc::bind(sigc::mem_fun(*this, &Mixer_UI::rename_mixer_scene), scn_idx)));
|
items.push_back(Gtk::Menu_Helpers::MenuElem(_("Rename"), sigc::bind(sigc::mem_fun(*this, &Mixer_UI::rename_mixer_scene), scn_idx)));
|
||||||
|
items.push_back(Gtk::Menu_Helpers::MenuElem(_("Restore for selected tracks"), sigc::bind(sigc::mem_fun(*this, &Mixer_UI::recall_mixer_scene), scn_idx, false, true)));
|
||||||
|
items.back().set_sensitive (!PublicEditor::instance().get_selection().tracks.routelist ().empty ());
|
||||||
}
|
}
|
||||||
|
|
||||||
menu->popup(1, ev->time);
|
menu->popup(1, ev->time);
|
||||||
@ -4136,7 +4141,7 @@ Mixer_UI::scene_button_release (GdkEventButton* ev, int idx)
|
|||||||
delete _mixer_scene_release;
|
delete _mixer_scene_release;
|
||||||
_mixer_scene_release = 0;
|
_mixer_scene_release = 0;
|
||||||
} else if (ev->button == 1) {
|
} else if (ev->button == 1) {
|
||||||
recall_mixer_scene (idx, true);
|
recall_mixer_scene (idx);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ public:
|
|||||||
void select_prev_strip ();
|
void select_prev_strip ();
|
||||||
|
|
||||||
void store_mixer_scene (size_t);
|
void store_mixer_scene (size_t);
|
||||||
void recall_mixer_scene (size_t, bool interactive = true);
|
void recall_mixer_scene (size_t, bool interactive = true, bool for_selection = false);
|
||||||
void clear_mixer_scene (size_t, bool interactive = true);
|
void clear_mixer_scene (size_t, bool interactive = true);
|
||||||
void rename_mixer_scene (size_t n);
|
void rename_mixer_scene (size_t n);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user