diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-11-09 22:16:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-11-09 22:16:55 +0000 |
commit | 85dbd75bb04762c6721ce7cde5f05dd3d88caeca (patch) | |
tree | 7b91513d06145fb4a0a543301e32ab4be6a05142 /gtk2_ardour/editor_markers.cc | |
parent | d79ff102e8de764b0e0fda86931b9ff5394e6bc3 (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.cc | 24 |
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()); } |