summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-04 01:27:33 +0200
committerRobin Gareus <robin@gareus.org>2016-04-04 01:27:33 +0200
commit1feb50b2b2df1626ffabeba7191915d8f18dd287 (patch)
treec682b7e5519ce592801bca9091bb6eb3845cb27b /gtk2_ardour/processor_box.h
parente19744430ad3935407a4be08013f5c319f3f1641 (diff)
Display output mapping (last processor before pan) in mixerstrip
Diffstat (limited to 'gtk2_ardour/processor_box.h')
-rw-r--r--gtk2_ardour/processor_box.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index 663f82b53c..8336864a6c 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -283,7 +283,7 @@ private:
class RoutingIcon : public Gtk::DrawingArea {
public:
- RoutingIcon();
+ RoutingIcon(bool inputrouting = true);
void set (
const ARDOUR::ChanCount&,
const ARDOUR::ChanCount&,
@@ -295,17 +295,34 @@ private:
const ARDOUR::ChanCount&,
const ARDOUR::ChanCount&,
const ARDOUR::ChanMapping&);
+
+ void copy_state (const RoutingIcon& other) {
+ _in = other._in;
+ _out = other._out;
+ _sources = other._sources;
+ _sinks = other._sinks;
+ _in_map = other._in_map;
+ _out_map = other._out_map;
+ _f_out = other._f_out;
+ _f_out_map = other._f_out_map;
+ _f_sources = other._f_sources;
+ _feed = other._feed;
+ }
+
void unset_feed () { _feed = false ; }
bool identity () const;
+ bool out_identity () const;
static double pin_x_pos (uint32_t, double, uint32_t, uint32_t, bool);
static void draw_connection (cairo_t*, double, double, double, double, bool, bool dashed = false);
static void draw_gnd (cairo_t*, double, double, bool);
+ static void draw_X (cairo_t*, double, double, bool);
static void draw_sidechain (cairo_t*, double, double, bool);
private:
bool on_expose_event (GdkEventExpose *);
- void expose_map (cairo_t*, const double, const double);
+ void expose_input_map (cairo_t*, const double, const double);
+ void expose_output_map (cairo_t*, const double, const double);
ARDOUR::ChanCount _in;
ARDOUR::ChanCount _out;
@@ -317,12 +334,14 @@ private:
ARDOUR::ChanMapping _f_out_map;
ARDOUR::ChanCount _f_sources;
bool _feed;
+ bool _input;
};
public:
- RoutingIcon routing_icon;
PortIcon input_icon;
PortIcon output_icon;
+ RoutingIcon routing_icon; // sits on top of every processor (input routing)
+ RoutingIcon output_routing_icon; // only used by last processor in the chain
protected:
PluginDisplay *_plugin_display ;