diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-12-07 18:45:38 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-12-07 18:45:38 +0000 |
| commit | 8bded202c7204ad3f655030078c74c17fd121122 (patch) | |
| tree | 56d9172d0f856e0ce4abac146c14238194cd74a7 /src/plugins/Output | |
| parent | cbb5689bad0caedcedd9d0366adde5d06b87989e (diff) | |
| download | qmmp-8bded202c7204ad3f655030078c74c17fd121122.tar.gz qmmp-8bded202c7204ad3f655030078c74c17fd121122.tar.bz2 qmmp-8bded202c7204ad3f655030078c74c17fd121122.zip | |
output api refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3034 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output')
28 files changed, 63 insertions, 82 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 9900bba51..c9ed0eecd 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -19,8 +19,8 @@ ***************************************************************************/ #include <QObject> -#include <QApplication> -#include <QtGlobal> +//#include <QApplication> +//#include <QtGlobal> #include <QDir> #include <QSettings> #include <QTimer> @@ -36,8 +36,7 @@ #include <qmmp/statehandler.h> #include "outputalsa.h" -OutputALSA::OutputALSA(QObject * parent) - : Output(parent), m_inited(false) +OutputALSA::OutputALSA() : m_inited(false) { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); QString dev_name = settings.value("ALSA/device","default").toString(); diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h index 2b3ba4b3b..664c9b30b 100644 --- a/src/plugins/Output/alsa/outputalsa.h +++ b/src/plugins/Output/alsa/outputalsa.h @@ -23,8 +23,6 @@ class OutputALSA; - -#include <QObject> extern "C" { #include <alsa/asoundlib.h> @@ -36,22 +34,20 @@ extern "C" class OutputALSA : public Output { - Q_OBJECT public: - OutputALSA(QObject * parent = 0); + OutputALSA(); ~OutputALSA(); bool initialize(quint32, int, Qmmp::AudioFormat format); - qint64 latency(); - -private: //output api + qint64 latency(); qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(); void reset(); void suspend(); void resume(); +private: // helper functions long alsa_write(unsigned char *data, long size); void uninitialize(); diff --git a/src/plugins/Output/alsa/outputalsafactory.cpp b/src/plugins/Output/alsa/outputalsafactory.cpp index 65b08d25c..f89cf0031 100644 --- a/src/plugins/Output/alsa/outputalsafactory.cpp +++ b/src/plugins/Output/alsa/outputalsafactory.cpp @@ -35,9 +35,9 @@ const OutputProperties OutputALSAFactory::properties() const return properties; } -Output* OutputALSAFactory::create(QObject* parent) +Output* OutputALSAFactory::create() { - return new OutputALSA(parent); + return new OutputALSA(); } Volume *OutputALSAFactory::createVolume() diff --git a/src/plugins/Output/alsa/outputalsafactory.h b/src/plugins/Output/alsa/outputalsafactory.h index 1b33cdf60..b1543104d 100644 --- a/src/plugins/Output/alsa/outputalsafactory.h +++ b/src/plugins/Output/alsa/outputalsafactory.h @@ -38,7 +38,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp index 8845da21b..ffaa480ef 100644 --- a/src/plugins/Output/jack/outputjack.cpp +++ b/src/plugins/Output/jack/outputjack.cpp @@ -33,7 +33,7 @@ #define JACK_TIMEOUT 500000L -OutputJACK::OutputJACK(QObject *parent) : Output(parent), m_inited(false) +OutputJACK::OutputJACK() : Output(), m_inited(false) { JACK_Init(); m_wait_time = 0; diff --git a/src/plugins/Output/jack/outputjack.h b/src/plugins/Output/jack/outputjack.h index c5b691852..7670ec291 100644 --- a/src/plugins/Output/jack/outputjack.h +++ b/src/plugins/Output/jack/outputjack.h @@ -24,7 +24,7 @@ class OutputJACK; #include <qmmp/output.h> -#include <QObject> + extern "C" { #include <jack/jack.h> @@ -34,20 +34,18 @@ extern "C" class OutputJACK : public Output { - Q_OBJECT public: - OutputJACK(QObject * parent = 0); + OutputJACK(); ~OutputJACK(); bool initialize(quint32, int, Qmmp::AudioFormat format); + //output api qint64 latency(); - -private: - //output api qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(){} void reset(); +private: // helper functions void uninitialize(); qint64 m, m_wait_time; diff --git a/src/plugins/Output/jack/outputjackfactory.cpp b/src/plugins/Output/jack/outputjackfactory.cpp index 672f9bac8..4b56a412a 100644 --- a/src/plugins/Output/jack/outputjackfactory.cpp +++ b/src/plugins/Output/jack/outputjackfactory.cpp @@ -34,9 +34,9 @@ const OutputProperties OutputJACKFactory::properties() const return properties; } -Output* OutputJACKFactory::create(QObject* parent) +Output* OutputJACKFactory::create() { - return new OutputJACK(parent); + return new OutputJACK(); } Volume *OutputJACKFactory::createVolume() diff --git a/src/plugins/Output/jack/outputjackfactory.h b/src/plugins/Output/jack/outputjackfactory.h index 090661fb6..2bacf7c1c 100644 --- a/src/plugins/Output/jack/outputjackfactory.h +++ b/src/plugins/Output/jack/outputjackfactory.h @@ -37,7 +37,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/null/outputnull.cpp b/src/plugins/Output/null/outputnull.cpp index 9aa1c149a..a7ea91997 100644 --- a/src/plugins/Output/null/outputnull.cpp +++ b/src/plugins/Output/null/outputnull.cpp @@ -21,7 +21,7 @@ #include "outputnull.h" -OutputNull::OutputNull(QObject * parent) : Output(parent) +OutputNull::OutputNull() : Output() { m_bytes_per_second = 0; } diff --git a/src/plugins/Output/null/outputnull.h b/src/plugins/Output/null/outputnull.h index ceee8455b..06fb05158 100644 --- a/src/plugins/Output/null/outputnull.h +++ b/src/plugins/Output/null/outputnull.h @@ -21,7 +21,6 @@ #ifndef OUTPUTNULL_H #define OUTPUTNULL_H -#include <QObject> #include <qmmp/output.h> /** @@ -29,19 +28,18 @@ */ class OutputNull : public Output { - Q_OBJECT public: - OutputNull(QObject * parent = 0); + OutputNull(); ~OutputNull(); bool initialize(quint32, int, Qmmp::AudioFormat format); - qint64 latency(); - -private: //output api + qint64 latency(); qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(); void reset(); + +private: qint64 m_bytes_per_second; }; diff --git a/src/plugins/Output/null/outputnullfactory.cpp b/src/plugins/Output/null/outputnullfactory.cpp index c9ece723a..7ce8bf407 100644 --- a/src/plugins/Output/null/outputnullfactory.cpp +++ b/src/plugins/Output/null/outputnullfactory.cpp @@ -34,9 +34,9 @@ const OutputProperties OutputNullFactory::properties() const return properties; } -Output* OutputNullFactory::create(QObject* parent) +Output* OutputNullFactory::create() { - return new OutputNull(parent); + return new OutputNull(); } Volume *OutputNullFactory::createVolume() diff --git a/src/plugins/Output/null/outputnullfactory.h b/src/plugins/Output/null/outputnullfactory.h index 001fbac1a..1a00a44f0 100644 --- a/src/plugins/Output/null/outputnullfactory.h +++ b/src/plugins/Output/null/outputnullfactory.h @@ -37,7 +37,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 03d85c7ae..148e18f7a 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -44,7 +44,7 @@ extern "C" #include <qmmp/visual.h> #include "outputoss.h" -OutputOSS::OutputOSS(QObject * parent) : Output(parent), m_audio_fd(-1) +OutputOSS::OutputOSS() : Output(), m_audio_fd(-1) { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_audio_device = settings.value("OSS/device","/dev/dsp").toString(); diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h index d3a02a463..c031dadd2 100644 --- a/src/plugins/Output/oss/outputoss.h +++ b/src/plugins/Output/oss/outputoss.h @@ -23,26 +23,23 @@ #ifndef OUTPUTOSS_H #define OUTPUTOSS_H -class OutputOSS; - #include <qmmp/output.h> #include <qmmp/volume.h> class OutputOSS : public Output { -Q_OBJECT public: - OutputOSS(QObject * parent = 0); + OutputOSS(); virtual ~OutputOSS(); bool initialize(quint32, int, Qmmp::AudioFormat format); - qint64 latency(); - -private: //output api + qint64 latency(); qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(); void reset(); + +private: //oss void post(); void sync(); diff --git a/src/plugins/Output/oss/outputossfactory.cpp b/src/plugins/Output/oss/outputossfactory.cpp index 41b14abaf..7e661d5a7 100644 --- a/src/plugins/Output/oss/outputossfactory.cpp +++ b/src/plugins/Output/oss/outputossfactory.cpp @@ -25,9 +25,9 @@ #include "outputossfactory.h" -Output* OutputOSSFactory::create(QObject* parent) +Output* OutputOSSFactory::create() { - return new OutputOSS(parent); + return new OutputOSS(); } const OutputProperties OutputOSSFactory::properties() const @@ -48,7 +48,7 @@ Volume *OutputOSSFactory::createVolume() void OutputOSSFactory::showSettings(QWidget* parent) { SettingsDialog *s = new SettingsDialog(parent); - s -> show(); + s->show(); } void OutputOSSFactory::showAbout(QWidget *parent) diff --git a/src/plugins/Output/oss/outputossfactory.h b/src/plugins/Output/oss/outputossfactory.h index e8f63f4e6..f3b6f1064 100644 --- a/src/plugins/Output/oss/outputossfactory.h +++ b/src/plugins/Output/oss/outputossfactory.h @@ -37,7 +37,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/oss4/outputoss4.cpp b/src/plugins/Output/oss4/outputoss4.cpp index 9b75a91f6..4f97d0f80 100644 --- a/src/plugins/Output/oss4/outputoss4.cpp +++ b/src/plugins/Output/oss4/outputoss4.cpp @@ -47,7 +47,7 @@ extern "C" OutputOSS4 *OutputOSS4::m_instance = 0; VolumeOSS4 *OutputOSS4::m_vc = 0; -OutputOSS4::OutputOSS4(QObject *parent) : Output(parent) +OutputOSS4::OutputOSS4() : Output() { m_audio_fd = -1; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); @@ -118,7 +118,7 @@ bool OutputOSS4::initialize(quint32 freq, int chan, Qmmp::AudioFormat format) qWarning("OutputOSS4: unsupported audio format"); return false; } - + if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) == -1) qWarning("OutputOSS4: ioctl SNDCTL_DSP_SETFMT failed: %s",strerror(errno)); diff --git a/src/plugins/Output/oss4/outputoss4.h b/src/plugins/Output/oss4/outputoss4.h index 2b0f7ad73..ee8ccf6af 100644 --- a/src/plugins/Output/oss4/outputoss4.h +++ b/src/plugins/Output/oss4/outputoss4.h @@ -34,23 +34,21 @@ class VolumeOSS4; */ class OutputOSS4 : public Output { -Q_OBJECT public: - OutputOSS4(QObject *parent = 0); + OutputOSS4(); virtual ~OutputOSS4(); bool initialize(quint32, int, Qmmp::AudioFormat format); int fd(); - qint64 latency(); - static OutputOSS4 *instance(); - static VolumeOSS4 *m_vc; - -private: //output api qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(); void reset(); + qint64 latency(); + + static OutputOSS4 *instance(); + static VolumeOSS4 *m_vc; private: void post(); diff --git a/src/plugins/Output/oss4/outputoss4factory.cpp b/src/plugins/Output/oss4/outputoss4factory.cpp index 9723cc8be..222988e7a 100644 --- a/src/plugins/Output/oss4/outputoss4factory.cpp +++ b/src/plugins/Output/oss4/outputoss4factory.cpp @@ -25,9 +25,9 @@ #include "outputoss4factory.h" -Output* OutputOSS4Factory::create(QObject* parent) +Output* OutputOSS4Factory::create() { - return new OutputOSS4(parent); + return new OutputOSS4(); } const OutputProperties OutputOSS4Factory::properties() const diff --git a/src/plugins/Output/oss4/outputoss4factory.h b/src/plugins/Output/oss4/outputoss4factory.h index 0c6f2361b..75ea31738 100644 --- a/src/plugins/Output/oss4/outputoss4factory.h +++ b/src/plugins/Output/oss4/outputoss4factory.h @@ -36,7 +36,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp index e591205e6..65a23cd7c 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp @@ -23,8 +23,7 @@ extern "C"{ } #include "outputpulseaudio.h" -OutputPulseAudio::OutputPulseAudio(QObject * parent) - : Output(parent) +OutputPulseAudio::OutputPulseAudio(): Output() { m_connection = 0; } diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h index 54fcba77a..3e6c18ab6 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudio.h +++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h @@ -32,20 +32,18 @@ extern "C"{ */ class OutputPulseAudio : public Output { - Q_OBJECT public: - OutputPulseAudio(QObject * parent = 0); + OutputPulseAudio(); ~OutputPulseAudio(); bool initialize(quint32, int, Qmmp::AudioFormat format); - qint64 latency(); - -private: //output api + qint64 latency(); qint64 writeAudio(unsigned char *data, qint64 maxSize); void drain(); void reset(); +private: // helper functions void uninitialize(); pa_simple *m_connection; diff --git a/src/plugins/Output/pulseaudio/outputpulseaudiofactory.cpp b/src/plugins/Output/pulseaudio/outputpulseaudiofactory.cpp index 7185f3b09..a000f0339 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudiofactory.cpp +++ b/src/plugins/Output/pulseaudio/outputpulseaudiofactory.cpp @@ -34,9 +34,9 @@ const OutputProperties OutputPulseAudioFactory::properties() const return properties; } -Output* OutputPulseAudioFactory::create(QObject* parent) +Output* OutputPulseAudioFactory::create() { - return new OutputPulseAudio(parent); + return new OutputPulseAudio(); } Volume *OutputPulseAudioFactory::createVolume() diff --git a/src/plugins/Output/pulseaudio/outputpulseaudiofactory.h b/src/plugins/Output/pulseaudio/outputpulseaudiofactory.h index 497f1b789..7ab29c3be 100644 --- a/src/plugins/Output/pulseaudio/outputpulseaudiofactory.h +++ b/src/plugins/Output/pulseaudio/outputpulseaudiofactory.h @@ -38,7 +38,7 @@ Q_INTERFACES(OutputFactory) public: const OutputProperties properties() const; - Output* create(QObject* parent); + Output* create(); Volume *createVolume(); void showSettings(QWidget* parent); void showAbout(QWidget *parent); diff --git a/src/plugins/Output/waveout/outputwaveout.cpp b/src/plugins/Output/waveout/outputwaveout.cpp index f4deb58c0..ae9c631c5 100644 --- a/src/plugins/Output/waveout/outputwaveout.cpp +++ b/src/plugins/Output/waveout/outputwaveout.cpp @@ -73,7 +73,7 @@ free_memory (void) GlobalFree (hg);
}
-OutputWaveOut::OutputWaveOut(QObject * parent) : Output(parent)
+OutputWaveOut::OutputWaveOut() : Output()
{
//m_connection = 0;
//m_dev = 0;
@@ -117,10 +117,10 @@ bool OutputWaveOut::initialize(quint32 freq, int chan, Qmmp::AudioFormat format) return false;
case WAVERR_BADFORMAT:
qWarning("OutputWaveOut: This audio format is not supported.");
- return false;
+ return false;
case WAVERR_SYNC:
qWarning("OutputWaveOut: The device is synchronous.");
- return false;
+ return false;
default:
qWarning("OutputWaveOut: Unknown media error.");
return false;
@@ -149,7 +149,7 @@ qint64 OutputWaveOut::writeAudio(unsigned char *data, qint64 len) void* allocptr;
len = qMin(len, (qint64)1024);
-
+
while (PlayedWaveHeadersCount > 0) // free used blocks ...
free_memory ();
@@ -158,7 +158,7 @@ qint64 OutputWaveOut::writeAudio(unsigned char *data, qint64 len) usleep(500);
return 0;
}
-
+
if ((hg2 = GlobalAlloc (GMEM_MOVEABLE, len)) == NULL) // allocate some memory for a copy of the buffer
{
qWarning("OutputWaveOut: GlobalAlloc failed");
diff --git a/src/plugins/Output/waveout/outputwaveout.h b/src/plugins/Output/waveout/outputwaveout.h index eef0b8fca..619653e84 100644 --- a/src/plugins/Output/waveout/outputwaveout.h +++ b/src/plugins/Output/waveout/outputwaveout.h @@ -21,7 +21,6 @@ #ifndef OUTPUTWAVEOUT_H
#define OUTPUTWAVEOUT_H
-#include <QObject>
#include <stdio.h>
#include <windows.h>
#include <qmmp/output.h>
@@ -31,22 +30,21 @@ */
class OutputWaveOut : public Output
{
- Q_OBJECT
public:
- OutputWaveOut(QObject * parent = 0);
+ OutputWaveOut();
~OutputWaveOut();
bool initialize(quint32, int, Qmmp::AudioFormat format);
- qint64 latency();
-private:
//output api
+ qint64 latency();
qint64 writeAudio(unsigned char *data, qint64 size);
void drain();
void suspend();
void resume();
- void reset();
+ void reset();
+private:
// helper functions
void status();
void uninitialize();
diff --git a/src/plugins/Output/waveout/outputwaveoutfactory.cpp b/src/plugins/Output/waveout/outputwaveoutfactory.cpp index e35cd1e12..01fcb4b06 100644 --- a/src/plugins/Output/waveout/outputwaveoutfactory.cpp +++ b/src/plugins/Output/waveout/outputwaveoutfactory.cpp @@ -33,9 +33,9 @@ const OutputProperties OutputWaveOutFactory::properties() const return properties;
}
-Output* OutputWaveOutFactory::create(QObject* parent)
+Output* OutputWaveOutFactory::create()
{
- return new OutputWaveOut(parent);
+ return new OutputWaveOut();
}
Volume *OutputWaveOutFactory::createVolume()
diff --git a/src/plugins/Output/waveout/outputwaveoutfactory.h b/src/plugins/Output/waveout/outputwaveoutfactory.h index c770a4348..86cc1014d 100644 --- a/src/plugins/Output/waveout/outputwaveoutfactory.h +++ b/src/plugins/Output/waveout/outputwaveoutfactory.h @@ -35,7 +35,7 @@ Q_INTERFACES(OutputFactory) public:
const OutputProperties properties() const;
- Output* create(QObject* parent);
+ Output* create();
Volume *createVolume();
void showSettings(QWidget* parent);
void showAbout(QWidget *parent);
|
