-
Notifications
You must be signed in to change notification settings - Fork 2
/
RackAFXDLL.cpp
89 lines (74 loc) · 1.87 KB
/
RackAFXDLL.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "RackAFXDLL.h"
// WARNING: DO NOT UNDER ANY CIRCUMSTANCES EDIT THIS FILE! **********************
/* VST Support
#include "audioeffect.h"
#include "Sock2VSTFactory.h"
END VST Support */
///////////////////////////////////////////////////////////
//
// Global variables
//
void* g_hModule; // DLL module handle
static float g_fMUResult;
///////////////////////////////////////////////////////////
//
// DLL module information
//
extern "C"
{
// entry point DllMain
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD dwReason,
void* lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
g_hModule = (HMODULE)hModule ;
}
return TRUE ;
}
// end entry point DllMain
/* VST Support
// VST Support - DO NOT EDIT THIS CODE
extern AudioEffect* createEffectInstance (audioMasterCallback audioMaster);
#ifdef CODE_BLOX_MINGW
#define VST_EXPORT DllExport
#else
#define VST_EXPORT
#endif
// VST Export Function
VST_EXPORT AEffect* VSTPluginMain (audioMasterCallback audioMaster)
{
// Get VST Version of the Host
if (!audioMaster (0, audioMasterVersion, 0, 0, 0, 0))
return 0; // old version
// Create the AudioEffect
AudioEffect* effect = createEffectInstance (audioMaster);
if (!effect)
return 0;
// Return the VST AEffect structur
return effect->getAeffect ();
}
// end VSTPlugInMain 0x7FFD
END VST Support */
}
//RackAFX Creation Function
DllExport CPlugIn* createObject()
{
CPlugIn* pOb = new CAwesomizer(); // ***
return pOb;
}
DllExport UINT getAPIVersion()
{
return CURRENT_PLUGIN_API;
}
/* VST Support
// create VST object and attach the RackAFXPlugIn Buddy - DO NOT EDIT THIS CODE
AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
{
CPlugIn* pOb = new CAwesomizer; // ***
Sock2VSTFactory factory(pOb, audioMaster);
return factory.getVSTPlugIn();
}
// end createEffectInstance 0x7FFE
END VST Support */