Commit Graph

117 Commits

Author SHA1 Message Date
sentriz
0f611d7f7a use track artists and album artists more appropriately
for example using track artists to find top songs, and returning artist
features in artist album lists
2023-11-07 22:49:43 +00:00
sentriz
98eb1066d8 store artist album appearances 2023-11-06 23:40:00 +00:00
sentriz
ddb686bddc fix(scanner): make sure we roll back invalid parents
fixes #402
2023-11-04 19:04:30 +00:00
sentriz
27b2d36376 update transaction funcs 2023-11-04 19:03:28 +00:00
sentriz
604f450f08 move scanner helper 2023-11-04 18:27:35 +00:00
sentriz
c1a34dc021 feat: store and expose individual track artists
a
2023-10-31 19:14:08 +00:00
sentriz
fe0567a995 fix: store and scrobble with real album artist info string 2023-10-25 22:09:04 +01:00
sentriz
46575278ed refactor: remove album.GenreStrings 2023-10-25 21:59:56 +01:00
Senan Kelly
c947404923 refactor(scanner): make the watcher a little easier to reason about (#394)
* add a test for symlinks escaping defined music paths

* refactor(scanner): make the watcher a little easier to reason about
2023-10-24 22:57:42 +00:00
sentriz
95bc919377 don't backtick quote stuff 2023-10-19 02:17:39 +01:00
sentriz
e6761343ad move tags up a level
its not messily tied to scanner anymore
2023-10-05 01:27:21 +01:00
sentriz
8382f6123c feat(subsonic): make it easier to add more tag reading backends
related https://github.com/sentriz/gonic/issues/379
related https://github.com/sentriz/gonic/issues/324
related https://github.com/sentriz/gonic/issues/244
2023-10-02 20:02:56 +01:00
Senan Kelly
39fb8e7d54 use package level require/assert in tests (#382) 2023-09-25 17:39:39 +00:00
sentriz
e3dd812b6c feat(ci): add a bunch more linters 2023-09-22 19:05:55 +02:00
sentriz
0eb5add1a0 delete multierr 2023-09-14 01:09:57 +01:00
sentriz
12c31cd334 use an enum for db settings 2023-09-14 00:51:40 +01:00
sentriz
c909628e04 fix for int sep 2023-09-10 16:16:33 +01:00
sentriz
8f6610ff86 feat: allow multi valued tag modes to be configurable 2023-09-10 16:16:33 +01:00
sentriz
9cf48f0f58 relax the oul linters
will you fuckin relax pal
2023-09-10 16:16:32 +01:00
sentriz
657fb221db feat(subsonic)!: drop support for guessed artist covers in filesystem
it doesn't make sense with multi-artist support anymore

gonic will use lastfm or an album cover instead

Release-As: 0.16.0
2023-09-10 16:16:04 +01:00
sentriz
3ac77823c3 feat(subsonic): add support for multi-valued album artist tags
closes #103

a

a

a

r

a

a

a

a

a

a

a

a

a

a
2023-09-10 14:05:32 +01:00
sentriz
623d5c3709 feat(tags): support multi valued tags like albumartists 2023-09-05 17:42:24 +01:00
sentriz
56bd2c6432 add a test for orphaned genres 2023-08-16 22:52:26 +01:00
sentriz
5700558a3f swap order of require.Equal() args
we had the order of require.Equal() arguments mixed up. it should be
(expected, actual) not the other way around

updated with

    find . -name "*_test.go" -exec gofmt -r "require.Equal(a, b) -> require.Equal(b, a)" -w '{}' \+
2023-08-15 22:38:38 +01:00
Gregor Zurowski
85eeb860bf feat(ci): update golangci-lint and action (#325)
* Update linter

- Update Github golangci-lint-action to v3
- Update golangci-lint to v1.52.2

* Fix linter issues after updating to linter 1.52.2
2023-05-19 12:05:14 +00:00
Gregor Zurowski
b7a50ee9cb use testify for all tests (#319)
* Use Testify for all tests

* Terminate failing non-relaxed tests using `require`
2023-05-13 15:17:37 +00:00
Gregor Zurowski
1d3877668f feat(scanner): add a new option for excluding paths based on a regexp
* Exclude paths based on new exclude pattern option

* Add test for excluded paths

* Add exclude pattern option to docs

* Set exclude regexp only if given argument is set

* Update scanner/scanner.go

---------

Co-authored-by: Senan Kelly <senan@senan.xyz>
2023-05-06 17:03:11 +00:00
sentriz
906164a5de feat(scanner): support more cover types
like bmp gif, and also files like folder.1.jpg like beets can create sometimes
2023-03-10 17:10:14 +00:00
sentriz
e0a8c18b8d fix(scanner): remove redundant mod time look up
fixes #293
2023-02-19 17:36:28 +00:00
Dmitry Rubtsov
78d0c52d22 fix(scanner): fix watcher panic 2023-02-17 12:24:24 +00:00
sentriz
8dc58c71a4 fix(subsonic): send valid content-type with http.ServeStream 2022-12-27 23:10:20 +00:00
sentriz
986fcd2270 use a switch/case for get mime 2022-11-16 19:40:40 +00:00
sentriz
e4756aa560 reset scanList to empty map instead of nil 2022-10-12 18:14:47 +01:00
sentriz
8ee357b021 fix(listenbrainz): submit track recording ID instead of track ID
closes #240
2022-10-08 16:09:22 +01:00
brian-doherty
ea28ff1df3 feat(scanner): add option to use fsnotify based scan watcher (#232)
* First cut at fsnotify support. Tested on Linux.

* Fixed bug in logging.

* Fixed lint issues.

* Added new scan watcher option to README.md

* Inverted conditional and dedented following code as per PR discussion.

* Changed command line switch and error return on ExecuteWatch() as per GH comments.

* Scan watcher: Removed scan at first start. Modified watcher to set a 10 second timer and then process in bulk.

Co-authored-by: Brian Doherty <brian@hplaptop.dohertyfamily.me>
2022-10-08 15:47:35 +01:00
sentriz
fdbb28209b fix(scanner): fix records with album name same as artist
and never use db.Where() with a struct

gorm was seeing a query like

    db.Where(Album{Left: left, Right: right})

but if the `left` variable was empty, gorm couldn't differentiate it with an empty field in the struct
so it generated SQL that we weren't expected

like

    SELECT * FROM albums WHERE right=?

instead of

    SELECT * FROM albums WHERE left=? AND right=?

fixes #230
2022-09-09 13:09:06 +01:00
sentriz
a9d393350a fix(scanner): better detect years given extraneous year tags 2022-07-21 13:06:32 +01:00
sentriz
2afc63f64a add a test for updated album genre tags
related #225
2022-05-19 00:49:20 +01:00
sentriz
d6d1fe26ba refactor(scanner): remove unused genreIDs arg 2022-05-19 00:46:17 +01:00
sentriz
8b803ecf20 refactor: move shared packages up a level 2022-04-13 01:10:46 +01:00
sentriz
f52ce807af upgrade sqlite3 2020-04-25 01:55:46 +01:00
sentriz
b95f98ffcf add "-full-scan" scan option to gonic scan
closes #20
2020-04-24 01:57:17 +01:00
sentriz
e0f194ec6c add jukebox-enabled flag 2020-04-18 22:04:53 +01:00
sentriz
1ff5845a02 refactor server startup into jobs 2020-04-18 19:35:15 +01:00
sentriz
256143a025 move senan.xyz/g/ to go.senan.xyz 2020-04-02 16:46:04 +01:00
sentriz
22992c9941 fixup! run gofumpt / format comments / comment blocks 2020-03-20 02:48:51 +00:00
sentriz
03647176d4 clean up scanner cleanup 2020-03-14 16:41:28 +00:00
sentriz
3a8e5b9205 run gofumpt / format comments / comment blocks 2020-03-12 15:17:36 +00:00
sentriz
29e9abc1d4 scrobble with brainz trackid, not album id 2020-03-12 13:28:27 +00:00
Duncan Overbruck
ae31d4a893 scanner: add genre support 2020-03-03 13:40:23 +01:00