Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Binary file added Plugins/the gusher.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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. <br>_Default: "1.0.0"
| `enable_gem` | `boolean` | Enables experimental [GEM](https://puredata.info/downloads/Gem) support <br>_Default: `false`_ |
| `enable_sfizz` | `boolean` | Enables the `[sfz~]` object for SFZ sample playback. <br>_Default: `false`_ |
| `enable_ffmpeg` | `boolean` | Enables FFmpeg-based audio objects. <br>Recommended if your patch plays audio files. <br>_Default: `false`_ |
Expand Down
10 changes: 6 additions & 4 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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'}",
Expand Down
12 changes: 12 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading