From f2acdc580f3bef060e06bcf1cf19cb98315b77dc Mon Sep 17 00:00:00 2001 From: tyow Date: Wed, 11 Mar 2026 14:01:57 -0400 Subject: [PATCH] fix edo bug --- packages/xen/xen.mjs | 8 ++++++-- test/__snapshots__/examples.test.mjs.snap | 24 +++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/xen/xen.mjs b/packages/xen/xen.mjs index 7dc4501c8..46e93d1e9 100644 --- a/packages/xen/xen.mjs +++ b/packages/xen/xen.mjs @@ -216,12 +216,17 @@ export const xen = register( } else { // scale is named scale(s) for (let j = 0; j < sc.length; j++) { - let scale = getXenScale(sc[j].value); + let scaleName = sc[j].value; + let scale = getXenScale(scaleName); let freq = xenOffset(scale, parseNumeral(i)); let newHap = hap; freq = trimFreq(freq); newHap.value = { ...otherValues, freq }; newHap = newHap.setContext(newHap.combineContext(sc[j])); + if (isEdo(scaleName)) { + edo = scaleName.match(/^([1-9]+[0-9]*)edo$/)[1]; + newHap = newHap.setContext({ ...newHap.context, edoSize: edo }); + } resHaps.push(newHap); } } @@ -258,7 +263,6 @@ export const xen = register( // // 10 is somewhat arbitrary // freq = trimFreq(freq); // hap.value = { ...otherValues, freq }; - return edo ? hap.setContext({ ...hap.context, edoSize: edo }) : hap; }); // }); diff --git a/test/__snapshots__/examples.test.mjs.snap b/test/__snapshots__/examples.test.mjs.snap index 26bbdfe7a..715ba5b42 100644 --- a/test/__snapshots__/examples.test.mjs.snap +++ b/test/__snapshots__/examples.test.mjs.snap @@ -5084,18 +5084,18 @@ exports[`runs examples > example "ftranspose" example index 0 1`] = ` exports[`runs examples > example "ftranspose" example index 1 1`] = ` [ - "[ 0/1 → 1/3 | freq:349.2282314 ]", - "[ 1/3 → 2/3 | freq:417.6327085 ]", - "[ 2/3 → 1/1 | freq:522.2770651 ]", - "[ 1/1 → 4/3 | freq:138.5913155 ]", - "[ 4/3 → 5/3 | freq:165.7376502 ]", - "[ 5/3 → 2/1 | freq:207.2657906 ]", - "[ 2/1 → 7/3 | freq:349.2282314 ]", - "[ 7/3 → 8/3 | freq:417.6327085 ]", - "[ 8/3 → 3/1 | freq:522.2770651 ]", - "[ 3/1 → 10/3 | freq:138.5913155 ]", - "[ 10/3 → 11/3 | freq:165.7376502 ]", - "[ 11/3 → 4/1 | freq:207.2657906 ]", + "[ 0/1 → 1/3 | freq:263.0921203 ]", + "[ 1/3 → 2/3 | freq:314.6248353 ]", + "[ 2/3 → 1/1 | freq:393.4589706 ]", + "[ 1/1 → 4/3 | freq:183.965981 ]", + "[ 4/3 → 5/3 | freq:220 ]", + "[ 5/3 → 2/1 | freq:275.1244143 ]", + "[ 2/1 → 7/3 | freq:263.0921203 ]", + "[ 7/3 → 8/3 | freq:314.6248353 ]", + "[ 8/3 → 3/1 | freq:393.4589706 ]", + "[ 3/1 → 10/3 | freq:183.965981 ]", + "[ 10/3 → 11/3 | freq:220 ]", + "[ 11/3 → 4/1 | freq:275.1244143 ]", ] `;