summaryrefslogtreecommitdiff
path: root/gtk2_ardour/foldback_strip.h
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2019-08-21 20:55:51 -0700
committerLen Ovens <len@ovenwerks.net>2019-08-26 17:48:22 -0700
commita2de8bd88143b6092e102aded0b4669b44a2ea40 (patch)
tree5fc1337b7ca9609ef6146156ce4c4bd3d88e686b /gtk2_ardour/foldback_strip.h
parentfe1442dec9eed5779f15448c36e432670d434a90 (diff)
Add send controls to foldback GUI
Diffstat (limited to 'gtk2_ardour/foldback_strip.h')
-rw-r--r--gtk2_ardour/foldback_strip.h46
1 files changed, 41 insertions, 5 deletions
diff --git a/gtk2_ardour/foldback_strip.h b/gtk2_ardour/foldback_strip.h
index 5e474804e6..93a0d33aa9 100644
--- a/gtk2_ardour/foldback_strip.h
+++ b/gtk2_ardour/foldback_strip.h
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2000-2006 Paul Davis
+ Copyright (C) 2018-2019 Len Ovens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -72,6 +72,38 @@ class MotionController;
class RouteGroupMenu;
class ArdourWindow;
+class FoldbackSend : public Gtk::VBox
+{
+public:
+ FoldbackSend (boost::shared_ptr<ARDOUR::Send>, \
+ boost::shared_ptr<ARDOUR::Route> sr, boost::shared_ptr<ARDOUR::Route> fr);
+ ~FoldbackSend ();
+
+private:
+ ArdourWidgets::ArdourButton _button;
+ boost::shared_ptr<ARDOUR::Send> _send;
+ boost::shared_ptr<ARDOUR::Route> _send_route;
+ boost::shared_ptr<ARDOUR::Route> _foldback_route;
+ boost::shared_ptr<ARDOUR::Processor> _send_proc;
+ boost::shared_ptr<ARDOUR::Delivery> _send_del;
+
+ void led_clicked(GdkEventButton *);
+ void send_state_changed ();
+ void level_adjusted ();
+ void level_changed ();
+ void set_tooltip ();
+ ArdourWidgets::ArdourKnob pan_control;
+ Gtk::Adjustment _adjustment;
+ ArdourWidgets::HSliderController _slider;
+ bool _ignore_ui_adjustment;
+ Gtkmm2ext::PersistentTooltip _slider_persistant_tooltip;
+
+ PBD::ScopedConnectionList _connections;
+
+
+
+};
+
class FoldbackStrip : public AxisView, public RouteUI, public Gtk::EventBox
{
public:
@@ -140,7 +172,6 @@ protected:
private:
Mixer_UI& _mixer;
-
void init ();
bool _embedded;
@@ -150,8 +181,9 @@ private:
void* _width_owner;
ARDOUR::Session* _session;
- Gtk::EventBox spacer;
+ Gtk::EventBox spacer;
Gtk::VBox send_display;
+ Gtk::ScrolledWindow send_scroller;
Gtk::Frame global_frame;
Gtk::VBox global_vpacker;
@@ -160,8 +192,6 @@ private:
ProcessorSelection _pr_selection;
PannerUI panners;
- Glib::RefPtr<Gtk::SizeGroup> button_size_group;
-
Gtk::Table mute_solo_table;
Gtk::Table bottom_button_table;
@@ -206,6 +236,10 @@ private:
void update_fb_level_control ();
void update_output_display ();
+ void update_send_box ();
+ void update_send_box_2 (ARDOUR::IOProcessor*,uint32_t);
+ void processors_changed (ARDOUR::RouteProcessorChange);
+ void clear_send_box ();
void set_automated_controls_sensitivity (bool yn);
@@ -260,6 +294,8 @@ private:
void add_output_port (ARDOUR::DataType);
bool _suspend_menu_callbacks;
+ PBD::ScopedConnectionList _connections;
+
};
#endif /* __ardour_foldback_strip__ */