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 | Protected Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Output Class Referenceabstract

The Output class provides the base interface class of audio outputs. More...

#include <output.h>

Public Member Functions

 Output ()=default
 
virtual ~Output ()=default
 
virtual bool initialize (quint32 freq, ChannelMap map, Qmmp::AudioFormat format)=0
 
virtual qint64 latency ()=0
 
virtual qint64 writeAudio (unsigned char *data, qint64 maxSize)=0
 
virtual void drain ()=0
 
virtual void reset ()=0
 
virtual void suspend ()
 
virtual void resume ()
 
virtual void setTrackInfo (const TrackInfo &info)
 
AudioParameters audioParameters () const
 
quint32 sampleRate () const
 
int channels () const
 
const ChannelMapchannelMap () const
 
Qmmp::AudioFormat format () const
 
int sampleSize () const
 

Static Public Member Functions

static Outputcreate ()
 
static QList< OutputFactory * > factories ()
 
static QString file (const OutputFactory *factory)
 
static void setCurrentFactory (const OutputFactory *factory)
 
static OutputFactorycurrentFactory ()
 

Protected Member Functions

void configure (quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
 

Static Private Member Functions

static void loadPlugins ()
 

Private Attributes

quint32 m_frequency = 0
 
ChannelMap m_chan_map
 
Qmmp::AudioFormat m_format = Qmmp::PCM_UNKNOWN
 
int m_sample_size = 0
 

Static Private Attributes

static QList< QmmpPluginCache * > * m_cache
 

Detailed Description

The Output class provides the base interface class of audio outputs.

Author
Brad Hughes bhugh.nosp@m.es@t.nosp@m.rollt.nosp@m.ech..nosp@m.com
Ilya Kotov forko.nosp@m.tov0.nosp@m.2@ya..nosp@m.ru

Definition at line 39 of file output.h.

Constructor & Destructor Documentation

Output::Output ( )
default

Object contsructor.

virtual Output::~Output ( )
virtualdefault

Destructor.

Member Function Documentation

AudioParameters Output::audioParameters ( ) const

Returns selected audio parameters.

const ChannelMap& Output::channelMap ( ) const

Returns required channel map.

int Output::channels ( ) const

Returns number of channels.

void Output::configure ( quint32  freq,
ChannelMap  map,
Qmmp::AudioFormat  format 
)
protected

Use this function inside initialize() reimplementation to tell about accepted audio parameters.

Parameters
freqSample rate.
mapMap of channels.
formatAudio format.
static Output* Output::create ( )
static

Creates selected output.

Returns
Output subclass object.
static OutputFactory* Output::currentFactory ( )
static

Returns selected output factory.

Referenced by MusicPluginItem::MusicPluginItem().

virtual void Output::drain ( )
pure virtual

Writes all remaining plugin's internal data to audio output device. Subclass should reimplement this function.

static QList<OutputFactory*> Output::factories ( )
static

Returns a list of output factories.

Referenced by MusicPluginWidget::loadPluginsInfo().

static QString Output::file ( const OutputFactory factory)
static

Returns plugin file path.

Parameters
factoryOutput plugin factory.

Referenced by MusicPluginWidget::loadPluginsInfo().

Qmmp::AudioFormat Output::format ( ) const

Returns selected audio format.

virtual bool Output::initialize ( quint32  freq,
ChannelMap  map,
Qmmp::AudioFormat  format 
)
pure virtual

Prepares object for usage and setups required audio parameters. Subclass should reimplement this function.

Parameters
freqSample rate.
mapMap of channels.
formatAudio format
Returns
initialization result (true - success, false - failure)
virtual qint64 Output::latency ( )
pure virtual

Returns output interface latency in milliseconds.

static void Output::loadPlugins ( )
staticprivate
virtual void Output::reset ( )
pure virtual

Drops all plugin's internal data, resets audio device Subclass should reimplement this function.

virtual void Output::resume ( )
virtual

Resumes processing audio data.

quint32 Output::sampleRate ( ) const

Returns samplerate.

int Output::sampleSize ( ) const

Returns sample size in bytes.

static void Output::setCurrentFactory ( const OutputFactory factory)
static

Selects current output factory.

Referenced by MusicPluginItem::setEnabled().

virtual void Output::setTrackInfo ( const TrackInfo info)
virtual

Sets track information for output. Default implementation does nothing. Reimplement this function to receive metadata.

virtual void Output::suspend ( )
virtual

Stops processing audio data, preserving buffered audio data.

virtual qint64 Output::writeAudio ( unsigned char *  data,
qint64  maxSize 
)
pure virtual

Requests playback to pause. If it was paused already, playback should resume. Subclasses that reimplement this function must call the base implementation.

Writes up to maxSize bytes from data to the output interface device. Returns the number of bytes written, or -1 if an error occurred. Subclass should reimplement this function.

Member Data Documentation

QList<QmmpPluginCache*>* Output::m_cache
staticprivate

Definition at line 161 of file output.h.

ChannelMap Output::m_chan_map
private

Definition at line 156 of file output.h.

Qmmp::AudioFormat Output::m_format = Qmmp::PCM_UNKNOWN
private

Definition at line 157 of file output.h.

quint32 Output::m_frequency = 0
private

Definition at line 155 of file output.h.

int Output::m_sample_size = 0
private

Definition at line 158 of file output.h.


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