Commit Graph

76 Commits

Author SHA1 Message Date
Senan Kelly
74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +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
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
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
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
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
sentriz
bfb91c9e92 fix play queue query 2022-09-22 00:23:58 +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
8b803ecf20 refactor: move shared packages up a level 2022-04-13 01:10:46 +01:00
sentriz
a8e50c4a01 don't log listenbrainz scrobble errors
we're already logging at the subsonic level
2022-03-24 00:11:11 +00:00
sentriz
1ab47d6fbe feat(subsonic): update play stats when scrobbling
closes: #207

Co-authored-by: Brian Doherty <brian.r.doherty@gmail.com>
2022-03-22 20:39:57 +00:00
sentriz
10e8d18a0f refactor: return scan context from scanner 2022-02-24 19:15:37 +00:00
xavier
39b3ae5ecb feat(subsonic): implement getTopSongs.view
closes #195
2022-02-10 12:34:34 +00:00
sentriz
7ec6440ed2 fix: render artistId in track types
fixes #170
2021-11-12 20:14:57 +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
sentriz
fa587fc7de refactor: update scanner, scanner tests, mockfs
closes #165
closes #163
2021-11-06 21:55:46 +00:00
sentriz
98cab93557 add some logging to ServeScrobble 2021-11-05 17:37:55 +00:00
sentriz
c31b3b8d1f use time.Time in scrobbler interface 2021-10-13 06:30:14 +01:00
sentriz
82d8a57aab log scrobbling errors
related https://github.com/sentriz/gonic/issues/162
2021-10-12 19:00:35 +01:00
sentriz
b17ce76a72 Set getUser.view jukebox/podcast role
closes #130
2021-04-18 12:34:54 +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
Alex McGrath
6f02b58add add support for seeking to jukebox 2021-01-18 21:36:53 +00:00
Alex McGrath
f16f09717c fix jukebox default status - it shouldnt return a playlist 2021-01-18 21:36:53 +00:00
sentriz
665cb86afa update ServeGetUser for listenbrainz 2021-01-12 11:26:36 +00:00
sentriz
a18929ad01 add custom listenbrainz url support and make ui "consistent"
Co-authored-by: spezifisch <spezifisch@users.noreply.github.com>
Co-authored-by: Alex McGrath <amk@amk.ie>
2021-01-12 11:26:36 +00:00
Alex McGrath
4443d7d0f5 move scrobblers into their own package 2021-01-12 11:26:36 +00:00
Alex McGrath
b9998f7ee6 Add support for scrobbling to listenbrainz 2021-01-12 11:26:36 +00:00
Alex McGrath
f4ff7e70f2 server/lastfm: make a scrobbler interface and migrate lastfm to use it 2021-01-12 11:26:36 +00:00
sentriz
de79b043e1 Add inital multiple artist support 2021-01-03 18:15:16 +00:00
sentriz
0581335622 assume incoming play queue current is an ID 2020-06-30 20:42:50 +01:00
sentriz
88a6effe7f Factor playlist rendering to it's own func in a playlist file 2020-06-18 20:59:05 +01:00
Sumner Evans
cd0e425eff Fix issue where createPlaylist didn't replace the song IDs 2020-06-18 20:57:44 +01:00
sentriz
9bcad9284a fix playlist updating 2020-06-06 18:13:45 +01:00
sentriz
b8ed413ed3 parse incoming ids in handlers 2020-06-06 18:13:45 +01:00
sentriz
f4a1c3fb0c ctrlsubsonic: move to new param package 2020-06-06 18:13:45 +01:00
sentriz
b1a875c53f check for an unfound track during playlist construction 2020-05-26 21:06:22 +01:00
sentriz
a541f97cd8 lastfm: rename scrobbleopts scrobbleoptions 2020-05-01 17:51:45 +01:00
sentriz
24212af42e scanner: add scanoptions struct 2020-05-01 17:51:45 +01:00
sentriz
080189e977 remove jukebox's dependency on ctrlsubsonic 2020-04-26 18:15:22 +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
Alex McGrath
eb33a06cd7 Make the jukebox less of a heap 2020-04-18 20:44:03 +01:00