aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--README3
-rw-r--r--README.RUS3
-rw-r--r--src/plugins/General/CMakeLists.txt6
-rw-r--r--src/plugins/General/trackchange/CMakeLists.txt64
5 files changed, 75 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c096d8a45..0e1af7d90 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -179,6 +179,7 @@ PRINT_SUMMARY ("Cover manager ....................." USE_COVER 1)
PRINT_SUMMARY ("KDE4 notifications support ........" USE_KDENOTIFY 1)
PRINT_SUMMARY ("Audio converter ..................." USE_CONVERTER TAGLIB_FOUND)
PRINT_SUMMARY ("Stream browser ...................." USE_SB 1)
+PRINT_SUMMARY ("Track change ......................" USE_TRACKCHANGE 1)
MESSAGE("")
MESSAGE("File Dialogs:")
diff --git a/README b/README
index 866eac96a..60b303d13 100644
--- a/README
+++ b/README
@@ -61,6 +61,7 @@ Other features:
- audio converter
- stream browser
- audio formats conveter
+- external programs execution on track change
Requirements:
- Qt >= 4.6
@@ -117,7 +118,7 @@ Available options:
- USE_SRC, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO (effects);
- USE_ANALYZER, USE_PROJECTM (visualization);
- USE_MPRIS, USE_SCROBBLER, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HAL, USE_HOTKEY, USE_FILEOPS, USE_COVER,
- USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_SB (general plugins);
+ USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_SB, USE_TRACKCHANGE (general plugins);
- USE_QMMP_DIALOG (file dialog);
- USE_ENCA (automatic charset detection);
- USE_SKINNED (standard skinned UI);
diff --git a/README.RUS b/README.RUS
index 453a4862a..3f485ba9d 100644
--- a/README.RUS
+++ b/README.RUS
@@ -60,6 +60,7 @@ Qmmp - Qt-based multimedia player
- поддержка CDDB
- обзор потоков
- преобразователь аудио-форматов
+- запуск внешних команд при смене трека
Требования:
- Qt >= 4.6
@@ -114,7 +115,7 @@ cmake ./ -DUSE_JACK:BOOL=FALSE
- USE_SRC, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO (эффекты);
- USE_ANALYZER, USE_PROJECTM (визуализация);
- USE_MPRIS, USE_SCROBBLER, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HAL, USE_HOTKEY, USE_FILEOPS, USE_COVER,
- USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER (модули общего назначения);
+ USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_TRACKCHANGE (модули общего назначения);
- USE_QMMP_DIALOG (файловый диалог);
- USE_ENCA (автоматическое определение кодировки);
- USE_SKINNED (стандартный пользовательский интерфейс)
diff --git a/src/plugins/General/CMakeLists.txt b/src/plugins/General/CMakeLists.txt
index 0fa3afc15..cb338687d 100644
--- a/src/plugins/General/CMakeLists.txt
+++ b/src/plugins/General/CMakeLists.txt
@@ -11,6 +11,8 @@ SET(USE_COVER TRUE CACHE BOOL "enable/disable cover manager plugin")
SET(USE_KDENOTIFY TRUE CACHE BOOL "enable/disable kde notification plugin")
SET(USE_CONVERTER TRUE CACHE BOOL "enable/disable audio converter plugin")
SET(USE_SB TRUE CACHE BOOL "enable/disable stream browser plugin")
+SET(USE_TRACKCHANGE TRUE CACHE BOOL "enable/disable track change plugin")
+
IF(USE_MPRIS)
add_subdirectory(mpris)
@@ -63,3 +65,7 @@ ENDIF(USE_CONVERTER AND TAGLIB_FOUND)
IF(USE_SB)
add_subdirectory(streambrowser)
ENDIF(USE_SB)
+
+IF(USE_TRACKCHANGE)
+add_subdirectory(trackchange)
+ENDIF(USE_TRACKCHANGE)
diff --git a/src/plugins/General/trackchange/CMakeLists.txt b/src/plugins/General/trackchange/CMakeLists.txt
new file mode 100644
index 000000000..99bdbe495
--- /dev/null
+++ b/src/plugins/General/trackchange/CMakeLists.txt
@@ -0,0 +1,64 @@
+project(libtrackchange)
+
+cmake_minimum_required(VERSION 2.4.7)
+
+include(${QT_USE_FILE})
+
+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_SOURCE_DIR}/../../../
+)
+
+# libqmmpui & libqmmp
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
+
+SET(libtrackchange_SRCS
+ trackchange.cpp
+ trackchangefactory.cpp
+ settingsdialog.cpp
+)
+
+SET(libtrackchange_MOC_HDRS
+ trackchangefactory.h
+ trackchange.h
+ settingsdialog.h
+)
+
+SET(libtrackchange_RCCS
+ translations/translations.qrc)
+
+QT4_ADD_RESOURCES(libtrackchange_RCC_SRCS ${libtrackchange_RCCS})
+
+QT4_WRAP_CPP(libtrackchange_MOC_SRCS ${libtrackchange_MOC_HDRS})
+
+# user interface
+SET(libtrackchange_UIS
+ settingsdialog.ui
+)
+
+QT4_WRAP_UI(libtrackchange_UIS_H ${libtrackchange_UIS})
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+ADD_LIBRARY(trackchange MODULE ${libtrackchange_SRCS} ${libtrackchange_MOC_SRCS} ${libtrackchange_UIS_H} ${libtrackchange_RCC_SRCS})
+add_dependencies(trackchange qmmpui)
+target_link_libraries(trackchange ${QT_LIBRARIES} -lqmmpui -lqmmp)
+install(TARGETS trackchange DESTINATION ${LIB_DIR}/qmmp/General)