diff --git a/src/API.ts b/src/API.ts
index e4781b0..cb06d71 100644
--- a/src/API.ts
+++ b/src/API.ts
@@ -483,7 +483,7 @@ export class UserAPI {
// Sequencer related functions
// =============================================================
- public slice = (chunk: number): boolean => {
+ public div = (chunk: number): boolean => {
const time_pos = this.epulse();
const current_chunk = Math.floor(
time_pos / Math.floor(chunk * this.ppqn())
@@ -491,13 +491,13 @@ export class UserAPI {
return current_chunk % 2 === 0;
};
- public barslice = (chunk: number): boolean => {
+ public divbar = (chunk: number): boolean => {
const time_pos = this.bar() - 1;
const current_chunk = Math.floor(time_pos / chunk);
return current_chunk % 2 === 0;
};
- public seqslice = (...args: any): any => {
+ public divseq = (...args: any): any => {
const chunk_size = args[0]; // Get the first argument (chunk size)
const elements = args.slice(1); // Get the rest of the arguments as an array
const timepos = this.epulse();
@@ -1002,12 +1002,19 @@ export class UserAPI {
return results.some((value) => value === true);
};
+ public modpulse = (...n: number[]): boolean => {
+ const results: boolean[] = n.map((value) => this.epulse() % value === 0);
+ return results.some((value) => value === true);
+ };
+ pmod = this.modpulse;
+
public modbar = (...n: number[]): boolean => {
const results: boolean[] = n.map(
(value) => this.bar() % Math.floor(value * this.ppqn()) === 0
);
return results.some((value) => value === true);
};
+ bmod = this.modbar;
// =============================================================
// Rythmic generators
diff --git a/src/Documentation.ts b/src/Documentation.ts
index 59162a4..452081b 100644
--- a/src/Documentation.ts
+++ b/src/Documentation.ts
@@ -143,7 +143,12 @@ Some functions can be leveraged to play rhythms without thinking too much about
\`\`\`
- onbar(...values: number[]): returns true if the bar is currently equal to any of the specified values.
-- modbar(...values: number[]): returns true if the bar is currently a multiple of any of the specified values.
+- modbar(...values: number[]) or bmod(...): returns true if the bar is currently a multiple of any of the specified values.
+- modpulse(...values: number[]) or pmod(...): returns true if the pulse is currently a multiple of any of the specified values.
+
+- div(chunk: number): returns true for every pulse in intervals of given number of beats
+- divbar(chunk: number): returns true for every pulse in intervals of given number of bars
+- divseq(...values: number[]): returns true for every pulse in intervals of given number of beats returning different value each time.
## Rhythm generators