aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qmmp.pri1
-rw-r--r--src/plugins/plugins.pri2
-rw-r--r--src/qmmp/abstractengine.h4
-rw-r--r--src/qmmp/audioconverter.h4
-rw-r--r--src/qmmp/audioparameters.h4
-rw-r--r--src/qmmp/buffer.h2
-rw-r--r--src/qmmp/channelmap.h4
-rw-r--r--src/qmmp/decoder.h2
-rw-r--r--src/qmmp/decoderfactory.h6
-rw-r--r--src/qmmp/effect.h4
-rw-r--r--src/qmmp/effectfactory.h5
-rw-r--r--src/qmmp/enginefactory.h6
-rw-r--r--src/qmmp/eqsettings.h6
-rw-r--r--src/qmmp/fileinfo.h4
-rw-r--r--src/qmmp/inputsource.h4
-rw-r--r--src/qmmp/inputsourcefactory.h5
-rw-r--r--src/qmmp/metadatamanager.h4
-rw-r--r--src/qmmp/metadatamodel.h4
-rw-r--r--src/qmmp/output.h2
-rw-r--r--src/qmmp/outputfactory.h6
-rw-r--r--src/qmmp/qmmp.h5
-rw-r--r--src/qmmp/qmmp.pro8
-rw-r--r--src/qmmp/qmmp_export.h29
-rw-r--r--src/qmmp/qmmpsettings.h4
-rw-r--r--src/qmmp/soundcore.h4
-rw-r--r--src/qmmp/statehandler.h4
-rw-r--r--src/qmmp/tagmodel.h4
-rw-r--r--src/qmmp/visual.h5
-rw-r--r--src/qmmp/visualfactory.h6
-rw-r--r--src/qmmp/volume.h5
-rw-r--r--src/qmmp/volumecontrol_p.h4
-rw-r--r--src/qmmpui/commandlinemanager.h5
-rw-r--r--src/qmmpui/commandlineoption.h3
-rw-r--r--src/qmmpui/configdialog.h5
-rw-r--r--src/qmmpui/detailsdialog.h5
-rw-r--r--src/qmmpui/filedialog.h5
-rw-r--r--src/qmmpui/filedialogfactory.h6
-rw-r--r--src/qmmpui/general.h5
-rw-r--r--src/qmmpui/generalfactory.h6
-rw-r--r--src/qmmpui/mediaplayer.h6
-rw-r--r--src/qmmpui/metadataformatter.h5
-rw-r--r--src/qmmpui/metadataformattermenu.h5
-rw-r--r--src/qmmpui/playlistdownloader.h5
-rw-r--r--src/qmmpui/playlistformat.h5
-rw-r--r--src/qmmpui/playlistgroup.h5
-rw-r--r--src/qmmpui/playlistheadermodel.h5
-rw-r--r--src/qmmpui/playlistitem.h5
-rw-r--r--src/qmmpui/playlistmanager.h5
-rw-r--r--src/qmmpui/playlistmodel.h5
-rw-r--r--src/qmmpui/playlistparser.h5
-rw-r--r--src/qmmpui/playlisttrack.h5
-rw-r--r--src/qmmpui/qmmpui.pro7
-rw-r--r--src/qmmpui/qmmpui_export.h29
-rw-r--r--src/qmmpui/qmmpuisettings.h5
-rw-r--r--src/qmmpui/templateeditor.h5
-rw-r--r--src/qmmpui/uifactory.h6
-rw-r--r--src/qmmpui/uihelper.h9
-rw-r--r--src/qmmpui/uiloader.h5
-rw-r--r--src/qmmpui/winfileassoc.h28
-rw-r--r--src/qmmpui/winfileassocpage_p.h9
60 files changed, 234 insertions, 127 deletions
diff --git a/qmmp.pri b/qmmp.pri
index ee15b577a..fec052326 100644
--- a/qmmp.pri
+++ b/qmmp.pri
@@ -19,6 +19,7 @@ DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x050400
#Configuration
CONFIG -= depend_includepath
+CONFIG += hide_symbols
QT += widgets
#Version
diff --git a/src/plugins/plugins.pri b/src/plugins/plugins.pri
index f56e33e64..7ca50ed3c 100644
--- a/src/plugins/plugins.pri
+++ b/src/plugins/plugins.pri
@@ -19,5 +19,5 @@ unix {
}
-CONFIG += warn_on plugin lib thread link_pkgconfig hide_symbols
+CONFIG += warn_on plugin lib thread link_pkgconfig
TEMPLATE = lib
diff --git a/src/qmmp/abstractengine.h b/src/qmmp/abstractengine.h
index e239e0e30..70f2e3620 100644
--- a/src/qmmp/abstractengine.h
+++ b/src/qmmp/abstractengine.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2016 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,7 +35,7 @@ class QmmpPluginCache;
/*! @brief The AbstractEngine class provides the base interface class of audio audio engines.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class AbstractEngine : public QThread
+class QMMP_EXPORT AbstractEngine : public QThread
{
Q_OBJECT
public:
diff --git a/src/qmmp/audioconverter.h b/src/qmmp/audioconverter.h
index de7bd81c8..898162a60 100644
--- a/src/qmmp/audioconverter.h
+++ b/src/qmmp/audioconverter.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2016 by Ilya Kotov *
+ * Copyright (C) 2010-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -27,7 +27,7 @@
/*! @brief The AbstractEngine class provides the internal audio converter
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class AudioConverter
+class QMMP_EXPORT AudioConverter
{
public:
/*!
diff --git a/src/qmmp/audioparameters.h b/src/qmmp/audioparameters.h
index ac7a6566e..5a461bda8 100644
--- a/src/qmmp/audioparameters.h
+++ b/src/qmmp/audioparameters.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2017 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -28,7 +28,7 @@
/*! @brief The AudioParameters class keeps information about audio settings.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class AudioParameters
+class QMMP_EXPORT AudioParameters
{
public:
diff --git a/src/qmmp/buffer.h b/src/qmmp/buffer.h
index 5cbd17911..cd49619a7 100644
--- a/src/qmmp/buffer.h
+++ b/src/qmmp/buffer.h
@@ -17,7 +17,7 @@
/*! @brief Audio buffer class.
* @author Brad Hughes <bhughes@trolltech.com>
*/
-class Buffer
+class QMMP_EXPORT Buffer
{
public:
/*!
diff --git a/src/qmmp/channelmap.h b/src/qmmp/channelmap.h
index 4027b0d3d..2c13a74b7 100644
--- a/src/qmmp/channelmap.h
+++ b/src/qmmp/channelmap.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2014 by Ilya Kotov *
+ * Copyright (C) 2014-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,7 +24,7 @@
#include <QList>
#include "qmmp.h"
-class ChannelMap : public QList<Qmmp::ChannelPosition>
+class QMMP_EXPORT ChannelMap : public QList<Qmmp::ChannelPosition>
{
public:
ChannelMap();
diff --git a/src/qmmp/decoder.h b/src/qmmp/decoder.h
index 90109fde5..1b4883e84 100644
--- a/src/qmmp/decoder.h
+++ b/src/qmmp/decoder.h
@@ -23,7 +23,7 @@ class QmmpPluginCache;
* @author Brad Hughes <bhughes@trolltech.com>
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Decoder
+class QMMP_EXPORT Decoder
{
public:
/*!
diff --git a/src/qmmp/decoderfactory.h b/src/qmmp/decoderfactory.h
index 05222328e..07ad75df4 100644
--- a/src/qmmp/decoderfactory.h
+++ b/src/qmmp/decoderfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2017 by Ilya Kotov *
+ * Copyright (C) 2006-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,8 @@
#ifndef DECODERFACTORY_H
#define DECODERFACTORY_H
+#include "qmmp_export.h"
+
class QObject;
class QString;
class QIODevice;
@@ -36,7 +38,7 @@ class MetaDataModel;
/*! @brief Helper class to store input plugin properties.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class DecoderProperties
+class QMMP_EXPORT DecoderProperties
{
public:
/*!
diff --git a/src/qmmp/effect.h b/src/qmmp/effect.h
index 8b0c6374f..6d0bc28e3 100644
--- a/src/qmmp/effect.h
+++ b/src/qmmp/effect.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007-2017 by Ilya Kotov *
+ * Copyright (C) 2007-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -32,7 +32,7 @@ class QmmpPluginCache;
/*! @brief The Effect class provides the base interface class of audio effects.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Effect
+class QMMP_EXPORT Effect
{
public:
/*!
diff --git a/src/qmmp/effectfactory.h b/src/qmmp/effectfactory.h
index 9f3598e4a..e18961443 100644
--- a/src/qmmp/effectfactory.h
+++ b/src/qmmp/effectfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007-2012 by Ilya Kotov *
+ * Copyright (C) 2007-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,7 @@
#define EFFECTFACTORY_H
#include <QObject>
+#include "qmmp_export.h"
class QObject;
class QWidget;
@@ -30,7 +31,7 @@ class Effect;
/*! @brief Helper class to store effect plugin properties.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class EffectProperties
+class QMMP_EXPORT EffectProperties
{
public:
/*!
diff --git a/src/qmmp/enginefactory.h b/src/qmmp/enginefactory.h
index 28ebc9fc5..b41e6ffc6 100644
--- a/src/qmmp/enginefactory.h
+++ b/src/qmmp/enginefactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2015 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,8 @@
#ifndef EMGINEFACTORY_H
#define EMGINEFACTORY_H
+#include "qmmp_export.h"
+
class QObject;
class QString;
class QIODevice;
@@ -34,7 +36,7 @@ class AbstractEngine;
/*! @brief Helper class to store custom audio engine properies.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class EngineProperties
+class QMMP_EXPORT EngineProperties
{
public:
/*!
diff --git a/src/qmmp/eqsettings.h b/src/qmmp/eqsettings.h
index b4c25c157..ac2f1d977 100644
--- a/src/qmmp/eqsettings.h
+++ b/src/qmmp/eqsettings.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2017 by Ilya Kotov *
+ * Copyright (C) 2010-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,10 +21,12 @@
#ifndef EQSETTINGS_H
#define EQSETTINGS_H
+#include "qmmp_export.h"
+
/*! @brief The EqSettings class helps to work with equalizer settings.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class EqSettings
+class QMMP_EXPORT EqSettings
{
public:
/*!
diff --git a/src/qmmp/fileinfo.h b/src/qmmp/fileinfo.h
index a824314ff..97a6ff535 100644
--- a/src/qmmp/fileinfo.h
+++ b/src/qmmp/fileinfo.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -29,7 +29,7 @@
/*! @brief The FileInfo class stores metadata and audio information about media file or stream.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class FileInfo
+class QMMP_EXPORT FileInfo
{
public:
/*!
diff --git a/src/qmmp/inputsource.h b/src/qmmp/inputsource.h
index af656f22b..b8301d911 100644
--- a/src/qmmp/inputsource.h
+++ b/src/qmmp/inputsource.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2013 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,7 +35,7 @@ class QmmpPluginCache;
/*! @brief The InputSource class provides the base interface class of transports.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class InputSource : public QObject
+class QMMP_EXPORT InputSource : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/inputsourcefactory.h b/src/qmmp/inputsourcefactory.h
index e968d6ba7..2b041e74b 100644
--- a/src/qmmp/inputsourcefactory.h
+++ b/src/qmmp/inputsourcefactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,6 +22,7 @@
#define INPUTSOURCEFACTORY_H
#include <QObject>
+#include "qmmp_export.h"
class QTranslator;
class QStringList;
@@ -30,7 +31,7 @@ class InputSource;
/*! @brief Helper class to store transport plugin properies.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class InputSourceProperties
+class QMMP_EXPORT InputSourceProperties
{
public:
/*!
diff --git a/src/qmmp/metadatamanager.h b/src/qmmp/metadatamanager.h
index 3469d9238..a5e8cd7a1 100644
--- a/src/qmmp/metadatamanager.h
+++ b/src/qmmp/metadatamanager.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2016 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -38,7 +38,7 @@ class QmmpSettings;
/*! @brief The MetaDataManager class is the base class for metadata access.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class MetaDataManager
+class QMMP_EXPORT MetaDataManager
{
public:
/*!
diff --git a/src/qmmp/metadatamodel.h b/src/qmmp/metadatamodel.h
index 37002b2dc..324210a0d 100644
--- a/src/qmmp/metadatamodel.h
+++ b/src/qmmp/metadatamodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -31,7 +31,7 @@
/*! @brief The MetaDataModel is the base interface class of metadata access.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class MetaDataModel : public QObject
+class QMMP_EXPORT MetaDataModel : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/output.h b/src/qmmp/output.h
index a3668d99e..880f256fa 100644
--- a/src/qmmp/output.h
+++ b/src/qmmp/output.h
@@ -23,7 +23,7 @@ class QmmpPluginCache;
* @author Brad Hughes <bhughes@trolltech.com>
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Output
+class QMMP_EXPORT Output
{
public:
/*!
diff --git a/src/qmmp/outputfactory.h b/src/qmmp/outputfactory.h
index 196ef85d3..5a76f78e7 100644
--- a/src/qmmp/outputfactory.h
+++ b/src/qmmp/outputfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007-2012 by Ilya Kotov *
+ * Copyright (C) 2007-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,8 @@
#ifndef OUTPUTFACTORY_H
#define OUTPUTFACTORY_H
+#include "qmmp_export.h"
+
class QObject;
class QString;
class QIODevice;
@@ -33,7 +35,7 @@ class Output;
/*! @brief Helper class to store output plugin properies.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class OutputProperties
+class QMMP_EXPORT OutputProperties
{
public:
/*!
diff --git a/src/qmmp/qmmp.h b/src/qmmp/qmmp.h
index 860bae6a9..dddafb0c5 100644
--- a/src/qmmp/qmmp.h
+++ b/src/qmmp/qmmp.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,7 @@
#define QMMP_H
#include <QString>
+#include "qmmp_export.h"
#define QMMP_VERSION_MAJOR 1
#define QMMP_VERSION_MINOR 3
@@ -42,7 +43,7 @@
/*! @brief The Qmmp class stores global settings and enums.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Qmmp
+class QMMP_EXPORT Qmmp
{
public:
/*!
diff --git a/src/qmmp/qmmp.pro b/src/qmmp/qmmp.pro
index c63ca443e..7881e71d3 100644
--- a/src/qmmp/qmmp.pro
+++ b/src/qmmp/qmmp.pro
@@ -40,7 +40,8 @@ HEADERS += \
channelconverter_p.h \
audioconverter.h \
dithering_p.h \
- visualbuffer_p.h
+ visualbuffer_p.h \
+ qmmp_export.h
SOURCES += recycler.cpp \
decoder.cpp \
output.cpp \
@@ -84,6 +85,7 @@ CONFIG += shared \
thread
TEMPLATE = lib
VERSION = $$QMMP_VERSION
+DEFINES += QMMP_LIBRARY
unix {
isEmpty(LIB_DIR):LIB_DIR = /lib
@@ -105,7 +107,6 @@ win32 {
}
}
-
unix {
target.path = $$LIB_DIR
devel.files += \
@@ -134,7 +135,8 @@ unix {
tagmodel.h \
visualfactory.h \
visual.h \
- volume.h
+ volume.h \
+ qmmp_export.h
devel.path = /include/qmmp
INSTALLS += target \
diff --git a/src/qmmp/qmmp_export.h b/src/qmmp/qmmp_export.h
new file mode 100644
index 000000000..327ff7efc
--- /dev/null
+++ b/src/qmmp/qmmp_export.h
@@ -0,0 +1,29 @@
+/***************************************************************************
+ * Copyright (C) 2017-2018 by Ilya Kotov *
+ * forkotov02@ya.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef QMMP_EXPORT_H
+#define QMMP_EXPORT_H
+
+#ifdef QMMP_LIBRARY
+# define QMMP_EXPORT Q_DECL_EXPORT
+#else
+# define QMMP_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif
diff --git a/src/qmmp/qmmpsettings.h b/src/qmmp/qmmpsettings.h
index a7ee86a0d..b78dc2369 100644
--- a/src/qmmp/qmmpsettings.h
+++ b/src/qmmp/qmmpsettings.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2016 by Ilya Kotov *
+ * Copyright (C) 2010-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -32,7 +32,7 @@ class QTimer;
/*! @brief The QmmpSettings class provides access to global settings.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class QmmpSettings : public QObject
+class QMMP_EXPORT QmmpSettings : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/soundcore.h b/src/qmmp/soundcore.h
index 38ce3adb6..b1b12bb75 100644
--- a/src/qmmp/soundcore.h
+++ b/src/qmmp/soundcore.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2017 by Ilya Kotov *
+ * Copyright (C) 2006-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -40,7 +40,7 @@ class StateHandler;
/*! \brief The SoundCore class provides a simple interface for audio playback.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class SoundCore : public QObject
+class QMMP_EXPORT SoundCore : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/statehandler.h b/src/qmmp/statehandler.h
index 8283cf9fc..7316653e4 100644
--- a/src/qmmp/statehandler.h
+++ b/src/qmmp/statehandler.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -31,7 +31,7 @@
/*! @brief The StateHandler class allows one to track information about playback progress.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class StateHandler : public QObject
+class QMMP_EXPORT StateHandler : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/tagmodel.h b/src/qmmp/tagmodel.h
index 56367e78c..2703d2394 100644
--- a/src/qmmp/tagmodel.h
+++ b/src/qmmp/tagmodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2012 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -28,7 +28,7 @@
/*! @brief The StateHandler class provides is the base interface class of tag editor.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class TagModel
+class QMMP_EXPORT TagModel
{
public:
/*!
diff --git a/src/qmmp/visual.h b/src/qmmp/visual.h
index 88a1c5b86..e31fa7442 100644
--- a/src/qmmp/visual.h
+++ b/src/qmmp/visual.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <QWidget>
#include <QHash>
#include <stddef.h>
+#include "qmmp_export.h"
#define QMMP_VISUAL_NODE_SIZE 512 //samples
@@ -34,7 +35,7 @@ class VisualBuffer;
/*! @brief The Visual class provides the base interface class of visualizations.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Visual : public QWidget
+class QMMP_EXPORT Visual : public QWidget
{
Q_OBJECT
public:
diff --git a/src/qmmp/visualfactory.h b/src/qmmp/visualfactory.h
index 1291fac91..4779aba48 100644
--- a/src/qmmp/visualfactory.h
+++ b/src/qmmp/visualfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2014 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,8 @@
#ifndef VISUALFACTORY_H
#define VISUALFACTORY_H
+#include "qmmp_export.h"
+
class QObject;
class QWidget;
class QTranslator;
@@ -49,7 +51,7 @@ public:
/*! @brief %Visual plugin interface (visual factory).
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class VisualFactory
+class QMMP_EXPORT VisualFactory
{
public:
/*!
diff --git a/src/qmmp/volume.h b/src/qmmp/volume.h
index e8caa8c38..dcaf134f7 100644
--- a/src/qmmp/volume.h
+++ b/src/qmmp/volume.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2012-2015 by Ilya Kotov *
+ * Copyright (C) 2012-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,6 +22,7 @@
#define VOLUME_H
#include <QObject>
+#include "qmmp_export.h"
/*! @brief The VolumeSettings structure stores volume levels
* @author Ilya Kotov <forkotov02@ya.ru>
@@ -44,7 +45,7 @@ struct VolumeSettings
/*! @brief The Volume class provides asbtract volume interface
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class Volume : public QObject
+class QMMP_EXPORT Volume : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmp/volumecontrol_p.h b/src/qmmp/volumecontrol_p.h
index 3c39520c2..6b67086ca 100644
--- a/src/qmmp/volumecontrol_p.h
+++ b/src/qmmp/volumecontrol_p.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2015 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -32,7 +32,7 @@ class SoftwareVolume;
* @brief The VolumeControl class provides volume control access
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class VolumeControl : public QObject
+class QMMP_EXPORT VolumeControl : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/commandlinemanager.h b/src/qmmpui/commandlinemanager.h
index 974c064fa..5fecc7467 100644
--- a/src/qmmpui/commandlinemanager.h
+++ b/src/qmmpui/commandlinemanager.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,12 +23,13 @@
#include <QHash>
#include "general.h"
#include "commandlineoption.h"
+#include "qmmpui_export.h"
/*! @brief Helper class used for handle command line plugins.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class CommandLineManager
+class QMMPUI_EXPORT CommandLineManager
{
public:
/*!
diff --git a/src/qmmpui/commandlineoption.h b/src/qmmpui/commandlineoption.h
index e10d2e728..a8847897d 100644
--- a/src/qmmpui/commandlineoption.h
+++ b/src/qmmpui/commandlineoption.h
@@ -20,6 +20,7 @@
#ifndef COMMANDLINEOPTION_H
#define COMMANDLINEOPTION_H
+#include "qmmpui_export.h"
class CommandLineManager;
class QTranslator;
@@ -30,7 +31,7 @@ class QStringList;
/*! @brief Abstract base class of the command line plugins.
* @author Vladimir Kuznetsov <vovanec@gmail.ru>
*/
-class CommandLineOption
+class QMMPUI_EXPORT CommandLineOption
{
public:
/*!
diff --git a/src/qmmpui/configdialog.h b/src/qmmpui/configdialog.h
index fe0c1031e..6f773e727 100644
--- a/src/qmmpui/configdialog.h
+++ b/src/qmmpui/configdialog.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007-2017 by Ilya Kotov *
+ * Copyright (C) 2007-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <QStyledItemDelegate>
#include <QApplication>
#include <QMouseEvent>
+#include "qmmpui_export.h"
namespace Ui {
@@ -37,7 +38,7 @@ class QTreeWidgetItem;
/*! @brief Configuration dialog class.
@author Ilya Kotov <forkotov02@ya.ru>
*/
-class ConfigDialog : public QDialog
+class QMMPUI_EXPORT ConfigDialog : public QDialog
{
Q_OBJECT
public:
diff --git a/src/qmmpui/detailsdialog.h b/src/qmmpui/detailsdialog.h
index 51e9ecfda..23e4acd9d 100644
--- a/src/qmmpui/detailsdialog.h
+++ b/src/qmmpui/detailsdialog.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2016 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,6 +24,7 @@
#include <QList>
#include <QMap>
#include <qmmp/qmmp.h>
+#include "qmmpui_export.h"
class QTextCodec;
class QAbstractButton;
@@ -37,7 +38,7 @@ namespace Ui {
/** @brief The DetailsDialog class provides dialog to show/edit metadata.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class DetailsDialog : public QDialog
+class QMMPUI_EXPORT DetailsDialog : public QDialog
{
Q_OBJECT
public:
diff --git a/src/qmmpui/filedialog.h b/src/qmmpui/filedialog.h
index 19fdbe060..a9099c374 100644
--- a/src/qmmpui/filedialog.h
+++ b/src/qmmpui/filedialog.h
@@ -1,5 +1,5 @@
/**************************************************************************
-* Copyright (C) 2008-2016 by Ilya Kotov *
+* Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <QStringList>
#include <QFileDialog>
#include <QHash>
+#include "qmmpui_export.h"
#include "filedialogfactory.h"
class QmmpUiPluginCache;
@@ -32,7 +33,7 @@ class QmmpUiPluginCache;
/*! @brief The FileDialog class is the base interface class of the file dialogs.
* @author Vladimir Kuznetsov <vovanec@gmail.com>
*/
-class FileDialog : public QObject
+class QMMPUI_EXPORT FileDialog : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/filedialogfactory.h b/src/qmmpui/filedialogfactory.h
index 66c1fd16b..fd416f1e1 100644
--- a/src/qmmpui/filedialogfactory.h
+++ b/src/qmmpui/filedialogfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2012 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,6 +20,8 @@
#ifndef FILEDIALOGFACTORY_H
#define FILEDIALOGFACTORY_H
+#include "qmmpui_export.h"
+
class QObject;
class QTranslator;
class FileDialog;
@@ -49,7 +51,7 @@ public:
/*! @brief File dialog plugin interface.
* @author Vladimir Kuznetsov <vovanec@gmail.com>
*/
-class FileDialogFactory
+class QMMPUI_EXPORT FileDialogFactory
{
public:
/*!
diff --git a/src/qmmpui/general.h b/src/qmmpui/general.h
index f5a32aaf0..d74dd1004 100644
--- a/src/qmmpui/general.h
+++ b/src/qmmpui/general.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2013 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,13 +24,14 @@
#include <QStringList>
#include <QHash>
#include "generalfactory.h"
+#include "qmmpui_export.h"
class QmmpUiPluginCache;
/*! @brief The General class provides simple access to general plugins
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class General
+class QMMPUI_EXPORT General
{
public:
/*!
diff --git a/src/qmmpui/generalfactory.h b/src/qmmpui/generalfactory.h
index 6b97cb596..dcb2e87e9 100644
--- a/src/qmmpui/generalfactory.h
+++ b/src/qmmpui/generalfactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2012 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,6 +20,8 @@
#ifndef GENERALFACTORY_H
#define GENERALFACTORY_H
+#include "qmmpui_export.h"
+
class QObject;
class QTranslator;
class QDialog;
@@ -30,7 +32,7 @@ class General;
/*! @brief Helper class to store general plugin properies.
*/
-class GeneralProperties
+class QMMPUI_EXPORT GeneralProperties
{
public:
/*!
diff --git a/src/qmmpui/mediaplayer.h b/src/qmmpui/mediaplayer.h
index b839d5ee1..ad2dd7b6d 100644
--- a/src/qmmpui/mediaplayer.h
+++ b/src/qmmpui/mediaplayer.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,7 +23,7 @@
#include <QObject>
#include <qmmp/soundcore.h>
#include "playlistmanager.h"
-
+#include "qmmpui_export.h"
class QmmpUiSettings;
class QTimer;
@@ -32,7 +32,7 @@ class QTimer;
/*! @brief The MediaPlayer class provides a simple way to use SoundCore and PlayListModel together.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class MediaPlayer : public QObject
+class QMMPUI_EXPORT MediaPlayer : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/metadataformatter.h b/src/qmmpui/metadataformatter.h
index 444875e7a..8bcfe72cb 100644
--- a/src/qmmpui/metadataformatter.h
+++ b/src/qmmpui/metadataformatter.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2015-2017 by Ilya Kotov *
+ * Copyright (C) 2015-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -27,11 +27,12 @@
#include <qmmpui/playlisttrack.h>
#include <qmmp/qmmp.h>
#include <qmmp/fileinfo.h>
+#include "qmmpui_export.h"
/*! @brief The MetaDataFormatter formats metadata using templates.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class MetaDataFormatter
+class QMMPUI_EXPORT MetaDataFormatter
{
public:
/*!
diff --git a/src/qmmpui/metadataformattermenu.h b/src/qmmpui/metadataformattermenu.h
index 92c50b9f5..0ac76e661 100644
--- a/src/qmmpui/metadataformattermenu.h
+++ b/src/qmmpui/metadataformattermenu.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2017 by Ilya Kotov *
+ * Copyright (C) 2017-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,10 +22,11 @@
#define METADATAFORMATTERMENU_H
#include <QMenu>
+#include "qmmpui_export.h"
class QAction;
-class MetaDataFormatterMenu : public QMenu
+class QMMPUI_EXPORT MetaDataFormatterMenu : public QMenu
{
Q_OBJECT
public:
diff --git a/src/qmmpui/playlistdownloader.h b/src/qmmpui/playlistdownloader.h
index 9c7e86742..af6cb377d 100644
--- a/src/qmmpui/playlistdownloader.h
+++ b/src/qmmpui/playlistdownloader.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2012-2017 by Ilya Kotov *
+ * Copyright (C) 2012-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <QUrl>
#include <QPointer>
#include "playlistmodel.h"
+#include "qmmpui_export.h"
class QNetworkAccessManager;
class QNetworkReply;
@@ -32,7 +33,7 @@ class QNetworkReply;
/*! @brief The PlayListDownloader class downloads playlist from remote URL and extracts tracks
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListDownloader : public QObject
+class QMMPUI_EXPORT PlayListDownloader : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/playlistformat.h b/src/qmmpui/playlistformat.h
index 4cb7b4d70..74f4b2bdc 100644
--- a/src/qmmpui/playlistformat.h
+++ b/src/qmmpui/playlistformat.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2017 by Ilya Kotov *
+ * Copyright (C) 2006-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,6 +22,7 @@
#define PALYLISTFORMAT_H
#include <QStringList>
+#include "qmmpui_export.h"
class PlayListTrack;
@@ -38,7 +39,7 @@ struct PlayListFormatProperties
/*! @brief Abstract interface for playlist formats.
* @author Vladimir Kuznetsov <vovanec@gmail.com>
*/
-class PlayListFormat
+class QMMPUI_EXPORT PlayListFormat
{
public:
/*!
diff --git a/src/qmmpui/playlistgroup.h b/src/qmmpui/playlistgroup.h
index 5fa949cbe..73dc04137 100644
--- a/src/qmmpui/playlistgroup.h
+++ b/src/qmmpui/playlistgroup.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013-2014 by Ilya Kotov *
+ * Copyright (C) 2013-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,13 +23,14 @@
#include "playlisttrack.h"
#include "playlistitem.h"
+#include "qmmpui_export.h"
class GroupedContainer;
/** @brief The PlayListTrack class provides a group for use with the PlayListModel class.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListGroup : public PlayListItem
+class QMMPUI_EXPORT PlayListGroup : public PlayListItem
{
public:
/*!
diff --git a/src/qmmpui/playlistheadermodel.h b/src/qmmpui/playlistheadermodel.h
index fc15fc1c0..755ae019d 100644
--- a/src/qmmpui/playlistheadermodel.h
+++ b/src/qmmpui/playlistheadermodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2015 by Ilya Kotov *
+ * Copyright (C) 2015-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -27,6 +27,7 @@
#include <QHash>
#include <QVariant>
#include "metadataformatter.h"
+#include "qmmpui_export.h"
class MetaDataHelper;
@@ -34,7 +35,7 @@ class MetaDataHelper;
* @brief Helper class that provides access to playlist column configuration.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListHeaderModel : public QObject
+class QMMPUI_EXPORT PlayListHeaderModel : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/playlistitem.h b/src/qmmpui/playlistitem.h
index 10786b41d..92e30bfe6 100644
--- a/src/qmmpui/playlistitem.h
+++ b/src/qmmpui/playlistitem.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2015 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,12 +23,13 @@
#include <QMap>
#include <qmmp/fileinfo.h>
#include <qmmp/qmmp.h>
+#include "qmmpui_export.h"
/** @brief The PlayListItem class provides an item for use with the PlayListModel class.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListItem
+class QMMPUI_EXPORT PlayListItem
{
public:
/*!
diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h
index 35f5dc602..9c86ff25e 100644
--- a/src/qmmpui/playlistmanager.h
+++ b/src/qmmpui/playlistmanager.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2017 by Ilya Kotov *
+ * Copyright (C) 2009-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,6 +23,7 @@
#include <QObject>
#include "playlistheadermodel.h"
#include "playlistmodel.h"
+#include "qmmpui_export.h"
class QTimer;
class QmmpUiSettings;
@@ -30,7 +31,7 @@ class QmmpUiSettings;
/*! @brief The PlayListManager class is used to handle multiple playlists.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListManager : public QObject
+class QMMPUI_EXPORT PlayListManager : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index c48a20660..734b0de18 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2017 by Ilya Kotov *
+ * Copyright (C) 2006-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -30,6 +30,7 @@
#include "playlistitem.h"
#include "playlisttrack.h"
#include "playlistgroup.h"
+#include "qmmpui_export.h"
class FileLoader;
class PlayState;
@@ -98,7 +99,7 @@ struct SimpleSelection
* | 7 | 5 | track |
* | 8 | 6 | track |
*/
-class PlayListModel : public QObject
+class QMMPUI_EXPORT PlayListModel : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/playlistparser.h b/src/qmmpui/playlistparser.h
index 35545e2c0..5952e41cf 100644
--- a/src/qmmpui/playlistparser.h
+++ b/src/qmmpui/playlistparser.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,11 +24,12 @@
#include <QUrl>
#include "playlisttrack.h"
#include "playlistformat.h"
+#include "qmmpui_export.h"
/*! @brief The PlaylistParser class provides a simple api to access playlist format plugins.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListParser
+class QMMPUI_EXPORT PlayListParser
{
public:
/*!
diff --git a/src/qmmpui/playlisttrack.h b/src/qmmpui/playlisttrack.h
index 6677a91d2..57bbb58a1 100644
--- a/src/qmmpui/playlisttrack.h
+++ b/src/qmmpui/playlisttrack.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013-2017 by Ilya Kotov *
+ * Copyright (C) 2013-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <qmmp/fileinfo.h>
#include <qmmp/qmmp.h>
#include "playlistitem.h"
+#include "qmmpui_export.h"
class QmmpUiSettings;
class PlayListHeaderModel;
@@ -33,7 +34,7 @@ class MetaDataHelper;
/** @brief The PlayListTrack class provides a track for use with the PlayListModel class.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class PlayListTrack : public QMap <Qmmp::MetaData, QString>, public PlayListItem
+class QMMPUI_EXPORT PlayListTrack : public QMap <Qmmp::MetaData, QString>, public PlayListItem
{
public:
/*!
diff --git a/src/qmmpui/qmmpui.pro b/src/qmmpui/qmmpui.pro
index 7c4ca8132..ae340ee22 100644
--- a/src/qmmpui/qmmpui.pro
+++ b/src/qmmpui/qmmpui.pro
@@ -3,6 +3,7 @@ include(../../qmmp.pri)
VERSION = $$QMMP_VERSION
INCLUDEPATH += ../
TEMPLATE = lib
+DEFINES += QMMPUI_LIBRARY
QT += network
CONFIG += warn_on \
@@ -72,7 +73,8 @@ HEADERS += general.h \
playlistheadermodel.h \
metadatahelper_p.h \
coverviewer_p.h \
- metadataformattermenu.h
+ metadataformattermenu.h \
+ qmmpui_export.h
SOURCES += general.cpp \
playlistparser.cpp \
@@ -168,7 +170,8 @@ unix {
playlisttrack.h \
metadataformatter.h \
playlistheadermodel.h \
- metadataformattermenu.h
+ metadataformattermenu.h \
+ qmmpui_export.h
devel.path = /include/qmmpui
INSTALLS += target \
diff --git a/src/qmmpui/qmmpui_export.h b/src/qmmpui/qmmpui_export.h
new file mode 100644
index 000000000..f8f7faadd
--- /dev/null
+++ b/src/qmmpui/qmmpui_export.h
@@ -0,0 +1,29 @@
+/***************************************************************************
+ * Copyright (C) 2017-2018 by Ilya Kotov *
+ * forkotov02@ya.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef QMMPUI_EXPORT_H
+#define QMMPUI_EXPORT_H
+
+#ifdef QMMPUI_LIBRARY
+# define QMMPUI_EXPORT Q_DECL_EXPORT
+#else
+# define QMMPUI_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif
diff --git a/src/qmmpui/qmmpuisettings.h b/src/qmmpui/qmmpuisettings.h
index f273b70f4..d614fa466 100644
--- a/src/qmmpui/qmmpuisettings.h
+++ b/src/qmmpui/qmmpuisettings.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2012-2015 by Ilya Kotov *
+ * Copyright (C) 2012-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,6 +25,7 @@
#include <QStringList>
#include "playlistheadermodel.h"
#include "metadataformatter.h"
+#include "qmmpui_export.h"
class QTimer;
class MetaDataHelper;
@@ -32,7 +33,7 @@ class MetaDataHelper;
/*! @brief The QmmpUiSettings class provides access to global libqmmpui library settings.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class QmmpUiSettings : public QObject
+class QMMPUI_EXPORT QmmpUiSettings : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/templateeditor.h b/src/qmmpui/templateeditor.h
index 64977d7e6..5e769f0e4 100644
--- a/src/qmmpui/templateeditor.h
+++ b/src/qmmpui/templateeditor.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2017 by Ilya Kotov *
+ * Copyright (C) 2010-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,6 +22,7 @@
#define TEMPLATEEDITOR_H
#include <QDialog>
+#include "qmmpui_export.h"
namespace Ui {
class TemplateEditor;
@@ -30,7 +31,7 @@ namespace Ui {
/*! @brief The TemplateEditor class provides simple template editor dialog.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class TemplateEditor : public QDialog
+class QMMPUI_EXPORT TemplateEditor : public QDialog
{
Q_OBJECT
public:
diff --git a/src/qmmpui/uifactory.h b/src/qmmpui/uifactory.h
index eed603835..caabde506 100644
--- a/src/qmmpui/uifactory.h
+++ b/src/qmmpui/uifactory.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2011 by Ilya Kotov *
+ * Copyright (C) 2011-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,6 +20,8 @@
#ifndef UIFACTORY_H
#define UIFACTORY_H
+#include "qmmpui_export.h"
+
class QObject;
class QTranslator;
class QDialog;
@@ -30,7 +32,7 @@ class General;
/*! @brief Helper class to store user interface plugin properies.
*/
-class UiProperties
+class QMMPUI_EXPORT UiProperties
{
public:
/*!
diff --git a/src/qmmpui/uihelper.h b/src/qmmpui/uihelper.h
index 633b62a8e..49636d0f7 100644
--- a/src/qmmpui/uihelper.h
+++ b/src/qmmpui/uihelper.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2016 by Ilya Kotov *
+ * Copyright (C) 2008-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -17,8 +17,8 @@
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef UiHelper_H
-#define UiHelper_H
+#ifndef UIHELPER_H
+#define UIHELPER_H
#include <QObject>
#include <QMap>
@@ -29,6 +29,7 @@
#include <QPointer>
#include "playlistmanager.h"
#include "playlistmodel.h"
+#include "qmmpui_export.h"
class QAction;
class QMenu;
@@ -40,7 +41,7 @@ class JumpToTrackDialog;
/*! @brief The UiHelper class provides simple api to access general plugins and some gui features.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class UiHelper : public QObject
+class QMMPUI_EXPORT UiHelper : public QObject
{
Q_OBJECT
public:
diff --git a/src/qmmpui/uiloader.h b/src/qmmpui/uiloader.h
index 7caa30ebf..bcacdbe05 100644
--- a/src/qmmpui/uiloader.h
+++ b/src/qmmpui/uiloader.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2011-2017 by Ilya Kotov *
+ * Copyright (C) 2011-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,13 +25,14 @@
#include <QList>
#include <QObject>
#include "uifactory.h"
+#include "qmmpui_export.h"
class QmmpUiPluginCache;
/*! @brief The UiLoader provides user interface plugins access.
* @author Ilya Kotov <forkotov02@ya.ru>
*/
-class UiLoader
+class QMMPUI_EXPORT UiLoader
{
public:
/*!
diff --git a/src/qmmpui/winfileassoc.h b/src/qmmpui/winfileassoc.h
index 9b7af9f2c..5d861e09d 100644
--- a/src/qmmpui/winfileassoc.h
+++ b/src/qmmpui/winfileassoc.h
@@ -16,9 +16,9 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Winfileassoc.h
- Handles file associations in Windows
- Author: Florin Braghis (florin@libertv.ro)
+ Winfileassoc.h
+ Handles file associations in Windows
+ Author: Florin Braghis (florin@libertv.ro)
*/
#ifndef WINFILEASSOC_H
@@ -26,29 +26,29 @@
#include <QString>
#include <QStringList>
-
+#include "qmmpui_export.h"
/**
@internal
*/
-class WinFileAssoc
+class QMMPUI_EXPORT WinFileAssoc
{
protected:
- QString m_ClassId; //Application ClassId
+ QString m_ClassId; //Application ClassId
QString m_ClassId2; //The ClassId created by explorer if user selects 'Open With...', usually qmmp.exe
- QString m_AppName;
+ QString m_AppName;
protected:
- bool CreateClassId(const QString& executablePath, const QString& friendlyName);
- bool VistaGetDefaultApps(const QStringList &extensions, QStringList& registeredExt);
- int VistaSetAppsAsDefault(const QStringList& extensions);
+ bool CreateClassId(const QString& executablePath, const QString& friendlyName);
+ bool VistaGetDefaultApps(const QStringList &extensions, QStringList& registeredExt);
+ int VistaSetAppsAsDefault(const QStringList& extensions);
public:
WinFileAssoc(const QString ClassId = "QmmpFileAudio", const QString AppName="Qmmp");
- //Checks the registry to see which extensions are registered with SMPlayer
- bool GetRegisteredExtensions(const QStringList& extensionsToCheck, QStringList& registeredExtensions);
+ //Checks the registry to see which extensions are registered with SMPlayer
+ bool GetRegisteredExtensions(const QStringList& extensionsToCheck, QStringList& registeredExtensions);
bool RemoveClassId();
- int CreateFileAssociations(const QStringList& fileExtensions);
- int RestoreFileAssociations(const QStringList& fileExtensions);
+ int CreateFileAssociations(const QStringList& fileExtensions);
+ int RestoreFileAssociations(const QStringList& fileExtensions);
};
#endif
diff --git a/src/qmmpui/winfileassocpage_p.h b/src/qmmpui/winfileassocpage_p.h
index dc97bd130..0825953ea 100644
--- a/src/qmmpui/winfileassocpage_p.h
+++ b/src/qmmpui/winfileassocpage_p.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2014 by Ilya Kotov *
+ * Copyright (C) 2014-2018 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -23,6 +23,7 @@
#include <QWidget>
#include <QStringList>
+#include "qmmpui_export.h"
namespace Ui {
class WinFileAssocPage;
@@ -32,9 +33,9 @@ class QListWidgetItem;
/*! @internal
*/
-class WinFileAssocPage : public QWidget
+class QMMPUI_EXPORT WinFileAssocPage : public QWidget
{
- Q_OBJECT
+ Q_OBJECT
public:
WinFileAssocPage(QWidget *parent = 0);
virtual ~WinFileAssocPage();
@@ -43,7 +44,7 @@ public:
private slots:
void on_selectAll_clicked();
void on_selectNone_clicked();
-
+
private:
void loadAssociations();
void saveAssociations();