diff --git a/libs/evoral/SMF.cc b/libs/evoral/SMF.cc index ca9bc1e26a..95eee59f9b 100644 --- a/libs/evoral/SMF.cc +++ b/libs/evoral/SMF.cc @@ -551,6 +551,16 @@ SMF::file_duration () const return Temporal::Beats::ticks_at_rate (smf_get_length_pulses (_smf), ppqn()); } +bool +SMF::duration_is_explicit () const +{ + if (!_smf) { + return false; + } + + return smf_length_is_explicit (_smf); +} + double SMF::round_to_file_precision (double val) const { diff --git a/libs/evoral/evoral/SMF.h b/libs/evoral/evoral/SMF.h index fd664df72a..4bd0b76039 100644 --- a/libs/evoral/evoral/SMF.h +++ b/libs/evoral/evoral/SMF.h @@ -100,6 +100,7 @@ public: int smf_format () const; Temporal::Beats file_duration() const; + bool duration_is_explicit() const; int num_channels () const { return _num_channels; } typedef std::bitset<16> UsedChannels;