update SYNC.md — REVERTED to pre-fix state, GUI should work like before
Browse files
SYNC.md
CHANGED
|
@@ -37,25 +37,21 @@ If a plugin crashes → only Helper dies → Ableton survives → UI shows "Relo
|
|
| 37 |
- ❌ `addDefaultFormats()` (deleted in JUCE 8)
|
| 38 |
- ❌ `juce::Thread::setCurrentThreadPriority()` (removed in JUCE 8)
|
| 39 |
- ❌ `MSG_NOSIGNAL` (doesn't exist on macOS)
|
| 40 |
-
- ❌
|
| 41 |
-
- ❌ `
|
| 42 |
-
- ❌
|
| 43 |
|
| 44 |
-
## What's
|
| 45 |
- ✅ Out-of-process via shared memory + semaphores + Unix socket
|
| 46 |
- ✅ Crash-safe — plugins that abort() only kill the helper
|
| 47 |
-
- ✅ Plugin GUI
|
| 48 |
- ✅ Toggle GUI via button in PluginBridge panel (Open GUI / Close GUI)
|
| 49 |
- ✅ Plugin list from filesystem (no binary loading until user selects)
|
| 50 |
- ✅ Native pthread priority for audio thread
|
| 51 |
-
- ✅ `NSApplicationActivationPolicyAccessory` in main.cpp (no Dock, no Cmd+Tab)
|
| 52 |
-
- ✅ `NSWindowCollectionBehavior` = canJoinAllSpaces | fullScreenAuxiliary
|
| 53 |
-
- ✅ Window level = 25 (NSStatusWindowLevel) — above fullscreen apps
|
| 54 |
|
| 55 |
## Status
|
| 56 |
-
**Last push:** 2026-05-16 —
|
| 57 |
-
- Root cause: NSFloatingWindowLevel (3) is below fullscreen app level. Window also lacked collection behavior flags to join fullscreen Spaces.
|
| 58 |
-
- Fix: Set `canJoinAllSpaces` (1<<0) + `fullScreenAuxiliary` (1<<8) on the window. Raised level from 3 → 25 (NSStatusWindowLevel).
|
| 59 |
**Build:** Needs test
|
| 60 |
-
**Test:** Pull, build, load in Ableton FULLSCREEN → Open GUI → confirm
|
| 61 |
-
**
|
|
|
|
|
|
| 37 |
- ❌ `addDefaultFormats()` (deleted in JUCE 8)
|
| 38 |
- ❌ `juce::Thread::setCurrentThreadPriority()` (removed in JUCE 8)
|
| 39 |
- ❌ `MSG_NOSIGNAL` (doesn't exist on macOS)
|
| 40 |
+
- ❌ `NSApplicationActivationPolicyAccessory` — BROKE fullscreen window behavior, reverted
|
| 41 |
+
- ❌ `NSWindowCollectionBehavior` changes — didn't fix fullscreen, made it worse, reverted
|
| 42 |
+
- ❌ Window level changes (3→25) — unnecessary, reverted
|
| 43 |
|
| 44 |
+
## What's Working
|
| 45 |
- ✅ Out-of-process via shared memory + semaphores + Unix socket
|
| 46 |
- ✅ Crash-safe — plugins that abort() only kill the helper
|
| 47 |
+
- ✅ Plugin GUI window (close button hides, doesn't quit Helper)
|
| 48 |
- ✅ Toggle GUI via button in PluginBridge panel (Open GUI / Close GUI)
|
| 49 |
- ✅ Plugin list from filesystem (no binary loading until user selects)
|
| 50 |
- ✅ Native pthread priority for audio thread
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
## Status
|
| 53 |
+
**Last push:** 2026-05-16 — REVERTED all window policy changes. Back to original working state where GUI opened inside Ableton's Space correctly.
|
|
|
|
|
|
|
| 54 |
**Build:** Needs test
|
| 55 |
+
**Test:** Pull, build, load in Ableton (FULLSCREEN) → Open GUI → confirm it opens in same Space as Ableton (like it did before the close-button fix).
|
| 56 |
+
**If it still opens separately:** The problem was introduced by the close-button fix (PluginGuiWindow class). Need to identify what specifically changed. The ONLY difference from original working code should be `closeButtonPressed() { setVisible(false); }` instead of whatever it was before.
|
| 57 |
+
**Next:** Once GUI confirmed working → Sprint 3 (MCP param control)
|