summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-02 14:51:32 +0200
committerRobin Gareus <robin@gareus.org>2016-04-02 14:51:32 +0200
commitd1580ba9249eacb8c2096dd83e75ab981009bf9f (patch)
tree187a08bcfa4219d8fd9148b206f9b0bf61567875 /gtk2_ardour/processor_box.cc
parent565730525d3406d280e86863a62e48b3607403db (diff)
update mixer-strip routing display
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r--gtk2_ardour/processor_box.cc15
1 files changed, 6 insertions, 9 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index f8d72590c7..d15f7e7481 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -1024,20 +1024,17 @@ ProcessorEntry::RoutingIcon::set (
bool
ProcessorEntry::RoutingIcon::identity () const {
- if (!_in_map.is_monotonic () || !_in_map.is_monotonic ()) {
+ if (!_in_map.is_monotonic () || !_in_map.is_identity ()) {
return false;
}
- if (_in_map.count () != _sinks.n_total ()) {
+ if (_in_map.count () != _sinks.n_total () || _in.n_total () != _sinks.n_total ()) {
return false;
}
if (_feed) {
- if (!_f_out_map.is_monotonic () || _sinks != _f_sources) {
+ if (!_f_out_map.is_monotonic () || !_f_out_map.is_identity ()) {
return false;
}
- if (!_f_out_map.is_identity ()) {
- return false;
- }
- if (_f_out_map.count () != _f_sources.n_total ()) {
+ if (_f_out_map.count () != _f_sources.n_total () || _sinks != _f_sources) {
return false;
}
}
@@ -1071,7 +1068,7 @@ void
ProcessorEntry::RoutingIcon::draw_gnd (cairo_t* cr, double x0, double height, bool midi)
{
const double dx = 1 + rint (max(2., 2. * UIConfiguration::instance().get_ui_scale()));
- const double y0 = rint (height * .66) - .5;
+ const double y0 = rint (height * .66) + .5;
cairo_move_to (cr, x0, height);
cairo_line_to (cr, x0, y0);
@@ -1161,7 +1158,7 @@ ProcessorEntry::RoutingIcon::expose_map (cairo_t* cr, const double width, const
draw_gnd (cr, x, height, is_midi);
continue;
}
- c_x0 = pin_x_pos (src, width, _f_out.n_total(), _f_out.n_midi(), is_midi);
+ c_x0 = pin_x_pos (src, width, _f_sources.n_total(), _f_sources.n_midi(), is_midi);
} else {
c_x0 = pin_x_pos (idx, width, _in.n_total(), _in.n_midi(), is_midi);
}