Commit Graph

129 Commits

Author SHA1 Message Date
sentriz
04c7fa2efd clean up old tickers 2023-10-04 21:36:55 +01:00
sentriz
97e9675dca reorg packages 2023-10-04 20:52:06 +01:00
sentriz
a669ba8598 delete oklog 2023-10-04 20:45:41 +01:00
sentriz
e842b896ec feat: enable profile-guided optimization 2023-10-02 20:29:04 +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
e9accfb71f refactor: refactor controllers and use standard library (#385) 2023-09-30 21:40:51 +00:00
sentriz
e0b1603c00 feat(subsonic): update track play stats on scrobble instead of stream 2023-09-28 20:58:59 +01:00
sentriz
51cf57400e don't start purge job if podcast-purge-age-days not set
Co-authored-by: Alex McGrath <amk@amk.ie>
2023-09-27 13:53:36 +01:00
Senan Kelly
f119659acf refactor scrobblers (#383)
- no need to explicitly pass api key
- move packages up a level
- catch more errors by extended scrobbler interface with IsUserAuthenticated
- move interface to server
- delete scrobbber package, clients implicitly satisfy Scrobble

this also helps with gonic-lastfm-sync
2023-09-27 00:13:00 +00:00
sentriz
c93852fe16 don't pass nil clean up funcs to run.Group 2023-09-25 18:48:39 +01:00
sentriz
e3dd812b6c feat(ci): add a bunch more linters 2023-09-22 19:05:55 +02:00
sentriz
12c31cd334 use an enum for db settings 2023-09-14 00:51:40 +01:00
sentriz
1c0e844027 bump refresh artist info interval 2023-09-14 00:43:31 +01:00
sentriz
05a81a809a move artistinfocache 2023-09-14 00:41:47 +01:00
sentriz
c374577328 feat(subsonic): cache and use lastfm responses for covers, bios, top songs 2023-09-13 21:30:57 +01:00
sentriz
2a7a455ce2 feat: add option for /debug/vars endpoint to expose database and media stats
closes #372
closes #150
2023-09-13 01:11:13 +01:00
sentriz
b3199de967 remove a whole pile of startup indirection
fixes #360
2023-09-12 00:41:01 +01:00
sentriz
8f6610ff86 feat: allow multi valued tag modes to be configurable 2023-09-10 16:16:33 +01:00
sentriz
7dc9575e52 feat: store and use m3u files on filesystem for playlists
closes #306
closes #307
closes #66
2023-05-06 18:42:52 +01: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
Senan Kelly
74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +00:00
sentriz
b8fceae383 feat(sunsonic): expose type serverVersion in subsonic responses
https://opensubsonic.netlify.app/docs/responses/subsonic-response/
https://github.com/opensubsonic/open-subsonic-api/discussions/3
2023-04-08 01:27:40 +01:00
sentriz
7e097c9bdf feat: allow for custom music folder path alias
closes #259
2022-11-21 20:51:26 +00:00
sentriz
428fddad1b feat(jukebox): allow users to pass custom arguments to mpv
fixes #125
fixes #164
2022-11-16 20:11:35 +00:00
sentriz
e1488b0d18 feat(jukebox): use mpv over ipc as a player backend 2022-11-16 19:40:40 +00:00
Brian Doherty
f6c95503c7 feat(scanner): added option to scan at startup
closes #251
2022-11-07 23:41:56 +00:00
brian-doherty
85cb0feb5a feat(podcasts): add an option to purge old episodes
* Record podcast episode plays in ModifiedAt field.

* Added podcast purger.
2022-11-07 23:30:34 +00:00
sentriz
1f8de66fc0 2022-11-03 15:27:59 +00: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
8b803ecf20 refactor: move shared packages up a level 2022-04-13 01:10:46 +01:00
brian-doherty
59c404749f feat(server): support TLS
* Added https support. Will revert to http if either cert or key are empty strings.

* Update server/server.go

Co-authored-by: Senan Kelly <senan@senan.xyz>

* Fixed lint issues.

Co-authored-by: Senan Kelly <senan@senan.xyz>
2022-03-14 23:38:09 +00:00
sentriz
40cd031b05 feat: add multi folder support
closes #50
2021-11-06 21:56:01 +00:00
sentriz
fa587fc7de refactor: update scanner, scanner tests, mockfs
closes #165
closes #163
2021-11-06 21:55:46 +00:00
sentriz
3cf3bdafd8 fix: show "gonic" not version in --help 2021-05-11 22:48:46 +01:00
sentriz
f3bc3ae789 feat: create cache directory on startup
the flag is still required - but the path need not exist

the folder will eventually be created by one of

		if err := os.MkdirAll(cacheDirAudio, os.ModePerm); err != nil {
		if err := os.MkdirAll(cacheDirCovers, os.ModePerm); err != nil {

fixes #127
2021-05-11 21:38:11 +01:00
sentriz
4637cf70c1 fix: trim newlines when rendering flag values
so the default genre split doesn't break the table
2021-05-11 21:34:11 +01:00
sentriz
e6b76915da fix: don't clutter db close in main 2021-05-08 18:37:55 +01:00
sentriz
0c871d888b refactor(admin): use go1.16 embed for templates and assets 2021-05-08 18:37:55 +01:00
sentriz
6f15589c08 feat!: bump to go1.16 and embed version 2021-05-08 18:37:55 +01:00
sentriz
b17ce76a72 Set getUser.view jukebox/podcast role
closes #130
2021-04-18 12:34:54 +01:00
Duncan Overbruck
2a11017d54 add flag (-http-log) to disable http request logging 2021-02-27 18:26:37 +00:00
Alex McGrath
37fca3a087 add some podcast nit changes and make podcasts mandatory 2021-02-03 20:45:30 +00:00
Alex McGrath
9c4286b0e2 add support for subsonic podcast api 2021-02-03 20:45:30 +00:00
sentriz
de79b043e1 Add inital multiple artist support 2021-01-03 18:15:16 +00:00
sentriz
bfcdc2c2bb prefix cmd/gonic conf vars 2020-11-12 17:19:04 +00:00
sentriz
c05b92d924 make linter happy 2020-07-24 20:56:07 +01:00
sentriz
dae1e03940 use a "CacheCover" folder for scaled covers 2020-07-24 20:56:07 +01:00
sentriz
06ffa7d0d3 bump api to 1.15.0 2020-06-06 20:52:23 +01:00
sentriz
fd96bfe6a8 periodically clean sessions 2020-05-19 19:19:47 +01:00
sentriz
c65606ba1f add some go-critic suggestions 2020-05-07 04:31:47 +01:00