Deluan
b520d8827a
Add download button in the SharePlayer
2023-03-10 23:33:29 -05:00
Deluan
a7d3e6e1f1
Add option to allow share to be downloaded
2023-03-10 23:33:29 -05:00
Deluan
a22eef39f7
Add share download endpoint
2023-03-10 23:33:29 -05:00
Deluan
727632b616
Refactor play tracking
2023-02-11 18:52:28 -05:00
Deluan
806713719f
Add lastUpdated to `coverArt` ids. Helps with invalidating art cache client-side.
2023-02-08 20:03:31 -05:00
Deluan
a3b8682d44
Fix polling of buffered scrobbles
2023-02-07 19:18:26 -05:00
Deluan
759ff844e2
Make ffmpeg path configurable, also finds it automatically in current folder. Fixes #1932
2023-02-07 13:46:09 -05:00
Deluan
05c6cdea1a
Don't cancel transcoding session if context is canceled
2023-02-07 09:58:50 -05:00
Deluan
ee8f6447eb
Add option to disable Cache Warmer. Related to #2142
2023-02-06 10:41:33 -05:00
Deluan
3ce3185118
Don't retrieve Various Artists and Unknown Artist info from Last.fm
2023-02-04 21:18:51 -05:00
Deluan
ee6b10db72
Replace custom code with `errgroup`
2023-02-04 12:37:47 -05:00
Deluan
797cc87141
Enqueue external metadata refreshes
2023-02-04 12:37:47 -05:00
Deluan
c031167bb1
Don't retrieve all artist external metadata if we just want artist images
2023-02-03 11:06:53 -05:00
Deluan
4a25e6d3d8
Fix Mapped Similar Artists log
2023-02-03 09:57:29 -05:00
Deluan
ad2ad514b3
Add dev option to increase external metadata cache expiration. More logs
2023-02-02 16:55:12 -05:00
Deluan
9b81aa4403
Fix artwork resolution when paths contains `:`. Fix #2137
2023-02-02 12:18:55 -05:00
Deluan
cf04db7a98
Don't try to connect to external services if artist is Unknown
2023-02-02 10:57:37 -05:00
Deluan
f4b50c493c
When retrieving images from external sources, avoid calling it again if data is already cached locally.
...
Relates to https://github.com/navidrome/navidrome/issues/2130#issuecomment-1412742918
2023-02-02 10:38:17 -05:00
Deluan
4a7e86e989
Fix file descriptor leaking.
2023-02-02 10:36:49 -05:00
Deluan
f00e6117ff
Invalidate artist cache (by changing cache key format)
2023-02-01 10:34:55 -05:00
Deluan
d8e794317f
Return 404 when artwork is not available in `/share/img` endpoint
2023-02-01 10:34:02 -05:00
Deluan
712d8f9fcc
Add trace logs to calls to external services
2023-01-31 09:37:09 -05:00
Deluan
a651d65a5b
Add a comment to the generated zip
2023-01-29 17:08:18 -05:00
Deluan
dc56c52557
Refactor zip archiver.
...
Add `disc` to path when downloading albums. Fix #2121
2023-01-29 15:25:20 -05:00
Aleksey Lobanov
457e1fc97b
Base SQL metrics in MetricsWorker ( #2002 )
...
* feat: Add metrics worker
* refactor: Add todos for useful for metrics methods
* feat: Run MetricsWorker is Prometheus is Enabled
* refactor: Unused low-level variable was removed in metrics
* feat: No worker for metrics, add more
* refactor: Unnecessary todo removed
* refactor: Remove dead unused constant
* Reduce metrics public interface
Co-authored-by: Deluan <deluan@navidrome.org>
2023-01-24 19:26:07 -05:00
Deluan
433da37982
Add Share to Context menus, also share artist
2023-01-24 18:36:47 -05:00
Deluan
6c05fcb699
Create contents label for group of shared mediafiles
2023-01-24 18:36:47 -05:00
Deluan
d639da9eb5
Enable sharing only selected songs with the Subsonic API
2023-01-24 18:36:47 -05:00
Deluan
e34f26588e
Fix empty `entry` collection in Shares
2023-01-24 18:36:47 -05:00
Deluan
d5df102f9f
Implement `updateShare` and `deleteShare` Subsonic endpoints
2023-01-24 18:36:46 -05:00
Deluan
d4c1d2ece4
Handle expired shares
2023-01-24 18:36:46 -05:00
Deluan
d0dceae094
Add `getShares` and `createShare` Subsonic endpoints
2023-01-24 18:36:46 -05:00
Deluan
94cc2b2ac5
Fix tests and lint errors, plus a bit of refactor
2023-01-24 18:36:46 -05:00
Deluan
58fc271864
Share playlists
2023-01-24 18:36:46 -05:00
Deluan
d9c42b3183
Add share's `contents` and `description` to the DB
2023-01-24 18:36:46 -05:00
Deluan
84aa094e56
More work on Shares
2023-01-24 18:36:45 -05:00
Deluan
ab04e33da6
Initial work on Shares
2023-01-24 18:36:45 -05:00
Deluan
7073d18b54
Make private methods unpublished
2023-01-19 09:34:39 -05:00
Deluan
7fc964aec5
Don't wake CacheWarmer every 10 seconds, let it sleep :)
2023-01-18 19:31:15 -05:00
Deluan
127c75e34b
Don't try to downsample if requested bitrate is equal or greater than original. Fix #2066
2023-01-18 13:20:51 -05:00
Deluan
580e9ae4bd
Fix timer going awry
2023-01-17 22:04:09 -05:00
Deluan
17eab6a88d
Fix resized image cache key
2023-01-17 20:58:38 -05:00
Deluan
bedd2b2074
Implement better artwork cache keys
2023-01-17 20:37:10 -05:00
Kendall Garner
93adda66d9
Get album info (when available) from Last.fm, add getAlbumInfo endpoint ( #2061 )
...
* lastfm album.getInfo, getAlbuminfo(2) endpoints
* ... for description and reduce not found log level
* address first comments
* return all images
* Update migration timestamp
* Handle a few edge cases
* Add CoverArtPriority option to retrieve albumart from external sources
* Make agents methods more descriptive
* Use Last.fm name consistently
Co-authored-by: Deluan <deluan@navidrome.org>
2023-01-17 20:22:54 -05:00
Deluan
5564f00838
Some refactor, log message changes
2023-01-17 17:26:48 -05:00
Deluan
e40da183bb
Move artwork id encoding to public package
2023-01-16 15:24:25 -05:00
Deluan
e3496c7eea
Fix artist folder detection. Now works when the artist has only one album.
2023-01-14 14:36:27 -05:00
Deluan
16c869ec86
Optimize playlist cover generation
2023-01-13 22:18:34 -05:00
Deluan
ab7668f562
Use a custom artist image cache key.
...
Invalidate when `Agents` config changes. This should solve https://github.com/navidrome/navidrome/issues/1601#issuecomment-1241702797
2023-01-13 22:18:34 -05:00
Deluan
94c6d47181
More descriptive error when artist.jpg not found
2023-01-13 22:18:34 -05:00
Deluan
0ffef05cc3
Remove "Biography not available" when agents are not available
2023-01-13 22:18:34 -05:00
Deluan
3f2d24695e
PreCache artist images
2023-01-13 22:18:34 -05:00
Deluan
c90468b895
Find `artist.*` image in Artist folder
2023-01-13 22:18:34 -05:00
Deluan
69e0a266f4
Remove size from public image ID JWT
2023-01-13 22:18:34 -05:00
Deluan
8f0d002922
Add local TopSongs
2023-01-13 22:18:34 -05:00
Deluan
77a99a735b
Always access artist images through Navidrome (proxy calls to external URLs)
2023-01-13 22:18:34 -05:00
Deluan
918fee3ea3
Artwork reader for Artist
2023-01-13 22:18:34 -05:00
Deluan
bf461473ef
Add local agent, only for images
2023-01-13 22:18:34 -05:00
Deluan
387acc5f63
Add public endpoint to expose images
2023-01-13 22:18:34 -05:00
Deluan
769e8bedba
Rename WeightedChooser's method Put to Add, a better name
2023-01-13 19:43:27 -05:00
Deluan
fdbece5c92
Use custom sanitize package, fix #2070
2023-01-12 13:39:05 -05:00
Deluan
df0f140f9f
Don't refresh smart playlists when generating covers
2023-01-01 20:28:03 -05:00
Deluan
6260927074
Serve artist placeholder directly, instead of using LastFM's CDN
2022-12-30 20:14:03 -05:00
Deluan
cc14485194
When trying to PreCache, wait for ImageCache to be available
2022-12-28 23:26:39 -05:00
Deluan
14032a524b
Reduce retention in CacheWarmer
2022-12-28 15:31:56 -05:00
Deluan
61e5523457
Handle "naked" CoverArtIDs (IDs of album, mediafiles and playlists)
2022-12-28 15:31:56 -05:00
Deluan
bc09de6640
Better error handling
2022-12-28 15:31:56 -05:00
Deluan
949331ed24
GetCoverArt generates a tiled (2x2) image for playlists
2022-12-28 15:31:56 -05:00
Deluan
501386b11f
Parse correctly playlist CoverArt ids
2022-12-28 15:31:56 -05:00
Deluan
8f3387a894
Fix tests and clean up code a bit
2022-12-28 15:31:56 -05:00
Deluan
332900774d
Rename DevFastAccessCoverArt to EnableMediaFileCoverArt
2022-12-28 15:31:56 -05:00
Deluan
722a00cacf
Fix artwork caching
2022-12-28 15:31:56 -05:00
Deluan
92ddae4a65
Created dedicated artwork readers
2022-12-28 15:31:56 -05:00
Deluan
c1c4645501
Move artwork handling to its own package
2022-12-28 15:31:56 -05:00
Deluan
8cf78efb9c
Add timeout for artwork extraction
2022-12-28 15:31:56 -05:00
Deluan
e89d99aee0
Also caches resized images
2022-12-28 15:31:56 -05:00
Deluan
b6eb60f019
Add new Artwork Cache Warmer
2022-12-28 15:31:56 -05:00
Deluan
8c1cd9c273
Refactor file type functions
2022-12-28 15:31:56 -05:00
Deluan
9ec349dce0
Make sure album is updated if external cover changes
2022-12-28 15:31:56 -05:00
Deluan
f5719a7571
Fix spaces in CoverArtPriority, more trace logs in artwork resolution
2022-12-28 15:31:56 -05:00
Deluan
73bb0104f0
Cache original images
2022-12-28 15:31:56 -05:00
Deluan
26a7adae5f
Change Image cache key format
2022-12-28 15:31:56 -05:00
Deluan
04eab5666a
Add back CoverArtPriority
2022-12-28 15:31:56 -05:00
Deluan
045b023b35
Fix `DevFastAccessCoverArt` flag
2022-12-28 15:31:56 -05:00
Deluan
847a0432ea
If resize fails, send the artwork as is. Closes #1102
2022-12-28 15:31:56 -05:00
Deluan
bce7b163ba
Skip trying to read cover art from mediafile if it does not have one
2022-12-28 15:31:56 -05:00
Deluan
a087f57d2d
Handle request (context) cancellation
2022-12-28 15:31:56 -05:00
Deluan
e0da1d1589
Log artwork origin (tag, file, etc...)
2022-12-28 15:31:56 -05:00
Deluan
92b42b35b3
Fallback extracting tags using ffmpeg
2022-12-28 15:31:56 -05:00
Deluan
abd3274250
Handle empty cover art ID in subsonic API
2022-12-28 15:31:56 -05:00
Deluan
0da27e8a3f
Add image cache back
2022-12-28 15:31:56 -05:00
Deluan
40bb211b39
Small test refactor
2022-12-28 15:31:56 -05:00
Deluan
87d4db7638
Handle mediafile covers
2022-12-28 15:31:56 -05:00
Deluan
213ceeca78
Resize if requested
2022-12-28 15:31:56 -05:00
Deluan
7b87386089
Load artwork from embedded
2022-12-28 15:31:56 -05:00
Deluan
c36e77d41f
Remove CoverArtID, fix tests
2022-12-28 15:31:56 -05:00
Deluan
38bde0ddba
Remove current Image Cache implementation
2022-12-28 15:31:56 -05:00
Deluan
c430401ea9
Remove current artwork implementation
2022-12-28 15:31:56 -05:00
Deluan
28e7371d93
Moved logic of collapsing songs into albums to model package
...
(it should really be called domain.... maybe will rename it later)
2022-12-28 15:31:56 -05:00
Deluan
e03ccb3166
Replace MinInt/MaxInt with generic versions
2022-12-28 15:31:56 -05:00