summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-07-07 15:52:22 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-07-07 15:52:22 +0000
commitdda3143dc76877657454dac0fde2f1cfad800c85 (patch)
treed8493d484a74f5cd4ce0ac881fc83966369a0b5b /libs/ardour/session_transport.cc
parent3be87c2c91acf3cc238e3531cfed2638d6c1c7f2 (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.cc19
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)
{