21 #ifndef QMMPAUDIOENGINE_P_H 22 #define QMMPAUDIOENGINE_P_H 26 #include <QSharedPointer> 27 #include "abstractengine.h" 28 #include "audioparameters.h" 50 QmmpAudioEngine(QObject *parent);
55 void seek(qint64 time);
62 static QmmpAudioEngine *instance();
66 void updateReplayGainSettings();
67 void updateAudioSettings();
68 void updateEqSettings();
74 void flush(
bool =
false);
76 qint64 produceSound(
unsigned char *data, qint64 size, quint32 brate);
78 OutputWriter *createOutput();
79 void prepareEffects(
Decoder *d);
82 QList <Effect*> m_effects;
83 QList <Effect*> m_blockedEffects;
84 OutputWriter *m_output;
86 bool m_done, m_finish, m_user_stop;
87 uint m_bks, m_sample_size;
89 quint64 m_output_at, m_output_size;
91 unsigned char *m_output_buf;
93 QQueue <Decoder*> m_decoders;
94 QHash <Decoder*, InputSource*> m_inputs;
98 QSharedPointer<QMap<Qmmp::MetaData, QString> > m_metaData;
99 static QmmpAudioEngine *m_instance;
100 ReplayGain *m_replayGain;
103 Dithering *m_dithering;
106 #endif // QMMPAUDIOENGINE_P_H The AbstractEngine class provides the internal audio converter.
Definition: audioconverter.h:30
The QmmpSettings class provides access to global settings.
Definition: qmmpsettings.h:35
The Effect class provides the base interface class of audio effects.
Definition: effect.h:35
The AudioParameters class keeps information about audio settings.
Definition: audioparameters.h:31
virtual void seek(qint64 time)=0
The StateHandler class allows one to track information about playback progress.
Definition: statehandler.h:34
Effect plugin interface (effect factory).
Definition: effectfactory.h:63
Input plugin interface (decoder factory).
Definition: decoderfactory.h:67
The Decoder class provides the base interface class of audio decoders.
Definition: decoder.h:26
virtual void setMuted(bool muted)=0
The AbstractEngine class provides the base interface class of audio audio engines.
Definition: abstractengine.h:38
virtual bool enqueue(InputSource *source)=0