Skip to content

Commit ec1cb0d

Browse files
authored
Merge pull request #13 from iPlug2/clap
Add CLAP support
2 parents fe493ed + 4065544 commit ec1cb0d

26 files changed

+2782
-2452
lines changed

TemplateProject/TemplateProject.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#endif
77

88
TemplateProject::TemplateProject(const InstanceInfo& info)
9-
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
9+
: iplug::Plugin(info, MakeConfig(kNumParams, kNumPresets))
1010
{
1111
GetParam(kParamGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
1212

TemplateProject/TemplateProject.sln

+93-79
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,93 @@
1-
2-
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.27004.2006
5-
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-app", "projects\TemplateProject-app.vcxproj", "{41785AE4-5B70-4A75-880B-4B418B4E13C6}"
7-
EndProject
8-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-vst2", "projects\TemplateProject-vst2.vcxproj", "{2EB4846A-93E0-43A0-821E-12237105168F}"
9-
EndProject
10-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-vst3", "projects\TemplateProject-vst3.vcxproj", "{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}"
11-
EndProject
12-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-aax", "projects\TemplateProject-aax.vcxproj", "{DC4B5920-933D-4C82-B842-F34431D55A93}"
13-
EndProject
14-
Global
15-
GlobalSection(SolutionConfigurationPlatforms) = preSolution
16-
Debug|Win32 = Debug|Win32
17-
Debug|x64 = Debug|x64
18-
Release|Win32 = Release|Win32
19-
Release|x64 = Release|x64
20-
Tracer|Win32 = Tracer|Win32
21-
Tracer|x64 = Tracer|x64
22-
EndGlobalSection
23-
GlobalSection(ProjectConfigurationPlatforms) = postSolution
24-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|Win32.ActiveCfg = Debug|Win32
25-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|Win32.Build.0 = Debug|Win32
26-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|x64.ActiveCfg = Debug|x64
27-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|x64.Build.0 = Debug|x64
28-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|Win32.ActiveCfg = Release|Win32
29-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|Win32.Build.0 = Release|Win32
30-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|x64.ActiveCfg = Release|x64
31-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|x64.Build.0 = Release|x64
32-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|Win32.ActiveCfg = Tracer|Win32
33-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|Win32.Build.0 = Tracer|Win32
34-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|x64.ActiveCfg = Tracer|x64
35-
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|x64.Build.0 = Tracer|x64
36-
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.ActiveCfg = Debug|Win32
37-
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.Build.0 = Debug|Win32
38-
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.ActiveCfg = Debug|x64
39-
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.Build.0 = Debug|x64
40-
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.ActiveCfg = Release|Win32
41-
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.Build.0 = Release|Win32
42-
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.ActiveCfg = Release|x64
43-
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.Build.0 = Release|x64
44-
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.ActiveCfg = Tracer|Win32
45-
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.Build.0 = Tracer|Win32
46-
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.ActiveCfg = Tracer|x64
47-
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.Build.0 = Tracer|x64
48-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|Win32.ActiveCfg = Debug|Win32
49-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|Win32.Build.0 = Debug|Win32
50-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|x64.ActiveCfg = Debug|x64
51-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|x64.Build.0 = Debug|x64
52-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|Win32.ActiveCfg = Release|Win32
53-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|Win32.Build.0 = Release|Win32
54-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|x64.ActiveCfg = Release|x64
55-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|x64.Build.0 = Release|x64
56-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|Win32.ActiveCfg = Tracer|Win32
57-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|Win32.Build.0 = Tracer|Win32
58-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|x64.ActiveCfg = Tracer|x64
59-
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|x64.Build.0 = Tracer|x64
60-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|Win32.ActiveCfg = Debug|Win32
61-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|Win32.Build.0 = Debug|Win32
62-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|x64.ActiveCfg = Debug|x64
63-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|x64.Build.0 = Debug|x64
64-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|Win32.ActiveCfg = Release|Win32
65-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|Win32.Build.0 = Release|Win32
66-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|x64.ActiveCfg = Release|x64
67-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|x64.Build.0 = Release|x64
68-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|Win32.ActiveCfg = Tracer|Win32
69-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|Win32.Build.0 = Tracer|Win32
70-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|x64.ActiveCfg = Tracer|x64
71-
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|x64.Build.0 = Tracer|x64
72-
EndGlobalSection
73-
GlobalSection(SolutionProperties) = preSolution
74-
HideSolutionNode = FALSE
75-
EndGlobalSection
76-
GlobalSection(ExtensibilityGlobals) = postSolution
77-
SolutionGuid = {39C95EA8-A7C1-4EB9-93C3-452C5E54C752}
78-
EndGlobalSection
79-
EndGlobal
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.9.34728.123
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-app", "projects\TemplateProject-app.vcxproj", "{41785AE4-5B70-4A75-880B-4B418B4E13C6}"
7+
EndProject
8+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-vst2", "projects\TemplateProject-vst2.vcxproj", "{2EB4846A-93E0-43A0-821E-12237105168F}"
9+
EndProject
10+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-vst3", "projects\TemplateProject-vst3.vcxproj", "{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}"
11+
EndProject
12+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-aax", "projects\TemplateProject-aax.vcxproj", "{DC4B5920-933D-4C82-B842-F34431D55A93}"
13+
EndProject
14+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TemplateProject-clap", "projects\TemplateProject-clap.vcxproj", "{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}"
15+
EndProject
16+
Global
17+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
18+
Debug|Win32 = Debug|Win32
19+
Debug|x64 = Debug|x64
20+
Release|Win32 = Release|Win32
21+
Release|x64 = Release|x64
22+
Tracer|Win32 = Tracer|Win32
23+
Tracer|x64 = Tracer|x64
24+
EndGlobalSection
25+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
26+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|Win32.ActiveCfg = Debug|Win32
27+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|Win32.Build.0 = Debug|Win32
28+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|x64.ActiveCfg = Debug|x64
29+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Debug|x64.Build.0 = Debug|x64
30+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|Win32.ActiveCfg = Release|Win32
31+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|Win32.Build.0 = Release|Win32
32+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|x64.ActiveCfg = Release|x64
33+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Release|x64.Build.0 = Release|x64
34+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|Win32.ActiveCfg = Tracer|Win32
35+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|Win32.Build.0 = Tracer|Win32
36+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|x64.ActiveCfg = Tracer|x64
37+
{41785AE4-5B70-4A75-880B-4B418B4E13C6}.Tracer|x64.Build.0 = Tracer|x64
38+
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.ActiveCfg = Debug|Win32
39+
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|Win32.Build.0 = Debug|Win32
40+
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.ActiveCfg = Debug|x64
41+
{2EB4846A-93E0-43A0-821E-12237105168F}.Debug|x64.Build.0 = Debug|x64
42+
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.ActiveCfg = Release|Win32
43+
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|Win32.Build.0 = Release|Win32
44+
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.ActiveCfg = Release|x64
45+
{2EB4846A-93E0-43A0-821E-12237105168F}.Release|x64.Build.0 = Release|x64
46+
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.ActiveCfg = Tracer|Win32
47+
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|Win32.Build.0 = Tracer|Win32
48+
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.ActiveCfg = Tracer|x64
49+
{2EB4846A-93E0-43A0-821E-12237105168F}.Tracer|x64.Build.0 = Tracer|x64
50+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|Win32.ActiveCfg = Debug|Win32
51+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|Win32.Build.0 = Debug|Win32
52+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|x64.ActiveCfg = Debug|x64
53+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Debug|x64.Build.0 = Debug|x64
54+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|Win32.ActiveCfg = Release|Win32
55+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|Win32.Build.0 = Release|Win32
56+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|x64.ActiveCfg = Release|x64
57+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Release|x64.Build.0 = Release|x64
58+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|Win32.ActiveCfg = Tracer|Win32
59+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|Win32.Build.0 = Tracer|Win32
60+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|x64.ActiveCfg = Tracer|x64
61+
{079FC65A-F0E5-4E97-B318-A16D1D0B89DF}.Tracer|x64.Build.0 = Tracer|x64
62+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|Win32.ActiveCfg = Debug|Win32
63+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|Win32.Build.0 = Debug|Win32
64+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|x64.ActiveCfg = Debug|x64
65+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Debug|x64.Build.0 = Debug|x64
66+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|Win32.ActiveCfg = Release|Win32
67+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|Win32.Build.0 = Release|Win32
68+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|x64.ActiveCfg = Release|x64
69+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Release|x64.Build.0 = Release|x64
70+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|Win32.ActiveCfg = Tracer|Win32
71+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|Win32.Build.0 = Tracer|Win32
72+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|x64.ActiveCfg = Tracer|x64
73+
{DC4B5920-933D-4C82-B842-F34431D55A93}.Tracer|x64.Build.0 = Tracer|x64
74+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Debug|Win32.ActiveCfg = Debug|Win32
75+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Debug|Win32.Build.0 = Debug|Win32
76+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Debug|x64.ActiveCfg = Debug|x64
77+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Debug|x64.Build.0 = Debug|x64
78+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Release|Win32.ActiveCfg = Release|Win32
79+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Release|Win32.Build.0 = Release|Win32
80+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Release|x64.ActiveCfg = Release|x64
81+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Release|x64.Build.0 = Release|x64
82+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Tracer|Win32.ActiveCfg = Tracer|Win32
83+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Tracer|Win32.Build.0 = Tracer|Win32
84+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Tracer|x64.ActiveCfg = Tracer|x64
85+
{6D05871E-274A-48CA-A39A-AB1C9D7DC78C}.Tracer|x64.Build.0 = Tracer|x64
86+
EndGlobalSection
87+
GlobalSection(SolutionProperties) = preSolution
88+
HideSolutionNode = FALSE
89+
EndGlobalSection
90+
GlobalSection(ExtensibilityGlobals) = postSolution
91+
SolutionGuid = {39C95EA8-A7C1-4EB9-93C3-452C5E54C752}
92+
EndGlobalSection
93+
EndGlobal

TemplateProject/config.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#define PLUG_MFR_ID 'Acme'
77
#define PLUG_URL_STR "https://iplug2.github.io"
88
#define PLUG_EMAIL_STR "[email protected]"
9-
#define PLUG_COPYRIGHT_STR "Copyright 2024 Acme Inc"
9+
#define PLUG_COPYRIGHT_STR "Copyright 2025 Acme Inc"
1010
#define PLUG_CLASS_NAME TemplateProject
1111

1212
#define BUNDLE_NAME "TemplateProject"
@@ -49,6 +49,11 @@
4949

5050
#define VST3_SUBCATEGORY "Fx"
5151

52+
#define CLAP_MANUAL_URL "https://iplug2.github.io/manuals/example_manual.pdf"
53+
#define CLAP_SUPPORT_URL "https://github.com/iPlug2/iPlug2/wiki"
54+
#define CLAP_DESCRIPTION "A simple audio effect for modifying gain"
55+
#define CLAP_FEATURES "audio-effect"//, "utility"
56+
5257
#define APP_NUM_CHANNELS 2
5358
#define APP_N_VECTOR_WAIT 0
5459
#define APP_MULT 1

TemplateProject/config/TemplateProject-win.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<ProgramDatabaseFile>$(PDB_FILE)</ProgramDatabaseFile>
2828
</Link>
2929
<PostBuildEvent>
30-
<Command>CALL "$(SolutionDir)scripts\postbuild-win.bat" "$(TargetExt)" "$(BINARY_NAME)" "$(Platform)" "$(COPY_VST2)" "$(TargetPath)" "$(VST2_32_PATH)" "$(VST2_64_PATH)" "$(VST3_32_PATH)" "$(VST3_64_PATH)" "$(AAX_32_PATH)" "$(AAX_64_PATH)" "$(BUILD_DIR)" "$(VST_ICON)" "$(AAX_ICON)" "$(CREATE_BUNDLE_SCRIPT)"</Command>
30+
<Command>CALL "$(SolutionDir)scripts\postbuild-win.bat" "$(TargetExt)" "$(BINARY_NAME)" "$(Platform)" "$(COPY_VST2)" "$(TargetPath)" "$(VST2_32_PATH)" "$(VST2_64_PATH)" "$(VST3_32_PATH)" "$(VST3_64_PATH)" "$(AAX_32_PATH)" "$(AAX_64_PATH)" "$(CLAP_PATH)" "$(BUILD_DIR)" "$(VST_ICON)" "$(AAX_ICON)" "$(CREATE_BUNDLE_SCRIPT)"</Command>
3131
</PostBuildEvent>
3232
<PreBuildEvent>
3333
<Command>CALL "$(SolutionDir)scripts\prebuild-win.bat" "$(TargetExt)" "$(BINARY_NAME)" "$(Platform)" "$(TargetPath)" "$(OutDir)"</Command>

0 commit comments

Comments
 (0)