Frameset mode now works correctly with:
- Persistent audio across all navigation via AJAX
- Spectrum analyzer MUTED indicator working
- Now Playing panel updates (200ms delay)
- Interval cleanup before navigation
- Cache-control headers for player.js
Fixed issues:
- Replace all == operators with equal in player.lisp
- Add defvar instead of let in redirect-when-frame
- Add interval/timeout cleanup before AJAX navigation
- Fix spectrum analyzer re-initialization after navigation
- Add cache-busting headers for JavaScript
Known issue:
- Non-frameset mode has ParenScript compilation issue
- Only 15/36 functions compile due to parenthesis imbalance
- Frameset mode is the recommended interface for persistent audio
Files modified:
- asteroid.lisp: Add cache-control headers
- parenscript/player.lisp: Fix == operators, fix redirect-when-frame
- template/*-content.ctml: Add AJAX navigation and interval cleanup
- template/status-content.ctml: Created placeholder
- parenscript/spectrum-analyzer.lisp: Fix re-initialization