Skip to content

Commit

Permalink
Add clap-info and JUCE 6.0.7 to CI workflows (#75)
Browse files Browse the repository at this point in the history
* Add clap-info and JUCE 6.0.7 to CMake CI workflow

* Attempt to fix some CI failures

* Try again to fix clap-info path in CI

* One more try with clap-info paths in CI

* Silly typo in clap--info path

* Fix conditional step for clap-info

* Attempting clap-info on Projucer CI

* Fix Projucer plugin output path

* Skip clap-info for Linux Projucer builds
  • Loading branch information
jatinchowdhury18 authored Jun 23, 2022
1 parent f1e5bc1 commit 00960ac
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 4 deletions.
28 changes: 25 additions & 3 deletions .github/workflows/build-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
fail-fast: false # show all errors for each platform (vs. cancel jobs on error)
matrix:
os: [ubuntu-latest, windows-2019, macOS-latest]
juce_version: ["6.1.5", "6.1.6", "7.0.0"]
juce_version: ["6.0.7", "6.1.5", "6.1.6", "7.0.0"]

steps:
- name: Install Linux Deps
Expand All @@ -39,10 +39,32 @@ jobs:

- name: Configure
shell: bash
run: cmake -Bbuild -DCLAP_JUCE_VERSION=$JUCE_VERSION
run: cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCLAP_JUCE_VERSION=$JUCE_VERSION
env:
JUCE_VERSION: ${{ matrix.juce_version }}

- name: Build
shell: bash
run: cmake --build build --parallel 4
run: cmake --build build --config Release --parallel 4

- name: Set up clap-info
shell: bash
run: |
git clone --recurse-submodules https://github.com/surge-synthesizer/clap-info
cd clap-info
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel 4
- name: Run clap-info (Max/Linux)
if: runner.os == 'Linux' || runner.os == 'MacOS'
shell: bash
run: |
clap-info/build/clap-info --version
clap-info/build/clap-info build/examples/GainPlugin/GainPlugin_artefacts/Release/CLAP/GainPlugin.clap
- name: Run clap-info (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
clap-info/build/Release/clap-info --version
clap-info/build/Release/clap-info build/examples/GainPlugin/GainPlugin_artefacts/Release/CLAP/GainPlugin.clap
22 changes: 22 additions & 0 deletions .github/workflows/build-projucer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,25 @@ jobs:
cmake --build build-clap --config Debug --target GainPlugin_CLAP
env:
CLAP_GEN: ${{ matrix.clap_gen }}

- name: Set up clap-info
shell: bash
run: |
git clone --recurse-submodules https://github.com/surge-synthesizer/clap-info
cd clap-info
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel 4
- name: Run clap-info (Max/Linux)
if: runner.os == 'MacOS' # || runner.os == 'Linux' @TODO: figure out why `clap_entry` returns nullptr for Linux Projucer builds
shell: bash
run: |
clap-info/build/clap-info --version
clap-info/build/clap-info build-clap/examples/GainPlugin/GainPlugin_artefacts/Debug/GainPlugin.clap
- name: Run clap-info (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
clap-info/build/Release/clap-info --version
clap-info/build/Release/clap-info build-clap/examples/GainPlugin/GainPlugin_artefacts/Debug/GainPlugin.clap
2 changes: 1 addition & 1 deletion examples/GainPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ target_compile_definitions(GainPlugin PUBLIC
JUCE_USE_CURL=0
JUCE_JACK=1
JUCE_ALSA=1
JUCE_MODAL_LOOPS_PERMITTED=0
JUCE_MODAL_LOOPS_PERMITTED=1 # required for Linux FileChooser with JUCE 6.0.7
JUCE_VST3_CAN_REPLACE_VST2=0
)

Expand Down
1 change: 1 addition & 0 deletions examples/GainPlugin/GainPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class GainPlugin : public juce::AudioProcessor,
void prepareToPlay(double sampleRate, int samplesPerBlock) override;
void releaseResources() override {}
void processBlock(juce::AudioBuffer<float> &, juce::MidiBuffer &) override;
void processBlock(juce::AudioBuffer<double> &, juce::MidiBuffer &) override {}

bool supportsDirectProcess() override { return true; }
clap_process_status clap_direct_process(const clap_process *process) noexcept override;
Expand Down

0 comments on commit 00960ac

Please sign in to comment.