c168fcbda3
db: Give Genres a PlaylistState property
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:29 -04:00
77c2b7cd81
db: Give Discs a PlaylistState property
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:28 -04:00
9a6cda7aab
db: Give Decades a PlaylistState property
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:28 -04:00
e9a2a6f06a
db: Give Artists a PlaylistState property
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:27 -04:00
3abf2d3cf7
db: Give Albums a PlaylistState property
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:25 -04:00
38861bbabf
db: Create a PlaylistStateTable and PlaylistState object
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:18:24 -04:00
952d70c282
db: Have Tracks remove themselves from Playlist Maps when deleted
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:17:46 -04:00
0fd1069484
db: Add a PlaylistMap
...
And create both permanent and temporary maps for tracks. The temporary
map is intended to be used for the New Tracks and Previous playlists,
since we don't store the state across restarts.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:17:45 -04:00
2b87707f16
db: Create a PlaylistTable and Playlist object
...
And populate the table with some default playlist values.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:17:17 -04:00
69f5742867
db: Have Tracks remove themselves from the GenreMap when deleted
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:16:51 -04:00
5746b2a81f
db: Add a GenreMap
...
For mapping tracks into a list of genres, or a genre into a list of
tracks.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:16:50 -04:00
986ef5bc74
db: Add a Map object
...
For creating a table that maps one value into another
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:15:47 -04:00
5a52bdc546
db: Give Libraries a way to list their Tracks
...
And make sure the tracks are deleted when a Library is deleted.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:15:45 -04:00
ea555a428c
db: Create a TrackTable and Track object
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:15:44 -04:00
f519830095
db: Create a LibraryTable and Library object
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:15:20 -04:00
63e2e6473d
db: Add a function so Decades can list their Years
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:14:58 -04:00
2af61f8787
db: Create a YearTable and Year object
...
I do lookups and inserts based only on the year field. Decades are
created automatically on insert.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:14:56 -04:00
cc65db6d79
db: Create a DecadeTable and Decade object
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:14:31 -04:00
feca3c7a19
db: Create a GenreTable and Genre object
...
I'll eventually need to add a mapping between tracks and their genre
list, but I still need to build up to having Track objects first
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:14:09 -04:00
00e15c8422
db: Add a function so Albums can list their Discs
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:13:49 -04:00
bbb248f665
db: Create a DiscTable and Disc object
...
To represent each disc of an album. Discs may have different subtitles
that we want to display (or there may not be a subtitle at all). Casting
a Disc to a string either appends the subtitle to the album name or
returns the album name directly. This is intended to be used by the
ColumnView to display album names
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:13:48 -04:00
94f08dcd06
db: Give Artists a function for listing their Albums
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:13:25 -04:00
6a1713630b
db: Create an AlbumTable and Album tag
...
Similar to Artists, only holding information about each album instead.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:13:24 -04:00
2d125546dd
db: Add an ArtistTable and Artist tag
...
Also create an index on artist name in the sqlite table for faster
lookups.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:12:56 -04:00
3753b0ad60
db: Add a Tag object
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:12:02 -04:00
2f8e71fff7
db: Add objects for Tables and Rows
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-23 13:12:00 -04:00
2822a9ac35
db: Add initial SQL connection object
...
And set the row_factory to use the built-in sqlite3.Row so we can access
columns by name in search results
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-22 07:33:43 -04:00