summaryrefslogtreecommitdiff
path: root/libs/ardour/mtc_slave.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-03-23 18:33:45 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-03-23 18:33:45 -0600
commitddf2c60c9a01e9adea39c23be091ae35af289c4c (patch)
tree1f9bf438cad722a07e4ff9fd95618fd5469901f7 /libs/ardour/mtc_slave.cc
parent3e35a6892275bbc9db477cb9cd566042efc907a7 (diff)
improve variable width and precision for MTC slave delta display
Diffstat (limited to 'libs/ardour/mtc_slave.cc')
-rw-r--r--libs/ardour/mtc_slave.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index 62c1b77af1..b73742d7f9 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -571,7 +571,7 @@ MTC_TransportMaster::position_string() const
std::string
MTC_TransportMaster::delta_string () const
{
- char delta[80];
+ char delta[128];
SafeTime last;
current.safe_read (last);
@@ -580,8 +580,14 @@ MTC_TransportMaster::delta_string () const
if (last.timestamp == 0 || reset_pending) {
snprintf(delta, sizeof(delta), "\u2012\u2012\u2012\u2012");
} else {
- snprintf(delta, sizeof(delta), "\u0394<span foreground=\"green\" face=\"monospace\" >%s%s%" PRIi64 "</span>sm",
- LEADINGZERO(abs(_current_delta)), PLUSMINUS(-_current_delta), abs(_current_delta));
+ if (abs (_current_delta) > _session->sample_rate()) {
+ int secs = rint ((double) _current_delta / _session->sample_rate());
+ snprintf(delta, sizeof(delta), "\u0394<span foreground=\"green\" face=\"monospace\" >%s%s%d</span><span face=\"monospace\"> s</span>",
+ LEADINGZERO(abs(secs)), PLUSMINUS(-secs), abs(secs));
+ } else {
+ snprintf(delta, sizeof(delta), "\u0394<span foreground=\"green\" face=\"monospace\" >%s%s%" PRIi64 "</span><span face=\"monospace\">sm</span>",
+ LEADINGZERO(abs(_current_delta)), PLUSMINUS(-_current_delta), abs(_current_delta));
+ }
}
return std::string(delta);
}