convert trigger display into a permanent, VisibilityGroup-controlled element of MixerStrip
Likely to be soem SNAFUs to find
This commit is contained in:
parent
d933af6c81
commit
6a0b720d8f
@ -112,6 +112,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
|
|||||||
, processor_box (sess, boost::bind (&MixerStrip::plugin_selector, this), mx.selection(), this, in_mixer)
|
, processor_box (sess, boost::bind (&MixerStrip::plugin_selector, this), mx.selection(), this, in_mixer)
|
||||||
, gpm (sess, 250)
|
, gpm (sess, 250)
|
||||||
, panners (sess)
|
, panners (sess)
|
||||||
|
, trigger_display (-1., 8*16.)
|
||||||
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
|
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
|
||||||
, rec_mon_table (2, 2)
|
, rec_mon_table (2, 2)
|
||||||
, solo_iso_table (1, 2)
|
, solo_iso_table (1, 2)
|
||||||
@ -151,6 +152,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
|
|||||||
, processor_box (sess, boost::bind (&MixerStrip::plugin_selector, this), mx.selection(), this, in_mixer)
|
, processor_box (sess, boost::bind (&MixerStrip::plugin_selector, this), mx.selection(), this, in_mixer)
|
||||||
, gpm (sess, 250)
|
, gpm (sess, 250)
|
||||||
, panners (sess)
|
, panners (sess)
|
||||||
|
, trigger_display (-1., 8*16.)
|
||||||
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
|
, button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_HORIZONTAL))
|
||||||
, rec_mon_table (2, 2)
|
, rec_mon_table (2, 2)
|
||||||
, solo_iso_table (1, 2)
|
, solo_iso_table (1, 2)
|
||||||
@ -182,7 +184,6 @@ MixerStrip::init ()
|
|||||||
group_menu = 0;
|
group_menu = 0;
|
||||||
route_ops_menu = 0;
|
route_ops_menu = 0;
|
||||||
_width_owner = 0;
|
_width_owner = 0;
|
||||||
trigger_display = 0;
|
|
||||||
|
|
||||||
_tmaster = new TriggerMaster (_tmaster_widget.root ());
|
_tmaster = new TriggerMaster (_tmaster_widget.root ());
|
||||||
|
|
||||||
@ -327,6 +328,7 @@ MixerStrip::init ()
|
|||||||
global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
|
global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
|
||||||
global_vpacker.pack_start (input_button_box, Gtk::PACK_SHRINK);
|
global_vpacker.pack_start (input_button_box, Gtk::PACK_SHRINK);
|
||||||
global_vpacker.pack_start (invert_button_box, Gtk::PACK_SHRINK);
|
global_vpacker.pack_start (invert_button_box, Gtk::PACK_SHRINK);
|
||||||
|
global_vpacker.pack_start (trigger_display, true, true);
|
||||||
global_vpacker.pack_start (_tmaster_widget, true, true);
|
global_vpacker.pack_start (_tmaster_widget, true, true);
|
||||||
global_vpacker.pack_start (processor_box, true, true);
|
global_vpacker.pack_start (processor_box, true, true);
|
||||||
global_vpacker.pack_start (panners, Gtk::PACK_SHRINK);
|
global_vpacker.pack_start (panners, Gtk::PACK_SHRINK);
|
||||||
@ -406,6 +408,7 @@ MixerStrip::init ()
|
|||||||
_visibility.add (&output_button, X_("Output"), _("Output"), false);
|
_visibility.add (&output_button, X_("Output"), _("Output"), false);
|
||||||
_visibility.add (&_comment_button, X_("Comments"), _("Comments"), false);
|
_visibility.add (&_comment_button, X_("Comments"), _("Comments"), false);
|
||||||
_visibility.add (&control_slave_ui, X_("VCA"), _("VCA Assigns"), false);
|
_visibility.add (&control_slave_ui, X_("VCA"), _("VCA Assigns"), false);
|
||||||
|
_visibility.add (&trigger_display, X_("Triggers"), _("Triggers"), false);
|
||||||
|
|
||||||
parameter_changed (X_("mixer-element-visibility"));
|
parameter_changed (X_("mixer-element-visibility"));
|
||||||
UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &MixerStrip::parameter_changed));
|
UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &MixerStrip::parameter_changed));
|
||||||
@ -544,11 +547,6 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||||||
if (rt && route()) {
|
if (rt && route()) {
|
||||||
std::cerr << "switching from " << rt->name() << " to " << route()->name() << std::endl;
|
std::cerr << "switching from " << rt->name() << " to " << route()->name() << std::endl;
|
||||||
}
|
}
|
||||||
if (trigger_display && trigger_display->get_parent() == &global_vpacker) {
|
|
||||||
global_vpacker.remove (*trigger_display);
|
|
||||||
delete trigger_display;
|
|
||||||
trigger_display = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RouteUI::set_route (rt);
|
RouteUI::set_route (rt);
|
||||||
@ -1674,18 +1672,8 @@ MixerStrip::revert_to_default_display ()
|
|||||||
|
|
||||||
reset_strip_style ();
|
reset_strip_style ();
|
||||||
|
|
||||||
if (_route->triggerbox() && UIConfiguration::instance().get_show_triggers_inline()) {
|
set_trigger_display (_route->triggerbox());
|
||||||
create_trigger_display (_route->triggerbox());
|
|
||||||
if (trigger_display->get_parent() != &global_vpacker) {
|
|
||||||
global_vpacker.pack_start (*trigger_display, Gtk::PACK_SHRINK);
|
|
||||||
trigger_display->show ();
|
|
||||||
global_vpacker.reorder_child (*trigger_display, 4);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (trigger_display && (trigger_display->get_parent() == &global_vpacker)) {
|
|
||||||
global_vpacker.remove (*trigger_display);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1838,11 +1826,7 @@ MixerStrip::parameter_changed (string p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (p == "show-triggers-inline") {
|
} else if (p == "show-triggers-inline") {
|
||||||
boost::shared_ptr<TriggerBox> tb = route()->triggerbox();
|
/* XXX do something or get rid of this parameter */
|
||||||
if (tb) {
|
|
||||||
create_trigger_display (tb);
|
|
||||||
toggle_trigger_display ();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2149,26 +2133,8 @@ MixerStrip::hide_master_spacer (bool yn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MixerStrip::create_trigger_display (boost::shared_ptr<TriggerBox> tb)
|
MixerStrip::set_trigger_display (boost::shared_ptr<TriggerBox> tb)
|
||||||
{
|
{
|
||||||
if (!trigger_display) {
|
trigger_display.set_triggerbox (tb.get());
|
||||||
trigger_display = new TriggerBoxWidget (-1., 8*16.); /* XXX fix to use shared ptr */
|
|
||||||
trigger_display->set_triggerbox (tb.get());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
MixerStrip::toggle_trigger_display ()
|
|
||||||
{
|
|
||||||
if (!trigger_display) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trigger_display->get_parent() == &global_vpacker) {
|
|
||||||
global_vpacker.remove (*trigger_display);
|
|
||||||
} else {
|
|
||||||
global_vpacker.pack_start (*trigger_display, true, true);
|
|
||||||
trigger_display->show ();
|
|
||||||
global_vpacker.reorder_child (*trigger_display, 4);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
#include "panner_ui.h"
|
#include "panner_ui.h"
|
||||||
#include "enums.h"
|
#include "enums.h"
|
||||||
#include "processor_box.h"
|
#include "processor_box.h"
|
||||||
|
#include "triggerbox_ui.h"
|
||||||
#include "trigger_master.h"
|
#include "trigger_master.h"
|
||||||
#include "visibility_group.h"
|
#include "visibility_group.h"
|
||||||
|
|
||||||
@ -154,8 +155,7 @@ public:
|
|||||||
|
|
||||||
void set_selected (bool yn);
|
void set_selected (bool yn);
|
||||||
|
|
||||||
void toggle_trigger_display ();
|
void set_trigger_display (boost::shared_ptr<ARDOUR::TriggerBox>);
|
||||||
void create_trigger_display (boost::shared_ptr<ARDOUR::TriggerBox>);
|
|
||||||
|
|
||||||
static MixerStrip* entered_mixer_strip() { return _entered_mixer_strip; }
|
static MixerStrip* entered_mixer_strip() { return _entered_mixer_strip; }
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ private:
|
|||||||
ProcessorBox processor_box;
|
ProcessorBox processor_box;
|
||||||
GainMeter gpm;
|
GainMeter gpm;
|
||||||
PannerUI panners;
|
PannerUI panners;
|
||||||
TriggerBoxWidget* trigger_display;
|
TriggerBoxWidget trigger_display;
|
||||||
|
|
||||||
Glib::RefPtr<Gtk::SizeGroup> button_size_group;
|
Glib::RefPtr<Gtk::SizeGroup> button_size_group;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user