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": [
{
"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": {
"filename": "controls.mjs",
"lineno": 11,
@ -9,7 +9,7 @@
"path": "/home/felix/projects/strudel/packages/core",
"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",
"params": [
{
@ -32,6 +32,134 @@
"___id": "T000002R000004",
"___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 */",
"meta": {
@ -101,7 +229,7 @@
"longname": "drawLine",
"kind": "function",
"scope": "global",
"___id": "T000002R000011",
"___id": "T000002R000015",
"___s": true
},
{
@ -190,7 +318,7 @@
"longname": "Pattern#euclid",
"kind": "function",
"scope": "instance",
"___id": "T000002R000035",
"___id": "T000002R000039",
"___s": true
},
{
@ -227,7 +355,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000036",
"___id": "T000002R000040",
"___s": true
},
{
@ -265,7 +393,7 @@
"name": "query"
}
],
"___id": "T000002R000496",
"___id": "T000002R000500",
"___s": true
},
{
@ -328,7 +456,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000498",
"___id": "T000002R000502",
"___s": true
},
{
@ -364,7 +492,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000499",
"___id": "T000002R000503",
"___s": true
},
{
@ -412,7 +540,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000502",
"___id": "T000002R000506",
"___s": true
},
{
@ -460,7 +588,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000503",
"___id": "T000002R000507",
"___s": true
},
{
@ -507,7 +635,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000504",
"___id": "T000002R000508",
"___s": true
},
{
@ -555,7 +683,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000505",
"___id": "T000002R000509",
"___s": true
},
{
@ -602,7 +730,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000506",
"___id": "T000002R000510",
"___s": true
},
{
@ -649,7 +777,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000507",
"___id": "T000002R000511",
"___s": true
},
{
@ -696,7 +824,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000508",
"___id": "T000002R000512",
"___s": true
},
{
@ -743,7 +871,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000509",
"___id": "T000002R000513",
"___s": true
},
{
@ -779,7 +907,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000510",
"___id": "T000002R000514",
"___s": true
},
{
@ -835,7 +963,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000511",
"___id": "T000002R000515",
"___s": true
},
{
@ -882,7 +1010,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000545",
"___id": "T000002R000549",
"___s": true
},
{
@ -915,7 +1043,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000546",
"___id": "T000002R000550",
"___s": true
},
{
@ -963,7 +1091,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000547",
"___id": "T000002R000551",
"___s": true
},
{
@ -1010,7 +1138,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000548",
"___id": "T000002R000552",
"___s": true
},
{
@ -1046,7 +1174,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000549",
"___id": "T000002R000553",
"___s": true
},
{
@ -1082,7 +1210,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000550",
"___id": "T000002R000554",
"___s": true
},
{
@ -1118,7 +1246,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000551",
"___id": "T000002R000555",
"___s": true
},
{
@ -1165,7 +1293,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000559",
"___id": "T000002R000563",
"___s": true
},
{
@ -1212,7 +1340,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000561",
"___id": "T000002R000565",
"___s": true
},
{
@ -1259,7 +1387,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000573",
"___id": "T000002R000577",
"___s": true
},
{
@ -1308,7 +1436,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000585",
"___id": "T000002R000589",
"___s": true
},
{
@ -1339,7 +1467,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000588",
"___id": "T000002R000592",
"___s": true
},
{
@ -1370,7 +1498,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000589",
"___id": "T000002R000593",
"___s": true
},
{
@ -1406,7 +1534,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000590",
"___id": "T000002R000594",
"___s": true
},
{
@ -1442,7 +1570,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000609",
"___id": "T000002R000613",
"___s": true
},
{
@ -1478,7 +1606,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000610",
"___id": "T000002R000614",
"___s": true
},
{
@ -1514,7 +1642,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000611",
"___id": "T000002R000615",
"___s": true
},
{
@ -1550,7 +1678,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000612",
"___id": "T000002R000616",
"___s": true
},
{
@ -1586,7 +1714,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000613",
"___id": "T000002R000617",
"___s": true
},
{
@ -1642,7 +1770,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000614",
"___id": "T000002R000618",
"___s": true
},
{
@ -1698,7 +1826,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000615",
"___id": "T000002R000619",
"___s": true
},
{
@ -1754,7 +1882,7 @@
"kind": "function",
"memberof": "Pattern",
"scope": "instance",
"___id": "T000002R000616",
"___id": "T000002R000620",
"___s": true
},
{
@ -1790,7 +1918,7 @@
"memberof": "Pattern",
"scope": "instance",
"params": [],
"___id": "T000002R000713",
"___id": "T000002R000717",
"___s": true
},
{
@ -1841,7 +1969,7 @@
"longname": "pure",
"kind": "function",
"scope": "global",
"___id": "T000002R000831",
"___id": "T000002R000835",
"___s": true
},
{
@ -1893,7 +2021,7 @@
"longname": "stack",
"kind": "function",
"scope": "global",
"___id": "T000002R000838",
"___id": "T000002R000842",
"___s": true
},
{
@ -1945,7 +2073,7 @@
"longname": "slowcat",
"kind": "function",
"scope": "global",
"___id": "T000002R000842",
"___id": "T000002R000846",
"___s": true
},
{
@ -1994,7 +2122,7 @@
"longname": "slowcatPrime",
"kind": "function",
"scope": "global",
"___id": "T000002R000850",
"___id": "T000002R000854",
"___s": true
},
{
@ -2046,7 +2174,7 @@
"longname": "fastcat",
"kind": "function",
"scope": "global",
"___id": "T000002R000856",
"___id": "T000002R000860",
"___s": true
},
{
@ -2074,7 +2202,7 @@
"longname": "cat",
"kind": "function",
"scope": "global",
"___id": "T000002R000858",
"___id": "T000002R000862",
"___s": true
},
{
@ -2126,7 +2254,7 @@
"longname": "timeCat",
"kind": "function",
"scope": "global",
"___id": "T000002R000860",
"___id": "T000002R000864",
"___s": true
},
{
@ -2154,7 +2282,7 @@
"longname": "sequence",
"kind": "function",
"scope": "global",
"___id": "T000002R000867",
"___id": "T000002R000871",
"___s": true
},
{
@ -2182,7 +2310,7 @@
"longname": "seq",
"kind": "function",
"scope": "global",
"___id": "T000002R000869",
"___id": "T000002R000873",
"___s": true
},
{
@ -2221,7 +2349,7 @@
"scope": "static",
"longname": "Pattern.transpose",
"kind": "member",
"___id": "T000002R003678",
"___id": "T000002R003682",
"___s": true
},
{
@ -2258,7 +2386,7 @@
"scope": "static",
"longname": "Pattern.scaleTranspose",
"kind": "member",
"___id": "T000002R003682",
"___id": "T000002R003686",
"___s": true
},
{
@ -2295,7 +2423,7 @@
"scope": "static",
"longname": "Pattern.scale",
"kind": "member",
"___id": "T000002R003684",
"___id": "T000002R003688",
"___s": true
},
{
@ -2332,7 +2460,7 @@
"scope": "static",
"longname": "Pattern.voicings",
"kind": "member",
"___id": "T000002R003709",
"___id": "T000002R003713",
"___s": true
},
{
@ -2414,7 +2542,7 @@
"/home/felix/projects/strudel/packages/xen/tunejs.js",
"/home/felix/projects/strudel/packages/xen/xen.mjs"
],
"___id": "T000002R013978",
"___id": "T000002R013982",
"___s": true
}
]

View File

@ -9,7 +9,7 @@ import { Pattern, sequence } from './pattern.mjs';
const controls = {};
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
* @param {string | Pattern} sound The sound / pattern of sounds to pick
@ -21,14 +21,52 @@ const generic_params = [
//['s', 'toArg', 'for internal sound routing'],
// ["f", "from", "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.'],
/**
* 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.'],
// 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',
'attack',
'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',