Global Settings: add Preferences - #12
Conversation
| /// A choice with no entries is how "observed, never explained" is recorded — it must stay | ||
| /// legal, because the alternative is inventing labels. | ||
| #[test] | ||
| fn a_choice_may_be_empty() { |
There was a problem hiding this comment.
This test now fails. I don't know if you want to just delete this test, or fabricate a "pure" test for this case.
| "Tempo", | ||
| "MIDI", | ||
| "Preferences", | ||
| "Displays", |
There was a problem hiding this comment.
On the HX Stomp XL, Global Settings, the sections are in the following order:
- Ins/Outs
- Preferences
- Footswitches
- EXP Pedals
- MIDI/Tempo (a single section, not two separate groups like here)
- Displays
I tried moving "Preferences" up to be the second item in GROUPS, but nothing changed in UI. Maybe I needed to also change something else, but I didn't see it.
| // [XL] | ||
| name: "Tempo Pitch", | ||
| group: "Preferences", | ||
| kind: Kind::Flag { |
There was a problem hiding this comment.
It occurs to me that in #11 I don't think I was careful about using Kind::Flag vs. Kind::Choice; I likely just copy-pasted a nearby entry.
I was more careful in this PR to pick Kind::Flag or Kind::Choice based on whether the UI was showing "false/true" vs. "0/1".
c3df953 to
60d9ab8
Compare
Decoded by changing a global setting on an HX Stomp XL, refreshing the fretwire UI, and seeing what changed. Add all enumerated settings IDs to MENU_ORDER Other changes made to existing settings to match the HX Stomp XL interface: - "Preset numbering" renamed to "Preset Number", moved from "Displays" to "Preferences", and "000-127" changed to "000-128" [sic], all to match the HX Stomp XL interface - "Snapshot edits" renamed to "Snapshot Edits" - "Bypass type" renamed to "Bypass Type"; options shortened to just "DSP" and "Analog" - "Auto In-Z" specified with "First" and "Enabled" choice labels
60d9ab8 to
e03207c
Compare
…t run 0 is First, 1 is Enabled, read off a Stomp. The empty-choice invariant now states the shape rather than pinning id 127, so it survives that id being explained. dto.rs and ui/tests/globals-mock.mjs both still asserted id 27's old name, and neither runs in CI: fretwire-tauri is out of default-members, and npm test is never invoked. globals-mock has been red since 9dc105b. The mock backend was missing all seven of #12's new settings.
|
Merged, thanks! Auto In-Z — your labels are correct. Read off a Stomp: 0 is
Your #11 worry is unfounded. An unidentified id serialises with the value mirroring the wire On the test — good catch flagging it rather than deleting it. It was anchored to id 127, so it One thing back to you: can you re-read the preset-number range on the XL? A Stomp shows Also: those labels turned out to be device-specific, so they're now derived per unit from each |
My concern is in the other direction - I had submitted quite a few |
Yes, my HX Stomp XL indeed reports "01A-32D" and "000-128" as the choices for the "Preset Number" preference. If I select the "000-128", scrolling through all the presets only gets me up to 127, as expected. I'm pretty sure this is just a UI bug in the HX Stomp XL firmware, and probably/hopefully just a bad string in a table somewhere. |
Oh wow, weird |
|
I decided to make it 000-127, I couldn't in good conscience leave it wrong :p Sorry, I misread your concern!
So it's worth checking, but nothing is broken today. No rush on it — it's in Separately, if you ever feel like it: |
Decoded by changing a global setting on an HX Stomp XL, refreshing the fretwire UI, and seeing what changed.
Add all enumerated settings IDs to MENU_ORDER
Other changes made to existing settings to match the HX Stomp XL interface:
Apparent misspelling are preserved to match the HX Stomp XL UI: