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

PluginBrowser: Tree layout and search bar #4759

Closed
JohannesLorenz opened this issue Jan 4, 2019 · 19 comments
Closed

PluginBrowser: Tree layout and search bar #4759

JohannesLorenz opened this issue Jan 4, 2019 · 19 comments

Comments

@JohannesLorenz
Copy link
Contributor

JohannesLorenz commented Jan 4, 2019

This is a begginer task to prepare our plugin browser for LV2 (and the new layout). The following proposals are conforming to @budislav 's design and also favored by multiple LMMS devs. They were discussed in #4733 .

Current look

<filter search bar>
bit invader
triple oscillator
zynaddsubfx
...

Changes

  • It should have a new search bar (like EffectSelectDialog)
  • The PluginDescWidgets should be in a tree layout.

Aside from that, everything should stay like it is, i.e. keep the plugin names and the logos.

You should only create two top level items by now: LMMS and LV2. Move all current plugins to LMMS, leave LV2 empty.

<filter search bar>
LMMS
|- bit invader
|- triple oscillator
|- zynaddsubfx
|- ...
LV2

Where to get started?

Code

include/PluginBrowser.h
src/gui/PluginBrowser.cpp

Links

E.g. (but you may find better ones):

Git

Open a new branch, push to your remote and make a pull request.

@fschuelke
Copy link
Contributor

is this still open? I could try to work on the ticket

@JohannesLorenz
Copy link
Contributor Author

@itlives As no one else asked to work on it, I'd consider it still open. Your work on this issue would be appreciated.

@fschuelke
Copy link
Contributor

@JohannesLorenz i will try my best, still pretty new to the whole thing but ill take it as a challenge. Will get help if needed

@JohannesLorenz
Copy link
Contributor Author

@itlives Sure, just ask on discord if you have questions.

@fschuelke
Copy link
Contributor

@JohannesLorenz you might want to edit the suggested filepath to src/gui/PluginBrowser.cpp ;)

@fschuelke
Copy link
Contributor

@JohannesLorenz i am now working on the issue. Should the search bar act like a filter or a sorter? (only display matching plugins OR show matching plugins on top)

@JohannesLorenz
Copy link
Contributor Author

@itlives I'd prefer a filter, that would also be conforming to what we have in EffectSelectDialog (when you add an effect somewhere and are asked to choose one).

Though that's just my opinion. @tresf What would you say?

@tresf
Copy link
Member

tresf commented Jan 19, 2019

Should the search bar act like a filter or a sorter? (only display matching plugins OR show matching plugins on top)

@itlives I'd prefer a filter[...] @tresf What would you say?

Agreed.

@JohannesLorenz
Copy link
Contributor Author

@itlives How is it going? If there is anything you need help with, just let us know.

@fschuelke
Copy link
Contributor

fschuelke commented Feb 11, 2019

@itlives How is it going? If there is anything you need help with, just let us know.

@JohannesLorenz
Hello,
I am sorry to say that I am busy with my job and my music and therefore have to cancel my plans on working on LMMS. Wish you the best for the future.

@JohannesLorenz
Copy link
Contributor Author

@itlives Np. If you have anything unfinished we could use, feel free to send us a link to your branch.

At all: this issue is available again.

@ghost
Copy link

ghost commented Mar 29, 2019

Ok I'll bite :-)

@ghost
Copy link

ghost commented Mar 30, 2019

I’ve made a branch here https:/CYBERDEViLNL/lmms/tree/master_dev

Should I create a PR against the lv2 branch?

@JohannesLorenz
Copy link
Contributor Author

Great 👍

Can you please make a PR against master? I'd say let's do Lv2 later.

Two things that I saw already:

  • Lv2 instruments will also be loaded in addNativePlugins, which is why
    • I'd remove the "native" from the function name
    • it should have some code like around line 178 in the cpp file
for (const PluginKey& key : pluginKeys)
{
if(key.desc->name == "lv2instrument")
  // somehow add to m_lv2Root
else
  // somehow add to m_lmmsRoot
}
  • PluginDescList got unused in your code. You can remove the class from the header.

@ghost
Copy link

ghost commented Mar 31, 2019

Good :-)

Thanks for the review, I’d made some changes and opened a PR here #4923

@JohannesLorenz
Copy link
Contributor Author

Many thanks @cyberdevilnl 🚀

Can you please make a 2nd PR from your branch to branch lv2-review on remote https:/JohannesLorenz/lmms.git?

@ghost
Copy link

ghost commented Apr 3, 2019

OK, NP glad I could help :-)

Done 👍

@JohannesLorenz
Copy link
Contributor Author

Just wanted to post an image how it looks like 😄

Tree layout and search bar in action

@JohannesLorenz
Copy link
Contributor Author

Already closed in April (!) in #4923 . Closing 😄

sdasda7777 pushed a commit to sdasda7777/lmms that referenced this issue Jun 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

3 participants