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 | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QmmpAudioEngine Class Reference

#include <qmmpaudioengine_p.h>

+ Inheritance diagram for QmmpAudioEngine:

Public Member Functions

 QmmpAudioEngine (QObject *parent)
 
virtual ~QmmpAudioEngine ()
 
virtual bool play () overridefinal
 
virtual bool enqueue (InputSource *source) overridefinal
 
virtual void seek (qint64 time) overridefinal
 
virtual void stop () overridefinal
 
virtual void pause () overridefinal
 
void addEffect (EffectFactory *factory)
 
void removeEffect (EffectFactory *factory)
 
- Public Member Functions inherited from AbstractEngine
 AbstractEngine (QObject *parent=nullptr)
 
virtual ~AbstractEngine ()=default
 

Static Public Member Functions

static QmmpAudioEngineinstance ()
 
- Static Public Member Functions inherited from AbstractEngine
static AbstractEnginecreate (InputSource *s, QObject *parent=nullptr)
 
static QList< EngineFactory * > factories ()
 
static QList< EngineFactory * > enabledFactories ()
 
static QStringList nameFilters ()
 
static QStringList contentTypes ()
 
static EngineFactoryfindByFilePath (const QString &path)
 
static void setEnabled (EngineFactory *factory, bool enable=true)
 
static bool isEnabled (const EngineFactory *factory)
 
static bool isEnabled (const AbstractEngine *engine)
 
static QString file (const EngineFactory *factory)
 
static QStringList protocols ()
 

Private Slots

void finish ()
 
void updateReplayGainSettings ()
 
void updateAudioSettings ()
 
void updateEqSettings ()
 

Private Member Functions

virtual void run () overridefinal
 
void reset ()
 
void clearDecoders ()
 
void flush (bool=false)
 
void addOffset ()
 
qint64 produceSound (unsigned char *data, qint64 size, quint32 brate)
 
void attachMetaData (Decoder *decoder, DecoderFactory *factory, InputSource *source)
 
OutputWritercreateOutput ()
 
void prepareEffects (Decoder *d)
 

Private Attributes

DecoderFactorym_factory = nullptr
 
QList< Effect * > m_effects
 
QList< Effect * > m_blockedEffects
 
OutputWriterm_output = nullptr
 
std::atomic_bool m_done
 
std::atomic_bool m_finish
 
std::atomic_bool m_user_stop
 
uint m_bks = 0
 
uint m_sample_size = 0
 
qint64 m_seekTime = -1
 
quint64 m_output_at = 0
 
quint64 m_output_size = 0
 
int m_bitrate = 0
 
unsigned char * m_output_buf = nullptr
 
Decoderm_decoder = nullptr
 
QQueue< Decoder * > m_decoders
 
QHash< Decoder *, InputSource * > m_inputs
 
AudioParameters m_ap
 
bool m_next = false
 
QSharedPointer< TrackInfom_trackInfo
 
ReplayGainm_replayGain = nullptr
 
QmmpSettingsm_settings = nullptr
 
AudioConverterm_converter = nullptr
 
Ditheringm_dithering = nullptr
 

Static Private Attributes

static QmmpAudioEnginem_instance
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractEngine
QMutex * mutex ()
 

Detailed Description

Definition at line 48 of file qmmpaudioengine_p.h.

Constructor & Destructor Documentation

QmmpAudioEngine::QmmpAudioEngine ( QObject *  parent)
explicit
virtual QmmpAudioEngine::~QmmpAudioEngine ( )
virtual

Member Function Documentation

void QmmpAudioEngine::addEffect ( EffectFactory factory)
void QmmpAudioEngine::addOffset ( )
private
void QmmpAudioEngine::attachMetaData ( Decoder decoder,
DecoderFactory factory,
InputSource source 
)
private
void QmmpAudioEngine::clearDecoders ( )
private
OutputWriter* QmmpAudioEngine::createOutput ( )
private
virtual bool QmmpAudioEngine::enqueue ( InputSource source)
finaloverridevirtual

Prepares decoder for usage. Subclass should reimplement this function.

Implements AbstractEngine.

void QmmpAudioEngine::finish ( )
privateslot
void QmmpAudioEngine::flush ( bool  = false)
private
static QmmpAudioEngine* QmmpAudioEngine::instance ( )
static
virtual void QmmpAudioEngine::pause ( )
finaloverridevirtual

Pauses/resumes playback

Implements AbstractEngine.

virtual bool QmmpAudioEngine::play ( )
finaloverridevirtual

Starts playback. Returns true if playback has been started successful, otherwise returns false.

Implements AbstractEngine.

void QmmpAudioEngine::prepareEffects ( Decoder d)
private
qint64 QmmpAudioEngine::produceSound ( unsigned char *  data,
qint64  size,
quint32  brate 
)
private
void QmmpAudioEngine::removeEffect ( EffectFactory factory)
void QmmpAudioEngine::reset ( )
private
virtual void QmmpAudioEngine::run ( )
finaloverrideprivatevirtual
virtual void QmmpAudioEngine::seek ( qint64  time)
finaloverridevirtual

Requests a seek to the time time indicated, specified in milliseconds.

Implements AbstractEngine.

virtual void QmmpAudioEngine::stop ( )
finaloverridevirtual

Requests playback to stop

Implements AbstractEngine.

void QmmpAudioEngine::updateAudioSettings ( )
privateslot
void QmmpAudioEngine::updateEqSettings ( )
privateslot
void QmmpAudioEngine::updateReplayGainSettings ( )
privateslot

Member Data Documentation

AudioParameters QmmpAudioEngine::m_ap
private

Definition at line 97 of file qmmpaudioengine_p.h.

int QmmpAudioEngine::m_bitrate = 0
private

Definition at line 92 of file qmmpaudioengine_p.h.

uint QmmpAudioEngine::m_bks = 0
private

Definition at line 89 of file qmmpaudioengine_p.h.

QList<Effect*> QmmpAudioEngine::m_blockedEffects
private

Definition at line 85 of file qmmpaudioengine_p.h.

AudioConverter* QmmpAudioEngine::m_converter = nullptr
private

Definition at line 103 of file qmmpaudioengine_p.h.

Decoder* QmmpAudioEngine::m_decoder = nullptr
private

Definition at line 94 of file qmmpaudioengine_p.h.

QQueue<Decoder*> QmmpAudioEngine::m_decoders
private

Definition at line 95 of file qmmpaudioengine_p.h.

Dithering* QmmpAudioEngine::m_dithering = nullptr
private

Definition at line 104 of file qmmpaudioengine_p.h.

std::atomic_bool QmmpAudioEngine::m_done
private

Definition at line 88 of file qmmpaudioengine_p.h.

QList<Effect*> QmmpAudioEngine::m_effects
private

Definition at line 84 of file qmmpaudioengine_p.h.

DecoderFactory* QmmpAudioEngine::m_factory = nullptr
private

Definition at line 83 of file qmmpaudioengine_p.h.

std::atomic_bool QmmpAudioEngine::m_finish
private

Definition at line 88 of file qmmpaudioengine_p.h.

QHash<Decoder*, InputSource*> QmmpAudioEngine::m_inputs
private

Definition at line 96 of file qmmpaudioengine_p.h.

QmmpAudioEngine* QmmpAudioEngine::m_instance
staticprivate

Definition at line 100 of file qmmpaudioengine_p.h.

bool QmmpAudioEngine::m_next = false
private

Definition at line 98 of file qmmpaudioengine_p.h.

OutputWriter* QmmpAudioEngine::m_output = nullptr
private

Definition at line 86 of file qmmpaudioengine_p.h.

quint64 QmmpAudioEngine::m_output_at = 0
private

Definition at line 91 of file qmmpaudioengine_p.h.

unsigned char* QmmpAudioEngine::m_output_buf = nullptr
private

Definition at line 93 of file qmmpaudioengine_p.h.

quint64 QmmpAudioEngine::m_output_size = 0
private

Definition at line 91 of file qmmpaudioengine_p.h.

ReplayGain* QmmpAudioEngine::m_replayGain = nullptr
private

Definition at line 101 of file qmmpaudioengine_p.h.

uint QmmpAudioEngine::m_sample_size = 0
private

Definition at line 89 of file qmmpaudioengine_p.h.

qint64 QmmpAudioEngine::m_seekTime = -1
private

Definition at line 90 of file qmmpaudioengine_p.h.

QmmpSettings* QmmpAudioEngine::m_settings = nullptr
private

Definition at line 102 of file qmmpaudioengine_p.h.

QSharedPointer<TrackInfo> QmmpAudioEngine::m_trackInfo
private

Definition at line 99 of file qmmpaudioengine_p.h.

std::atomic_bool QmmpAudioEngine::m_user_stop
private

Definition at line 88 of file qmmpaudioengine_p.h.


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