Add tags for some of the new functions

This commit is contained in:
Václav Volhejn 2026-01-18 12:08:12 +01:00
parent 99cf256ee2
commit 6e36bdfff7
5 changed files with 47 additions and 1 deletions

View file

@ -702,6 +702,7 @@ export const {
* any of the 8 individual FMs (e.g. `fmrel8`) * any of the 8 individual FMs (e.g. `fmrel8`)
* *
* @name fmrelease * @name fmrelease
* @tags fx, superdough, supradough
* @synonyms fmrel * @synonyms fmrel
* @param {number | Pattern} time release time * @param {number | Pattern} time release time
* *
@ -1553,6 +1554,7 @@ export const { fanchor } = registerControl('fanchor');
* Rate of the LFO for the lowpass filter * Rate of the LFO for the lowpass filter
* *
* @name lprate * @name lprate
* @tags fx, superdough
* @param {number | Pattern} rate rate in hertz * @param {number | Pattern} rate rate in hertz
* @example * @example
* note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lprate("<4 8 2 1>") * note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lprate("<4 8 2 1>")
@ -1563,6 +1565,7 @@ export const { lprate } = registerControl('lprate');
* Cycle-synced rate of the LFO for the lowpass filter * Cycle-synced rate of the LFO for the lowpass filter
* *
* @name lpsync * @name lpsync
* @tags fx, superdough
* @param {number | Pattern} rate rate in cycles * @param {number | Pattern} rate rate in cycles
* @example * @example
* note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lpsync("<4 8 2 1>") * note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lpsync("<4 8 2 1>")
@ -1573,6 +1576,7 @@ export const { lpsync } = registerControl('lpsync');
* Depth of the LFO for the lowpass filter * Depth of the LFO for the lowpass filter
* *
* @name lpdepth * @name lpdepth
* @tags fx, superdough
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
* @example * @example
* note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lpdepth("<1 .5 1.8 0>") * note("<c c c# c c c4>*16").s("sawtooth").lpf(600).lpdepth("<1 .5 1.8 0>")
@ -1583,6 +1587,7 @@ export const { lpdepth } = registerControl('lpdepth');
* Depth of the LFO for the lowpass filter, in HZ * Depth of the LFO for the lowpass filter, in HZ
* *
* @name lpdepthfrequency * @name lpdepthfrequency
* @tags fx, superdough
* @synonyms lpdepthfreq * @synonyms lpdepthfreq
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
* @example * @example
@ -1595,6 +1600,7 @@ export const { lpdepthfrequency, lpdepthfreq } = registerControl('lpdepthfrequen
* Shape of the LFO for the lowpass filter * Shape of the LFO for the lowpass filter
* *
* @name lpshape * @name lpshape
* @tags fx, superdough
* @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..) * @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..)
*/ */
export const { lpshape } = registerControl('lpshape'); export const { lpshape } = registerControl('lpshape');
@ -1603,6 +1609,7 @@ export const { lpshape } = registerControl('lpshape');
* DC offset of the LFO for the lowpass filter * DC offset of the LFO for the lowpass filter
* *
* @name lpdc * @name lpdc
* @tags fx, superdough
* @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar * @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar
*/ */
export const { lpdc } = registerControl('lpdc'); export const { lpdc } = registerControl('lpdc');
@ -1611,6 +1618,7 @@ export const { lpdc } = registerControl('lpdc');
* Skew of the LFO for the lowpass filter * Skew of the LFO for the lowpass filter
* *
* @name lpskew * @name lpskew
* @tags fx, superdough
* @param {number | Pattern} skew How much to bend the LFO shape * @param {number | Pattern} skew How much to bend the LFO shape
*/ */
export const { lpskew } = registerControl('lpskew'); export const { lpskew } = registerControl('lpskew');
@ -1619,6 +1627,7 @@ export const { lpskew } = registerControl('lpskew');
* Rate of the LFO for the bandpass filter * Rate of the LFO for the bandpass filter
* *
* @name bprate * @name bprate
* @tags fx, superdough
* @param {number | Pattern} rate rate in hertz * @param {number | Pattern} rate rate in hertz
*/ */
export const { bprate } = registerControl('bprate'); export const { bprate } = registerControl('bprate');
@ -1627,6 +1636,7 @@ export const { bprate } = registerControl('bprate');
* Cycle-synced rate of the LFO for the bandpass filter * Cycle-synced rate of the LFO for the bandpass filter
* *
* @name bpsync * @name bpsync
* @tags fx, superdough
* @param {number | Pattern} rate rate in cycles * @param {number | Pattern} rate rate in cycles
*/ */
export const { bpsync } = registerControl('bpsync'); export const { bpsync } = registerControl('bpsync');
@ -1635,6 +1645,7 @@ export const { bpsync } = registerControl('bpsync');
* Depth of the LFO for the bandpass filter * Depth of the LFO for the bandpass filter
* *
* @name bpdepth * @name bpdepth
* @tags fx, superdough
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
*/ */
export const { bpdepth } = registerControl('bpdepth'); export const { bpdepth } = registerControl('bpdepth');
@ -1643,6 +1654,7 @@ export const { bpdepth } = registerControl('bpdepth');
* Depth of the LFO for the bandpass filter, in HZ * Depth of the LFO for the bandpass filter, in HZ
* *
* @name bpdepthfrequency * @name bpdepthfrequency
* @tags fx, superdough
* @synonyms bpdepthfreq * @synonyms bpdepthfreq
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
* @example * @example
@ -1655,6 +1667,7 @@ export const { bpdepthfrequency, bpdepthfreq } = registerControl('bpdepthfrequen
* Shape of the LFO for the bandpass filter * Shape of the LFO for the bandpass filter
* *
* @name bpshape * @name bpshape
* @tags fx, superdough
* @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..) * @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..)
*/ */
export const { bpshape } = registerControl('bpshape'); export const { bpshape } = registerControl('bpshape');
@ -1663,6 +1676,7 @@ export const { bpshape } = registerControl('bpshape');
* DC offset of the LFO for the bandpass filter * DC offset of the LFO for the bandpass filter
* *
* @name bpdc * @name bpdc
* @tags fx, superdough
* @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar * @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar
*/ */
export const { bpdc } = registerControl('bpdc'); export const { bpdc } = registerControl('bpdc');
@ -1671,6 +1685,7 @@ export const { bpdc } = registerControl('bpdc');
* Skew of the LFO for the bandpass filter * Skew of the LFO for the bandpass filter
* *
* @name bpskew * @name bpskew
* @tags fx, superdough
* @param {number | Pattern} skew How much to bend the LFO shape * @param {number | Pattern} skew How much to bend the LFO shape
*/ */
export const { bpskew } = registerControl('bpskew'); export const { bpskew } = registerControl('bpskew');
@ -1679,6 +1694,7 @@ export const { bpskew } = registerControl('bpskew');
* Rate of the LFO for the highpass filter * Rate of the LFO for the highpass filter
* *
* @name hprate * @name hprate
* @tags fx, superdough
* @param {number | Pattern} rate rate in hertz * @param {number | Pattern} rate rate in hertz
*/ */
export const { hprate } = registerControl('hprate'); export const { hprate } = registerControl('hprate');
@ -1687,6 +1703,7 @@ export const { hprate } = registerControl('hprate');
* Cycle-synced rate of the LFO for the highpass filter * Cycle-synced rate of the LFO for the highpass filter
* *
* @name hpsync * @name hpsync
* @tags fx, superdough
* @param {number | Pattern} rate rate in cycles * @param {number | Pattern} rate rate in cycles
*/ */
export const { hpsync } = registerControl('hpsync'); export const { hpsync } = registerControl('hpsync');
@ -1695,6 +1712,7 @@ export const { hpsync } = registerControl('hpsync');
* Depth of the LFO for the highpass filter * Depth of the LFO for the highpass filter
* *
* @name hpdepth * @name hpdepth
* @tags fx, superdough
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
*/ */
export const { hpdepth } = registerControl('hpdepth'); export const { hpdepth } = registerControl('hpdepth');
@ -1703,6 +1721,7 @@ export const { hpdepth } = registerControl('hpdepth');
* Depth of the LFO for the hipass filter, in hz * Depth of the LFO for the hipass filter, in hz
* *
* @name hpdepthfrequency * @name hpdepthfrequency
* @tags fx, superdough
* @synonyms hpdepthfreq * @synonyms hpdepthfreq
* @param {number | Pattern} depth depth of modulation * @param {number | Pattern} depth depth of modulation
* @example * @example
@ -1715,6 +1734,7 @@ export const { hpdepthfrequency, hpdepthfreq } = registerControl('hpdepthfrequen
* Shape of the LFO for the highpass filter * Shape of the LFO for the highpass filter
* *
* @name hpshape * @name hpshape
* @tags fx, superdough
* @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..) * @param {number | Pattern} shape Shape of the lfo (0, 1, 2, ..)
*/ */
export const { hpshape } = registerControl('hpshape'); export const { hpshape } = registerControl('hpshape');
@ -1723,6 +1743,7 @@ export const { hpshape } = registerControl('hpshape');
* DC offset of the LFO for the highpass filter * DC offset of the LFO for the highpass filter
* *
* @name hpdc * @name hpdc
* @tags fx, superdough
* @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar * @param {number | Pattern} dcoffset dc offset. set to 0 for unipolar
*/ */
export const { hpdc } = registerControl('hpdc'); export const { hpdc } = registerControl('hpdc');
@ -1731,6 +1752,7 @@ export const { hpdc } = registerControl('hpdc');
* Skew of the LFO for the highpass filter * Skew of the LFO for the highpass filter
* *
* @name hpskew * @name hpskew
* @tags fx, superdough
* @param {number | Pattern} skew How much to bend the LFO shape * @param {number | Pattern} skew How much to bend the LFO shape
*/ */
export const { hpskew } = registerControl('hpskew'); export const { hpskew } = registerControl('hpskew');
@ -2182,6 +2204,7 @@ export const { orbit } = registerControl('orbit', 'o');
* otherPat.bmod(..) (to modulate another pattern with the bus) * otherPat.bmod(..) (to modulate another pattern with the bus)
* *
* @name bus * @name bus
* @tags fx, superdough
* @param {number | Pattern} number * @param {number | Pattern} number
*/ */
export const { bus } = registerControl('bus'); export const { bus } = registerControl('bus');
@ -2190,6 +2213,7 @@ export const { bus } = registerControl('bus');
* Postgain multiplier prior to sending the signal to the audio bus. * Postgain multiplier prior to sending the signal to the audio bus.
* *
* @name busgain * @name busgain
* @tags fx, superdough
* @synonyms bgain * @synonyms bgain
* @param {number | Pattern} number * @param {number | Pattern} number
*/ */
@ -2252,6 +2276,7 @@ export const { voice } = registerControl('voice');
/** /**
* The chord to voice * The chord to voice
* @name chord * @name chord
* @tags music_theory
* @param {string | Pattern} symbols chord symbols to voice e.g., C, Eb, Fm7, G7. The symbols can be defined via addVoicings * @param {string | Pattern} symbols chord symbols to voice e.g., C, Eb, Fm7, G7. The symbols can be defined via addVoicings
* @example * @example
* chord("<Am C D F Am E Am E>").voicing() * chord("<Am C D F Am E Am E>").voicing()
@ -2261,6 +2286,7 @@ export const { chord } = registerControl('chord');
* Which dictionary to use for the voicings. This falls back to the default dictionary if not provided * Which dictionary to use for the voicings. This falls back to the default dictionary if not provided
* *
* @name dictionary * @name dictionary
* @tags music_theory
* @param {string} dictionaryName which dictionary (having been defined with `addVoicings`) to use * @param {string} dictionaryName which dictionary (having been defined with `addVoicings`) to use
* @example * @example
* addVoicings('house', { * addVoicings('house', {
@ -2275,6 +2301,7 @@ export const { dictionary, dict } = registerControl('dictionary', 'dict');
/** The top note to align the voicing to. Defaults to c5 /** The top note to align the voicing to. Defaults to c5
* *
* @name anchor * @name anchor
* @tags music_theory
* @param {string | Pattern} anchorNote the note to align the voicings to * @param {string | Pattern} anchorNote the note to align the voicings to
* @example * @example
* anchor("<c4 g4 c5 g5>").chord("C").voicing() * anchor("<c4 g4 c5 g5>").chord("C").voicing()
@ -2284,6 +2311,7 @@ export const { anchor } = registerControl('anchor');
* Sets how the voicing is offset from the anchored position * Sets how the voicing is offset from the anchored position
* *
* @name offset * @name offset
* @tags music_theory
* @param {number | Pattern} shift the amount to shift the voicing up or down * @param {number | Pattern} shift the amount to shift the voicing up or down
* @example * @example
* chord("<Am C D F Am E Am E>").offset("<0 1 2 3 4 5>") // alter the voicing each time * chord("<Am C D F Am E Am E>").offset("<0 1 2 3 4 5>") // alter the voicing each time
@ -2293,6 +2321,7 @@ export const { offset } = registerControl('offset');
* How many octaves are voicing steps spread apart, defaults to 1 * How many octaves are voicing steps spread apart, defaults to 1
* *
* @name octaves * @name octaves
* @tags music_theory
* @param {number | Pattern} count the number of octaves * @param {number | Pattern} count the number of octaves
* @example * @example
* chord("<Am C D F Am E Am E>").octaves("<2 4>").voicing() * chord("<Am C D F Am E Am E>").octaves("<2 4>").voicing()
@ -2302,6 +2331,7 @@ export const { octaves } = registerControl('octaves');
* Remove anchor note from the voicing. Useful for melody harmonization * Remove anchor note from the voicing. Useful for melody harmonization
* *
* @name mode * @name mode
* @tags music_theory
* @param {string | Pattern} modeName one of {below | above | duck | root} * @param {string | Pattern} modeName one of {below | above | duck | root}
* @example * @example
* mode("<below above duck root>").chord("C").voicing() * mode("<below above duck root>").chord("C").voicing()
@ -3097,6 +3127,7 @@ Pattern.prototype.modulate = function (type, config, idPat) {
* a `sometimes`. See example below. * a `sometimes`. See example below.
* *
* @name lfo * @name lfo
* @tags fx, superdough
* @param {Object} config LFO configuration. * @param {Object} config LFO configuration.
* @param {string | Pattern} [config.control] Node to modulate. Aliases: c * @param {string | Pattern} [config.control] Node to modulate. Aliases: c
* @param {string | Pattern} [config.subControl] Sub-control name to append to the control key. Aliases: sc * @param {string | Pattern} [config.subControl] Sub-control name to append to the control key. Aliases: sc
@ -3150,6 +3181,7 @@ export const lfo = (config) => pure({}).lfo(config);
* a `sometimes`. See example below. * a `sometimes`. See example below.
* *
* @name env * @name env
* @tags fx, superdough
* @param {Object} config Envelope configuration. * @param {Object} config Envelope configuration.
* @param {string | Pattern} [config.control] Node to modulate. Aliases: c * @param {string | Pattern} [config.control] Node to modulate. Aliases: c
* @param {string | Pattern} [config.subControl] Sub-control name to append to the control key. Aliases: sc * @param {string | Pattern} [config.subControl] Sub-control name to append to the control key. Aliases: sc
@ -3210,6 +3242,7 @@ export const env = (config) => pure({}).env(config);
* a `sometimes`. See example below. * a `sometimes`. See example below.
* *
* @name bmod * @name bmod
* @tags fx, superdough
* @param {Object} config Bus modulation configuration. * @param {Object} config Bus modulation configuration.
* @param {string | Pattern} [config.bus] Bus to get modulation signal from * @param {string | Pattern} [config.bus] Bus to get modulation signal from
* @param {string | Pattern} [config.control] Node to modulate. Aliases: c * @param {string | Pattern} [config.control] Node to modulate. Aliases: c
@ -3236,6 +3269,7 @@ export const bmod = (config) => pure({}).bmod(config);
* and sustains * and sustains
* *
* @name transient * @name transient
* @tags fx, superdough
* @param {number | Pattern} attack Emphasis on transients; between -1 (deaccentuate) and 1 (accentuate) * @param {number | Pattern} attack Emphasis on transients; between -1 (deaccentuate) and 1 (accentuate)
* @param {number | Pattern} sustain Emphasis on the sustains; between -1 (deaccentuate) and 1 (accentuate) * @param {number | Pattern} sustain Emphasis on the sustains; between -1 (deaccentuate) and 1 (accentuate)
* @example * @example

View file

@ -1572,7 +1572,10 @@ export function fastcat(...pats) {
return result; return result;
} }
/** See `fastcat` */ /** See `fastcat`
* @name sequence
* @tags combiners
*/
export function sequence(...pats) { export function sequence(...pats) {
return fastcat(...pats); return fastcat(...pats);
} }
@ -2377,6 +2380,7 @@ export const rev = register(
* Reverse a whole pattern. See also `rev` for reversing each cycle. * Reverse a whole pattern. See also `rev` for reversing each cycle.
* *
* @name revv * @name revv
* @tags temporal
* @memberof Pattern * @memberof Pattern
* @returns Pattern * @returns Pattern
* @example * @example
@ -3903,6 +3907,7 @@ export const phases = (list) => {
* calls and/or in a single .FX(fx1, fx2, ..) call. The fx1, .. are _patterns_ which * calls and/or in a single .FX(fx1, fx2, ..) call. The fx1, .. are _patterns_ which
* establish the controls of the given effect. See examples. * establish the controls of the given effect. See examples.
* @name FX * @name FX
* @tags fx, superdough
* @memberof Pattern * @memberof Pattern
* @returns Pattern * @returns Pattern
* @example * @example
@ -3953,6 +3958,7 @@ const _asArrayPattern = (pats) => {
* by wrapping them inside a function in K (see example). * by wrapping them inside a function in K (see example).
* *
* @name K * @name K
* @tags generators, fx, superdough
* @param {KabelsalatExpression | Function} expr Kabelsalat graph definition * @param {KabelsalatExpression | Function} expr Kabelsalat graph definition
* @memberof Pattern * @memberof Pattern
* @returns Pattern * @returns Pattern

View file

@ -286,6 +286,7 @@ export const getRandsAtTime = (t, n = 1, seed = 0) => {
* precise RNG, try `useRNG('precise')`. * precise RNG, try `useRNG('precise')`.
* *
* @name useRNG * @name useRNG
* @tags generators, internals
* @param {string} mod - Mode. One of 'legacy', 'precise' * @param {string} mod - Mode. One of 'legacy', 'precise'
* @example * @example
* useRNG('legacy') * useRNG('legacy')
@ -341,6 +342,7 @@ export const binaryN = (n, nBits = 16) => {
* Creates a binary list pattern from a number. * Creates a binary list pattern from a number.
* *
* @name binaryL * @name binaryL
* @tags generators
* @param {number} n - input number to convert to binary * @param {number} n - input number to convert to binary
* s("saw").seg(8) * s("saw").seg(8)
* .partials(binaryL(irand(4096).add(1))) * .partials(binaryL(irand(4096).add(1)))
@ -354,6 +356,7 @@ export const binaryL = (n) => {
* Creates a binary list pattern from a number, padded to n bits long. * Creates a binary list pattern from a number, padded to n bits long.
* *
* @name binaryNL * @name binaryNL
* @tags generators
* @param {number} n - input number to convert to binary * @param {number} n - input number to convert to binary
* @param {number} nBits - pattern length, defaults to 16 * @param {number} nBits - pattern length, defaults to 16
*/ */

View file

@ -577,6 +577,7 @@ export async function midin(input) {
* note durations * note durations
* *
* @name midikeys * @name midikeys
* @tags external_io
* @param {string | number} input MIDI device name or index defaulting to 0 * @param {string | number} input MIDI device name or index defaulting to 0
* @returns {function((number | Pattern)=): Pattern} A function that produces a pattern. * @returns {function((number | Pattern)=): Pattern} A function that produces a pattern.
* When queried, the pattern will produces the most recently played midi notes and velocities, * When queried, the pattern will produces the most recently played midi notes and velocities,

View file

@ -40,6 +40,7 @@ export let maxPolyphony = DEFAULT_MAX_POLYPHONY;
* start to die out in first-in-first-out order once the max polyphony has been hit * start to die out in first-in-first-out order once the max polyphony has been hit
* *
* @name setMaxPolyphony * @name setMaxPolyphony
* @tags fx, superdough
* @param {number} Max polyphony. Defaults to 128 * @param {number} Max polyphony. Defaults to 128
* @example * @example
* setMaxPolyphony(4) * setMaxPolyphony(4)
@ -73,6 +74,7 @@ export function applyGainCurve(val) {
* quadratic, exponential, etc. rather than linear * quadratic, exponential, etc. rather than linear
* *
* @name setGainCurve * @name setGainCurve
* @tags fx, superdough
* @param {Function} function to apply to all gain values * @param {Function} function to apply to all gain values
* @example * @example
* setGainCurve((x) => x * x) // quadratic gain * setGainCurve((x) => x * x) // quadratic gain