mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.34k stars 201 forks source link

Feature request: easier file management by remembering last file location and classic open/save .helm file #300

Open hsandt opened 2 years ago

hsandt commented 2 years ago

Platform: Linux Ubuntu 20.04 Version: Helm v0.9.0

This issue is strongly related to https://github.com/mtytel/helm/issues/194, but the latter was closed with no reply to the OP's last questions.

https://github.com/mtytel/helm/issues/293 remarks that mtytel is busy on other work, but I'm still opening this so at least we have some open ticket on the issue, even if for a different maintainer in the future.

I like the Patch Bank system, but I find it hard to use the app as a normal file editor, as the file browser doesn't remember last opened locations. Besides, working with both the Bank and file system is a bit counter-productive.

Context: I'm working on several patches for a project, and I'd like to benefit from the Bank system to load my patches directly in Reaper, while also keeping file backups of my patches in some shared project folder.

Bank system

  1. To use this, click Save, and indicate a Patch name, Bank and Folder.
  2. If you keep working on the patch and want to save the latest version overwriting the previous one, you must click Save, and manually type the exact Patch name again (with no autocompletion nor patch selection dropdown), then confirm Save (there is no prompt there, it just overwrites the existing file). Workaround: https://github.com/mtytel/helm/issues/194 just revealed to me the hidden shortcut Ctrl+S to save current work at previously selected Patch in Bank. So the functionality is there, we just need a "Save" button distinguished from a "Save as" button which is what the current "Save" button does. Then we can add tooltips for the shortcuts, e.g. Ctrl+S and Ctrl+Shift+S. It would be nice to also see the list of existing Patches in the Save popup too, but that'd be more to avoid naming a new Patch like an existing one and overwriting it by accident.
  3. To load a Patch in some Bank, click Browse > select Bank > select Folder > select Patch, then Done. The last Bank and Folder are remembered, so this workflow is good enough (maybe "Open" would be clearer than "Done" though; and optionally some "discard changes?" warning if you were working on something, but that's not my issue here).

File system

Bank is nice, but it's located somewhere on my computer that doesn't fit my project flow. I need a backup of my work in some folder that I share with my colleagues. I cannot change the Bank location (https://github.com/mtytel/helm/issues/3 mentions that it is in "~/.helm/Bank Name on Linux), and I want to avoid symlinks, so the best seems to export either individual patches or even the Bank itself.

  1. To export a Patch: click Export, go to the target folder, input Patch name and confirm. That's okay.
  2. To repeat exporting the same Patch, you must do the full steps again. The last export location is not remembered by the file browser popup, so I must either navigate to the target folder each time, or bookmark it. Workaround: https://github.com/mtytel/helm/issues/194 mentioned the hidden shortcut Ctrl+S to repeat Save. Well, I discovered that it also works to repeat last Export patch. However, it will do only one of the two actions: Save in Bank if we saved in Bank last, or Export patch if we exported a patch last, not both. Since there is no feedback on the GUI, it's hard to tell what is happening if you didn't remember exactly what you did last time. Remembering last export location would help, and possibly an "Export Last" button too. If using shortcut Ctrl+S, it may be nice to show a message at the bottom saying what happened: whether we saved or exported at the last location. Or we could have a different shortcut Ctrl+E to repeat export.
  3. To export a Bank: click Browse > Export Bank, then same thing: go to the target folder, input Patch name and confirm. That's okay too.
  4. To repeat exporting a Bank, you must also repeat all steps, as the last export location is not remembered. This time, there is no workaround: Ctrl+S will do nothing. Exporting a full bank is not common, so remembering last (bank) export location would probably be the best.
  5. To load a Patch from file: there is no simple way in GUI. In terminal, you can run helm patch.helm. https://github.com/mtytel/helm/issues/194 also notes that there is a hidden shortcut Ctrl+O. We need a GUI button (with tooltip for the shortcut) to load a single Patch.
  6. To load a Bank from file: click Browse > Import Bank. No problem here, although remembering the last export/import location would also help.

*Working with both Bank and File system"

When doing this, we need to keep two copies of the same files at two different locations, so I understand that it's not a native feature. In fact, once last export location is remembered, this will become much easier as we can just export the full bank as backup from times to times.

In the meantime, I found the following workaround: keep your file browser open at the default bank location (on Linux, "~/.helm/..."). Work with Bank system most of the time. After important changes, just copy paste the whole folder to your target project folder (removing any old files you don't need anymore, e.g. if you renamed some patches). Or you can use any file sync tool there.

One reason you need to keep working with banks even if you export patches or banks at custom locations, is that Helm used as plugin works more smoothly with a local bank. As noted by https://github.com/mtytel/helm/issues/194, the Ctrl+O shortcut doesn't work in Reaper, so you cannot load an individual patch. You can still import a bank, but that's cumbersome (esp. as last used location is not remembered). So using the default Bank via Browse is much easier.