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

Closed
curlymorphic opened this Issue Mar 2, 2015 · 85 comments

Projects

None yet

9 participants

@curlymorphic
Contributor

This issue is to keep track of progress in #1541 as it covers a lot or areas. I am planing on breaking it down into the following areas

  • Settings Dialog
    • Add Scrollbar to path selection list
    • Move STK raw waves, Default SF2, to bottom of list
    • 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.
    • Artwork should be renamed "Themes" in my opinion, kept on paths page.
  • Folders
    • Sample, GIG, SF2, folders created (#1541)
    • Add folders to setting tab
    • Connect up to make these folders the default when open this type of file.
  • Plugins
    • Add user directories,
    • Options added to setting dialog

I plan on keeping this initial post updated

@tresf tresf added this to the 1.2.0 milestone Mar 2, 2015
@curlymorphic
Contributor

If we are to have a Miscellaneous tab on the setting dialog, we are going to need an icon. I am unfamiliar with lmms artwork, do we already have an icon we can use, or what is required in making one. My gimp skill are not the best, is anyone able to help this this please?

image

@curlymorphic
Contributor

ty for cleaning up my original post :)

@Sti2nd
Contributor
Sti2nd commented Mar 2, 2015

I am not against a new tab, but I want to point out that you could possibly make the window scrollable if you think some settings belong to for example the path tab

@curlymorphic
Contributor

you could possibly make the window scrollable

Thats a nice idea. It would give us room to expand with ease, and have mimimal impact, on both the user experience, and current code base.

@tresf
Member
tresf commented Mar 2, 2015

I am not against a new tab, but I want to point out that you could possibly make the window scrollable if you think some settings belong to for example the path tab

True... we could just put them at the bottom.

In regards to the artwork, if you make a new button, please make it as ugly as possible. It makes people cringe and then they make a better one.

@curlymorphic
Contributor

image
There is the new icon :) until someone donates better

if we need one. Lets see what everyone thinks?

@tresf
Member
tresf commented Mar 2, 2015

There is the new icon :)

Perfect! Haha.

Lets see what everyone thinks?

I think the scroll area is just fine in this case. I think if we put the less used ancillary ones at the very bottom it is actually more effective then putting them on an unrelated Misc tab. 👍

@Spekular
Contributor
Spekular commented Mar 2, 2015
@curlymorphic
Contributor

Small progress. I have wrapped the Path options in a scroll area, and adjusted sizes to suit.

image

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.

It's so un obvious I don't know what ones can have multiple selections, or how. So i gess the questions are

  1. what paths can have multiple selections
  2. how should be be portrayed in the gui.
@tresf
Member
tresf commented Mar 4, 2015

what paths can have multiple selections

Can:

  • LADSPA PLUGIN PATHS

Should:

  • VST-PLUGIN DIRECTORY

Will when we add support for it:

  • SF2-PLUGINS DIRECTORY (name?)
  • VST-INTRUMENT-PLUGIN DIRECTORY (name?)

Doesn't but may eventually:

  • THEMES DIRECTORY
  • STK RAWWAVE DIRECTORY

Can't:

  • LMMS WORKING DIRECTORY
  • BACKGROUND ARTWORK
  • FL STUDIO INSTALLATION DIRECTORY
  • DEFAULT SOUNDFONT

how should be be portrayed in the gui.

I would recommend a single folder icon for "set directory value" and a different icon (with a plus or multiple folder icon) for "add additional directory value".

-Tres

@curlymorphic
Contributor

When we are referring to multiple selections, are we meaning the default locations + 1 user location, I currently cant find a way to set more than 1 LADSPA directory.

I would recommend a single folder icon for "set directory value" and a different icon (with a plus or multiple folder icon) for "add additional directory value".

Would clicking on the "plus" icon, add an additional row to the table, with the heading duplicated?

i.e adding a second vst directory would result in this list?

working dir
vst
vst
Themes
backg.........

@Sti2nd
Contributor
Sti2nd commented Mar 5, 2015

I currently cant find a way to set more than 1 LADSPA directory.

If you cannot by separating the paths with semicolon I guess it is not supported?

@tresf
Member
tresf commented Mar 5, 2015

I currently cant find a way to set more than 1 LADSPA directory.

Neither could #1170 ;)

@curlymorphic
Contributor

Neither could #1170 ;)

well we have a standard. we use comma separated lists.

now a plus sign makes more sense.

I think i might do a couple of mock up's for this, im having trouble visualizing this on the ui.

@tresf
Member
tresf commented Mar 5, 2015

For starters, we can probably get away with treating the data as a CSV so we don't muck up the GUI too much for a small enhancement and just leave the fields as-is.

We should also consider consolidating on either "PATH" or "DIRECTORY" in the descriptions to be consistent.

image

-Tres

@curlymorphic
Contributor

@tresf 👍
That is much better than what I had in mind. I will try and get this done tomorrow, the ui at least.

@curlymorphic
Contributor

Having experimented, currenlty if you click on the folder icon next to LADSPA, it adds it to a cvs list.

should we keep this current behaviour, or add the plus button?

@tresf
Member
tresf commented Mar 5, 2015

you click on the folder icon next to LADSPA, it adds it to a cvs list.

should we keep this current behaviour, or add the plus button?

Keep, but we should make it clear what is happening. I suggest we use the plural (PATHS or DIRECORIES) and make a modified browse button with a Plus indicator.

If you'd rather not fiddle with the artwork, an ugly mockup should be sufficient until someone has time to make a new pixmap. 👍

-Tres

@curlymorphic
Contributor

I suggest we use the plural (PATHS or DIRECORIES)

Paths or Directories?

@curlymorphic
Contributor

image

Changed The Icon to show Directories that can have multiple values, currenly thats just LADSPA plugings. I will leave the creation of the user plugin directorys, until the plugin phase of this project.
Other than a reorder of the list hopefully the setting dialog is now ready to move onto the next stage.

@curlymorphic
Contributor

Folders

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

lmms
____projects
____templates
____samples
________gig
________sf2
____presets
____themes
____plugins
________ladspa
________vsteffects
________vstinstruments

Are there any comments on this, what have I missed?

@tresf
Member
tresf commented Mar 6, 2015

The +folder icon needs to be replaced with a new placeholder I feel (that one is for

Besides that, the GUI looks great to me.

As far as establishing places for this stuff moving forward, I'd really like @Umcaruje @Sti2nd @mikobuntu @grejppi @cubician's opinions. Once we pick these folder names, we're bound to stick with them for year to come, so opinions matter here... :)

@mikobuntu
Contributor

@tresf @curlymorphic I will have a good think about the folder names and the file structure, but for now yes I agree the "+" icon could do with being more noticeable and I would like the Plugins to actually have their own tab, this I will need to get out pen and paper and have a good think about , but basically " anything that is part of the sound creation should not be in the same tab as themes, installation directories, background artwork etc" imo ;)

@curlymorphic
Contributor

@curlymorphic"stops coding until design is completed"

@mikobuntu
Contributor

@curlymorphic " curlymorphic looks at the issue tracker and works on another bug " haha ;)

@curlymorphic
Contributor

@curlymorphic decides to atleast finish connecting the gig directory up before moving on

@mikobuntu
Contributor
@Umcaruje
Member
Umcaruje commented Mar 6, 2015

I like the folder structure, but I still don't like the distinction of vsteffects and vstinstruments Also I'd argue that a plugin folder isn't needed, so we simply have ladspa and vst folders.

lmms
|___projects
|___templates
|___samples
|_______gig
|_______sf2
|___presets
|___themes
|___ladspa
|___vst
@tresf
Member
tresf commented Mar 6, 2015

@Umcaruje if we can use code to distinguish between effects and instruments, we can keep them all in one folder. I'm just not sure how to do that. 😕

@curlymorphic
Contributor

my opinion on vst folders, is that we should not promote separation of the dlls, If we make the vst directory a multiple list of directories, the user would be free to add separate folders if they wish.

I'm just not sure how to do that.

I can work that bit out.

@tresf
Member
tresf commented Mar 6, 2015

I can work that bit out.

👍

@eagles051387
Contributor

Dave the down scroll button is cut off not sure if you noticed that in your
screen shots.

On Fri, Mar 6, 2015 at 8:11 PM, Tres Finocchiaro notifications@github.com
wrote:

I can work that bit out.

[image: 👍]


Reply to this email directly or view it on GitHub
#1807 (comment).

Jonathan Aquilina

@curlymorphic
Contributor

@eagles051387 nice catch :) If this gets split across 2 tabs I can see the scroll bar being removed.

The +folder icon needs to be replaced with a new placeholder

I have added add_folder.png as a placeholder, atm it just the old icon, with add.png layered ontop

image

As far as pre scanning vst goes, it took most of yesterday but can now scan all vst's and get the number of inputs and outputs. This information can be used to determine if it's an effect or instrument.

For simplicity's sake,I am going to separate the pre scanning of vst's into a separate issue.

@curlymorphic
Contributor

Just an update, gig and sf2 now have there paths, and the players open the relative location. Due to the players opening a file dialog i feel this path setting should stay as a single folder.

@curlymorphic
Contributor

@mikobuntu Hows the redesign coming along?

@mikobuntu
Contributor

@curlymorphic Arrggh I have kind of been sidetracked lately to be honest, but I will get on this as soon as possible, have you had any further progress as regards to structure? thanks :)

@curlymorphic
Contributor

sorry, I though I had replied to this a week ago.

The directory Structure is as per @Umcaruje post

lmms
|___projects
|___templates
|___samples
|_______gig
|_______sf2
|___presets
|___themes
|___ladspa
|___vst
@Umcaruje
Member

👍

@grejppi
Member
grejppi commented Mar 25, 2015

Bit late, but oh well.

Just for the sake of consistency, perhaps there ought to be a plugins/ directory with subdirs for each plugin format (plugins/vst/, etc), just like samples/gig/, samples/sf2/.

On a related note, if there's ever going to be support for native VSTs, should they be annotated with platform information? Like plugins/vst-win32/, plugins/vst-linux/, plugins/vst-osx/, etc.

@curlymorphic
Contributor

Just for the sake of consistency, perhaps there ought to be a plugins/ directory with subdirs for each plugin format (plugins/vst/, etc), just like samples/gig/, samples/sf2/.

@tresf
I feel we need an decision on this as there are requests for this both with and without the plugins grouped into a Plugins directory

@tresf
Member
tresf commented Mar 25, 2015

We have a few good ideas here... I'd like to address a few of them...

  1. SAMPLES/SF2 versus PLUGINS/SF2 -- I tend to favor "plugins" because in our code, we seem to modular-ize the SF2s into a plugins area of the code although an SF2 is -- in a lot of ways -- also a sample file so I can see the argument in both directions here...
  2. Platform-dependent designations (vst-win32, etc.) -- I think people can choose to designate as they wish, but from a technical perspective, I don't see there being a whole lot of benefits to doing in in our code because I don't really see any conflicts here so as long as our code can designate between a native linux VST (.so file extension?) and a win32 VST (.dll). Furthermore, the 32-bit versus 64-bit designation is moot too, since we support both archs on the VST side and the software doesn't really care.

That's my $.02.

@tresf
Member
tresf commented Mar 25, 2015

Of course... another (perhaps over-simplified) idea is too just search recursively in the "plugins" folder for VSTs, SF2s and GIGs, etc. Probably a bad idea, but simplifies the structure a bit...

@curlymorphic
Contributor

I have just had a re read of this thread and #1541, There has been lots of discussion of the directory structure, but I dont see how we get to a decision.

The plugins seem to be the issue and this comes down to 2 questions

1 SF2 are plugin or samples?
2 Plugin directories have a parent Plugin folder, or just parent the users lmms folder?

Platform-dependent designations @tresf has said what im thinking, in better words :)

We also have the decisions on the UI. Initially there was going to be a new settings tab, Then It was decided to just extend the current folders tab with the use of a scroll box. now there is design work being done for a new tab.

I would like to be able to make progress on this.

From what I have read, Im suggesting this

lmms
____projects
____templates
____samples
________gig
____presets
____themes
____plugins
________sf2
________ladspa
________vsteffects
________vstinstruments

@mikobuntu how would you feel about the redesigning of the dialog tabs being handled as a separate issue, For this issue we can proceed with simply adding the folder options to the newly added scrollbox?

@Sti2nd
Contributor
Sti2nd commented Mar 25, 2015

From an LMMS perspective (and that's why I share it) sf2 are files for a plugin just as dll are files for a plugin.

@Sti2nd
Contributor
Sti2nd commented Mar 25, 2015

I think of sf2 files as plugin files. I am questioning the difference of gig and sf2. (If it can't be played with windows media player I suspect it to be something else than audio or video file... not really, but you get my point)

@tresf
Member
tresf commented Mar 25, 2015

gig's and sf2's should be treated the same.

@curlymorphic wasn't part of the VST-convo dependant on programatically determining the difference between a plugin and an instrument?

@tresf
Member
tresf commented Mar 25, 2015

You're right, we need to make a decision to make progress on this... I vote:

____plugins
________gig
________sf2
________ladspa
________vst

Assuming we can use computer code to designate between VSTi and VST-FX.

@curlymorphic
Contributor

gig's and sf2's should be treated the same.

I agree on this

wasn't part of the VST-convo dependant on programatically determining the difference between a plugin and an instrument?

yes. Work on scanning vst is scheduled for 1.3 #1837 So far I have code than can scan vst's and determine if its an effect or an instrument. but It still needs a lot of work and probably some discussion before it's finished.

I would suggest for now we have 2 vst folders, vstfx, vsti. Allowing users to separate there plugins. When The scanning of vst is added, that is designed to scan multiple folders, so will be able to scan both of these folders and include the default locations as well per #1808.

I feel that scanning of vst's should remain a separate project, to avoid over complicating this issue, and to keep the code in the PR manageable.

so with the moving of the gig folder to the plugins we have

lmms
____projects
____templates
____samples
____presets
____themes
____plugins
________gig
________sf2
________ladspa
________vsteffects
________vstinstruments
@grejppi
Member
grejppi commented Mar 25, 2015

The VST specification does not provide any means to distinguish between instruments and effects.

Not sure if gig and sf2 belong in the same category as LADSPA and VST which are executable binaries. GIG and SF2 are sample banks; plain ol' data so to say. You wouldn't move the existing samples/ folder to plugins/audiofileprocessor/, would you?

@curlymorphic
Contributor

The VST specification does not provide any means to distinguish between instruments and effects.

This can be deduced from the input / outputs.

Not sure if gig and sf2 belong in the same category as LADSPA and VST which are executable binaries.

If it can't be played with windows media player I suspect it to be something else than audio or video file.

we have 2 valid options, We need to decide on one.

@Umcaruje
Member

If it can't be played with windows media player I suspect it to be something else than audio or video file.

So then .ogg files are not audio files?

I have to agree with @grejppi, sf2 and gig files should not be considered as plugins, since they are sample libraries, not actual executables.

@curlymorphic
Contributor

my vote is that sf2 and gig are not plugins, they are just sample data.

@Sti2nd
Contributor
Sti2nd commented Mar 25, 2015

You wouldn't move the existing samples/ folder to plugins/audiofileprocessor/, would you?

No, cause the files can be played with a media player and is widely known as audio files :-p You are of course right that (from a dev perspective) sf2 and gig are far apart from executable files, yet a user is less likely to think about this, and the reason we are introducing these placeholders is so that it is easier for the user ;-)

Also AudioFileProcessor isn't the only thing in LMMS that can open sound files (Sampletrack), so samles are in a special position I feel (as a user)

@Umcaruje
Member

No, cause the files can be played with a media player and is widely known as audio files

A lot of current samples are in the .ds format which can't be opened by any media player I know.

@tresf
Member
tresf commented Mar 25, 2015

Can we canvas the competition to determine categorization?

@grejppi
Member
grejppi commented Mar 25, 2015

@Sti2nd

a user is less likely to think about this

[citation needed]

@tresf
Member
tresf commented Mar 26, 2015

I did some research and the needle seems to point toward "sample". Here's my findings...

The abridged definition from wikipedia puts the definition back on the fence a bit by using the phrase "bridge the gap between recorded and synthesized audio", but I digress... I still think sample wins this argument. 👍

Definition (wikipedia.com)
SoundFont is a brand name that collectively refers to a file format and associated technology designed to bridge the gap between recorded and synthesized audio, especially for the purposes of computer music composition.


Inconclusive or missing:

  • Renoise (not natively supported, requires a converter)
  • Acid (research inconclusive, may not be natively supported)
  • MuTools (not natively supported)
  • Logic Pro (not natively supported, requires 3rd party plugin)
  • Garage Band (supported, not clear in documentation)
@Sti2nd
Contributor
Sti2nd commented Mar 26, 2015

Ok then ;-)

[citation needed]

Nothing to cite, you all know there are no research to base such statements on... lol

A lot of current samples are in the .ds format which can't be opened by any media player I know.

Good point

@tresf
Member
tresf commented Mar 26, 2015

@curlymorphic, In regards to vsti vs vstfx vs a single vst folder, should we march forward with a temporary folder structure for it only to be replaced with something different (single vst folder) come 2.x branch?

-Tres

@curlymorphic
Contributor

A single folder for vst's is good for me. :). looks like were at a place where progress can be made.

@tresf
Member
tresf commented Mar 26, 2015

looks like were at a place where progress can be made.

👍

@curlymorphic
Contributor

@tresf Pr #1791 is the changes to the location of the default template folder. Im not sure If that will cause merge conflicts?, I could of course be over thinking this

@tresf
Member
tresf commented Mar 27, 2015

Dave, thanks for staying on top of this. Please rebase the PR and I think we can merge it in.

@curlymorphic
Contributor

@tresf you want me to rebase #1791 ?

on a positive note, looking at the code I had already done, theses not too much left to be done on this :)

ps. Ive already just rebased my branch for this issue.

@curlymorphic
Contributor

Please ignore the above question. :(

@curlymorphic
Contributor

The Directories are now all correctly added. The new locations are used in there relavant place, (sf2 player uses the sf2 folder), The new folders have been added to the path dialog in a scroll area.

The only outstanding item is @mikobuntu redesign of the dialog, I feel maybe this should be a separate issue?

If anyone wants to look

git clone -b pathDialog https://github.com/curlymorphic/lmms.git

@tresf is it ok / desirable for me to post a test windows build here?'

@tresf
Member
tresf commented Mar 27, 2015

@tresf is it ok / desirable for me to post a test windows build here?'

Please feel free to do to this for any items that you feel aren't getting the proper user feedback. It certainly helps, and then you can tag the Windows users. Just remember that this is a 1.2.x release which may come with some undiscovered bugs of its own! 👍

@tresf
Member
tresf commented Mar 27, 2015

@curlymorphic if you are not sure where to upload the Windows builds to, I would recommend you upload them to https://github.com/curlymorphic/lmms/releases

@curlymorphic
Contributor

if you are not sure where to upload the Windows builds to, I would recommend you upload them to https://github.com/curlymorphic/lmms/releases

https://github.com/curlymorphic/lmms/releases/download/untagged-5486edfa53ee8f0a37f6/lmmsCurlyDefaultFolderTestmk1.exe.

note. lmms will used currently save folders if you already have them set ( if your reading this im 99.999% sure you do ) so you may want to rename your .lmmsrc.xml so a fresh config is created.

@musikBear

download link leads to a 404 error

@curlymorphic
Contributor

@musikBear sorry. Maybe I didn,t set up the release properly. I think its done now
https://github.com/curlymorphic/lmms/releases/tag/paths

@musikBear

@curlymorphic its fine now. i will install and come back 👍


..Back :p
What i have done:
Removed' current lmmsrc.xml
Installed PR
The installation goes perfect, except that the info on the forms are in-correctly showing 'installing 1.1.0'
lmms113installerrors

Opend PR
Settings form opens automatically as wanted
Deleted all default path
Inserted new dummies
It is possible to insert a combo-path for ladspa, but not for vst
Saved
lmms correctly shows warning about effectiveness of changes.
Closed & reopend lmms
All path created are preserved

Are there any other tests we want done?

@curlymorphic
Contributor

@musikBear

thanks for doing this testing :)

in-correctly showing 'installing 1.1.0'

this is based on master, that is still set to 1.1.0, I am assuming that once this forks into the 1.2 branch that will change.

It is possible to insert a combo-path for ladspa, but not for vst

At the moment yes, but that will get addressed by #1837

Are there any other tests we want done?

could be worth checking the sf2 player opens the correct folder, same for gig, please.

I can finally feel a PR comming up :)

@tresf
Member
tresf commented Mar 29, 2015

👍

@musikBear

could be worth checking the sf2 player opens the correct folder, same for gig, please.

will do that later -only thing though -I dont have any 'gig' files, and i do not know where to get any.. so :|

@curlymorphic
Contributor

@musikBear cheers for the effort, The tests my end work ok, so im going to open a PR.

@musikBear

@musikBear cheers for the effort, The tests my end work ok, so im going to open a PR.

@curlymorphic -Just ping me if you like more tests. Looking fwd to the PR 👍

@tresf
Member
tresf commented Mar 30, 2015

@musikBear did you manage to download and test a .gig file? Here's a small one: FS_Percussion.tar.bz2. Extract with 7-zip on Windows.

image

-Tres

@musikBear

Here's a small one:

Harh harh ha.. u 👹
I found one, but it wont unpack - Besides, These files unpack to gigabyte size.. Oo
What is so absurdly marvelous with gig? They are 'real' samples, i guess, but is that quality preserved in exports. At least my, admitted outdated, system, does not have space for samples in gigabyte disk-size, nor does my isp monthly '-limit' fair-use allow me to dl files of that size..

@tresf
Member
tresf commented Mar 31, 2015

What is so absurdly marvelous with gig?

Very similar to soundfonts. If you don't appreciate soundfonts, you won't appreciate Giga banks either.

I found one, but it wont unpack - Besides, These files unpack to gigabyte size..

I linked one for you that was in MB, not GB. #1807 (comment)

@tresf
Member
tresf commented Apr 13, 2015

@curlymorphic how are we with test results on this? Should we merge?

-Tres

@curlymorphic
Contributor

@tresf

So far this has only been tested by myself and @musikBear , My test releases seem to not get too much attention.

I would say merge it,

@tresf tresf closed this in #1908 Apr 13, 2015
@tresf
Member
tresf commented Apr 13, 2015

Tremendous Dave. This puts a big smile on my face. 🚀

@curlymorphic
Contributor

:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment