diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b00e4b5..0ee0d4f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,8 +4,6 @@ on: [push, pull_request] env: CACHE_VERSION: 7 - DEBIAN_FRONTEND: noninteractive - HOMEBREW_NO_AUTO_UPDATE: 1 PAWPAW_SKIP_LTO: 1 PAWPAW_SKIP_FFTW: 1 PAWPAW_SKIP_GLIB: 1 @@ -44,7 +42,7 @@ 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-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list sudo apt-get update -qq - sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf qemu-user-static + sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 gperf meson qemu-user-static - name: Set up dependencies (armhf) if: ${{ matrix.target == 'armhf' }} run: | @@ -54,13 +52,13 @@ 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-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list sudo apt-get update -qq - sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf qemu-user-static + sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf gperf meson qemu-user-static - name: Set up dependencies (i386) if: ${{ matrix.target == 'i386' }} run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 gperf + sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386 gperf meson sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 libwine-dev:i386 wine-stable wine64-tools - name: Set up dependencies (riscv64) if: ${{ matrix.target == 'riscv64' }} @@ -71,13 +69,13 @@ jobs: echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list sudo apt-get update -qq - sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf qemu-user-static + sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 gperf meson qemu-user-static - name: Set up dependencies (x86_64) if: ${{ matrix.target == 'x86_64' }} run: | sudo dpkg --add-architecture i386 sudo apt-get update -qq - sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf + sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev gperf meson sudo apt-get install -yqq g++-multilib libx11-dev:i386 sudo apt-get install -yqq binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 g++-mingw-w64-i686 g++-mingw-w64-x86-64 mingw-w64 wine-stable wine64-tools - name: Build extra dependencies @@ -125,6 +123,9 @@ jobs: path: | ~/PawPawBuilds key: macos-${{ matrix.target }}-v${{ env.CACHE_VERSION }} + - name: Set up dependencies + run: | + brew install meson - name: Build extra dependencies run: | git clone --depth=1 https://github.com/DISTRHO/PawPaw.git @@ -174,11 +175,11 @@ jobs: - name: Set up dependencies (win32) if: ${{ matrix.target == 'win32' }} run: | - sudo apt-get install -yqq --allow-downgrades binutils-mingw-w64-i686 libc6:i386 libgcc-s1:i386 libstdc++6:i386 g++-mingw-w64-i686 gperf mingw-w64 wine-stable + sudo apt-get install -yqq --allow-downgrades binutils-mingw-w64-i686 libc6:i386 libgcc-s1:i386 libstdc++6:i386 g++-mingw-w64-i686 gperf meson mingw-w64 wine-stable - name: Set up dependencies (win64) if: ${{ matrix.target == 'win64' }} run: | - sudo apt-get install -yqq --allow-downgrades binutils-mingw-w64-x86-64 libc6:i386 libgcc-s1:i386 libstdc++6:i386 g++-mingw-w64-x86-64 gperf mingw-w64 wine-stable + sudo apt-get install -yqq --allow-downgrades binutils-mingw-w64-x86-64 libc6:i386 libgcc-s1:i386 libstdc++6:i386 g++-mingw-w64-x86-64 gperf meson mingw-w64 wine-stable - name: Build extra dependencies run: | git clone --depth=1 https://github.com/DISTRHO/PawPaw.git diff --git a/.gitignore b/.gitignore index 6bd5436..e2d4d44 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /bin/ /build/ .kdev4/ +.DS_Store diff --git a/plugins/Common/Makefile.mk b/plugins/Common/Makefile.mk index b047caa..578d710 100644 --- a/plugins/Common/Makefile.mk +++ b/plugins/Common/Makefile.mk @@ -33,6 +33,10 @@ FILES_UI = \ ../Common/PluginHostWindow.cpp \ ../../dpf-widgets/opengl/DearImGui.cpp +ifeq ($(STANDALONE)$(WINDOWS),truetrue) +FILES_UI += distrho.rc +endif + # --------------------------------------------------------------------------------------------------------------------- # Carla stuff diff --git a/plugins/Standalone/Makefile b/plugins/Standalone/Makefile index fdab379..708781c 100644 --- a/plugins/Standalone/Makefile +++ b/plugins/Standalone/Makefile @@ -4,13 +4,38 @@ # Created by falkTX # -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Project name, used for binaries NAME = Ildaeil -# -------------------------------------------------------------- +# --------------------------------------------------------------------------------------------------------------------- # Do some magic STANDALONE = true include ../Common/Makefile.mk + +# --------------------------------------------------------------------------------------------------------------------- +# Extra rules for macOS app bundle + +$(TARGET_DIR)/Ildaeil.app/Contents/Info.plist: macOS/Info.plist $(TARGET_DIR)/Ildaeil.app/Contents/Resources/distrho.icns + -@mkdir -p $(shell dirname $@) + cp $< $@ + +$(TARGET_DIR)/Ildaeil.app/Contents/Resources/distrho.icns: macOS/distrho.icns + -@mkdir -p $(shell dirname $@) + cp $< $@ + +# --------------------------------------------------------------------------------------------------------------------- +# Extra rules for Windows icon + +ifeq ($(WINDOWS),true) +WINDRES ?= $(subst gcc,windres,$(CC)) + +$(BUILD_DIR)/distrho.rc.o: win32/distrho.rc win32/distrho.ico + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling distrho.rc" + $(SILENT)$(WINDRES) $< -O coff -o $@ +endif + +# --------------------------------------------------------------------------------------------------------------------- diff --git a/plugins/Standalone/macOS/Info.plist b/plugins/Standalone/macOS/Info.plist new file mode 100644 index 0000000..685df7f --- /dev/null +++ b/plugins/Standalone/macOS/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Ildaeil + CFBundleIconFile + distrho.icns + CFBundleIdentifier + Ildaeil + NSHighResolutionCapable + + NSRequiresAquaSystemAppearance + + NSMicrophoneUsageDescription + Ildaeil requires microphone permissions for audio input. + + diff --git a/plugins/Standalone/macOS/distrho.icns b/plugins/Standalone/macOS/distrho.icns new file mode 100644 index 0000000..fd96fc6 Binary files /dev/null and b/plugins/Standalone/macOS/distrho.icns differ diff --git a/plugins/Standalone/win32/distrho.ico b/plugins/Standalone/win32/distrho.ico new file mode 100644 index 0000000..85d2fd7 Binary files /dev/null and b/plugins/Standalone/win32/distrho.ico differ diff --git a/plugins/Standalone/win32/distrho.rc b/plugins/Standalone/win32/distrho.rc new file mode 100644 index 0000000..91e9847 --- /dev/null +++ b/plugins/Standalone/win32/distrho.rc @@ -0,0 +1,2 @@ +id ICON "distrho.ico" +401 ICON "distrho.ico"