15 Commits
Author SHA1 Message Date
Gianluca Boiano 43e8d0a453 Optimize resource usage in waveform generation and image cache
- Replace sleep-based polling in waveform generation with channel-based
  synchronization to reduce CPU usage and improve responsiveness
- Add sync.Pool for audio buffers in waveform analysis to reduce memory
  allocations
- Fix critical bug in ImageCache where struct field updates were not
  being persisted to the map, causing LRU tracking to fail
- Optimize ImageCache evictOne() to use single pass instead of two
  separate iterations through all cache items
- Upgrade read locks to write locks in ImageCache Get methods to ensure
  struct updates are properly saved
2026-02-01 22:29:28 +01:00
Jacalz 08f335da44 Run gofumpt on the project 2025-09-17 22:30:49 +02:00
Jacalz 534a7bfaaf Run modernise on the project
This will be available in "go fix" within Go 1.26 but in the meantime:

go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
2025-09-17 22:28:16 +02:00
Drew Weymouth 6c4435314c Fix bug of incomplete waveform when playing new track twice in quick succession 2025-08-04 08:17:33 -07:00
Drew Weymouth 8e3ec5e11b use a zero waveform image with single horizontal line when none exists 2025-08-01 17:52:05 -07:00
Drew Weymouth 8f50e1087b increase vertical resolution of waveform img, calculate with less casting 2025-07-30 17:36:56 -07:00
Drew Weymouth 9a1325b92d fix mpv mem leak, waveform gen when double-clicking to play tracks; clean up logs 2025-07-28 18:15:12 -07:00
Drew Weymouth 333b96dd3b switch back to using HTTP server to stream file to MPV - it doesn't idle after playing FIFO 2025-07-27 17:39:48 -07:00
Drew Weymouth 9844bbf6cb waveforms of first played track now generating, but still bugs with ending the task 2025-07-27 17:07:11 -07:00
Drew Weymouth 777ec95cfd fix bugs in done signalling 2025-07-26 22:25:01 -07:00
Drew Weymouth b9ef1e86a4 fix bug leading to gaps in waveform image 2025-07-26 18:58:43 -07:00
Drew Weymouth c521c617ec incremental waveform generation (kind-of) working 2025-07-26 15:33:22 -07:00
Drew Weymouth 88b7f62e50 some progress in generating waveform images ahead of time 2025-07-25 18:38:59 -07:00
Drew Weymouth 43f6d501c9 create waveform seekbar widget; still more to do 2025-07-24 08:51:25 -07:00
Drew Weymouth ae7cb55c8c very WIP - proof of concept for waveform seekbar 2025-07-23 22:10:33 -07:00