Commit Graph

55 Commits

Author SHA1 Message Date
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
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
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
e1488b0d18 feat(jukebox): use mpv over ipc as a player backend 2022-11-16 19:40:40 +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
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
brian-doherty
7ab378accb feat(subsonic): add internet radio support
* Initial commit of internet radio support.

* Added first test for internet radio.

* Refactor to prepare for more test cases.

* Added a few more tests. Realized that I was not calling as admin so added ability to mock admin.

* Added more internet radio tests. Added proper JSON unmarshaling for ID.

* More test cases. Fixed some accidental tabs in files.

* Fixed some more tabs.

* lint fixes

* Changed placeholder for homepage URL to fit into box.

* Finished out internet radio test cases. Found a few bad error codes in internet radio AND podcasts (mea culpa).

* Realized that delete via website was not checking properly if id existed. Fixed.

gofmt
2022-06-21 22:33:21 +01:00
brian-doherty
f6687df3f3 feat(subsonic): add getNewestPodcasts 2022-04-21 20:13:47 +01:00
xavier
92febcffe6 feat(subsonic): implement getSimilarSongs2.view
closes #195
2022-02-10 12:34:35 +00:00
xavier
e1cfed7965 feat(subsonic): implement getSimilarSongs.view
closes #195
2022-02-10 12:34:34 +00:00
xavier
39b3ae5ecb feat(subsonic): implement getTopSongs.view
closes #195
2022-02-10 12:34:34 +00:00
sentriz
27ac8e1d25 fix: add stub getStarred views to shut up refix 2021-12-20 17:06:09 +00:00
Senan Kelly
96f693f4e4 make musicFolderIds ints (#169)
* make `musicFolderId`s ints

https://github.com/sentriz/gonic/issues/50#issuecomment-963257103
006c1dafee/Classes/Models/API%20Models/MediaFolder.swift (L16)

related #50

* add a test for multi folders and reused artists
2021-11-09 00:23:32 +00:00
sentriz
40cd031b05 feat: add multi folder support
closes #50
2021-11-06 21:56:01 +00:00
Duncan Overbruck
848d85d26a feat: add CreatedAt to albums (#159)
This change will make the GetAlbumList views with the "newest" type
work as expected.
2021-10-04 19:12:49 +01:00
sentriz
58624f07dc feat(subsonic)!: don't return gonic version from responses 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
7a1d57a43c support subsonic bookmarks 2021-02-03 22:55:05 +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
3a71358df6 add dummy getPodcasts view
fixes #98
2021-01-03 18:15:16 +00:00
GS
8a91f197cf Add year to ChildTracks of an Album 2020-12-27 15:56:26 +00:00
sentriz
0581335622 assume incoming play queue current is an ID 2020-06-30 20:42:50 +01:00
Sumner Evans
cadc02f923 Make duration adhere to the spec 2020-06-16 08:50:38 +01:00
sentriz
06ffa7d0d3 bump api to 1.15.0 2020-06-06 20:52:23 +01:00
sentriz
950656af4f use pointers to specid.ID in spec responses
a bit shit but this way we can have a nil value of ID so that the json
emitempty tag will do the thing
2020-06-06 18:13:45 +01:00
sentriz
1ef2d43d39 move the id type into spec 2020-06-06 18:13:45 +01:00
sentriz
26457aae6c add const 2020-06-06 18:13:45 +01:00
sentriz
b145ae39ed omit less fields in album response 2020-05-20 20:21:15 +01:00
sentriz
ee9335f71e remove globals 2020-05-07 03:24:50 +01:00
sentriz
b02ade3415 update golangci lint linter list 2020-05-02 04:22:26 +01:00
Alex McGrath
64d0aee8dc Add support for the jukebox endpoint
This supports most of jukeboxControl.view as far as i can tell. Things
seem to be playing ok without freaking out

I've also only tested it a little bit with ultrasonic but it does
appear to be working pretty well
2020-04-17 23:20:06 +01:00
sentriz
5b76ab4e4b add year and artist to getalbum response
closes #55
2020-04-12 18:27:50 +01:00
sentriz
256143a025 move senan.xyz/g/ to go.senan.xyz 2020-04-02 16:46:04 +01:00
sentriz
ce5c5d3b58 fix genre struct tags 2020-03-12 16:18:30 +00:00
sentriz
3a8e5b9205 run gofumpt / format comments / comment blocks 2020-03-12 15:17:36 +00:00
Duncan Overbruck
16d9d00408 ctrlsubsonic: add getSongsByGenre view 2020-03-03 13:40:23 +01:00
Duncan Overbruck
14d68f748c ctrlsubsonic: implement getGenres 2020-03-03 13:40:23 +01:00
Duncan Overbruck
2f563c3406 spec: add IgnoredArticles attribute to Index responses
This attribute is required as per spec and keeping it empty,
complies the spec as long as articles are not ignored while indexing.
In the future, this could maybe be a user setting that could be
supported.

With this change, the aurial client works now.

* https://shrimpza.github.io/aurial/
* https://github.com/shrimpza/aurial
2020-03-03 12:22:34 +00:00
sentriz
7c170a68c2 add more omitempty changes 2020-02-21 17:55:30 +00:00
sentriz
9b8a35df00 dont ommit empty json lists 2020-02-21 03:28:56 +00:00
sentriz
e8b0ea6713 add getRandomSongs
closes #33
2020-02-21 02:15:29 +00:00
sentriz
e67588623b return similar artists 2020-02-12 16:20:04 +00:00
sentriz
74e3598200 return ids at strings for json 2020-02-12 14:58:36 +00:00
sentriz
c84420fa4f implement get and set play queue 2020-02-09 16:50:02 +00:00
sentriz
e8abe08770 add some unimplemented routes 2020-02-09 15:57:07 +00:00
sentriz
49228f245c return more counts 2020-02-09 15:57:07 +00:00
sentriz
ce3fda696a don't omit an empty title for TrackChild
closes #13
2020-01-23 17:17:46 +00:00
sentriz
4af1e43389 expose gonic name and version
closes #18
2020-01-21 13:40:50 +00:00