mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-23 11:38:37 +00:00
fix: control interference
This commit is contained in:
parent
e05f74cef1
commit
78dcab2778
@ -191,14 +191,15 @@ export const rootNotes = register('rootNotes', function (octave, pat) {
|
|||||||
export const voicing = register('voicing', function (pat) {
|
export const voicing = register('voicing', function (pat) {
|
||||||
return pat
|
return pat
|
||||||
.fmap((value) => {
|
.fmap((value) => {
|
||||||
let { dictionary = 'default', ...rest } = value;
|
// destructure voicing controls out
|
||||||
|
let { dictionary = 'default', chord, anchor, offset, mode, n, ...rest } = value;
|
||||||
dictionary =
|
dictionary =
|
||||||
typeof dictionary === 'string' ? voicingRegistry[dictionary] : { dictionary, mode: 'below', anchor: 'c5' };
|
typeof dictionary === 'string' ? voicingRegistry[dictionary] : { dictionary, mode: 'below', anchor: 'c5' };
|
||||||
let notes = renderVoicing({ ...dictionary, ...rest });
|
let notes = renderVoicing({ ...dictionary, chord, anchor, offset, mode, n });
|
||||||
|
|
||||||
return stack(...notes)
|
return stack(...notes)
|
||||||
.note()
|
.note()
|
||||||
.set(rest);
|
.set(rest); // rest does not include voicing controls anymore!
|
||||||
})
|
})
|
||||||
.outerJoin();
|
.outerJoin();
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user