Slightly better sync. onbeat() starts now from the first beat

This commit is contained in:
2023-08-24 21:34:54 +03:00
parent 0e275204fd
commit dd48d40745
2 changed files with 5 additions and 4 deletions

View File

@ -884,7 +884,8 @@ export class UserAPI {
*/ */
let final_pulses: boolean[] = []; let final_pulses: boolean[] = [];
beat.forEach((b) => { beat.forEach((b) => {
b = (b % this.app.clock.time_signature[0]) + 1; const _mod = b % this.app.clock.time_signature[0];
b = _mod === 0 ? b : _mod;
let integral_part = Math.floor(b); let integral_part = Math.floor(b);
let decimal_part = b - integral_part; let decimal_part = b - integral_part;
final_pulses.push( final_pulses.push(

View File

@ -38,7 +38,7 @@ export class Player extends Event {
areWeThereYet = (): boolean => { areWeThereYet = (): boolean => {
const howAboutNow = ( const howAboutNow = (
(this.notStarted()) || (this.notStarted() && this.app.clock.time_position.pulse === 1) ||
( (
this.current && this.current &&
this.pulseToSecond(this.app.api.epulse()+1) >= this.pulseToSecond(this.app.api.epulse()+1) >=