Claudio Ortolina
7df136c890
Sort aliases
2025-02-20 15:27:01 +00:00
Claudio Ortolina
ce75b42d06
Show record status when scanning
...
For now it only imports new records - it should also purchase wishlisted
ones.
2025-02-19 10:21:44 +00:00
Claudio Ortolina
50b025efca
Refactor with to avoid internal assignments
2025-02-18 12:38:29 +00:00
Claudio Ortolina
025a5105ed
Use map_join instead of map+join
2025-02-18 10:14:31 +00:00
Claudio Ortolina
94a2784020
Move function in MusicBrainz main module
2025-02-17 22:07:49 +00:00
Claudio Ortolina
37f72261c3
Extract MusicBrainz main module
2025-02-17 17:30:13 +00:00
Claudio Ortolina
6d0eeccbb7
Add TODOs for moving logic to MusicBrainz context
2025-02-17 08:47:59 +00:00
Claudio Ortolina
d077f08afa
Start making it more robust
...
- Use structured data for search/render
- Start testing component
- Start testing domain logic
2025-02-15 18:08:30 +00:00
Claudio Ortolina
3c7c9cc596
Scan barcodes and display releases
2025-02-15 18:08:30 +00:00
Claudio Ortolina
c85e66f129
Bubble up errors when streaming releases
2025-02-12 22:43:40 +00:00
Claudio Ortolina
6ad28f1271
When importing a record, stream all its releases
2025-02-05 15:31:08 +00:00
Claudio Ortolina
f29dd1f0ab
Fetch 100 releases when importing a record
...
The release group contains only 25 releases, which breaks tracking
scrobble status. Albums like "Toto IV" or "Hounds of Love" end up
looking like they're not part of the collections because the individual
releases are not stored.
Still error prone, because this change doesn't paginate to more than 100
records, but that will be addressed in a future commit.
2025-02-05 10:12:27 +00:00
Claudio Ortolina
abc48cfdf3
Move fallback cover handling into Cover module
2025-01-24 12:48:03 +00:00
Claudio Ortolina
6427710029
Enable sorting options in collection view
2024-12-29 15:47:37 +00:00
Claudio Ortolina
4be2330891
Fix prompt to avoid the result being returned in a code block
...
Not sure why this is needed, considering that the API call clearly
specifies the `json_object` response format.
2024-12-19 21:05:02 +00:00
Claudio Ortolina
53b89dc329
Extract Artists context
2024-12-18 11:12:06 +00:00
Claudio Ortolina
76605a1114
Add function to get similar artists
2024-12-17 20:44:31 +00:00
Claudio Ortolina
3c85f9e974
Extract OpenAI.Completion struct
2024-12-11 23:24:16 +03:00
Claudio Ortolina
b68a7ac734
Can fetch genres from OpenAI
2024-12-10 16:45:29 +03:00
Claudio Ortolina
f48372f7b3
Use MapSets for performance
...
Not noticeable with current database size, but lays a good foundation
for larger libraries.
For example, given a list of 300 artist IDs, checking if an ID is in the
list takes between 30 and 40 ms (for an ID towards the end of the list),
while the MapSet version takes consistently between 15 and 20 ms.
2024-12-10 14:21:57 +03:00
Claudio Ortolina
9e57103842
Where possible, link scrobbled artists to artist page
2024-12-10 14:13:50 +03:00
Claudio Ortolina
06fd591e5f
Use unicode extension to normalize sorting accented records
2024-12-07 19:38:10 +01:00
Claudio Ortolina
8350ffd3a4
To get artist info, try mbid and then artist name
2024-12-04 21:07:56 +00:00
Claudio Ortolina
e1dc2bfc7f
Make MusicBrainz user agent configurable
2024-12-04 10:44:31 +00:00
Claudio Ortolina
7575e5978a
Extract config for MusicBrainz
2024-12-04 10:33:41 +00:00
Claudio Ortolina
9f2335cfa0
Use correct LastFm api module
2024-12-03 20:14:48 +00:00
Claudio Ortolina
2094c1cf7b
Use LastFm.Config where needed
2024-12-03 09:18:55 +00:00
Claudio Ortolina
18df3683fc
Render a minimal artist page
2024-12-02 17:35:47 +00:00
Claudio Ortolina
2d721774d6
Can fetch an artist info from Last.fm
2024-12-02 12:40:07 +00:00
Claudio Ortolina
b63b3a633a
Can fetch records by a specific artist
2024-12-02 10:55:12 +00:00
Claudio Ortolina
6339196b17
Search by genre
...
Can also click on genres in detail views.
2024-11-26 13:35:15 +00:00
Claudio Ortolina
f0212eeb6f
Consolidate cover resize logic
...
Moves resizing out of the MusicBrainz namespace to Records - which
improves division of responsibilities, and removes double resizing
during import.
2024-11-26 08:35:16 +00:00
Claudio Ortolina
148f68fbf3
Add function to resize cover data in place
2024-11-25 11:26:34 +00:00
Claudio Ortolina
2e2000fe01
Introduce separate search index
...
Uses a fts5 virtual table, kept up to date via triggers on the records
table.
2024-11-22 19:37:13 +00:00
Claudio Ortolina
4581666282
Don't apply fallback cover when refreshing it
...
So that we don't accidentally override a user-uploaded cover with the
fallback one.
2024-11-21 17:57:49 +00:00
Claudio Ortolina
09f3563134
Can refresh cover for a record in the collection
2024-11-19 11:28:50 +00:00
Claudio Ortolina
cc1d2e3b0f
Increase stored cover size to 600px
...
Doesn't affect existing covers
2024-11-19 11:28:50 +00:00
Claudio Ortolina
659894aaee
Materialize included release group ids
2024-11-17 11:52:47 +00:00
Claudio Ortolina
60b098785b
Can refresh musicbrainz_data for collection records
2024-11-15 10:01:53 +00:00
Claudio Ortolina
dbdb698ef3
Display count of child release groups
2024-11-14 15:16:19 +00:00
Claudio Ortolina
bd8f4cc979
Define essential record fields
2024-11-10 16:27:15 +00:00
Claudio Ortolina
0e05c3cfa9
Refactor record building into Record
2024-11-10 16:18:24 +00:00
Claudio Ortolina
6fa3e72a3f
Use a map instead of 4 arguments
2024-11-10 16:10:38 +00:00
Claudio Ortolina
05d1d648b1
Streamline batch module, removing obsolete functions
2024-11-10 14:27:25 +00:00
Claudio Ortolina
bd0336c4a2
Start extracting a Collection context
2024-11-10 13:38:50 +00:00
Claudio Ortolina
47e738eeab
Distinguish importing functions
2024-11-08 19:38:02 +00:00
Claudio Ortolina
0fd12ce44a
Can wishlist a scrobbled record
2024-11-08 19:36:05 +00:00
Claudio Ortolina
4c57f47bca
Move sorting to db query
2024-11-01 19:04:40 +00:00
Claudio Ortolina
9f2acc4e5d
Make records ordering case insensitive
...
So that "iamthemorning" gets slotted in the right place
2024-10-31 12:49:04 +00:00
Claudio Ortolina
bd84e7e2b3
Remove unused functions
2024-10-31 08:31:01 +00:00