srctree

969eff64 pretty up the UI a tiny bit
Gregory Mullen parent 16f62fc5
16f62fc5 Implement queue (play) for files
Gregory Mullen parent 8789d3c8
8789d3c8 add ability to list all files via www client
Gregory Mullen parent b4abb8c2
b4abb8c2 initial implementation of waveforms drawn by the client
Andrew Kelley parent 4223a56c
4223a56c sending the waveforms to the client
Andrew Kelley parent af9a47ba
af9a47ba implement saving waveforms to the db
Andrew Kelley parent 5982b953
5982b953 player: return an error when a song has 0 samples
Andrew Kelley parent ee9523d6
ee9523d6 raise file descriptor limit for scanning
Andrew Kelley parent 3d1b8260
3d1b8260 server: free waveform memory
Andrew Kelley parent ef5c9e7a
ef5c9e7a css: fix wrapping of song title
Andrew Kelley parent 84fc40ed
84fc40ed fix waveform generation of small files
closes #2
Andrew Kelley parent d1b7efea
d1b7efea log how long scanning takes
Andrew Kelley parent 2de30e69
2de30e69 scan and analyze all files on startup
Now the server has these additional things for all songs: * true peak * integrated loudness * true duration * waveform image data Fixes wrong duration sometimes. Important since correct client behavior depends on knowing accurate duration.
Andrew Kelley parent c028da46
c028da46 more resilient scanning
Andrew Kelley parent eb3c4def
eb3c4def update to zig 0.13.0-dev.68+b86c4bde6
Andrew Kelley parent 4559152b
4559152b fix cpython hash
Andrew Kelley parent 8565be49
8565be49 fix server state tracking of pause/play
Andrew Kelley parent 5fb672ec
5fb672ec css fix display of seek bar
Andrew Kelley parent 24ab5658
24ab5658 display the seek bar
Andrew Kelley parent fdb1c800
fdb1c800 implement pause and play button
Andrew Kelley parent f70eee95
f70eee95 add scroll bars to the library and queue
Andrew Kelley parent 9ac728f8
9ac728f8 communicate the play queue to the client
Andrew Kelley parent 5e684d6c
5e684d6c add a play queue message to the protocol
Andrew Kelley parent fa77b47d
fa77b47d float the library to the left
Andrew Kelley parent 3c847752
3c847752 implement DB saving and loading
Andrew Kelley parent 91d56e67
91d56e67 installation directory defaults to the same dir as server exe
Andrew Kelley parent 04e8145f
04e8145f update StaticHttpFileServer dependency for zig 0.13.0-dev.33+8af59d1f9
Andrew Kelley parent 7eb0cc31
7eb0cc31 roadmap update
Andrew Kelley parent ab111763
ab111763 server obeys enqueue album command
Andrew Kelley parent c2d63a7d
c2d63a7d add a pause and play button rather than single toggle button
Andrew Kelley parent 472276f0
472276f0 client supports sending request to queue an album
and the server understands the request
Andrew Kelley parent d6a8352c
d6a8352c fix parsing of tags with only whitespace
Andrew Kelley parent 5add7a07
5add7a07 add build option for configuring dependency optimization mode
and default to release fast for deps
Andrew Kelley parent c09606b6
c09606b6 add playback and queue UI sections
Andrew Kelley parent 49a2f37d
49a2f37d remove some verbose logging
Andrew Kelley parent e2e5db4b
e2e5db4b web ui lists albums
Andrew Kelley parent 65ce41ed
65ce41ed add unit testing with `zig build test`
Andrew Kelley parent 76049b00
76049b00 getting the Db to the client intact
Andrew Kelley parent 0ea76022
0ea76022 share some code between client and server
Andrew Kelley parent e432dfc3
e432dfc3 add wasm and websocket
Andrew Kelley parent f17ef5f9
f17ef5f9 update to latest StaticHttpFileServer dependency
includes mime type for application/wasm
Andrew Kelley parent 887a08a5
887a08a5 handle error.HttpConnectionClosing unceremoneously
Andrew Kelley parent 74c070ec
74c070ec serving static http files
Andrew Kelley parent 9b4fd3f0
9b4fd3f0 depth-first traversal of music dir
Andrew Kelley parent db54a94f
db54a94f extract Db logic to separate file
Andrew Kelley parent a0d98267
a0d98267 implement music db scanning
Andrew Kelley parent 191c1c72
191c1c72 fix memory leaks when opening files
sometimes the FFmpeg functions take ownership of the input parameters, sometimes they don't. This makes correct memory management tricky. sure would be nice if they would stick to common C programming practices instead.
Andrew Kelley parent e04df257
e04df257 update ffmpeg dependency to 7.0.1-3
Adds av_free API
Andrew Kelley parent 8d71f958
8d71f958 update ffmpeg dependency
This version returns error.FFmpegInvalid rather than asserting on EINVAL. Unfortunately, in a classic C programmer fashion, they conflated user input errors and programmer bugs.
Andrew Kelley parent c73ab9fe
c73ab9fe implement library loading
Andrew Kelley parent 6f7818e0
More