diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-03-23 18:37:27 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-03-23 18:37:27 -0600 |
commit | db73afcaa513e1802f709c9dd063f9e52fa20eb7 (patch) | |
tree | 15e76a3d36a5c80bbd7d3bb8beb29df2376a7854 /libs/ardour/ltc_slave.cc | |
parent | e04f0a4c2cd091d39ec2aea08574a62111f4c081 (diff) |
extend fixed-width improvements to master delta to LTC
Diffstat (limited to 'libs/ardour/ltc_slave.cc')
-rw-r--r-- | libs/ardour/ltc_slave.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/ardour/ltc_slave.cc b/libs/ardour/ltc_slave.cc index 6f3f464419..2117020e92 100644 --- a/libs/ardour/ltc_slave.cc +++ b/libs/ardour/ltc_slave.cc @@ -657,16 +657,22 @@ LTC_TransportMaster::position_string() const std::string LTC_TransportMaster::delta_string() const { - char delta[80]; + char delta[128]; if (!_collect || current.timestamp == 0) { snprintf (delta, sizeof(delta), "\u2012\u2012\u2012\u2012"); } else if ((monotonic_cnt - current.timestamp) > 2 * samples_per_ltc_frame) { snprintf (delta, sizeof(delta), "%s", _("flywheel")); } else { - snprintf (delta, sizeof(delta), "<span foreground=\"%s\" face=\"monospace\" >%s%s%lld</span>sm", - sync_lock_broken ? "red" : "white", - LEADINGZERO(::llabs(_current_delta)), PLUSMINUS(-_current_delta), ::llabs(_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), "<span foreground=\"%s\" face=\"monospace\" >%s%s%lld</span><span face=\"monospace\">sm</span>", + sync_lock_broken ? "red" : "white", + LEADINGZERO(::llabs(_current_delta)), PLUSMINUS(-_current_delta), ::llabs(_current_delta)); + } } return delta; |