Compare commits

...

10 Commits

Author SHA1 Message Date
froos 535a822d2a Merge branch 'main' into matthewkaney/add-undocumented 2025-10-28 23:12:38 +01:00
Matthew Kaney 08cc9b03d7 Document functions in core/signal.mjs 2025-08-20 13:22:40 -04:00
Matthew Kaney 46949d165d Regenerate undocumented functions list 2025-08-19 18:39:17 -04:00
Matthew Kaney 88b94b21b8 Merge remote-tracking branch 'upstream/main' into matthewkaney/add-undocumented 2025-08-19 18:19:06 -04:00
Matthew Kaney 80d6a1903a Merge branch 'main' into add-undocumented 2025-03-24 16:53:55 -04:00
Matthew Kaney 35d98f4d40 Merge remote-tracking branch 'upstream/main' into add-undocumented 2025-01-31 16:19:20 -05:00
Matthew Kaney 2c7198a5f0 Add snapshot tests for new examples 2025-01-31 16:18:19 -05:00
Matthew Kaney 58c88c56ba Add documentation for some undocumented functions 2025-01-31 16:10:51 -05:00
Matthew Kaney ecad4d0b11 Fix issue with undocumented checker not acknowledging synonyms 2025-01-28 16:10:54 -05:00
Matthew Kaney fddb66d74c Update list of undocumented functions 2025-01-24 16:45:29 -05:00
4 changed files with 292 additions and 183 deletions
+2 -4
View File
@@ -10,7 +10,7 @@ function getExports(code) {
let ast; let ast;
try { try {
ast = parse(code, { ast = parse(code, {
ecmaVersion: 11, ecmaVersion: 'latest',
sourceType: 'module', sourceType: 'module',
}); });
} catch (err) { } catch (err) {
@@ -49,9 +49,7 @@ function getExports(code) {
} }
function isDocumented(name, docs) { function isDocumented(name, docs) {
return docs.find( return docs.find((d) => d.name === name || d.synonyms?.includes(name));
(d) => d.name === name || d.tags?.find((t) => t.title === 'synonyms' && t.value.split(', ').includes(name)),
);
} }
async function getUndocumented(path, docs) { async function getUndocumented(path, docs) {
+2
View File
@@ -3289,6 +3289,7 @@ export const striate = register('striate', function (n, pat) {
/** /**
* Makes the sample fit the given number of cycles by changing the speed. * Makes the sample fit the given number of cycles by changing the speed.
* @name loopAt * @name loopAt
* @synonyms loopat
* @memberof Pattern * @memberof Pattern
* @returns Pattern * @returns Pattern
* @example * @example
@@ -3421,6 +3422,7 @@ export const fit = register('fit', (pat) =>
* given by a global clock and this function will be * given by a global clock and this function will be
* deprecated/removed. * deprecated/removed.
* @name loopAtCps * @name loopAtCps
* @synonyms loopatcps
* @memberof Pattern * @memberof Pattern
* @returns Pattern * @returns Pattern
* @example * @example
+38 -8
View File
@@ -10,11 +10,27 @@ import Fraction from './fraction.mjs';
import { id, keyAlias, getCurrentKeyboardState } from './util.mjs'; import { id, keyAlias, getCurrentKeyboardState } from './util.mjs';
/**
* A `signal` consisting of a constant value. Similar to `pure`, except that function
* creates a pattern with one event per cycle, whereas this pattern doesn't have an intrinsic
* structure.
*
* @param {*} value The constant value of the resulting pattern
* @returns Pattern
*/
export function steady(value) { export function steady(value) {
// A continuous value // A continuous value
return new Pattern((state) => [new Hap(undefined, state.span, value)]); return new Pattern((state) => [new Hap(undefined, state.span, value)]);
} }
/**
* Creates a "signal", an unstructured pattern consisting of a single value that changes
* over time.
*
*
* @param {*} func
* @returns Pattern
*/
export const signal = (func) => { export const signal = (func) => {
const query = (state) => [new Hap(undefined, state.span, func(state.span.begin))]; const query = (state) => [new Hap(undefined, state.span, func(state.span.begin))];
return new Pattern(query); return new Pattern(query);
@@ -23,7 +39,7 @@ export const signal = (func) => {
/** /**
* A sawtooth signal between 0 and 1. * A sawtooth signal between 0 and 1.
* *
* @return {Pattern} * @type {Pattern}
* @example * @example
* note("<c3 [eb3,g3] g2 [g3,bb3]>*8") * note("<c3 [eb3,g3] g2 [g3,bb3]>*8")
* .clip(saw.slow(2)) * .clip(saw.slow(2))
@@ -157,6 +173,7 @@ export const time = signal(id);
/** /**
* The mouse's x position value ranges from 0 to 1. * The mouse's x position value ranges from 0 to 1.
* @name mousex * @name mousex
* @synonyms mouseX
* @return {Pattern} * @return {Pattern}
* @example * @example
* n(mousex.segment(4).range(0,7)).scale("C:minor") * n(mousex.segment(4).range(0,7)).scale("C:minor")
@@ -166,6 +183,7 @@ export const time = signal(id);
/** /**
* The mouse's y position value ranges from 0 to 1. * The mouse's y position value ranges from 0 to 1.
* @name mousey * @name mousey
* @synonyms mouseY
* @return {Pattern} * @return {Pattern}
* @example * @example
* n(mousey.segment(4).range(0,7)).scale("C:minor") * n(mousey.segment(4).range(0,7)).scale("C:minor")
@@ -215,10 +233,6 @@ const timeToRandsPrime = (seed, n) => {
const timeToRands = (t, n) => timeToRandsPrime(timeToIntSeed(t), n); const timeToRands = (t, n) => timeToRandsPrime(timeToIntSeed(t), n);
/**
*
*/
/** /**
* A discrete pattern of numbers from 0 to n-1 * A discrete pattern of numbers from 0 to n-1
* @example * @example
@@ -389,17 +403,23 @@ export const chooseInWith = (pat, xs) => {
/** /**
* Chooses randomly from the given list of elements. * Chooses randomly from the given list of elements.
* @synonyms chooseOut
* @param {...any} xs values / patterns to choose from. * @param {...any} xs values / patterns to choose from.
* @returns {Pattern} - a continuous pattern. * @returns {Pattern} - a continuous pattern.
* @example * @example
* note("c2 g2!2 d2 f1").s(choose("sine", "triangle", "bd:6")) * note("c2 g2!2 d2 f1").s(choose("sine", "triangle", "bd:6"))
*/ */
export const choose = (...xs) => chooseWith(rand, xs); export const choose = (...xs) => chooseWith(rand, xs);
// todo: doc
export const chooseIn = (...xs) => chooseInWith(rand, xs);
export const chooseOut = choose; export const chooseOut = choose;
/**
* As with {choose}, but the structure comes from the chosen values, rather
* than the pattern you're using to choose with.
* @param {...any} xs
* @returns
*/
export const chooseIn = (...xs) => chooseInWith(rand, xs);
/** /**
* Chooses from the given list of values (or patterns of values), according * Chooses from the given list of values (or patterns of values), according
* to the pattern that the method is called on. The pattern should be in * to the pattern that the method is called on. The pattern should be in
@@ -496,6 +516,7 @@ function _perlin(t) {
const v = interp(t - ta)(timeToRand(ta))(timeToRand(tb)); const v = interp(t - ta)(timeToRand(ta))(timeToRand(tb));
return v; return v;
} }
export const perlinWith = (tpat) => { export const perlinWith = (tpat) => {
return tpat.fmap(_perlin); return tpat.fmap(_perlin);
}; };
@@ -541,6 +562,15 @@ export const perlin = perlinWith(time.fmap((v) => Number(v)));
*/ */
export const berlin = berlinWith(time.fmap((v) => Number(v))); export const berlin = berlinWith(time.fmap((v) => Number(v)));
/**
* Removes events from a pattern given a signal of numbers and a cutoff
* value for interpreting that pattern as true or false.
* @param {number} withPat - A numeric pattern for comparing the main pattern
* against. Values higher than the cutoff will let events through and lower
* values will remove events from the main pattern
* @param {number} cutoff - The threshold value to use when interpreting the
* `withPat`
*/
export const degradeByWith = register( export const degradeByWith = register(
'degradeByWith', 'degradeByWith',
(withPat, x, pat) => pat.fmap((a) => (_) => a).appLeft(withPat.filterValues((v) => v > x)), (withPat, x, pat) => pat.fmap((a) => (_) => a).appLeft(withPat.filterValues((v) => v > x)),
+250 -171
View File
@@ -32,7 +32,12 @@
"/packages/codemirror/keybindings.mjs": [ "/packages/codemirror/keybindings.mjs": [
"keybindings" "keybindings"
], ],
"/packages/codemirror/themes/strudel-theme.mjs": [], "/packages/codemirror/themes/theme-helper.mjs": [
"createTheme"
],
"/packages/codemirror/themes/strudel-theme.mjs": [
"settings"
],
"/packages/codemirror/themes/bluescreen.mjs": [ "/packages/codemirror/themes/bluescreen.mjs": [
"settings" "settings"
], ],
@@ -48,7 +53,103 @@
"/packages/codemirror/themes/algoboy.mjs": [ "/packages/codemirror/themes/algoboy.mjs": [
"settings" "settings"
], ],
"/packages/codemirror/themes/terminal.mjs": [ "/packages/codemirror/themes/CutiePi.mjs": [
"settings"
],
"/packages/codemirror/themes/sonic-pink.mjs": [
"settings"
],
"/packages/codemirror/themes/red-text.mjs": [
"settings"
],
"/packages/codemirror/themes/green-text.mjs": [
"settings"
],
"/packages/codemirror/themes/archBtw.mjs": [
"settings"
],
"/packages/codemirror/themes/fruitDaw.mjs": [
"settings"
],
"/packages/codemirror/themes/bluescreenlight.mjs": [
"settings"
],
"/packages/codemirror/themes/androidstudio.mjs": [
"settings"
],
"/packages/codemirror/themes/atomone.mjs": [
"settings"
],
"/packages/codemirror/themes/aura.mjs": [
"settings"
],
"/packages/codemirror/themes/darcula.mjs": [
"settings"
],
"/packages/codemirror/themes/dracula.mjs": [
"settings"
],
"/packages/codemirror/themes/duotoneDark.mjs": [
"settings"
],
"/packages/codemirror/themes/eclipse.mjs": [
"settings"
],
"/packages/codemirror/themes/githubDark.mjs": [
"settings"
],
"/packages/codemirror/themes/githubLight.mjs": [
"settings"
],
"/packages/codemirror/themes/gruvboxDark.mjs": [
"settings"
],
"/packages/codemirror/themes/gruvboxLight.mjs": [
"settings"
],
"/packages/codemirror/themes/materialDark.mjs": [
"settings"
],
"/packages/codemirror/themes/materialLight.mjs": [
"settings"
],
"/packages/codemirror/themes/nord.mjs": [
"settings"
],
"/packages/codemirror/themes/monokai.mjs": [
"settings"
],
"/packages/codemirror/themes/solarizedDark.mjs": [
"settings"
],
"/packages/codemirror/themes/solarizedLight.mjs": [
"settings"
],
"/packages/codemirror/themes/sublime.mjs": [
"settings"
],
"/packages/codemirror/themes/tokyoNight.mjs": [
"settings"
],
"/packages/codemirror/themes/tokioNightStorm.mjs": [
"settings"
],
"/packages/codemirror/themes/tokyoNightDay.mjs": [
"settings"
],
"/packages/codemirror/themes/vscodeDark.mjs": [
"settings"
],
"/packages/codemirror/themes/vscodeLight.mjs": [
"settings"
],
"/packages/codemirror/themes/xcodeLight.mjs": [
"settings"
],
"/packages/codemirror/themes/bbedit.mjs": [
"settings"
],
"/packages/codemirror/themes/noctisLilac.mjs": [
"settings" "settings"
], ],
"/packages/codemirror/themes.mjs": [ "/packages/codemirror/themes.mjs": [
@@ -61,7 +162,12 @@
"activateTheme" "activateTheme"
], ],
"/packages/codemirror/slider.mjs": [ "/packages/codemirror/slider.mjs": [
"acorn parse error: SyntaxError: undefined" "sliderValues",
"SliderWidget",
"setSliderWidgets",
"updateSliderWidgets",
"sliderPlugin",
"sliderWithID"
], ],
"/packages/codemirror/widget.mjs": [ "/packages/codemirror/widget.mjs": [
"addWidget", "addWidget",
@@ -78,6 +184,59 @@
"StrudelMirror" "StrudelMirror"
], ],
"/packages/codemirror/index.mjs": [], "/packages/codemirror/index.mjs": [],
"/packages/core/logger.mjs": [
"logKey",
"errorLogger",
"logger"
],
"/packages/core/util.mjs": [
"isNoteWithOctave",
"isNote",
"tokenizeNote",
"noteToMidi",
"midiToFreq",
"freqToMidi",
"valueToMidi",
"getEventOffsetMs",
"_mod",
"averageArray",
"nanFallback",
"getSoundIndex",
"getPlayableNoteValue",
"getFrequency",
"rotate",
"pipe",
"compose",
"flatten",
"id",
"constant",
"listRange",
"curry",
"parseNumeral",
"mapArgs",
"numeralArgs",
"parseFractional",
"fractionalArgs",
"splitAt",
"zipWith",
"pairs",
"clamp",
"sol2note",
"uniq",
"uniqsort",
"uniqsortr",
"unicodeToBase64",
"base64ToUnicode",
"code2hash",
"hash2code",
"objectMap",
"cycleToSeconds",
"ClockCollator",
"getPerformanceTimeSeconds",
"keyAlias",
"getCurrentKeyboardState",
"stringifyValues"
],
"/packages/core/fraction.mjs": [ "/packages/core/fraction.mjs": [
"gcd", "gcd",
"lcm" "lcm"
@@ -91,45 +250,6 @@
"/packages/core/state.mjs": [ "/packages/core/state.mjs": [
"State" "State"
], ],
"/packages/core/logger.mjs": [
"logKey",
"logger"
],
"/packages/core/util.mjs": [
"isNoteWithOctave",
"isNote",
"tokenizeNote",
"noteToMidi",
"midiToFreq",
"freqToMidi",
"valueToMidi",
"_mod",
"nanFallback",
"getSoundIndex",
"getPlayableNoteValue",
"getFrequency",
"rotate",
"pipe",
"compose",
"flatten",
"constant",
"listRange",
"curry",
"parseNumeral",
"mapArgs",
"numeralArgs",
"parseFractional",
"fractionalArgs",
"splitAt",
"zipWith",
"clamp",
"sol2note",
"unicodeToBase64",
"base64ToUnicode",
"code2hash",
"hash2code",
"objectMap"
],
"/packages/core/value.mjs": [ "/packages/core/value.mjs": [
"unionWithObj", "unionWithObj",
"valued", "valued",
@@ -138,10 +258,8 @@
], ],
"/packages/core/drawLine.mjs": [], "/packages/core/drawLine.mjs": [],
"/packages/core/pattern.mjs": [ "/packages/core/pattern.mjs": [
"calculateSteps",
"setStringParser", "setStringParser",
"polyrhythm",
"pr",
"pm",
"nothing", "nothing",
"isPattern", "isPattern",
"reify", "reify",
@@ -149,8 +267,12 @@
"stackRight", "stackRight",
"stackCentre", "stackCentre",
"stackBy", "stackBy",
"fastcat", "bind",
"_polymeterListSteps", "innerBind",
"outerBind",
"squeezeBind",
"stepBind",
"polyBind",
"set", "set",
"keep", "keep",
"keepif", "keepif",
@@ -174,96 +296,51 @@
"func", "func",
"compressSpan", "compressSpan",
"compressspan", "compressspan",
"fastgap",
"focusSpan", "focusSpan",
"focusspan", "focusspan",
"density",
"sparsity",
"zoomArc", "zoomArc",
"zoomarc", "zoomarc",
"inv",
"juxby",
"echowith",
"stutWith",
"stutwith",
"iterback",
"slowchunk",
"slowChunk",
"chunkback",
"fastchunk",
"bypass", "bypass",
"hsla", "hsla",
"hsl", "hsl",
"loopat", "_retime",
"loopatcps" "_slices",
"_fitslice",
"_match",
"_polymeterListSteps",
"shrinklist",
"s_cat",
"s_alt",
"s_polymeter",
"s_taper",
"s_taperlist",
"s_add",
"s_sub",
"s_expand",
"s_extend",
"s_contract",
"s_tour",
"s_zip",
"steps",
"_morph"
], ],
"/packages/core/controls.mjs": [ "/packages/core/controls.mjs": [
"createParam", "createParam",
"sound", "isControlName",
"src", "registerControl",
"att",
"fmi",
"fmrelease", "fmrelease",
"fmvelocity", "fmvelocity",
"analyze", "analyze",
"fft", "fft",
"dec",
"sus",
"rel",
"hold", "hold",
"bandf", "duck",
"bp",
"bandq",
"loopb",
"loope",
"ch",
"phaserrate", "phaserrate",
"phasr",
"ph",
"phs",
"phc",
"phd",
"phasdp", "phasdp",
"cutoff",
"ctf",
"lp",
"lpe",
"hpe",
"bpe",
"lpa",
"hpa",
"bpa",
"lpd",
"hpd",
"bpd",
"lps",
"hps",
"bps",
"lpr",
"hpr",
"bpr",
"fanchor",
"vibrato",
"v",
"vmod",
"hcutoff",
"hp",
"hresonance",
"resonance",
"delayfb",
"dfb",
"delayt",
"dt",
"lock",
"det",
"fadeTime", "fadeTime",
"fadeOutTime", "fadeOutTime",
"fadeInTime", "fadeInTime",
"patt",
"pdec",
"psustain", "psustain",
"psus", "psus",
"prel",
"gate", "gate",
"gat", "gat",
"activeLabel", "activeLabel",
@@ -291,26 +368,13 @@
"offset", "offset",
"octaves", "octaves",
"mode", "mode",
"rlp",
"rdim",
"rfade",
"ir",
"size",
"sz",
"rsize",
"dist",
"compressorKnee", "compressorKnee",
"compressorRatio", "compressorRatio",
"compressorAttack", "compressorAttack",
"compressorRelease", "compressorRelease",
"waveloss", "waveloss",
"density",
"expression", "expression",
"sustainpedal", "sustainpedal",
"tremolodepth",
"tremdp",
"tremolorate",
"tremr",
"fshift", "fshift",
"fshiftnote", "fshiftnote",
"fshiftphase", "fshiftphase",
@@ -336,27 +400,15 @@
"binshift", "binshift",
"hbrick", "hbrick",
"lbrick", "lbrick",
"midichan",
"control",
"ccn",
"ccv",
"polyTouch",
"midibend",
"miditouch",
"ctlNum",
"frameRate", "frameRate",
"frames", "frames",
"hours", "hours",
"midicmd",
"minutes", "minutes",
"progNum",
"seconds", "seconds",
"songPtr", "songPtr",
"uid", "uid",
"val", "val",
"cps", "cps",
"legato",
"dur",
"zrand", "zrand",
"curve", "curve",
"deltaSlide", "deltaSlide",
@@ -368,44 +420,40 @@
"zmod", "zmod",
"zcrush", "zcrush",
"zdelay", "zdelay",
"tremolo",
"zzfx", "zzfx",
"colour",
"createParams", "createParams",
"ad", "ad",
"ds", "ds",
"ar" "ar",
"midimap",
"ctlNum",
"polyTouch",
"getControlName"
], ],
"/packages/core/euclid.mjs": [ "/packages/core/euclid.mjs": [
"bjork", "bjork",
"e",
"euclidrot" "euclidrot"
], ],
"/packages/core/zyklus.mjs": [], "/packages/core/zyklus.mjs": [],
"/packages/core/signal.mjs": [ "/packages/core/signal.mjs": [
"steady", "randrun",
"signal",
"isaw",
"isaw2",
"saw2",
"sine2",
"cosine2",
"square2",
"tri2",
"time",
"_brandBy", "_brandBy",
"_irand", "_irand",
"pickSqueeze",
"pickmodSqueeze",
"__chooseWith", "__chooseWith",
"randcat", "chooseIn",
"wrandcat", "chooseOut",
"perlinWith", "perlinWith",
"degradeByWith" "berlinWith",
"degradeByWith",
"_keyDown"
], ],
"/packages/core/pick.mjs": [],
"/packages/core/speak.mjs": [ "/packages/core/speak.mjs": [
"speak" "speak"
], ],
"/packages/core/evaluate.mjs": [ "/packages/core/evaluate.mjs": [
"strudelScope",
"evalScope", "evalScope",
"evaluate" "evaluate"
], ],
@@ -440,13 +488,18 @@
"isTauri" "isTauri"
], ],
"/packages/desktopbridge/midibridge.mjs": [], "/packages/desktopbridge/midibridge.mjs": [],
"/packages/desktopbridge/oscbridge.mjs": [], "/packages/desktopbridge/oscbridge.mjs": [
"oscTriggerTauri"
],
"/packages/desktopbridge/index.mjs": [], "/packages/desktopbridge/index.mjs": [],
"/packages/draw/draw.mjs": [ "/packages/draw/draw.mjs": [
"getDrawContext", "getDrawContext",
"cleanupDraw", "cleanupDraw",
"Framer", "Framer",
"Drawer" "Drawer",
"getComputedPropertyValue",
"getTheme",
"setTheme"
], ],
"/packages/draw/animate.mjs": [ "/packages/draw/animate.mjs": [
"x", "x",
@@ -467,16 +520,19 @@
"convertHexToNumber" "convertHexToNumber"
], ],
"/packages/draw/pianoroll.mjs": [ "/packages/draw/pianoroll.mjs": [
"__pianoroll",
"getDrawOptions", "getDrawOptions",
"getPunchcardPainter", "getPunchcardPainter",
"drawPianoroll" "drawPianoroll"
], ],
"/packages/draw/spiral.mjs": [], "/packages/draw/spiral.mjs": [],
"/packages/draw/pitchwheel.mjs": [],
"/packages/draw/index.mjs": [], "/packages/draw/index.mjs": [],
"/packages/midi/midi.mjs": [ "/packages/midi/midi.mjs": [
"WebMidi", "WebMidi",
"enableWebMidi", "enableWebMidi",
"midin" "midicontrolMap",
"midisoundMap"
], ],
"/packages/midi/index.mjs": [], "/packages/midi/index.mjs": [],
"/packages/mini/krill-parser.js": [], "/packages/mini/krill-parser.js": [],
@@ -496,12 +552,11 @@
"/packages/repl/prebake.mjs": [ "/packages/repl/prebake.mjs": [
"prebake" "prebake"
], ],
"/packages/repl/repl-component.mjs": [ "/packages/repl/repl-component.mjs": [],
"acorn parse error: SyntaxError: undefined"
],
"/packages/repl/index.mjs": [], "/packages/repl/index.mjs": [],
"/packages/soundfonts/gm.mjs": [], "/packages/soundfonts/gm.mjs": [],
"/packages/soundfonts/fontloader.mjs": [ "/packages/soundfonts/fontloader.mjs": [
"setSoundfontUrl",
"getFontBufferSource", "getFontBufferSource",
"getFontPitch", "getFontPitch",
"registerSoundfonts" "registerSoundfonts"
@@ -522,6 +577,7 @@
"vowelFormant" "vowelFormant"
], ],
"/packages/superdough/logger.mjs": [ "/packages/superdough/logger.mjs": [
"errorLogger",
"logger", "logger",
"setLogger" "setLogger"
], ],
@@ -534,10 +590,19 @@
"valueToMidi", "valueToMidi",
"nanFallback", "nanFallback",
"_mod", "_mod",
"getSoundIndex" "getSoundIndex",
"cycleToSeconds",
"secondsToCycle"
],
"/packages/superdough/noise.mjs": [
"getNoiseBuffer",
"getNoiseOscillator",
"getNoiseMix"
], ],
"/packages/superdough/helpers.mjs": [ "/packages/superdough/helpers.mjs": [
"noises",
"gainNode", "gainNode",
"getWorklet",
"getParamADSR", "getParamADSR",
"getCompressor", "getCompressor",
"getADSRValues", "getADSRValues",
@@ -550,6 +615,8 @@
], ],
"/packages/superdough/sampler.mjs": [ "/packages/superdough/sampler.mjs": [
"getCachedBuffer", "getCachedBuffer",
"getSampleInfo",
"getSampleBuffer",
"getSampleBufferSource", "getSampleBufferSource",
"loadBuffer", "loadBuffer",
"reverseBuffer", "reverseBuffer",
@@ -559,18 +626,32 @@
"onTriggerSample" "onTriggerSample"
], ],
"/packages/superdough/superdough.mjs": [ "/packages/superdough/superdough.mjs": [
"DEFAULT_MAX_POLYPHONY",
"setMaxPolyphony",
"setMultiChannelOrbits",
"soundMap", "soundMap",
"registerSound", "registerSound",
"applyGainCurve",
"setGainCurve",
"getSound", "getSound",
"getAudioDevices",
"setDefault",
"resetDefaults",
"setDefaultValue",
"getDefaultValue",
"setDefaultValues",
"resetDefaultValues",
"setVersionDefaults",
"resetLoadedSounds", "resetLoadedSounds",
"setDefaultAudioContext", "setDefaultAudioContext",
"getAudioContext", "getAudioContext",
"getWorklet", "getAudioContextCurrentTime",
"initAudio", "initAudio",
"initAudioOnFirstClick", "initAudioOnFirstClick",
"initializeAudioOutput", "initializeAudioOutput",
"connectToDestination", "connectToDestination",
"panic", "panic",
"getLfo",
"analysers", "analysers",
"analysersData", "analysersData",
"getAnalyserById", "getAnalyserById",
@@ -579,17 +660,13 @@
"superdough", "superdough",
"superdoughTrigger" "superdoughTrigger"
], ],
"/packages/superdough/noise.mjs": [
"getNoiseOscillator",
"getNoiseMix"
],
"/packages/superdough/synth.mjs": [ "/packages/superdough/synth.mjs": [
"registerSynthSounds", "registerSynthSounds",
"waveformN", "waveformN",
"getOscillator" "getOscillator"
], ],
"/packages/superdough/zzfx_fork.mjs": [ "/packages/superdough/zzfx_fork.mjs": [
"acorn parse error: SyntaxError: undefined" "buildSamples"
], ],
"/packages/superdough/zzfx.mjs": [ "/packages/superdough/zzfx.mjs": [
"getZZFX", "getZZFX",
@@ -640,6 +717,7 @@
], ],
"/packages/transpiler/transpiler.mjs": [ "/packages/transpiler/transpiler.mjs": [
"registerWidgetType", "registerWidgetType",
"registerLanguage",
"transpiler", "transpiler",
"getWidgetID" "getWidgetID"
], ],
@@ -654,6 +732,7 @@
"drawTimeScope", "drawTimeScope",
"drawFrequencyScope" "drawFrequencyScope"
], ],
"/packages/webaudio/spectrum.mjs": [],
"/packages/webaudio/index.mjs": [], "/packages/webaudio/index.mjs": [],
"/packages/xen/xen.mjs": [ "/packages/xen/xen.mjs": [
"edo", "edo",