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

Proposal for a new GUI for EQ #2347

Closed
BaraMGB opened this issue Sep 13, 2015 · 28 comments
Closed

Proposal for a new GUI for EQ #2347

BaraMGB opened this issue Sep 13, 2015 · 28 comments

Comments

@BaraMGB
Copy link
Contributor

BaraMGB commented Sep 13, 2015

Hello there,

I'm on a rewrite of the GUI of the Eq Plugin. At first I have to say, @curlymorphic did a great job with this plugin. I implemented a new parameter widget which uses handles that draw biquad filter responce curves for each band. You can move the handle to choose the frequency on x and the gain on y. To control the resonance you can use the mouse wheel.

here is an screenshot of the momental implementation:

eqaction

You can test this just add my LMMS repo and change to EqCurve branch.

I have changed the gain range of the shelf and peak filters from +/- 40 dB to +/- 18 dB. In my opinion this should be enough. If one need more gain to reduce od add just use two filters on the same frequency.

How you can see, there is a problem with the momantal implementation. Since all filters are active by default the pass filters change the signal on default. I thought about a new logic. By default we could turn the bands off. If the user change position of a handle, the filter turns on.

At next I want to implement a new artwork for this. I have made an mockup but it's not ready, yet.

eqmockupaction2
Mockup!

Okay, any feedback? Wishes? Thoughts?

Greetings Steffen

@LocoMatt
Copy link
Contributor

Imo +18 dB is bit useless. Usually everything should stay under 0dB and +6dB would be enough.
Scales next to the volume bars look quite blurry. Also I think "LMMS Equalizer" ruins whole design.
However it's neat job.
Also how about moving "freq" and "q" under knobs or do something like on my picture? (Just one
inscription at the left side)
1d1d1200-5a45-11e5-93bf-c85c5fea3616

@curlymorphic
Copy link
Contributor

I like your work:)

Your mockup looks really professional, much, much better than mine. I have to admit, drawing the curve does make a big difference to the appearance. I do appear to be the only person, who thinks that showing a curve is misleading, so I am more than happy to go with the general concensus on this.

I have changed the gain range of the shelf and peak filters from +/- 40 dB to +/- 18 dB. In my opinion this should be enough. If one need more gain to reduce od add just use two filters on the same frequency.

I personally agree this is a much more suitable range. iirc my original implementation was +6/-20 but was requested to change this by dizzy.

By default we could turn the bands off. If the user change position of a handle, the filter turns on.

This could we be a good compromise, an early version had all the bands turned off by default, It was discussed with @tresf , and the decision was made to turn them on by default as this was more intuitive from a ux perspective. Your solution seems to be the best of both worlds, lets see what anyone has to say on this.

In reference the the original ui

orignal ui

In the top right hand corner there were two labels "IN" and "OUT", these served 2 purposes, identifying the 2 analysis displays, and clicking on them enabled/disabled the display of the analysis, would it be possible to keep this functionally?

The shelving filters also had 12/24/28 dB/octave selectors, this functionality need to be kept, but how this is achieved from a ui perspective is open, you have a much better eye for this than me.

I am aware that your new ui is a mock up, but the in/out gain faders were also request by dizzy to be on a log scale, this is the current implementation, but should be easy to keep in your ui.

If you require and help with the code, please feel free to ask

@Wallacoloo
Copy link
Member

@curlymorphic what about the curves do you think is misleading? Do they not
represent the true gain at any frequency?

By the way, I think +6 dB is too low of a limit. I have used the Eq for
bandpass sweeps, in which the gain can get as high as 14-16 dB. I know some
people think that filter effects should be done separately from
equalization, but it is a reality that many people use equalizers for both
roles. 12 dB wouldn't be too bad, but I think 18 dB is the ideal limit.

The current status of this PR looks pretty good to me, though I think it's
important that the grid depicting frequency/gain lines be added back in.

@Umcaruje
Copy link
Member

Hi @BaraMGB

First of all, great job! That is a really nice faclift. I have some suggestions design wise:

  • The design could use less gradients and simpler knobs. Here's a small mockup I did in gimp:
    http://i.imgur.com/NuXPBNz.png
  • The faders should be in stereo rather than mono.
  • The faders gradient is too similar to the bottom color, so it'll be hard to distinguish.
  • The db readout next to to the faders is a bit too small, so it'd be nicer if it was bigger.
  • I agree with Loco - the text is an overkill, and just adds vertical space.

Anyhow, I really like this evolution of the EQ plugin :)

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Sep 14, 2015

Thank you all for your feedback. I'll do my best to bring all opinions in there.

@curlymorphic wrote:

In the top right hand corner there were two labels "IN" and "OUT", these served 2 purposes,
identifying the 2 analysis displays, and clicking on them enabled/disabled the display of the analysis, > would it be possible to keep this functionally?

Sure, all the functionality of the plugin will be in there. I only made this quick&dirty mockup to show what's in my mind.

@Umcaruje wrote:

The design could use less gradients and simpler knobs.

Agreed. Your mockup looks much more cleaner now.

Before I can make the real artwork, I have to make the layout. The difficult here is to bring things together which belongs together.

  • The bands needs clear label which shows the filter type.
  • The fader and knob section of any band should be labeled with the number.
  • The 12/24/48 dB group boxes belongs to the shelving filters. I have to show that in the layout.

I have to think about that.

Greetings Steffen

@musikBear
Copy link

Great work! 👍 @BaraMGB -Your design is both more readable and more usable -very nice indeed.
(btw -The lmms-eq is also a super feature on it own! 👍

@grejppi
Copy link
Contributor

grejppi commented Sep 14, 2015

What about positioning the gain sliders of the first and last bands on the same level as the others?

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Sep 14, 2015

@grejppi wrote:

What about positioning the gain sliders of the first and last bands on the same level as the others?

The first and the last band are pass filters. They haven't got faders (no gain). The upper gain sliders are for input and output signal.

Edit: the faders really needs labels. ;)

@grejppi
Copy link
Contributor

grejppi commented Sep 14, 2015

@BaraMGB Ohhh, well then that makes sense. Still slightly confusing without any labels.

Also, if their range is the same as in the graph (-18 to +18), what about making them as tall as the graph view?

@curlymorphic
Copy link
Contributor

@curlymorphic what about the curves do you think is misleading? Do they not
represent the true gain at any frequency?

I Have tried to write something to explain why i fell this is misleading in words, but I feel I will be better waiting until I can do a short video. However other than my original production mentor and his other students at the time, everyone else I have spoken to prefers the curve being displayed. It has been requested that I added a curve to the lmms eq a few times, Due to this I feel adding the curve to the eq is the correct path to follow.

Sure, all the functionality of the plugin will be in there. I only made this quick&dirty mockup to show what's in my mind.

Thats cool. you have put my concerns to rest.

@tresf
Copy link
Member

tresf commented Nov 13, 2015

@BaraMGB any update on this?

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Dec 8, 2015

Okay, it's almost done, I think. I need some people to test this thing. At first a screenshot:

eq4

You can test the eqCurve branch on my repo: https://github.com/BaraMGB/lmms/tree/eqCurve

The code is still messy, I have to clean up, yet.

Features:

  • You can drag a handle in x for frequency and y for gain up or down.
  • If you want to change the resonance/bandwidth just scroll your mouse wheel. (for fine tune with Ctrl-Key)
  • All bands are off by default. If you drag a handle or if you move a fader or knob, the band turns on.

@curlymorphic : I have notice a problem with the peakfilter: On higher bandwidth ( lets say about 3-4 octaves) the filter behave strange on higher frequency. On 20khz the filter gains the complete spectrum. I have tested a lot of EQs but can't see these behavior on other peakfilters. Here are the steps to reproduce this with actual master branch:

  • open a new project
  • in Triple Osc turn off Osc2 and 3. On Osc1 choose noise
  • make a loop to play one note all over the time. You can hear noise.
  • add the EQ Plugin turn all bands off except one peak filter. choose bandwidth round about 3 and move the handle to the right side. Listen and look to the spectrum. The gain controls the complete spectrum now.
    With my implementation you can see this in the curve, too. I don't know is this right. I don't think so. It looks like, it is stretched.

@curlymorphic
Copy link
Contributor

That looks really nice. I will try to make the time to look at this the weekend

@IvanMaldonado
Copy link
Contributor

That looks awesome, is this going to be themeable?

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Dec 9, 2015

@IvanMaldonado Sure, The graphics are all in the plugin folder.

@suhr
Copy link

suhr commented Feb 12, 2016

These controls look a bit messy.
Actually, I really like how EQ UX is done in EQ10Q:

Too bad you can't easily use EQ10Q in LMMS yet because of #562.

@rubiefawn
Copy link
Contributor

This is prefect. Exactly how id lay out an EQ if I designed one. Super excited, this will make mixing a lot better. I'm glad you added the response curve.
This is going in the next release, right?

@tresf
Copy link
Member

tresf commented Feb 19, 2016

@cubician it can be merged as soon as it is properly tested. 👍

@rubiefawn
Copy link
Contributor

How do I test? I'm waiting on this before I make anymore lmms content and I would love to test it anyway :D

@tresf
Copy link
Member

tresf commented Feb 19, 2016

How do I test?

The fastest way is to setup a build environment. We have tutorials for most platforms, or you can setup an Ubuntu VM which works very nicely as well. 👍

The git clone command needs to be adjusted to grab his repo/branch:

git clone -b eqCurve https://github.com/BaraMGB/lmms

@zonkmachine
Copy link
Member

If you have a previous build you'll probably need to clear the target directory and do a fresh make install for the gui to show properly.

@zonkmachine
Copy link
Member

@BaraMGB Wonderful work done here! I have only two minor comments.

  1. When you drag a filter setting to the extreme right the drag tool (number thing) they go further than when you drag to the left. This make them disappear a bit at extreme settings.
  2. When you collapse the control section (cool feature by the way) there is no border underneath. I would give it the same bottom as the fully extended gui.

eq

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Feb 20, 2016

Hi @zonkmachine
1.) I've got a pixmap with 23x23 pixel and set an offset of 11 pixel. now I have set the offset to 12 pixel, it looks a little bit better now. Watch the repo
2.) The collapse feature is a take over from the original plug in (from @curlymorphic ). It resize() the widget by double click. The widget got's an background graphic which cut off at the bottom. Perhaps I have to resize the graphic drawing too. But for this I have to do a deeper look into it.

@zonkmachine
Copy link
Member

Watch the repo

Watched. Liked. - Fixed

Perhaps I have to resize the graphic drawing too. But for this I have to do a deeper look into it.

Maybe that's something that can be done later if at all. This Pull Request has been around for a while now and maybe we should include it for a test drive?
Any words from the other developers?

@tresf
Copy link
Member

tresf commented Feb 20, 2016

we should include it for a test drive?

👍

@zonkmachine
Copy link
Member

Merged!

@BaraMGB
Copy link
Contributor Author

BaraMGB commented Feb 20, 2016

👍

@musikBear
Copy link

what size did the final insert have? Can someone post a screenie?
I (ofcause) again ask as an 'ambassadour' for the halfblinds 🃏

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