summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_pin_dialog.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-05 17:23:03 +0200
committerRobin Gareus <robin@gareus.org>2016-04-05 17:23:12 +0200
commit51b8330b737a6c034f75db7f0f62af495869fbf9 (patch)
tree9bc8ce9b20e9d27fcd84937d197e4eab20b3ad9d /gtk2_ardour/plugin_pin_dialog.h
parente15fb85443ab00bbd455bb668cdcd036d1880971 (diff)
overhaul Pin Connection GUI Layout (and design)
* 3 column layout (config, routing, connections) * move sidechain pins to the right * scalable (all relative sizes) * add right click to disconnect * add labels TODO: dedicated side-chain connection table (right-column)
Diffstat (limited to 'gtk2_ardour/plugin_pin_dialog.h')
-rw-r--r--gtk2_ardour/plugin_pin_dialog.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/gtk2_ardour/plugin_pin_dialog.h b/gtk2_ardour/plugin_pin_dialog.h
index f959a062fa..52363c2232 100644
--- a/gtk2_ardour/plugin_pin_dialog.h
+++ b/gtk2_ardour/plugin_pin_dialog.h
@@ -78,8 +78,6 @@ private:
Gtk::DrawingArea darea;
- ArdourButton _ind_strict_io;
- ArdourButton _ind_customized;
ArdourButton _rst_config;
ArdourButton _rst_mapping;
ArdourButton _tgl_sidechain;
@@ -90,9 +88,9 @@ private:
ArdourButton _del_output_audio;
ArdourButton _add_output_midi;
ArdourButton _del_output_midi;
+ Glib::RefPtr<Gtk::SizeGroup> _pm_size_group;
void plugin_reconfigured ();
- void update_elements ();
void update_element_pos ();
void darea_size_request (Gtk::Requisition*);
@@ -107,7 +105,10 @@ private:
void set_color (cairo_t*, bool);
double pin_x_pos (uint32_t, double, double, uint32_t, uint32_t, bool);
- void draw_connection (cairo_t*, double, double, double, double, bool, bool dashed = false);
+ void draw_connection (cairo_t*, double, double, double, double, bool, bool, bool dashed = false);
+ void draw_connection (cairo_t*, const CtrlWidget&, const CtrlWidget&, bool dashed = false);
+ const CtrlWidget& get_io_ctrl (CtrlType ct, ARDOUR::DataType dt, uint32_t id, uint32_t ip = 0) const;
+ static void edge_coordinates (const CtrlWidget& w, double &x, double &y);
void reset_mapping ();
void reset_configuration ();
@@ -117,6 +118,7 @@ private:
void add_remove_port_clicked (bool, ARDOUR::DataType);
void handle_input_action (const CtrlElem &, const CtrlElem &);
void handle_output_action (const CtrlElem &, const CtrlElem &);
+ void handle_disconnect (const CtrlElem &);
PBD::ScopedConnectionList _plugin_connections;
boost::shared_ptr<ARDOUR::PluginInsert> _pi;
@@ -125,9 +127,14 @@ private:
ARDOUR::ChanCount _in, _ins, _out;
ARDOUR::ChanCount _sinks, _sources;
+ double _bxw2, _bxh2;
double _pin_box_size;
double _width, _height;
+ double _innerwidth, _margin_x, _margin_y;
double _min_width;
+ double _min_height;
+ uint32_t _n_inputs;
+ uint32_t _n_sidechains;
bool _position_valid;
bool _ignore_updates;
ARDOUR::Route* _route () { return static_cast<ARDOUR::Route*> (_pi->owner ()); }