refactor: move effects panel from global to per-track

- Added showEffects property to Track type
- Added "E" button with Sparkles icon to toggle per-track effects
- Effects panel now appears below each track when toggled
- Removed global EffectsPanel from AudioEditor
- Updated useMultiTrack to persist showEffects state
- Streamlined workflow: both automation and effects are now per-track

This aligns the UX with professional DAWs like Ableton Live, where
effects and automation are track-scoped rather than global.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-18 18:44:06 +01:00
parent 03a7e2e485
commit d2709b8fc2
5 changed files with 82 additions and 22 deletions

View File

@@ -35,6 +35,7 @@ export function useMultiTrack() {
effectChain: t.effectChain || createEffectChain(`${t.name} Effects`), // Restore effect chain or create new
automation: t.automation || { lanes: [], showAutomation: false }, // Restore automation or create new
selection: t.selection || null, // Initialize selection
showEffects: t.showEffects || false, // Restore showEffects state
}));
}
} catch (error) {
@@ -64,6 +65,7 @@ export function useMultiTrack() {
recordEnabled: track.recordEnabled,
collapsed: track.collapsed,
selected: track.selected,
showEffects: track.showEffects, // Save effects panel state
effectChain: track.effectChain, // Save effect chain
automation: track.automation, // Save automation data
}));