adding unipolar LFOs and new method chaining
This commit is contained in:
59
src/API.ts
59
src/API.ts
@ -5,6 +5,7 @@ import { DrunkWalk } from "./Utils/Drunk";
|
||||
import { LRUCache } from 'lru-cache';
|
||||
import { scale } from "./Scales";
|
||||
import { Editor } from "./main";
|
||||
import { Sound } from './Sound';
|
||||
import {
|
||||
superdough,
|
||||
samples,
|
||||
@ -1035,7 +1036,7 @@ export class UserAPI {
|
||||
gold() {
|
||||
/**
|
||||
* Essayer de générer des séquences tirées du truc de Puckette
|
||||
* Faire ça avec des lazy lists, ça ne devrait pas être trop difficle.
|
||||
* Faire ça avec des lazy lists, ça ne devrait pas être trop difficile.
|
||||
*
|
||||
*/
|
||||
}
|
||||
@ -1079,6 +1080,18 @@ export class UserAPI {
|
||||
);
|
||||
}
|
||||
|
||||
usine(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a sine wave between 0 and 1.
|
||||
*
|
||||
* @param freq - The frequency of the sine wave
|
||||
* @param offset - The offset of the sine wave
|
||||
* @returns A sine wave between 0 and 1
|
||||
* @see sine
|
||||
*/
|
||||
return (this.sine(freq, offset) + 1) / 2;
|
||||
}
|
||||
|
||||
saw(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a saw wave between -1 and 1.
|
||||
@ -1094,6 +1107,18 @@ export class UserAPI {
|
||||
return ((this.app.clock.ctx.currentTime * freq) % 1) * 2 - 1 + offset;
|
||||
}
|
||||
|
||||
usaw(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a saw wave between 0 and 1.
|
||||
*
|
||||
* @param freq - The frequency of the saw wave
|
||||
* @param offset - The offset of the saw wave
|
||||
* @returns A saw wave between 0 and 1
|
||||
* @see saw
|
||||
*/
|
||||
return (this.saw(freq, offset) + 1) / 2;
|
||||
}
|
||||
|
||||
triangle(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a triangle wave between -1 and 1.
|
||||
@ -1107,6 +1132,18 @@ export class UserAPI {
|
||||
return Math.abs(this.saw(freq, offset)) * 2 - 1;
|
||||
}
|
||||
|
||||
utriangle(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a triangle wave between 0 and 1.
|
||||
*
|
||||
* @param freq - The frequency of the triangle wave
|
||||
* @param offset - The offset of the triangle wave
|
||||
* @returns A triangle wave between 0 and 1
|
||||
* @see triangle
|
||||
*/
|
||||
return (this.triangle(freq, offset) + 1) / 2;
|
||||
}
|
||||
|
||||
square(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a square wave between -1 and 1.
|
||||
@ -1120,6 +1157,18 @@ export class UserAPI {
|
||||
return this.saw(freq, offset) > 0 ? 1 : -1;
|
||||
}
|
||||
|
||||
usquare(freq: number = 1, offset: number = 0): number {
|
||||
/**
|
||||
* Returns a square wave between 0 and 1.
|
||||
*
|
||||
* @param freq - The frequency of the square wave
|
||||
* @param offset - The offset of the square wave
|
||||
* @returns A square wave between 0 and 1
|
||||
* @see square
|
||||
*/
|
||||
return (this.square(freq, offset) + 1) / 2;
|
||||
}
|
||||
|
||||
noise(): number {
|
||||
/**
|
||||
* Returns a random value between -1 and 1.
|
||||
@ -1144,10 +1193,14 @@ export class UserAPI {
|
||||
// Trivial functions
|
||||
// =============================================================
|
||||
|
||||
sound = async (values: object, delay: number = 0.0) => {
|
||||
d = async (values: object, delay: number = 0.0) => {
|
||||
superdough(values, delay);
|
||||
};
|
||||
d = this.sound;
|
||||
|
||||
|
||||
sound = (sound: string) => {
|
||||
return new Sound(sound);
|
||||
}
|
||||
|
||||
samples = samples;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user