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 Kelly and GitHub
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 Kelly and GitHub
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
sentriz and cacko
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 Kelly and GitHub
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
sentriz
dc4d9e4e96
feat(subsonic): add detailed logging about requested audio
...
closes #212
2022-04-21 01:31:37 +01:00
sentriz
6bebceccd9
delete guess expected size feature
...
it it doing some really bad guesses for opus files
2022-04-21 00:47:39 +01:00
sentriz and Brian Doherty
4658d07273
fix(lastfm): make a better guess at callback protocol when incoming connection is TLS
...
closes : #213
Co-authored-by: Brian Doherty <brian.r.doherty@gmail.com >
2022-04-20 23:11:20 +01:00
sentriz and Brian Doherty
611bc96e29
fix(podcast): add error case for when DownloadEpisode is called via API and podcast is already downloaded
...
closes : #213
Co-authored-by: Brian Doherty <brian.r.doherty@gmail.com >
2022-04-20 23:11:13 +01:00
sentriz
8b803ecf20
refactor: move shared packages up a level
2022-04-13 01:10:46 +01:00
sentriz
165904c2bb
feat(transcode): add a generic transcoding package for encoding/decoding/caching
2022-04-13 01:10:46 +01:00
sentriz
fd211d706a
refactor(countrw): move to iout
2022-04-12 23:38:44 +01:00
sentriz
d7655cb9d1
fix(subsonic): change order of fromYear toYear query
...
closes #208
2022-04-02 18:04:57 +01:00
sentriz
01747c8940
fix(scanner): make sure we have an album artist before populating track
...
if we return early before i == 0 we mightn't have one
fixes #209
2022-04-02 18:03:14 +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
2440e69689
feat(subsonic): log error responses
2022-03-23 23:41:31 +00:00
sentriz
78853ed62b
format dockerfiles
2022-03-23 23:41:08 +00:00
sentriz
f2143e32ef
fix(scanner): respect "is full" setting
2022-03-23 20:41:55 +00:00
sentriz and Brian Doherty
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
5155dee2e8
feat(countrw): add countrw package
2022-03-10 00:49:05 +00:00
sentriz
c7862761bd
support parsing floats
2022-03-10 00:49:05 +00:00
sentriz
74c955b723
refactor: ioutil -> io
2022-03-10 00:49:05 +00:00
sentriz
5420f01089
refactor(mockfs): automatically clean up with t.Cleanup()
2022-03-02 15:19:12 +00:00
sentriz
9d406afb1f
refactor(scanner): take seed from fuzzer
2022-03-02 09:30:51 +00:00
sentriz
d6492c1521
refactor(scanner): switch ext() path
2022-02-27 20:56:53 +00:00
sentriz
e56f64a758
feat(subsonic): sort artist album list
...
fixes #197
2022-02-25 21:00:24 +00:00
sentriz
bb9b52b960
try to save some extra writes of albums
2022-02-25 20:46:42 +00:00
sentriz
401c17b355
add a test for a compilation album without album artist tags
...
related https://github.com/sentriz/gonic/issues/185
related https://github.com/sentriz/gonic/issues/185#issuecomment-1050092128
2022-02-24 19:15:37 +00:00
sentriz
d3d2ed3469
add a test for scan tag errors
2022-02-24 19:15:37 +00:00