summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-16 21:28:37 +0200
committerRobin Gareus <robin@gareus.org>2016-04-16 21:28:37 +0200
commit9ad98885cbe231e9866c2e710206d4d67e9328e8 (patch)
tree4c2b23a0f250c4f4155fd94d004d7d215122a0c0 /gtk2_ardour/processor_box.h
parent3079a73488aadfa941e085c5b9e101a101f03d49 (diff)
another take on mixer strip wire drawing
mini modulars are fun.
Diffstat (limited to 'gtk2_ardour/processor_box.h')
-rw-r--r--gtk2_ardour/processor_box.h40
1 files changed, 31 insertions, 9 deletions
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index de3eaf03ab..6939b6ffc6 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -292,12 +292,20 @@ private:
const ARDOUR::ChanMapping&,
const ARDOUR::ChanMapping&,
const ARDOUR::ChanMapping&);
- void set_feed (
+ void set_fed_by (
const ARDOUR::ChanCount&,
const ARDOUR::ChanCount&,
const ARDOUR::ChanMapping&,
const ARDOUR::ChanMapping&);
+ void set_feeding (
+ const ARDOUR::ChanCount&,
+ const ARDOUR::ChanCount&,
+ const ARDOUR::ChanMapping&,
+ const ARDOUR::ChanMapping&);
+
+ void set_terminal (bool b);
+
void copy_state (const RoutingIcon& other) {
_in = other._in;
_out = other._out;
@@ -310,23 +318,31 @@ private:
_f_out_map = other._f_out_map;
_f_thru_map = other._f_thru_map;
_f_sources = other._f_sources;
- _feed = other._feed;
+ _i_in = other._i_in;
+ _i_in_map = other._i_in_map;
+ _i_thru_map = other._i_thru_map;
+ _i_sinks = other._i_sinks;
+ _fed_by = other._fed_by;
+ _feeding = other._feeding;
}
- void unset_feed () { _feed = false ; }
- bool identity () const;
+ void unset_fed_by () { _fed_by = false ; }
+ void unset_feeding () { _feeding = false ; }
+ bool in_identity () const;
bool out_identity () const;
+ bool can_coalesce () 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);
- static void draw_thru (cairo_t*, double, double, bool);
+ static void draw_gnd (cairo_t*, double, double, double, bool);
+ static void draw_sidechain (cairo_t*, double, double, double, bool);
+ static void draw_thru_src (cairo_t*, double, double, double, bool);
+ static void draw_thru_sink (cairo_t*, double, double, double, bool);
private:
bool on_expose_event (GdkEventExpose *);
void expose_input_map (cairo_t*, const double, const double);
+ void expose_coalesced_input_map (cairo_t*, const double, const double);
void expose_output_map (cairo_t*, const double, const double);
ARDOUR::ChanCount _in;
@@ -340,8 +356,14 @@ private:
ARDOUR::ChanMapping _f_out_map;
ARDOUR::ChanMapping _f_thru_map;
ARDOUR::ChanCount _f_sources;
- bool _feed;
+ ARDOUR::ChanCount _i_in;
+ ARDOUR::ChanMapping _i_in_map;
+ ARDOUR::ChanMapping _i_thru_map;
+ ARDOUR::ChanCount _i_sinks;
+ bool _fed_by;
+ bool _feeding;
bool _input;
+ bool _terminal;
};
public: