summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_markers.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-11-09 22:16:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-11-09 22:16:55 +0000
commit85dbd75bb04762c6721ce7cde5f05dd3d88caeca (patch)
tree7b91513d06145fb4a0a543301e32ab4be6a05142 /gtk2_ardour/editor_markers.cc
parentd79ff102e8de764b0e0fda86931b9ff5394e6bc3 (diff)
make edit clock do something useful again; do sensible guess work on how to define edit op range
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2615 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_markers.cc')
-rw-r--r--gtk2_ardour/editor_markers.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc
index 3e0868e048..0f98982251 100644
--- a/gtk2_ardour/editor_markers.cc
+++ b/gtk2_ardour/editor_markers.cc
@@ -1079,8 +1079,32 @@ Editor::marker_selection_changed ()
}
}
+ edit_point_clock_connection_a.disconnect();
+ edit_point_clock_connection_b.disconnect();
+
+ if (selection->markers.empty()) {
+ edit_point_clock.set (0);
+ return;
+ }
+
for (MarkerSelection::iterator x = selection->markers.begin(); x != selection->markers.end(); ++x) {
(*x)->add_line (cursor_group, canvas_height);
(*x)->show_line ();
}
+
+ edit_point_clock.set (selection->markers.front()->position());
+
+ bool ignored;
+ Location* loc = find_location_from_marker (selection->markers.front(), ignored);
+
+ if (loc) {
+ edit_point_clock_connection_a = loc->changed.connect (mem_fun (*this, &Editor::selected_marker_moved));
+ edit_point_clock_connection_b = loc->start_changed.connect (mem_fun (*this, &Editor::selected_marker_moved));
+ }
+}
+
+void
+Editor::selected_marker_moved (Location* loc)
+{
+ edit_point_clock.set (loc->start());
}