improved library scan speeds, added library manager component

-libraries tab now opens a library manager
-choose library directory, manually soft scan and rescan
-batched db queues
-mp3 header-based duration extraction
This commit is contained in:
2026-02-19 10:17:09 -05:00
parent 8c013d4179
commit 81793975b4
36 changed files with 2350 additions and 179 deletions
@@ -23,3 +23,6 @@ WHERE id = ?;
-- name: DeleteArtistCredit :exec
DELETE FROM artist_credit
WHERE id = ?;
-- name: DeleteAllArtistCredits :exec
DELETE FROM artist_credit;
@@ -15,3 +15,6 @@ WHERE id =?;
DELETE FROM artist_credit_artist
WHERE id =?;
-- name: DeleteAllArtistCreditArtists :exec
DELETE FROM artist_credit_artist;
+3
View File
@@ -24,6 +24,9 @@ WHERE id = ?;
DELETE FROM artists
WHERE id = ?;
-- name: DeleteAllArtists :exec
DELETE FROM artists;
-- name: GetAllArtists :many
SELECT * FROM artists
ORDER BY name;
@@ -71,6 +71,9 @@ LEFT JOIN cover_art ca ON rg.cover_art_id = ca.id
WHERE af.file_path = ?
LIMIT 1;
-- name: DeleteAllAudioFiles :exec
DELETE FROM audio_files;
-- name: GetAudioFilesByReleaseGroup :many
SELECT
af.file_path,
@@ -26,3 +26,6 @@ WHERE id = ?;
-- name: DeleteCoverArt :exec
DELETE FROM cover_art
WHERE id = ?;
-- name: DeleteAllCoverArt :exec
DELETE FROM cover_art;
@@ -82,6 +82,9 @@ LEFT JOIN release_groups rg ON rgr.release_group_id = rg.id
LEFT JOIN cover_art ca ON rg.cover_art_id = ca.id
ORDER BY pt.playlist_id, pt.position;
-- name: DeleteAllPlaylistTracks :exec
DELETE FROM playlist_tracks;
-- name: GetNextPlaylistTrackPosition :one
SELECT COALESCE(MAX(position), -1) + 1 AS next_position
FROM playlist_tracks WHERE playlist_id = ?;
@@ -28,6 +28,9 @@ WHERE id = ?;
DELETE FROM recordings
WHERE id = ?;
-- name: DeleteAllRecordings :exec
DELETE FROM recordings;
-- name: GetAllRecordings :many
SELECT * FROM recordings
ORDER BY name;
@@ -23,3 +23,6 @@ WHERE id = ?;
-- name: DeleteReleaseGroupRecordingByFK :exec
DELETE FROM release_group_recordings
WHERE release_group_id = ? AND recording_id = ?;
-- name: DeleteAllReleaseGroupRecordings :exec
DELETE FROM release_group_recordings;
@@ -38,6 +38,9 @@ WHERE id = ?;
DELETE FROM release_groups
WHERE id = ?;
-- name: DeleteAllReleaseGroups :exec
DELETE FROM release_groups;
-- name: GetAllReleaseGroups :many
SELECT * FROM release_groups
ORDER BY name;