diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-29 16:08:52 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-29 16:08:52 -0500 |
commit | 2ba58dfe65bb0c5ba7d5eb18a1566fa79eeb6993 (patch) | |
tree | 968712f0facbcc10e969b4835f1fa1a47d7bf6fe /gtk2_ardour/processor_box.cc | |
parent | d00dc6a706d769280e1ede340f58acb78ddc0ae6 (diff) | |
parent | 66d02411182bec7871a6cb53e4476042f31f72c0 (diff) |
Merge branch 'master' into cairocanvas
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 11 |
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); |