powertab / powertabeditor

View and edit guitar tablature.
https://powertab.github.io
GNU General Public License v3.0
526 stars 68 forks source link

Improve how tuning dictionary edits are handled #367

Closed cameronwhite closed 2 years ago

cameronwhite commented 2 years ago

This is somewhat related to #342

Currently only one tuning dictionary file (tunings.json) is loaded or saved. The first time the program is run, the tuning dictionary from the installation folder is loaded. After exiting, the tuning dictionary's contents are saved to the user's prefs folder, and this file will be loaded instead of the one in the install folder on subsequent runs. Any edits, like new tunings, removing tunings, or editing a tuning will be written out to this tunings.json in the user prefs folder

This becomes problematic when we make any changes to the default tuning dictionary shipped with the program, e.g. adding or reordering some tunings (#363). These changes won't be seen by existing users unless they clear out their prefs folder

I think this should be changed so that the factory tuning dictionary is always loaded, and the user prefs tuning dictionary only contains new custom tunings that the user added. If we want to allow the user to delete or edit factory tunings, the JSON format could include some way to express overrides.