From 21a4501e47f7c844c3e520de17d2d358098a6ae6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 16 Nov 2025 13:45:13 -0700 Subject: [PATCH] MIDI: fix major error in computing delta times for SMFSource::append_event_samples() timecnt_t constructor is: (distance, position); this code was not computing the distance between the new event and _last_ev_time_samples. --- libs/ardour/smf_source.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index b4fcf06ef1..9c760fe565 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -575,7 +575,7 @@ SMFSource::append_event_samples (const WriterLock& lock, /* a distance measure that starts at @p _last_ev_time_samples (audio time) and extends for ev.time() (audio time) */ - const timecnt_t delta_distance (timepos_t (ev.time()), timepos_t (_last_ev_time_samples)); + const timecnt_t delta_distance (timepos_t (ev.time() - _last_ev_time_samples), timepos_t (_last_ev_time_samples)); const Temporal::Beats delta_time_beats = delta_distance.beats (); const uint32_t delta_time_ticks = delta_time_beats.to_ticks(ppqn());