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

Turn the FX type label into the FX type selection ComboBox #39

Closed
anthonyalfimov opened this issue Mar 20, 2021 · 11 comments
Closed

Turn the FX type label into the FX type selection ComboBox #39

anthonyalfimov opened this issue Mar 20, 2021 · 11 comments
Assignees
Labels
enhancement New feature or request

Comments

@anthonyalfimov
Copy link
Owner

anthonyalfimov commented Mar 20, 2021

Currently, the top-right FX selection comboBox and the big FX type label in the FX Panel overlap in their purpose. Both indicate the current FX type, but the label is more visible, while the comboBox allows to change it.

This can be streamlined by turning the FX type label into an interactive UI component that changes the FX type. It can be a comboBox with a popup, or simply two arrows both sides of the label to cycle through types.

ComboBox seems like a preferable option to me, since it allows to view the available options before changing the FX type. Since switching the type produces an audible transition effect, this is preferable for this plugin. Visually, I don't want the comboBox to alter the look of the label too much. Perhaps, just an arrow next to the label that somehow highlights on hover.
On mouse down, a popup should appear. I would look cool if the order of the popup list is changed so that the currently selected type is always on top and matches the position of the label exactly. So, the popup should use exactly the same (large) font as the label, and have a semi-transparent background.

This will free up the top-right space on the "shelf" for the "Output Clipping Curve" combobox #47 lowpass filter control #33.

@anthonyalfimov anthonyalfimov added enhancement New feature or request on hold This will be worked on later labels Mar 20, 2021
@anthonyalfimov anthonyalfimov self-assigned this Mar 20, 2021
@anthonyalfimov anthonyalfimov changed the title Turn FX type label into the FX type selection ComboBox Turn the FX type label into the FX type selection ComboBox Mar 20, 2021
@anthonyalfimov anthonyalfimov removed the on hold This will be worked on later label May 12, 2021
anthonyalfimov added a commit that referenced this issue May 13, 2021
@anthonyalfimov
Copy link
Owner Author

anthonyalfimov commented May 13, 2021

TODO:

  • Tune up the comboBox look.
  • Tune up the popup look.

anthonyalfimov added a commit that referenced this issue May 14, 2021
Switch to the regular comboBox style with one background for both the
text and the arrow. Update comboBox and knob vertical position. Offset
comboBox text to appear more visually centred.

Addresses #39
@anthonyalfimov
Copy link
Owner Author

anthonyalfimov commented May 19, 2021

FX Type ComboBox and Popup look

General considerations

STYLE

I gravitate towards placing the popup on top of the combobox (left image), so that you don't see the currently selected option twice. With a very short list of options (just three), it should look cleaner.


ComboBox Look

FX Type combobox controls a parameter that in most cases would be set just once per instance. Therefore, it shouldn't draw too much attention, while remaining prominent.


CB1. Standard combobox

FXType 1aCB

FX Type font colour roughly matches the background around the combobox, appearing as a "negative" shape.


CB2. Light combobox

FXType 1bCB

FX Type font colour roughly matches the colour of the label in the older UI.


CB3. Standard combobox with thin border

FXType 1dCB

FX Type font colour roughly matches the colour of the label in the older UI.


CB4. Just the border

FXType 1eCB

FX Type font colour is brighter than the colour of the label in the older UI.


CB5. Using colour

FXType 1fCB

Each FX Type would be associated with its own colour:

FXType 1f

This can be a striking look, but it draws a lot of attention.


Popup Look

All options here use a drop shadow effect to help separate them from the background.


PP1. No border

FXType 1a

The most elegant look to my taste. However, it's not very well separated from the background. Highlighting the first option can look confusing if using the same highlight colour for both the combobox and the popup (first popup item will blend with the combobox behind).


PP2. Thin dark border

FXType 1c


PP3. Thin bright border

FXType 1d


PP4. Thick border

FXType 1e


anthonyalfimov added a commit that referenced this issue May 20, 2021
anthonyalfimov added a commit that referenced this issue May 20, 2021
anthonyalfimov added a commit that referenced this issue May 20, 2021
Set popup position depending on wheter it's a normal or large (for FX
type) popup. Constrain all popups to the plugin editor. Update text
colour and positioning for large popups.

Addresses #39. Closes #55.
@anthonyalfimov
Copy link
Owner Author

Currently implemented state of the popup:

Screen.Recording.2021-05-20.at.22.36.30.mov

@anthonyalfimov
Copy link
Owner Author

anthonyalfimov commented May 25, 2021

PP1-A. No border, edge glow

FXType 2a

Add subtle "glow" effect to the edges of the popup to improve separation from the background. Use 1 px separators between options. Match for CB1 / CB2 ComboBox designs.


PP2-A. Thinner dark border

FXType 2b

Use 1 px thin borders and item separators. Match for CB1 / CB2 ComboBox designs.

@anthonyalfimov
Copy link
Owner Author

CB3-A. Standard combobox with thinner border

FXType 2c

Use 1 px border for the ComboBox.


PP3-A. Thinner bright border

FXType 2cOpen

A matching partner for CB3-A: 1 px borders and item separators.

@LizAryslanova
Copy link
Collaborator

I’m gravitating towards: CB2. Light combobox
It is visible and not distracting.

There is a thought of combining it with the border from this option: PP3-A. Thinner bright border
Just to see how it looks

anthonyalfimov added a commit that referenced this issue May 28, 2021
Derive a "Dropdown" class from JUCE ComboBox to use a custom Popup
design. Use the Dropdown class to implement the FX Type selector.

Addresses #39
anthonyalfimov added a commit that referenced this issue May 28, 2021
Update the PluginLookAndFill class button drawing methods to support
connected buttons and ColourIDs.

Addresses #39
@anthonyalfimov
Copy link
Owner Author

CB2. (For reference)

FXType 1bCB


I've been going back and forth between liking and disliking CB2. My problem with it is that neither the text colour nor the background colour of CB2 are used anywhere else in the plugin. So to me it looks too disconnected from the rest of the UI. What do you think?

Here are some variations on CB2 with borders:

CB2-A. 2px border

CB2-A


CB2-B. 1px Border

CB2-B


I think that the 2px border looks more appropriate, since it matches the thickness of the downward arrow here.

Here's another variation: now the background colour is the same as the background for the "Invert" toggle. It's a transparent colour, so they don't necessarily look the same, but they should dim the colour behind them roughly the same.

CB2-C. 2px border

CB2-C

Here, it almost looks as if the ComboBox background is transparent, but it still adds a bit of contrast for the text.


I'll need to have a look at these with fresh eyes, but I think the border might be making these CB2 variations look less alien among the UI...

@anthonyalfimov
Copy link
Owner Author

anthonyalfimov commented May 31, 2021

Speaking of other ComboBox options, I assume we can agree that CB4 and CB5 are not worth considering.
CB1 and CB3 use the same background as the rest of the UI elements like labels and buttons, which is good for consistency. Here are they for reference, plus an intermediate version (CB1 with the font colour of CB2 and CB3).

CB1

FXType 1aCB


CB1-A

CB1-A


CB3

CB3


These do make the plugin feel darker overall. But they tie in with the rest of the UI language.

@anthonyalfimov
Copy link
Owner Author

Speaking of the Popup design, my favourite right now is PP2-A, the thin 1px border. PP2 with 2px border is fine too, but doesn't look as elegant.

The trick here is, if the ComboBox has a border, then the Popup should match the colour and the thickness of the border. I'm not a fan of ComboBoxes with 1px borders. So that leaves only the ComboBoxes with no border to be paired with the 1px-border Popup.

So at this point it makes sense to be looking at CB+PP pairs, rather than choosing in isolation. Here are some possible pairings:

CB1 + PP2-A

FXType 1aCB
FXType 2b


CB1-A + PP2-A

CB1-A
FXType 2b


CB2 + PP2-A

FXType 1bCB
FXType 2b


CB3 + PP3

CB3
FXType 1d


CB2-A + PP3

CB2-A
FXType 1d

@anthonyalfimov
Copy link
Owner Author

There's one bit of context that these mock-ups don't show well. When you mouse over a control, it is highlighted in a dark grey colour. This highlight colour is the same for all existing controls. With the ComboBox, you can see that in the video here and underneath the Popup in Popup mock-ups.

anthonyalfimov added a commit that referenced this issue Jun 29, 2021
anthonyalfimov added a commit that referenced this issue Jul 6, 2021
@anthonyalfimov
Copy link
Owner Author

This is the look I am going with for now. The Dropdown background is consistent with other UI elements, and the font matches the background enough to appear as negative space.

Screenshot 2021-07-06 at 20 17 53

Screenshot 2021-07-06 at 20 17 57

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants