- Export audio to WAV with multiple formats
- Refactor code into multiple files
- Show Fade In/Out and Crop region times in info panel
- Detect if file is longer than 174 seconds and show warning if user wants to truncate it or not
- Drop file to open when no audio is loaded
- Indicate if file is being processed (loading, truncating, etc.)
- Drop file to open (when an audio is open) (ask to replace current or append)
- When appending audio, splice points should be appended to the end of the existing audio
- Fixed critical loading dialog stuck issue during append operations
- Drop multiple files to open and create splice points for each file
- Add/remove splice points to audio using regions
- Add equal-spaced splice points to audio
- Play each splice point in the audio with keyboard shortcuts
- Add splice point locking to avoid accidental deletion and moving
- Export audio with splice points
- Transient detection with sensitivity setting and advanced controls (frame size & overlap)
- Detect zero-crossing on splice points, crop regions, and fade in/out regions
- Add mobile layout
- Redo layout so controls are more intuitive
- Have different fade curves for fade in and fade out (linear, exponential, etc.)
- Settings menu for:
- Fade in/out curve type (linear, exponential, etc.)
- Crossfade lengh and curve type
- Truncate lenght (174 seconds by default)
- Default export format
- Max recording duration
- Transient detection parameters
- Add detection preset slots to save sensitivity, frame size, and overlap settings
- Use mouse scroll to zoom in/out on the waveform
- Add tooltip to append audio button
- Detect if audio has more than 300 splice points and show warning if user wants to truncate it or not. Make this number a constant.
- BPM detection and display it in the info panel
- Multi-level undo/redo functionality
- Time stretching and pitch shifting
- Audio effects (normalization, add/remove gain)
- Crossfade between splice points with defined length and curve type
- Record audio directly into the app via Wavesurfer record plugin
- Reverse audio (applies to whole audio or crop/loop region)
- Move regions around (crop region) Evaluate better UX, if drag/drop or cut region and paste at the playhead location
- Audio manipulation via scripting
- This would be an "expert" mode where users can write scripts to manipulate audio
- Open a dialog to write scripts and allow importing/exporting scripts (pop from botton)
- Manipulation applies to whole audio or crop/loop region(rename it?)
- Maybe add different regions for manipulation
- Provide modulators like LFO, ADSR to control parameters (in sync or not)
- Move audio from the regions around
- API allows fetching and changing audio data (sample based), existing splice points, crop region, and fade in/out regions
- Multiple tools available with simple API
- Distortion
- Add noise
- Filtering (low-pass, high-pass, band-pass)
- Reverse
- Delay
- Reverb
- Chorus
- Flanger
- Phaser
- Tremolo
- Bitcrusher
- Compressor
- Equalizer
- Normalize
- Time stretch
- Pitch shift
- Add fade in/out
- Add crossfade
- Add silence
- Add splice points
- Remove splice points
- Lock splice points
- Remove splice point locks
- Wavefolding
- Glitch effects
- Granular effects
- Add/remove gain
- Fix bug where splice points are not detected correctly when audio is appended
- Fix bug where splice points are not correctly placed after the audio is cropped
- Fix bug where audio files with existing splice markers (cue points) are not being imported/loaded
- Concatenated audio when cropped, exports as full file and not cropped audio length
- Contatenated audio when cropped, have splice points duplicated
- Fix bug where splice markers appear at wrong visual positions after crop operations (while maintaining correct times in export and debug)
- Locking splice markers are not working after refactor
- Selecting a locked marker should keep the lock icon visible
- Truncation seems to not work after refactor