Add delay tempo sync, rack faceplate, README, docs

- Add host-tempo-synced delay: FX screen gains a 4th SYNC row for
  rhythmic divisions (1/16 .. 1/1) that lock delay time to DAW tempo
- Embed rack faceplate background (b2.png) via juce binary data
- Add offline dev probe (rmx_probe) for GUI-less MIDI testing
- Allow overriding JUCE_ROOT when configuring the build
- Write comprehensive README describing the instrument, UI, MIDI, DSP,
  and build/install steps
This commit is contained in:
Armin 2026-09-08 15:10:12 +02:00
commit 2e870380d4
17 changed files with 1413 additions and 324 deletions

View file

@ -17,6 +17,10 @@ CMAKE := cmake
BUILD_DIR_ABSPATH := $(abspath $(BUILD_DIR))
ARTEFACTS := $(BUILD_DIR)/RMX19_artefacts/$(CONFIG)
JUCE_DIR := $(BUILD_DIR)/JUCE
JUCE_REPO := https://github.com/juce-framework/JUCE.git
JUCE_TAG := 8.0.4
VST3_SRC := $(ARTEFACTS)/VST3/$(PLUGIN_BASE).vst3
AU_SRC := $(ARTEFACTS)/AU/$(PLUGIN_BASE).component
@ -28,17 +32,25 @@ USER_PLUGIN_DIRS := $(HOME)/Library/Audio/Plug-Ins/VST3 $(HOME)/Library/Audio/Pl
.EXPORT_ALL_VARIABLES:
CMAKE_BUILD_TYPE := $(CONFIG)
.PHONY: all configure build install uninstall clean info
.PHONY: all configure build install uninstall clean info juce
all: build
build: configure
$(CMAKE) --build $(BUILD_DIR) --config $(CONFIG) --parallel
juce:
@if [ ! -d "$(JUCE_DIR)" ]; then \
echo "Fetching JUCE $(JUCE_TAG)..."; \
git clone --branch $(JUCE_TAG) --depth 1 $(JUCE_REPO) $(JUCE_DIR); \
else \
echo "JUCE already present at $(JUCE_DIR)"; \
fi
# Re-run cmake on every invocation: it is cheap when nothing changed and keeps
# the footer's git branch/hash and local build timestamp fresh.
configure:
$(CMAKE) -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(CONFIG)
configure: juce
$(CMAKE) -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(CONFIG) -DJUCE_ROOT=$(JUCE_DIR)
install: build
@codesign --force --deep --sign - "$(VST3_SRC)" >/dev/null 2>&1 || true