Eq plugin

Initial pull request for the native EQ plugin, #1376 

![image](https://cloud.githubusercontent.com/assets/7412852/5425560/4ecbfbbc-8314-11e4-9a7e-334e7910f87e.png)

On 12/23/2014 09:57 PM, Dave wrote:
>
> In plugins/Eq/EqEffect.cpp
> <https://github.com/LMMS/lmms/pull/1443#discussion-diff-22231749>:
>
> > +	sampleFrame m_inPeak = { 0, 0 };
> > +
> > +	if(m_eqControls.m_analyzeModel.value() )
> > +	{
> > +		m_eqControls.m_inFftBands.analyze( buf, frames );
> > +	}
> > +	else
> > +	{
> > +		m_eqControls.m_inFftBands.clear();
> > +	}
> > +	upsample( buf, frames );
> > +	gain(m_upBuf , m_upBufFrames, m_eqControls.m_inGainModel.value(), &m_inPeak );
> > +	m_eqControls.m_inPeakL = m_eqControls.m_inPeakL < m_inPeak[0] ? m_inPeak[0] : m_eqControls.m_inPeakL;
> > +	m_eqControls.m_inPeakR = m_eqControls.m_inPeakR < m_inPeak[1] ? m_inPeak[0] : m_eqControls.m_inPeakR;
> > +
> > +	if(m_eqControls.m_hpActiveModel.value() ){
>
>     why are you calling the setFrequency and setQ calls every period?
>
> The EqFilter::setFrequency, setSampleRate, setQ, and setGain, all
> check if there vaules change before calculating coefficents.
>

That's good, but all those checks could still be consolidated into one
function...

>     you should probably consolidate setFreq and setQ into one function
>
> good idea :)
>

Add gain to that too - single function for Freq, Q and Gain...
samplerate can stay separate as it changes much less frequently.