aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-17 08:51:39 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-17 08:51:39 +0000
commitacb3d9b6c3df6dd3eaedefde0f6d82f51681158a (patch)
tree28e76c1e8db5baddeb75ae97075ecf76977455e7
parent49cdf460a519565b113892095c874c15ef755bc5 (diff)
downloadqmmp-acb3d9b6c3df6dd3eaedefde0f6d82f51681158a.tar.gz
qmmp-acb3d9b6c3df6dd3eaedefde0f6d82f51681158a.tar.bz2
qmmp-acb3d9b6c3df6dd3eaedefde0f6d82f51681158a.zip
added win32 patches
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2537 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--clear_qmake.cmd5
-rw-r--r--src/app/app.pro3
-rw-r--r--src/app/images/56x56/icon.rc1
-rw-r--r--src/app/images/56x56/qmmp.icobin0 -> 16958 bytes
-rw-r--r--src/plugins/Effect/Effect.pro11
-rw-r--r--src/plugins/Effect/bs2b/bs2b.pro28
-rw-r--r--src/plugins/Effect/crossfade/crossfade.pro24
-rw-r--r--src/plugins/Effect/stereo/stereo.pro24
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro28
-rw-r--r--src/plugins/General/General.pro4
-rw-r--r--src/plugins/Input/Input.pro14
-rw-r--r--src/plugins/Input/flac/decoder_flac.cpp4
-rw-r--r--src/plugins/Input/flac/decoderflacfactory.cpp4
-rw-r--r--src/plugins/Input/flac/flac.pro28
-rw-r--r--src/plugins/Input/flac/flacmetadatamodel.cpp4
-rw-r--r--src/plugins/Input/mad/decodermadfactory.cpp2
-rw-r--r--src/plugins/Input/mad/mad.pro33
-rw-r--r--src/plugins/Input/modplug/modplug.pro27
-rw-r--r--src/plugins/Input/mpc/decodermpcfactory.cpp4
-rw-r--r--src/plugins/Input/mpc/mpc.pro30
-rw-r--r--src/plugins/Input/sndfile/sndfile.pro27
-rw-r--r--src/plugins/Input/vorbis/decodervorbisfactory.cpp2
-rw-r--r--src/plugins/Input/vorbis/vorbis.pro31
-rw-r--r--src/plugins/Input/vorbis/vorbismetadatamodel.cpp4
-rw-r--r--src/plugins/Input/wavpack/wavpack.pro29
-rw-r--r--src/plugins/Output/Output.pro3
-rw-r--r--src/plugins/Output/null/null.pro20
-rw-r--r--src/plugins/Output/waveout/outputwaveout.cpp107
-rw-r--r--src/plugins/Output/waveout/outputwaveout.h10
-rw-r--r--src/plugins/Output/waveout/outputwaveoutfactory.cpp2
-rw-r--r--src/plugins/Output/waveout/outputwaveoutfactory.h10
-rw-r--r--src/plugins/PlaylistFormats/m3u/m3u.pro24
-rw-r--r--src/plugins/PlaylistFormats/pls/pls.pro26
-rw-r--r--src/plugins/PlaylistFormats/xspf/xspf.pro28
-rw-r--r--src/plugins/plugins.pro9
-rw-r--r--src/qmmp/equ/iir_fpu.c4
-rw-r--r--src/qmmp/output.cpp4
37 files changed, 392 insertions, 226 deletions
diff --git a/clear_qmake.cmd b/clear_qmake.cmd
index 9593fb85c..321751050 100644
--- a/clear_qmake.cmd
+++ b/clear_qmake.cmd
@@ -1,4 +1,4 @@
-make distclean
+#make distclean
for /r %%B in (*.qm) do del /s /q %%B
for /r %%B in (*.dll) do del /s /q %%B
for /r %%B in (*.a) do del /s /q %%B
@@ -7,7 +7,8 @@ for /r %%B in (Makefile*) do del /s /q %%B
for /d /r %%B in (.build) do rmdir /s /q %%B
for /d /r %%B in (debug) do rmdir /s /q %%B
for /d /r %%B in (release) do rmdir /s /q %%B
-for /r %%B in (*.rc) do del /s /q %%B
+for /r %%B in (*resource.rc) do del /s /q %%B
+for /r %%B in (*.Debug) do del /s /q %%B
del /s /q bin\qmmp.exe
rmdir /s /q bin\plugins
diff --git a/src/app/app.pro b/src/app/app.pro
index 1f5b8f619..cc7597f76 100644
--- a/src/app/app.pro
+++ b/src/app/app.pro
@@ -31,6 +31,9 @@ unix:LIBS += -L../../lib \
win32:LIBS += -L../../bin \
-lqmmp0 \
-lqmmpui0
+
+win32:RC_FILE = images/56x56/icon.rc
+
INCLUDEPATH += ../
RESOURCES = images/images.qrc
TEMPLATE = app
diff --git a/src/app/images/56x56/icon.rc b/src/app/images/56x56/icon.rc
new file mode 100644
index 000000000..4d732e31f
--- /dev/null
+++ b/src/app/images/56x56/icon.rc
@@ -0,0 +1 @@
+IDI_ICON1 ICON DISCARDABLE "qmmp.ico" \ No newline at end of file
diff --git a/src/app/images/56x56/qmmp.ico b/src/app/images/56x56/qmmp.ico
new file mode 100644
index 000000000..540657dcd
--- /dev/null
+++ b/src/app/images/56x56/qmmp.ico
Binary files differ
diff --git a/src/plugins/Effect/Effect.pro b/src/plugins/Effect/Effect.pro
index 22dd33513..336647a4b 100644
--- a/src/plugins/Effect/Effect.pro
+++ b/src/plugins/Effect/Effect.pro
@@ -1,10 +1,15 @@
include (../../../qmmp.pri)
TEMPLATE = subdirs
-SUBDIRS += srconverter crossfade stereo
+SUBDIRS += crossfade stereo
+
contains(CONFIG, BS2B_PLUGIN){
SUBDIRS += bs2b
}
-contains(CONFIG, LADSPA_PLUGIN){
-SUBDIRS += ladspa
+
+unix {
+ SUBDIRS += srconverter
+ contains(CONFIG, LADSPA_PLUGIN){
+ SUBDIRS += ladspa
+ }
}
diff --git a/src/plugins/Effect/bs2b/bs2b.pro b/src/plugins/Effect/bs2b/bs2b.pro
index 4ed7da4dd..14321a4d1 100644
--- a/src/plugins/Effect/bs2b/bs2b.pro
+++ b/src/plugins/Effect/bs2b/bs2b.pro
@@ -9,17 +9,17 @@ SOURCES += bs2bplugin.cpp \
settingsdialog.cpp
TARGET =$$PLUGINS_PREFIX/Effect/bs2b
-QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libbs2b.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
plugin \
link_pkgconfig
-PKGCONFIG += libbs2b
+
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp -L/usr/lib -I/usr/include
+
TRANSLATIONS = translations/bs2b_plugin_cs.ts \
translations/bs2b_plugin_de.ts \
@@ -36,11 +36,21 @@ TRANSLATIONS = translations/bs2b_plugin_cs.ts \
translations/bs2b_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/Effect
-INSTALLS += target
+FORMS += settingsdialog.ui
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/Effect
+ INSTALLS += target
-FORMS += settingsdialog.ui
+ PKGCONFIG += libbs2b
+ LIBS += -lqmmp -L/usr/lib -I/usr/include
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libbs2b.so
+}
+
+win32 {
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lbs2b
+}
diff --git a/src/plugins/Effect/crossfade/crossfade.pro b/src/plugins/Effect/crossfade/crossfade.pro
index d0cb964d7..b671a8709 100644
--- a/src/plugins/Effect/crossfade/crossfade.pro
+++ b/src/plugins/Effect/crossfade/crossfade.pro
@@ -9,7 +9,7 @@ SOURCES += crossfadeplugin.cpp \
settingsdialog.cpp
TARGET =$$PLUGINS_PREFIX/Effect/crossfade
-QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libcrossfade.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -17,7 +17,7 @@ plugin
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp -L/usr/lib -I/usr/include
+
TRANSLATIONS = translations/crossfade_plugin_cs.ts \
translations/crossfade_plugin_de.ts \
@@ -34,11 +34,21 @@ TRANSLATIONS = translations/crossfade_plugin_cs.ts \
translations/crossfade_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
+FORMS += settingsdialog.ui
+
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/Effect
+ INSTALLS += target
+
+ LIBS += -lqmmp -L/usr/lib -I/usr/include
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libcrossfade.so
}
-target.path = $$LIB_DIR/qmmp/Effect
-INSTALLS += target
+win32 {
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0
+}
-FORMS += settingsdialog.ui
diff --git a/src/plugins/Effect/stereo/stereo.pro b/src/plugins/Effect/stereo/stereo.pro
index aa11b5583..e820451f8 100644
--- a/src/plugins/Effect/stereo/stereo.pro
+++ b/src/plugins/Effect/stereo/stereo.pro
@@ -9,7 +9,7 @@ SOURCES += stereoplugin.cpp \
settingsdialog.cpp
TARGET =$$PLUGINS_PREFIX/Effect/stereo
-QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libstereo.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -17,7 +17,6 @@ plugin
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp -L/usr/lib -I/usr/include
TRANSLATIONS = translations/stereo_plugin_cs.ts \
translations/stereo_plugin_de.ts \
@@ -34,11 +33,20 @@ TRANSLATIONS = translations/stereo_plugin_cs.ts \
translations/stereo_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/Effect
-INSTALLS += target
+FORMS += settingsdialog.ui
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/Effect
+ INSTALLS += target
-FORMS += settingsdialog.ui
+ LIBS += -lqmmp -L/usr/lib -I/usr/include
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libstereo.so
+}
+
+win32 {
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0
+}
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
index df81b605f..1fab47102 100644
--- a/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
+++ b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
@@ -3,7 +3,7 @@ include(../../plugins.pri)
INCLUDEPATH += ../../../../src
TARGET =$$PLUGINS_PREFIX/FileDialogs/qmmpfiledialog
-QMAKE_CLEAN =$$PLUGINS_PREFIX/FileDialogs/libqmmpfiledialog.so
+
HEADERS += qmmpfiledialog.h \
qmmpfiledialogimpl.h
@@ -14,22 +14,12 @@ SOURCES += qmmpfiledialog.cpp \
FORMS += qmmpfiledialog.ui
-
-QMAKE_CLEAN += $$PLUGINS_PREFIX/FileDialogs/libqmmpfiledialog.so
-
-
CONFIG += release warn_on plugin
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmpui -lqmmp
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/FileDialogs
-INSTALLS += target
TRANSLATIONS = translations/qmmp_file_dialog_plugin_ru.ts \
translations/qmmp_file_dialog_plugin_tr.ts \
@@ -47,3 +37,19 @@ TRANSLATIONS = translations/qmmp_file_dialog_plugin_ru.ts \
translations/qmmp_file_dialog_plugin_es.ts
RESOURCES += translations/translations.qrc
+
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/FileDialogs
+ INSTALLS += target
+
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/FileDialogs/libqmmpfiledialog.so
+ LIBS += -lqmmpui -lqmmp
+}
+
+win32 {
+ LIBS += -lqmmpui0 -lqmmp0
+ QMAKE_LIBDIR += ../../../../bin
+}
diff --git a/src/plugins/General/General.pro b/src/plugins/General/General.pro
index de28bea17..ea83d9894 100644
--- a/src/plugins/General/General.pro
+++ b/src/plugins/General/General.pro
@@ -2,12 +2,12 @@ SUBDIRS += statusicon \
notifier \
lyrics \
scrobbler \
- fileops
+ fileops \
+ covermanager
unix:SUBDIRS += mpris \
hal \
udisks \
hotkey \
- covermanager \
kdenotify \
converter
TEMPLATE = subdirs
diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro
index cc65fe64b..40317cf15 100644
--- a/src/plugins/Input/Input.pro
+++ b/src/plugins/Input/Input.pro
@@ -1,22 +1,22 @@
include(../../../qmmp.pri)
-SUBDIRS += mad cue
+SUBDIRS += mad cue vorbis sndfile wavpack
TEMPLATE = subdirs
-unix{
-SUBDIRS += vorbis sndfile wavpack
-contains(CONFIG, MODPLUG_PLUGIN){
- SUBDIRS += modplug
+contains(CONFIG, FLAC_PLUGIN){
+ SUBDIRS += flac
}
contains(CONFIG, MUSEPACK_PLUGIN){
SUBDIRS += mpc
}
-contains(CONFIG, FLAC_PLUGIN){
- SUBDIRS += flac
+contains(CONFIG, MODPLUG_PLUGIN){
+ SUBDIRS += modplug
}
+unix{
+
contains(CONFIG, FFMPEG_PLUGIN){
SUBDIRS += ffmpeg
}
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp
index 2eecb7272..ee1972560 100644
--- a/src/plugins/Input/flac/decoder_flac.cpp
+++ b/src/plugins/Input/flac/decoder_flac.cpp
@@ -283,10 +283,10 @@ bool DecoderFLAC::initialize()
p.replace(QString(QUrl::toPercentEncoding("?")), "?");
p.replace(QString(QUrl::toPercentEncoding("%")), "%");
p.replace(QString(QUrl::toPercentEncoding(":")), ":");
- TagLib::FLAC::File fileRef(p.toLocal8Bit ());
+ TagLib::FLAC::File fileRef(p.toLocal8Bit().constData());
//looking for cuesheet comment
TagLib::Ogg::XiphComment *xiph_comment = fileRef.xiphComment();
- QList <FileInfo*> list;
+
if (xiph_comment && xiph_comment->fieldListMap().contains("CUESHEET"))
{
qDebug("DecoderFLAC: using cuesheet xiph comment.");
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp
index c1eee4480..ed6f05705 100644
--- a/src/plugins/Input/flac/decoderflacfactory.cpp
+++ b/src/plugins/Input/flac/decoderflacfactory.cpp
@@ -102,13 +102,13 @@ QList<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo
if(fileName.endsWith(".flac", Qt::CaseInsensitive))
{
- flacFile = new TagLib::FLAC::File(fileName.toLocal8Bit ());
+ flacFile = new TagLib::FLAC::File(fileName.toLocal8Bit().constData());
tag = useMetaData ? flacFile->xiphComment() : 0;
ap = flacFile->audioProperties();
}
else if(fileName.endsWith(".oga", Qt::CaseInsensitive))
{
- oggFlacFile = new TagLib::Ogg::FLAC::File(fileName.toLocal8Bit ());
+ oggFlacFile = new TagLib::Ogg::FLAC::File(fileName.toLocal8Bit().constData());
tag = useMetaData ? oggFlacFile->tag() : 0;
ap = oggFlacFile->audioProperties();
}
diff --git a/src/plugins/Input/flac/flac.pro b/src/plugins/Input/flac/flac.pro
index d39776fa2..e25230f23 100644
--- a/src/plugins/Input/flac/flac.pro
+++ b/src/plugins/Input/flac/flac.pro
@@ -11,7 +11,7 @@ SOURCES += decoder_flac.cpp \
flacmetadatamodel.cpp \
replaygainreader.cpp
TARGET = $$PLUGINS_PREFIX/Input/flac
-QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libflac.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -19,11 +19,8 @@ CONFIG += release \
link_pkgconfig
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp \
- -L/usr/lib \
- -I/usr/include
-PKGCONFIG += taglib \
- flac
+
+
TRANSLATIONS = translations/flac_plugin_ru.ts \
translations/flac_plugin_uk_UA.ts \
translations/flac_plugin_zh_CN.ts \
@@ -39,6 +36,19 @@ TRANSLATIONS = translations/flac_plugin_ru.ts \
translations/flac_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty(LIB_DIR):LIB_DIR = /lib
-target.path = $$LIB_DIR/qmmp/Input
-INSTALLS += target
+
+unix {
+ isEmpty(LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+ PKGCONFIG += taglib flac
+ LIBS += -lqmmp
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libflac.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lflac -logg -ltag.dll -lm
+}
diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp
index 48cd4bc9e..eb89e4724 100644
--- a/src/plugins/Input/flac/flacmetadatamodel.cpp
+++ b/src/plugins/Input/flac/flacmetadatamodel.cpp
@@ -62,13 +62,13 @@ QHash<QString, QString> FLACMetaDataModel::audioProperties()
qint64 size = 0;
if(m_path.endsWith(".flac"))
{
- flacFile = new TagLib::FLAC::File(m_path.toLocal8Bit ());
+ flacFile = new TagLib::FLAC::File(m_path.toLocal8Bit().constData());
taglib_ap = flacFile->audioProperties();
size = flacFile->length();
}
else if(m_path.endsWith(".oga"))
{
- oggFlacFile = new TagLib::Ogg::FLAC::File(m_path.toLocal8Bit ());
+ oggFlacFile = new TagLib::Ogg::FLAC::File(m_path.toLocal8Bit().constData());
taglib_ap = oggFlacFile->audioProperties();
size = oggFlacFile->length();
}
diff --git a/src/plugins/Input/mad/decodermadfactory.cpp b/src/plugins/Input/mad/decodermadfactory.cpp
index a6a192234..83a3d4f29 100644
--- a/src/plugins/Input/mad/decodermadfactory.cpp
+++ b/src/plugins/Input/mad/decodermadfactory.cpp
@@ -224,7 +224,7 @@ void DecoderMADFactory::showAbout(QWidget *parent)
.arg(MAD_VERSION_MINOR)
.arg(MAD_VERSION_PATCH).arg(MAD_VERSION_EXTRA)+"\n"+
tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>")+"\n"+
- tr("Source code based on mq3 and madplay progects")
+ tr("Source code based on mq3 and madplay projects")
);
}
diff --git a/src/plugins/Input/mad/mad.pro b/src/plugins/Input/mad/mad.pro
index 5cbc61a0c..17f9b7918 100644
--- a/src/plugins/Input/mad/mad.pro
+++ b/src/plugins/Input/mad/mad.pro
@@ -13,25 +13,16 @@ SOURCES += decoder_mad.cpp \
mpegmetadatamodel.cpp \
replaygainreader.cpp
TARGET = $$PLUGINS_PREFIX/Input/mad
-unix:QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmad.so
-INCLUDEPATH += ../../../ \
- ./
-win32:INCLUDEPATH += D:\qt4\MINGW\include\taglib
+
+INCLUDEPATH += ../../../
+
CONFIG += release \
warn_on \
plugin \
link_pkgconfig
TEMPLATE = lib
-unix:QMAKE_LIBDIR += ../../../../lib
-win32:QMAKE_LIBDIR += ../../../../bin
-unix:LIBS += -lqmmp \
- -lmad
-unix:PKGCONFIG += taglib \
- mad
-win32:LIBS += -lqmmp0 \
- -lmad \
- -ltag.dll \
- -ltag_c.dll
+
+
TRANSLATIONS = translations/mad_plugin_ru.ts \
translations/mad_plugin_uk_UA.ts \
translations/mad_plugin_zh_CN.ts \
@@ -52,6 +43,16 @@ unix {
isEmpty(LIB_DIR):LIB_DIR = /lib
target.path = $$LIB_DIR/qmmp/Input
INSTALLS += target
+
+ QMAKE_LIBDIR += ../../../../lib
+ LIBS += -lqmmp -lmad
+ PKGCONFIG += taglib mad
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmad.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lmad -ltag.dll
}
-win32:HEADERS += ../../../../src/qmmp/metadatamodel.h \
- ../../../../src/qmmp/decoderfactory.h
diff --git a/src/plugins/Input/modplug/modplug.pro b/src/plugins/Input/modplug/modplug.pro
index ccc2d840b..2b456bab7 100644
--- a/src/plugins/Input/modplug/modplug.pro
+++ b/src/plugins/Input/modplug/modplug.pro
@@ -11,7 +11,7 @@ SOURCES += decoder_modplug.cpp \
archivereader.cpp \
modplugmetadatamodel.cpp
TARGET = $$PLUGINS_PREFIX/Input/modplug
-QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmodplug.so
+
DEFINES += HAVE_STDINT_H \
HAVE_INTTYPES_H
INCLUDEPATH += ../../../
@@ -21,10 +21,8 @@ CONFIG += release \
link_pkgconfig
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp \
- -L/usr/lib \
- -I/usr/include
-PKGCONFIG += libmodplug
+
+
TRANSLATIONS = translations/modplug_plugin_cs.ts \
translations/modplug_plugin_de.ts \
translations/modplug_plugin_zh_CN.ts \
@@ -43,3 +41,22 @@ RESOURCES = translations/translations.qrc
isEmpty(LIB_DIR):LIB_DIR = /lib
target.path = $$LIB_DIR/qmmp/Input
INSTALLS += target
+
+unix {
+ isEmpty(LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+
+ QMAKE_LIBDIR += ../../../../lib
+ LIBS += -lqmmp
+ PKGCONFIG += libmodplug
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmodplug.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lmodplug
+ DEFINES -= UNICODE
+}
diff --git a/src/plugins/Input/mpc/decodermpcfactory.cpp b/src/plugins/Input/mpc/decodermpcfactory.cpp
index 07fd9693b..3dfd32407 100644
--- a/src/plugins/Input/mpc/decodermpcfactory.cpp
+++ b/src/plugins/Input/mpc/decodermpcfactory.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2010 by Ilya Kotov *
+ * Copyright (C) 2008-2012 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -75,7 +75,7 @@ QList<FileInfo *> DecoderMPCFactory::createPlayList(const QString &fileName, boo
{
FileInfo *info = new FileInfo(fileName);
- TagLib::MPC::File fileRef(fileName.toLocal8Bit ());
+ TagLib::MPC::File fileRef(fileName.toLocal8Bit().constData());
TagLib::APE::Tag *tag = useMetaData ? fileRef.APETag() : 0;
if (tag && !tag->isEmpty())
{
diff --git a/src/plugins/Input/mpc/mpc.pro b/src/plugins/Input/mpc/mpc.pro
index 3fe8322b6..54fdce022 100644
--- a/src/plugins/Input/mpc/mpc.pro
+++ b/src/plugins/Input/mpc/mpc.pro
@@ -7,7 +7,7 @@ SOURCES += decoder_mpc.cpp \
decodermpcfactory.cpp \
mpcmetadatamodel.cpp
TARGET = $$PLUGINS_PREFIX/Input/mpc
-QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmpc.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -15,11 +15,7 @@ CONFIG += release \
link_pkgconfig
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp \
- -L/usr/lib \
- -lmpcdec \
- -I/usr/include
-PKGCONFIG += taglib
+
TRANSLATIONS = translations/mpc_plugin_ru.ts \
translations/mpc_plugin_uk_UA.ts \
translations/mpc_plugin_zh_CN.ts \
@@ -35,7 +31,21 @@ TRANSLATIONS = translations/mpc_plugin_ru.ts \
translations/mpc_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty (LIB_DIR):LIB_DIR = /lib
-exists(/usr/include/mpcdec/mpcdec.h):DEFINES += MPC_OLD_API
-target.path = $$LIB_DIR/qmmp/Input
-INSTALLS += target
+unix {
+ isEmpty(LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+
+ PKGCONFIG += taglib
+ LIBS += -lqmmp -lmpcdec -I/usr/include
+ exists(/usr/include/mpcdec/mpcdec.h):DEFINES += MPC_OLD_API
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmpc.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lmpcdec -ltag.dll
+ DEFINES += MPC_OLD_API
+}
diff --git a/src/plugins/Input/sndfile/sndfile.pro b/src/plugins/Input/sndfile/sndfile.pro
index adf2703c7..914170d4c 100644
--- a/src/plugins/Input/sndfile/sndfile.pro
+++ b/src/plugins/Input/sndfile/sndfile.pro
@@ -6,18 +6,19 @@ SOURCES += decoder_sndfile.cpp \
decodersndfilefactory.cpp
TARGET=$$PLUGINS_PREFIX/Input/sndfile
-QMAKE_CLEAN =$$PLUGINS_PREFIX/Input/libsndfile.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
plugin \
link_pkgconfig
+
TEMPLATE = lib
+
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp -L/usr/lib -I/usr/include
-PKGCONFIG += sndfile
+
TRANSLATIONS = translations/sndfile_plugin_cs.ts \
translations/sndfile_plugin_de.ts \
translations/sndfile_plugin_zh_CN.ts \
@@ -34,8 +35,20 @@ TRANSLATIONS = translations/sndfile_plugin_cs.ts \
RESOURCES = translations/translations.qrc
-isEmpty (LIB_DIR){
-LIB_DIR = /lib
+unix {
+ isEmpty(LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+
+ QMAKE_LIBDIR += ../../../../lib
+ LIBS += -lqmmp
+ PKGCONFIG += sndfile
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/Input/libsndfile.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lsndfile -lflac -lvorbisenc -lvorbis -logg
}
-target.path = $$LIB_DIR/qmmp/Input
-INSTALLS += target
diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp
index 8d5676504..9b27dec34 100644
--- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp
+++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp
@@ -78,7 +78,7 @@ QList<FileInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName,
{
FileInfo *info = new FileInfo(fileName);
- TagLib::Ogg::Vorbis::File fileRef(fileName.toLocal8Bit ());
+ TagLib::Ogg::Vorbis::File fileRef(fileName.toLocal8Bit().constData());
TagLib::Ogg::XiphComment *tag = useMetaData ? fileRef.tag() : 0;
if (tag && !tag->isEmpty())
diff --git a/src/plugins/Input/vorbis/vorbis.pro b/src/plugins/Input/vorbis/vorbis.pro
index d4b4c16e0..5be351f1d 100644
--- a/src/plugins/Input/vorbis/vorbis.pro
+++ b/src/plugins/Input/vorbis/vorbis.pro
@@ -9,7 +9,7 @@ SOURCES += decoder_vorbis.cpp \
vorbismetadatamodel.cpp \
replaygainreader.cpp
TARGET = $$PLUGINS_PREFIX/Input/vorbis
-QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libvorbis.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -17,12 +17,8 @@ CONFIG += release \
link_pkgconfig
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp \
- -L/usr/lib
-PKGCONFIG += taglib \
- ogg \
- vorbisfile \
- vorbis
+
+
TRANSLATIONS = translations/vorbis_plugin_ru.ts \
translations/vorbis_plugin_uk_UA.ts \
translations/vorbis_plugin_zh_CN.ts \
@@ -38,6 +34,21 @@ TRANSLATIONS = translations/vorbis_plugin_ru.ts \
translations/vorbis_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty (LIB_DIR):LIB_DIR = /lib
-target.path = $$LIB_DIR/qmmp/Input
-INSTALLS += target
+
+unix {
+ isEmpty (LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+
+ PKGCONFIG += taglib ogg vorbisfile vorbis
+ LIBS += -lqmmp
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libvorbis.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lvorbisfile -lvorbis -logg -ltag.dll -lm
+ LD_FLAGS += -no-undefined
+}
diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
index 321906f42..bb7451a50 100644
--- a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
+++ b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp
@@ -43,7 +43,7 @@ VorbisMetaDataModel::~VorbisMetaDataModel()
QHash<QString, QString> VorbisMetaDataModel::audioProperties()
{
QHash<QString, QString> ap;
- TagLib::Ogg::Vorbis::File f (m_path.toLocal8Bit());
+ TagLib::Ogg::Vorbis::File f (m_path.toLocal8Bit().constData());
if(f.audioProperties())
{
QString text = QString("%1").arg(f.audioProperties()->length()/60);
@@ -208,6 +208,6 @@ void VorbisCommentModel::save()
//taglib bug workarround
QString path = QString::fromLocal8Bit(m_file->name());
delete m_file;
- m_file = new TagLib::Ogg::Vorbis::File(path.toLocal8Bit());
+ m_file = new TagLib::Ogg::Vorbis::File(path.toLocal8Bit().constData());
m_tag = m_file->tag();
}
diff --git a/src/plugins/Input/wavpack/wavpack.pro b/src/plugins/Input/wavpack/wavpack.pro
index 1d386efde..1d11b337b 100644
--- a/src/plugins/Input/wavpack/wavpack.pro
+++ b/src/plugins/Input/wavpack/wavpack.pro
@@ -11,7 +11,7 @@ SOURCES += decoder_wavpack.cpp \
wavpackmetadatamodel.cpp \
replaygainreader.cpp
TARGET = $$PLUGINS_PREFIX/Input/wavpack
-QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libwavpack.so
+
INCLUDEPATH += ../../../
CONFIG += release \
warn_on \
@@ -19,10 +19,8 @@ CONFIG += release \
link_pkgconfig
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-LIBS += -lqmmp \
- -L/usr/lib \
- -I/usr/include
-PKGCONFIG += wavpack
+
+
TRANSLATIONS = translations/wavpack_plugin_cs.ts \
translations/wavpack_plugin_de.ts \
translations/wavpack_plugin_zh_CN.ts \
@@ -38,6 +36,21 @@ TRANSLATIONS = translations/wavpack_plugin_cs.ts \
translations/wavpack_plugin_es.ts
RESOURCES = translations/translations.qrc
-isEmpty (LIB_DIR):LIB_DIR = /lib
-target.path = $$LIB_DIR/qmmp/Input
-INSTALLS += target
+
+unix {
+ isEmpty(LIB_DIR):LIB_DIR = /lib
+ target.path = $$LIB_DIR/qmmp/Input
+ INSTALLS += target
+
+ QMAKE_LIBDIR += ../../../../lib
+ LIBS += -lqmmp
+ PKGCONFIG += wavpack
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libwavpack.so
+}
+
+win32 {
+ HEADERS += ../../../../src/qmmp/metadatamodel.h \
+ ../../../../src/qmmp/decoderfactory.h
+ QMAKE_LIBDIR += ../../../../bin
+ LIBS += -lqmmp0 -lwavpack
+}
diff --git a/src/plugins/Output/Output.pro b/src/plugins/Output/Output.pro
index 4dde76900..8ded62f9f 100644
--- a/src/plugins/Output/Output.pro
+++ b/src/plugins/Output/Output.pro
@@ -3,10 +3,11 @@ include(../../../qmmp.pri)
CONFIG += release warn_on
TEMPLATE = subdirs
win32:SUBDIRS += waveout
-unix{
SUBDIRS += null
+unix{
+
contains(CONFIG, JACK_PLUGIN){
SUBDIRS += jack
}
diff --git a/src/plugins/Output/null/null.pro b/src/plugins/Output/null/null.pro
index cf03c38bb..bf787c850 100644
--- a/src/plugins/Output/null/null.pro
+++ b/src/plugins/Output/null/null.pro
@@ -8,7 +8,6 @@ SOURCES += outputnullfactory.cpp \
TARGET=$$PLUGINS_PREFIX/Output/null
-QMAKE_CLEAN =$$PLUGINS_PREFIX/Output/libnull.so
INCLUDEPATH += ../../../
QMAKE_LIBDIR += ../../../../lib
@@ -19,8 +18,6 @@ thread \
plugin
TEMPLATE = lib
-LIBS += -lqmmp
-
TRANSLATIONS = translations/null_plugin_cs.ts \
translations/null_plugin_de.ts \
@@ -38,9 +35,18 @@ TRANSLATIONS = translations/null_plugin_cs.ts \
RESOURCES = translations/translations.qrc
-isEmpty (LIB_DIR){
-LIB_DIR = /lib
+unix {
+ isEmpty (LIB_DIR){
+ LIB_DIR = /lib
+ }
+
+ target.path = $$LIB_DIR/qmmp/Output
+ INSTALLS += target
+ LIBS += -lqmmp
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/Output/libnull.so
}
-target.path = $$LIB_DIR/qmmp/Output
-INSTALLS += target
+win32 {
+ LIBS += -lqmmp0
+ QMAKE_LIBDIR += ../../../../bin
+}
diff --git a/src/plugins/Output/waveout/outputwaveout.cpp b/src/plugins/Output/waveout/outputwaveout.cpp
index f95100aac..57b70b7e3 100644
--- a/src/plugins/Output/waveout/outputwaveout.cpp
+++ b/src/plugins/Output/waveout/outputwaveout.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2012 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -31,19 +31,19 @@
#include <qmmp/visual.h>
#include "outputwaveout.h"
-#define MAX_WAVEBLOCKS 32
+#define MAX_WAVEBLOCKS 256
static CRITICAL_SECTION cs;
static HWAVEOUT dev = NULL;
-static int ScheduledBlocks = 0;
+static unsigned int ScheduledBlocks = 0;
static int PlayedWaveHeadersCount = 0; // free index
static WAVEHDR* PlayedWaveHeaders [MAX_WAVEBLOCKS];
-static void CALLBACK wave_callback (HWAVE hWave, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 )
+static void CALLBACK wave_callback (HWAVE hWave, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
{
- if ( uMsg == WOM_DONE )
+ if (uMsg == WOM_DONE)
{
EnterCriticalSection (&cs);
PlayedWaveHeaders [PlayedWaveHeadersCount++] = (WAVEHDR*) dwParam1;
@@ -52,38 +52,28 @@ static void CALLBACK wave_callback (HWAVE hWave, UINT uMsg, DWORD dwInstance, DW
}
static void
-free_memory ( void )
+free_memory (void)
{
WAVEHDR* wh;
HGLOBAL hg;
- EnterCriticalSection ( &cs );
+ EnterCriticalSection (&cs);
wh = PlayedWaveHeaders [--PlayedWaveHeadersCount];
ScheduledBlocks--; // decrease the number of USED blocks
- LeaveCriticalSection ( &cs );
+ LeaveCriticalSection (&cs);
- waveOutUnprepareHeader ( dev, wh, sizeof (WAVEHDR) );
+ waveOutUnprepareHeader (dev, wh, sizeof (WAVEHDR));
- hg = GlobalHandle ( wh -> lpData ); // Deallocate the buffer memory
+ hg = GlobalHandle (wh -> lpData); // Deallocate the buffer memory
GlobalUnlock (hg);
GlobalFree (hg);
- hg = GlobalHandle ( wh ); // Deallocate the header memory
+ hg = GlobalHandle (wh); // Deallocate the header memory
GlobalUnlock (hg);
GlobalFree (hg);
}
-static int
-Box ( const char* msg )
-{
- //MessageBox ( NULL, ms"Error Message . . .", MB_OK | MB_ICONEXCLAMATION );
- return -1;
-}
-
-
-
-OutputWaveOut::OutputWaveOut(QObject * parent)
- : Output(parent)
+OutputWaveOut::OutputWaveOut(QObject * parent) : Output(parent)
{
//m_connection = 0;
//m_dev = 0;
@@ -139,7 +129,7 @@ bool OutputWaveOut::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
}
waveOutReset (dev);
- InitializeCriticalSection ( &cs );
+ InitializeCriticalSection (&cs);
configure(freq, chan, format);
return true;
@@ -159,60 +149,88 @@ qint64 OutputWaveOut::writeAudio(unsigned char *data, qint64 len)
void* allocptr;
len = qMin(len, (qint64)1024);
- do
- {
- while ( PlayedWaveHeadersCount > 0 ) // free used blocks ...
- free_memory ();
-
- if ( ScheduledBlocks < sizeof(PlayedWaveHeaders)/sizeof(*PlayedWaveHeaders) ) // wait for a free block ...
- break;
- usleep (500);
+
+ while (PlayedWaveHeadersCount > 0) // free used blocks ...
+ free_memory ();
+ if (ScheduledBlocks >= sizeof(PlayedWaveHeaders)/sizeof(*PlayedWaveHeaders)) // wait for a free block ...
+ {
+ usleep(500);
+ return 0;
+ }
+
+ if ((hg2 = GlobalAlloc (GMEM_MOVEABLE, len)) == NULL) // allocate some memory for a copy of the buffer
+ {
+ qWarning("OutputWaveOut: GlobalAlloc failed");
+ return 0;
}
- while (1);
-
- if ( (hg2 = GlobalAlloc ( GMEM_MOVEABLE, len )) == NULL ) // allocate some memory for a copy of the buffer
- return Box ( "GlobalAlloc failed." );
allocptr = GlobalLock (hg2);
- CopyMemory ( allocptr, data, len ); // Here we can call any modification output functions we want....
+ CopyMemory (allocptr, data, len); // Here we can call any modification output functions we want....
- if ( (hg = GlobalAlloc (GMEM_MOVEABLE | GMEM_ZEROINIT, sizeof (WAVEHDR))) == NULL ) // now make a header and WRITE IT!
+ if ((hg = GlobalAlloc (GMEM_MOVEABLE | GMEM_ZEROINIT, sizeof (WAVEHDR))) == NULL) // now make a header and WRITE IT!
return -1;
wh = (wavehdr_tag*)GlobalLock (hg);
wh->dwBufferLength = len;
wh->lpData = (CHAR *)allocptr;
- if ( waveOutPrepareHeader ( dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR )
+ if (waveOutPrepareHeader (dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR)
{
GlobalUnlock (hg);
GlobalFree (hg);
return -1;
}
- if ( waveOutWrite ( dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR )
+ if (waveOutWrite (dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR)
{
GlobalUnlock (hg);
GlobalFree (hg);
return -1;
}
- EnterCriticalSection ( &cs );
+ EnterCriticalSection (&cs);
ScheduledBlocks++;
- LeaveCriticalSection ( &cs );
+ LeaveCriticalSection (&cs);
return len;
}
+void OutputWaveOut::drain()
+{
+ while (ScheduledBlocks > 0)
+ {
+ Sleep(ScheduledBlocks);
+ while (PlayedWaveHeadersCount > 0) // free used blocks ...
+ free_memory();
+ }
+}
+
+void OutputWaveOut::suspend()
+{
+ waveOutPause(dev);
+}
+
+void OutputWaveOut::resume()
+{
+ waveOutRestart(dev);
+}
+
+void OutputWaveOut::reset()
+{
+ while (PlayedWaveHeadersCount > 0) // free used blocks ...
+ free_memory ();
+ waveOutReset (dev);
+}
+
void OutputWaveOut::uninitialize()
{
if (dev)
{
- while ( ScheduledBlocks > 0 )
+ while (ScheduledBlocks > 0)
{
Sleep (ScheduledBlocks);
- while ( PlayedWaveHeadersCount > 0 ) // free used blocks ...
+ while (PlayedWaveHeadersCount > 0) // free used blocks ...
free_memory ();
}
@@ -221,8 +239,7 @@ void OutputWaveOut::uninitialize()
dev = 0;
}
- DeleteCriticalSection ( &cs );
+ DeleteCriticalSection (&cs);
ScheduledBlocks = 0;
return;
}
-
diff --git a/src/plugins/Output/waveout/outputwaveout.h b/src/plugins/Output/waveout/outputwaveout.h
index 2d019ef6e..0fc5746b1 100644
--- a/src/plugins/Output/waveout/outputwaveout.h
+++ b/src/plugins/Output/waveout/outputwaveout.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2012 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -42,10 +42,10 @@ public:
private:
//output api
qint64 writeAudio(unsigned char *data, qint64 size);
- void drain(){};
- void suspend(){};
- void resume(){};
- void reset(){};
+ void drain();
+ void suspend();
+ void resume();
+ void reset();
// helper functions
void status();
diff --git a/src/plugins/Output/waveout/outputwaveoutfactory.cpp b/src/plugins/Output/waveout/outputwaveoutfactory.cpp
index d3d1776f9..38c7a0a67 100644
--- a/src/plugins/Output/waveout/outputwaveoutfactory.cpp
+++ b/src/plugins/Output/waveout/outputwaveoutfactory.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2012 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
diff --git a/src/plugins/Output/waveout/outputwaveoutfactory.h b/src/plugins/Output/waveout/outputwaveoutfactory.h
index 6a59edbf4..ac43dfcbf 100644
--- a/src/plugins/Output/waveout/outputwaveoutfactory.h
+++ b/src/plugins/Output/waveout/outputwaveoutfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2012 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,21 +20,18 @@
#ifndef OUTPUTPULSEAUDIOFACTORY_H
#define OUTPUTPULSEAUDIOFACTORY_H
-
#include <QObject>
#include <QString>
#include <QIODevice>
#include <QWidget>
-
#include <qmmp/output.h>
#include <qmmp/outputfactory.h>
-class OutputWaveOutFactory : public QObject,
- OutputFactory
+class OutputWaveOutFactory : public QObject, OutputFactory
{
Q_OBJECT
-Q_INTERFACES(OutputFactory);
+Q_INTERFACES(OutputFactory)
public:
const OutputProperties properties() const;
@@ -43,7 +40,6 @@ public:
void showSettings(QWidget* parent);
void showAbout(QWidget *parent);
QTranslator *createTranslator(QObject *parent);
-
};
#endif
diff --git a/src/plugins/PlaylistFormats/m3u/m3u.pro b/src/plugins/PlaylistFormats/m3u/m3u.pro
index e6d9a2c5a..b4a435c7f 100644
--- a/src/plugins/PlaylistFormats/m3u/m3u.pro
+++ b/src/plugins/PlaylistFormats/m3u/m3u.pro
@@ -6,22 +6,28 @@ plugin \
lib
TARGET =$$PLUGINS_PREFIX/PlaylistFormats/m3uplaylistformat
-QMAKE_CLEAN =$$PLUGINS_PREFIX/General/libm3uplaylistformat.so
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/PlaylistFormats
-INSTALLS += target
-
INCLUDEPATH += ../../../../src
-LIBS += -lqmmpui
-
HEADERS += m3uplaylistformat.h
SOURCES += m3uplaylistformat.cpp
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/PlaylistFormats
+ INSTALLS += target
+
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/General/libm3uplaylistformat.so
+ LIBS += -lqmmpui
+}
+
+win32 {
+ LIBS += -lqmmpui0
+ QMAKE_LIBDIR += ../../../../bin
+}
diff --git a/src/plugins/PlaylistFormats/pls/pls.pro b/src/plugins/PlaylistFormats/pls/pls.pro
index 812f9c9d1..006e0aa63 100644
--- a/src/plugins/PlaylistFormats/pls/pls.pro
+++ b/src/plugins/PlaylistFormats/pls/pls.pro
@@ -6,22 +6,30 @@ plugin \
lib
TARGET =$$PLUGINS_PREFIX/PlaylistFormats/plsplaylistformat
-QMAKE_CLEAN =$$PLUGINS_PREFIX/PlaylistFormats/plsplaylistformat.so
+
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/PlaylistFormats
-INSTALLS += target
-
INCLUDEPATH += ../../../../src
-LIBS += -lqmmpui
-
SOURCES += plsplaylistformat.cpp
HEADERS += plsplaylistformat.h
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/PlaylistFormats
+ INSTALLS += target
+
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/PlaylistFormats/plsplaylistformat.so
+ LIBS += -lqmmpui
+}
+
+win32 {
+ LIBS += -lqmmpui0
+ QMAKE_LIBDIR += ../../../../bin
+}
+
diff --git a/src/plugins/PlaylistFormats/xspf/xspf.pro b/src/plugins/PlaylistFormats/xspf/xspf.pro
index 784f15c79..28a50ca44 100644
--- a/src/plugins/PlaylistFormats/xspf/xspf.pro
+++ b/src/plugins/PlaylistFormats/xspf/xspf.pro
@@ -6,23 +6,31 @@ plugin \
lib
TARGET =$$PLUGINS_PREFIX/PlaylistFormats/xspfplaylistformat
-QMAKE_CLEAN =$$PLUGINS_PREFIX/PlaylistFormats/libxsplaylistformat.so
+
TEMPLATE = lib
QMAKE_LIBDIR += ../../../../lib
-isEmpty(LIB_DIR){
- LIB_DIR = /lib
-}
-target.path = $$LIB_DIR/qmmp/PlaylistFormats
-INSTALLS += target
-
INCLUDEPATH += ../../../../src
-LIBS += -lqmmpui -lqmmp
-
QT += xml
-SOURCES += xspfplaylistformat.cpp
+SOURCES += xspfplaylistformat.cpp
HEADERS += xspfplaylistformat.h
+unix {
+ isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+ }
+ target.path = $$LIB_DIR/qmmp/PlaylistFormats
+ INSTALLS += target
+
+ QMAKE_CLEAN =$$PLUGINS_PREFIX/PlaylistFormats/libxsplaylistformat.so
+ LIBS += -lqmmpui -lqmmp
+}
+
+win32 {
+ LIBS += -lqmmpui0 -lqmmp0
+ QMAKE_LIBDIR += ../../../../bin
+}
+
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 8128cd3db..b21e12fb5 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -3,11 +3,12 @@ SUBDIRS += Input \
General \
Visual \
Transports \
+ Effect \
+ PlaylistFormats \
+ FileDialogs \
Ui
-unix:SUBDIRS += Effect \
- PlaylistFormats \
- CommandLineOptions \
- FileDialogs \
+
+unix:SUBDIRS += CommandLineOptions \
Engines
TEMPLATE = subdirs
diff --git a/src/qmmp/equ/iir_fpu.c b/src/qmmp/equ/iir_fpu.c
index eb39681dc..1d79b95a1 100644
--- a/src/qmmp/equ/iir_fpu.c
+++ b/src/qmmp/equ/iir_fpu.c
@@ -41,8 +41,8 @@ void clean_history()
{
int n;
/* Zero the history arrays */
- bzero(data_history, sizeof(sXYData) * EQ_MAX_BANDS * EQ_CHANNELS);
- bzero(data_history2, sizeof(sXYData) * EQ_MAX_BANDS * EQ_CHANNELS);
+ memset(data_history, 0, sizeof(sXYData) * EQ_MAX_BANDS * EQ_CHANNELS);
+ memset(data_history2, 0, sizeof(sXYData) * EQ_MAX_BANDS * EQ_CHANNELS);
/* this is only needed if we use fpu code and there's no other place for
the moment to init the dither array*/
for (n = 0; n < 256; n++) {
diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp
index c2ea483be..f5f2d7553 100644
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -348,7 +348,11 @@ void Output::run()
if(m_finish)
{
drain();
+#ifdef Q_OS_WIN
+ qDebug("Output: total written %I64d", m_totalWritten);
+#else
qDebug("Output: total written %lld", m_totalWritten);
+#endif
}
dispatch(Qmmp::Stopped);
mutex()->unlock();