document more controls

This commit is contained in:
Felix Roos 2022-05-22 08:35:45 +02:00
parent 987cc63764
commit 68a3842c8c
2 changed files with 223 additions and 57 deletions

238
doc.json
View File

@ -1,7 +1,7 @@
{ {
"docs": [ "docs": [
{ {
"comment": "/**\n * Short for sound. Currently only supported with osc / superdirt.\n *\n * @name s\n * @param {string | Pattern} sound The sound / pattern of sounds to pick\n * @example\n * s(\"bd hh\").osc()\n *\n */", "comment": "/**\n * Select a sound / sample by name. Currently only supported by osc / superdirt.\n *\n * @name s\n * @param {string | Pattern} sound The sound / pattern of sounds to pick\n * @example\n * s(\"bd hh\").osc()\n *\n */",
"meta": { "meta": {
"filename": "controls.mjs", "filename": "controls.mjs",
"lineno": 11, "lineno": 11,
@ -9,7 +9,7 @@
"path": "/home/felix/projects/strudel/packages/core", "path": "/home/felix/projects/strudel/packages/core",
"code": {} "code": {}
}, },
"description": "<p>Short for sound. Currently only supported with osc / superdirt.</p>", "description": "<p>Select a sound / sample by name. Currently only supported by osc / superdirt.</p>",
"name": "s", "name": "s",
"params": [ "params": [
{ {
@ -32,6 +32,134 @@
"___id": "T000002R000004", "___id": "T000002R000004",
"___s": true "___s": true
}, },
{
"comment": "/**\n * A pattern of numbers that speed up (or slow down) samples while they play. Currently only supported by osc / superdirt.\n *\n * @name accelerate\n * @param {number | Pattern} amount acceleration.\n * @example\n * s(\"bd\").accelerate(\"<1 2 1 4>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 24,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>A pattern of numbers that speed up (or slow down) samples while they play. Currently only supported by osc / superdirt.</p>",
"name": "accelerate",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>acceleration.</p>",
"name": "amount"
}
],
"examples": [
"s(\"bd\").accelerate(\"<1 2 1 4>\").osc()"
],
"longname": "accelerate",
"kind": "member",
"scope": "global",
"___id": "T000002R000005",
"___s": true
},
{
"comment": "/**\n * Like {@link gain}, but linear.\n *\n * @name amp\n * @param {number | Pattern} amount gain.\n * @example\n * s(\"bd*8\").amp(\".1*2 .5 .1*2 .5 .1 .5\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 34,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Like {@link gain}, but linear.</p>",
"name": "amp",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>gain.</p>",
"name": "amount"
}
],
"examples": [
"s(\"bd*8\").amp(\".1*2 .5 .1*2 .5 .1 .5\").osc()"
],
"longname": "amp",
"kind": "member",
"scope": "global",
"___id": "T000002R000006",
"___s": true
},
{
"comment": "/**\n * A pattern of numbers to specify the attack time of an envelope applied to each sample.\n *\n * @name attack\n * @param {number | Pattern} attack time in seconds.\n * @example\n * n(\"c5 e5\").s('superpiano').attack(\"<0 .1>\").osc()\n *\n */",
"meta": {
"filename": "controls.mjs",
"lineno": 45,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>A pattern of numbers to specify the attack time of an envelope applied to each sample.</p>",
"name": "attack",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>time in seconds.</p>",
"name": "attack"
}
],
"examples": [
"n(\"c5 e5\").s('superpiano').attack(\"<0 .1>\").osc()"
],
"longname": "attack",
"kind": "member",
"scope": "global",
"___id": "T000002R000007",
"___s": true
},
{
"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": {
"filename": "controls.mjs",
"lineno": 60,
"columnno": 2,
"path": "/home/felix/projects/strudel/packages/core",
"code": {}
},
"description": "<p>Sets the center frequency of the band-pass filter.</p>",
"name": "bandf",
"params": [
{
"type": {
"names": [
"number",
"Pattern"
]
},
"description": "<p>center frequency</p>",
"name": "frequency"
}
],
"examples": [
"s(\"bd sd\").bandf(\"<1000 2000 4000 8000>\").osc()"
],
"longname": "bandf",
"kind": "member",
"scope": "global",
"___id": "T000002R000008",
"___s": true
},
{ {
"comment": "/**\n * Intended for a debugging, drawLine renders the pattern as a string, where each character represents the same time span.\n * Should only be used with single characters as values, otherwise the character slots will be messed up.\n * Character legend:\n *\n * - \"|\" cycle separator\n * - \"-\" hold previous value\n * - \".\" silence\n *\n * @param {Pattern} pattern the pattern to use\n * @param {number} chars max number of characters (approximately)\n * @returns string\n * @example\n * const line = drawLine(\"0 [1 2 3]\", 10); // |0--123|0--123\n * console.log(line);\n */", "comment": "/**\n * Intended for a debugging, drawLine renders the pattern as a string, where each character represents the same time span.\n * Should only be used with single characters as values, otherwise the character slots will be messed up.\n * Character legend:\n *\n * - \"|\" cycle separator\n * - \"-\" hold previous value\n * - \".\" silence\n *\n * @param {Pattern} pattern the pattern to use\n * @param {number} chars max number of characters (approximately)\n * @returns string\n * @example\n * const line = drawLine(\"0 [1 2 3]\", 10); // |0--123|0--123\n * console.log(line);\n */",
"meta": { "meta": {
@ -101,7 +229,7 @@
"longname": "drawLine", "longname": "drawLine",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000011", "___id": "T000002R000015",
"___s": true "___s": true
}, },
{ {
@ -190,7 +318,7 @@
"longname": "Pattern#euclid", "longname": "Pattern#euclid",
"kind": "function", "kind": "function",
"scope": "instance", "scope": "instance",
"___id": "T000002R000035", "___id": "T000002R000039",
"___s": true "___s": true
}, },
{ {
@ -227,7 +355,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000036", "___id": "T000002R000040",
"___s": true "___s": true
}, },
{ {
@ -265,7 +393,7 @@
"name": "query" "name": "query"
} }
], ],
"___id": "T000002R000496", "___id": "T000002R000500",
"___s": true "___s": true
}, },
{ {
@ -328,7 +456,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000498", "___id": "T000002R000502",
"___s": true "___s": true
}, },
{ {
@ -364,7 +492,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000499", "___id": "T000002R000503",
"___s": true "___s": true
}, },
{ {
@ -412,7 +540,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000502", "___id": "T000002R000506",
"___s": true "___s": true
}, },
{ {
@ -460,7 +588,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000503", "___id": "T000002R000507",
"___s": true "___s": true
}, },
{ {
@ -507,7 +635,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000504", "___id": "T000002R000508",
"___s": true "___s": true
}, },
{ {
@ -555,7 +683,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000505", "___id": "T000002R000509",
"___s": true "___s": true
}, },
{ {
@ -602,7 +730,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000506", "___id": "T000002R000510",
"___s": true "___s": true
}, },
{ {
@ -649,7 +777,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000507", "___id": "T000002R000511",
"___s": true "___s": true
}, },
{ {
@ -696,7 +824,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000508", "___id": "T000002R000512",
"___s": true "___s": true
}, },
{ {
@ -743,7 +871,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000509", "___id": "T000002R000513",
"___s": true "___s": true
}, },
{ {
@ -779,7 +907,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000510", "___id": "T000002R000514",
"___s": true "___s": true
}, },
{ {
@ -835,7 +963,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000511", "___id": "T000002R000515",
"___s": true "___s": true
}, },
{ {
@ -882,7 +1010,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000545", "___id": "T000002R000549",
"___s": true "___s": true
}, },
{ {
@ -915,7 +1043,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000546", "___id": "T000002R000550",
"___s": true "___s": true
}, },
{ {
@ -963,7 +1091,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000547", "___id": "T000002R000551",
"___s": true "___s": true
}, },
{ {
@ -1010,7 +1138,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000548", "___id": "T000002R000552",
"___s": true "___s": true
}, },
{ {
@ -1046,7 +1174,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000549", "___id": "T000002R000553",
"___s": true "___s": true
}, },
{ {
@ -1082,7 +1210,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000550", "___id": "T000002R000554",
"___s": true "___s": true
}, },
{ {
@ -1118,7 +1246,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000551", "___id": "T000002R000555",
"___s": true "___s": true
}, },
{ {
@ -1165,7 +1293,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000559", "___id": "T000002R000563",
"___s": true "___s": true
}, },
{ {
@ -1212,7 +1340,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000561", "___id": "T000002R000565",
"___s": true "___s": true
}, },
{ {
@ -1259,7 +1387,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000573", "___id": "T000002R000577",
"___s": true "___s": true
}, },
{ {
@ -1308,7 +1436,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000585", "___id": "T000002R000589",
"___s": true "___s": true
}, },
{ {
@ -1339,7 +1467,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000588", "___id": "T000002R000592",
"___s": true "___s": true
}, },
{ {
@ -1370,7 +1498,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000589", "___id": "T000002R000593",
"___s": true "___s": true
}, },
{ {
@ -1406,7 +1534,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000590", "___id": "T000002R000594",
"___s": true "___s": true
}, },
{ {
@ -1442,7 +1570,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000609", "___id": "T000002R000613",
"___s": true "___s": true
}, },
{ {
@ -1478,7 +1606,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000610", "___id": "T000002R000614",
"___s": true "___s": true
}, },
{ {
@ -1514,7 +1642,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000611", "___id": "T000002R000615",
"___s": true "___s": true
}, },
{ {
@ -1550,7 +1678,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000612", "___id": "T000002R000616",
"___s": true "___s": true
}, },
{ {
@ -1586,7 +1714,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000613", "___id": "T000002R000617",
"___s": true "___s": true
}, },
{ {
@ -1642,7 +1770,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000614", "___id": "T000002R000618",
"___s": true "___s": true
}, },
{ {
@ -1698,7 +1826,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000615", "___id": "T000002R000619",
"___s": true "___s": true
}, },
{ {
@ -1754,7 +1882,7 @@
"kind": "function", "kind": "function",
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"___id": "T000002R000616", "___id": "T000002R000620",
"___s": true "___s": true
}, },
{ {
@ -1790,7 +1918,7 @@
"memberof": "Pattern", "memberof": "Pattern",
"scope": "instance", "scope": "instance",
"params": [], "params": [],
"___id": "T000002R000713", "___id": "T000002R000717",
"___s": true "___s": true
}, },
{ {
@ -1841,7 +1969,7 @@
"longname": "pure", "longname": "pure",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000831", "___id": "T000002R000835",
"___s": true "___s": true
}, },
{ {
@ -1893,7 +2021,7 @@
"longname": "stack", "longname": "stack",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000838", "___id": "T000002R000842",
"___s": true "___s": true
}, },
{ {
@ -1945,7 +2073,7 @@
"longname": "slowcat", "longname": "slowcat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000842", "___id": "T000002R000846",
"___s": true "___s": true
}, },
{ {
@ -1994,7 +2122,7 @@
"longname": "slowcatPrime", "longname": "slowcatPrime",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000850", "___id": "T000002R000854",
"___s": true "___s": true
}, },
{ {
@ -2046,7 +2174,7 @@
"longname": "fastcat", "longname": "fastcat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000856", "___id": "T000002R000860",
"___s": true "___s": true
}, },
{ {
@ -2074,7 +2202,7 @@
"longname": "cat", "longname": "cat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000858", "___id": "T000002R000862",
"___s": true "___s": true
}, },
{ {
@ -2126,7 +2254,7 @@
"longname": "timeCat", "longname": "timeCat",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000860", "___id": "T000002R000864",
"___s": true "___s": true
}, },
{ {
@ -2154,7 +2282,7 @@
"longname": "sequence", "longname": "sequence",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000867", "___id": "T000002R000871",
"___s": true "___s": true
}, },
{ {
@ -2182,7 +2310,7 @@
"longname": "seq", "longname": "seq",
"kind": "function", "kind": "function",
"scope": "global", "scope": "global",
"___id": "T000002R000869", "___id": "T000002R000873",
"___s": true "___s": true
}, },
{ {
@ -2221,7 +2349,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.transpose", "longname": "Pattern.transpose",
"kind": "member", "kind": "member",
"___id": "T000002R003678", "___id": "T000002R003682",
"___s": true "___s": true
}, },
{ {
@ -2258,7 +2386,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.scaleTranspose", "longname": "Pattern.scaleTranspose",
"kind": "member", "kind": "member",
"___id": "T000002R003682", "___id": "T000002R003686",
"___s": true "___s": true
}, },
{ {
@ -2295,7 +2423,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.scale", "longname": "Pattern.scale",
"kind": "member", "kind": "member",
"___id": "T000002R003684", "___id": "T000002R003688",
"___s": true "___s": true
}, },
{ {
@ -2332,7 +2460,7 @@
"scope": "static", "scope": "static",
"longname": "Pattern.voicings", "longname": "Pattern.voicings",
"kind": "member", "kind": "member",
"___id": "T000002R003709", "___id": "T000002R003713",
"___s": true "___s": true
}, },
{ {
@ -2414,7 +2542,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": "T000002R013978", "___id": "T000002R013982",
"___s": true "___s": true
} }
] ]

View File

@ -9,7 +9,7 @@ import { Pattern, sequence } from './pattern.mjs';
const controls = {}; const controls = {};
const generic_params = [ const generic_params = [
/** /**
* Short for sound. Currently only supported with osc / superdirt. * Select a sound / sample by name. Currently only supported by osc / superdirt.
* *
* @name s * @name s
* @param {string | Pattern} sound The sound / pattern of sounds to pick * @param {string | Pattern} sound The sound / pattern of sounds to pick
@ -21,14 +21,52 @@ const generic_params = [
//['s', 'toArg', 'for internal sound routing'], //['s', 'toArg', 'for internal sound routing'],
// ["f", "from", "for internal sound routing"), // ["f", "from", "for internal sound routing"),
//['f', 'to', 'for internal sound routing'], //['f', 'to', 'for internal sound routing'],
/**
* A pattern of numbers that speed up (or slow down) samples while they play. Currently only supported by osc / superdirt.
*
* @name accelerate
* @param {number | Pattern} amount acceleration.
* @example
* s("bd").accelerate("<1 2 1 4>").osc()
*
*/
['f', 'accelerate', 'a pattern of numbers that speed up (or slow down) samples while they play.'], ['f', 'accelerate', 'a pattern of numbers that speed up (or slow down) samples while they play.'],
/**
* Like {@link gain}, but linear.
*
* @name amp
* @param {number | Pattern} amount gain.
* @example
* s("bd*8").amp(".1*2 .5 .1*2 .5 .1 .5").osc()
*
*/
['f', 'amp', 'like @gain@, but linear.'], ['f', 'amp', 'like @gain@, but linear.'],
// TODO: find out why 0 does not work, and it generally seems not right
/**
* A pattern of numbers to specify the attack time of an envelope applied to each sample.
*
* @name attack
* @param {number | Pattern} attack time in seconds.
* @example
* n("c5 e5").s('superpiano').attack("<0 .1>").osc()
*
*/
[ [
'f', 'f',
'attack', 'attack',
'a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.', 'a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.',
], ],
['f', 'bandf', 'a pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter.'], // TODO: in tidal, it seems to be normalized
/**
* Sets the center frequency of the band-pass filter.
*
* @name bandf
* @param {number | Pattern} frequency center frequency
* @example
* s("bd sd").bandf("<1000 2000 4000 8000>").osc()
*
*/
['f', 'bandf', 'A pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter.'],
['f', 'bandq', 'a pattern of anumbers from 0 to 1. Sets the q-factor of the band-pass filter.'], ['f', 'bandq', 'a pattern of anumbers from 0 to 1. Sets the q-factor of the band-pass filter.'],
[ [
'f', 'f',