diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2018-02-20 17:19:43 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2018-02-20 17:19:43 -0500 |
commit | 47970b0cd13e4a77058eb53116a6486ba4fd920e (patch) | |
tree | b8438369a82dcd820cfab26d6b040d592e62fdba /gtk2_ardour | |
parent | 54db84ffeee757ae46b61c2e519a26deb5f6f4df (diff) |
user-friendly hack/heuristic: if they edit a BBT non-duration clock to say zero beats, act as if they had used 1
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/audio_clock.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/audio_clock.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index ae98f21de5..6a7733ae5f 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -1920,7 +1920,7 @@ AudioClock::current_duration (samplepos_t pos) const } bool -AudioClock::bbt_validate_edit (const string& str) +AudioClock::bbt_validate_edit (string & str) { AnyTime any; @@ -1937,7 +1937,14 @@ AudioClock::bbt_validate_edit (const string& str) } if (!is_duration && any.bbt.beats == 0) { - return false; + /* user could not have mean zero beats because for a + * non-duration clock that's impossible. Assume that they + * mis-entered things and meant Bar|1|ticks + */ + + char buf[128]; + snprintf (buf, sizeof (buf), "%" PRIu32 "|%" PRIu32 "|%" PRIu32, any.bbt.bars, 1, any.bbt.ticks); + str = buf; } return true; diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h index 6b9c61a7e8..5d8e58be6b 100644 --- a/gtk2_ardour/audio_clock.h +++ b/gtk2_ardour/audio_clock.h @@ -223,7 +223,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr samplepos_t get_sample_step (Field, samplepos_t pos = 0, int dir = 1); bool timecode_validate_edit (const std::string&); - bool bbt_validate_edit (const std::string&); + bool bbt_validate_edit (std::string&); bool minsec_validate_edit (const std::string&); samplepos_t samples_from_timecode_string (const std::string&) const; |