Squash merge audio-player-component into main

This commit is contained in:
2026-02-13 20:39:23 -06:00
parent 9b7cfd5bd1
commit d78c0584e2
122 changed files with 11750 additions and 1175 deletions
@@ -1,4 +1,4 @@
CREATE TABLE IF NOT EXISTS artist_credit (
id int PRIMARY KEY,
text string NOT NULL
id INTEGER PRIMARY KEY,
text TEXT NOT NULL UNIQUE
);
@@ -1,5 +1,5 @@
CREATE TABLE IF NOT EXISTS artist_credit_artist (
id int PRIMARY KEY,
id integer PRIMARY KEY,
artist_id int NOT NULL,
credit_id int NOT NULL,
FOREIGN KEY(artist_id) REFERENCES artists(id),
+2 -2
View File
@@ -1,4 +1,4 @@
CREATE TABLE IF NOT EXISTS artists (
id int PRIMARY KEY,
name text NOT NULL
id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE
);
+1 -1
View File
@@ -1,5 +1,5 @@
CREATE TABLE IF NOT EXISTS audio_files (
id int PRIMARY KEY,
id integer PRIMARY KEY,
file_path text NOT NULL UNIQUE,
length_milliseconds int NOT NULL,
file_type_id int NOT NULL,
+4 -5
View File
@@ -1,7 +1,6 @@
CREATE TABLE IF NOT EXISTS cover_art (
id int PRIMARY KEY,
is_embedded bool NOT NULL DEFAULT(false),
file_path text NOT NULL,
file_type_id int NOT NULL,
FOREIGN KEY(file_type_id) REFERENCES file_types(id)
id INTEGER PRIMARY KEY,
is_embedded BOOL NOT NULL DEFAULT(false),
file_path TEXT NOT NULL UNIQUE,
mime_type TEXT NOT NULL
);
+1 -1
View File
@@ -1,4 +1,4 @@
CREATE TABLE IF NOT EXISTS file_types (
id INTEGER PRIMARY KEY,
id integer PRIMARY KEY,
extension text NOT NULL UNIQUE
);
@@ -0,0 +1,9 @@
CREATE TABLE IF NOT EXISTS player_state (
id INTEGER PRIMARY KEY CHECK(id = 1),
volume INTEGER NOT NULL DEFAULT 100,
muted BOOLEAN NOT NULL DEFAULT false,
last_track_path TEXT NOT NULL DEFAULT '',
last_position_seconds INTEGER NOT NULL DEFAULT 0
);
INSERT OR IGNORE INTO player_state (id) VALUES (1);
@@ -0,0 +1,8 @@
CREATE TABLE IF NOT EXISTS playlist_tracks (
id INTEGER PRIMARY KEY,
playlist_id INTEGER NOT NULL,
audio_file_id INTEGER NOT NULL,
position INTEGER NOT NULL,
FOREIGN KEY(playlist_id) REFERENCES playlists(id) ON DELETE CASCADE,
FOREIGN KEY(audio_file_id) REFERENCES audio_files(id) ON DELETE CASCADE
);
@@ -0,0 +1,6 @@
CREATE TABLE IF NOT EXISTS playlists (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
+11
View File
@@ -0,0 +1,11 @@
CREATE TABLE IF NOT EXISTS queue (
id INTEGER PRIMARY KEY CHECK(id = 1),
source_playlist_id INTEGER,
current_position INTEGER NOT NULL DEFAULT 0,
shuffle_mode BOOLEAN NOT NULL DEFAULT false,
repeat_mode TEXT NOT NULL DEFAULT 'off',
shuffle_order TEXT,
FOREIGN KEY(source_playlist_id) REFERENCES playlists(id) ON DELETE SET NULL
);
INSERT OR IGNORE INTO queue (id) VALUES (1);
@@ -0,0 +1,6 @@
CREATE TABLE IF NOT EXISTS queue_tracks (
id INTEGER PRIMARY KEY,
audio_file_id INTEGER NOT NULL,
position INTEGER NOT NULL,
FOREIGN KEY(audio_file_id) REFERENCES audio_files(id) ON DELETE CASCADE
);
+10 -4
View File
@@ -1,7 +1,13 @@
CREATE TABLE IF NOT EXISTS recordings (
id int PRIMARY KEY,
name text NOT NULL,
artist_credit_id int NOT NULL,
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
artist_credit_id INTEGER NOT NULL,
track_number INTEGER,
disc_number INTEGER,
year INTEGER,
genre TEXT,
composer TEXT,
lyrics TEXT,
comment TEXT,
FOREIGN KEY(artist_credit_id) REFERENCES artist_credit(id)
);
@@ -1,8 +1,9 @@
CREATE TABLE IF NOT EXISTS release_group_recordings (
id int PRIMARY KEY,
release_group_id int NOT NULL,
recording_id int NOT NULL,
id INTEGER PRIMARY KEY,
release_group_id INTEGER NOT NULL,
recording_id INTEGER NOT NULL,
track_number INTEGER,
disc_number INTEGER,
FOREIGN KEY(release_group_id) REFERENCES release_groups(id),
FOREIGN KEY(recording_id) REFERENCES recordings(id)
);
@@ -1,6 +1,11 @@
CREATE TABLE IF NOT EXISTS release_groups (
id int PRIMARY KEY,
name text NOT NULL,
cover_art_id int NOT NULL,
FOREIGN KEY(cover_art_id) REFERENCES cover_art(id)
id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
cover_art_id INTEGER,
album_artist_credit_id INTEGER,
year INTEGER,
total_tracks INTEGER,
total_discs INTEGER,
FOREIGN KEY(cover_art_id) REFERENCES cover_art(id),
FOREIGN KEY(album_artist_credit_id) REFERENCES artist_credit(id)
);