Commit Graph

84 Commits

Author SHA1 Message Date
853107fca6 cache cover in jpeg format
Some checks failed
Release / Lint and test (push) Failing after 26m31s
Release / Run Release Please (push) Has been skipped
Release / Build, tag, and publish Docker image (push) Has been skipped
Release / Notify IRC (push) Has been skipped
Nightly Release / Check latest commit (push) Successful in 14s
Nightly Release / Build and release Docker image (push) Has been skipped
Nightly Release / Lint and test (push) Has been skipped
2024-06-12 17:41:16 +08:00
sentriz
81f8a7ec49 fix(subsonic): allow unlimited bitrate with no transcode setting configured
fixes #485

Release-As: 0.16.4
2024-03-20 21:15:54 +00:00
sentriz
88e58c055a feat(subsonic): return an error if maxBitRate requested with no user transcode preferences set 2024-03-01 18:18:01 +00:00
sentriz
c6cec8307a declare new errs inline if 2024-02-20 13:16:14 +00:00
sentriz
80a9aebd0e update transcode log message 2024-02-14 17:30:55 +00:00
brian-doherty
2949b4c867 fix(subsonic): fix getAvatar user request comparison (#469) 2024-02-13 22:30:34 +00:00
sentriz
59d2bd9e82 update raw log style 2024-01-02 23:04:02 +00:00
sentriz
5bcd339501 add more logging to transcode rules
related #445
2023-12-29 22:20:11 +00:00
sentriz
cc1a99f033 feat(subsonic): add getAlbumInfo with cache
Release-As: 0.16.1
2023-11-07 23:43:11 +00:00
sentriz
95bc919377 don't backtick quote stuff 2023-10-19 02:17:39 +01:00
Senan Kelly
7eaf602e69 feat(subsonic): support timeOffset in stream.view (#384)
as per
https://github.com/opensubsonic/open-subsonic-api/pull/54
https://github.com/opensubsonic/open-subsonic-api/discussions/21

dont cache partial transcodes

add a transcode seek test
2023-10-08 16:10:49 +00:00
sentriz
315c4f834e lint 2023-10-04 21:03:41 +01:00
sentriz
97e9675dca reorg packages 2023-10-04 20:52:06 +01:00
sentriz
ae82153d79 put helpers last 2023-10-01 03:20:03 +01:00
Senan Kelly
e9accfb71f refactor: refactor controllers and use standard library (#385) 2023-09-30 21:40:51 +00:00
sentriz
e0b1603c00 feat(subsonic): update track play stats on scrobble instead of stream 2023-09-28 20:58:59 +01:00
sentriz
e3dd812b6c feat(ci): add a bunch more linters 2023-09-22 19:05:55 +02:00
Senan Kelly
33f1f2e0cf refactor podcast schema and generate unique episode paths (#373)
closes #350
2023-09-20 23:01:16 +00:00
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
05a81a809a move artistinfocache 2023-09-14 00:41:47 +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
b3199de967 remove a whole pile of startup indirection
fixes #360
2023-09-12 00:41:01 +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
brian-doherty
7982ffc0b4 feat(subsonic): change frequent album list to use total time played per album instead of play count. (#331)
Co-authored-by: Brian Doherty <brian@mediaserver.dohertyfamily.me>
2023-06-29 21:11:15 +00:00
Senan Kelly
74de06430a refactor: consolidate specid <-> filesystem mapping and always use abs paths (#309) 2023-04-22 17:23:17 +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
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
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
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
Brian Doherty
5e66261f0c feat(subsonic): add avatar support
closes: #228
2022-07-20 23:18:35 +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
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
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
e64524e09e remove debug sql print 2022-02-12 14:10:59 +00:00
sentriz
a74b5a261c feat: render local artist images with no foreign key 2022-02-09 19:23:15 +00:00
sentriz
fc50f01de3 check ServeStream track errors 2021-11-14 16:56:10 +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
212a13395d fix: return early before type switch in ServeStream
related #152
2021-08-23 21:31:49 +01:00
Serge Tkatchouk
4109b5b66c feat(encode): add mime-type headers to cache handlers
* feat(encode): add mime-type headers to cache handlers

This commit adds a simple MIME-type guessing logic to `onCacheHit` and
`onCacheMiss` handlers, which sets `Content-Type` HTTP response header based on
format specified by transcoding profile.

* Make cacheFile stat() error fatal

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

* Make linter happy

Good morning to you too, mister linter!

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

Co-authored-by: Senan Kelly <senan@senan.xyz>
2021-06-21 23:36:17 +01: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
352c75b85d make log quoting consistent 2021-01-03 18:15:16 +00:00
fijam
74f3c5a015 Revamp the transcoding decision tree 2020-09-25 13:23:50 +01:00
sentriz
c05b92d924 make linter happy 2020-07-24 20:56:07 +01:00