mirror of
https://github.com/eliasstepanik/strudel.git
synced 2026-01-11 13:48:40 +00:00
Merge pull request #1312 from daslyfe/jade/bug/as_single_param
bugfix: Allow single param to be used in the as function
This commit is contained in:
commit
b192c6823c
@ -1766,11 +1766,14 @@ export const getControlName = (alias) => {
|
|||||||
* Sets properties in a batch.
|
* Sets properties in a batch.
|
||||||
*
|
*
|
||||||
* @name as
|
* @name as
|
||||||
* @param {Array} mapping the control names that are set
|
* @param {String | Array} mapping the control names that are set
|
||||||
* @example
|
* @example
|
||||||
* "c:.5 a:1 f:.25 e:.8".as("note:clip")
|
* "c:.5 a:1 f:.25 e:.8".as("note:clip")
|
||||||
|
* @example
|
||||||
|
* "{0@2 0.25 0 0.5 .3 .5}%8".as("begin").s("sax_vib").clip(1)
|
||||||
*/
|
*/
|
||||||
export const as = register('as', (mapping, pat) => {
|
export const as = register('as', (mapping, pat) => {
|
||||||
|
mapping = Array.isArray(mapping) ? mapping : [mapping];
|
||||||
return pat.fmap((v) => {
|
return pat.fmap((v) => {
|
||||||
v = Array.isArray(v) ? v : [v];
|
v = Array.isArray(v) ? v : [v];
|
||||||
v = Object.fromEntries(mapping.map((prop, i) => [getControlName(prop), v[i]]));
|
v = Object.fromEntries(mapping.map((prop, i) => [getControlName(prop), v[i]]));
|
||||||
|
|||||||
@ -933,6 +933,39 @@ exports[`runs examples > example "as" example index 0 1`] = `
|
|||||||
]
|
]
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`runs examples > example "as" example index 1 1`] = `
|
||||||
|
[
|
||||||
|
"[ 0/1 → 1/4 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 1/4 → 3/8 | begin:0.25 s:sax_vib clip:1 ]",
|
||||||
|
"[ 3/8 → 1/2 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 1/2 → 5/8 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 5/8 → 3/4 | begin:0.3 s:sax_vib clip:1 ]",
|
||||||
|
"[ 3/4 → 7/8 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ (7/8 → 1/1) ⇝ 9/8 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 7/8 ⇜ (1/1 → 9/8) | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 9/8 → 5/4 | begin:0.25 s:sax_vib clip:1 ]",
|
||||||
|
"[ 5/4 → 11/8 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 11/8 → 3/2 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 3/2 → 13/8 | begin:0.3 s:sax_vib clip:1 ]",
|
||||||
|
"[ 13/8 → 7/4 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 7/4 → 2/1 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 2/1 → 17/8 | begin:0.25 s:sax_vib clip:1 ]",
|
||||||
|
"[ 17/8 → 9/4 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 9/4 → 19/8 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 19/8 → 5/2 | begin:0.3 s:sax_vib clip:1 ]",
|
||||||
|
"[ 5/2 → 21/8 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 21/8 → 23/8 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 23/8 → 3/1 | begin:0.25 s:sax_vib clip:1 ]",
|
||||||
|
"[ 3/1 → 25/8 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 25/8 → 13/4 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 13/4 → 27/8 | begin:0.3 s:sax_vib clip:1 ]",
|
||||||
|
"[ 27/8 → 7/2 | begin:0.5 s:sax_vib clip:1 ]",
|
||||||
|
"[ 7/2 → 15/4 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
"[ 15/4 → 31/8 | begin:0.25 s:sax_vib clip:1 ]",
|
||||||
|
"[ 31/8 → 4/1 | begin:0 s:sax_vib clip:1 ]",
|
||||||
|
]
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`runs examples > example "attack" example index 0 1`] = `
|
exports[`runs examples > example "attack" example index 0 1`] = `
|
||||||
[
|
[
|
||||||
"[ 0/1 → 1/4 | note:c3 attack:0 ]",
|
"[ 0/1 → 1/4 | note:c3 attack:0 ]",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user