Add option to display the mixer in fullscreen
This is useful for dual-head setups.
This commit is contained in:
parent
92b7e0709c
commit
5f45828c67
|
@ -341,6 +341,7 @@
|
||||||
|
|
||||||
<menu name='View' action = 'View'>
|
<menu name='View' action = 'View'>
|
||||||
<menuitem action='ToggleMaximalEditor'/>
|
<menuitem action='ToggleMaximalEditor'/>
|
||||||
|
<menuitem action='ToggleMaximalMixer'/>
|
||||||
<menuitem action='KeepTearoffs'/>
|
<menuitem action='KeepTearoffs'/>
|
||||||
|
|
||||||
<separator/>
|
<separator/>
|
||||||
|
|
|
@ -171,6 +171,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
|
||||||
|
|
||||||
void new_midi_tracer_window ();
|
void new_midi_tracer_window ();
|
||||||
void toggle_editing_space();
|
void toggle_editing_space();
|
||||||
|
void toggle_mixer_space();
|
||||||
void toggle_keep_tearoffs();
|
void toggle_keep_tearoffs();
|
||||||
|
|
||||||
Gtk::Tooltips& tooltips() { return _tooltips; }
|
Gtk::Tooltips& tooltips() { return _tooltips; }
|
||||||
|
|
|
@ -565,3 +565,18 @@ ARDOUR_UI::editor_meter_peak_button_release (GdkEventButton* ev)
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ARDOUR_UI::toggle_mixer_space()
|
||||||
|
{
|
||||||
|
Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMaximalMixer");
|
||||||
|
|
||||||
|
if (act) {
|
||||||
|
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
|
||||||
|
if (tact->get_active()) {
|
||||||
|
mixer->maximise_mixer_space ();
|
||||||
|
} else {
|
||||||
|
mixer->restore_mixer_space ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -191,6 +191,7 @@ ARDOUR_UI::install_actions ()
|
||||||
/* windows visibility actions */
|
/* windows visibility actions */
|
||||||
|
|
||||||
ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalEditor"), _("Maximise Editor Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_editing_space));
|
ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalEditor"), _("Maximise Editor Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_editing_space));
|
||||||
|
ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalMixer"), _("Maximise Mixer Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_mixer_space));
|
||||||
act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Show Toolbars"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs));
|
act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Show Toolbars"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs));
|
||||||
ActionManager::session_sensitive_actions.push_back (act);
|
ActionManager::session_sensitive_actions.push_back (act);
|
||||||
|
|
||||||
|
|
|
@ -240,6 +240,7 @@ Mixer_UI::Mixer_UI ()
|
||||||
group_display.show();
|
group_display.show();
|
||||||
|
|
||||||
_in_group_rebuild_or_clear = false;
|
_in_group_rebuild_or_clear = false;
|
||||||
|
_maximised = false;
|
||||||
|
|
||||||
MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context());
|
MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context());
|
||||||
|
|
||||||
|
@ -1559,6 +1560,19 @@ Mixer_UI::set_state (const XMLNode& node)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((prop = node.property ("maximised"))) {
|
||||||
|
bool yn = string_is_affirmative (prop->value());
|
||||||
|
Glib::RefPtr<Action> act = ActionManager::get_action (X_("Common"), X_("ToggleMaximalMixer"));
|
||||||
|
assert (act);
|
||||||
|
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
|
||||||
|
bool fs = tact && tact->get_active();
|
||||||
|
if (yn ^ fs) {
|
||||||
|
ActionManager::do_action ("Common",
|
||||||
|
"ToggleMaximalMixer");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1601,6 +1615,8 @@ Mixer_UI::get_state (void)
|
||||||
|
|
||||||
node->add_property ("show-mixer", _visible ? "yes" : "no");
|
node->add_property ("show-mixer", _visible ? "yes" : "no");
|
||||||
|
|
||||||
|
node->add_property ("maximised", _maximised ? "yes" : "no");
|
||||||
|
|
||||||
return *node;
|
return *node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1942,3 +1958,26 @@ Mixer_UI::toggle_midi_input_active (bool flip_others)
|
||||||
_session->set_exclusive_input_active (rl, onoff, flip_others);
|
_session->set_exclusive_input_active (rl, onoff, flip_others);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Mixer_UI::maximise_mixer_space ()
|
||||||
|
{
|
||||||
|
if (_maximised) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fullscreen ();
|
||||||
|
|
||||||
|
_maximised = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Mixer_UI::restore_mixer_space ()
|
||||||
|
{
|
||||||
|
if (!_maximised) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
unfullscreen();
|
||||||
|
|
||||||
|
_maximised = false;
|
||||||
|
}
|
||||||
|
|
|
@ -80,6 +80,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
|
||||||
void show_strip (MixerStrip *);
|
void show_strip (MixerStrip *);
|
||||||
void hide_strip (MixerStrip *);
|
void hide_strip (MixerStrip *);
|
||||||
|
|
||||||
|
void maximise_mixer_space();
|
||||||
|
void restore_mixer_space();
|
||||||
|
|
||||||
void ensure_float (Gtk::Window&);
|
void ensure_float (Gtk::Window&);
|
||||||
|
|
||||||
MonitorSection* monitor_section() const { return _monitor_section; }
|
MonitorSection* monitor_section() const { return _monitor_section; }
|
||||||
|
@ -279,6 +282,9 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
|
||||||
bool _following_editor_selection;
|
bool _following_editor_selection;
|
||||||
|
|
||||||
void monitor_section_going_away ();
|
void monitor_section_going_away ();
|
||||||
|
|
||||||
|
/// true if we are in fullscreen mode
|
||||||
|
bool _maximised;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __ardour_mixer_ui_h__ */
|
#endif /* __ardour_mixer_ui_h__ */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user