-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
📝 Description
Implement a preset system that allows users to save the current synthesizer configuration (waveform, octave, ADSR envelope, EQ, etc.) into a file and load it later to restore the same state.
This will make it easier for users to store and reuse their favorite sound settings across sessions.
✅ Tasks
1. State Serialization
- Gather all current state values (waveform, octave, ADSR parameters, EQ, etc.).
- Convert them into a structured JSON format.
2. Export Functionality
- Add a “💾 Save Preset” button.
- When clicked, trigger a
.jsonfile download of the current state. - Include timestamp or custom naming (e.g.,
preset_2025-10-06.json).
3. Import Functionality
- Add a “📂 Load Preset” button at the top of the page.
- Allow users to upload a
.jsonfile. - Parse and restore all synth settings and UI states (knobs, dropdowns, EQ sliders, etc.).
4. UI Feedback & Validation
- Show toast or alert confirming successful save/load.
- Handle invalid or corrupted files gracefully with user-friendly errors.
🎯 Expected Outcome
- Users can export their synth configuration into a local
.jsonfile. - Users can import this file to instantly restore all synth parameters.
- All UI elements (knobs, sliders, dropdowns) update visually.
- Feature feels smooth, responsive, and non-destructive to the session.