369 Commits
Author SHA1 Message Date
Duncan OverbruckandGitHub b17e76ea73 fix(subsonic): songCount and albumCount in genre objects is required (#390) 2023-10-12 19:19:30 +00:00
sentriz f18151b755 fix(subsonic): don't return concatenated genres strings for song/trackchilds 2023-10-10 16:56:37 +01:00
Senan KellyandGitHub 7eaf602e69 feat(subsonic): support timeOffset in stream.view (#384)
as per
https://github.com/opensubsonic/open-subsonic-api/pull/54
https://github.com/opensubsonic/open-subsonic-api/discussions/21

dont cache partial transcodes

add a transcode seek test
2023-10-08 16:10:49 +00:00
sentriz 1ea2402559 feat(subsonic): scrobble to different scrobble backends in parallel 2023-10-05 12:23:57 +01:00
sentriz 315c4f834e lint 2023-10-04 21:03:41 +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 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 ae82153d79 put helpers last 2023-10-01 03:20:03 +01:00
Senan KellyandGitHub e9accfb71f refactor: refactor controllers and use standard library (#385) 2023-09-30 21:40:51 +00:00
sentriz adceff1267 use new opensubsonic extensions response format 2023-09-30 22:24:16 +01:00
sentriz 2caee441ca feat(subsonic): add getOpenSubsonicExtensions endpoint and openSubsonic response key 2023-09-28 21:17:56 +01:00
sentriz e0b1603c00 feat(subsonic): update track play stats on scrobble instead of stream 2023-09-28 20:58:59 +01:00
sentriz 6b322e4a1f return album genres as a list of objects as per opensubsonic
https://github.com/opensubsonic/open-subsonic-api/pull/51
2023-09-28 20:34:00 +01:00
Senan KellyandGitHub 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 8edd71f8f7 include artist ids in getStarred responses 2023-09-26 18:46:37 +01:00
sentriz b3c863c386 feat(subsonic): order results from getStarred reverse chronologically based on star date 2023-09-26 12:03:15 +01:00
sentriz e3dd812b6c feat(ci): add a bunch more linters 2023-09-22 19:05:55 +02:00
Senan KellyandGitHub 33f1f2e0cf refactor podcast schema and generate unique episode paths (#373)
closes #350
2023-09-20 23:01:16 +00:00
sentriz d9d234d826 show transcode meta info in more places 2023-09-14 23:56:56 +01:00
sentriz 1cc675b6af set cache-control header on covers 2023-09-14 01:28:21 +01:00
sentriz 1900a7b39f preload artist info for getArtists 2023-09-14 01:19:41 +01: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 05a81a809a move artistinfocache 2023-09-14 00:41:47 +01:00
sentriz df2c0707dd only return artist cover art if we have cached it 2023-09-14 00:34:01 +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 c15349f796 feat(subsonic): return artist cover ids for similar artists response 2023-09-13 17:24:19 +01:00
sentriz 3553348877 return full bookmark object from getbookmarks
fixes #328
2023-09-13 02:08:30 +01:00
sentriz b3199de967 remove a whole pile of startup indirection
fixes #360
2023-09-12 00:41:01 +01:00
sentriz 749233db4e feat(subsonic): expose all album genres in a list of subsonic api
expose album genres from getArtist
2023-09-11 19:36:52 +01:00
sentriz d6b35f8c79 return artist reference objects in subsonic album type
https://github.com/opensubsonic/open-subsonic-api/discussions/8
2023-09-10 18:42:50 +01:00
sentriz ddd160545c use comma when joining artists 2023-09-10 16:48:06 +01:00
sentriz 658bae2b43 chore(build)!: bump to go 1.21
Release-As: 0.16.0
2023-09-10 16:16:23 +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
brian-dohertyandGitHub 8309425c9e parse podcast description from HTML to text just as with episodes (#354) 2023-08-16 19:13:39 +00:00
d5f8e23a89 feat(subsonic): gracefully handle missing podcast episode paths when returning playlists
fixes #345

* fix return playlist if file not found and do not add to playlist not downloaded podcast

---------

Co-authored-by: sentriz <senan@senan.xyz>
2023-08-15 14:49:18 +00:00
brian-dohertyandGitHub 7d2c4fbb5c feat(podcast): parse podcast episode descriptions from HTML to plain text (#351) 2023-08-14 21:14:13 +00:00
archekbandGitHub 8f05f33ab8 subsonic: make homepageURL parameter optional
By the https://opensubsonic.netlify.app/docs/endpoints/createinternetradiostation/ the `homepageURL` is not requirement option
2023-08-02 10:08:49 +00:00
sentriz 637aae9b36 make getTopSongs return an empty list when there's no results
https://github.com/tamland/airsonic-refix/issues/99
2023-07-10 13:25:13 +01:00
7982ffc0b4 feat(subsonic): change frequent album list to use total time played per album instead of play count. (#331)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 21:11:15 +00:00
cbab68b057 feat(subsonic): improve search2 and search3 when there are multiple words searched on. (#335)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 20:59:22 +00:00
Gregor ZurowskiandGitHub dbcccdc811 add initial Last.FM tests (#329)
* Move model into separate file

* Separate Last.FM client and scrobbler

* Use separate Last.FM client and scrobbler

* Fix playcount attribute name

* Add initial test for Last.FM client
2023-05-20 11:24:03 +00:00
Gregor ZurowskiandGitHub 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
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
Senan KellyandGitHub 74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +00:00
sentriz efe72fc447 fix(subsonic): only return one bookmark entry per row in getBookmarks
fixes #310

https://gitlab.com/ultrasonic/ultrasonic/-/issues/1113
2023-04-21 22:46:59 +01: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 a2f70f4059 chore(ci): update linters 2023-03-10 17:10:14 +00:00