This repository was archived by the owner on Sep 23, 2024. It is now read-only.
File tree 7 files changed +76
-29
lines changed
7 files changed +76
-29
lines changed Original file line number Diff line number Diff line change 1
- /* ****************************************************************/ /* *
1
+ /* ****************************************************************/ /* *
2
2
* \file Context.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date July 2023
8
- * \version 1.0.0
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
@@ -19,7 +19,7 @@ namespace DMDA {
19
19
*
20
20
* You can inherit this to create your own context types.
21
21
*/
22
- class Context {
22
+ class DMDA_API Context {
23
23
public:
24
24
Context () = default ;
25
25
virtual ~Context ();
@@ -31,7 +31,7 @@ namespace DMDA {
31
31
* You can inhert this in DMDA host then pass the object pointer
32
32
* to Context::addListener() method to listen the change of the context.
33
33
*/
34
- class Listener {
34
+ class DMDA_API Listener {
35
35
public:
36
36
virtual ~Listener () = default ;
37
37
Original file line number Diff line number Diff line change 4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date Dec 2023
8
- * \version 1.2.2
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
15
15
#include "Context.h"
16
16
#include "MidiFileContext.h"
17
17
18
- #define DMDA_VERSION "1.2.2 "
18
+ #define DMDA_VERSION "1.2.3 "
19
19
20
20
#if DMDA_PLUGIN
21
21
Original file line number Diff line number Diff line change 1
- /*****************************************************************/ /**
1
+ /*****************************************************************/ /**
2
2
* \file Macros.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date July 2023
8
- * \version 1.0.0
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
19
19
#ifndef DMDA_PLUGIN
20
20
#define DMDA_PLUGIN 0
21
21
#endif // !DMDA_PLUGIN
22
+
23
+ #if defined (__clang__ )
24
+ #define DMDA_CLANG 1
25
+
26
+ #elif defined (__GNUC__ )
27
+ #define DMDA_GCC 1
28
+
29
+ #elif defined (_MSC_VER )
30
+ #define DMDA_MSVC 1
31
+
32
+ #else
33
+ #error Unknown cpp compiler
34
+ #endif
35
+
36
+ #if DMDA_MSVC
37
+ #define DMDA_EXPORT __declspec(dllexport)
38
+ #define DMDA_IMPORT __declspec(dllimport)
39
+ #define DMDA_CALL _cdecl
40
+ #endif
41
+
42
+ #if DMDA_CLANG
43
+ #define DMDA_EXPORT __attribute__((visibility("default")))
44
+ #define DMDA_IMPORT __attribute__((visibility("default")))
45
+ #define DMDA_CALL
46
+ #endif
47
+
48
+ #if DMDA_GCC
49
+ #define DMDA_EXPORT __attribute__((visibility("default")))
50
+ #define DMDA_IMPORT __attribute__((visibility("default")))
51
+ #define DMDA_CALL
52
+ #endif
53
+
54
+ #if !(DMDA_MSVC || DMDA_CLANG || DMDA_GCC )
55
+ #define DMDA_EXPORT
56
+ #define DMDA_IMPORT
57
+ #define DMDA_CALL
58
+ #endif
59
+
60
+ #if DMDA_DLL_BUILD
61
+ #define DMDA_API DMDA_EXPORT
62
+ #elif DMDA_DLL
63
+ #define DMDA_API DMDA_IMPORT
64
+ #else
65
+ #define DMDA_API
66
+ #endif // DMDA_DLL_BUILD
Original file line number Diff line number Diff line change 1
- /* ****************************************************************/ /* *
1
+ /* ****************************************************************/ /* *
2
2
* \file MidiFileContext.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date Aug 2023
8
- * \version 1.2.1
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
@@ -18,7 +18,7 @@ namespace DMDA {
18
18
/* *
19
19
* The DMDA context with juce::MidiFile data.
20
20
*/
21
- class MidiFileContext : public Context {
21
+ class DMDA_API MidiFileContext : public Context {
22
22
public:
23
23
MidiFileContext () = default ;
24
24
Original file line number Diff line number Diff line change 1
- /* ****************************************************************/ /* *
1
+ /* ****************************************************************/ /* *
2
2
* \file PluginExtensions.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date July 2023
8
- * \version 1.0.0
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
12
12
#pragma once
13
13
14
14
#include < JuceHeader.h>
15
15
16
+ #include " Macros.h"
17
+
16
18
namespace DMDA {
17
19
class PluginProcessor ;
18
20
19
- enum class Vst3Result : int32_t {
21
+ enum class DMDA_API Vst3Result : int32_t {
20
22
OK = 0 ,
21
23
ERROR = -1
22
24
};
23
25
24
- class Vst3Extensions : public juce ::VST3ClientExtensions {
26
+ class DMDA_API Vst3Extensions : public juce::VST3ClientExtensions {
25
27
public:
26
28
Vst3Extensions () = delete ;
27
29
explicit Vst3Extensions (PluginProcessor* processor);
Original file line number Diff line number Diff line change 1
- /* ****************************************************************/ /* *
1
+ /* ****************************************************************/ /* *
2
2
* \file PluginProcessor.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date July 2023
8
- * \version 1.0.2
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
@@ -37,7 +37,7 @@ namespace DMDA {
37
37
* And you should call initContext() method in your constructor to
38
38
* create the context.
39
39
*/
40
- class PluginProcessor : public juce ::AudioProcessor {
40
+ class DMDA_API PluginProcessor : public juce::AudioProcessor {
41
41
public:
42
42
PluginProcessor ();
43
43
PluginProcessor (
Original file line number Diff line number Diff line change 1
- /* ****************************************************************/ /* *
1
+ /* ****************************************************************/ /* *
2
2
* \file PluginVisitor.h
3
3
* \brief Directly Musical Data Access library for VST3 with JUCE.
4
4
*
5
5
* \author WuChang
6
6
* \email 31423836@qq.com
7
- * \date July 2023
8
- * \version 1.0.0
7
+ * \date Jan 2024
8
+ * \version 1.2.3
9
9
* \license MIT License
10
10
*********************************************************************/
11
11
@@ -25,7 +25,7 @@ namespace DMDA {
25
25
* You can pass it to AudioPluginInstance::getExtensions()
26
26
* then the handleContext() method could be invoked.
27
27
*/
28
- class PluginVisitor : public juce ::ExtensionsVisitor {
28
+ class DMDA_API PluginVisitor : public juce::ExtensionsVisitor {
29
29
public:
30
30
virtual ~PluginVisitor () override = default ;
31
31
/* *
@@ -57,7 +57,7 @@ namespace DMDA {
57
57
* thePluginInstance->getExtensions(handler);
58
58
* @endcode
59
59
*/
60
- class PluginHandler final : public PluginVisitor {
60
+ class DMDA_API PluginHandler final : public PluginVisitor {
61
61
public:
62
62
PluginHandler () = delete ;
63
63
PluginHandler (std::function<void (Context*)> function);
You can’t perform that action at this time.
0 commit comments