Commit Graph

924 Commits

Author SHA1 Message Date
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
b47c880ea5 fix(jukebox): gracefully handle case of no audio in feed item
fixes #269
2022-12-12 18:31:07 +00:00
Alex McGrath
2bc3f31554 feat(scrobble): only send musicbrainz id if it's a valid uuid
since some people may have a non musicbrainz uuid in the tag's place. eg with the discogs/lastfm plugins for beets.io
2022-12-08 17:39:01 +00:00
sentriz
4280700621 fix(jukebox): use a tmp dir instead of file for mpv sock
closes #266
fixes #265

Release-As: 0.15.1
2022-12-08 14:37:16 +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
github-actions[bot]
92a73b2d61 chore: release 0.15.0 2022-11-17 19:56:45 +00:00
sentriz
3348ca6b5b feat(ui): add a link to wiki in transcode profile section
closes #254
2022-11-17 19:23:29 +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
44800e964d add check for mpv version 2022-11-16 19:40:40 +00:00
sentriz
e1488b0d18 feat(jukebox): use mpv over ipc as a player backend 2022-11-16 19:40:40 +00:00
sentriz
ec97289d45 remove PCM options from transcode packages
as it turns out we won't need it
2022-11-16 19:40:40 +00:00
sentriz
7ab1612802 use os's path separator for playlist parse query 2022-11-16 19:40:40 +00:00
sentriz
986fcd2270 use a switch/case for get mime 2022-11-16 19:40:40 +00:00
sentriz
385a980b71 chore!: upgrade deps and require go 1.19 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
bf3c13b568 only purge completed podcast episodes
* Only purge completed podcast episodes.

* Removed Debug() for GORM.

* Update podcasts/podcasts.go

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

Co-authored-by: Senan Kelly <senan@senan.xyz>
2022-11-09 17:15:20 +00:00
Senan Kelly
b7bf8cb70b update readme 2022-11-08 00:09:32 +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
064bd587a8 update replaygain transcode profiles 2022-11-03 16:51:13 +00:00
sentriz
1f8de66fc0 2022-11-03 15:27:59 +00:00
sentriz
5c6855f671 update opus profiles output suffix and update aresample filter bitrate
related #250
2022-11-03 15:23:09 +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
Senan Kelly
25b39085d8 add FUNDING.yml 2022-10-18 22:26:08 +01:00
sentriz
e4756aa560 reset scanList to empty map instead of nil 2022-10-12 18:14:47 +01:00
sentriz
d47d5e17e9 fix(subsonic): return an error when no tracks provided in savePlayQueue 2022-10-08 17:23:12 +01:00
sentriz
8ee357b021 fix(listenbrainz): submit track recording ID instead of track ID
closes #240
2022-10-08 16:09:22 +01: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
bb83426816 feat(transcode): add opus 128 kbps profiles
"Opus at 128 KB/s (VBR) is pretty much transparent"

https://wiki.xiph.org/Opus_Recommended_Settings

related #241
2022-09-22 13:10:56 +02:00
sentriz
bfb91c9e92 fix play queue query 2022-09-22 00:23:58 +01:00
sentriz
f41dd0818b feat(subsonic): skip transcoding if request bitrate is the same as track bitrate
fixes #241
2022-09-22 01:18:58 +02:00
brian-doherty
03df207e63 feat(subsonic): support dsub edgecase for queries by decade
* Found a podcast that returns 403 without a UserAgent string so I added one. URL is https://feeds.buzzsprout.com/132359.rss

* Fixed lint issues including needed error checking.

* DSub swaps fromYear and toYear so swap them back in that case. TBD -- fix the same logic in ServeGetRandomSongs
2022-09-13 13:46:33 +00: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
Walter Huf
a11d6ab92d fix(docs): add GONIC_HTTP_LOG to setting table 2022-09-09 08:35:02 +00:00
Walter Huf
731a696bd7 feat: add a ping endpoint that doesn't create a session 2022-09-09 08:32:48 +00:00
sentriz
7d0d036f0b feat(lastfm): scrobble with duration 2022-09-06 17:48:56 +01:00
brian-doherty
0f80ae2655 fix(podcast): add user agent to avoid 403s with some remotes
* Found a podcast that returns 403 without a UserAgent string so I added one. URL is https://feeds.buzzsprout.com/132359.rss

* Fixed lint issues including needed error checking.
2022-08-23 21:44:19 +01:00
sentriz
6c94f194df rewrite "" search queries as `` 2022-07-22 14:13:01 +01:00
sentriz
de540966bc add a note about symfonium.app to the readme 2022-07-21 20:18:54 +01:00
sentriz
1a1f39f4e8 fix(subsonic): return song artist ID, album and song genres from search3
related: #229
2022-07-21 19:58:26 +01:00
sentriz
4557a4ec33 rewrite "" search queries as ``
closes #229
2022-07-21 14:57:37 +01:00
sentriz
a9d393350a fix(scanner): better detect years given extraneous year tags 2022-07-21 13:06:32 +01:00
Brian Doherty
5e66261f0c feat(subsonic): add avatar support
closes: #228
2022-07-20 23:18:35 +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