From f7279d492d14494cf049337d22e739aab59f616f Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 12 Apr 2014 19:45:27 +0000 Subject: mplayer plugin: added extra options (Closes issue 354) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4243 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Engines/mplayer/mplayerengine.cpp | 2 + src/plugins/Engines/mplayer/settingsdialog.cpp | 55 +++++----- src/plugins/Engines/mplayer/settingsdialog.h | 7 +- src/plugins/Engines/mplayer/settingsdialog.ui | 135 ++++++++++++++----------- 4 files changed, 110 insertions(+), 89 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/Engines/mplayer/mplayerengine.cpp b/src/plugins/Engines/mplayer/mplayerengine.cpp index 12feaf73f..217db97de 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.cpp +++ b/src/plugins/Engines/mplayer/mplayerengine.cpp @@ -151,6 +151,8 @@ bool MplayerEngine::initialize() if (settings.value("autosync", false).toBool()) m_args << "-autosync" << QString("%1").arg(settings.value("autosync_factor", 100).toInt()); + m_args << settings.value("cmd_options").toString().split(" ", QString::SkipEmptyParts); + if(m_source->offset() > 0) m_args << "-ss" << QString("%1").arg(m_source->offset()/1000); m_args << m_source->url(); diff --git a/src/plugins/Engines/mplayer/settingsdialog.cpp b/src/plugins/Engines/mplayer/settingsdialog.cpp index 1cc9299b9..c50d1e905 100644 --- a/src/plugins/Engines/mplayer/settingsdialog.cpp +++ b/src/plugins/Engines/mplayer/settingsdialog.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2014 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -18,41 +18,39 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include - #include - #include "settingsdialog.h" SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + m_ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose); - ui.videoComboBox->addItem(tr("default")); - ui.videoComboBox->addItem("xv"); - ui.videoComboBox->addItem("x11"); - ui.videoComboBox->addItem("gl"); - ui.videoComboBox->addItem("gl2"); - ui.videoComboBox->addItem("dga"); - ui.videoComboBox->addItem("sdl"); - ui.videoComboBox->addItem("null"); - ui.audioComboBox->addItem(tr("default")); - ui.audioComboBox->addItem("oss"); - ui.audioComboBox->addItem("alsa"); - ui.audioComboBox->addItem("pulse"); - ui.audioComboBox->addItem("jack"); - ui.audioComboBox->addItem("nas"); - ui.audioComboBox->addItem("null"); + m_ui.videoComboBox->addItem(tr("default")); + m_ui.videoComboBox->addItem("xv"); + m_ui.videoComboBox->addItem("x11"); + m_ui.videoComboBox->addItem("gl"); + m_ui.videoComboBox->addItem("gl2"); + m_ui.videoComboBox->addItem("dga"); + m_ui.videoComboBox->addItem("sdl"); + m_ui.videoComboBox->addItem("null"); + m_ui.audioComboBox->addItem(tr("default")); + m_ui.audioComboBox->addItem("oss"); + m_ui.audioComboBox->addItem("alsa"); + m_ui.audioComboBox->addItem("pulse"); + m_ui.audioComboBox->addItem("jack"); + m_ui.audioComboBox->addItem("nas"); + m_ui.audioComboBox->addItem("null"); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("mplayer"); - ui.audioComboBox->setEditText(settings.value("ao","default").toString().replace("default", tr("default"))); - ui.videoComboBox->setEditText(settings.value("vo","default").toString().replace("default", tr("default"))); - ui.autoSyncCheckBox->setChecked(settings.value("autosync", false).toBool()); - ui.syncFactorSpinBox->setValue(settings.value("autosync_factor", 100).toInt()); + m_ui.audioComboBox->setEditText(settings.value("ao","default").toString().replace("default", tr("default"))); + m_ui.videoComboBox->setEditText(settings.value("vo","default").toString().replace("default", tr("default"))); + m_ui.autoSyncCheckBox->setChecked(settings.value("autosync", false).toBool()); + m_ui.syncFactorSpinBox->setValue(settings.value("autosync_factor", 100).toInt()); + m_ui.cmdOptionsLineEdit->setText(settings.value("cmd_options").toString()); settings.endGroup(); } - SettingsDialog::~SettingsDialog() {} @@ -60,10 +58,11 @@ void SettingsDialog::accept() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("mplayer"); - settings.setValue("ao",ui.audioComboBox->currentText().replace(tr("default"), "default")); - settings.setValue("vo",ui.videoComboBox->currentText().replace(tr("default"), "default")); - settings.setValue("autosync",ui.autoSyncCheckBox->isChecked()); - settings.setValue("autosync_factor",ui.syncFactorSpinBox->value()); + settings.setValue("ao",m_ui.audioComboBox->currentText().replace(tr("default"), "default")); + settings.setValue("vo",m_ui.videoComboBox->currentText().replace(tr("default"), "default")); + settings.setValue("autosync",m_ui.autoSyncCheckBox->isChecked()); + settings.setValue("autosync_factor",m_ui.syncFactorSpinBox->value()); + settings.setValue("cmd_options",m_ui.cmdOptionsLineEdit->text()); settings.endGroup(); QDialog::accept(); } diff --git a/src/plugins/Engines/mplayer/settingsdialog.h b/src/plugins/Engines/mplayer/settingsdialog.h index c8aa7e640..28fb03407 100644 --- a/src/plugins/Engines/mplayer/settingsdialog.h +++ b/src/plugins/Engines/mplayer/settingsdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2014 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -21,11 +21,10 @@ #define SETTINGSDIALOG_H #include - #include "ui_settingsdialog.h" /** - @author Ilya Kotov + @author Ilya Kotov */ class SettingsDialog : public QDialog { @@ -40,7 +39,7 @@ public slots: virtual void accept(); private: - Ui::SettingsDialog ui; + Ui::SettingsDialog m_ui; }; #endif diff --git a/src/plugins/Engines/mplayer/settingsdialog.ui b/src/plugins/Engines/mplayer/settingsdialog.ui index 86dbfe8f6..58d5e7dc6 100644 --- a/src/plugins/Engines/mplayer/settingsdialog.ui +++ b/src/plugins/Engines/mplayer/settingsdialog.ui @@ -6,14 +6,14 @@ 0 0 - 259 - 143 + 355 + 210 MPlayer Settings - + 6 @@ -23,62 +23,83 @@ 6 - - - - Video: + + + + QFormLayout::AllNonFixedFieldsGrow - - - - - - true - - - - - - - Audio: - - - - - - - true - - - - - - - Audio/video auto synchronization - - - true - - - - - - - Synchronization factor: - - - - - - - 0 - - - 999 - - + + + + Video: + + + + + + + true + + + + + + + Audio: + + + + + + + true + + + + + + + Audio/video auto synchronization + + + true + + + + + + + Synchronization factor: + + + + + + + 0 + + + 999 + + + + + + + Extra options: + + + + + + + Extra command line options + + + + - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok -- cgit v1.2.3-13-gbd6f