LMMS / LMMS/lmms

LV2 plugin layout

Open
#6,798 13 comments 0 reactions 0 assignees View on GitHub
gui meta
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

### Summary

Observations and suggestions for the LV2 instrument/effect plugin layout.

- [ ] (A) Help button takes up all of the top layout. There is all this space to the left of it. It could share space with the search field.
- [ ] (B) Checkboxes - Text size is too large. Pictures 2 and 3.
- [x] (C) Search field is visible on layouts with more than two items. I think that's too low. You don't need a search field for three items. I think it could be larger still. At least six. Picture 3. https://github.com/LMMS/lmms/blob/bc99728534c90fba25c5deedef1568dc5d9d6e62/src/gui/ControlLayout.cpp#L262
- [x] (D) There are LV2 plugins that have both portProperty **Toggled** and **Integer** (Example: [Redeye - Chump](https://github.com/brummer10/guitarix/blob/master/trunk/src/LV2/gx_redeye.lv2/gx_redeye.ttl#L102-L103)). Picture 1. These ports currently show up as LCD displays but on other DAW's they are presented as checkboxes and this seem to be the correct way. If I move the test for Toggled in the code below to the top, before Integer, the checkbox shows correctly. I don't know what else breaks but it's just a test. https://github.com/LMMS/lmms/blob/bc99728534c90fba25c5deedef1568dc5d9d6e62/src/core/lv2/Lv2Ports.cpp#L117-L123
- [ ] (E) ComboBox text width is too small. Pictures 4 and 5.

#### Screenshot

1 - master
![togglebad](https://github.com/LMMS/lmms/assets/6368949/4c187def-2e2d-406f-9d71-f4f930446b10)

2 - Test for toggle first
![togglefixed](https://github.com/LMMS/lmms/assets/6368949/06daeb76-70d7-4836-b270-9a7b56e0c959)

3 - Search field on > 6 items
![patched2](https://github.com/LMMS/lmms/assets/6368949/1e581867-9961-4e10-9bbc-3e51616754f4)

4 - ComboBox text width, today 64
![combobox64](https://github.com/LMMS/lmms/assets/6368949/ff0921ff-3074-4980-bb6d-494ea84e1fa9)

5 - ComboBox text width, increased to 96
![combobox96](https://github.com/LMMS/lmms/assets/6368949/c5dc7a87-875d-47e6-ad34-644f7f92a2a0)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/gui/ControlLayout.cpp and src/core/lv2/Lv2Ports.cpp, especially the layout threshold and port-property checks linked in the issue. Review the unchecked items for the help/search layout, checkbox sizing, and combo-box width. Done means the LV2 controls use the intended layout and toggled integer ports appear as checkboxes without regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
design, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.