Extend REAPER extension to read/write automation items, wire desktop app to it over UDP

extension-reaper-macos: split main.cpp into tracking.cpp (polls selected
envelope/automation items, reads/writes D_BASELINE) and socket.cpp (basic
UDP listener, non-blocking, drains all pending packets per tick). Nudging
now applies to every selected automation item across every track in the
project, not just the first one found.

app-desktop-macos: new "Extension" column (mirrors the OSC/Remote columns)
to enable/disable the UDP connection and point it at a host/port, plus a
log window. FocusFaderWidget gets an OSC/Ext output-mode toggle (mirrors
TransportWidget's MIDI/OSC toggle) so a fader can drive the extension
directly instead of/alongside OSC. Also renamed the Remote/Tablet buttons
for clarity and split their status indicator into its own column.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Paul Lipscomb
2026-07-16 19:13:34 -04:00
parent cd5ebd84d6
commit 7d4f8a4cd2
11 changed files with 786 additions and 57 deletions
+7 -1
View File
@@ -13,6 +13,12 @@ clang++ \
-Ivendor/reaper-sdk/sdk \
-Ivendor/reaper-sdk/WDL \
-o "$OUT" \
src/main.cpp
src/main.cpp \
src/tracking.cpp \
src/socket.cpp
echo "Built $OUT"
DEST="$HOME/Library/Application Support/REAPER/UserPlugins/$OUT"
cp "$OUT" "$DEST"
echo "Copied to $DEST (restart REAPER to reload)"