111 Commits

Author SHA1 Message Date
4a59611311 Clippy lints
Some checks failed
Cargo CI / Build and Test (pull_request) Failing after 2m12s
Cargo CI / Lint (pull_request) Successful in 1m7s
2025-01-11 16:02:47 +01:00
0fe6fe0be1 Complete implementation
Some checks failed
Cargo CI / Build and Test (pull_request) Failing after 2m59s
Cargo CI / Lint (pull_request) Failing after 1m4s
2025-01-11 15:47:07 +01:00
a9782b74cc Add tests 2025-01-11 14:16:53 +01:00
eccc8a880f A nicer version compiles 2025-01-11 13:50:44 +01:00
02fdef444f Draft code to write database 2025-01-11 11:36:54 +01:00
536b3cefc8 Fetch loses albums with CannotHaveMbid as mb_ref (#259)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m5s
Cargo CI / Lint (push) Successful in 1m7s
Closes #255

Reviewed-on: #259
2025-01-05 14:55:35 +01:00
54b170a5b5 Fetch panics if a list shortens with a selection beyond the new length (#258)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m7s
Cargo CI / Lint (push) Successful in 1m8s
Closes #257

Reviewed-on: #258
2025-01-05 12:47:51 +01:00
ffd0d4d82f Fetching and then instantly reloading library loses data (#256)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m5s
Cargo CI / Lint (push) Successful in 1m7s
Closes #254

Reviewed-on: #256
2025-01-05 11:06:05 +01:00
226c583117 Add a filtering tool to only show only certain release group types (#252)
All checks were successful
Cargo CI / Lint (pull_request) Successful in 1m8s
Cargo CI / Build and Test (push) Successful in 2m8s
Cargo CI / Lint (push) Successful in 1m9s
Cargo CI / Build and Test (pull_request) Successful in 2m5s
Closes #161

Reviewed-on: #252
2025-01-04 22:42:26 +01:00
1d7a45b1bb When matching an MB entity to an owned album check if it isn't already in the collection (#250)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m6s
Cargo CI / Lint (push) Successful in 1m7s
Cargo CI / Lint (pull_request) Successful in 1m8s
Cargo CI / Build and Test (pull_request) Successful in 2m4s
Closes #249

Reviewed-on: #250
2025-01-04 00:06:37 +01:00
7ebe17f0b0 Ignore bootleg release groups (#247)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m6s
Cargo CI / Lint (push) Successful in 1m8s
Cargo CI / Build and Test (pull_request) Successful in 2m2s
Cargo CI / Lint (pull_request) Successful in 1m7s
Closes #239

Reviewed-on: #247
2025-01-03 21:00:21 +01:00
90c381c165 Startup merge fails when the database has two albums with the same title as an album in the library (#246)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m5s
Cargo CI / Lint (push) Successful in 1m8s
Closes #245

Reviewed-on: #246
2025-01-03 17:46:55 +01:00
2b468260cc Store date information when writing to database (#244)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m4s
Cargo CI / Lint (push) Successful in 1m8s
Cargo CI / Build and Test (pull_request) Successful in 2m2s
Cargo CI / Lint (pull_request) Successful in 1m7s
Closes #232

Reviewed-on: #244
2025-01-03 10:26:54 +01:00
11785ffa1e Use primary type in the album sort key (#243)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m9s
Part 5 of #231
Closes #231

Reviewed-on: #243
2025-01-02 23:24:02 +01:00
7c23e0f9a3 Rename DbId to MbRef (#242)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m1s
Cargo CI / Lint (push) Successful in 1m9s
Part 4 of #231

Reviewed-on: #242
2025-01-02 22:54:52 +01:00
ccf139c2ca Make MBID part of the artist identifier to disambiguate MB clashes (#241)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m7s
And consistency with album identifier.

Part 3 of #231

Reviewed-on: #241
2025-01-02 22:30:47 +01:00
dee8cbea4e Make MBID part of the album identifier to disambiguate MB clashes (#240)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m2s
Cargo CI / Lint (push) Successful in 1m7s
Part 2 of #231

Reviewed-on: #240
2025-01-02 19:53:39 +01:00
2ecd4cb6af Add a library identifier to disambiguate clashes in the library (#238)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m6s
Part 1 of #231

Reviewed-on: #238
2025-01-02 15:50:55 +01:00
429294c6a5 Provide a keyboard shortcut to pull all release groups of an artist (#233)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m53s
Cargo CI / Lint (push) Successful in 1m7s
Cargo CI / Build and Test (pull_request) Successful in 2m47s
Cargo CI / Lint (pull_request) Successful in 1m7s
Part 3 of #160
Closes #160

Reviewed-on: #233
2024-12-30 23:42:20 +01:00
76b7e7bd22 Update Rust toolchain to 1.83 in CI (#235)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m55s
Cargo CI / Lint (push) Successful in 1m5s
Closes #234

Reviewed-on: #235
2024-12-30 22:40:07 +01:00
5d510ff787 Integrate browse API into TUI MB daemon (#230)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m7s
Part 2 of #160

Reviewed-on: #230
2024-10-06 15:32:46 +02:00
4db09667fd Add support for MusicBrainz's Browse API (#228)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m58s
Cargo CI / Lint (push) Successful in 1m8s
Reviewed-on: #228
2024-09-29 21:33:42 +02:00
0d7e6bb555 Allow fetching of a single album (#226)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m6s
Closes #225

Reviewed-on: #226
2024-09-29 12:38:38 +02:00
e22068e461 Gracefully handle case of nothing being there to match (#222)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m59s
Cargo CI / Lint (push) Successful in 1m7s
Closes #203

Reviewed-on: #222
2024-09-29 11:33:38 +02:00
0b0599318e Enable fetch to apply modifications to the database (#221)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m1s
Cargo CI / Lint (push) Successful in 1m8s
Closes #189

Reviewed-on: #221
2024-09-29 10:44:37 +02:00
dbaef0422f Implement cannot have MBID in core (#220)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m5s
Part 1 of #189

Reviewed-on: #220
2024-09-24 22:38:40 +02:00
90db5faae7 Add option for manual input during fetch (#219)
All checks were successful
Cargo CI / Lint (push) Successful in 1m5s
Cargo CI / Build and Test (push) Successful in 1m57s
Closes #188

Reviewed-on: #219
2024-09-23 22:40:25 +02:00
d6f4b2b6b7 Daemonize the musicbrainz thread (#217)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m56s
Cargo CI / Lint (push) Successful in 1m6s
Part 3 of #188

Reviewed-on: #217
2024-09-21 23:03:47 +02:00
38517caf4e Add manual input elements to the app an ui (#216)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m56s
Cargo CI / Lint (push) Successful in 1m6s
Part 2 of #188

Reviewed-on: #216
2024-09-15 15:20:11 +02:00
8b008292cb Use more verbose type names for clarity (#214)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m6s
PR 1 for #188

Reviewed-on: #214
2024-09-13 21:28:12 +02:00
9d1caffd9c Handle idle time between fetch results (#212)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m52s
Cargo CI / Lint (push) Successful in 1m7s
Closes #211

Reviewed-on: #212
2024-09-08 23:23:53 +02:00
8e48412282 Make fetch asynchronous (#210)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m51s
Cargo CI / Lint (push) Successful in 1m5s
Closes #187

Reviewed-on: #210
2024-09-01 17:47:39 +02:00
fd9d3677ec Separate metadata from collections (#209)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m59s
Cargo CI / Lint (push) Successful in 1m6s
Part 1 of #187

Reviewed-on: #209
2024-08-31 22:55:25 +02:00
ebd63cc80b Add a "cannot-have-an-mbid" entry to possible matches (#208)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m6s
Closes #190

Reviewed-on: #208
2024-08-31 16:29:36 +02:00
6333b7a131 Use a queue to communicate matches from browse to matches (#207)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m0s
Cargo CI / Lint (push) Successful in 1m10s
Closes #202

Reviewed-on: #207
2024-08-31 14:42:46 +02:00
398963b9fd Make fetch also fetch artist MBID if it is missing (#201)
All checks were successful
Cargo CI / Build and Test (push) Successful in 2m4s
Cargo CI / Lint (push) Successful in 1m6s
Closes #191

Reviewed-on: #201
2024-08-30 17:58:44 +02:00
c38961c3c1 Split ui.rs into modules based on UI element (#200)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m59s
Cargo CI / Lint (push) Successful in 1m5s
Closes #135

Reviewed-on: #200
2024-08-29 17:21:52 +02:00
0fefc52603 For the database serde implementation use Mbid rather than MbRef (#199)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m54s
Cargo CI / Lint (push) Successful in 1m7s
Closes #198

Reviewed-on: #199
2024-08-29 13:37:47 +02:00
f82a6376e0 Use the Deserialize trait for JSON just like for MusicBrainz (#197)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m53s
Cargo CI / Lint (push) Successful in 1m5s
Closes #195

Reviewed-on: #197
2024-08-28 23:02:14 +02:00
43961b3ea1 Decide carefully where external::musicbrainz belongs (#196)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m5s
Closes #193

Reviewed-on: #196
2024-08-28 18:21:13 +02:00
b70499d8de Replace MH: IMusicHoard generic with a trait object (#194)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m56s
Cargo CI / Lint (push) Successful in 1m8s
Closes #192

Reviewed-on: #194
2024-08-27 18:45:03 +02:00
cf7e23c38c Provide a keyboard shortcut to sync all existing albums with MusicBrainz (#167)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m56s
Cargo CI / Lint (push) Successful in 1m5s
Cargo CI / Lint (pull_request) Successful in 1m4s
Cargo CI / Build and Test (pull_request) Successful in 1m58s
Closes #166

Reviewed-on: #167
2024-08-27 17:55:52 +02:00
d8fd952456 Add CLI option for setting binary (#184)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m3s
Cargo CI / Build and Test (pull_request) Successful in 1m54s
Cargo CI / Lint (pull_request) Successful in 1m3s
Closes #183

Reviewed-on: #184
2024-08-24 23:10:59 +02:00
8ff09e66ba Update rust toolchain to 1.80 (#180)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m55s
Cargo CI / Lint (push) Successful in 1m5s
Closes #179

Reviewed-on: #180
2024-08-24 15:10:54 +02:00
d9d5945422 Display all the extra album info (#173)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m58s
Cargo CI / Lint (push) Successful in 1m3s
Closes #172

Reviewed-on: #173
2024-03-17 20:17:41 +01:00
a062817ae7 The MusicBrainz API search call should use the MBID if available (#171)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m3s
Cargo CI / Build and Test (pull_request) Successful in 1m59s
Cargo CI / Lint (pull_request) Successful in 1m4s
Closes #169

Reviewed-on: #171
2024-03-17 17:18:06 +01:00
3ed13ca0e9 Create examples of using the MusicBrainz API (#170)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m57s
Cargo CI / Lint (push) Successful in 1m7s
Cargo CI / Build and Test (pull_request) Successful in 1m58s
Cargo CI / Lint (pull_request) Successful in 1m4s
Closes #168

Reviewed-on: #170
2024-03-17 14:19:30 +01:00
a75dd46a40 Add a MusicBrainz API (#163)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m48s
Cargo CI / Lint (push) Successful in 1m8s
Cargo CI / Build and Test (pull_request) Successful in 1m56s
Cargo CI / Lint (pull_request) Successful in 1m5s
Closes #158

Reviewed-on: #163
2024-03-16 16:57:50 +01:00
c53ba8f35f Break down the musichoard files (#165)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m45s
Cargo CI / Lint (push) Successful in 1m14s
Cargo CI / Build and Test (pull_request) Successful in 1m46s
Cargo CI / Lint (pull_request) Successful in 1m16s
Closes #164

Reviewed-on: #165
2024-03-09 22:52:03 +01:00
8550f7d6da Move database and library implementations out of core (#162)
All checks were successful
Cargo CI / Build and Test (push) Successful in 1m43s
Cargo CI / Lint (push) Successful in 1m14s
Cargo CI / Build and Test (pull_request) Successful in 1m40s
Cargo CI / Lint (pull_request) Successful in 1m17s
Closes #159

Reviewed-on: #162
2024-03-09 19:11:59 +01:00