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