During #853 and otherwise it has become clear that users need better support for arbitrary notes beyond the usual MIDI range.
Most of the exported formats use either a finite list or the MIDI range so nothing can be done there, so this mainly has to do with playing the in-app keyboards and large equave shifts.
The main issue is that Scale Workshop 3 spins up a SonicWeave runtime only when computing the scale from user input. Once it's done the context is lost and no new intervals can be computed (beyond the ones that were cached as cents etc. for MIDI range).
SonicWeave is too complex for Vue and Pinia to handle so we can't just have a pre-warmed runtime in a ref. Need to find some other robust method for computing new Interval instances on the fly.
During #853 and otherwise it has become clear that users need better support for arbitrary notes beyond the usual MIDI range.
Most of the exported formats use either a finite list or the MIDI range so nothing can be done there, so this mainly has to do with playing the in-app keyboards and large equave shifts.
The main issue is that Scale Workshop 3 spins up a SonicWeave runtime only when computing the scale from user input. Once it's done the context is lost and no new intervals can be computed (beyond the ones that were cached as cents etc. for MIDI range).
SonicWeave is too complex for Vue and Pinia to handle so we can't just have a pre-warmed runtime in a
ref. Need to find some other robust method for computing newIntervalinstances on the fly.