Settings persistence across save/load

The current list of settings include both visual and non-visual options:

  • Visual: These options affect the display of a Theorytab.
    • Melody Guides
    • Primary Labels
    • Color Scheme
    • Note Staff
    • Line Wrap
    • Show Note Staff
    • Show Chord Staff
  • Non-visual: These options affect either the input behaviour or the behaviour of non-visual features.
    • Smart Octave
    • Entry Mode
    • Notifications
    • Note Dragging
    • Inlcude .ly with sheet music
    • Normalize exports

Options should persist into newly opened Theorytabs if and only if they are non-visual options, because they are related to the Hookpad editor rather than a particular file. Visual options may persist or be overwritten by the newly loaded file. It’s annoying to enable the text entry mode only to have it reset to table entry mode whenever a new Theorytab is loaded.

Ideally, the two groups of options should be separated on the settings menu too.

Hey @HertzDevil, thank you for this suggestion. It has been on our todo list a while and we were actually talking about it today.

There are two scenarios:

  1. the settings that you get when you open a clean new Hookpad, i.e., (go to hookpad.hooktheory.com)
  2. the settings you get when you’re in Hookpad doing stuff, then load in an existing project with File -> Open

For (1), I could see wanting some of the options you list as visual to persist across sessions as well. For example, if I like seeing absolute chord labels, I can imagine wanting this as my default every time I open Hookpad. Similarly, I may like a particular color scheme and want that as the default every time.

I agree that the non-visual ones should persist across save/load once you’re working in Hookpad. Right now they don’t do this, which is dumb. All settings are currently tied to project, so loading a project overwrites to the state of setting when that project was saved.

I think the nice solution is the ability to have clean Hookpad open with your favorite default settings for visual and non-visual and also make it so visual (only) settings are saved with the project and loaded with the project.

Entry mode persists across save/loads in 2.9.3 but not across page refreshes (still resets to table mode).

Also the startup blank project is now marked as edited, and refreshing / opening a different file shows the “unsaved changes” dialog. Not sure if this is due to modifying the settings.

Thank you! Pushed 2.9.4 fixing the entry mode issue. Still working on 2.9.5 to fix the unsaved changes thing.

Slightly related to this issue: song settings introduced in HP2 are not reset to defaults when HP1 projects are loaded.

  • Cursor position: HP1 moves it to the beginning of the melody staff, HP2 should do the same.
  • Pickup measure: HP1 doesn’t have these. This is particularly annoying because simply turning it off would erase the first measure of the original tab, and an empty measure has to be inserted at the beginning of the tab before doing so.
  • Loop toggle: HP1 doesn’t have this either.