Commit Graph
100 Commits
Author SHA1 Message Date
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 1c0e844027 bump refresh artist info interval 2023-09-14 00:43:31 +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 5c6a59ac38 add artistinfocache test 2023-09-14 00:21:01 +01:00
sentriz a15b584fda move lastfm mock client stuff to a new package so we can reuse it
for the artistcache test
2023-09-14 00:19:52 +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 2b9052ca87 remove lastfm debug prints 2023-09-13 20:34:32 +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 2a7a455ce2 feat: add option for /debug/vars endpoint to expose database and media stats
closes #372
closes #150
2023-09-13 01:11:13 +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 07a7869836 add scan full button
Release-As: 0.16.0
2023-09-10 16:16:33 +01:00
sentriz c909628e04 fix for int sep 2023-09-10 16:16:33 +01:00
sentriz 8f6610ff86 feat: allow multi valued tag modes to be configurable 2023-09-10 16:16:33 +01:00
sentriz 9cf48f0f58 relax the oul linters
will you fuckin relax pal
2023-09-10 16:16:32 +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
sentriz 908c7cf088 update scrobble block desc 2023-09-07 18:27:54 +01:00
sentriz e7e949a077 fail test if we leave a mockfs.DumpDB behind 2023-09-07 18:27:54 +01:00
sentriz 77fa858531 add support for adding mockfs item by glob pattern 2023-09-05 17:42:24 +01:00
sentriz 623d5c3709 feat(tags): support multi valued tags like albumartists 2023-09-05 17:42:24 +01:00
sentriz 75761d98f6 improve podcast error messages 2023-09-05 17:41:48 +01:00
Senan Kelly bf59f98583 add .github/ISSUE_TEMPLATE/bug-or-issue.md 2023-09-05 15:32:16 +01:00
sentriz 56bd2c6432 add a test for orphaned genres 2023-08-16 22:52:26 +01:00
sentriz 5700558a3f swap order of require.Equal() args
we had the order of require.Equal() arguments mixed up. it should be
(expected, actual) not the other way around

updated with

    find . -name "*_test.go" -exec gofmt -r "require.Equal(a, b) -> require.Equal(b, a)" -w '{}' \+
2023-08-15 22:38:38 +01:00
Senan KellyandGitHub b4df1fa3f6 Update README.md 2023-07-10 12:50:34 +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
sentriz c5cac5b987 auto migrate plays before migration 2023-06-30 16:12:42 +01:00
sentriz 5e3b8daf96 add lastfm client to subsonic controller 2023-05-22 13:05:34 +01: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 d83fe560d3 feat(scanner): support non lowercase extensions like .Mp3
https://github.com/sentriz/gonic/issues/308#issuecomment-1505650896
2023-04-12 19:04:55 +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 3974b0d844 docs: add airsonic-refix 2023-03-11 13:54:07 +00:00
sentriz 906164a5de feat(scanner): support more cover types
like bmp gif, and also files like folder.1.jpg like beets can create sometimes
2023-03-10 17:10:14 +00:00
sentriz 4ca9dbe320 skip flakey test 2023-03-10 17:10:14 +00:00
sentriz a2f70f4059 chore(ci): update linters 2023-03-10 17:10:14 +00:00
sentriz 222256cccb feat(admin): update stylesheet 2023-03-04 13:22:33 +00:00
sentriz 16e6046e85 fix(admin): continue on track match error 2023-02-23 19:15:49 +00:00
sentrizandcacko 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 ae5bc2e149 feat(admin): sort transcode profile names
fixes #288
2023-02-19 17:40:30 +00:00
sentriz e0a8c18b8d fix(scanner): remove redundant mod time look up
fixes #293
2023-02-19 17:36:28 +00:00
sentriz 6aa4c42ce5 feat(admin): support application/x-mpegurl playlist uploads
closes #282
2023-01-23 10:59:46 +00:00
sentriz 7e917d0a08 chore(ci): don't use set-output 2022-12-28 01:22:58 +00:00
sentriz 832fd02c53 chore(ci): don't build nightly image unless code as changed
fixes #258
2022-12-28 01:00:00 +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 2bf8595d96 calculate lastfm param signature last 2022-12-13 10:59:21 +00:00
sentriz df932864d8 feat(server): recover from panics 2022-12-12 21:57:23 +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 b47c880ea5 fix(jukebox): gracefully handle case of no audio in feed item
fixes #269
2022-12-12 18:31:07 +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
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
Senan KellyandGitHub b7bf8cb70b update readme 2022-11-08 00:09:32 +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
sentriz b332ce8285 delete left over albums count query in getStarred2 2022-10-26 23:49:17 +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
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
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 7d0d036f0b feat(lastfm): scrobble with duration 2022-09-06 17:48:56 +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
sentriz 2afc63f64a add a test for updated album genre tags
related #225
2022-05-19 00:49:20 +01:00
sentriz d6d1fe26ba refactor(scanner): remove unused genreIDs arg 2022-05-19 00:46:17 +01:00
sentriz 53a4247dfd feat(subsonic): add year and genre fields to track-by-folder response
fixes #223
2022-05-18 22:01:47 +01:00
sentriz 668c334f45 remove redundant lastfm user session check 2022-05-18 22:01:00 +01:00
sentriz 4fce8e67ce log bad scrobble responses
related #219
2022-05-15 15:02:15 +01:00
sentriz e883de8c95 fix(listenbrainz): set json header
closes #216

related https://github.com/sentriz/gonic/issues/216
related https://github.com/krateng/maloja/issues/141
2022-05-02 14:52:31 +01:00