summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-01-29 16:08:52 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-01-29 16:08:52 -0500
commit2ba58dfe65bb0c5ba7d5eb18a1566fa79eeb6993 (patch)
tree968712f0facbcc10e969b4835f1fa1a47d7bf6fe /gtk2_ardour/processor_box.cc
parentd00dc6a706d769280e1ede340f58acb78ddc0ae6 (diff)
parent66d02411182bec7871a6cb53e4476042f31f72c0 (diff)
Merge branch 'master' into cairocanvas
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r--gtk2_ardour/processor_box.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 05a373e9d8..9f5a8bddf3 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -845,6 +845,13 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
cairo_move_to (cr, si_x, height);
cairo_line_to (cr, si_x, 0);
cairo_stroke (cr);
+ } else if (midi_sources == 1 && midi_sinks == 1) {
+ /* unusual cases -- removed synth, midi-track w/audio plugins */
+ const float si_x = rintf(width * (sinks > 1 ? .2f : .5f)) + .5f;
+ const float si_x0 = rintf(width * (sources > 1 ? .2f : .5f)) + .5f;
+ cairo_move_to (cr, si_x, height);
+ cairo_curve_to (cr, si_x, 0, si_x0, height, si_x0, 0);
+ cairo_stroke (cr);
}
/* AUDIO */
@@ -856,8 +863,10 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
UINT_RGBA_B_FLT(audio_port_color));
if (_splitting) {
+ assert(audio_sources < 2);
assert(audio_sinks > 1);
- const float si_x0 = rintf(width * .5f) + .5f;
+ /* assume there is only ever one MIDI port */
+ const float si_x0 = rintf(width * (midi_sources > 0 ? .8f : .5f)) + .5f;
for (uint32_t i = midi_sinks; i < sinks; ++i) {
const float si_x = rintf(width * (.2f + .6f * i / (sinks - 1.f))) + .5f;
cairo_move_to (cr, si_x, height);