Qmmp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
AbstractEngine Class Referenceabstract

#include <abstractengine.h>

Inherits QThread.

Inherited by QmmpAudioEngine.

Public Member Functions

 AbstractEngine (QObject *parent=nullptr)
 
virtual ~AbstractEngine ()
 
virtual bool enqueue (InputSource *source)=0
 
virtual bool play ()=0
 
virtual void seek (qint64 time)=0
 
virtual void stop ()=0
 
virtual void pause ()=0
 

Static Public Member Functions

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 ()
 

Protected Member Functions

QMutex * mutex ()
 

Detailed Description

The AbstractEngine class provides the base interface class of audio audio engines.

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

Constructor & Destructor Documentation

◆ AbstractEngine()

AbstractEngine ( QObject * parent = nullptr)

Object constructor.

Parameters
parentParent object.

◆ ~AbstractEngine()

virtual ~AbstractEngine ( )
virtual

Destructor.

Member Function Documentation

◆ contentTypes()

static QStringList contentTypes ( )
static

Returns a list of the supported mime types.

◆ create()

static AbstractEngine * create ( InputSource * s,
QObject * parent = nullptr )
static

Creates Engine object.

Parameters
sInputSource object.
parentParent object. Returns 0 if the given source is not supported.

◆ enabledFactories()

static QList< EngineFactory * > enabledFactories ( )
static

Returns a list of enabled engine factories.

◆ enqueue()

virtual bool enqueue ( InputSource * source)
pure virtual

Prepares decoder for usage. Subclass should reimplement this function.

◆ factories()

static QList< EngineFactory * > factories ( )
static

Returns a list of engine factories.

◆ file()

static QString file ( const EngineFactory * factory)
static

Returns plugin file path.

Parameters
factoryEngine plugin factory.

◆ findByFilePath()

static EngineFactory * findByFilePath ( const QString & path)
static

Returns EngineFactory pointer which supports file path or 0 if file path is unsupported.

◆ isEnabled() [1/2]

static bool isEnabled ( const AbstractEngine * engine)
static

Returns true if engine is enabled, otherwise returns false

Parameters
engineEngine object.

◆ isEnabled() [2/2]

static bool isEnabled ( const EngineFactory * factory)
static

Returns true if engine is enabled, otherwise returns false This function uses QObject::objectName() function.

Parameters
factoryEngine plugin factory.

◆ mutex()

QMutex * mutex ( )
protected

Returns mutex pointer.

◆ nameFilters()

static QStringList nameFilters ( )
static

Returns a list of file name filters, i.e. "*.mp3 *.mpg".

◆ pause()

virtual void pause ( )
pure virtual

Pauses/resumes playback

◆ play()

virtual bool play ( )
pure virtual

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

◆ protocols()

static QStringList protocols ( )
static

Returns a list of supported protocols (including meta-protocols). This fuction ignores disabled engines.

◆ seek()

virtual void seek ( qint64 time)
pure virtual

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

◆ setEnabled()

static void setEnabled ( EngineFactory * factory,
bool enable = true )
static

Sets whether the engine is enabled.

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

◆ stop()

virtual void stop ( )
pure virtual

Requests playback to stop


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