DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.28k stars 155 forks source link

Cardinal throws garbage into the user's documents folder #733

Open FlooferLand opened 5 days ago

FlooferLand commented 5 days ago

Description

I find it very annoying that the program throws all of its config files inside my documents folder without even putting them in a "Cardinal" sub-folder, since the Documents folder is where I store a bunch of things like my programming and animation projects.

It's common practice on Linux to store configs inside ~/.config/, but Cardinal throws EVERYTHING in the documents folder, while being completely unorganized image This can cause conflict with other programs as well as just clogging up the user's documents folder

I've tried setting XDG_DOCUMENTS_DIR in the desktop file to ~/Documents/Cardinal before launching Cardinal because I've read in one issue that it handles it but to no avail since it completely ignores it

I'm proposing that all of these should move into a ~/Documents/Cardinal folder by default, and if a "CARDINAL_HOME" environment variable is set, looking for / creating all of the files at that location.

I'm using Arch on Wayland with KDE Plasma 6 if its relevant

dromer commented 5 days ago

It is not Cardinal but in fact the modules that decide to use these folders. They behave the same in VCV Rack and the behavior is inherited from that.

I do agree that it's not nice that they just plonk their folders there. However many users would expect the settings to be shared between the VCV Rack and Cardinal versions of these modules.

FlooferLand commented 5 days ago

Oh well that sucks, I have to open 10 more issues on their respective repos I suppose xD Aren't the patches/templates/selections folders from Cardinal however?

kawa-sanmyaku commented 4 days ago

It's not too bad IMO, at least the Documents directory is easier to access, copy from, and clean than the AppData (Win) or .local (Linux) directories (not that it's hard for the AppData directories, but it's extra steps because the directories are deeper and hidden by default)

Like you said, you could open those issues upstream but realistically they won't get resolved, and if they do then the modules must be all recompile successfully for all currently supported architectures

For VCV Rack there are some command line arguments to change the user data directory (I can't recall what they are right now but you could find them by googling "vcv rack portable"), so you could set it to the same directory as the executable, you could try those args with Cardinal but I'm not sure if Cardinal supports them I misread, sorry, it looks like you've already tried this by editing the .desktop file

FlooferLand commented 3 days ago

I don't mind them being in the documents directory, my main problem is that they're hazardly thrown in there. Other software that saves stuff to my documents usually makes a subfolder with the software's name to store stuff in (ex: LMMS has made an "lmms" folder) Having basic names like "templates" and "selections" thrown into a directory that both the user and other software also put stuff into is messy.

If another program also decided to do this it could not only cause conflicts but also clutter the folder the user holds their personal files inside even further. I tried copying the contents of my LMMS folder into my documents folder as an example, and it turns out if LMMS didn't make a subfolder for itself there would've been a clash, since it also happens to have a lowercase templates folder

I've seen some users make directories with names like patches and templates for personal things too, so this could rarely even clash with a user's files

I suspect the lowercase presets/templates/patches are coming from Cardinal. I don't really mind "SurgeXTRack" and "BaconMusic" since they're pretty hard for a program to accidentally write into or for something/someone to confuse with something else