mirror of
https://github.com/eliasstepanik/strudel.git
synced 2026-01-12 22:28:36 +00:00
make bank a normal param
This commit is contained in:
parent
bdbb4cb495
commit
0c5bdd0205
@ -100,6 +100,22 @@ const generic_params = [
|
||||
'attack',
|
||||
'a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.',
|
||||
],
|
||||
|
||||
/**
|
||||
* Select the sound bank to use. To be used together with `s`. The bank name (+ "_") will be prepended to the value of `s`.
|
||||
*
|
||||
* @name bank
|
||||
* @param {string | Pattern} bank the name of the bank
|
||||
* @example
|
||||
* s("bd sd").bank('RolandTR909') // = s("RolandTR909_bd RolandTR909_sd")
|
||||
*
|
||||
*/
|
||||
[
|
||||
'f',
|
||||
'bank',
|
||||
'selects sound bank to use',
|
||||
],
|
||||
|
||||
// TODO: find out how this works?
|
||||
/*
|
||||
* Envelope decay time = the time it takes after the attack time to reach the sustain level.
|
||||
|
||||
@ -246,6 +246,7 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => {
|
||||
let {
|
||||
freq,
|
||||
s,
|
||||
bank,
|
||||
sf,
|
||||
clip = 0, // if 1, samples will be cut off when the hap ends
|
||||
n = 0,
|
||||
@ -281,6 +282,9 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => {
|
||||
gain *= velocity; // legacy fix for velocity
|
||||
// the chain will hold all audio nodes that connect to each other
|
||||
const chain = [];
|
||||
if (bank && s) {
|
||||
s = `${bank}_${s}`;
|
||||
}
|
||||
if (typeof s === 'string') {
|
||||
[s, n] = splitSN(s, n);
|
||||
}
|
||||
|
||||
@ -4979,8 +4979,4 @@ Pattern.prototype.piano = function () {
|
||||
const pan = panwidth(Math.min(midi / maxPan, 1), 0.5);
|
||||
return { ...value, pan: (value.pan || 1) * pan };
|
||||
});
|
||||
};
|
||||
|
||||
Pattern.prototype.soundbank = function (name) {
|
||||
return this.fmap((v) => ({ ...v, s: `${name}_${v.s}` }));
|
||||
};
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user