user-friendly hack/heuristic: if they edit a BBT non-duration clock to say zero beats, act as if they had used 1
This commit is contained in:
parent
54db84ffee
commit
47970b0cd1
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user