summaryrefslogtreecommitdiff
path: root/libs/ardour/mtc_slave.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2012-10-15 02:46:56 +0000
committerRobin Gareus <robin@gareus.org>2012-10-15 02:46:56 +0000
commit6ab663342df34cd5b9ceb27efda49ee65f5b6967 (patch)
tree1bd84c9cbea07c74901bef2b485f0891af4db966 /libs/ardour/mtc_slave.cc
parent4ff1cd78fb2c2c6741553f045dd4a1f0664fee64 (diff)
MTC slave: timcode and delta formatting
git-svn-id: svn://localhost/ardour2/branches/3.0@13279 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/mtc_slave.cc')
-rw-r--r--libs/ardour/mtc_slave.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index e29fa3d3da..4b2f8e99cb 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -646,8 +646,8 @@ MTC_Slave::approximate_current_position() const
{
SafeTime last;
read_current (&last);
- if (last.timestamp == 0) {
- return "--:--:--:--";
+ if (last.timestamp == 0 || reset_pending) {
+ return " --:--:--:--";
}
return Timecode::timecode_format_sampletime(
last.position,
@@ -660,6 +660,13 @@ std::string
MTC_Slave::approximate_current_delta() const
{
char delta[24];
- snprintf(delta, sizeof(delta), "%+" PRIi64, current_delta); // XXX TODO unit, refine
+ SafeTime last;
+ read_current (&last);
+ if (last.timestamp == 0 || reset_pending) {
+ snprintf(delta, sizeof(delta), "---");
+ } else {
+ // TODO if current_delta > 1 frame -> display timecode.
+ snprintf(delta, sizeof(delta), "%+" PRIi64 " sm", current_delta);
+ }
return std::string(delta);
}