TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Public Member Functions | Static Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Effect Class Referenceabstract

The Effect class provides the base interface class of audio effects. More...

#include <effect.h>

+ Inheritance diagram for Effect:

Public Member Functions

 Effect ()=default
 
virtual ~Effect ()=default
 
virtual void applyEffect (Buffer *b)=0
 
virtual void configure (quint32 srate, ChannelMap map)
 
quint32 sampleRate () const
 
int channels () const
 
const ChannelMapchannelMap () const
 
AudioParameters audioParameters () const
 
EffectFactoryfactory () const
 

Static Public Member Functions

static Effectcreate (EffectFactory *factory)
 
static QList< EffectFactory * > factories ()
 
static QList< EffectFactory * > enabledFactories ()
 
static QString file (const EffectFactory *factory)
 
static void setEnabled (EffectFactory *factory, bool enable=true)
 
static bool isEnabled (const EffectFactory *factory)
 
static EffectFactoryfindFactory (const QString &shortName)
 

Static Private Member Functions

static void loadPlugins ()
 

Private Attributes

EffectFactorym_factory = nullptr
 
quint32 m_freq = 0
 
int m_channels = 0
 
ChannelMap m_chan_map
 

Static Private Attributes

static QList< QmmpPluginCache * > * m_cache
 
static QStringList m_enabledNames
 

Detailed Description

The Effect class provides the base interface class of audio effects.

Author
Ilya Kotov forko.nosp@m.tov0.nosp@m.2@ya..nosp@m.ru

Definition at line 36 of file effect.h.

Constructor & Destructor Documentation

Effect::Effect ( )
default

Object contsructor.

virtual Effect::~Effect ( )
virtualdefault

Destructor.

Member Function Documentation

virtual void Effect::applyEffect ( Buffer b)
pure virtual

Adds audio effect to the buffer b. Subclass should implement this function.

Implemented in Dithering, ChannelConverter, and ReplayGain.

AudioParameters Effect::audioParameters ( ) const

Returns audio parameters for output data.

const ChannelMap& Effect::channelMap ( ) const

Returns map of channels

int Effect::channels ( ) const

Returns channels number.

virtual void Effect::configure ( quint32  srate,
ChannelMap  map 
)
virtual

Prepares object for usage. Subclasses that reimplement this function must call the base implementation.

Parameters
srateSample rate.
mapMap of channels.

Reimplemented in Dithering, and ChannelConverter.

static Effect* Effect::create ( EffectFactory factory)
static

Creates effect object from factory. Returns effect objects if factory is enabled, otherwise returns 0.

static QList<EffectFactory*> Effect::enabledFactories ( )
static

Returns a list of enabled effect factories.

static QList<EffectFactory*> Effect::factories ( )
static
EffectFactory* Effect::factory ( ) const

Returns assigned factory object.

static QString Effect::file ( const EffectFactory factory)
static

Returns plugin file path.

Parameters
factoryEffect plugin factory.

Referenced by MusicPluginWidget::loadPluginsInfo().

static EffectFactory* Effect::findFactory ( const QString &  shortName)
static

Finds effect factory object by short name shortName. Returns effect factory pointer. If no match is found, 0 is returned. The search is case sensitive.

static bool Effect::isEnabled ( const EffectFactory factory)
static

Returns true if input plugin is enabled, otherwise returns false

Parameters
factoryEffect plugin factory.

Referenced by MusicPluginItem::MusicPluginItem().

static void Effect::loadPlugins ( )
staticprivate
quint32 Effect::sampleRate ( ) const

Returns samplerate.

static void Effect::setEnabled ( EffectFactory factory,
bool  enable = true 
)
static

Sets whether the effect plugin is enabled.

Parameters
factoryEffect plugin factory.
enablePlugin enable state (true - enable, false - disable)

Referenced by TTK::TTKQmmp::enabledEffectPlugin().

Member Data Documentation

QList<QmmpPluginCache*>* Effect::m_cache
staticprivate

Definition at line 122 of file effect.h.

ChannelMap Effect::m_chan_map
private

Definition at line 119 of file effect.h.

int Effect::m_channels = 0
private

Definition at line 118 of file effect.h.

QStringList Effect::m_enabledNames
staticprivate

Definition at line 123 of file effect.h.

EffectFactory* Effect::m_factory = nullptr
private

Definition at line 116 of file effect.h.

quint32 Effect::m_freq = 0
private

Definition at line 117 of file effect.h.


The documentation for this class was generated from the following file: