mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-13 09:34:53 +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:
@@ -224,8 +224,6 @@ AudioEngine::AudioEngine()
|
|||||||
|
|
||||||
d->mediaObject = new Phonon::MediaObject( this );
|
d->mediaObject = new Phonon::MediaObject( this );
|
||||||
d->audioOutput = new Phonon::AudioOutput( Phonon::MusicCategory, this );
|
d->audioOutput = new Phonon::AudioOutput( Phonon::MusicCategory, this );
|
||||||
d->audioDataOutput = new Phonon::AudioDataOutput( this );
|
|
||||||
|
|
||||||
d->audioPath = Phonon::createPath( d->mediaObject, d->audioOutput );
|
d->audioPath = Phonon::createPath( d->mediaObject, d->audioOutput );
|
||||||
|
|
||||||
d->mediaObject->setTickInterval( 150 );
|
d->mediaObject->setTickInterval( 150 );
|
||||||
@@ -238,7 +236,7 @@ AudioEngine::AudioEngine()
|
|||||||
onVolumeChanged( d->audioOutput->volume() );
|
onVolumeChanged( d->audioOutput->volume() );
|
||||||
setVolume( TomahawkSettings::instance()->volume() );
|
setVolume( TomahawkSettings::instance()->volume() );
|
||||||
|
|
||||||
// initEqualizer();
|
initEqualizer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1390,13 +1388,14 @@ AudioEngine::initEqualizer()
|
|||||||
{
|
{
|
||||||
Q_D( AudioEngine );
|
Q_D( AudioEngine );
|
||||||
|
|
||||||
QList< Phonon::EffectDescription > effectDescriptions = Phonon::BackendCapabilities::availableAudioEffects();
|
QList<Phonon::EffectDescription> effectDescriptions = Phonon::BackendCapabilities::availableAudioEffects();
|
||||||
foreach ( Phonon::EffectDescription effectDesc, effectDescriptions )
|
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->audioEffect = new Phonon::Effect(effectDesc);
|
||||||
d->audioPath.insertEffect( d->audioEffect );
|
d->audioPath.insertEffect(d->audioEffect);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1408,9 +1407,9 @@ AudioEngine::equalizerBandCount()
|
|||||||
{
|
{
|
||||||
Q_D( AudioEngine );
|
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();
|
return params.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1419,16 +1418,16 @@ AudioEngine::equalizerBandCount()
|
|||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
AudioEngine::setEqualizerBand( int band, int value )
|
AudioEngine::setEqualizerBand(int band, int value)
|
||||||
{
|
{
|
||||||
Q_D( AudioEngine );
|
Q_D( AudioEngine );
|
||||||
|
|
||||||
if ( d->audioEffect )
|
if (d->audioEffect)
|
||||||
{
|
{
|
||||||
QList< Phonon::EffectParameter > params = d->audioEffect->parameters();
|
QList<Phonon::EffectParameter> params = d->audioEffect->parameters();
|
||||||
if ( band < params.size() )
|
if (band < params.size())
|
||||||
{
|
{
|
||||||
d->audioEffect->setParameterValue( params.at( band ), value );
|
d->audioEffect->setParameterValue(params.at(band), value);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -110,7 +110,7 @@ public:
|
|||||||
qint64 currentTrackTotalTime() const;
|
qint64 currentTrackTotalTime() const;
|
||||||
|
|
||||||
int equalizerBandCount();
|
int equalizerBandCount();
|
||||||
bool setEqualizerBand( int band, int value );
|
bool setEqualizerBand(int band, int value);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void playPause();
|
void playPause();
|
||||||
@@ -200,6 +200,7 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
void setState( AudioState state );
|
void setState( AudioState state );
|
||||||
void setCurrentTrackPlaylist( const Tomahawk::playlistinterface_ptr& playlist );
|
void setCurrentTrackPlaylist( const Tomahawk::playlistinterface_ptr& playlist );
|
||||||
|
void initEqualizer();
|
||||||
|
|
||||||
void initEqualizer();
|
void initEqualizer();
|
||||||
void audioDataArrived( QMap< AudioEngine::AudioChannel, QVector< qint16 > >& data );
|
void audioDataArrived( QMap< AudioEngine::AudioChannel, QVector< qint16 > >& data );
|
||||||
|
@@ -1,9 +1,8 @@
|
|||||||
|
|
||||||
#include <phonon/MediaObject>
|
#include <phonon/MediaObject>
|
||||||
#include <phonon/AudioOutput>
|
#include <phonon/AudioOutput>
|
||||||
#include <phonon/AudioDataOutput>
|
|
||||||
#include <phonon/BackendCapabilities>
|
|
||||||
#include <phonon/Path>
|
#include <phonon/Path>
|
||||||
|
#include <phonon/BackendCapabilities>
|
||||||
#include <phonon/Effect>
|
#include <phonon/Effect>
|
||||||
#include <phonon/EffectParameter>
|
#include <phonon/EffectParameter>
|
||||||
|
|
||||||
@@ -44,6 +43,8 @@ private:
|
|||||||
|
|
||||||
Phonon::MediaObject* mediaObject;
|
Phonon::MediaObject* mediaObject;
|
||||||
Phonon::AudioOutput* audioOutput;
|
Phonon::AudioOutput* audioOutput;
|
||||||
|
Phonon::Path audioPath;
|
||||||
|
Phonon::Effect* audioEffect;
|
||||||
|
|
||||||
Phonon::Path audioPath;
|
Phonon::Path audioPath;
|
||||||
Phonon::Effect* audioEffect;
|
Phonon::Effect* audioEffect;
|
||||||
|
Reference in New Issue
Block a user