RAM2118 commited on
Commit
e4e1e6d
·
verified ·
1 Parent(s): cb954f1

update SYNC.md — REVERTED to pre-fix state, GUI should work like before

Browse files
Files changed (1) hide show
  1. SYNC.md +9 -13
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
- - ❌ Native title bar close button on Helper window (macOS won't deliver clicks to accessory process)
41
- - ❌ `activateIgnoringOtherApps` (steals focus from Ableton)
42
- - ❌ `NSFloatingWindowLevel` (level 3) — not high enough for fullscreen apps
43
 
44
- ## What's New
45
  - ✅ Out-of-process via shared memory + semaphores + Unix socket
46
  - ✅ Crash-safe — plugins that abort() only kill the helper
47
- - ✅ Plugin GUI as floating always-on-top window (no focus steal)
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 — Fixed GUI not appearing over fullscreen Ableton.
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 plugin window appears OVER fullscreen Ableton (same Space, no desktop switch).
61
- **Next:** Sprint 3 — MCP param control from Claude Code (curl tests)
 
 
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)