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

Native Eq plugin #1376

Closed
curlymorphic opened this issue Nov 30, 2014 · 94 comments
Closed

Native Eq plugin #1376

curlymorphic opened this issue Nov 30, 2014 · 94 comments
Milestone

Comments

@curlymorphic
Copy link
Contributor

Im planning a parametric eq plugin,

below is my initial layout, mainly to get the controls onto the screen. layouts, colours, fonts, backgrounds were not of priority.

Image of Initial UI

The large black box in the middle, with be a dual spectrum analyser, showing before/ after in different colours, There will also be drag-able handles for each of the filters. The Fader to the left and right are input and output gain.
Below this is the old school knobs (undecided if this is needed at all, but will leave in until testing ).
The Hp and Lp bands only have frequency and resonance controls, all the other eqs, have there gain controlled by the fader. My goal is for the meters on each fader show the spectrum data for the filter frequency.

Now i have an initial concept, I would be grateful for any feedback.

@tresf
Copy link
Member

tresf commented Nov 30, 2014

@curlymorphic, I've been following your conversations on the list and I'm happy to see progress so far! Thanks for sharing!

I wanted to copy and paste some conversation from the mailing list into this thread for historical purposes:

On 11/30/2014 12:39 AM, Vesa wrote:

On 11/30/2014 12:24 AM, Dave French wrote:

You want me pull to code into a class?
No, I can do that...

Ok, it is now done (in master branch).

BasicFilters.h now contains the class BiQuad<ch_cnt_t channels>, where ch_cnt_t is a typedef for int that signifies channel count. There's also a convenience typedef StereoBiQuad which resolves to BiQuad<2>. That's likely what you'll want to use (unless you want your EQ to have separate controls for each channel, but I personally find that fairly pointless
in an EQ...)

To use a StereoBiQuad, #include "BasicFilters.h" and simply construct
your filter like thus:

    StereoBiQuad sbq = StereoBiQuad();
    StereoBiQuad * psbq = new StereoBiQuad();

To set coefficients:

    sbq.setCoeffs( a1, a2, b0, b1, b2 );

Both channels will use the same coeffs.
To run the filter for one sampleframe, you have to call each channel
separately:

    sampleFrame src, dst;
    dst[0] = sbq.update( src[0], 0 );
    dst[1] = sbq.update( src[1], 1 );

Now as for calculating coefficients, I'll leave that up to you, but here's a decent-looking algorithm for calculating peak filter coeffs that I found, adapted for LMMS:

// peak filter coefficients:
        // input values (all should be floats):
        // Fc = center freq
        // Fs = sample rate
        // Q = Q/resonance
        // peakGain = peak gain in dBV
        float a1, a2, b0, b1, b2; // coeffs to calculate
        const float V = dbvToAmp( qAbs( peakGain ) ); // convert dBV to absolute linear amp
        const float K = tanf( F_PI * Fc / Fs );
        const float norm = 1 / (1 + V/Q * K + K * K);
        if ( peakGain >= 0.0f ) // >=0dBV gain
        {
                b0 = (1 + V/Q * K + K * K) * norm;
                b1 = 2 * (K * K - 1) * norm;
                b2 = (1 - V/Q * K + K * K) * norm;
                a1 = b1;
                a2 = (1 - 1/Q * K + K * K) * norm;
        }
        else // negative gain
        {
                b0 = (1 + 1/Q * K + K * K) * norm;
                b1 = 2 * (K * K - 1) * norm;
                b2 = (1 - 1/Q * K + K * K) * norm;
                a1 = b1;
                a2 = (1 - V/Q * K + K * K) * norm;
        }

Let me know if you need shelf filters as well. Or you can just use your own algorithms, if you find better/faster ones...

@Sti2nd
Copy link
Contributor

Sti2nd commented Nov 30, 2014

It looks awesome, I think the faders are kind of big... Possibly re-size them? So the idea of using faders is to see how much signal goes trough those frequencies... neat!

@rubiefawn
Copy link
Contributor

Also, change "Analise" to "Analyze" and "Peek" to "Peak". Otherwise, great! I've been waiting for a native graphic EQ. Good work!

@curlymorphic
Copy link
Contributor Author

@cubician Thanks for the spell check, :)

@rubiefawn
Copy link
Contributor

Also, don't get rid of the knobs, we need those for automation. However, having a 'show/hide knobs' toggle button would be nice if the knobs are kept.=

@curlymorphic
Copy link
Contributor Author

@cubician a show hide button is a good idea.

@Umcaruje
Copy link
Member

Oh my god, I have waited so long for this. So glad you are making this happen @curlymorphic 😄

@rubiefawn
Copy link
Contributor

I don't know how a show/hide would work though, you might just want to put knobs in a separate window like the VST controls.

Preferably a show/hide but only if its realistic...=

@tresf
Copy link
Member

tresf commented Nov 30, 2014

@cubician, why do you feel knobs are necessary for automation? Anything that inherits automatable-model can be automated (check boxes, led spinners, sliders).

Also, minor but "analyse" is much like "colour".... spelling should be verified against our codebase standard (I'd assume we use formal british non-american spelling, Vesa may know) per http://grammarist.com/spelling/analyse-analyze/

@Spekular
Copy link
Member

Spekular commented Dec 1, 2014

@tresf We use colorize, not colourize. That might not be regional though,
I'm not sure. Maybe we should have en_gb and en_us translation files?

@diizy
Copy link
Contributor

diizy commented Dec 1, 2014

On 11/30/2014 11:51 PM, Ian Sannar wrote:

Also, don't get rid of the knobs, we need those for automation.

No we don't. Knobs aren't the only automatable widget in LMMS. Pretty
much everything can be automated (with little regard if automation even
makes sense for a control...)

The slight problem with sliders is that our only slider class currently
only works with IntModels. Someone would have to make a variant of the
AutomatableSlider class that uses FloatModel instead. That, or possibly
it could be possible to subclass the FX faders, will have to look into that.

@curlymorphic
Copy link
Contributor Author

Automation, Now that's not something i really considered. I have a lot to learn about custom widgets but luckily for me this codebase is full of examples i can learn from.

@tresf
Copy link
Member

tresf commented Dec 1, 2014

Automation, Now that's not something i really considered.

Fortunately, most of the models will be hooked up when you mimic code from another plugin. 👍

@curlymorphic
Copy link
Contributor Author

Already have automation working, just naming the controls now, so they show up properly in automation editor, The basic eq funactionality is there now as well, not 100% finished but working.

p.s i feel stupid for asking, how do you quote a post?

@diizy
Copy link
Contributor

diizy commented Dec 1, 2014

On 12/01/2014 09:39 AM, Dave wrote:

Automation, Now that's not something i really considered. I have a lot
to learn about custom widgets but luckily for me this codebase is full
of examples i can learn from.

The knobs and FX-faders are all already automatable so that's not
something you have to worry about. In the case of the FX-faders, there
may be some tweaking or subclassing needed in order to use them outside
the mixer context, I'll have to look into that.

@curlymorphic
Copy link
Contributor Author

Just Expermenting with automation on them now, but the Fx-faders seem to be automating fine.

@diizy
Copy link
Contributor

diizy commented Dec 4, 2014

@curlymorphic

I added a 4th-order Linkwitz-Riley filter to BasicFilters.h. If you want
to add LP/HP filters to your EQ, that might be useful for you... it has
no resonance control, but it's similar to Butterworth in that it has
very flat passband and is very transparent, so should be pretty well
suited for an EQ.

Could also be used for shelves... you'll need 2 filters per shelf
though, because you have to separate the bands and then adjust the gain
of the shelf-side band.

Haven't really tested it yet myself though so please let me know if you
find any problems in it...

@curlymorphic
Copy link
Contributor Author

@diizy spent the whole day tueday trying out variuos filters, and decided to use the ones here

http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt as they sound cleanest, and the varius functions (lp,hp, peak and shelfs) sounds like they fitted together.

Your BiQuad class made life really easy for me there :) so easy just to change the coefficients to try out different types.

What's your thoughts on upsampling, I am thinking about it , then filtering with a lp before downsampling again, to reduce aliasing.

I am just having a tidy up, but later on today im hoping to show pics and maybe video of what i currently have. There is no spectrum analysis yet, but other than that, is all functional, including the drag and drop widget.

once i have this up, I think it would be a good time for me to leave this alone for a couple of days, clear my ears and head, accept any feedback. Then on monday start trying out any suggestions.

@dizzy
Copy link

dizzy commented Dec 4, 2014

Oops, you referred the wrong git account (that is Dizzy), try again and make sure the right account gets your comment

@diizy
Copy link
Contributor

diizy commented Dec 4, 2014

On 12/04/2014 07:35 PM, Dave wrote:

@dizzy https://github.com/Dizzy spent the whole day tueday trying
out variuos filters, and decided to use the ones here

http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt as they sound
cleanest, and the varius functions (lp,hp, peak and shelfs) sounds
like they fitted together.

Yeah, the Audio cookbook... those should be good. Used in lots of
synths/fx I hear, even commercial ones.

Your BiQuad class made life really easy for me there :) so easy just
to change the coefficients to try out different types.

What's your thoughts on upsampling, I am thinking about it , then
filtering with a lp before downsampling again, to reduce aliasing.

Are you thinking of doing oversampling for every filter individually, or
just oversampling/filtering once after other processing? You have to
also consider the CPU cost here... there's not much point in cramming in
too much features if it makes your filter so heavy that people can't use
your EQ.

If you introduce aliasing in your peak/shelf/etc. filters, then
oversampling afterwards won't do a lot of good - the aliased frequencies
will still be there... if you want to get rid of that aliasing, you have
to oversample in those filters themselves. But again, there's a CPU cost
that increases linearily with every x of oversampling... so you might
want to make it a switchable feature.

In order to do oversampling with the BiQuad class, simply run it X times
for each sampleFrame - then mix the outputs of each iteration. Note that
you'll also have to consider the oversampling ratio when you calculate
the coeffs.

@curlymorphic
Copy link
Contributor Author

Hmm, maybe i have miss understood. my plan was to up sample using cubic interpolation, at the start of the chain, then the eq filters, then a lp filter to remove frequencies above original sample rate / 2 , then downsample back to original rate at the end of the chain.

Will have to experiment with this next week

so you might
want to make it a switchable feature.

good thought

@diizy
Copy link
Contributor

diizy commented Dec 4, 2014

On 12/04/2014 08:20 PM, Dave wrote:

Hmm, maybe i have miss understood. my plan was to up sample using
cubic interpolation, at the start of the chain, then the eq filters,
then a lp filter to remove frequencies above original sample rate / 2
, then downsample back to original rate at the end of the chain.

Well, you can do that, sure. And it will improve quality, sure. But...
the user can already choose to oversample when exporting, so it's not
likely to give that much of an additional benefit...

Anyway, if you make it switchable (or maybe even so that the user can
set the oversampling rate, from 1x to whatever) then all should be good.

I'm not sure if cubic is really useful here though. Linear will probably
be good enough for this kind of use, since you're filtering out the
aliasing frequencies anyway - you could probably even get away with
sample & hold. Cubic uses a lot more CPU with not much benefits...

What are you planning to use for the final LP filtering? The best result
would be gained by a good FIR filter such as sinc, but that also creates
latency and uses lots of CPU... another option is to just use a very
steep IIR filter with a flat passband, such as Butterworth or
Linkwitz-Riley.

@curlymorphic
Copy link
Contributor Author

@diizy

Anyway, if you make it switchable (or maybe even so that the user can
set the oversampling rate, from 1x to whatever) then all should be good.

will be trying this out.

I'm not sure if cubic is really useful here though. Linear will probably
be good enough for this kind of use, since you're filtering out the
aliasing frequencies anyway - you could probably even get away with
sample & hold. Cubic uses a lot more CPU with not much benefits...

Cheers for the heads up :)

What are you planning to use for the final LP filtering? The best result
would be gained by a good FIR filter such as sinc, but that also creates
latency and uses lots of CPU... another option is to just use a very
steep IIR filter with a flat passband, such as Butterworth or
Linkwitz-Riley.

now would be a good time to try your new filters out :)

@curlymorphic
Copy link
Contributor Author

Well, finally, screen shots

Image of Small eq ui

Image of Large eq ui

if anyone wishes to try it out, it is in the eq branch on my fork.

https://github.com/curlymorphic/lmms/

The ui now comes in 2 sizes, simply double clicking on the plugin background toggles between the two. The large black widget contains handles to each of the bands, double clicking on a handle activates that filter. One active a handle can be dragged with the left mouse button to control the frequency and gain, and with the right button for resonance.

I am sort of happy with the sound, but am thinking about increasing the maximum gain on each band from 6dB to 12dB,

I am looking for feedback as i feel there could be lots of improvements. I am currently aware of a few bugs and have some ideas, but want to have more of a open mind so any comments welcome.

Depending on the feedback i may implement the spectrum analyser next week, but would like to refine what we have already first.

@rubiefawn
Copy link
Contributor

I like this! You even did the whole 'hide knobs' thing...
As far as the small UI goes, it is fantastic! I do have a couple
suggestions, though...

-Make the band indicator circles have a smaller outline
-Have a curve representing the actual modification of the spectrtum (look
up EQ Eight)
-Label the In and Out gain faders
-Modify the background and stuff to match the rest of LMMS a bit

Besides that, the UI is perfect, as far as I'm concerned. :D Keep up the
great work! I am so excited for this to be released!

On Fri, Dec 5, 2014 at 2:58 PM, Dave notifications@github.com wrote:

Well, finally, screen shots

[image: Image of Small eq ui]
https://camo.githubusercontent.com/07008fe0c4939a17fd3fe20f0bbea75ff5e613ad/687474703a2f2f7777772e73747564696f36706c7573312e636f6d2f696d616765732f536d616c6c457144656d6f312e706e67

[image: Image of Large eq ui]
https://camo.githubusercontent.com/9c6a4eb8c29ec47a7181ea3b36f6dc66bbfd73ca/687474703a2f2f7777772e73747564696f36706c7573312e636f6d2f696d616765732f426967457144656d6f312e706e67

if anyone wishes to try it out, it is in the eq branch on my fork.

https://github.com/curlymorphic/lmms/

The ui now comes in 2 sizes, simply double clicking on the plugin
background toggles between the two. The large black widget contains handles
to each of the bands, double clicking on a handle activates that filter.
One active a handle can be dragged with the left mouse button to control
the frequency and gain, and with the right button for resonance.

I am sort of happy with the sound, but am thinking about increasing the
maximum gain on each band from 6dB to 12dB,

I am looking for feedback as i feel there could be lots of improvements. I
am currently aware of a few bugs and have some ideas, but want to have more
of a open mind so any comments welcome.

Depending on the feedback i may implement the spectrum analyser next week,
but would like to refine what we have already first.


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

@diizy
Copy link
Contributor

diizy commented Dec 6, 2014

On 12/05/2014 11:58 PM, Dave wrote:

Well, finally, screen shots

  • What exactly are the circles/ellipses representing? This isn't
    immediately obvious.
  • Are you going to use the led backgrounds on the faders? If not, they
    should be removed.
  • The knobs need labels.
  • Do the faders use dBV units? This is very important in an EQ...

@curlymorphic
Copy link
Contributor Author

Thanks for taking the time to look. This is exactly the sort of comments i wanted :)

-Make the band indicator circles have a smaller outline

Yeah they currently look at bit cumbersome atm.

@cubician

-Have a curve representing the actual modification of the spectrtum (look
up EQ Eight)

I was initial not going to do this, as I personally find them misleading, But i can see many users expecting them. I am hoping that seeing the effect on the spectrum analyser to be a more realistic visual feedback. However if this turn out not to be the case, then curves it is.

-Label the In and Out gain faders

good point, will do

-Modify the background and stuff to match the rest of LMMS a bit

Agreed, my graphics skills are limited, I did try and make it to look like other plugins, but my efforts failed, so i went with what i currently have. Looking at it now, i could make it look like the other windows in lmms, rather than trying to look like a seperate plugin.

@diizy

  • What exactly are the circles/ellipses representing? This isn't
    immediately obvious.

Its my attempt at representing resonance, suggestions for improvement are welcome here, as this could probably be represented better.

  • Are you going to use the led backgrounds on the faders? If not, they
    should be removed.

yes, currently the vu meters work on the input,output faders, i'm planning on using the ones on the filter gains to show the signal effected by this band, this still needs some thinking about as i want this to be frequency and resonance dependant.

  • The knobs need labels.

agreed.

  • Do the faders use dBV units? This is very important in an EQ...

yes.

@diizy
Copy link
Contributor

diizy commented Dec 6, 2014

On 12/06/2014 02:08 PM, Dave wrote:

-Modify the background and stuff to match the rest of LMMS a bit

I don't think this is necessary... We can't expect plugins to all match
the style of LMMS. I think it's totally fine that a plugin UI somewhat
shows the "personal touch" of the plugin author.

  * What exactly are the circles/ellipses representing? This isn't
    immediately obvious.

Its my attempt at representing resonance, suggestions for improvement
are welcome here, as this could probably be represented better.

There is no actual resonance in peak filters... the Q value in a peak
filter translates inversely to peak bandwidth. If you have frequency on
the horizontal axis, then lower Q should make the circle wider, and
higher Q should make it narrower. Your ellipses are elongated on the
vertical axis though, I'm not sure why...?

A curve of the summed frequency responses of all the filters would work
better here, as it's a common way to show filter response. It gets a bit
tricky to implement, probably requiring some FFT magic... you could do
an approximation with bell curves for the peak filters, but that may not
work so well for the shelves and passes...

Here's a good page that shows visually how different biquads translate
to frequency response:
http://www.earlevel.com/main/2013/10/13/biquad-calculator-v2/

  * Are you going to use the led backgrounds on the faders? If
    not, they should be removed.

yes, currently the vu meters work on the input,output faders, i'm
planning on using the ones on the filter gains to show the signal
effected by this band, this still needs some thinking about as i want
this to be frequency and resonance dependant.

That's pretty much impossible, since peak filters don't really separate
their affected band into a separate signal, they just work directly on
the input signal... you'd need a completely different type of EQ for
that kind of thing.

  * Do the faders use dBV units? This is very important in an EQ...

yes.

What's the scale of the faders? Usually, +20 is the max. while the min.
is somewhere around -60 to -80...

@curlymorphic
Copy link
Contributor Author

@diizy

I don't think this is necessary... We can't expect plugins to all match
the style of LMMS. I think it's totally fine that a plugin UI somewhat
shows the "personal touch" of the plugin author.

I am flexible on this, tbh this could be a separate issue coving all plugins.

There is no actual resonance in peak filters... the Q value in a peak
filter translates inversely to peak bandwidth. If you have frequency on
the horizontal axis, then lower Q should make the circle wider, and
higher Q should make it narrower. Your ellipses are elongated on the
vertical axis though, I'm not sure why...?

Your statement I am in total agreement with. I personally feel that the resonance controls on the peaking filters should be replaced by bandwidth controls, because that is what they are, However this would lead to inconsistent controls because resonance would be the correct parameter in the case of lp/hp, and slope would be the correct parameter in the case of a shelving filter.

Having taken a look at other eq plugins, resonance dials does seem to be standard, i'm now thinking using your suggestion of showing bandwidth horizontally for the shelves and peaking filters, but vertically for the lp/hp as this would be a closer visual representation of what is happening.

A curve of the summed frequency responses of all the filters would work
better here

My personal feeling was not to show the curve of the transposition, as my experience shows this to be confusing, users often take this curve to be a representation of what the spectrum will look like after processing. I was hoping that showing the difference in in/out signals would be a better visual feedback. I can see however that many users will expect to see a curve so implementing one with possibly the option to show/hide is the way forward. I shall be investigating your above pointers on this when i come to implement this.

That's pretty much impossible, since peak filters don't really separate
their affected band into a separate signal, they just work directly on
the input signal... you'd need a completely different type of EQ for
that kind of thing.

My current thoughts on this was not to use separate fft on each filter, but to display information calculated from the output fft, using a weighted window to calculate the peek value. The center fft band would be based on the filter frequency, and the window width based on bandwidth. This is currently no more than an idea in my head, and i will need to disprove this to myself before i give up on the idea.

What's the scale of the faders? Usually, +20 is the max. while the min.
is somewhere around -60 to -80...

Atm +6 -40dB is the current scale, but this is open to change. I have done some research on current eq plugins and there ranges are as follows.

Ableton -12 +12
Sonnox -20 +20
Waves H EQ -20 +20
FabFilter pro Q -30 + 30

I can see that my current scale needs to change.

Cheers for the input, definitely food for thought, and will lead to a much better addition to lmms :)

@Sti2nd
Copy link
Contributor

Sti2nd commented Dec 6, 2014

You two sure knows a little something, I don't understand any of the above sentences, haha. Looking forward to trying this (Y)

@curlymorphic
Copy link
Contributor Author

Now i have used it for a while, i don't like the coloured handles, they are too hard to see, and its hard to "tell what ones what". maybe symbols in a circle showing the slope type, with numbers on the peaking bands. this is pretty common in eq, and i feel would be understood by users.

GIMP has a good colour-blind test filter, in View -> Display Filters.
Probably enough if you just proof the colours for the most common forms
(protanopia/deuteranopia)...

@diizy will go try that out now

@diizy
Copy link
Contributor

diizy commented Dec 15, 2014

Ok, the LR4 filter is fixed now (for real, this time - I got to test it
properly) so better rebase again. I also converted it to double
precision so as to improve quality - 4th order filters may have problems
in single precision...

I also merged my Crossover Equalizer, which I wrote just to test the
filters and fader widgets.

@curlymorphic
Copy link
Contributor Author

Latest screen shots

Changed the colors of the analysis, so are now prominent to those who have color blindness. The fill is now trasparent, but with a line draw on the edges, to separate the displays.

Added labels to colors

Made all the handles white, with the band number displayed, this greatly improved usability

image

image

@Spekular
Copy link
Member

I can't wait to use this :D

@rubiefawn
Copy link
Contributor

YESSSS I LOVE IT

On Mon, Dec 15, 2014 at 5:41 AM, Spekular notifications@github.com wrote:

I can't wait to use this :D


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

@badosu
Copy link
Contributor

badosu commented Dec 27, 2014

This looks amazing!! 😹

@badosu
Copy link
Contributor

badosu commented Dec 28, 2014

@curlymorphic So, I was using some of the parametric equalizers and tried to use yours instead and the improvement was massive. It is really useful and intuitive to use! I already switched and will mostly use it.

I found 2 problems though: you can't assign a value to the gains on IN and OUT with double-click (it resets to zero after pressing ok) and if you lower the resonance of an active parameter enough you can get to a point where the equalizer gets messed up and you have to delete the plugin and equalize all over again.

@curlymorphic
Copy link
Contributor Author

I found 2 problems though: you can't assign a value to the gains on IN and OUT with double-click (it resets to zero after pressing ok) and if you lower the resonance of an active parameter enough you can get to a point where the equalizer gets messed up and you have to delete the plugin and equalize all over again.

@badosu Cheers for testing :) i'm working on this EQ today and will address your points

@badosu
Copy link
Contributor

badosu commented Dec 28, 2014

Hi @curlymorphic, thanks for the feedback.

There's also something that I noticed on some proprietary parametric EQ's that is called the bandwidth for a particular parameter and is measured in percentage.

Do you have any idea if this is relevant?

Reference for the bandwidth from FL EQ2: http://www.image-line.com/support/FLHelp/html/plugins/Fruity%20Parametric%20EQ%202.htm

@curlymorphic
Copy link
Contributor Author

Bandwidth, is the width of the signal effected by the parametric peaking filters. It can also be represented as resonance( think of it as the inverse of bandwidth ) as currently used here. Different Eq plugins choose to use either Resonance or bandwidth. I personally feel bandwidth is the right choice, But most Implement it as resonance.

It has already been spoken about, I am currently changing the controls to bandwidth.

@badosu
Copy link
Contributor

badosu commented Dec 28, 2014

Amazing @curlymorphic, thanks a lot!

@Umcaruje
Copy link
Member

The EQ plugin has been accepted into master, should this be closed?

@tresf tresf closed this as completed Jan 14, 2015
@tresf
Copy link
Member

tresf commented Apr 6, 2015

Dave, is there a reason this has all of the sliders disabled by default? I'd expect the opposite when I add this to an instrument or FX channel :)

(@Umcaruje @Sti2nd, etc opinions welcome)

screen shot 2015-04-06 at 10 21 12 am

@curlymorphic
Copy link
Contributor Author

Dave, is there a reason this has all of the sliders disabled by default?

There are 2 reasons, both of questionable validity

  1. It was the way i was taught to use an eq.
  2. performance, each band being used requires processing power. This was very important years ago, im unsure of the importance, when compared to usability on modern hardware.

I guess what I am saying is im happy to go with what ever is decided :)

What format / where should I write up the documentation for this?

@tresf
Copy link
Member

tresf commented Apr 6, 2015

What format / where should I write up the documentation for this?

Tagging a few users is probably a good start. I expect plugins to be enabled by default. When all sliders are disabled, it is quite confusing why my sound isn't changing.

@Umcaruje
Copy link
Member

Umcaruje commented Apr 6, 2015

I think at least one band should be enabled.

What format / where should I write up the documentation for this?

I can provide you with a wiki account and you can add the EQ and any other new effects over at http://lmms.io/wiki/index.php?title=Effect_Plugins

@curlymorphic
Copy link
Contributor Author

I can provide you with a wiki account and you can add the EQ and any other new effects over at http://lmms.io/wiki/index.php?title=Effect_Plugins

thanks :)

@Umcaruje
Copy link
Member

Umcaruje commented Apr 6, 2015

Just PM me your desired username and your mail and you'll be good to go :)

@Wallacoloo
Copy link
Member

I'd say either all bands should be enabled or all should be disabled, but definitely not a mix of the two.

Personally, I prefer to start with all bands disabled and enable them on-demand. This saves a lot of trouble especially when it comes to automating them - if you default to all bands enabled and some of them look like they aren't doing anything, you can't be sure if they're safe to use for something else unless you check their automation. But if you only enable them on-demand, then you know the ones that look like they aren't doing anything must just be idle at this part of the song and you shouldn't mess with them.

Perhaps the solution is to make it more obvious (to newcomers) when a band is disabled.

@tresf
Copy link
Member

tresf commented Apr 10, 2015

The other EQ plugins have the knobs/bands enabled by default. I vote we remain consistent.

image

@Wallacoloo
Copy link
Member

Ok, that's a valid point - I change my vote ;-)
On Apr 9, 2015 7:46 PM, "Tres Finocchiaro" notifications@github.com wrote:

The other EQ plugins have the knobs/bands enabled by default. I vote we
remain consistent.

[image: image]
https://cloud.githubusercontent.com/assets/6345473/7081057/44a17a20-df0a-11e4-900f-9d1de6d35db7.png


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

@tresf
Copy link
Member

tresf commented Apr 10, 2015

I change my vote ;-)

:)

@curlymorphic
Copy link
Contributor Author

The other EQ plugins have the knobs/bands enabled by default. I vote we remain consistent.

That wins me over.I will change to all on by default.

Perhaps the solution is to make it more obvious (to newcomers) when a band is disabled.

Would it be advantageous to turn off the vu meters on disabled bands?

@Umcaruje
Copy link
Member

The other EQ plugins have the knobs/bands enabled by default. I vote we remain consistent.

You can't disable any band on the other EQ plugins. The buttons next to the knobs are for linking the Right and Left channel, not for enabling/disabling the bands

@Sti2nd
Copy link
Contributor

Sti2nd commented Apr 12, 2015

Yeah, it is a difference there... ^

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