From 05881204465655b9657891cddb195e37dd5dd020 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 11 Jun 2008 13:03:47 +0000 Subject: enabled command line plugins support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@401 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/CMakeLists.txt | 1 + src/plugins/CommandLineOptions/CMakeLists.txt | 2 + .../CommandLineOptions/CommandLineOptions.pro | 2 + .../IncDecVolumeOption/CMakeLists.txt | 48 +++++++++++++++++ .../IncDecVolumeOption/IncDecVolumeOption.pro | 26 ++++++++++ .../IncDecVolumeOption/incdecvolumeoption.cpp | 60 ++++++++++++++++++++++ .../IncDecVolumeOption/incdecvolumeoption.h | 25 +++++++++ .../Misc/CommandLineOptions/IncDecVolumeOption.pro | 2 - .../IncDecVolumeOption/IncDecVolumeOption.pro | 26 ---------- .../IncDecVolumeOption/incdecvolumeoption.cpp | 53 ------------------- .../IncDecVolumeOption/incdecvolumeoption.h | 23 --------- src/plugins/plugins.pro | 9 ++-- 12 files changed, 169 insertions(+), 108 deletions(-) create mode 100644 src/plugins/CommandLineOptions/CMakeLists.txt create mode 100644 src/plugins/CommandLineOptions/CommandLineOptions.pro create mode 100644 src/plugins/CommandLineOptions/IncDecVolumeOption/CMakeLists.txt create mode 100644 src/plugins/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro create mode 100644 src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp create mode 100644 src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h delete mode 100644 src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro delete mode 100644 src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro delete mode 100644 src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp delete mode 100644 src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h (limited to 'src/plugins') diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index cd8782700..a72b8e51b 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -4,3 +4,4 @@ add_subdirectory(Visual) add_subdirectory(Effect) add_subdirectory(General) add_subdirectory(PlaylistFormats) +add_subdirectory(CommandLineOptions) \ No newline at end of file diff --git a/src/plugins/CommandLineOptions/CMakeLists.txt b/src/plugins/CommandLineOptions/CMakeLists.txt new file mode 100644 index 000000000..594671745 --- /dev/null +++ b/src/plugins/CommandLineOptions/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(IncDecVolumeOption) + diff --git a/src/plugins/CommandLineOptions/CommandLineOptions.pro b/src/plugins/CommandLineOptions/CommandLineOptions.pro new file mode 100644 index 000000000..1832a0166 --- /dev/null +++ b/src/plugins/CommandLineOptions/CommandLineOptions.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = IncDecVolumeOption diff --git a/src/plugins/CommandLineOptions/IncDecVolumeOption/CMakeLists.txt b/src/plugins/CommandLineOptions/IncDecVolumeOption/CMakeLists.txt new file mode 100644 index 000000000..542f4fab2 --- /dev/null +++ b/src/plugins/CommandLineOptions/IncDecVolumeOption/CMakeLists.txt @@ -0,0 +1,48 @@ +project(libincdecvolumeoption) + +cmake_minimum_required(VERSION 2.4.0) + +if(COMMAND cmake_policy) +cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + + +# qt plugin +ADD_DEFINITIONS( -Wall ) +ADD_DEFINITIONS(${QT_DEFINITIONS}) +ADD_DEFINITIONS(-DQT_PLUGIN) +ADD_DEFINITIONS(-DQT_NO_DEBUG) +ADD_DEFINITIONS(-DQT_SHARED) +ADD_DEFINITIONS(-DQT_THREAD) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +SET(QT_INCLUDES + ${QT_INCLUDES} + ${CMAKE_CURRENT_BINARY_DIR}/../../../ +) + +# libqmmpui +include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../) +link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui) + +SET(libincdecvolumeoption_SRCS + incdecvolumeoption.cpp +) + +SET(libincdecvolumeoption_MOC_HDRS + incdecvolumeoption.h +) + +QT4_ADD_RESOURCES(libincdecvolumeoption_RCC_SRCS ${libincdecvolumeoption_RCCS}) + +QT4_WRAP_CPP(libincdecvolumeoption_MOC_SRCS ${libincdecvolumeoption_MOC_HDRS}) + + +# Don't forget to include output directory, otherwise +# the UI file won't be wrapped! +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +ADD_LIBRARY(incdecvolumeoption SHARED ${libincdecvolumeoption_SRCS} ${libincdecvolumeoption_MOC_SRCS}) +target_link_libraries(incdecvolumeoption ${QT_LIBRARIES} -lqmmpui) +install(TARGETS incdecvolumeoption DESTINATION ${LIB_DIR}/qmmp/CommandLineOptions) diff --git a/src/plugins/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro b/src/plugins/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro new file mode 100644 index 000000000..8b98e14db --- /dev/null +++ b/src/plugins/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro @@ -0,0 +1,26 @@ +include(../../plugins.pri) + +CONFIG += release \ +warn_on \ +plugin \ + lib + +TARGET =$$PLUGINS_PREFIX/CommandLineOptions/incdecvolumeoption +QMAKE_CLEAN =$$PLUGINS_PREFIX/CommandLineOptions/libincdecvolumeoption.so + +TEMPLATE = lib +QMAKE_LIBDIR += ../../../../lib + +isEmpty(LIB_DIR){ + LIB_DIR = /lib +} +target.path = $$LIB_DIR/qmmp/CommandLineOptions +INSTALLS += target + +INCLUDEPATH += ../../../../src + +LIBS += -lqmmpui + +HEADERS += incdecvolumeoption.h + +SOURCES += incdecvolumeoption.cpp diff --git a/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp new file mode 100644 index 000000000..93a7dd21d --- /dev/null +++ b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp @@ -0,0 +1,60 @@ +#include +#include + +#include "incdecvolumeoption.h" + +bool IncDecVolumeCommandLineOption::identify(const QString & str) const +{ + if ( + str == QString("--volume-inc") || + str == QString("--volume-dec") + ) + { + return TRUE; + } + + return FALSE; +} + +const QString IncDecVolumeCommandLineOption::helpString() const +{ + return QString( + "--volume-inc " + tr("Increase volume with step 5")+"\n" + "--volume-dec " + tr("Decrease volume with step 5")+"\n" + ); +} + + +void IncDecVolumeCommandLineOption::executeCommand(const QString& opt_str, CommandLineManager* clm, Control* ctrl) +{ + int volume = qMax(clm->leftVolume(), clm->rightVolume()); + int balance = 0; + int left = clm->leftVolume(); + int right = clm->rightVolume(); + if (left || right) + balance = (right - left)*100/volume; + + if (opt_str == "--volume-inc") + { + volume = qMin (100, volume + 5); + } + else if (opt_str == "--volume-dec") + { + volume = qMax (0, volume - 5); + } + ctrl->setVolume(volume-qMax(balance,0)*volume/100, + volume+qMin(balance,0)*volume/100); +} + +const QString IncDecVolumeCommandLineOption::name() const +{ + return "IncDecVolumeCommandLineOption"; +} + +QTranslator *IncDecVolumeCommandLineOption::createTranslator(QObject *parent) +{ + Q_UNUSED(parent); + return 0; +} + +Q_EXPORT_PLUGIN(IncDecVolumeCommandLineOption) diff --git a/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h new file mode 100644 index 000000000..cc27260f6 --- /dev/null +++ b/src/plugins/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h @@ -0,0 +1,25 @@ +#ifndef IncDecVolumeCommandLineOption_H +#define IncDecVolumeCommandLineOption_H + +#include +#include + +#include +#include +#include + + +class IncDecVolumeCommandLineOption : public QObject, public CommandLineOption +{ +Q_OBJECT +Q_INTERFACES(CommandLineOption) +public: + virtual bool identify(const QString& opt_str)const; + virtual const QString name()const; + virtual const QString helpString()const; + virtual void executeCommand(const QString& opt_str, CommandLineManager* clm, Control* ctrl); + virtual QTranslator *createTranslator(QObject *parent); +}; + +#endif + diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro deleted file mode 100644 index 1832a0166..000000000 --- a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro +++ /dev/null @@ -1,2 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = IncDecVolumeOption diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro deleted file mode 100644 index fdcef5e38..000000000 --- a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro +++ /dev/null @@ -1,26 +0,0 @@ -include(../../../../../qmmp.pri) - -QMMPSRCROOT = ../../../../ - -INCLUDEPATH += $$QMMPSRCROOT/ui \ - $$QMMPSRCROOT/qmmp \ - $$QMMPSRCROOT - -HEADERS += incdecvolumeoption.h \ - $$QMMPSRCROOT/ui/mainwindow.h \ - $$QMMPSRCROOT/qmmp/soundcore.h - -SOURCES += incdecvolumeoption.cpp \ - $$QMMPSRCROOT/qmmp/soundcore.cpp \ - $$QMMPSRCROOT/ui/mainwindow.cpp - -DESTDIR = ../ -QMAKE_CLEAN = ../libincdecvolumeoption.so - - - -CONFIG += release warn_on plugin - -TEMPLATE = lib - - diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp deleted file mode 100644 index 4bd35a910..000000000 --- a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include - -#include "incdecvolumeoption.h" -#include -#include "mainwindow.h" - -bool IncDecVolumeCommandLineOption::identify(const QString & str) const -{ - if( - str == QString("--volume-inc") || - str == QString("--volume-dec") - ) - { - return TRUE; - } - - return FALSE; -} - -const QString IncDecVolumeCommandLineOption::helpString() const -{ - return QString( - "--volume-inc Increase volume with step 10\n" - "--volume-dec Decrease volume with step 10\n" - ); -} - - -void IncDecVolumeCommandLineOption::executeCommand(const QString & option_string, MainWindow *mw) -{ - if (option_string == "--volume-inc") - { - int l = 0; - int r = 0; - mw->soundCore()->volume(&l,&r); - mw->soundCore()->setVolume(l+10,r+10); - } - else if (option_string == "--volume-dec") - { - int l = 0; - int r = 0; - mw->soundCore()->volume(&l,&r); - mw->soundCore()->setVolume(l-10,r-10); - } -} - -const QString IncDecVolumeCommandLineOption::name() const -{ - return "IncDecVolumeCommandLineOption"; -} - -Q_EXPORT_PLUGIN(IncDecVolumeCommandLineOption) - diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h deleted file mode 100644 index 6fbf3d24a..000000000 --- a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef IncDecVolumeCommandLineOption_H -#define IncDecVolumeCommandLineOption_H - -#include - -#include -#include - -class MainWindow; - -class IncDecVolumeCommandLineOption : public QObject, public CommandLineOption -{ -Q_OBJECT -Q_INTERFACES(CommandLineOption) -public: - virtual bool identify(const QString& opt_str)const; - virtual const QString name()const; - virtual const QString helpString()const; - virtual void executeCommand(const QString& opt_str,MainWindow* mw); -}; - -#endif - diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index ef6fc9e12..b14a5fc4b 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -1,8 +1,9 @@ SUBDIRS += Input \ Output \ - Visual \ - Effect \ - General \ - PlaylistFormats + Visual \ + Effect \ + General \ + PlaylistFormats \ + CommandLineOptions TEMPLATE = subdirs -- cgit v1.2.3-13-gbd6f