Add 'playlists'

Anna Schumaker 2023-03-21 14:04:47 -04:00
parent cd25242a7f
commit f4aab26086
1 changed files with 35 additions and 0 deletions

35
playlists.md Normal file

@ -0,0 +1,35 @@
The `playlists` table holds information for user and system playlists. The `playlists_view` joins the `playlists` table with the [[playlist_properties]] table so the application can use one query to access all the relevant state for each playlist.
### Columns
| Name | Type | Description |
| --------------------------------- | -------- | --------------------------------------------- |
| playlistid | INTEGER | The unique id of a singe playlist |
| [propertyid](playlist_properties) | INTEGER | The rowid of this playlist's properties |
| name | TEXT | The name of this playlist |
| image | [[PATH]] | The filepath of an image to display in the UI |
### Triggers
| Name | When | Description |
| ------------------------ | ------------ | ----------------------------------------------------------------- |
| playlists_insert_trigger | After insert | Create a new row in the [[playlist_properties]] table |
| playlists_delete_trigger | After delete | Delete this playlist's entry in the [[playlist_properties]] table |
### The `playlists_view`
| Column | Description |
| --------------------------------- | ---------------------------------------------------------- |
| playlistid | The playlistid of this playlist |
| [propertyid](playlist_properties) | The rowid of the [[playlist_properties]] for this playlist |
| name | The name of this playlist |
| image | The filepath of an image to display for this playlist |
| [active](playlist_properties) | The active state of this playlist |
### Default System Playlists
| Name | Destription |
| ------------------ | ------------------------------------------------------------ |
| Collection | A playlist containing all tracks added to the database |
| Favorite Tracks | A playlist containing the user's favorite tracks |
| Most Played Tracks | A playlist containing tracks with an above-average playcount |
| New Tracks | A playlist containing recently added tracks |
| Previous Tracks | A playlist containing recently played tracks |
| Queued Tracks | A playlist containing tracks that will be played soon |
| Unplayed Tracks | A playlist containing tracks that have not been played yet |