slightly better

This commit is contained in:
2023-08-16 12:06:50 +02:00
parent bfb235c014
commit 74872654d6
2 changed files with 17 additions and 2 deletions

View File

@ -239,7 +239,6 @@ export class UserAPI {
// Ziffers related functions // Ziffers related functions
// ============================================================= // =============================================================
public zn(input: string, public zn(input: string,
options: {[key: string]: string|number} = {}): Event { options: {[key: string]: string|number} = {}): Event {
let event = cachedEvent(input, options); let event = cachedEvent(input, options);
@ -455,8 +454,9 @@ export class UserAPI {
return sequence.options.currentIteration === 0; return sequence.options.currentIteration === 0;
} else { } else {
let pattern_options = { let pattern_options = {
index: 0, nextTarget: input[0], index: -1, nextTarget: this.app.clock.ticks_before_new_bar,
currentIteration: 0 currentIteration: 0
}; };
if (typeof input[input.length - 1] === "object") { if (typeof input[input.length - 1] === "object") {
@ -467,6 +467,8 @@ export class UserAPI {
} }
pattern_options.currentIteration++; pattern_options.currentIteration++;
// TEST
pattern_options.nextTarget = this.app.clock.ticks_before_new_bar
if (pattern_options.currentIteration === pattern_options.nextTarget) { if (pattern_options.currentIteration === pattern_options.nextTarget) {
pattern_options.index++; pattern_options.index++;

View File

@ -58,6 +58,19 @@ export class Clock {
}) })
} }
get ticks_before_new_bar(): number {
/**
* This function returns the number of ticks sepaating the current moment
* from the beginning of the next bar.
*
* @returns number of ticks until next bar
*/
const currentBeatInTicks = ((this.app.clock.beats_since_origin - 1) * 48) + this.time_position.pulse + 1
const nextBarinTicks = (this.beats_per_bar * this.ppqn) * this.time_position.bar + 1
return nextBarinTicks - currentBeatInTicks
}
get beats_per_bar(): number { get beats_per_bar(): number {
/** /**
* Returns the number of beats per bar. * Returns the number of beats per bar.