Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Placeholder folders (and files) in user directory for Ladspa, VSTs, themes and templates #1541

Closed
Sti2nd opened this issue Jan 2, 2015 · 27 comments

Comments

@Sti2nd
Copy link
Contributor

Sti2nd commented Jan 2, 2015

I believe the working directory could be the only place the user needs to care about. Currently the user has to access the installation directory to paste new themes and Ladspa effects.

Proposal: Ladspa effects, themes, VST effects, SoundFonts and GIG files? get a folder in user directory, just like the user presets have. The path in settings would default to this folder, the user can still change the path of course. Templates get a folder in the project folder?

image

@Spekular
Copy link
Member

Spekular commented Jan 2, 2015

👍 As a user who can't always paste to the install directory (stupid
windows permissions), yes please. Makes sense from a consistency standpoint
too.

@tresf
Copy link
Member

tresf commented Jan 2, 2015

I believe the working directory could be the only place the user needs to care about. Currently the user has to access the installation directory to paste new themes and Ladspa effects.

No they don't. I'm not sure how you've setup your workstation, but this isn't true at all, user defined folders can and should be used for all customizations to the Themes, LADSPA effects plugins, VST effects plugins, etc.

If there is something confusing about how we have it today then please share so that we can improve it.

-Tres

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Jan 2, 2015

stian_user_folder

My user directory, how do yours look like? Where are you putting a theme here?

@tresf
Copy link
Member

tresf commented Jan 2, 2015

Put it wherever you want and set it in your preferences. Perhaps we just need to make a placeholder folder there so it's more obvious? I just go to settings, click browse and done.... How do you do it?

-Tres

image

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Jan 2, 2015

Perhaps we just need to make a placeholder folder there so it's more obvious?

OMG. Yes, placeholder would be better! So basically placeholder folder for each of those paths.

@Sti2nd Sti2nd changed the title Effects and theme folders in working directory? Placeholder folders in user directory for Ladspa, VSTs and themes Jan 2, 2015
@tresf
Copy link
Member

tresf commented Jan 2, 2015

👍

If you could make a mock-up of what the structure would look like, that would help. We can append it to the original post as well.

@tresf tresf added this to the 1.2.0 milestone Jan 2, 2015
@Sti2nd
Copy link
Contributor Author

Sti2nd commented Jan 2, 2015

image

I don't know about the GIG or lv2 folder. I found out that there isn't really a default folder for soundfonts, only the default soundfont file, so if there are going to be a folder, there first need to be a setting. Would be useful so you didn't have to browse from your user/lmms/sample to the correct path all the time.

@tresf
Copy link
Member

tresf commented Jan 2, 2015

If there are going to be a folder, there first need to be a setting

Yeah, I agree... We need some consistency here...

I think a folder called "plugins" would be better and then inside there have something like "vsteffect", "ladspaeffect", "vstinstrument", etc. Soundfonts are a bit of a gray area between samples and plugins, but I wouldn't be opposed to having them in the plugins folder too.

Once decided, what this does is gives us the ability to treat plugins like plugins and have the items show up in the GUI without as much guess work. First we would need to determine this folder structure, which I think you've done a good job of starting. Thanks for the mockup.

@tresf
Copy link
Member

tresf commented Jan 2, 2015

Also, the other issue is that a good portion of VSTs are installed to Program Files, so I'm not sure how to accommodate those from a "show up in the GUI" perspective. Is there a centralized registry/list we can read from in Windows which lets us know about which VSTs should be available to the system?

@Umcaruje
Copy link
Member

Umcaruje commented Jan 2, 2015

Note that lv2 and ladspa folders are probably not necessary for linux, because IIRC LMMS (and carla) look up ~/.ladspa, /usr/lib/ladspa, /usr/local/lib/ladspa, ~/.lv2, /usr/lib/lv2 and /usr/local/lib/lv2 which are sufficient IMO. Almost any plugin will install there by default.

@tresf
Copy link
Member

tresf commented Jan 2, 2015

Almost any plugin will install there by default.

I think this is the major problem on Windows (or simply with VSTs in general), there's no default installation location for such plugins.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Jan 2, 2015

other issue is that a good portion of VSTs are installed to Program Files - @tresf

Well, I wouldn't know with commercial ones, I copy what I need (which usually is only licence and .dll file) over to my VST or VSTi folder on my external hard drive. I rarely download executable files, for me it is mostly extracting an archive to get a folder with the VST.

there's no default installation location for such plugins. - @tresf

http://forum.cakewalk.com/Install-VST-plugins-in-Program-Files-or-Program-files-x86-m2072089.aspx
A user on this site said that vst plugins gave you the (default) option to install in it's own directory because of different DAWs, so you are absolutely right. Several directories are allowed now, isn't it? I guess it could look simpler for the user, like a list with name and path, but automatically finding every VST on the PC isn't really possible, is it? I don't see this as an argument for or against anything?
C:\Program Files\VstPlugins is pretty common for uncommercial and small ones.

IIRC LMMS (and carla) look up ~/.ladspa, /usr/lib/ladspa, /usr/local/lib/ladspa, ~/.lv2, /usr/lib/lv2 and /usr/local/lib/lv2 - @Umcaruje

Ladspa folder is needed for Windows, though. Adding those folders won't change anything, it will just enable the user to use an online service to automatically back up everything. As in all your VSTs, samples, presets, projects, non-native Ladspa effects, and so on. (I know this can be done already, lol)

That LMMS allows working with different DAWs is neat and should be kept, of course, this won't ruin anything.

@Sti2nd Sti2nd changed the title Placeholder folders in user directory for Ladspa, VSTs and themes Placeholder folders (and files) in user directory for Ladspa, VSTs, themes and templates Feb 26, 2015
@curlymorphic
Copy link
Contributor

Mind if i ask a few questions. Reading through this a few times, this issue actually touches quite a few areas. I Initially thought this was about making a directory structure, but then we have to link up this structure.

If i suggest a file structure here, at least we have something to work from.

lmms
____projects
________templates
____samples
____presets
____themes
____plugins
________gig
________ladspa
________lv2
________sf2
________vsteffects
________vstinstruments

We may need to change the Settings/Path Dialog a bit to accommodate any settings. It is currently full
image

The Themes folder. In the settings dialog should the Artwork Directory point here, as default copying the default theme here, or do we leave this option alone?

The Gig Folder. Do we add an option for this? im currently unsure where lmms expects gig files to be located so I will need to look into this a bit further.

The ladspa Folder.

  • Are we going to make this on all platforms? I feel it is unneeded on linux, and dont know enough to comment about apple.
  • We currently have a path for this thats points to the install directory, do we add an option for this. This also has the implication of having 2 search paths to implement while loading.

LV2

  • - Are we going to make this on all platforms? I feel it is unneeded on linux, and dont know enough to comment about apple.
  • this means adding additional search paths to carla

SF2 We currently have an option for a default sound font file, but not folder, I also need to looking where SF currently load from.

VST. Traditionally these are stored together under 1 parent vst folder, many installers will install both the effect and instrument dlls to the same folder. whist moving these dll sometimes works, a lot also have copy protection that stop users simply moving them. What a lot of Daws do is to recursively scan this folder on startup, creating lists of instruments and effects, that are then used during the loading process. This list of often stored to track 'unworking' dlls, so they are not offered to the user.

Some of the above may not need to be added to the path dialog, we could fall back on the lmms working directory. e.g. gigs could default to lmms/plugins/gig/ similar to what we do with the samples and project directories.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Feb 27, 2015

The point is so that the user don't have to access the installation directory at all. So with the ladpsa both files in the user ladspa folder and the installion directory ladspa folder will show up.

Yes to theme folder and have a folder default which links to the default theme. Alternatively a reset theme button in the settings?

I am not sure aboutt the GIG folder myself, but as with the SoundFont File it would be great to be able to set a location which opened when you click on the folder icon to browse for sf2 or gig files. So it doesn't necessarily have to be a folder within LMMS, but for simplicity it might as well be. This also applies to VSTi files / VeSTige. I find it a bit annoying that you have to set VST path for LMMS to show VSTs in the effect browser, and that same setting is also the path for VST instruments.

Yeah, recursive scan of VSTs is perhaps the best. (Can you then differ between effects and instruments?) You can already add several paths in the settings, so if it is hard to implement I wouldn't stress it. What I would stress is to differ between VST effect paths (used by LMMS to populate the effects window) and VST instrument path (could be used as default location when opening files with VeSTige).

we could fall back on the lmms working

Yes. And Lv2 I don't know anything about. Carla is the plugin that opens it so that plugins should perhaps take care of everything lv2 for now.

@tresf
Copy link
Member

tresf commented Feb 27, 2015

Some thoughts:

  • STK raw waves is hardly ever changed. I recommend we move that to an "Miscellaneous" type area.
  • Default SF2 is hardly useful IMO as people rarely use the default long-term. I'd like to see a basic CC0 SF2 file ship with the software and move this to a "Miscellaneous" area too.
  • Artwork should be renamed "Themes" in my opinion, kept on paths page.
  • Plugins should be a bit isolated and include the ones we agree on above. We can probably omit LV2 for now as it is only available via Carla. We'll eventually have native support and thus a need for it but I think we can hold off on that.
  • This dialog needs instructions and possibly enhanced to allow multiple selections. It's not obvious that you can have more than one search path for some of these values, that should be spelled out IMO.

-Tres

@tresf
Copy link
Member

tresf commented Feb 27, 2015

Can you then differ between effects and instruments?

Agreed. This is a crucial step in this improvement in my opinion.

@Umcaruje
Copy link
Member

From the other thread:

Where does SF2 fall into this structure?

Since SF2's can be dragged from the sample browser, I don't think there is a need for this folder (I'd never use it, idk about others)

Does the SF2, GIG, VST file open browser now open to its respective new location?

Hmm yeah this would be the only benefit for a SF2 folder perhaps.

What about VST effects vs VST instruments?

I think LMMS should make this seperation, not the user.

Those are my thoughts.

@tresf
Copy link
Member

tresf commented Feb 27, 2015

I think LMMS should make this seperation, not the user.

Agreed... just not sure how much work that is... :)

@tresf
Copy link
Member

tresf commented Feb 27, 2015

Since SF2's can be dragged from the sample browser, I don't think there is a need for this folder (I'd never use it, idk about others)

Do you think SF2s should just be bundled along with the samples?

Edit: With that argument, VSTs would be the same (no?) They can also be dragged from the file browser.

@Umcaruje
Copy link
Member

Do you think SF2s should just be bundled along with the samples?

Well, SF2 and GIG's are sample libraries after all, it makes sense. I keep my SF2's in my samples folder.

Also, what do you mean by 'bundled'? There is an idea of having SF2 inside the sample library?

@tresf
Copy link
Member

tresf commented Feb 27, 2015

Also, what do you mean by 'bundled'?

I meen we should ship the software with small, basic CC0 soundfont. It will also help unit testing.

@curlymorphic
Copy link
Contributor

Can you then differ between effects and instruments?
Agreed. This is a crucial step in this improvement in my opinion.

I will look into the details this evening time permitting. but yes. iirc the process follows these lines

  • on startup
  • read in plugin stored info file to our datastore,
  • . scan vst directory for dll's
  • check if dll is currently in our data store and unchanged
  • if not, Load vst, get for details, add details to our data store
  • while (more dlls to check ) goto 3

When effects and instruments are loaded, the user is presented with the correct list from our datastore. This also means the vst can be flagged as unworking and not presented, or loaded inside a project, causing it to hang, (although that is another issue that needs looking at). It is usual to give the user an option to force a clean rescan. Ive probably missed out a few details, but thats the basics

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Feb 27, 2015

Since SF2's can be dragged from the sample browser, I don't think there is a need for this folder

True, so since there is a folder button, there is a need for a setting that let you choose what folder the button open.

@curlymorphic
Copy link
Contributor

Reading through this I feel this may be better broken down into smaller projects, To aid in development and pull requests.

  • The settings dialog, add a Miscellaneous tab and icon, move above mentioned settings to new tab ,enhance to allow multiple directory selections.
  • Sample, GIG, SF2, folders created added to setting tab, connect up to make these folders the default when open this type of file.
  • Plugins, add user directories, options add to setting dialog, "pre-scan vst" to allow separation, opening of vst effects and instruments using this scanned data.

@tresf does splitting this up sound reasonable to you?

@tresf
Copy link
Member

tresf commented Mar 2, 2015

@tresf does splitting this up sound reasonable to you?

Absolutely. Would you be opposed to creating a bug report that you own and can add/update as needed? That way you can cross off the items (rather than having a project admin continuously editing this one)?

Once that's open, we'll mark this as duplicate and use yours as the master topic. Does that sound reasonable?

@curlymorphic
Copy link
Contributor

Once that's open, we'll mark this as duplicate and use yours as the master topic. Does that sound reasonable?

That is an excellent idea :)

@tresf
Copy link
Member

tresf commented Mar 2, 2015

Marking as duplicate of #1807 (a WIP placeholder). If we missed something over there, please post in the comments!

@tresf tresf added the duplicate label Mar 2, 2015
@tresf tresf closed this as completed Mar 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants