Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
233 commits
Select commit Hold shift + click to select a range
7d6c112
Fix deken crashing if the deken server is offline
timothyschoen Sep 22, 2025
11b5050
Fix visual glitch in deken dialog
timothyschoen Sep 22, 2025
b033118
flip icons
dromer Sep 30, 2025
fd959f9
add nop~
dromer Nov 12, 2025
53ff615
Fix radio object reporting wrong name
timothyschoen Dec 5, 2025
ab4af13
Merge pull request #2193 from Wasted-Audio/fix/heavy-object-icons
timothyschoen Dec 5, 2025
3a3b472
Merge pull request #2222 from Wasted-Audio/heavy/nop
timothyschoen Dec 5, 2025
e164d6c
Allow ? and @ symbols inside listbox
timothyschoen Dec 5, 2025
30773a7
macOS: fix externals not loading properly
timothyschoen Dec 5, 2025
d2a4232
Make sure patch gets marked dirty if inspector properties change
timothyschoen Dec 5, 2025
dd56d4e
Fix typo in colour conversion function
timothyschoen Dec 5, 2025
273d5ad
Enforce pdproj extension when exporting workspace
timothyschoen Dec 5, 2025
0a93a12
Add ASIO support (under new GPLv3 dual license)
timothyschoen Dec 6, 2025
4bd2965
Fix keyboard focus bug in Logic
timothyschoen Dec 8, 2025
0b5da93
Make [knob] drag behaviour consistent with pure-data version
timothyschoen Dec 8, 2025
9aa824b
Fix Windows settings reporting missing font
timothyschoen Dec 8, 2025
13fa984
Font fix
timothyschoen Dec 8, 2025
57870a7
Fix heavy compatibility mode issue
timothyschoen Dec 8, 2025
abafe88
Fix latency compensation numberbox range
timothyschoen Dec 8, 2025
cf0eded
add expr/expr~/block to allowed objects
dromer Dec 15, 2025
d7fb6dd
Fix inconsistencies when marking objects as Heavy compatible
timothyschoen Dec 16, 2025
64ccf99
Fix github actions macOS legacy runner
timothyschoen Dec 16, 2025
a3a8284
Fix problem reading special symbols in patch store on Windows
timothyschoen Dec 16, 2025
d247381
Fix expmode issue for [knob]
timothyschoen Dec 17, 2025
e2afa5f
Block repainting on invisible canvases
timothyschoen Dec 19, 2025
5489756
Fix potential crash caused by internal GM synth
timothyschoen Dec 21, 2025
88bab24
Fix GM synth loud noise glitch cause by channel mismatch
timothyschoen Dec 21, 2025
d542db4
Limit internal GM synth to stereo output to prevent glitches
timothyschoen Dec 21, 2025
49c9bb8
Fix symbolbox duplicated output
timothyschoen Dec 21, 2025
f48425f
Handle MIDI output the same way JUCE does it by default
timothyschoen Dec 21, 2025
e31eb9c
Clean up
timothyschoen Dec 21, 2025
71d3703
Revert change causing plugineditor not to remember it's last size ins…
timothyschoen Dec 23, 2025
a602e48
Try fixing Windows MIDI latency
timothyschoen Dec 24, 2025
2dd8087
Don't show escape character for [knob] send/receive in inspector
timothyschoen Dec 26, 2025
5965774
Fix [param] helpfile typo
timothyschoen Dec 26, 2025
6413370
Fix potential crashes when plugin gets reloaded by DAW (especially in…
timothyschoen Dec 27, 2025
878813c
Fix OS repaint messages not triggering repaint on custom openGL context
timothyschoen Dec 27, 2025
860d263
Fix some unncessary repainting
timothyschoen Dec 27, 2025
8e7c7e3
Fix bl.square~ from menu creating wrong object
timothyschoen Dec 27, 2025
4273945
Rename Windows Audio to WASAPI for accuracy
timothyschoen Dec 27, 2025
be4d704
Minor optimisation: only blit to screen when software rendered area f…
timothyschoen Dec 28, 2025
89a23c3
Compilation fix
timothyschoen Dec 28, 2025
8409a98
Increment version number
timothyschoen Dec 28, 2025
b6a4c8a
Compilation fix
timothyschoen Dec 28, 2025
f8a2823
Fix potential crash at high samplerates
timothyschoen Dec 28, 2025
2ba79eb
Fix DAW startup crash
timothyschoen Dec 28, 2025
45098db
Make sure last window size gets stored when in pluginmode
timothyschoen Dec 28, 2025
2bf367f
Make sure DAW automation values get set when param default value is u…
timothyschoen Dec 28, 2025
d558f27
Hide internal GM synth from MIDI settings in plugin
timothyschoen Dec 28, 2025
7f81eda
Merge branch 'develop' into heavy/expr-block
dromer Dec 30, 2025
31e1475
set current size
dromer Dec 30, 2025
d208d5a
Merge pull request #2231 from Wasted-Audio/heavy/expr-block
timothyschoen Dec 30, 2025
09fa750
Fix broken "limit" message in DAW if editor is not open
timothyschoen Dec 30, 2025
bcd6385
Fix objects with background implementations getting recreated unneces…
timothyschoen Dec 30, 2025
53d367d
Add "Scale" property to meta.json to apply DPI scale factor
timothyschoen Dec 30, 2025
2093757
Fix audio parameter outputting zero when reenabling
timothyschoen Jan 2, 2026
63bb026
Merge branch 'develop' of https://github.com/plugdata-team/plugdata i…
timothyschoen Jan 2, 2026
5a78233
Increase Windows installer compression
timothyschoen Jan 2, 2026
bc4db71
Increase macOS pkg compression
timothyschoen Jan 2, 2026
5b21cdd
Reduce MSVC warnings from /bigobj flag
timothyschoen Jan 2, 2026
dd8f3ff
Fix typo in cmakelists
timothyschoen Jan 2, 2026
f48765c
Fix fftw /bigobj warnings
timothyschoen Jan 2, 2026
d90ab21
Safer way to enable LTO
timothyschoen Jan 2, 2026
83d7539
Fix MSVC compiler warnings
timothyschoen Jan 2, 2026
068a491
Clean up
timothyschoen Jan 2, 2026
daeda81
Fix or silence unncessary MSVC warnings
timothyschoen Jan 2, 2026
c5bcc60
Fix version management when installing .plugdata packages
timothyschoen Jan 4, 2026
efd675b
Make sure DAW presets can be transferred from Windows to macOS/Linux
timothyschoen Jan 4, 2026
8839405
Fix assertion hit
timothyschoen Jan 6, 2026
7324367
Show error message if openGL3 is not supported instead of crashing
timothyschoen Jan 6, 2026
fd88a9c
Fix alert box outline detail
timothyschoen Jan 6, 2026
e518b69
Apply C++ best practices
timothyschoen Jan 7, 2026
a7804eb
Apply formatting
timothyschoen Jan 7, 2026
2787433
More cleaning up
timothyschoen Jan 7, 2026
290205a
More code cleanup
timothyschoen Jan 8, 2026
685ce2f
More cleaning up
timothyschoen Jan 11, 2026
5175b29
Reduce audio thread CPU spikes caused by [note]
timothyschoen Jan 12, 2026
d5947a6
Add security warning when opening patch downloaded from the internet
timothyschoen Jan 12, 2026
109efb8
Prevent [pic] loading from blocking audio thread
timothyschoen Jan 12, 2026
275fc3a
Minor optimisations: don't update welcome panel when opening plugin w…
timothyschoen Jan 13, 2026
dedf3c8
Clean up unused variable
timothyschoen Jan 13, 2026
6e3d3a5
Make security warning message more clear
timothyschoen Jan 13, 2026
77f87b1
Fix patches not getting added to recently opened
timothyschoen Jan 13, 2026
e137059
Also show security warning when opening plugdata packages from the in…
timothyschoen Jan 13, 2026
52b174e
Fix [note] colour not updating, fix messbox assertion
timothyschoen Jan 13, 2026
34f9157
Prevent internal GM synth from initting multiple times
timothyschoen Jan 13, 2026
cd1dc56
Update README.md
timothyschoen Jan 13, 2026
d39ddaa
Fix link to JUCE repo
timothyschoen Jan 13, 2026
585c7ae
Fix openGL repaint issue for Linux
timothyschoen Jan 13, 2026
63261fc
Merge branch 'develop' of https://github.com/plugdata-team/plugdata i…
timothyschoen Jan 13, 2026
de7cc68
Fix more openGL repaint issues
timothyschoen Jan 14, 2026
ab3d846
Fix typo
timothyschoen Jan 14, 2026
f5a6c41
Final fixes for openGL repainting
timothyschoen Jan 14, 2026
9e8f986
Update nightly build download mirrors after build
timothyschoen Jan 14, 2026
fda6570
Windows compilation fix
timothyschoen Jan 14, 2026
cc28363
Fix update check in patch store
timothyschoen Jan 15, 2026
7f6610e
Add tab animations when creating/deleting tabs
timothyschoen Jan 16, 2026
bbccf51
Fix [keyboard] triggering patch state change when initializing GUI
timothyschoen Jan 16, 2026
85a77a5
Improve text/number editor: fix interactionFn, fix int showing decima…
timothyschoen Jan 16, 2026
5a4efb4
Improve canvas temporary border showing
timothyschoen Jan 16, 2026
3f8990d
Fix compiler warnings
timothyschoen Jan 16, 2026
d4014c7
Fix more gcc compiler warnings
timothyschoen Jan 16, 2026
08ae813
Windows compilation fix
timothyschoen Jan 16, 2026
eccef55
Allow passing in range to [param] create message
timothyschoen Jan 16, 2026
a2fd91d
Revert changes that broke Windows compilation
timothyschoen Jan 16, 2026
3490df2
Make window shadow and outline better on Linux
timothyschoen Jan 18, 2026
3f52bf8
Improve image resampling
timothyschoen Jan 20, 2026
d0dd879
Skip extra interpolation when using GL ES
timothyschoen Jan 20, 2026
4c76ac9
Slight improvement for image resampling
timothyschoen Jan 21, 2026
58cd9ab
More image resampling improvements
timothyschoen Jan 23, 2026
ac8057d
Fix outline on Linux when window is maximised
timothyschoen Jan 23, 2026
7aa5744
Reduce amount of image resampling done on image buffered objects
timothyschoen Jan 23, 2026
f9707c3
Fix erroneous newlines on Linux when syntax highlighting is enabled
timothyschoen Jan 23, 2026
f2ef96d
Improve image resampling by adding proper sRGB support to nanovg
timothyschoen Jan 24, 2026
282153e
Merge pull request #2269 from plugdata-team/srgb_image_test
timothyschoen Jan 24, 2026
2acd233
Simplify image resampling
timothyschoen Jan 25, 2026
d6c6dc7
Merge pull request #2270 from plugdata-team/srgb_image_test
timothyschoen Jan 25, 2026
67b9461
Fix blurry rendering when pluginmode is fullscreen
timothyschoen Jan 25, 2026
0476ccd
Fix bng/tgl default label position
timothyschoen Jan 25, 2026
5e7d916
macOS: make sure window becomes active when save dialog is shown
timothyschoen Jan 26, 2026
fad6128
Fix glitches when transitioning from welcome panel to canvas
timothyschoen Jan 26, 2026
f8d1363
Small fix for Linux
timothyschoen Jan 26, 2026
19ad9e7
Fixes when using global scale factor setting
timothyschoen Jan 27, 2026
d3913f7
Fix frame transitions when showing dialogs
timothyschoen Jan 27, 2026
8d2dd5f
Fix frame transition glitches on Windows
timothyschoen Jan 27, 2026
0a517e6
Merge branch 'develop' into tab-animations
timothyschoen Jan 27, 2026
22f6059
Clean up, don't animate when window size changes
timothyschoen Jan 27, 2026
bca7b4f
Merge pull request #2273 from plugdata-team/tab-animations
timothyschoen Jan 27, 2026
85c2f59
Small tab animation fix
timothyschoen Jan 27, 2026
b11889f
Improve smoothness of dialog show/hide
timothyschoen Jan 28, 2026
94fa004
Object resize improvements: don't allow graph resize from outside, on…
timothyschoen Jan 29, 2026
da40c84
Make [numbox~] look like the else equivalent
timothyschoen Jan 29, 2026
b981313
bug fix in param.pd
jyg Jan 29, 2026
ec69b86
iOS improvements: add open folder option to access sibling files, sto…
timothyschoen Jan 30, 2026
9f1444e
Compilation fix
timothyschoen Jan 30, 2026
bafe8a0
iOS improvements: implement FS listener, improved touch behaviour, fi…
timothyschoen Jan 31, 2026
742a277
Small iOS scroll fix
timothyschoen Jan 31, 2026
95798fe
iOS scrolling fix
timothyschoen Jan 31, 2026
20e5465
iOS: small touch gesture improvement
timothyschoen Jan 31, 2026
d1620f7
Improve iOS icon quality
timothyschoen Jan 31, 2026
a77e3d9
iOS: sfizz compile fix
timothyschoen Jan 31, 2026
62dcdd1
Fix welcome panel click issue
timothyschoen Jan 31, 2026
91bc68e
Compilation fix
timothyschoen Jan 31, 2026
9fad84d
Fix deletion crash caused by [keyboard]
timothyschoen Jan 31, 2026
8e71ee6
Fix various DAW threading bugs
timothyschoen Feb 2, 2026
6d9b4ef
Fix more multi-instance threading issues
timothyschoen Feb 2, 2026
8e16d15
Fix tooltip positioning with hi-dpi or global scaling applied
timothyschoen Feb 3, 2026
9af023c
Fix black line at top of canvas when applying fractional global scale…
timothyschoen Feb 3, 2026
5a96ee3
Update tests to new API
timothyschoen Feb 3, 2026
6996c2c
Merge pull request #2277 from jyg/develop
timothyschoen Feb 3, 2026
762e1a0
use heavylib 0.4.1
dromer Feb 3, 2026
075ea3e
Merge branch 'develop' of https://github.com/plugdata-team/plugdata i…
timothyschoen Feb 3, 2026
afbc6b2
Increment version suffix
timothyschoen Feb 3, 2026
a99015e
Remove unused property on Slider
timothyschoen Feb 3, 2026
481c321
mod version
dromer Feb 3, 2026
bbbf1ab
Merge pull request #2283 from Wasted-Audio/update-heavylib
timothyschoen Feb 3, 2026
a6a31fa
Fix pd path compare bug
timothyschoen Feb 3, 2026
17216e0
Merge branch 'develop' of https://github.com/plugdata-team/plugdata i…
timothyschoen Feb 3, 2026
43c80e7
Fix inlet hiding for [scope~]
timothyschoen Feb 3, 2026
02c8fc3
Fixed many object parameter related issues, faster parameter system
timothyschoen Feb 4, 2026
1cc3cf8
Fix [openfile] link display
timothyschoen Feb 4, 2026
c4d5607
Make function names more reflective of behaviour
timothyschoen Feb 4, 2026
b02ff1a
Fix potential issues locating patches with new versioning system, mov…
timothyschoen Feb 4, 2026
b80f459
Fix library panel issues: more robust version management, allow multi…
timothyschoen Feb 4, 2026
a7fe5e1
Move window to front for prompt dialogs
timothyschoen Feb 4, 2026
aac5896
Store last pluginmode zoom for patches that have a meta file
timothyschoen Feb 5, 2026
e70b372
Improve welcome panel version handling when deleting patches
timothyschoen Feb 5, 2026
80e72bb
iOS touch fix
timothyschoen Feb 5, 2026
0a9eb45
Fix pallete bug on iOS
timothyschoen Feb 5, 2026
2647c75
Fix DPF export bug on Windows caused by bad meta.json path
timothyschoen Feb 5, 2026
16a0b76
Simplify finding lost patches
timothyschoen Feb 5, 2026
71a292d
Clean up Heavy exporter: helper function to fix Windows path names
timothyschoen Feb 5, 2026
e4ceb8b
Heavy exporter: reduce pd external generator console spam
timothyschoen Feb 5, 2026
6f38358
Fix typo in Daisy exporter
timothyschoen Feb 5, 2026
2f2bbfa
Don't close dialogs on clicking dark area if we're not the foreground…
timothyschoen Feb 6, 2026
692a5e4
Fix pluginmode issue on Windows
timothyschoen Feb 6, 2026
384b855
Improve Heavy console with ANSI colour, font weight and command logging
timothyschoen Feb 5, 2026
a6d5d87
Fix connection message display scaling for plugin on Windows/Linux
timothyschoen Feb 6, 2026
10f5494
Merge pull request #2287 from plugdata-team/heavy-better-console
timothyschoen Feb 6, 2026
e767476
Fix spacebar blocking mouse input for pluginmode
timothyschoen Feb 9, 2026
1fe6689
Heavy: Implement carriage return for console window, improve exit sta…
timothyschoen Feb 9, 2026
5a7dd13
Heavy: better way to handle dfu-util exit status
timothyschoen Feb 9, 2026
298da63
Add arch and opensuse arm64 builds
timothyschoen Feb 9, 2026
15a8522
Merge pull request #2288 from plugdata-team/more-arm-builds
timothyschoen Feb 9, 2026
cac1593
Heavy/Daisy: Only show note about false error if it occurs
timothyschoen Feb 9, 2026
2d82d1e
Small shader rounding fix
timothyschoen Feb 10, 2026
620bfc0
Try to fix blurry pdlua rendering
timothyschoen Feb 10, 2026
1052c23
Improve nanovg text rendering
timothyschoen Feb 10, 2026
b8b5379
Small pdlua fixes
timothyschoen Feb 10, 2026
8bbce41
Merge pull request #2290 from plugdata-team/pdlua-blurry-rendering-fix
timothyschoen Feb 10, 2026
b430f30
Fix nanovg GLES support
timothyschoen Feb 10, 2026
2955468
Upload all builds in one package if pushing on main branch
timothyschoen Feb 10, 2026
4da1ab1
Fix broken 'delete all' option for library panel
timothyschoen Feb 10, 2026
53a1ae4
Fix broken welcome panel icon
timothyschoen Feb 10, 2026
fe36ff3
Fix broken welcome panel icon
timothyschoen Feb 10, 2026
5e5bc1d
nanovg: fix nonzero winding issues
timothyschoen Feb 11, 2026
ce618bd
Fix nanovg regression, small performance improvement
timothyschoen Feb 11, 2026
368afe0
Slight performance improvements for Metal
timothyschoen Feb 11, 2026
38d424c
Improve nanovg text rendering performance
timothyschoen Feb 12, 2026
0099ecc
Fix lua editor crash, don't allow users to edit global lua file
timothyschoen Feb 12, 2026
b28e957
Also don't allow opening pd.lua by clicking
timothyschoen Feb 12, 2026
97390ff
Linux: skip frames if rendering a frame took too long, to prevent occ…
timothyschoen Feb 12, 2026
09a4af3
Make compiled mode handle graphs correctly
timothyschoen Feb 12, 2026
064392b
Let array bypass mouse clicks if set to non-editable
timothyschoen Feb 12, 2026
e2e4e48
Improve text editor key mappings
timothyschoen Feb 12, 2026
03bf690
Metal shader improvement
timothyschoen Feb 12, 2026
30a6c2e
Fix screen getting cut off on some iPads
timothyschoen Feb 12, 2026
d9a87ba
Make grid fade slightly slower
timothyschoen Feb 13, 2026
d1ab049
MIDI fixes: send DAW input at channel 0, fix MIDI selection popup men…
timothyschoen Feb 13, 2026
8842e91
Increment plugdata version
timothyschoen Feb 13, 2026
e681132
Set version suffix to release
timothyschoen Feb 13, 2026
c8cb11f
Improve text editor selection behaviour
timothyschoen Feb 13, 2026
d12b5e5
Small text editor selection fix
timothyschoen Feb 13, 2026
c178037
Improve text editor double-click selection handling
timothyschoen Feb 13, 2026
2f3621f
Various build system cleanups: better IDE folder grouping, don't modi…
timothyschoen Feb 13, 2026
663c7be
Small cmake cleanup
timothyschoen Feb 13, 2026
9953fe6
Small cmake fix
timothyschoen Feb 13, 2026
1a47db2
pdlua helpfile fix
timothyschoen Feb 13, 2026
79cad63
Implement proper line wrapping for text/code editor
timothyschoen Feb 13, 2026
cc19c47
Merge branch 'text-editor-wrap-lines' into develop
timothyschoen Feb 13, 2026
5a7bfad
Fix python formatting issue
timothyschoen Feb 13, 2026
14020b7
Text editor cleanup
timothyschoen Feb 13, 2026
69e8136
Small text editor fix
timothyschoen Feb 13, 2026
a968194
Fix for older cmake versions
timothyschoen Feb 13, 2026
65b4e78
Update cmake installation script
timothyschoen Feb 13, 2026
8b5b104
Fix various ways in which Heavy can quickly trigger the FileSystemWat…
timothyschoen Feb 13, 2026
9a88258
Fix for iOS file copying system
timothyschoen Feb 13, 2026
c8bb446
Welcome panel: fix deleting library patches if they are just od files
timothyschoen Feb 13, 2026
8450189
Make sure [note] updates colour when initialising
timothyschoen Feb 13, 2026
d43eacc
Fix more potential note issues
timothyschoen Feb 13, 2026
c6a1f19
More [note] fixes
timothyschoen Feb 13, 2026
703b024
Try fixing potential source of crashes in Ableton
timothyschoen Feb 13, 2026
c4333ed
Another attempt at fixing Ableton crash
timothyschoen Feb 13, 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
10 changes: 5 additions & 5 deletions .github/scripts/install-cmake.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
case $(uname -m) in
x86_64) curl -L https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.sh --output ./do-install-cmake.sh ;;
arm) curl -L https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-aarch64.sh --output ./do-install-cmake.sh ;;
arm64) curl -L https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-aarch64.sh --output ./do-install-cmake.sh ;;
aarch64) curl -L https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-aarch64.sh --output ./do-install-cmake.sh ;;
x86_64) curl -L https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.sh --output ./do-install-cmake.sh ;;
arm) curl -L https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-aarch64.sh --output ./do-install-cmake.sh ;;
arm64) curl -L https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-aarch64.sh --output ./do-install-cmake.sh ;;
aarch64) curl -L https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-aarch64.sh --output ./do-install-cmake.sh ;;
esac

chmod +x do-install-cmake.sh
./do-install-cmake.sh --skip-license --prefix=/usr
./do-install-cmake.sh --skip-license --prefix=/usr
4 changes: 2 additions & 2 deletions .github/scripts/package-Windows.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION=0.9.2
VERSION=0.9.3

X64BitMode=""
if [[ $1 == "plugdata-Win64.msi" ]]; then
Expand Down Expand Up @@ -27,7 +27,7 @@ cat > ./plugdata.wxs <<-EOL
<Product Id="*" UpgradeCode="\$(var.ProductUpgradeCode)"
Name="plugdata" Version="\$(var.ProductVersion)" Manufacturer="Timothy Schoen" Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package"/>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes"/>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" CompressionLevel="high"/>
<Icon Id="ProductIcon" SourceFile="Resources\Icons\icon.ico"/>
<Property Id="ARPPRODUCTICON" Value="ProductIcon"/>
<WixVariable Id="WixUILicenseRtf" Value="Resources\Installer\LICENSE.rtf" />
Expand Down
20 changes: 14 additions & 6 deletions .github/scripts/package-macOS.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ build_flavor()
flavorprod=$2
ident=$3
loc=$4
min_os=$5

echo --- BUILDING ${PRODUCT_NAME}_${flavor}.pkg ---

Expand All @@ -44,7 +45,7 @@ build_flavor()
pkgbuild --analyze --root $TMPDIR ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.plist
plutil -replace BundleIsRelocatable -bool NO ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.plist
plutil -replace BundleIsVersionChecked -bool NO ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.plist
pkgbuild --root $TMPDIR --identifier $ident --version $VERSION --install-location $loc --component-plist ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.plist ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.pkg
pkgbuild --root $TMPDIR --identifier $ident --version $VERSION --install-location $loc --min-os-version $min_os --compression latest --component-plist ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.plist ${PKG_DIR}/${PRODUCT_NAME}_${flavor}.pkg

rm -r $TMPDIR
}
Expand All @@ -64,29 +65,36 @@ if [ -n "$AC_USERNAME" ]; then

fi

BUILD_TYPE=$1
if [[ "$BUILD_TYPE" == "Universal" ]]; then
MIN_OS_VERSION="10.15"
else
MIN_OS_VERSION="10.11" # Use default/legacy for 10.11 support
fi

# # try to build VST3 package
if [[ -d $VST3 ]]; then
build_flavor "VST3" $VST3 "com.plugdata.vst3.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/VST3"
build_flavor "VST3" $VST3 "com.plugdata.vst3.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/VST3" "$MIN_OS_VERSION"
fi

# try to build LV2 package
if [[ -d $LV2 ]]; then
build_flavor "LV2" $LV2 "com.plugdata.lv2.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/LV2"
build_flavor "LV2" $LV2 "com.plugdata.lv2.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/LV2" "$MIN_OS_VERSION"
fi

# # try to build AU package
if [[ -d $AU ]]; then
build_flavor "AU" $AU "com.plugdata.au.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/Components"
build_flavor "AU" $AU "com.plugdata.au.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/Components" "$MIN_OS_VERSION"
fi

# # try to build CLAP package
if [[ -d $CLAP ]]; then
build_flavor "CLAP" $CLAP "com.plugdata.clap.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/CLAP"
build_flavor "CLAP" $CLAP "com.plugdata.clap.pkg.${PRODUCT_NAME}" "/Library/Audio/Plug-Ins/CLAP" "$MIN_OS_VERSION"
fi

# try to build App package
if [[ -d $APP ]]; then
build_flavor "APP" $APP "com.plugdata.app.pkg.${PRODUCT_NAME}" "/Applications"
build_flavor "APP" $APP "com.plugdata.app.pkg.${PRODUCT_NAME}" "/Applications" "$MIN_OS_VERSION"
fi


Expand Down
72 changes: 69 additions & 3 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-macOS-Universal.pkg s3://plugdata-nightly/
aws s3 cp ./plugdata-macOS-Universal.pkg.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-macOS-Universal.pkg" "/plugdata-macOS-Universal.pkg.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand All @@ -77,7 +78,7 @@ jobs:
files: plugdata-macOS-Universal

macos-legacy-build:
runs-on: macos-13
runs-on: macos-14

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -131,6 +132,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-macOS-Legacy.pkg s3://plugdata-nightly/
aws s3 cp ./plugdata-macOS-Legacy.pkg.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-macOS-Legacy.pkg" "/plugdata-macOS-Legacy.pkg.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -191,6 +193,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-Win64.msi s3://plugdata-nightly/
aws s3 cp ./plugdata-Win64.msi.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-Win64.msi" "/plugdata-Win64.msi.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -244,6 +247,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-Win32.msi s3://plugdata-nightly/
aws s3 cp ./plugdata-Win32.msi.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-Win32.msi" "/plugdata-Win32.msi.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -305,11 +309,11 @@ jobs:

- name: Install Dependencies (zypper)
if: ${{ matrix.pacman == 'zypper' }}
run: zypper refresh && zypper install -y git rsync wget bzip2 xz tar cmake alsa-devel libXinerama-devel libXi-devel libcurl-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel freetype2-devel gcc gcc-c++ curl ccache python3 libjack-devel gawk unzip ninja
run: zypper dup -y && zypper install -y git rsync wget bzip2 xz tar cmake alsa-devel libXinerama-devel libXi-devel libcurl-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel freetype2-devel gcc gcc-c++ curl ccache python3 libjack-devel gawk unzip ninja

- name: Install Dependencies (pacman)
if: ${{ matrix.pacman == 'pacman' }}
run: pacman -Sy && pacman -S --noconfirm cmake wget bzip2 git alsa-lib freetype2 libx11 libxcursor libxi libxext libxinerama libxrandr libxrender webkit2gtk cmake make gcc pkgconf python python-pip curl ccache freeglut mesa glfw-x11 glew jack2 openssl unzip ninja && pacman --noconfirm -Syu
run: pacman --noconfirm -Syu && pacman -S --noconfirm tar cmake wget bzip2 git alsa-lib freetype2 libx11 libxcursor libxi libxext libxinerama libxrandr libxrender webkit2gtk cmake make gcc pkgconf python python-pip curl ccache freeglut mesa glfw-x11 glew jack2 openssl unzip ninja && pacman --noconfirm -Syu

- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -349,6 +353,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-${{ matrix.name }}.tar.xz s3://plugdata-nightly/
aws s3 cp ./plugdata-${{ matrix.name }}.tar.xz.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-${{ matrix.name }}.tar.xz" "/plugdata-${{ matrix.name }}.tar.xz.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -392,6 +397,12 @@ jobs:
- name: Fedora-42-aarch64
os: fedora:42
pacman: dnf
- name: OpenSUSE-Tumbleweed-aarch64
os: opensuse/tumbleweed
pacman: zypper
- name: Arch-aarch64
os: agners/archlinuxarm
pacman: pacman

steps:
- name: Install Dependencies (dnf)
Expand All @@ -402,6 +413,14 @@ jobs:
if: ${{ matrix.pacman == 'apt' }}
run: apt update && DEBIAN_FRONTEND=noninteractive TZ="Europe/Amsterdam" apt install -y cmake git wget bzip2 build-essential libasound2-dev libjack-jackd2-dev curl libcurl4-openssl-dev libfreetype6-dev libx11-dev libxi-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxrandr-dev libxinerama-dev ccache python3 python3-pip freeglut3-dev unzip ninja-build

- name: Install Dependencies (zypper)
if: ${{ matrix.pacman == 'zypper' }}
run: zypper dup -y && zypper install -y git rsync wget bzip2 xz tar cmake alsa-devel libXinerama-devel libXi-devel libcurl-devel libXcomposite-devel freeglut-devel libXrandr-devel libXcursor-devel freetype2-devel gcc gcc-c++ curl ccache python3 libjack-devel gawk unzip ninja

- name: Install Dependencies (pacman)
if: ${{ matrix.pacman == 'pacman' }}
run: pacman --noconfirm -Syu && pacman -S --noconfirm tar cmake wget bzip2 git alsa-lib freetype2 libx11 libxcursor libxi libxext libxinerama libxrandr libxrender webkit2gtk cmake make gcc pkgconf python python-pip curl ccache freeglut mesa glfw-x11 glew jack2 openssl unzip ninja

- uses: actions/checkout@v4
with:
submodules: recursive
Expand Down Expand Up @@ -439,6 +458,7 @@ jobs:
aws configure set default.region eu-north-1
aws s3 cp ./plugdata-${{ matrix.name }}.tar.xz s3://plugdata-nightly/
aws s3 cp ./plugdata-${{ matrix.name }}.tar.xz.txt s3://plugdata-nightly/
aws cloudfront create-invalidation --distribution-id E3OV68BQRGDGE2 --paths "/plugdata-${{ matrix.name }}.tar.xz" "/plugdata-${{ matrix.name }}.tar.xz.txt"

- name: Archive Artifacts
uses: actions/upload-artifact@v4
Expand All @@ -453,3 +473,49 @@ jobs:
prerelease: true
draft: true
files: plugdata-${{ matrix.name }}

push-nightlies:
runs-on: ubuntu-latest
needs:
[
macos-universal-build,
macos-legacy-build,
windows-64-build,
windows-32-build,
linux-x64-build,
linux-arm-build,
]
if: always() && github.ref == 'refs/heads/develop'
steps:
- name: Invalidate CloudFront Cache
run: |
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY }}
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_KEY }}
aws configure set default.region eu-north-1
aws cloudfront create-invalidation \
--distribution-id E3OV68BQRGDGE2 \
--paths "/*"

package-all-artifacts:
runs-on: ubuntu-latest
needs:
[
macos-universal-build,
macos-legacy-build,
windows-64-build,
windows-32-build,
linux-x64-build,
linux-arm-build,
]
if: github.ref == 'refs/heads/main'
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: release-package

- name: Upload combined package
uses: actions/upload-artifact@v4
with:
name: plugdata-all-platforms
path: release-package
Loading
Loading