Start implementation of database functionality, starting with table generation.

This database will be stored in the user's XDG_DATA_HOME directory under a folder called `com.github.joshstrobl.koto`.

Refactored Koto Track Listing into a dedicated Disc View component, break apart out CDs / Discs into relevant Disc View components, sorting them by the disc and showing a label if there are more than one discs / CDs.

Started using the row-activated event for our Artist GtkListBox instead of having press events on the artist buttons. Makes switching between artists far more reliable. Added a slide left / right stack animation and set its animation to 400ms so it's in the goldilocks zone (IMO) of not being too fast or too slow.

Fix a warning related to scale factor fetching in the PlayerBar.
This commit is contained in:
Joshua Strobl 2021-02-27 17:26:24 +02:00
parent 134b4d79a8
commit eac4940c77
17 changed files with 434 additions and 61 deletions

View file

@ -1,12 +1,14 @@
add_project_arguments('-Db_sanitize=address', language: 'c')
koto_sources = [
'db/db.c',
'indexer/album.c',
'indexer/artist.c',
'indexer/file.c',
'indexer/file-indexer.c',
'pages/music/album-view.c',
'pages/music/artist-view.c',
'pages/music/disc-view.c',
'pages/music/music-local.c',
'main.c',
'koto-button.c',
@ -23,6 +25,7 @@ koto_deps = [
dependency('gio-2.0', version: '>= 2.66'),
dependency('gtk4', version: '>= 4.0'),
dependency('libmagic', version: '>=5.39'),
dependency('sqlite3', version: '>=3.34'),
dependency('taglib_c', version: '>=1.11'),
]