Commits
...forgot to update the cachedOpts array to change event listener
- when exiting mobile ui view on desktop: the file, settings and images
buttons were appended to the end instead of inserted at their original
positions
- quick fix: switched to using insertBefore instead of appendChild
- not a fan of how the menus overlay the preview canvas, will fix later
- also switched from vp9 -> vp8 for faster processing speed
- removes OfflineAudioContext dependency
- enables per-bin adaptive normalization, spectral titl, and per-bin
peak tracking for consistent mapping across frames
- redid file dropdown into labeled audio/render sections
- replace standalone remove buttons with inline × for parameter images
and file menu
- show imported filename on the import/upload button with truncation
- derive export filename from imported audio name
- add disabled mp4 placeholder button for future format support
- main (renamed from controller): pure wiring
- visualizers/index: handles visualizer registry and types
- ui/menu-bar: generic menu open/close
- ui/params: owns cachedOpts, builds param controls + vis
- ui/preview: canvas sizing, preview lifecycle
- ui/render: click render → gather state → save
- extract shared preview/synthetic freq logic -> utils
- refactored relevant visualizers
- cache parameter options to keep consistent state
- text sprite caching for cd visualizers to greatly reduce per-frame
work
- increase dev server reload delay to 200ms to avoid rapid reloads
- round canvas pixel dimensions to prevent sub-pixel rendering issues
- add gpu compositing hint to canvas and remove backdrop blur for
performance
- implemented new text box paramater
- paramaters styles are now able to be set within the visualizer itself
- also organized visualizers folder to reflect grouping
- added animated preview for all three visualizers
- preview respects fps setting
- added number input next to slider for editing/seeing value
- moved preview logic for bars (the sine generator) from controller to
bars
- update render.ts draw signature to accept optional dt parameter
- two new cd-rom visualizers with animated rotation, labels, and fancy
stuff
- move background clearing into preview to ensure all visualizers have
clean canvas before drawing
- make load function async and await font before showing initial preview
- import audio -> export webm (will try to get mp4 working as an option)
- index: added aspect ratio & quality selection
- controller: refactor, inlined preview.ts and switched from random
freqs to a pre-computed sine wave; preview.ts deleted
- mod: added import.ts
- visualizers/bars: replaced maxBarHeight with canvas.height
- style: removed footer; added button and select
- currently non-functional, uses randomly generated arrays from
preview/randomFreqs
- still need to wire up real audio
- dev: runs build task and then runs local server
- build: bundle + compile ts -> js
- redid file dropdown into labeled audio/render sections
- replace standalone remove buttons with inline × for parameter images
and file menu
- show imported filename on the import/upload button with truncation
- derive export filename from imported audio name
- add disabled mp4 placeholder button for future format support
- extract shared preview/synthetic freq logic -> utils
- refactored relevant visualizers
- cache parameter options to keep consistent state
- text sprite caching for cd visualizers to greatly reduce per-frame
work
- increase dev server reload delay to 200ms to avoid rapid reloads
- round canvas pixel dimensions to prevent sub-pixel rendering issues
- add gpu compositing hint to canvas and remove backdrop blur for
performance
- also organized visualizers folder to reflect grouping
- import audio -> export webm (will try to get mp4 working as an option)
- index: added aspect ratio & quality selection
- controller: refactor, inlined preview.ts and switched from random
freqs to a pre-computed sine wave; preview.ts deleted
- mod: added import.ts
- visualizers/bars: replaced maxBarHeight with canvas.height
- style: removed footer; added button and select