From 3ce789dc4c030edbd9cabc475a85aff2ccabf355 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 28 Feb 2025 16:49:48 -0700 Subject: [PATCH] add ::duration_is_explicit() to SMF --- libs/evoral/SMF.cc | 10 ++++++++++ libs/evoral/evoral/SMF.h | 1 + 2 files changed, 11 insertions(+) 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;