diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-07-07 15:52:22 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-07-07 15:52:22 +0000 |
commit | dda3143dc76877657454dac0fde2f1cfad800c85 (patch) | |
tree | d8493d484a74f5cd4ce0ac881fc83966369a0b5b /libs/ardour/session_transport.cc | |
parent | 3be87c2c91acf3cc238e3531cfed2638d6c1c7f2 (diff) |
move to scons Clone everywhere rather than Copy; add Session::micro_locate() for ongoing work on video sync; debugging output for export precision problem; minor clean up to IO::find_possible_connection(); fix up a few signed/unsigned issues; make "feature lines" always be the right height as tracks resize; change version to 2.5
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3517 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r-- | libs/ardour/session_transport.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 5fec4e37ee..552a21d849 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -640,6 +640,25 @@ Session::start_locate (nframes_t target_frame, bool with_roll, bool with_flush, } } +int +Session::micro_locate (nframes_t distance) +{ + boost::shared_ptr<DiskstreamList> dsl = diskstreams.reader(); + + for (DiskstreamList::iterator i = dsl->begin(); i != dsl->end(); ++i) { + if (!(*i)->can_internal_playback_seek (distance)) { + return -1; + } + } + + for (DiskstreamList::iterator i = dsl->begin(); i != dsl->end(); ++i) { + (*i)->internal_playback_seek (distance); + } + + _transport_frame += distance; + return 0; +} + void Session::locate (nframes_t target_frame, bool with_roll, bool with_flush, bool with_loop) { |