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