[β οΈ JOURNEY] Building MP3 AI Manager for Music Hoarders (Day 28)

Day 28
Hours worked/Total: 3/87
Day Recap
Implemented playback percentage tracking tied to waveform interaction. Confirmed that event-based references to sound playback work, but faced performance issues. Took the first stab at applying a Fourier Transform for an RGB waveform—ending with a crash, of course.
What I Did
- Attempted to link the waveform directly to the sound source to achieve zero loading time for playback.
- Events successfully passed references, but since there’s no await, playback resulted in messed-up audio.
- Realized I’ll likely need to cache and preload all sound sources during load—future me’s problem.
- Added logic to track playback percentage.
- Initially, click detection on the canvas was clunky—only registering around 10% of clicks.
- Fixed this by sending event messages before processing clicks.
- UI updates required invoking a UI-specific async thread, but now the playback position moves smoothly with the audio.
- Waveform Styling:
- Implemented a feature to dim played segments, visually distinguishing between played and unplayed audio.
- Wanted to make the waveform RGB-reactive based on audio frequencies.
- Tried using Accord’s Fourier Transform…
- App crashes immediately on load. No error messages, just pure chaos.
Remarks
It’s like peeling an onion—the more layers I uncover, the more I want to cry.
- Click detection issues? Check.
- UI threading quirks? Check.
- App-breaking crashes from a single line of Fourier Transform code? Double check.
But hey, at least the waveform dims now when the audio plays. So, you know, progress.
Next Goals
I want colorful RGB!
π¨βπ» Software Developmentπ Journey