Commit Graph

301 Commits

Author SHA1 Message Date
Senan Kelly
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-doherty
8309425c9e parse podcast description from HTML to text just as with episodes (#354) 2023-08-16 19:13:39 +00:00
archekb
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-doherty
7d2c4fbb5c feat(podcast): parse podcast episode descriptions from HTML to plain text (#351) 2023-08-14 21:14:13 +00:00
archekb
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
brian-doherty
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
brian-doherty
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 Zurowski
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 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
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 Kelly
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
sentriz
475749534f feat(subsonic): fetch artist images from lastfm opengraph
closes #295

Co-authored-by: cacko <alex@cacko.net>
2023-02-20 22:03:58 +00:00
Brian Doherty
aecee3d2d8 feat(subsonic): add support for podcast episodes in both playlists and play queues 2023-02-19 17:56:45 +00:00
sentriz
8dc58c71a4 fix(subsonic): send valid content-type with http.ServeStream 2022-12-27 23:10:20 +00:00
sentriz
0407a1581f feat(subsonic): add stub lyrics.view
fixes #274
2022-12-26 01:54:44 +00:00
sentriz
c6ddee8f7e fix(subsonic): update music folder id in bounds check
fixes #271
2022-12-12 20:02:28 +00:00
sentriz
ce31310571 fix(transcode): don't leave half transcode cache files lying around
fixes #270
2022-12-12 18:56:20 +00:00
sentriz
6c8f6b3299 enable download role for all users
since we don't have any permission checks on download.view anyway

closes #264
2022-12-04 22:02:48 +00:00
sentriz
7e097c9bdf feat: allow for custom music folder path alias
closes #259
2022-11-21 20:51:26 +00:00
sentriz
e1488b0d18 feat(jukebox): use mpv over ipc as a player backend 2022-11-16 19:40:40 +00:00
sentriz
ba283021c1 print artist name instead of object in lastfm tracks error 2022-11-14 14:06:11 +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
sentriz
131e56b3e6 refactor(subsonic): don't make getMusicFolder a method of ctrl 2022-11-02 22:21:19 +00:00
dertasiu
6e6404af73 feat(subsonic): return transcoded mime and transcoded suffix in subsonic responses
fixes #106

* Added support to TranscodedContentType and TranscodedSuffix

* Make sure that we have a profile

* Fix linting

* Fixed use of NewTCTrackByFolder instead of NewTrackByTags in handlers_by_tags.go

simplify a bit
2022-11-02 22:17:29 +00:00
brian-doherty
692ec68282 fix(subsonic): correct album orderding in getAlbumList, add starred request type in getAlbumList 2022-10-27 18:41:13 +00:00
sentriz
b332ce8285 delete left over albums count query in getStarred2 2022-10-26 23:49:17 +01:00
brian-doherty
e8759cb6c1 feat(subsonic): add support for track/album/artist ratings/stars
fixes #171
fixes #31

* Initial code. Compiles and passes unit tests.

* Moved average rating calculation from rating fetch to set rating function. Still only compiled and unit tested.

* Bug fixes

* Fixed bug in savePlayQueue. Removed unique_index for star / rating entries because it's not valid.

* Changed time format on stars to RFC3339Nano to match created date format.

* Lint fixes.

* More lint fixes.

* Removed add* functions and replaced with Preload.

* Fixed several bugs in handlers for getStarred and getStarred2.

* Fixed bug when using music folder ID.

Co-authored-by: Brian Doherty <brian@hplaptop.dohertyfamily.me>
2022-10-26 14:37:16 +01:00
sentriz
d47d5e17e9 fix(subsonic): return an error when no tracks provided in savePlayQueue 2022-10-08 17:23:12 +01:00