diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-06-25 19:55:30 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-06-25 19:55:30 +0000 |
| commit | 0ae40fd97183b0d6564a25373610b2d99ba17cf8 (patch) | |
| tree | c9733cec8bbfbba4bd05d7b7006856bf2653fdab /src/plugins | |
| parent | 0ce1335dc6a20ffce8095ca5f98c1f2d25346d9a (diff) | |
| download | qmmp-0ae40fd97183b0d6564a25373610b2d99ba17cf8.tar.gz qmmp-0ae40fd97183b0d6564a25373610b2d99ba17cf8.tar.bz2 qmmp-0ae40fd97183b0d6564a25373610b2d99ba17cf8.zip | |
ported oss plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@976 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
18 files changed, 409 insertions, 525 deletions
diff --git a/src/plugins/Output/CMakeLists.txt b/src/plugins/Output/CMakeLists.txt index bd3d114dc..f2199ca04 100644 --- a/src/plugins/Output/CMakeLists.txt +++ b/src/plugins/Output/CMakeLists.txt @@ -12,7 +12,7 @@ IF(USE_JACK) ENDIF(USE_JACK) IF(USE_OSS) -#add_subdirectory(oss) +add_subdirectory(oss) ENDIF(USE_OSS) IF(USE_PULSE) diff --git a/src/plugins/Output/Output.pro b/src/plugins/Output/Output.pro index d60a6e64c..73453c7b4 100644 --- a/src/plugins/Output/Output.pro +++ b/src/plugins/Output/Output.pro @@ -12,7 +12,7 @@ contains(CONFIG, JACK_PLUGIN){ } contains(CONFIG, OSS_PLUGIN){ -# SUBDIRS += oss + SUBDIRS += oss message(**********************) message(* OSS plugin enabled *) message(**********************) @@ -31,4 +31,4 @@ contains(CONFIG, ALSA_PLUGIN){ message(* ALSA plugin enabled *) message(***********************) } -}
\ No newline at end of file +} diff --git a/src/plugins/Output/oss/CMakeLists.txt b/src/plugins/Output/oss/CMakeLists.txt index eb4369dfb..45c743fdf 100644 --- a/src/plugins/Output/oss/CMakeLists.txt +++ b/src/plugins/Output/oss/CMakeLists.txt @@ -6,6 +6,8 @@ if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) +INCLUDE(CheckIncludeFile) + # qt plugin ADD_DEFINITIONS( -Wall ) ADD_DEFINITIONS(${QT_DEFINITIONS}) @@ -20,6 +22,11 @@ SET(QT_INCLUDES ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/../../../ ) +#OSS +CHECK_INCLUDE_FILE(sys/soundcard.h SYS_SOUNDCARD_H_FOUND) +IF(SYS_SOUNDCARD_H_FOUND) +ADD_DEFINITIONS(-DHAVE_SYS_SOUNDCARD_H) +ENDIF(SYS_SOUNDCARD_H_FOUND) # libqmmp include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) diff --git a/src/plugins/Output/oss/oss.pro b/src/plugins/Output/oss/oss.pro index a2f636fd3..7dcb6273a 100644 --- a/src/plugins/Output/oss/oss.pro +++ b/src/plugins/Output/oss/oss.pro @@ -21,6 +21,8 @@ warn_on \ thread \ plugin +DEFINES += HAVE_SYS_SOUNDCARD_H + TEMPLATE = lib LIBS += -lqmmp diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 49a4c5793..5f3bbfa10 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -20,6 +20,7 @@ ***************************************************************************/ #include <QApplication> + extern "C" { #ifdef HAVE_SYS_SOUNDCARD_H @@ -42,45 +43,6 @@ extern "C" #include <iostream> -//extern Q_EXPORT QApplication* qApp; - - -void OutputOSS::stop() -{ - m_userStop = TRUE; -} - -void OutputOSS::status() -{ - long ct = (m_totalWritten - latency()) / m_bps; - - if (ct < 0) - ct = 0; - - if (ct > m_currentSeconds) - { - m_currentSeconds = ct; - dispatch(m_currentSeconds, m_totalWritten, m_rate, - m_frequency, m_precision, m_channels); - } -} - -long OutputOSS::written() -{ - return m_totalWritten; -} - -void OutputOSS::seek(long pos) -{ - /*recycler()->mutex()->lock(); - recycler()->clear(); - recycler()->mutex()->unlock();*/ - - m_totalWritten = (pos * m_bps); - m_currentSeconds = -1; -} - - #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -94,37 +56,41 @@ void OutputOSS::seek(long pos) # include <sys/soundcard.h> #endif +OutputOSS *OutputOSS::m_instance = 0; +VolumeControlOSS *VolumeControlOSS::m_instance = 0; + +OutputOSS* OutputOSS::instance() +{ + return m_instance; +} OutputOSS::OutputOSS(QObject * parent) - : Output(parent), m_inited(FALSE), m_pause(FALSE), m_play(FALSE), - m_userStop(FALSE), - m_totalWritten(0), m_currentSeconds(-1), - m_bps(1), m_frequency(-1), m_channels(-1), m_precision(-1), + : Output(parent), m_inited(FALSE), + m_frequency(-1), m_channels(-1), m_precision(-1), do_select(TRUE), - m_audio_fd(-1), m_mixer_fd(-1) + m_audio_fd(-1) { - QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); - m_master = true; + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_audio_device = settings.value("OSS/device","/dev/dsp").toString(); - m_mixer_device = settings.value("OSS/mixer_device","/dev/mixer").toString(); - openMixer(); + m_instance = this; +} + +int OutputOSS::audio_fd() +{ + return m_audio_fd; } OutputOSS::~OutputOSS() { + m_instance = 0; if (m_audio_fd > 0) { close(m_audio_fd); m_audio_fd = -1; } - if (m_mixer_fd > 0) - { - close(m_mixer_fd); - m_mixer_fd = -1; - } } -void OutputOSS::configure(long freq, int chan, int prec, int rate) +void OutputOSS::configure(quint32 freq, int chan, int prec) { // we need to configure if (freq != m_frequency || chan != m_channels || prec != m_precision) @@ -133,12 +99,22 @@ void OutputOSS::configure(long freq, int chan, int prec, int rate) // we have already configured, but are changing settings... // reset the device resetDSP(); - +#if SOUND_VERSION >= 0x040000 + if (VolumeControlOSS::instance()) + { + long cmd; + int v; + cmd = SNDCTL_DSP_SETPLAYVOL; + v = (VolumeControlOSS::instance()->right() << 8) | VolumeControlOSS::instance()->left(); + if(m_audio_fd > 1) + ioctl(m_audio_fd, cmd, &v); + } +#endif m_frequency = freq; m_channels = chan; m_precision = prec; - m_bps = freq * chan * (prec / 8); + //m_bps = freq * chan * (prec / 8); int p; switch (prec) @@ -160,22 +136,20 @@ void OutputOSS::configure(long freq, int chan, int prec, int rate) if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) == -1) qWarning("OutputOSS: can't set audio format"); - /*if(ioctl(m_audio_fd, SNDCTL_DSP_SAMPLESIZE, &prec) == -1) - qDebug("OutputOSS: can't set audio format");*/ - /*int stereo = (chan > 1) ? 1 : 0; - ioctl(m_audio_fd, SNDCTL_DSP_STEREO, &stereo);*/ - if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &m_channels) == -1) - qWarning("OutputOSS: can't set number of channels"); - if (chan != m_channels) - qWarning("OutputOSS: can't set number of channels, using %d instead", m_channels); + if(ioctl(m_audio_fd, SNDCTL_DSP_SAMPLESIZE, &prec) == -1) + qDebug("OutputOSS: can't set audio format"); + int stereo = (chan > 1) ? 1 : 0; + ioctl(m_audio_fd, SNDCTL_DSP_STEREO, &stereo); + /*if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &m_channels) == -1) + qWarning("OutputOSS: can't set number of channels");*/ + /*if (chan != m_channels) + qWarning("OutputOSS: can't set number of channels, using %d instead", m_channels);*/ if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq) == -1) qWarning("OutputOSS: can't set audio format"); } - - m_rate = rate; + Output::configure(freq, chan, prec); } - void OutputOSS::reset() { if (m_audio_fd > 0) @@ -188,8 +162,7 @@ void OutputOSS::reset() if (m_audio_fd < 0) { - error(QString("OSSOutput: failed to open output device '%1'"). - arg(m_audio_device)); + qWarning("OSSOutput: failed to open output device '%s'", qPrintable(m_audio_device)); return; } @@ -207,39 +180,6 @@ void OutputOSS::reset() tv.tv_sec = 0l; tv.tv_usec = 50000l; do_select = (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0); - - if (m_audio_fd > 0) - { - close(m_mixer_fd); - m_mixer_fd = -1; - } - openMixer(); -} - -void OutputOSS::openMixer() -{ -#if SOUND_VERSION < 0x040000 - if (m_mixer_fd != -1) - return; - - if ((m_mixer_fd = open(m_mixer_device.toAscii(), O_RDWR)) == -1) - { - return; - } - if (m_audio_fd < 0) - { - error(QString("OSSOutput: failed to open mixer device '%1'"). - arg(m_mixer_device)); - return; - } -#endif -} - -void OutputOSS::pause() -{ - m_pause = !m_pause; - OutputState::Type state = m_pause ? OutputState::Paused: OutputState::Playing; - dispatch(state); } void OutputOSS::post() @@ -273,20 +213,9 @@ void OutputOSS::resetDSP() bool OutputOSS::initialize() { - m_inited = m_pause = m_play = m_userStop = FALSE; - - reset(); if (m_audio_fd < 0) return FALSE; - if (m_mixer_fd < 0) - return FALSE; - - - m_currentSeconds = -1; - m_totalWritten = 0; - stat = OutputState::Stopped; - m_inited = TRUE; return TRUE; } @@ -296,12 +225,6 @@ void OutputOSS::uninitialize() if (!m_inited) return; m_inited = FALSE; - m_pause = FALSE; - m_play = FALSE; - m_userStop = FALSE; - m_totalWritten = 0; - m_currentSeconds = -1; - m_bps = -1; m_frequency = -1; m_channels = -1; m_precision = -1; @@ -311,153 +234,112 @@ void OutputOSS::uninitialize() close(m_audio_fd); m_audio_fd = -1; } - if (m_audio_fd > 0) - { - close(m_mixer_fd); - m_mixer_fd = -1; - } - qDebug("OutputOSS: uninitialize"); - dispatch(OutputState::Stopped); } -long OutputOSS::latency() +qint64 OutputOSS::latency() { - ulong used = 0; - - if (! m_pause) - { - if (ioctl(m_audio_fd, SNDCTL_DSP_GETODELAY, &used) == -1) - used = 0; - } + //ulong used = 0; - return used; + /*if (ioctl(m_audio_fd, SNDCTL_DSP_GETODELAY, &used) == -1) + used = 0;*/ + return 0; } -void OutputOSS::run() +qint64 OutputOSS::writeAudio(unsigned char *data, qint64 maxSize) { - mutex()->lock(); - - if (! m_inited) - { - mutex()->unlock(); - - return; - } - - m_play = TRUE; - - mutex()->unlock(); - fd_set afd; struct timeval tv; - Buffer *b = 0; - bool done = FALSE; - unsigned long n = 0, m = 0, l = 0; - - dispatch(OutputState::Playing); - + qint64 m = -1, l; FD_ZERO(&afd); - - while (! done) - { - mutex()->lock(); - - recycler()->mutex()->lock(); - - done = m_userStop; - - while (! done && (recycler()->empty() || m_pause)) - { - post(); - - mutex()->unlock(); - - recycler()->cond()->wakeOne(); - recycler()->cond()->wait(recycler()->mutex()); - - mutex()->lock(); - done = m_userStop; - status(); - } - - if (! b) - { - b = recycler()->next(); - if (b->rate) - m_rate = b->rate; - } - - recycler()->cond()->wakeOne(); - recycler()->mutex()->unlock(); - - FD_ZERO(&afd); - FD_SET(m_audio_fd, &afd); - // nice long poll timeout - tv.tv_sec = 5l; - tv.tv_usec = 0l; - - if (b && - (! do_select || (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0 && + FD_SET(m_audio_fd, &afd); + // nice long poll timeout + tv.tv_sec = 5l; + tv.tv_usec = 0l; + if ((! do_select || (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0 && FD_ISSET(m_audio_fd, &afd)))) + { + l = qMin(int(2048), int(maxSize)); + if (l > 0) { - l = qMin(int(2048), int(b->nbytes - n)); - if (l > 0) - { - mutex()->unlock(); - m = write(m_audio_fd, b->data + n, l); - mutex()->lock(); - n += m; - - status(); - dispatchVisual(b, m_totalWritten, m_channels, m_precision); - } - else - { - // force buffer change - n = b->nbytes; - m = 0; - } - } - - m_totalWritten += m; - - if (n == b->nbytes) - { - recycler()->mutex()->lock(); - recycler()->done(); - recycler()->mutex()->unlock(); - - b = 0; - n = 0; + m = write(m_audio_fd, data, l); } - - mutex()->unlock(); } + post(); + return m; +} - mutex()->lock(); +/***** MIXER *****/ - if (! m_userStop) - sync(); - resetDSP(); - - m_play = FALSE; +VolumeControlOSS *VolumeControlOSS::instance() +{ + return m_instance; +} - dispatch(OutputState::Stopped); - mutex()->unlock(); +VolumeControlOSS::VolumeControlOSS(QObject *parent) : VolumeControl(parent) +{ + m_master = TRUE; + m_mixer_fd = -1; + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); +#if SOUND_VERSION < 0x040000 + m_mixer_device = settings.value("OSS/mixer_device","/dev/mixer").toString(); + openMixer(); +#else + m_mixer_device = settings.value("OSS/device","/dev/dsp").toString(); + int mixer_fd = -1; + bool to_close = FALSE; + if (OutputOSS::instance() && OutputOSS::instance()->audio_fd() > 0) + mixer_fd = OutputOSS::instance()->audio_fd(); + else + { + mixer_fd = open(m_audio_device.toAscii(), O_WRONLY, 0); + to_close = TRUE; + } + if(mixer_fd > 0) + { + int v; + long cmd = SNDCTL_DSP_GETPLAYVOL; + if (ioctl(mixer_fd, cmd, &v) == -1) + v = 0; + m_left = (v & 0xFF00) >> 8; + m_right = (v & 0x00FF); + } + if(to_close) + { + close((mixer_fd); + mixer_fd = -1; + } +#endif + m_instance = this; } +VolumeControlOSS::~VolumeControlOSS() +{ +#if SOUND_VERSION < 0x040000 + if (m_mixer_fd > 0) + { + close(m_mixer_fd); + m_mixer_fd = -1; + } +#endif + if (m_mixer_fd > 0 && !OutputOSS::instance()) + { + close(m_mixer_fd); + m_mixer_fd = -1; + } + m_instance = 0; +} -void OutputOSS::setVolume(int l, int r) +void VolumeControlOSS::setVolume(int l, int r) { int v, devs; long cmd; #if SOUND_VERSION < 0x040000 ioctl(m_mixer_fd, SOUND_MIXER_READ_DEVMASK, &devs); - if ((devs & SOUND_MASK_PCM) && (m_master == false)) + if ((devs & SOUND_MASK_PCM) && !m_master) cmd = SOUND_MIXER_WRITE_PCM; - else if ((devs & SOUND_MASK_VOLUME) && (m_master == true)) + else if ((devs & SOUND_MASK_VOLUME) && m_master) cmd = SOUND_MIXER_WRITE_VOLUME; else { @@ -469,22 +351,25 @@ void OutputOSS::setVolume(int l, int r) #else cmd = SNDCTL_DSP_SETPLAYVOL; v = (r << 8) | l; - ioctl(m_audio_fd, cmd, &v); + if (OutputOSS::instance() && OutputOSS::instance()->audio_fd() > 0) + ioctl(OutputOSS::instance()->audio_fd(), cmd, &v); + m_left = l; + m_right = r; #endif } -void OutputOSS::volume(int *ll,int *rr) +void VolumeControlOSS::volume(int *ll,int *rr) { *ll = 0; *rr = 0; int cmd; - int v, devs; + int v, devs = 0; #if SOUND_VERSION < 0x040000 ioctl(m_mixer_fd, SOUND_MIXER_READ_DEVMASK, &devs); - if ((devs & SOUND_MASK_PCM) && (m_master == 0)) + if ((devs & SOUND_MASK_PCM) && !m_master) cmd = SOUND_MIXER_READ_PCM; - else if ((devs & SOUND_MASK_VOLUME) && (m_master == 1)) + else if ((devs & SOUND_MASK_VOLUME) && m_master) cmd = SOUND_MIXER_READ_VOLUME; else return; @@ -498,10 +383,26 @@ void OutputOSS::volume(int *ll,int *rr) *ll = (*ll < 0) ? 0 : *ll; *rr = (*rr < 0) ? 0 : *rr; #else - cmd = SNDCTL_DSP_GETPLAYVOL; + /*cmd = SNDCTL_DSP_GETPLAYVOL; if (ioctl(m_audio_fd, cmd, &v) == -1) v = 0; *rr = (v & 0xFF00) >> 8; - *ll = (v & 0x00FF); + *ll = (v & 0x00FF);*/ + *rr = m_left; + *ll = m_right; +#endif +} + +void VolumeControlOSS::openMixer() +{ +#if SOUND_VERSION < 0x040000 + if (m_mixer_fd != -1) + return; + m_mixer_fd = open(m_mixer_device.toAscii(), O_RDWR); + if (m_mixer_fd < 0) + { + qWarning("VolumeControlOSS: unable to open mixer device '%s'", qPrintable(m_mixer_device)); + return; + } #endif } diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h index c38bbc68b..a83cba51e 100644 --- a/src/plugins/Output/oss/outputoss.h +++ b/src/plugins/Output/oss/outputoss.h @@ -26,7 +26,7 @@ class OutputOSS; #include <qmmp/output.h> -#include <QObject> +#include <qmmp/volumecontrol.h> class OutputOSS : public Output { @@ -35,40 +35,63 @@ public: OutputOSS(QObject * parent = 0); virtual ~OutputOSS(); - bool isInitialized() const { return m_inited; } bool initialize(); - void uninitialize(); - void configure(long, int, int, int); - void stop(); - void pause(); - long written(); - long latency(); - void seek(long); - void setVolume(int l, int r); - void volume(int* l,int* r); + void configure(quint32, int, int); + qint64 latency(); + int audio_fd(); + static OutputOSS* instance(); + +private: + //output api + qint64 writeAudio(unsigned char *data, qint64 maxSize); + void flush(){}; private: // thread run function - void run(); + //void run(); // helper functions void reset(); void resetDSP(); - void status(); void post(); void sync(); - void openMixer(); + //void openMixer(); + void uninitialize(); QString m_audio_device, m_mixer_device; - bool m_inited, m_pause, m_play, m_userStop, m_master; - long m_totalWritten, m_currentSeconds, m_bps; - int stat; - int m_rate, m_frequency, m_channels, m_precision; + bool m_inited; + quint32 m_frequency; + int m_channels, m_precision; bool do_select; - int m_audio_fd, m_mixer_fd; + int m_audio_fd; long bl, br; + static OutputOSS *m_instance; +}; + +class VolumeControlOSS : public VolumeControl +{ + Q_OBJECT +public: + VolumeControlOSS(QObject *parent = 0); + ~VolumeControlOSS(); + + void setVolume(int left, int right); + static VolumeControlOSS* instance(); + +protected: + void volume(int *left, int *right); + +private: + //oss mixer + QString m_audio_device; + void openMixer(); + int m_mixer_fd; + QString m_mixer_device; + bool m_master; + //int m_left, m_right; + static VolumeControlOSS *m_instance; }; diff --git a/src/plugins/Output/oss/outputossfactory.cpp b/src/plugins/Output/oss/outputossfactory.cpp index d47f6607a..7e2e258f6 100644 --- a/src/plugins/Output/oss/outputossfactory.cpp +++ b/src/plugins/Output/oss/outputossfactory.cpp @@ -25,13 +25,7 @@ #include "outputossfactory.h" -const QString& OutputOSSFactory::name() const -{ - static QString name(tr("OSS Plugin")); - return name; -} - -Output* OutputOSSFactory::create(QObject* parent,bool) +Output* OutputOSSFactory::create(QObject* parent) { return new OutputOSS(parent); } @@ -39,12 +33,18 @@ Output* OutputOSSFactory::create(QObject* parent,bool) const OutputProperties OutputOSSFactory::properties() const { OutputProperties properties; - properties.name = name(); + properties.name = tr("OSS Plugin"); + properties.shortName = "oss"; properties.hasAbout = TRUE; properties.hasSettings = TRUE; return properties; } +VolumeControl *OutputOSSFactory::createVolumeControl(QObject *parent) +{ + return new VolumeControlOSS(parent); +} + void OutputOSSFactory::showSettings(QWidget* parent) { SettingsDialog *s = new SettingsDialog(parent); @@ -62,7 +62,7 @@ QMessageBox::about (parent, tr("About OSS Output Plugin"), QTranslator *OutputOSSFactory::createTranslator(QObject *parent) { QTranslator *translator = new QTranslator(parent); - QString locale = Qmmp::systemLanguageID(); + QString locale = QLocale::system().name(); translator->load(QString(":/oss_plugin_") + locale); return translator; } diff --git a/src/plugins/Output/oss/outputossfactory.h b/src/plugins/Output/oss/outputossfactory.h index 9ef168282..22e9f35a5 100644 --- a/src/plugins/Output/oss/outputossfactory.h +++ b/src/plugins/Output/oss/outputossfactory.h @@ -37,12 +37,12 @@ Q_OBJECT Q_INTERFACES(OutputFactory); public: - const QString& name() const; - Output* create(QObject* parent,bool); + const OutputProperties properties() const; + Output* create(QObject* parent); + VolumeControl *createVolumeControl(QObject *parent); void showSettings(QWidget* parent); void showAbout(QWidget *parent); QTranslator *createTranslator(QObject *parent); - const OutputProperties properties() const; }; #endif diff --git a/src/plugins/Output/oss/settingsdialog.cpp b/src/plugins/Output/oss/settingsdialog.cpp index 8d75b06eb..f475fd299 100644 --- a/src/plugins/Output/oss/settingsdialog.cpp +++ b/src/plugins/Output/oss/settingsdialog.cpp @@ -19,7 +19,7 @@ ***************************************************************************/ #include <QSettings> #include <QDir> - +#include <qmmp/qmmp.h> #include "settingsdialog.h" SettingsDialog::SettingsDialog ( QWidget *parent ) @@ -28,7 +28,7 @@ SettingsDialog::SettingsDialog ( QWidget *parent ) ui.setupUi ( this ); setAttribute ( Qt::WA_DeleteOnClose ); connect(ui.okButton, SIGNAL(clicked()), SLOT(writeSettings())); - QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("OSS"); ui.lineEdit->insert(settings.value("device","/dev/dsp").toString()); ui.lineEdit_2->insert(settings.value("mixer_device","/dev/mixer").toString()); @@ -47,7 +47,7 @@ SettingsDialog::~SettingsDialog() void SettingsDialog::writeSettings() { qDebug("SettingsDialog (OSS):: writeSettings()"); - QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("OSS"); settings.setValue("device", ui.lineEdit->text()); settings.setValue("buffer_time",ui.bufferSpinBox->value()); diff --git a/src/plugins/Output/oss/settingsdialog.ui b/src/plugins/Output/oss/settingsdialog.ui index ce1c40894..73e4db393 100644 --- a/src/plugins/Output/oss/settingsdialog.ui +++ b/src/plugins/Output/oss/settingsdialog.ui @@ -1,70 +1,50 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>SettingsDialog</class> - <widget class="QDialog" name="SettingsDialog" > - <property name="geometry" > + <widget class="QDialog" name="SettingsDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>422</width> - <height>334</height> + <height>223</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>OSS Plugin Settings</string> </property> - <layout class="QGridLayout" > - <property name="leftMargin" > + <layout class="QGridLayout"> + <property name="margin"> <number>9</number> </property> - <property name="topMargin" > - <number>9</number> - </property> - <property name="rightMargin" > - <number>9</number> - </property> - <property name="bottomMargin" > - <number>9</number> - </property> - <property name="horizontalSpacing" > - <number>6</number> - </property> - <property name="verticalSpacing" > + <property name="spacing"> <number>6</number> </property> - <item row="0" column="0" colspan="3" > - <widget class="QTabWidget" name="tabWidget" > - <property name="currentIndex" > + <item row="0" column="0" colspan="3"> + <widget class="QTabWidget" name="tabWidget"> + <property name="currentIndex"> <number>0</number> </property> - <widget class="QWidget" name="tab" > - <attribute name="title" > + <widget class="QWidget" name="tab"> + <attribute name="title"> <string>Device Settings</string> </attribute> - <layout class="QVBoxLayout" > - <property name="spacing" > + <layout class="QVBoxLayout"> + <property name="spacing"> <number>6</number> </property> - <property name="leftMargin" > - <number>9</number> - </property> - <property name="topMargin" > - <number>9</number> - </property> - <property name="rightMargin" > - <number>9</number> - </property> - <property name="bottomMargin" > + <property name="margin"> <number>9</number> </property> <item> - <widget class="QGroupBox" name="groupBox" > - <property name="title" > + <widget class="QGroupBox" name="groupBox"> + <property name="title"> <string>Audio device</string> </property> - <layout class="QVBoxLayout" > + <layout class="QVBoxLayout"> <item> - <widget class="QLineEdit" name="lineEdit" > - <property name="text" > + <widget class="QLineEdit" name="lineEdit"> + <property name="text"> <string/> </property> </widget> @@ -73,32 +53,20 @@ </widget> </item> <item> - <widget class="QGroupBox" name="groupBox_2" > - <property name="title" > + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> <string>Mixer device</string> </property> - <layout class="QGridLayout" > - <property name="leftMargin" > - <number>9</number> - </property> - <property name="topMargin" > - <number>9</number> - </property> - <property name="rightMargin" > + <layout class="QGridLayout"> + <property name="margin"> <number>9</number> </property> - <property name="bottomMargin" > - <number>9</number> - </property> - <property name="horizontalSpacing" > + <property name="spacing"> <number>6</number> </property> - <property name="verticalSpacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QLineEdit" name="lineEdit_2" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLineEdit" name="lineEdit_2"> + <property name="text"> <string/> </property> </widget> @@ -108,56 +76,35 @@ </item> </layout> </widget> - <widget class="QWidget" name="tab_2" > - <attribute name="title" > + <widget class="QWidget" name="tab_2"> + <attribute name="title"> <string>Advanced Settings</string> </attribute> - <layout class="QVBoxLayout" > - <property name="spacing" > + <layout class="QVBoxLayout"> + <property name="spacing"> <number>6</number> </property> - <property name="leftMargin" > - <number>9</number> - </property> - <property name="topMargin" > - <number>9</number> - </property> - <property name="rightMargin" > - <number>9</number> - </property> - <property name="bottomMargin" > + <property name="margin"> <number>9</number> </property> <item> - <widget class="QGroupBox" name="groupBox_3" > - <property name="title" > + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> <string>Soundcard</string> </property> - <layout class="QGridLayout" > - <property name="leftMargin" > - <number>9</number> - </property> - <property name="topMargin" > - <number>9</number> - </property> - <property name="rightMargin" > + <layout class="QGridLayout"> + <property name="margin"> <number>9</number> </property> - <property name="bottomMargin" > - <number>9</number> - </property> - <property name="horizontalSpacing" > - <number>6</number> - </property> - <property name="verticalSpacing" > + <property name="spacing"> <number>6</number> </property> - <item row="3" column="1" > + <item row="3" column="1"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="sizeHint" > + <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>111</height> @@ -165,12 +112,12 @@ </property> </spacer> </item> - <item row="0" column="2" > + <item row="0" column="2"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" > + <property name="sizeHint" stdset="0"> <size> <width>188</width> <height>20</height> @@ -178,58 +125,58 @@ </property> </spacer> </item> - <item row="1" column="1" > - <widget class="QSpinBox" name="periodSpinBox" > - <property name="minimum" > + <item row="1" column="1"> + <widget class="QSpinBox" name="periodSpinBox"> + <property name="minimum"> <number>20</number> </property> - <property name="maximum" > + <property name="maximum"> <number>5000</number> </property> - <property name="value" > + <property name="value"> <number>100</number> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QSpinBox" name="bufferSpinBox" > - <property name="minimum" > + <item row="0" column="1"> + <widget class="QSpinBox" name="bufferSpinBox"> + <property name="minimum"> <number>200</number> </property> - <property name="maximum" > + <property name="maximum"> <number>10000</number> </property> - <property name="value" > + <property name="value"> <number>500</number> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QLabel" name="label" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> <string>Buffer time (ms):</string> </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLabel" name="label_2" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> <string>Period time (ms):</string> </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </property> </widget> </item> - <item row="1" column="2" > + <item row="1" column="2"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" > + <property name="sizeHint" stdset="0"> <size> <width>188</width> <height>20</height> @@ -237,16 +184,16 @@ </property> </spacer> </item> - <item row="2" column="1" > - <widget class="QCheckBox" name="checkBox" > - <property name="text" > + <item row="2" column="1"> + <widget class="QCheckBox" name="checkBox"> + <property name="text"> <string/> </property> </widget> </item> - <item row="2" column="0" > - <widget class="QLabel" name="label_3" > - <property name="text" > + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> <string>PCM over Master</string> </property> </widget> @@ -258,12 +205,12 @@ </widget> </widget> </item> - <item row="1" column="0" > + <item row="1" column="0"> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" > + <property name="sizeHint" stdset="0"> <size> <width>191</width> <height>20</height> @@ -271,16 +218,16 @@ </property> </spacer> </item> - <item row="1" column="2" > - <widget class="QPushButton" name="cancelButton" > - <property name="text" > + <item row="1" column="2"> + <widget class="QPushButton" name="cancelButton"> + <property name="text"> <string>Cancel</string> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QPushButton" name="okButton" > - <property name="text" > + <item row="1" column="1"> + <widget class="QPushButton" name="okButton"> + <property name="text"> <string>OK</string> </property> </widget> @@ -295,11 +242,11 @@ <receiver>SettingsDialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>338</x> <y>283</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>164</x> <y>294</y> </hint> diff --git a/src/plugins/Output/oss/translations/oss_plugin_cs.ts b/src/plugins/Output/oss/translations/oss_plugin_cs.ts index cbab2729a..d6f8d30b8 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_cs.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_cs.ts @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="cs"> +<!DOCTYPE TS> +<TS version="2.0" language="cs"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>Modul OSS</translation> </message> @@ -31,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Nastavení pluginu OSS</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Nastavení zařízení</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Zvukové zařízení</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Ovládání hlasitosti</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Pokročilá nastavení</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Zvuková karta</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Velikost bufferu (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Délka periody (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>PCM přes Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Zrušit</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>OK</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_de.ts b/src/plugins/Output/oss/translations/oss_plugin_de.ts index 65a62daaa..800c529e1 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_de.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_de.ts @@ -4,7 +4,7 @@ <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>OSS-Modul</translation> </message> @@ -32,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Einstellungen OSS-Modul</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Geräte-Einstellungen</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Audiogerät</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Mixergerät</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Erweiterte Einstellungen</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Soundkarte</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Pufferzeit (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Zeitraster (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>PCM over Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>OK</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_it.ts b/src/plugins/Output/oss/translations/oss_plugin_it.ts index 3655267f7..169ffdc82 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_it.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_it.ts @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="it"> -<defaultcodec></defaultcodec> +<!DOCTYPE TS> +<TS version="2.0" language="it"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>Modulo OSS</translation> </message> @@ -32,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Impostazioni del modulo OSS</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Impostazioni del device</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Device audio</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Device Mixer</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Impostazioni avanzate</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Scheda audio</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Tempo di buffering (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Periodo (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>PCM su Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Annulla</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>OK</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_pl.ts b/src/plugins/Output/oss/translations/oss_plugin_pl.ts index 8d061aeb7..9ef58bfb3 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_pl.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_pl.ts @@ -4,7 +4,7 @@ <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>Wtyczka OSS</translation> </message> @@ -32,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Ustawienia wtyczki OSS</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Ustawienia urządzenia</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Urządzenie dźwiękowe</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Urządzenie miksujące</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Zaawansowane ustawienia</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Karta dźwiękowa</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Czas bufora (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Długość cyklu (ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>Użyj PCM nad Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Anuluj</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>OK</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_ru.ts b/src/plugins/Output/oss/translations/oss_plugin_ru.ts index 15dc5e105..ad15053b9 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_ru.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_ru.ts @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="ru"> +<!DOCTYPE TS> +<TS version="2.0" language="ru"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>Модуль OSS</translation> </message> @@ -31,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Настройки модуля OSS</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Настройки устройства</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Аудиоустройство</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Устройство микшера</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Дополнительные настройки</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Звуковая карта</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Время буфера (мс):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Время периода (мс):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>PCM вместо Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Отмена</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation type="unfinished"></translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_uk_UA.ts b/src/plugins/Output/oss/translations/oss_plugin_uk_UA.ts index 79495a1f5..0f04a8d54 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_uk_UA.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_uk_UA.ts @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="uk"> -<defaultcodec></defaultcodec> +<!DOCTYPE TS> +<TS version="2.0" language="uk"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>Модуль OSS</translation> </message> @@ -32,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>Налаштування модуля OSS</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>Налаштування пристрою</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>Пристрій звуку</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>Пристрій мікшеру</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>Додаткові налаштування</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>Звукова карта</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>Час буферу (мс):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>Час периоду (мс):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation>PCM замість Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>Відміна</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>Застосувати</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_zh_CN.ts b/src/plugins/Output/oss/translations/oss_plugin_zh_CN.ts index 8409ab670..680808ea2 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_zh_CN.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_zh_CN.ts @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="zh_CN"> +<!DOCTYPE TS> +<TS version="2.0" language="zh_CN"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>OSS 插件</translation> </message> @@ -31,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>OSS 插件设置</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>设备设置</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>音频设备</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>混频设备</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>高级设置</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>声卡</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>缓冲时间(ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>周期时间(ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation type="unfinished">PCM over Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>取消</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>确定</translation> </message> diff --git a/src/plugins/Output/oss/translations/oss_plugin_zh_TW.ts b/src/plugins/Output/oss/translations/oss_plugin_zh_TW.ts index 48b6bef0f..e58e233ef 100644 --- a/src/plugins/Output/oss/translations/oss_plugin_zh_TW.ts +++ b/src/plugins/Output/oss/translations/oss_plugin_zh_TW.ts @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="zh_TW"> +<!DOCTYPE TS> +<TS version="2.0" language="zh_TW"> <context> <name>OutputOSSFactory</name> <message> - <location filename="../outputossfactory.cpp" line="30"/> + <location filename="../outputossfactory.cpp" line="36"/> <source>OSS Plugin</source> <translation>OSS 插件</translation> </message> @@ -31,57 +32,57 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../settingsdialog.ui" line="13"/> + <location filename="../settingsdialog.ui" line="14"/> <source>OSS Plugin Settings</source> <translation>OSS 插件設定</translation> </message> <message> - <location filename="../settingsdialog.ui" line="41"/> + <location filename="../settingsdialog.ui" line="30"/> <source>Device Settings</source> <translation>裝置設定</translation> </message> <message> - <location filename="../settingsdialog.ui" line="62"/> + <location filename="../settingsdialog.ui" line="42"/> <source>Audio device</source> <translation>聲訊裝置</translation> </message> <message> - <location filename="../settingsdialog.ui" line="78"/> + <location filename="../settingsdialog.ui" line="58"/> <source>Mixer device</source> <translation>混頻裝置</translation> </message> <message> - <location filename="../settingsdialog.ui" line="113"/> + <location filename="../settingsdialog.ui" line="81"/> <source>Advanced Settings</source> <translation>進階設定</translation> </message> <message> - <location filename="../settingsdialog.ui" line="134"/> + <location filename="../settingsdialog.ui" line="93"/> <source>Soundcard</source> <translation>音效卡</translation> </message> <message> - <location filename="../settingsdialog.ui" line="210"/> + <location filename="../settingsdialog.ui" line="157"/> <source>Buffer time (ms):</source> <translation>緩衝時間(ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="220"/> + <location filename="../settingsdialog.ui" line="167"/> <source>Period time (ms):</source> <translation>周期時間(ms):</translation> </message> <message> - <location filename="../settingsdialog.ui" line="250"/> + <location filename="../settingsdialog.ui" line="197"/> <source>PCM over Master</source> <translation type="unfinished">PCM over Master</translation> </message> <message> - <location filename="../settingsdialog.ui" line="277"/> + <location filename="../settingsdialog.ui" line="224"/> <source>Cancel</source> <translation>取消</translation> </message> <message> - <location filename="../settingsdialog.ui" line="284"/> + <location filename="../settingsdialog.ui" line="231"/> <source>OK</source> <translation>確定</translation> </message> |
