[Dwarf] Control mode bug after saving snapshot

Description


After saving a snapshot and switching back to control mode (B+C), the HMI seems to still be in snapshot mode, leading to a faulty screen.

How to reproduce


  1. Switch to pedalboard mode (B+C)
  2. Switch to snapshot mode (A)
  3. create new snapshot or just overwrite the current entry by pressing SAVE twice
  4. Switch back to control mode (B+C). The screen should show the controls correctly.
  5. Try switching to another control page

Expected/suggested solution


The control mode should work normally. (When pressing B+C again the control mode works correctly.)

Additional information

Result screen:

Debug logs (with some comments added):

[root@moddwarf ~]# systemctl stop mod-ui
[root@moddwarf ~]# hmi-reset
[root@moddwarf ~]# MOD_LOG=1 mod-ui.run
== (init logs trimmed, let me know if you need them)

== pressing B+C for pedalboard mode

DEBUG:root:[hmi] received <- b'b 2 0\x00' | CMD_BANKS
DEBUG:root:hmi list banks 2 0
DEBUG:root:[hmi]     sent "r 1 9 0 9 "ALL PEDALBOARDS" 0 "CHAINS: GUITAR" 1 "CHAINS: BASS" 2 "CHAINS: SYNTHS" 3 "CHAINS: DRUM MACHINES" 4 "EFFECTS" 5 "INSTRUMENTS" 6 "GENERATIVE" 7 "WORKBENCH" 8"
DEBUG:root:[hmi] received <- b'b 2 0\x00' | CMD_BANKS
DEBUG:root:hmi list banks 2 0
DEBUG:root:[hmi]     sent "r 1 9 0 9 "ALL PEDALBOARDS" 0 "CHAINS: GUITAR" 1 "CHAINS: BASS" 2 "CHAINS: SYNTHS" 3 "CHAINS: DRUM MACHINES" 4 "EFFECTS" 5 "INSTRUMENTS" 6 "GENERATIVE" 7 "WORKBENCH" 8"
DEBUG:root:[hmi] received <- b'p 4 23 0\x00' | CMD_PEDALBOARDS
DEBUG:root:hmi list bank pedalboards 4 23 0
DEBUG:root:[hmi]     sent "r 1 32 19 28 "HEAVY WIP" 20 "INST:ACID SYNTH" 21 "INST:DX10" 22 "INST:NEKOBI+OOH" 23 "JX10" 24 "NOISEMAKER" 25 "SYN:QUICK FX" 26 "GTR:NETT CHAIN 1 (2)" 27 "TEST:WAH" 28"

== pressing A for snapshot mode

DEBUG:root:[hmi] received <- b'ssg 4 0\x00' | CMD_SNAPSHOTS
DEBUG:root:hmi list pedalboards snapshots 4 0
DEBUG:root:hmi list pedalboards snapshots 4 0 -> data is '1 0 1 "DEFAULT" 1'
DEBUG:root:[hmi]     sent "r 1 1 0 1 "DEFAULT" 1"

== pressing button 1 to overwrite default snaphot ==
== pressing button 1 to save

DEBUG:root:[hmi] received <- b'ssa DEFAULT\x00' | CMD_SNAPSHOT_SAVE_AS
DEBUG:root:[hmi]     sent "r -2"

== pressing button 1 to confirm overwrite

DEBUG:root:[hmi] received <- b'sss\x00' | unknown
DEBUG:root:[hmi]     sent "r 1"

== pressing B+C for control mode
== (screen switches correctly, there's no log output)
== pressing button 3 to switch to page 3

DEBUG:root:[hmi] received <- b'cs 0 2\x00' | CMD_DWARF_CONTROL_SUBPAGE
DEBUG:root:hmi parameter load subpage
DEBUG:root:[hmi] scheduling -> a 0 "GLIDE" 0 "" 0.720000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi]     sent "r 1"
DEBUG:root:[hmi] sending -> a 0 "GLIDE" 0 "" 0.720000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi] received <- b'cs 1 2\x00' | CMD_DWARF_CONTROL_SUBPAGE
DEBUG:root:hmi parameter load subpage
DEBUG:root:[hmi] scheduling -> a 1 "GLD RATE" 0 "" 0.190000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi]     sent "r 1"
DEBUG:root:[hmi] received response <- b'r 0\x00'
DEBUG:root:[hmi] popped from queue: a 0 "GLIDE" 0 "" 0.720000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi] sending -> a 1 "GLD RATE" 0 "" 0.190000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi] received <- b'cs 2 2\x00' | CMD_DWARF_CONTROL_SUBPAGE
DEBUG:root:hmi parameter load subpage
DEBUG:root:[hmi] scheduling -> a 2 "GLD BEND" 0 "" 0.860000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi]     sent "r 1"
DEBUG:root:[hmi] received response <- b'r 0\x00'
DEBUG:root:[hmi] popped from queue: a 1 "GLD RATE" 0 "" 0.190000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi] sending -> a 2 "GLD BEND" 0 "" 0.860000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD
DEBUG:root:[hmi] received response <- b'r 0\x00'
DEBUG:root:[hmi] popped from queue: a 2 "GLD BEND" 0 "" 0.860000 1.000000 0.000000 201 0 | CMD_CONTROL_ADD


== (screen output see photo)
  • release: 1.11.0.2591 (latest)

Also provide some information about your system if possible.

(not relevant here)

1 Like

hah, you found the bug I was giving low priority to due to perhaps it being uncommon. :sweat_smile:

it is already on the sprint for things to fix, thanks for noticing though, it increases the seriousness of the bug if not anything else.

4 Likes

Ok, good to know, thanks :slight_smile: Maybe it’s uncommon, but it represents an actually common workflow when tweaking the sound of a specific snapshot on the device. I’d then switch between snapshot and control mode quite often.

1 Like