1
Fork 0

Setup PawPaw and let it be used for CI extra deps (#93)

* Setup PawPaw and let it be used for CI extra deps

* Fix ci file

* Update readme

* Fix a typo

* Fix another typo

* Let PawPaw handle the build setup/env

* Fix typo

* One more fix

* Update AudibleInstruments

Signed-off-by: falkTX <falktx@falktx.com>

* Cleanup/Improve CardinalModuleWidget hackery

Signed-off-by: falkTX <falktx@falktx.com>

* Use LTO in PawPaw, fix build setup again

Signed-off-by: falkTX <falktx@falktx.com>

* Install libglib2.0-dev on CI static builds; Fix Prism conflicts

Signed-off-by: falkTX <falktx@falktx.com>

* Investigate why CI fails to install arch ports

Signed-off-by: falkTX <falktx@falktx.com>

* Ignore glib/fluidsynth for now

Signed-off-by: falkTX <falktx@falktx.com>

* Cleanup

Signed-off-by: falkTX <falktx@falktx.com>

* Fix a typo

Signed-off-by: falkTX <falktx@falktx.com>

* Fix another typo

Signed-off-by: falkTX <falktx@falktx.com>

* Use -m32 in linux-i686 builds

Signed-off-by: falkTX <falktx@falktx.com>

* Try using g++-multilib instead of g++-i686-linux-gnu

Signed-off-by: falkTX <falktx@falktx.com>

* Force fix macOS build

* Use shasum5.28
This commit is contained in:
Filipe Coelho 2021-12-14 22:16:37 +00:00 committed by GitHub
parent f998ee2ec3
commit 43951635e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 142 additions and 158 deletions

View File

@ -10,7 +10,7 @@ on:
env: env:
DEBIAN_FRONTEND: noninteractive DEBIAN_FRONTEND: noninteractive
HOMEBREW_NO_AUTO_UPDATE: 1 HOMEBREW_NO_AUTO_UPDATE: 1
LIBGL_ALWAYS_SOFTWARE: "true" LIBGL_ALWAYS_SOFTWARE: 'true'
jobs: jobs:
linux-arm64: linux-arm64:
@ -22,7 +22,11 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-linux-arm64 key: ccache-linux-arm64
- name: Set up dependencies - name: Set up dependencies
run: | run: |
@ -32,22 +36,24 @@ jobs:
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -yqq g++-aarch64-linux-gnu libgl1-mesa-dev:arm64 liblo-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static sudo apt-get install -yqq g++-aarch64-linux-gnu libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build linux arm64 cross-compiled - name: Build extra dependencies
env: env:
CC: aarch64-linux-gnu-gcc
CXX: aarch64-linux-gnu-g++
LDFLAGS: -static-libgcc -static-libstdc++
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh linux-aarch64
- name: Build linux arm64 cross-compiled
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env linux-aarch64; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@ -69,7 +75,11 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-linux-armhf key: ccache-linux-armhf
- name: Set up dependencies - name: Set up dependencies
run: | run: |
@ -79,22 +89,24 @@ jobs:
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -yqq g++-arm-linux-gnueabihf libgl1-mesa-dev:armhf liblo-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static sudo apt-get install -yqq g++-arm-linux-gnueabihf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build linux armhf cross-compiled - name: Build extra dependencies
env: env:
CC: arm-linux-gnueabihf-gcc
CXX: arm-linux-gnueabihf-g++
LDFLAGS: -static-libgcc -static-libstdc++
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh linux-armhf
- name: Build linux armhf cross-compiled
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env linux-armhf; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@ -107,7 +119,7 @@ jobs:
path: | path: |
*.tar.gz *.tar.gz
linux-x86: linux-i686:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -116,39 +128,43 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
key: ccache-linux-x86 ${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-linux-i686
- name: Set up dependencies - name: Set up dependencies
run: | run: |
sudo dpkg --add-architecture i386 sudo dpkg --add-architecture i386
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -yqq g++-i686-linux-gnu libgl1-mesa-dev:i386 liblo-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 sudo apt-get install -yqq g++-multilib libdbus-1-dev:i386 libgl1-mesa-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build linux x86 - name: Build extra dependencies
env: env:
CC: i686-linux-gnu-gcc
CXX: i686-linux-gnu-g++
CFLAGS: -m32
CXXFLAGS: -m32
LDFLAGS: -m32 -static-libgcc -static-libstdc++
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh linux-i686
- name: Build linux i686
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env linux-i686; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
- name: Pack binaries - name: Pack binaries
run: | run: |
tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-x86-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst) tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst)
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
with: with:
name: ${{ github.event.repository.name }}-linux-x86-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }} name: ${{ github.event.repository.name }}-linux-i686-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
path: | path: |
*.tar.gz *.tar.gz
@ -161,24 +177,31 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-linux-x86_64 key: ccache-linux-x86_64
- name: Set up dependencies - name: Set up dependencies
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -yqq libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build linux x86_64 - name: Build extra dependencies
env:
LDFLAGS: -static-libgcc -static-libstdc++
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh linux
- name: Build linux x86_64
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env linux; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@ -243,7 +266,7 @@ jobs:
- name: Set up dependencies - name: Set up dependencies
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -yqq libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev libarchive-dev libjansson-dev libsamplerate0-dev libspeexdsp-dev sudo apt-get install -yqq libgl1-mesa-dev liblo-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev libarchive-dev libjansson-dev libsamplerate0-dev libsndfile1-dev libspeexdsp-dev
- name: Build linux x86_64 (sysdeps) - name: Build linux x86_64 (sysdeps)
run: | run: |
make features make features
@ -258,26 +281,31 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-win32 key: ccache-win32
- name: Install ccache - name: Install ccache
run: | run: |
brew install ccache brew install ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Fix up Xcode - name: Fix up Xcode
run: | run: |
export PATH="/usr/local/opt/ccache/libexec:${PATH}"
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/* sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app" sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Build macOS universal - name: Build extra dependencies
env:
CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
run: | run: |
export PATH="/usr/local/opt/ccache/libexec:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh macos-universal
- name: Build macOS universal
run: |
export PATH="/usr/local/opt/ccache/libexec:${PATH}"
pushd deps/PawPaw; source local.env macos-universal; popd
make features make features
make NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(sysctl -n hw.logicalcpu)
./dpf/utils/package-osx-bundles.sh ./dpf/utils/package-osx-bundles.sh
- name: Set sha8 - name: Set sha8
id: slug id: slug
@ -297,7 +325,11 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-win32 key: ccache-win32
- name: Set up dependencies - name: Set up dependencies
run: | run: |
@ -308,21 +340,18 @@ jobs:
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build win32 cross-compiled - name: Build extra dependencies
env:
CC: i686-w64-mingw32-gcc
CXX: i686-w64-mingw32-g++
EXE_WRAPPER: wine
PKG_CONFIG: "false"
WINEARCH: "win32"
WINEDEBUG: "-all"
WINEDLLOVERRIDES: "mscoree,mshtml="
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh win32
- name: Build win32 cross-compiled
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env win32; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@ -344,7 +373,11 @@ jobs:
- name: Set up ccache - name: Set up ccache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.cache path: |
${HOME}/.cache
${HOME}/PawPawBuilds/builds
${HOME}/PawPawBuilds/downloads
${HOME}/PawPawBuilds/targets
key: ccache-win64 key: ccache-win64
- name: Set up dependencies - name: Set up dependencies
run: | run: |
@ -353,21 +386,18 @@ jobs:
- name: Install ccache - name: Install ccache
run: | run: |
sudo apt-get install -yqq ccache sudo apt-get install -yqq ccache
ccache --set-config=cache_dir=~/.cache ccache --set-config=cache_dir=${HOME}/.cache
ccache --set-config=compression=true ccache --set-config=compression=true
- name: Build win64 cross-compiled - name: Build extra dependencies
env:
CC: x86_64-w64-mingw32-gcc
CXX: x86_64-w64-mingw32-g++
EXE_WRAPPER: wine
PKG_CONFIG: "false"
WINEARCH: "win64"
WINEDEBUG: "-all"
WINEDLLOVERRIDES: "mscoree,mshtml="
run: | run: |
export PATH="/usr/lib/ccache:${PATH}" export PATH="/usr/lib/ccache:${PATH}"
./deps/PawPaw/bootstrap-cardinal.sh win64
- name: Build win64 cross-compiled
run: |
export PATH="/usr/lib/ccache:${PATH}"
pushd deps/PawPaw; source local.env win64; popd
make features make features
make WITH_LTO=true -j $(nproc) make NOOPT=true WITH_LTO=true WITH_PAWPAW=true -j $(nproc)
- name: Set sha8 - name: Set sha8
id: slug id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)" run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"

3
.gitmodules vendored
View File

@ -121,3 +121,6 @@
[submodule "plugins/21kHz"] [submodule "plugins/21kHz"]
path = plugins/21kHz path = plugins/21kHz
url = https://github.com/netboy3/21kHz-rack-plugins.git url = https://github.com/netboy3/21kHz-rack-plugins.git
[submodule "deps/PawPaw"]
path = deps/PawPaw
url = https://github.com/DISTRHO/PawPaw.git

View File

@ -20,9 +20,6 @@ SYSDEPS ?= false
CARLA_EXTRA_ARGS = \ CARLA_EXTRA_ARGS = \
HAVE_FFMPEG=false \ HAVE_FFMPEG=false \
HAVE_FLUIDSYNTH=false \
HAVE_LIBMAGIC=false \
HAVE_SNDFILE=false \
HAVE_PROJECTM=false \ HAVE_PROJECTM=false \
HAVE_ZYN_DEPS=false \ HAVE_ZYN_DEPS=false \
HAVE_ZYN_UI_DEPS=false HAVE_ZYN_UI_DEPS=false
@ -64,7 +61,7 @@ ifneq ($(WASM),true)
ifneq ($(HEADLESS),true) ifneq ($(HEADLESS),true)
ifneq ($(HAVE_OPENGL),true) ifneq ($(HAVE_OPENGL),true)
$(error X11 dependency not installed/available) $(error OpenGL dependency not installed/available)
endif endif
ifneq ($(HAVE_X11),true) ifneq ($(HAVE_X11),true)
$(error X11 dependency not installed/available) $(error X11 dependency not installed/available)

View File

@ -15,7 +15,7 @@ It does not load external modules and does not connect to the official Rack libr
Because it is using DPF, Cardinal already supports LV2 and VST2 with an extra JACK standalone mode if self-compiled. Because it is using DPF, Cardinal already supports LV2 and VST2 with an extra JACK standalone mode if self-compiled.
A VST3 version is in progress, already part of the build but still experimental. A VST3 version is in progress, already part of the build but still experimental.
**The project should be considered in alpha state at the moment.** **The project should be considered in beta state at the moment.**
## Plugin variants ## Plugin variants
@ -54,10 +54,10 @@ But a couple of modules background's have their colors flipped, because damn we
Most of the features already work, you can assume things work in general except when stated otherwise. Most of the features already work, you can assume things work in general except when stated otherwise.
Currently the following features are known NOT to work: Currently the following features are known NOT to work:
- Clipboard (copy&paste) - Clock related triggers in built-in MIDI modules [#25](https://github.com/DISTRHO/Cardinal/issues/25)
- Clock related triggers in built-in MIDI modules - VST3 support incomplete/experimental [#41](https://github.com/DISTRHO/Cardinal/issues/41)
- Export/import module selection - Factory (plugin-provided) presets [#58](https://github.com/DISTRHO/Cardinal/issues/58)
- File dialogs triggered by module right-click menus - File dialogs triggered by module right-click menus [#76, in progress](https://github.com/DISTRHO/Cardinal/issues/76)
### Current builds ### Current builds

4
deps/Makefile vendored
View File

@ -126,6 +126,10 @@ DEP_MAKE += DEP_FLAGS="$(BASE_FLAGS)"
DEP_MAKE += DEP_MAC_SDK_FLAGS= DEP_MAKE += DEP_MAC_SDK_FLAGS=
DEP_MAKE += MACHINE=$(MACHINE)$(MACHINE_SUFFIX) DEP_MAKE += MACHINE=$(MACHINE)$(MACHINE_SUFFIX)
ifeq ($(MACOS),true)
DEP_MAKE += SHA256SUM="shasum5.28 -a 256"
endif
# -------------------------------------------------------------- # --------------------------------------------------------------
# Rack internal dependencies target # Rack internal dependencies target

1
deps/PawPaw vendored Submodule

@ -0,0 +1 @@
Subproject commit 02ff3c65f53a8997a2c313e17afdc491c6575f61

View File

@ -1,28 +0,0 @@
/*
* DISTRHO Cardinal Plugin
* Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the LICENSE file.
*/
#pragma once
#ifdef BUILDING_PLUGIN_MODULES
# undef ModuleWidget
#endif
#include_next <app/RackWidget.hpp>
#ifdef BUILDING_PLUGIN_MODULES
# define ModuleWidget CardinalModuleWidget
#endif

View File

@ -1,29 +0,0 @@
/*
* DISTRHO Cardinal Plugin
* Copyright (C) 2021 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the LICENSE file.
*/
#pragma once
#ifdef BUILDING_PLUGIN_MODULES
namespace rack {
namespace app {
struct CardinalModuleWidget;
}
}
# define ModuleWidget CardinalModuleWidget
#endif
#include_next <plugin/Model.hpp>

View File

@ -17,12 +17,7 @@
#pragma once #pragma once
#ifdef BUILDING_PLUGIN_MODULES #include_next <rack.hpp>
# include <plugin/Model.hpp>
# undef ModuleWidget
#endif
#include_next <app/ModuleWidget.hpp>
#ifdef BUILDING_PLUGIN_MODULES #ifdef BUILDING_PLUGIN_MODULES
namespace rack { namespace rack {

@ -1 +1 @@
Subproject commit d31687dcb51bc851d9c8892ba75d4be3d472b264 Subproject commit e5f724d2611e16669e9261b6e82b38e7d2283ed4

View File

@ -543,8 +543,7 @@ PLUGIN_FILES += $(filter-out Prism/src/plugin.cpp, $(wildcard Prism/src/*.cpp))
PLUGIN_FILES += $(wildcard Prism/src/scales/*.cpp) PLUGIN_FILES += $(wildcard Prism/src/scales/*.cpp)
# modules/types which are present in other plugins # modules/types which are present in other plugins
PRISM_CUSTOM = bogaudio Filter FilterSetting Inputs Scale PRISM_CUSTOM = bogaudio Scale
# PRISM_CUSTOM_PER_FILE = PrismFilterSetting
# -------------------------------------------------------------- # --------------------------------------------------------------
# rackwindows # rackwindows
@ -1084,6 +1083,15 @@ $(BUILD_DIR)/ImpromptuModular/src/Foundr%.cpp.o: ImpromptuModular/src/Foundr%.cp
-DpluginInstance=pluginInstance__ImpromptuModular \ -DpluginInstance=pluginInstance__ImpromptuModular \
-DStepAttributes=StepAttributesKernel \ -DStepAttributes=StepAttributesKernel \
$(BUILD_DIR)/ImpromptuModular/src/ImpromptuModular.cpp.o: ImpromptuModular/src/ImpromptuModular.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \
-DpluginInstance=pluginInstance__ImpromptuModular \
-Dinit=init__ImpromptuModular \
-UBUILDING_PLUGIN_MODULES
$(BUILD_DIR)/ImpromptuModular%.cpp.o: ImpromptuModular%.cpp $(BUILD_DIR)/ImpromptuModular%.cpp.o: ImpromptuModular%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<" @echo "Compiling $<"
@ -1091,7 +1099,6 @@ $(BUILD_DIR)/ImpromptuModular%.cpp.o: ImpromptuModular%.cpp
$(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM),$(call custom_module_names,$(m),ImpromptuModular)) \
$(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename $*))) \ $(foreach m,$(IMPROMPTUMODULAR_CUSTOM_PER_FILE),$(call custom_per_file_names,$(m),ImpromptuModular_$(shell basename $*))) \
-DpluginInstance=pluginInstance__ImpromptuModular \ -DpluginInstance=pluginInstance__ImpromptuModular \
-Dinit=init__ImpromptuModular \
-Wno-format-truncation -Wno-format-truncation
$(BUILD_DIR)/JW-Modules/src/WavHead.cpp.o: JW-Modules/src/WavHead.cpp $(BUILD_DIR)/JW-Modules/src/WavHead.cpp.o: JW-Modules/src/WavHead.cpp

@ -1 +1 @@
Subproject commit 6b2510c601db8bd3b57cd5eef8c2924cb8badfc7 Subproject commit 112da337214d5be1f14640066fe1d08b8ec740dc

View File

@ -25,31 +25,35 @@
* the License, or (at your option) any later version. * the License, or (at your option) any later version.
*/ */
#define BUILDING_PLUGIN_MODULES
#include <app/ModuleWidget.hpp>
#include <app/RackWidget.hpp>
#include <plugin/Model.hpp>
#include <helpers.hpp>
#undef ModuleWidget
#include "CardinalCommon.hpp" #include "CardinalCommon.hpp"
#include <app/ModuleWidget.hpp>
#include <app/RackWidget.hpp>
#include <app/Scene.hpp> #include <app/Scene.hpp>
#include <engine/Engine.hpp> #include <engine/Engine.hpp>
#include <ui/MenuSeparator.hpp> #include <ui/MenuSeparator.hpp>
#include <asset.hpp> #include <asset.hpp>
#include <context.hpp> #include <context.hpp>
#include <helpers.hpp>
#include <system.hpp> #include <system.hpp>
namespace rack { namespace rack {
namespace app { namespace app {
struct CardinalModuleWidget : ModuleWidget {
CardinalModuleWidget() : ModuleWidget() {}
DEPRECATED CardinalModuleWidget(engine::Module* module) : ModuleWidget() {
setModule(module);
}
void onButton(const ButtonEvent& e) override;
};
struct ModuleWidget::Internal { struct ModuleWidget::Internal {
math::Vec dragOffset; math::Vec dragOffset;
math::Vec dragRackPos; math::Vec dragRackPos;
bool dragEnabled = true; bool dragEnabled;
math::Vec oldPos; math::Vec oldPos;
widget::Widget* panel = NULL; widget::Widget* panel;
}; };
static void CardinalModuleWidget__loadDialog(ModuleWidget* const w) static void CardinalModuleWidget__loadDialog(ModuleWidget* const w)