Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
439b3a0
ci: use ossia/actions/avendish-template composite action (build_cmake…
jcelerier Jun 8, 2026
bc4134e
ci: point avendish-template action at @master
jcelerier Jun 8, 2026
8933b55
ci: build pd back-end (pd: true)
jcelerier Jun 8, 2026
de54c0a
cmake: migrate to find_package(Avendish) + avnd_addon_* (builds as sc…
jcelerier Jun 9, 2026
6d648bb
cmake: bump avendish pin
jcelerier Jun 11, 2026
31fcb96
ci: replace legacy build_cmake.yml with the new avnd-addon.yml flow
jcelerier Jun 13, 2026
cabac87
trigger CI
jcelerier Jun 13, 2026
f8dc3cf
ci: add workflow_dispatch trigger + push on migrate branch for testing
jcelerier Jun 13, 2026
b21a979
cmake: bump avendish pin to pick up output-naming + godot framework f…
jcelerier Jun 13, 2026
c8ae459
trigger rerun with gstreamer apt fix
jcelerier Jun 13, 2026
013c416
trigger rerun with composite maxdepth fix
jcelerier Jun 13, 2026
a169fab
trigger rerun with gcc-14 default on Linux
jcelerier Jun 13, 2026
186fd36
trigger rerun with gstreamer glob fix
jcelerier Jun 13, 2026
289badd
trigger rerun against pinned composite refs
jcelerier Jun 13, 2026
9951d28
trigger rerun with godot framework collection fix
jcelerier Jun 14, 2026
7eb5d4e
trigger rerun with zip/gstreamer-mac/wasm fixes
jcelerier Jun 14, 2026
56571f9
trigger rerun with pd-windows pd.lib fix
jcelerier Jun 14, 2026
604de32
trigger rerun with wasm boost fix
jcelerier Jun 14, 2026
9dfa09f
trigger rerun with gstreamer-mac linker fix
jcelerier Jun 14, 2026
95f79bb
trigger rerun with gstreamer-mac + bash-3.2 fixes
jcelerier Jun 14, 2026
309453b
ci: drop standalone, re-pin avendish for wasm embind fix
jcelerier Jun 14, 2026
d675a91
ci: re-pin avendish to corrected embind link-order fix
jcelerier Jun 14, 2026
bb2c971
ci: wire portability workflow to run on the PR
jcelerier Jun 15, 2026
5ddd40e
trigger rerun with portability cross-lane fixes
jcelerier Jun 15, 2026
8e20725
trigger rerun with backend-disabled portability
jcelerier Jun 15, 2026
355bfed
ci: drop the iOS portability lane
jcelerier Jun 15, 2026
ed6619b
ci: consolidate to merged refs (avendish main + actions @master)
jcelerier Jun 16, 2026
7db1489
ci: temporarily re-add branch trigger to validate consolidated config
jcelerier Jun 16, 2026
dbb71e0
Merge remote-tracking branch 'origin/main' into migrate-avnd-addon
jcelerier Jun 16, 2026
7b20023
cmake: bump avendish pin to main (post enum-control fix #107)
jcelerier Jun 16, 2026
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
46 changes: 0 additions & 46 deletions .github/workflows/build_cmake.yml

This file was deleted.

15 changes: 0 additions & 15 deletions .github/workflows/build_vs2026.yml

This file was deleted.

30 changes: 30 additions & 0 deletions .github/workflows/builds.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build

on:
pull_request:
push:
branches: [main, master]
tags: ['v*']

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
ci:
uses: ossia/actions/.github/workflows/avnd-addon.yml@master
secrets: inherit
with:
pd: true
max: true
vst3: true
clap: true
vintage: true
touchdesigner: true
python: true
godot: true
# standalone left off: the avendish standalone backend is incomplete and
# pulls in a GUI toolkit (Qt / GLEW+glfw) we don't provision in CI.
standalone: false
gstreamer: true
wasm: true
21 changes: 21 additions & 0 deletions .github/workflows/portability.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Portability

on:
pull_request:
push:
branches: [main, master]

concurrency:
group: ${{ github.workflow }}-portability-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
smoke:
uses: ossia/actions/.github/workflows/avnd-portability.yml@master
secrets: inherit
with:
# iOS off: Xcode multi-config intermediate-path plumbing fails for an
# audio-processing addon, and iOS isn't a meaningful target here. The
# other 20 lanes (desktop compilers + sanitizers, mingw, FreeBSD, wasm,
# Android, ESP32/RP2040) cover the portability surface.
ios: false
53 changes: 29 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,31 +1,36 @@
cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
cmake_minimum_required(VERSION 3.24 FATAL_ERROR)

project(MyProcessor CXX)

include(dependencies.cmake)
# Use the Avendish the host already provides (e.g. ossia score); otherwise fetch it.
# The same CMakeLists builds this as an ossia/score add-on or as a standalone object.
find_package(Avendish QUIET)
if(NOT Avendish_FOUND)
include(FetchContent)
FetchContent_Declare(
Avendish
GIT_REPOSITORY "https://github.com/celtera/avendish"
GIT_TAG 6dacc12)
FetchContent_Populate(Avendish)
list(APPEND CMAKE_PREFIX_PATH "${avendish_SOURCE_DIR}")
find_package(Avendish REQUIRED)
endif()

add_library(MyProcessor STATIC
src/Model.cpp
src/Model.hpp
src/UI.hpp
src/Processor.hpp
)
avnd_addon_init(NAME MyProcessor)

avnd_make_all(
TARGET MyProcessor
MAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/src/Processor.hpp"
MAIN_CLASS MyProcessor
# CATEGORY all: every back-end family -- audio plug-ins (VST3 / CLAP / VST2), the object
# bindings (Max / Pd / Python / TouchDesigner / Godot) and gstreamer. In a score build
# only the ossia process is produced. Back-ends whose SDK is absent are silently skipped.
avnd_addon_object(
BASE MyProcessor
C_NAME my_processor
)
CLASS MyProcessor
CATEGORY all
MAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/src/Processor.hpp"
SOURCES
src/Model.cpp
src/Model.hpp
src/UI.hpp
src/Processor.hpp)

# Workaround: when godot-cpp is pulled in via FetchContent, its only targets are
# `godot-cpp` (+ alias `godot::cpp`) — there is no `godot-cpp::godot-cpp`. Avendish's
# avnd_make_godot doesn't always resolve the target, so the generated headers under
# <godot-cpp-build>/gen/include never make it onto the GDExtension's include path and
# compilation fails with "godot_cpp/classes/node.hpp not found". Re-linking the target
# here (at a scope where it is visible) propagates godot-cpp's PUBLIC include dirs.
foreach(godot_target MyProcessor_NODE_godot MyProcessor_AUDIO_EFFECT_godot)
if(TARGET ${godot_target} AND TARGET godot-cpp)
target_link_libraries(${godot_target} PRIVATE godot-cpp)
endif()
endforeach()
avnd_addon_finalize(NAME MyProcessor UUID a0ef0602-d1b2-46b7-9615-2049e1e97774 VERSION 1.0.0)
12 changes: 0 additions & 12 deletions dependencies.cmake

This file was deleted.

Loading