first steps in displaying triggerbox UI inside mixer strip (non-functional)

This commit is contained in:
Paul Davis 2021-10-03 09:08:56 -06:00
parent 6ba8feed15
commit acac302063
2 changed files with 24 additions and 0 deletions

View File

@ -87,6 +87,7 @@
#include "route_group_menu.h"
#include "meter_patterns.h"
#include "ui_config.h"
#include "triggerbox_ui.h"
#include "pbd/i18n.h"
@ -179,6 +180,7 @@ MixerStrip::init ()
group_menu = 0;
route_ops_menu = 0;
_width_owner = 0;
trigger_display = 0;
/* the length of this string determines the width of the mixer strip when it is set to `wide' */
longest_label = "longest label";
@ -2096,3 +2098,21 @@ MixerStrip::hide_master_spacer (bool yn)
spacer.hide();
}
}
void
MixerStrip::toggle_trigger_display ()
{
if (!trigger_display) {
return;
}
if (trigger_display->get_parent() == &global_vpacker) {
global_vpacker.remove (*trigger_display);
global_vpacker.pack_start (processor_box, true, true);
global_vpacker.reorder_child (processor_box, 4);
} else {
global_vpacker.remove (processor_box);
global_vpacker.pack_start (*trigger_display, true, true);
global_vpacker.reorder_child (*trigger_display, 4);
}
}

View File

@ -81,6 +81,7 @@ class MotionController;
class RouteGroupMenu;
class ArdourWindow;
class AutomationController;
class TriggerBoxWidget;
class MixerStrip : public AxisView, public RouteUI, public Gtk::EventBox
{
@ -151,6 +152,8 @@ public:
void set_selected (bool yn);
void toggle_trigger_display ();
static MixerStrip* entered_mixer_strip() { return _entered_mixer_strip; }
protected:
@ -186,6 +189,7 @@ private:
ProcessorBox processor_box;
GainMeter gpm;
PannerUI panners;
TriggerBoxWidget* trigger_display;
Glib::RefPtr<Gtk::SizeGroup> button_size_group;