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
2 changes: 1 addition & 1 deletion .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y \
libasound2-dev libx11-dev libxext-dev libxinerama-dev libxrandr-dev \
libasound2-dev libx11-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev \
libxcursor-dev libxcomposite-dev libfreetype6-dev libfontconfig1-dev \
libgl1-mesa-dev libcurl4-openssl-dev ladspa-sdk ninja-build xvfb

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev ladspa-sdk libwebkit2gtk-4.1-dev xvfb gdb
sudo apt-get install -y freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev ladspa-sdk libwebkit2gtk-4.1-dev xvfb gdb
sudo /usr/bin/Xvfb $DISPLAY &

- name: Make VST2 SDK available
Expand Down Expand Up @@ -177,7 +177,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-15, windows-latest]
juce: ["8.0.13"]
juce: ["8.0.13", "9.0.3"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand All @@ -186,7 +186,7 @@ jobs:
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev libwebkit2gtk-4.1-dev ladspa-sdk
sudo apt-get install -y libasound2-dev libfreetype6-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev libwebkit2gtk-4.1-dev ladspa-sdk

- name: Configure
run: cmake -B build -S tests/pluginval_as_dependency -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE}} -DJUCE_VERSION="${{ matrix.juce }}"
Expand Down
1 change: 1 addition & 0 deletions CHANGELIST.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# pluginval Change List

### 2.0.0
- Updated JUCE to 9.0.3
- Added acceptance testing: `pluginval test <config.json>` renders a plugin with a known state, input (audio/MIDI) and optional playhead, then compares the output against a checked-in reference WAV, exiting `0` on a match and `1` on a mismatch (with a diff WAV). Use `--record-missing` to record new references. See `docs/Acceptance testing.md`
- Restructured the command line into subcommands: `pluginval validate [options] <plugin>` (the default), `pluginval run-tests` and `pluginval strictness-help [level]`. The plugin path is now a positional argument of `validate`
- **Deprecated:** the flat flags `--validate <plugin>`, `--run-tests` and `--strictness-help [level]` still work as aliases (with a one-line notice) but will be removed in a future version. `pluginval <plugin>` remains a silent shorthand for `validate`
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

- **Version**: 2.0.0 (see `VERSION` file)
- **License**: GPLv3
- **Framework**: Built on JUCE (v8.0.x)
- **Framework**: Built on JUCE (v9.0.x)
- **Language**: C++20

### Key Features
Expand Down
25 changes: 14 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ endif()

# Only fetch JUCE when top-level (when used as dependency, JUCE is already available)
if (pluginval_IS_TOP_LEVEL)
CPMAddPackage("gh:juce-framework/juce#8.0.13")
CPMAddPackage("gh:juce-framework/juce#9.0.3")
endif()


Expand Down Expand Up @@ -266,16 +266,19 @@ else()
set(PLUGINVAL_TARGET "${CMAKE_PROJECT_NAME}_VST3")
endif()

get_target_property(artefact ${PLUGINVAL_TARGET} JUCE_PLUGIN_ARTEFACT_FILE)

# TODO: This doesn't populate the executable in clion
add_custom_target(${CMAKE_PROJECT_NAME}_pluginval_cli
COMMAND $<TARGET_FILE:pluginval>
validate
--strictness-level 10
${artefact}
DEPENDS pluginval ${PLUGINVAL_TARGET}
COMMENT "Run pluginval CLI with strict validation")
# An umbrella/multi-product project has no ${CMAKE_PROJECT_NAME}_AU target, so skip instead of hard-erroring.
if (TARGET ${PLUGINVAL_TARGET})
get_target_property(artefact ${PLUGINVAL_TARGET} JUCE_PLUGIN_ARTEFACT_FILE)

# TODO: This doesn't populate the executable in clion
add_custom_target(${CMAKE_PROJECT_NAME}_pluginval_cli
COMMAND $<TARGET_FILE:pluginval>
validate
--strictness-level 10
${artefact}
DEPENDS pluginval ${PLUGINVAL_TARGET}
COMMENT "Run pluginval CLI with strict validation")
endif()
endif()

# In-repo dogfood plugins + acceptance self-tests.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ CPMAddPackage("gh:tracktion/pluginval#develop")

Then all you need to do is call `add_subdirectory ("modules/pluginval")` in your `CMakeLists.txt`. This should be done **after** your call to `juce_add_plugin`.

Note that only JUCE 8 is currently supported/tested for this method.
Note that only JUCE 8 and 9 are currently supported/tested for this method.

### Third-party Installation
###### _Chocolatey (Windows):_
Expand Down
2 changes: 1 addition & 1 deletion tests/pluginval_as_dependency/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.22)
project(PluginvalAsDependency VERSION 1.0.0)

set(JUCE_VERSION "8.0.3" CACHE STRING "JUCE version to test against")
set(JUCE_VERSION "9.0.3" CACHE STRING "JUCE version to test against")

include(${CMAKE_CURRENT_LIST_DIR}/../../cmake/CPM.cmake)

Expand Down
Loading