8914c59978
Use file name for unknown tag title retrieval.
...
When taglib get empty or null title from file/album, use file name or
folder name as the tag_title field. It could be confuse to user, but at
leaset it is better than tracks/albums can't be search in ID3 mode API.
2024-06-24 16:21:04 +08:00
cf5e87e62b
feat: improve cover selection algorithm
Release / Run Release Please (push) Blocked by required conditions
Release / Build, tag, and publish Docker image (push) Blocked by required conditions
Release / Notify IRC (push) Blocked by required conditions
Release / Lint and test (push) Has been cancelled
2024-06-11 18:26:44 +08:00
sentriz
0e45f5e84c
feat(subsonic): expose replaygain tags
2024-05-30 11:43:45 +01:00
sentriz
86fd590556
scanner: use create time if we have it
2024-05-15 17:07:44 +02:00
brian-doherty
93ce039963
feat(scanner): support full scan cleanups in watcher ( #496 )
...
* Added code to trigger rescan of entire tree upon file removal to clean as needed.
* Simplified ScanOptions initialization. Removed broken linter.
* gofmt fix
2024-04-21 00:04:53 +00:00
sentriz
02606087dc
use context to stop main() jobs
...
use
2024-02-27 00:39:44 +00:00
sentriz
19ebd4540f
fix(scanner): clean up orphaned album genres when dir still exists without tracks
...
fixes #466
2024-02-13 21:53:28 +00:00
sentriz
eb79cecc44
fix(scanner): gracefully handle multi value tag delim splits with adjacent delimiters
...
closes #448
Co-authored-by: Chris Hayes <chayes@interrobang.sh >
2024-01-02 23:10:11 +00:00
sentriz
b5de0b3b84
centralise special path prefix check
2023-12-29 19:20:31 +00:00
sentriz
f5b6b4d790
fix substring checking in scanner musicDirRelative
...
related https://github.com/sentriz/gonic/issues/437
2023-12-22 13:00:14 +00:00
sentriz
7efe29f29f
refactor(scanner): extract symlink walking
2023-12-13 02:16:05 +00:00
sentriz
9e12394acc
refactor(scanner): rename scan context to scan state
2023-12-13 01:32:15 +00:00
sentriz
688f9d3be5
update created_at logic
2023-12-07 16:26:18 +00:00
sentriz
5022500b30
fix(subsonic): return empty opensubsonic fields
...
https://github.com/sentriz/gonic/pull/397#issuecomment-1806794844
2023-11-11 12:34:04 +00:00
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
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
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
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
8f6610ff86
feat: allow multi valued tag modes to be configurable
2023-09-10 16:16:33 +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
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
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
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
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
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