slightly better
This commit is contained in:
@ -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++;
|
||||||
|
|||||||
13
src/Clock.ts
13
src/Clock.ts
@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user