diff options
author | Robin Gareus <robin@gareus.org> | 2012-10-14 23:23:53 +0000 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2012-10-14 23:23:53 +0000 |
commit | a6bc97add957ff42f3dd8ea14048dcbd444c035c (patch) | |
tree | 9014ee68a87d25e5db46f7a781de0cb6c4805c1d /libs/ardour/mtc_slave.cc | |
parent | 3769c060f281fb23e8cb8de5ca6755b85f53602c (diff) |
prepare reporting slave delta & MTC slave implementation
git-svn-id: svn://localhost/ardour2/branches/3.0@13276 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/mtc_slave.cc')
-rw-r--r-- | libs/ardour/mtc_slave.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc index 4696f1e936..5eee8381bb 100644 --- a/libs/ardour/mtc_slave.cc +++ b/libs/ardour/mtc_slave.cc @@ -183,6 +183,7 @@ MTC_Slave::reset (bool with_position) window_begin = 0; window_end = 0; transport_direction = 1; + current_delta = 0; } void @@ -629,6 +630,8 @@ MTC_Slave::speed_and_position (double& speed, framepos_t& pos) DEBUG_TRACE (DEBUG::MTC, string_compose ("MTCsync spd: %1 pos: %2 | last-pos: %3 elapsed: %4 delta: %5\n", speed, pos, last.position, elapsed, pos - sess_pos)); + current_delta = (pos - sess_pos); + return true; } @@ -652,3 +655,11 @@ MTC_Slave::approximate_current_position() const Timecode::timecode_to_frames_per_second(mtc_timecode), Timecode::timecode_has_drop_frames(mtc_timecode)); } + +std::string +MTC_Slave::approximate_current_delta() const +{ + char delta[24]; + snprintf(delta, sizeof(delta), "%+" PRIi64, current_delta); // XXX TODO unit, refine + return std::string(delta); +} |