From 17d6a323857ab5ec046c663cb041754c714dd89c Mon Sep 17 00:00:00 2001 From: Raphael Forment Date: Thu, 7 Sep 2023 00:04:22 +0200 Subject: [PATCH] Fixing long lasting bug with onbeat --- src/API.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/API.ts b/src/API.ts index 6b65a84..bf4793b 100644 --- a/src/API.ts +++ b/src/API.ts @@ -1067,9 +1067,14 @@ export class UserAPI { */ let final_pulses: boolean[] = []; beat.forEach((b) => { - const beat = b % this.nominator() || this.nominator(); - const integral_part = Math.floor(beat); - const decimal_part = (beat - integral_part) * this.ppqn() + 1; + let beat = b % this.nominator() || this.nominator(); + let integral_part = Math.floor(beat); + integral_part = integral_part == 0 ? this.nominator() : integral_part; + let decimal_part = Math.floor((beat - integral_part) * this.ppqn() + 1); + // This was once revelead to me in a dream + if (decimal_part <= 0) + decimal_part = decimal_part + this.ppqn() * this.nominator(); + console.log(decimal_part) final_pulses.push( integral_part === this.beat() && this.pulse() === decimal_part );