1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-12 09:04:33 +02:00

Added Equalizer support on AudioEngine class

Two public methods added :
 * int equalizerBandCount()
 * bool setEqualizerBand(int band, int value)
One private method :
 * void initEqualizer()

Settings and GUI must be made in an external plugin
This commit is contained in:
dridri
2013-07-10 01:23:56 +00:00
committed by Uwe L. Korn
parent 372c16794a
commit 52abcc29de
3 changed files with 19 additions and 18 deletions

View File

@@ -224,8 +224,6 @@ AudioEngine::AudioEngine()
d->mediaObject = new Phonon::MediaObject( this );
d->audioOutput = new Phonon::AudioOutput( Phonon::MusicCategory, this );
d->audioDataOutput = new Phonon::AudioDataOutput( this );
d->audioPath = Phonon::createPath( d->mediaObject, d->audioOutput );
d->mediaObject->setTickInterval( 150 );
@@ -238,7 +236,7 @@ AudioEngine::AudioEngine()
onVolumeChanged( d->audioOutput->volume() );
setVolume( TomahawkSettings::instance()->volume() );
// initEqualizer();
initEqualizer();
}
@@ -1390,13 +1388,14 @@ AudioEngine::initEqualizer()
{
Q_D( AudioEngine );
QList< Phonon::EffectDescription > effectDescriptions = Phonon::BackendCapabilities::availableAudioEffects();
foreach ( Phonon::EffectDescription effectDesc, effectDescriptions )
QList<Phonon::EffectDescription> effectDescriptions = Phonon::BackendCapabilities::availableAudioEffects();
d->audioEffect = NULL;
foreach(Phonon::EffectDescription effectDesc, effectDescriptions)
{
if ( effectDesc.name().toLower().contains( "eq" ) )
if(effectDesc.name().contains("Eq") || effectDesc.name().contains("eq"))
{
d->audioEffect = new Phonon::Effect( effectDesc );
d->audioPath.insertEffect( d->audioEffect );
d->audioEffect = new Phonon::Effect(effectDesc);
d->audioPath.insertEffect(d->audioEffect);
break;
}
}
@@ -1408,9 +1407,9 @@ AudioEngine::equalizerBandCount()
{
Q_D( AudioEngine );
if ( d->audioEffect )
if (d->audioEffect)
{
QList< Phonon::EffectParameter > params = d->audioEffect->parameters();
QList<Phonon::EffectParameter> params = d->audioEffect->parameters();
return params.size();
}
@@ -1419,16 +1418,16 @@ AudioEngine::equalizerBandCount()
bool
AudioEngine::setEqualizerBand( int band, int value )
AudioEngine::setEqualizerBand(int band, int value)
{
Q_D( AudioEngine );
if ( d->audioEffect )
if (d->audioEffect)
{
QList< Phonon::EffectParameter > params = d->audioEffect->parameters();
if ( band < params.size() )
QList<Phonon::EffectParameter> params = d->audioEffect->parameters();
if (band < params.size())
{
d->audioEffect->setParameterValue( params.at( band ), value );
d->audioEffect->setParameterValue(params.at(band), value);
return true;
}
}

View File

@@ -110,7 +110,7 @@ public:
qint64 currentTrackTotalTime() const;
int equalizerBandCount();
bool setEqualizerBand( int band, int value );
bool setEqualizerBand(int band, int value);
public slots:
void playPause();
@@ -200,6 +200,7 @@ private slots:
private:
void setState( AudioState state );
void setCurrentTrackPlaylist( const Tomahawk::playlistinterface_ptr& playlist );
void initEqualizer();
void initEqualizer();
void audioDataArrived( QMap< AudioEngine::AudioChannel, QVector< qint16 > >& data );

View File

@@ -1,9 +1,8 @@
#include <phonon/MediaObject>
#include <phonon/AudioOutput>
#include <phonon/AudioDataOutput>
#include <phonon/BackendCapabilities>
#include <phonon/Path>
#include <phonon/BackendCapabilities>
#include <phonon/Effect>
#include <phonon/EffectParameter>
@@ -44,6 +43,8 @@ private:
Phonon::MediaObject* mediaObject;
Phonon::AudioOutput* audioOutput;
Phonon::Path audioPath;
Phonon::Effect* audioEffect;
Phonon::Path audioPath;
Phonon::Effect* audioEffect;