summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_markers.cc
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2008-09-29 20:35:44 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2008-09-29 20:35:44 +0000
commit80608f7594a2eafb19e7c2fc8d29a58605b820b0 (patch)
tree543335bcebde5722d5a78386738d961e5e8bcd4c /gtk2_ardour/editor_markers.cc
parentef9beb3f60b5499d4db48b771627b6facfe872d3 (diff)
Relayer punch/loop range rects, fix display of punch-in with no punch-out, ensure range selection rect is hidden after single click.
git-svn-id: svn://localhost/ardour2/branches/3.0@3836 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_markers.cc')
-rw-r--r--gtk2_ardour/editor_markers.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc
index 508d73a01a..2d1b34575a 100644
--- a/gtk2_ardour/editor_markers.cc
+++ b/gtk2_ardour/editor_markers.cc
@@ -1149,17 +1149,15 @@ Editor::update_punch_range_view (bool visibility)
if ((Config->get_punch_in() || Config->get_punch_out()) && ((tpl = transport_punch_location()) != 0)) {
- double x1 = frame_to_pixel (tpl->start());
- double x2 = frame_to_pixel (tpl->end());
-
guint track_canvas_width,track_canvas_height;
track_canvas->get_size(track_canvas_width,track_canvas_height);
-
- transport_punch_range_rect->property_x1() = x1;
- transport_punch_range_rect->property_x2() = x2;
-
- transport_punch_range_rect->property_x1() = (Config->get_punch_in() ? x1 : 0);
- transport_punch_range_rect->property_x2() = (Config->get_punch_out() ? x2 : track_canvas_width);
+ if (Config->get_punch_in()) {
+ transport_punch_range_rect->property_x1() = frame_to_pixel (tpl->start());
+ transport_punch_range_rect->property_x2() = (Config->get_punch_out() ? frame_to_pixel (tpl->end()) : frame_to_pixel (JACK_MAX_FRAMES));
+ } else {
+ transport_punch_range_rect->property_x1() = 0;
+ transport_punch_range_rect->property_x2() = (Config->get_punch_out() ? frame_to_pixel (tpl->end()) : track_canvas_width);
+ }
if (visibility) {
transport_punch_range_rect->show();