This commit is contained in:
Felix Roos 2022-05-22 15:59:56 +02:00
parent 4c4d0b426e
commit 4be798d15a
2 changed files with 383 additions and 85 deletions

362
doc.json
View file

@ -164,7 +164,7 @@
"comment": "/**\n * Sets the center frequency of the band-pass filter.\n *\n * @name bandf\n * @param {number | Pattern} frequency center frequency\n * @example\n * s(\"bd sd\").bandf(\"<1000 2000 4000 8000>\").osc()\n *\n */", "comment": "/**\n * Sets the center frequency of the band-pass filter.\n *\n * @name bandf\n * @param {number | Pattern} frequency center frequency\n * @example\n * s(\"bd sd\").bandf(\"<1000 2000 4000 8000>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 92, "lineno": 97,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -196,7 +196,7 @@
"comment": "/**\n * Sets the q-factor of the band-pass filter\n *\n * @name bandq\n * @param {number | Pattern} q q factor\n * @example\n * s(\"bd sd\").bandf(\"<1000 2000 4000 8000>\").bandq(\"<.2 .9>\").osc()\n *\n */", "comment": "/**\n * Sets the q-factor of the band-pass filter\n *\n * @name bandq\n * @param {number | Pattern} q q factor\n * @example\n * s(\"bd sd\").bandf(\"<1000 2000 4000 8000>\").bandq(\"<.2 .9>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 103, "lineno": 108,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -228,7 +228,7 @@
"comment": "/**\n * a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.\n *\n * @name begin\n * @param {number | Pattern} amount between 0 and 1, where 1 is the length of the sample\n * @example\n * s(\"rave\").begin(\"<0 .25 .5 .75>\").osc()\n *\n */", "comment": "/**\n * a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.\n *\n * @name begin\n * @param {number | Pattern} amount between 0 and 1, where 1 is the length of the sample\n * @example\n * s(\"rave\").begin(\"<0 .25 .5 .75>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 113, "lineno": 118,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -260,7 +260,7 @@
"comment": "/**\n * The same as {@link begin}, but cuts off the end off each sample.\n *\n * @name end\n * @param {number | Pattern} length 1 = whole sample, .5 = half sample, .25 = quarter sample etc..\n * @example\n * s(\"bd*2,ho*4\").end(\"<.1 .2 .5 1>\").osc()\n *\n */", "comment": "/**\n * The same as {@link begin}, but cuts off the end off each sample.\n *\n * @name end\n * @param {number | Pattern} length 1 = whole sample, .5 = half sample, .25 = quarter sample etc..\n * @example\n * s(\"bd*2,ho*4\").end(\"<.1 .2 .5 1>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 127, "lineno": 132,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -292,7 +292,7 @@
"comment": "/**\n * a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.\n *\n * @name legato\n * @param {number | Pattern} duration between 0 and 1, where 1 is the length of the whole hap time\n * @example\n * \"c4 eb4 g4 bb4\".legato(\"<0.125 .25 .5 .75 1 2 4>\")\n *\n */", "comment": "/**\n * a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.\n *\n * @name legato\n * @param {number | Pattern} duration between 0 and 1, where 1 is the length of the whole hap time\n * @example\n * \"c4 eb4 g4 bb4\".legato(\"<0.125 .25 .5 .75 1 2 4>\")\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 142, "lineno": 147,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -324,7 +324,7 @@
"comment": "/**\n * bit crusher effect.\n *\n * @name crush\n * @param {number | Pattern} depth between 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).\n * @example\n * s(\"<bd sd>,hh*3,jvbass*2\").fast(2).crush(\"<16 8 7 6 5 4 3 2>\").osc()\n *\n */", "comment": "/**\n * bit crusher effect.\n *\n * @name crush\n * @param {number | Pattern} depth between 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).\n * @example\n * s(\"<bd sd>,hh*3,jvbass*2\").fast(2).crush(\"<16 8 7 6 5 4 3 2>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 153, "lineno": 158,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -356,7 +356,7 @@
"comment": "/**\n * fake-resampling for lowering the sample rate\n *\n * @name coarse\n * @param {number | Pattern} factor 1 for original 2 for half, 3 for a third and so on.\n * @example\n * s(\"xmas\").coarse(\"<1 4 8 16 32>\").osc()\n *\n */", "comment": "/**\n * fake-resampling for lowering the sample rate\n *\n * @name coarse\n * @param {number | Pattern} factor 1 for original 2 for half, 3 for a third and so on.\n * @example\n * s(\"xmas\").coarse(\"<1 4 8 16 32>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 167, "lineno": 172,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -388,7 +388,7 @@
"comment": "/**\n * choose the channel the pattern is sent to in superdirt\n *\n * @name channel\n * @param {number | Pattern} channel channel number\n *\n */", "comment": "/**\n * choose the channel the pattern is sent to in superdirt\n *\n * @name channel\n * @param {number | Pattern} channel channel number\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 182, "lineno": 187,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -417,7 +417,7 @@
"comment": "/**\n * In the style of classic drum-machines, `cut` will stop a playing sample as soon as another samples with in same cutgroup is to be played. An example would be an open hi-hat followed by a closed one, essentially muting the open.\n *\n * @name cut\n * @param {number | Pattern} group cut group number\n * @example\n * s(\"bd sax\").cut(1).osc()\n *\n */", "comment": "/**\n * In the style of classic drum-machines, `cut` will stop a playing sample as soon as another samples with in same cutgroup is to be played. An example would be an open hi-hat followed by a closed one, essentially muting the open.\n *\n * @name cut\n * @param {number | Pattern} group cut group number\n * @example\n * s(\"bd sax\").cut(1).osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 190, "lineno": 195,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -449,7 +449,7 @@
"comment": "/**\n * Applies the cutoff frequency of the low-pass filter.\n *\n * @name cutoff\n * @param {number | Pattern} frequency audible between 0 and 20000\n * @example\n * s(\"bd,hh*2,<~ sd>\").fast(2).cutoff(\"<4000 2000 1000 500 200 100>\").osc()\n *\n */", "comment": "/**\n * Applies the cutoff frequency of the low-pass filter.\n *\n * @name cutoff\n * @param {number | Pattern} frequency audible between 0 and 20000\n * @example\n * s(\"bd,hh*2,<~ sd>\").fast(2).cutoff(\"<4000 2000 1000 500 200 100>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 204, "lineno": 209,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -477,11 +477,107 @@
"___id": "T000002R000018", "___id": "T000002R000018",
"___s": true "___s": true
}, },
{
"comment": "/**\n * Applies the cutoff frequency of the high-pass filter.\n *\n * @name hcutoff\n * @param {number | Pattern} frequency audible between 0 and 20000\n * @example\n * s(\"bd,hh*2,<~ sd>\").fast(2).hcutoff(\"<4000 2000 1000 500 200 100>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 220,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Applies the cutoff frequency of the high-pass filter.</p>",
"name": "hcutoff",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>audible between 0 and 20000</p>",
"name": "frequency"
}
],
"examples": [
"s(\"bd,hh*2,<~ sd>\").fast(2).hcutoff(\"<4000 2000 1000 500 200 100>\").osc()"
],
"longname": "hcutoff",
"kind": "member",
"scope": "global",
"___id": "T000002R000019",
"___s": true
},
{
"comment": "/**\n * Applies the cutoff frequency of the high-pass filter.\n *\n * @name hresonance\n * @param {number | Pattern} q resonance factor between 0 and 1\n * @example\n * s(\"bd,hh*2,<~ sd>\").fast(2).hcutoff(2000).hresonance(\"<0 .2 .4 .6>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 235,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Applies the cutoff frequency of the high-pass filter.</p>",
"name": "hresonance",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>resonance factor between 0 and 1</p>",
"name": "q"
}
],
"examples": [
"s(\"bd,hh*2,<~ sd>\").fast(2).hcutoff(2000).hresonance(\"<0 .2 .4 .6>\").osc()"
],
"longname": "hresonance",
"kind": "member",
"scope": "global",
"___id": "T000002R000020",
"___s": true
},
{
"comment": "/**\n * Applies the cutoff frequency of the low-pass filter.\n *\n * @name resonance\n * @param {number | Pattern} q resonance factor between 0 and 1\n * @example\n * s(\"bd,hh*2,<~ sd>\").fast(2).cutoff(2000).resonance(\"<0 .2 .4 .6>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 250,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Applies the cutoff frequency of the low-pass filter.</p>",
"name": "resonance",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>resonance factor between 0 and 1</p>",
"name": "q"
}
],
"examples": [
"s(\"bd,hh*2,<~ sd>\").fast(2).cutoff(2000).resonance(\"<0 .2 .4 .6>\").osc()"
],
"longname": "resonance",
"kind": "member",
"scope": "global",
"___id": "T000002R000021",
"___s": true
},
{ {
"comment": "/**\n * Set detune of oscillators. Works only with some synths, see <a target=\"_blank\" href=\"https://tidalcycles.org/docs/patternlib/tutorials/synthesizers\">tidal doc</a>\n *\n * @name djf\n * @param {number | Pattern} cutoff below 0.5 is low pass filter, above is high pass filter\n * @example\n * n(\"0 3 7 [10,24]\").s('superzow').octave(3).djf(\"<.5 .25 .5 .75>\").osc()\n *\n */", "comment": "/**\n * Set detune of oscillators. Works only with some synths, see <a target=\"_blank\" href=\"https://tidalcycles.org/docs/patternlib/tutorials/synthesizers\">tidal doc</a>\n *\n * @name djf\n * @param {number | Pattern} cutoff below 0.5 is low pass filter, above is high pass filter\n * @example\n * n(\"0 3 7 [10,24]\").s('superzow').octave(3).djf(\"<.5 .25 .5 .75>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 214, "lineno": 261,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -506,14 +602,14 @@
"longname": "djf", "longname": "djf",
"kind": "member", "kind": "member",
"scope": "global", "scope": "global",
"___id": "T000002R000019", "___id": "T000002R000022",
"___s": true "___s": true
}, },
{ {
"comment": "/**\n * Set detune of oscillators. Works only with some synths, see <a target=\"_blank\" href=\"https://tidalcycles.org/docs/patternlib/tutorials/synthesizers\">tidal doc</a>\n *\n * @name detune\n * @param {number | Pattern} amount between 0 and 1\n * @example\n * n(\"0 3 7\").s('superzow').octave(3).detune(\"<0 .25 .5 1 2>\").osc()\n *\n */", "comment": "/**\n * Set detune of oscillators. Works only with some synths, see <a target=\"_blank\" href=\"https://tidalcycles.org/docs/patternlib/tutorials/synthesizers\">tidal doc</a>\n *\n * @name detune\n * @param {number | Pattern} amount between 0 and 1\n * @example\n * n(\"0 3 7\").s('superzow').octave(3).detune(\"<0 .25 .5 1 2>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 238, "lineno": 285,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -538,14 +634,14 @@
"longname": "detune", "longname": "detune",
"kind": "member", "kind": "member",
"scope": "global", "scope": "global",
"___id": "T000002R000020", "___id": "T000002R000023",
"___s": true "___s": true
}, },
{ {
"comment": "/**\n * Set dryness of reverb. See {@link room} and {@link size} for more information about reverb.\n *\n * @name dry\n * @param {number | Pattern} dry 0 = wet, 1 = dry\n * @example\n * n(\"[0,3,7](3,8)\").s(\"superpiano\").room(.7).dry(\"<0 .5 .75 1>\").osc()\n *\n */", "comment": "/**\n * Set dryness of reverb. See {@link room} and {@link size} for more information about reverb.\n *\n * @name dry\n * @param {number | Pattern} dry 0 = wet, 1 = dry\n * @example\n * n(\"[0,3,7](3,8)\").s(\"superpiano\").room(.7).dry(\"<0 .5 .75 1>\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 248, "lineno": 295,
"columnno": 2, "columnno": 2,
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
@ -570,7 +666,135 @@
"longname": "dry", "longname": "dry",
"kind": "member", "kind": "member",
"scope": "global", "scope": "global",
"___id": "T000002R000021", "___id": "T000002R000024",
"___s": true
},
{
"comment": "/**\n * Set frequency of sound.\n *\n * @name freq\n * @param {number | Pattern} frequency in Hz. the audible range is between 20 and 20000 Hz\n * @example\n * freq(\"220 110 440 110\").s(\"superzow\").osc()\n * @example\n * freq(\"110\".mulOut(\".5 1.5 .6 [2 3]\")).s(\"superzow\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 330,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Set frequency of sound.</p>",
"name": "freq",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>in Hz. the audible range is between 20 and 20000 Hz</p>",
"name": "frequency"
}
],
"examples": [
"freq(\"220 110 440 110\").s(\"superzow\").osc()",
"freq(\"110\".mulOut(\".5 1.5 .6 [2 3]\")).s(\"superzow\").osc()"
],
"longname": "freq",
"kind": "member",
"scope": "global",
"___id": "T000002R000025",
"___s": true
},
{
"comment": "/**\n * Emulation of a Leslie speaker: speakers rotating in a wooden amplified cabinet.\n *\n * @name leslie\n * @param {number | Pattern} dry between 0 and 1\n * @example\n * n(\"0,4,7\").s(\"supersquare\").leslie(\"<0 .4 .6 1>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 353,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Emulation of a Leslie speaker: speakers rotating in a wooden amplified cabinet.</p>",
"name": "leslie",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>between 0 and 1</p>",
"name": "dry"
}
],
"examples": [
"n(\"0,4,7\").s(\"supersquare\").leslie(\"<0 .4 .6 1>\").osc()"
],
"longname": "leslie",
"kind": "member",
"scope": "global",
"___id": "T000002R000026",
"___s": true
},
{
"comment": "/**\n * Rate of modulation / rotation for leslie effect\n *\n * @name lrate\n * @param {number | Pattern} rate 6.7 for fast, 0.7 for slow\n * @example\n * n(\"0,4,7\").s(\"supersquare\").leslie(1).lrate(\"<1 2 4 8>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 363,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Rate of modulation / rotation for leslie effect</p>",
"name": "lrate",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>6.7 for fast, 0.7 for slow</p>",
"name": "rate"
}
],
"examples": [
"n(\"0,4,7\").s(\"supersquare\").leslie(1).lrate(\"<1 2 4 8>\").osc()"
],
"longname": "lrate",
"kind": "member",
"scope": "global",
"___id": "T000002R000027",
"___s": true
},
{
"comment": "/**\n * Physical size of the cabinet in meters. Be careful, it might be slightly larger than your computer. Affects the Doppler amount (pitch warble)\n *\n * @name lsize\n * @param {number | Pattern} meters \n * @example\n * n(\"0,4,7\").s(\"supersquare\").leslie(1).lrate(2).lsize(\"<.1 .5 1>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 374,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Physical size of the cabinet in meters. Be careful, it might be slightly larger than your computer. Affects the Doppler amount (pitch warble)</p>",
"name": "lsize",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"name": "meters"
}
],
"examples": [
"n(\"0,4,7\").s(\"supersquare\").leslie(1).lrate(2).lsize(\"<.1 .5 1>\").osc()"
],
"longname": "lsize",
"kind": "member",
"scope": "global",
"___id": "T000002R000028",
"___s": true "___s": true
}, },
{ {
@ -642,7 +866,7 @@
"longname": "drawLine", "longname": "drawLine",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000028", "___id": "T000002R000035",
"___s": true "___s": true
}, },
{ {
@ -731,7 +955,7 @@
"longname": "Pattern#euclid", "longname": "Pattern#euclid",
"kind": "function", "kind": "function",
"scope": "instance", "scope": "instance",
"___id": "T000002R000052", "___id": "T000002R000059",
"___s": true "___s": true
}, },
{ {
@ -768,7 +992,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000053", "___id": "T000002R000060",
"___s": true "___s": true
}, },
{ {
@ -806,7 +1030,7 @@
"name": "query" "name": "query"
} }
], ],
"___id": "T000002R000513", "___id": "T000002R000520",
"___s": true "___s": true
}, },
{ {
@ -869,7 +1093,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000515", "___id": "T000002R000522",
"___s": true "___s": true
}, },
{ {
@ -905,7 +1129,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000516", "___id": "T000002R000523",
"___s": true "___s": true
}, },
{ {
@ -953,7 +1177,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000519", "___id": "T000002R000526",
"___s": true "___s": true
}, },
{ {
@ -1001,7 +1225,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000520", "___id": "T000002R000527",
"___s": true "___s": true
}, },
{ {
@ -1048,7 +1272,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000521", "___id": "T000002R000528",
"___s": true "___s": true
}, },
{ {
@ -1096,7 +1320,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000522", "___id": "T000002R000529",
"___s": true "___s": true
}, },
{ {
@ -1143,7 +1367,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000523", "___id": "T000002R000530",
"___s": true "___s": true
}, },
{ {
@ -1190,7 +1414,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000524", "___id": "T000002R000531",
"___s": true "___s": true
}, },
{ {
@ -1237,7 +1461,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000525", "___id": "T000002R000532",
"___s": true "___s": true
}, },
{ {
@ -1284,7 +1508,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000526", "___id": "T000002R000533",
"___s": true "___s": true
}, },
{ {
@ -1320,7 +1544,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000527", "___id": "T000002R000534",
"___s": true "___s": true
}, },
{ {
@ -1376,7 +1600,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000528", "___id": "T000002R000535",
"___s": true "___s": true
}, },
{ {
@ -1423,7 +1647,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000562", "___id": "T000002R000569",
"___s": true "___s": true
}, },
{ {
@ -1456,7 +1680,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000563", "___id": "T000002R000570",
"___s": true "___s": true
}, },
{ {
@ -1504,7 +1728,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000564", "___id": "T000002R000571",
"___s": true "___s": true
}, },
{ {
@ -1551,7 +1775,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000565", "___id": "T000002R000572",
"___s": true "___s": true
}, },
{ {
@ -1587,7 +1811,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000566", "___id": "T000002R000573",
"___s": true "___s": true
}, },
{ {
@ -1623,7 +1847,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000567", "___id": "T000002R000574",
"___s": true "___s": true
}, },
{ {
@ -1659,7 +1883,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000568", "___id": "T000002R000575",
"___s": true "___s": true
}, },
{ {
@ -1706,7 +1930,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000576", "___id": "T000002R000583",
"___s": true "___s": true
}, },
{ {
@ -1753,7 +1977,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000578", "___id": "T000002R000585",
"___s": true "___s": true
}, },
{ {
@ -1800,7 +2024,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000590", "___id": "T000002R000597",
"___s": true "___s": true
}, },
{ {
@ -1849,7 +2073,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000602", "___id": "T000002R000609",
"___s": true "___s": true
}, },
{ {
@ -1880,7 +2104,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000605", "___id": "T000002R000612",
"___s": true "___s": true
}, },
{ {
@ -1911,7 +2135,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000606", "___id": "T000002R000613",
"___s": true "___s": true
}, },
{ {
@ -1947,7 +2171,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000607", "___id": "T000002R000614",
"___s": true "___s": true
}, },
{ {
@ -1983,7 +2207,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000626", "___id": "T000002R000633",
"___s": true "___s": true
}, },
{ {
@ -2019,7 +2243,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000627", "___id": "T000002R000634",
"___s": true "___s": true
}, },
{ {
@ -2055,7 +2279,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000628", "___id": "T000002R000635",
"___s": true "___s": true
}, },
{ {
@ -2091,7 +2315,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000629", "___id": "T000002R000636",
"___s": true "___s": true
}, },
{ {
@ -2127,7 +2351,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000630", "___id": "T000002R000637",
"___s": true "___s": true
}, },
{ {
@ -2183,7 +2407,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000631", "___id": "T000002R000638",
"___s": true "___s": true
}, },
{ {
@ -2239,7 +2463,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000632", "___id": "T000002R000639",
"___s": true "___s": true
}, },
{ {
@ -2295,7 +2519,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000633", "___id": "T000002R000640",
"___s": true "___s": true
}, },
{ {
@ -2331,7 +2555,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000730", "___id": "T000002R000737",
"___s": true "___s": true
}, },
{ {
@ -2382,7 +2606,7 @@
"longname": "pure", "longname": "pure",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000848", "___id": "T000002R000855",
"___s": true "___s": true
}, },
{ {
@ -2434,7 +2658,7 @@
"longname": "stack", "longname": "stack",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000855", "___id": "T000002R000862",
"___s": true "___s": true
}, },
{ {
@ -2486,7 +2710,7 @@
"longname": "slowcat", "longname": "slowcat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000859", "___id": "T000002R000866",
"___s": true "___s": true
}, },
{ {
@ -2535,7 +2759,7 @@
"longname": "slowcatPrime", "longname": "slowcatPrime",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000867", "___id": "T000002R000874",
"___s": true "___s": true
}, },
{ {
@ -2587,7 +2811,7 @@
"longname": "fastcat", "longname": "fastcat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000873", "___id": "T000002R000880",
"___s": true "___s": true
}, },
{ {
@ -2615,7 +2839,7 @@
"longname": "cat", "longname": "cat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000875", "___id": "T000002R000882",
"___s": true "___s": true
}, },
{ {
@ -2667,7 +2891,7 @@
"longname": "timeCat", "longname": "timeCat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000877", "___id": "T000002R000884",
"___s": true "___s": true
}, },
{ {
@ -2695,7 +2919,7 @@
"longname": "sequence", "longname": "sequence",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000884", "___id": "T000002R000891",
"___s": true "___s": true
}, },
{ {
@ -2723,7 +2947,7 @@
"longname": "seq", "longname": "seq",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000886", "___id": "T000002R000893",
"___s": true "___s": true
}, },
{ {
@ -2762,7 +2986,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.transpose", "longname": "Pattern.transpose",
"kind": "member", "kind": "member",
"___id": "T000002R003695", "___id": "T000002R003702",
"___s": true "___s": true
}, },
{ {
@ -2799,7 +3023,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.scaleTranspose", "longname": "Pattern.scaleTranspose",
"kind": "member", "kind": "member",
"___id": "T000002R003699", "___id": "T000002R003706",
"___s": true "___s": true
}, },
{ {
@ -2836,7 +3060,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.scale", "longname": "Pattern.scale",
"kind": "member", "kind": "member",
"___id": "T000002R003701", "___id": "T000002R003708",
"___s": true "___s": true
}, },
{ {
@ -2873,7 +3097,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.voicings", "longname": "Pattern.voicings",
"kind": "member", "kind": "member",
"___id": "T000002R003726", "___id": "T000002R003733",
"___s": true "___s": true
}, },
{ {
@ -2955,7 +3179,7 @@
"/home/felix/projects/strudel/packages/xen/tunejs.js", "/home/felix/projects/strudel/packages/xen/tunejs.js",
"/home/felix/projects/strudel/packages/xen/xen.mjs" "/home/felix/projects/strudel/packages/xen/xen.mjs"
], ],
"___id": "T000002R013995", "___id": "T000002R014002",
"___s": true "___s": true
} }
] ]

View file

@ -88,6 +88,11 @@ const generic_params = [
'release', 'release',
'a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample.', 'a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample.',
], ],
[
'f',
'hold',
'a pattern of numbers to specify the hold time (in seconds) of an envelope applied to each sample. Only takes effect if `attack` and `release` are also specified.',
],
// TODO: in tidal, it seems to be normalized // TODO: in tidal, it seems to be normalized
/** /**
* Sets the center frequency of the band-pass filter. * Sets the center frequency of the band-pass filter.
@ -210,7 +215,49 @@ const generic_params = [
* s("bd,hh*2,<~ sd>").fast(2).cutoff("<4000 2000 1000 500 200 100>").osc() * s("bd,hh*2,<~ sd>").fast(2).cutoff("<4000 2000 1000 500 200 100>").osc()
* *
*/ */
// TODO: add lpf synonym
['f', 'cutoff', 'a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter.'], ['f', 'cutoff', 'a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter.'],
/**
* Applies the cutoff frequency of the high-pass filter.
*
* @name hcutoff
* @param {number | Pattern} frequency audible between 0 and 20000
* @example
* s("bd,hh*2,<~ sd>").fast(2).hcutoff("<4000 2000 1000 500 200 100>").osc()
*
*/
// TODO: add hpf synonym
[
'f',
'hcutoff',
'a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter. Also has alias @hpf@',
],
/**
* Applies the cutoff frequency of the high-pass filter.
*
* @name hresonance
* @param {number | Pattern} q resonance factor between 0 and 1
* @example
* s("bd,hh*2,<~ sd>").fast(2).hcutoff(2000).hresonance("<0 .2 .4 .6>").osc()
*
*/
[
'f',
'hresonance',
'a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter. Has alias @hpq@',
],
// TODO: add hpq synonym
/**
* Applies the cutoff frequency of the low-pass filter.
*
* @name resonance
* @param {number | Pattern} q resonance factor between 0 and 1
* @example
* s("bd,hh*2,<~ sd>").fast(2).cutoff(2000).resonance("<0 .2 .4 .6>").osc()
*
*/
['f', 'resonance', 'a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter.'],
// TODO: add lpq synonym?
/** /**
* Set detune of oscillators. Works only with some synths, see <a target="_blank" href="https://tidalcycles.org/docs/patternlib/tutorials/synthesizers">tidal doc</a> * Set detune of oscillators. Works only with some synths, see <a target="_blank" href="https://tidalcycles.org/docs/patternlib/tutorials/synthesizers">tidal doc</a>
* *
@ -280,31 +327,59 @@ const generic_params = [
'fadeInTime', 'fadeInTime',
'As with fadeTime, but controls the fade in time of the grain envelope. Not used if the grain begins at position 0 in the sample.', 'As with fadeTime, but controls the fade in time of the grain envelope. Not used if the grain begins at position 0 in the sample.',
], ],
/**
* Set frequency of sound.
*
* @name freq
* @param {number | Pattern} frequency in Hz. the audible range is between 20 and 20000 Hz
* @example
* freq("220 110 440 110").s("superzow").osc()
* @example
* freq("110".mulOut(".5 1.5 .6 [2 3]")).s("superzow").osc()
*
*/
['f', 'freq', ''], ['f', 'freq', ''],
// TODO: https://tidalcycles.org/docs/configuration/MIDIOSC/control-voltage/#gate
['f', 'gate', ''], ['f', 'gate', ''],
// ['f', 'hatgrain', ''], // ['f', 'hatgrain', ''],
[
'f',
'hcutoff',
'a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter. Also has alias @hpf@',
],
[
'f',
'hold',
'a pattern of numbers to specify the hold time (in seconds) of an envelope applied to each sample. Only takes effect if `attack` and `release` are also specified.',
],
[
'f',
'hresonance',
'a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter. Has alias @hpq@',
],
// ['f', 'lagogo', ''], // ['f', 'lagogo', ''],
// ['f', 'lclap', ''], // ['f', 'lclap', ''],
// ['f', 'lclaves', ''], // ['f', 'lclaves', ''],
// ['f', 'lclhat', ''], // ['f', 'lclhat', ''],
// ['f', 'lcrash', ''], // ['f', 'lcrash', ''],
// TODO:
// https://tidalcycles.org/docs/reference/audio_effects/#leslie-1
// https://tidalcycles.org/docs/reference/audio_effects/#leslie
/**
* Emulation of a Leslie speaker: speakers rotating in a wooden amplified cabinet.
*
* @name leslie
* @param {number | Pattern} dry between 0 and 1
* @example
* n("0,4,7").s("supersquare").leslie("<0 .4 .6 1>").osc()
*
*/
['f', 'leslie', ''], ['f', 'leslie', ''],
/**
* Rate of modulation / rotation for leslie effect
*
* @name lrate
* @param {number | Pattern} rate 6.7 for fast, 0.7 for slow
* @example
* n("0,4,7").s("supersquare").leslie(1).lrate("<1 2 4 8>").osc()
*
*/
// TODO: the rate seems to "lag" (in the example, 1 will be fast)
['f', 'lrate', ''], ['f', 'lrate', ''],
/**
* Physical size of the cabinet in meters. Be careful, it might be slightly larger than your computer. Affects the Doppler amount (pitch warble)
*
* @name lsize
* @param {number | Pattern} meters somewhere between 0 and 1
* @example
* n("0,4,7").s("supersquare").leslie(1).lrate(2).lsize("<.1 .5 1>").osc()
*
*/
['f', 'lsize', ''], ['f', 'lsize', ''],
// ['f', 'lfo', ''], // ['f', 'lfo', ''],
// ['f', 'lfocutoffint', ''], // ['f', 'lfocutoffint', ''],
@ -377,7 +452,6 @@ const generic_params = [
// ['f', 'pitch3', ''], // ['f', 'pitch3', ''],
// ['f', 'portamento', ''], // ['f', 'portamento', ''],
['f', 'rate', "used in SuperDirt softsynths as a control rate or 'speed'"], ['f', 'rate', "used in SuperDirt softsynths as a control rate or 'speed'"],
['f', 'resonance', 'a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter.'],
['f', 'room', 'a pattern of numbers from 0 to 1. Sets the level of reverb.'], ['f', 'room', 'a pattern of numbers from 0 to 1. Sets the level of reverb.'],
// ['f', 'sagogo', ''], // ['f', 'sagogo', ''],
// ['f', 'sclap', ''], // ['f', 'sclap', ''],