From 35e32a32e817bd5f97c00cb2d6d9e34ec098f8e7 Mon Sep 17 00:00:00 2001 From: tyow Date: Fri, 30 Jan 2026 16:59:33 -0500 Subject: [PATCH] added frequency rounding --- packages/xen/xen.mjs | 4 ++- test/__snapshots__/examples.test.mjs.snap | 40 +++++++++++------------ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/packages/xen/xen.mjs b/packages/xen/xen.mjs index 5d205cf87..554eb26cc 100644 --- a/packages/xen/xen.mjs +++ b/packages/xen/xen.mjs @@ -102,7 +102,9 @@ export const xen = register('xen', function (scaleNameOrRatios, pat) { hVal = isObject ? hVal : { n: hVal }; const { n, value, ...otherValues } = hVal; const scale = getXenScale(scaleNameOrRatios); - const frequency = xenOffset(scale, parseNumeral(hVal.n)); + let frequency = xenOffset(scale, parseNumeral(hVal.n)); + // 10 is somewhat arbitrary + frequency = parseFloat(frequency.toPrecision(10)) hap.value = isObject ? {...otherValues, freq: frequency } : frequency return hap; }); diff --git a/test/__snapshots__/examples.test.mjs.snap b/test/__snapshots__/examples.test.mjs.snap index 724c3fc11..7d7b12e1a 100644 --- a/test/__snapshots__/examples.test.mjs.snap +++ b/test/__snapshots__/examples.test.mjs.snap @@ -14221,34 +14221,34 @@ exports[`runs examples > example "wtphaserand" example index 0 1`] = ` exports[`runs examples > example "xen" example index 0 1`] = ` [ "[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 1/3 → 2/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 2/3 → 1/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 4/3 → 5/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 5/3 → 2/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 7/3 → 8/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 8/3 → 3/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 10/3 → 11/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 11/3 → 4/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", ] `; exports[`runs examples > example "xen" example index 1 1`] = ` [ "[ 0/1 → 1/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 1/3 → 2/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 2/3 → 1/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 1/3 → 2/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 2/3 → 1/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 1/1 → 4/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 4/3 → 5/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 5/3 → 2/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 4/3 → 5/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 5/3 → 2/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 2/1 → 7/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 7/3 → 8/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 8/3 → 3/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 7/3 → 8/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 8/3 → 3/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", "[ 3/1 → 10/3 | freq:220 clip:1 s:piano release:0.1 pan:0.5138888888888888 ]", - "[ 10/3 → 11/3 | freq:263.09212028971103 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", - "[ 11/3 → 4/1 | freq:329.01393411660587 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", + "[ 10/3 → 11/3 | freq:263.0921203 clip:1 s:piano release:0.1 pan:0.5277777777777778 ]", + "[ 11/3 → 4/1 | freq:329.0139341 clip:1 s:piano release:0.1 pan:0.5462962962962963 ]", ] `; @@ -14256,25 +14256,25 @@ exports[`runs examples > example "xen" example index 2 1`] = ` [ "[ 0/1 → 1/6 | freq:220 ]", "[ 1/6 → 1/3 | freq:275 ]", - "[ 1/3 → 1/2 | freq:293.33333333333616 ]", + "[ 1/3 → 1/2 | freq:293.3333333 ]", "[ 1/2 → 2/3 | freq:330 ]", "[ 2/3 → 5/6 | freq:352 ]", "[ 5/6 → 1/1 | freq:440 ]", "[ 1/1 → 7/6 | freq:220 ]", "[ 7/6 → 4/3 | freq:275 ]", - "[ 4/3 → 3/2 | freq:293.33333333333616 ]", + "[ 4/3 → 3/2 | freq:293.3333333 ]", "[ 3/2 → 5/3 | freq:330 ]", "[ 5/3 → 11/6 | freq:352 ]", "[ 11/6 → 2/1 | freq:440 ]", "[ 2/1 → 13/6 | freq:220 ]", "[ 13/6 → 7/3 | freq:275 ]", - "[ 7/3 → 5/2 | freq:293.33333333333616 ]", + "[ 7/3 → 5/2 | freq:293.3333333 ]", "[ 5/2 → 8/3 | freq:330 ]", "[ 8/3 → 17/6 | freq:352 ]", "[ 17/6 → 3/1 | freq:440 ]", "[ 3/1 → 19/6 | freq:220 ]", "[ 19/6 → 10/3 | freq:275 ]", - "[ 10/3 → 7/2 | freq:293.33333333333616 ]", + "[ 10/3 → 7/2 | freq:293.3333333 ]", "[ 7/2 → 11/3 | freq:330 ]", "[ 11/3 → 23/6 | freq:352 ]", "[ 23/6 → 4/1 | freq:440 ]",