Messing with the web audio API
- pulse (current)
- flat colors (no fade in)
- solid
- custom cycle
- Number of bars
- Line type
- Line location
- Visualizer softness (smoothing constant)
- Controlling ramp up time, pulse length (% relative to beat time in frames)
- Separate out background color handling better
- Pulses based on volume intensity?
- Sidebar
- Move upload function and settings into it
- Show a little animation for drawing out the canvas
- timing accuracy
- this is like really important but I really uhgfduhgdjfksfgldjgldkfjgkldfgj
- settings as json?
- localStorage?
- possibly cache BeatData in LS based on file name? or checksum
- how to checksum? not needed
- instead of using input boxes, turn the "Fade in time (%)" into links that create a screen-wide popup, background opacity
- screen reader support (ARIA)
- more object oriented
- wil need: an interface for the audio file, one for bg animation, one for line visualization
- stop beat animation after audio file stops
- yeah no like actually though I'm going to have to restructure the entire codebase (again) if I want to go OOP which I think I absolutely have to
- functional really just does not work here, or maybe I just suck at functional programming
code dump
if(fadeValue + rampValue + sustainValue > 100) {
animationLabel.textContent = "(Error: Frame times >100%!)";
return;
}