diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
index a3bc47a..9479e5e 100644
--- a/.github/workflows/cmake.yml
+++ b/.github/workflows/cmake.yml
@@ -41,10 +41,23 @@ jobs:
submodules: recursive
fetch-depth: 0
+ - name: ccache
+ uses: hendrikmuhs/ccache-action@v1.2
+ with:
+ key: win64
+
+ - name: Set up MSVC environment
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: x64
+
+ - name: Install Ninja
+ uses: seanmiddleditch/gha-setup-ninja@v3
+
- name: Build plugins
shell: bash
run: |
- python3 ./build.py
+ python3 ./build.py --compiler-launcher ccache
mv Build Build-Win64
- name: Archive Artifacts
@@ -62,10 +75,23 @@ jobs:
submodules: recursive
fetch-depth: 0
+ - name: ccache
+ uses: hendrikmuhs/ccache-action@v1.2
+ with:
+ key: win32
+
+ - name: Set up MSVC environment
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: Win32
+
+ - name: Install Ninja
+ uses: seanmiddleditch/gha-setup-ninja@v3
+
- name: Build plugins
shell: bash
run: |
- python3 ./build.py
+ python3 ./build.py --compiler-launcher ccache
mv Build Build-Win32
- name: Archive Artifacts
diff --git a/Plugins/the gusher.zip b/Plugins/the gusher.zip
new file mode 100644
index 0000000..2e0661e
Binary files /dev/null and b/Plugins/the gusher.zip differ
diff --git a/README.md b/README.md
index 15526bc..5713eb0 100644
--- a/README.md
+++ b/README.md
@@ -48,13 +48,13 @@ Example:
| `path` | `string` | Path to the patch location within the repository. Can be a **folder** or a **.zip** file. |
| `formats` | `array` | List of plugin formats to build. Valid values: `VST3`, `AU`, `CLAP`, `LV2`, `Standalone`. |
| `type` | `string` | Type of plugin: either `"fx"` for effects or `"instrument"` for instruments/synths. |
-
---
### Optional Fields
| Field | Type | Description |
|------------------|-----------|-------------|
+| `version` | `string` | Plugin version, new versions will not install correctly unless you increment this.
_Default: "1.0.0"
| `enable_gem` | `boolean` | Enables experimental [GEM](https://puredata.info/downloads/Gem) support
_Default: `false`_ |
| `enable_sfizz` | `boolean` | Enables the `[sfz~]` object for SFZ sample playback.
_Default: `false`_ |
| `enable_ffmpeg` | `boolean` | Enables FFmpeg-based audio objects.
Recommended if your patch plays audio files.
_Default: `false`_ |
diff --git a/build.py b/build.py
index b9f2f67..b0150e9 100644
--- a/build.py
+++ b/build.py
@@ -14,12 +14,11 @@
)
args = parser.parse_args()
-# Detect platform and choose CMake generator
system = platform.system()
if system == "Windows":
- cmake_generator = ["-G", "Visual Studio 17 2022"]
+ cmake_compiler = ["-DCMAKE_C_COMPILER=cl", "-DCMAKE_CXX_COMPILER=cl"]
else:
- cmake_generator = ["-G", "Ninja"]
+ cmake_compiler = []
# Load config.json
with open("config.json") as f:
@@ -46,17 +45,20 @@
print(f"\nProcessing: {name}")
author = plugin.get("author", False)
+ version = plugin.get("version", "1.0.0")
enable_gem = plugin.get("enable_gem", False)
enable_sfizz = plugin.get("enable_sfizz", False)
enable_ffmpeg = plugin.get("enable_ffmpeg", False)
cmake_configure = [
"cmake",
- *cmake_generator,
+ "-GNinja",
+ *cmake_compiler,
f"-B{build_dir}",
f"-DCUSTOM_PLUGIN_NAME={name}",
f"-DCUSTOM_PLUGIN_PATH={zip_path}",
f"-DCUSTOM_PLUGIN_COMPANY={author}",
+ f"-DCUSTOM_PLUGIN_VERSION={version}",
"-DCMAKE_BUILD_TYPE=Release",
f"-DENABLE_GEM={'1' if enable_gem else '0'}",
f"-DENABLE_SFIZZ={'1' if enable_sfizz else '0'}",
diff --git a/config.json b/config.json
index ba657cc..dda24c6 100644
--- a/config.json
+++ b/config.json
@@ -5,6 +5,18 @@
"path": "Plugins/N-TILT.zip",
"formats": ["VST3", "AU", "LV2", "CLAP", "Standalone"],
"type": "fx",
+ "version": "1.0.0",
+ "enable_gem": false,
+ "enable_sfizz": false,
+ "enable_ffmpeg": false
+ },
+ {
+ "name": "the gusher",
+ "author": "(un)familiar.",
+ "path": "Plugins/the gusher.zip",
+ "formats": ["VST3", "AU", "LV2"],
+ "type": "fx",
+ "version": "1.0.0",
"enable_gem": false,
"enable_sfizz": false,
"enable_ffmpeg": false
diff --git a/plugdata b/plugdata
index 0c0cc73..7cf444f 160000
--- a/plugdata
+++ b/plugdata
@@ -1 +1 @@
-Subproject commit 0c0cc73dabc1b3b82526284961bb5a31663ac882
+Subproject commit 7cf444f237f8d3214ca192d5054b0b6637f47a5c