Commit Graph

5320 Commits

Author SHA1 Message Date
ejurgensen
1ed10771f1 [artwork] Get enablement of online srcs from settings
Settings will take care of consulting the cfg file now
2020-02-23 20:30:35 +01:00
ejurgensen
9b9d2d0fb7 [settings] Add handlers to set default settings, e.g. from the cfg file 2020-02-23 20:30:35 +01:00
ejurgensen
5736217315 [db] Change prototype of db_admin_getxxx() functions
Makes it possible for caller to distinguish between "not set" and "set to 0".
2020-02-23 20:30:35 +01:00
ejurgensen
afa1a07a42 [artwork] Fix handling of cache + enable online srcs via config
* Don't save artwork for permanent items (file + Spotify) to the stash. The
  stash is only for short term artwork.
* If a request comes with a different max_w/max then search the online source
  again.
* Make artwork requests thread-safe by mutex protecting the search history.
* Add config option
2020-02-23 20:30:35 +01:00
ejurgensen
c674f84497 [json] Make clients reload artwork when we have new http metadata 2020-02-23 20:30:35 +01:00
ejurgensen
ad9ebb75c6 [artwork] Refinement of online artwork search
* Add system to avoid making too many futile requests + repeated requests
* Fixup Spotify artwork search (use type=track, type=album gave empty results)
* Include stash caching in artwork_get_byurl()
2020-02-23 20:30:35 +01:00
ejurgensen
8261fb8e59 [http] Don't return zero-length ICY title metadata 2020-02-23 20:30:35 +01:00
ejurgensen
9068c66dcd [cache] Minor changes so "const char *" path arguments are accepted 2020-02-23 20:30:35 +01:00
ejurgensen
2651a979fe [inputs] Fix issue where input metadata would not be erased
When playing a stream, the input metadata is transferred to the queue_item.
However, that was not done if there was no input metadata, which meant that
old metadata was not getting erased.
2020-02-23 20:30:35 +01:00
ejurgensen
b43e174baf [logger] Show long log messages truncated 2020-02-23 20:30:35 +01:00
ejurgensen
a289135325 [artwork] Construct online src querys based on data_kind
For http streams we don't have an album name to search for. Plus we don't
want to cache those images.
2020-02-23 20:30:35 +01:00
ejurgensen
b73f33f8e9 [artwork] Use settings to enable online sources 2020-02-23 20:30:35 +01:00
ejurgensen
18cf2dbbbf [misc] Change json_drilldown to _select and fix error case 2020-02-23 20:30:35 +01:00
ejurgensen
70f0ff1f61 [artwork] Support for online artwork sources - WIP
* Discogs
* Spotify
* Cover Art Archive
2020-02-23 20:30:35 +01:00
ejurgensen
15b18e26b7 [http] Let the curl https client follow up to 5 redirects
Requests for artwork to Cover Art Archive require redirects. Perhaps there are
also some playlist requests that will benefit from this.
2020-02-23 20:30:35 +01:00
ejurgensen
937f4431f8 [misc] Add json_drilldown() function
Will descend into a json object along the path set by a list of keys
2020-02-23 20:30:35 +01:00
ejurgensen
d86ca1176d [misc] Add an in-place string replacement function 2020-02-23 20:30:35 +01:00
ejurgensen
d90cf953dc Merge branch 'whatdoineed2do-daap-support-date_released' 2020-02-23 20:27:13 +01:00
ejurgensen
00de0a3f76 [db] Fixup commit #1edfadc 2020-02-23 20:25:22 +01:00
whatdoineed2do/Ray
3a48864001 [smartpl] support date_realeased 2020-02-23 20:25:22 +01:00
whatdoineed2do/Ray
de665fc6c8 [daap] honor requests to sort by 'releasedate' 2020-02-23 20:25:22 +01:00
whatdoineed2do/Ray
78194807db [db] add S_RELEASEDATE and idx 2020-02-23 20:25:22 +01:00
Christian Meffert
80921a71a4
Merge pull request #901 from whatdoineed2do/json-spotify-token-leak
Json spotify token leak
2020-02-22 08:27:32 +01:00
ejurgensen
b40e691e6e [db] Fix memleak of mfi->url
Credit @whatdoineed2do
2020-02-16 21:16:33 +01:00
whatdoineed2do/Ray
3049b3e70e [jsonapi] spotify token leak 2020-02-14 21:10:15 +00:00
ejurgensen
646dd44dd9 Silence unused var/func warnings for autogenerated ANTLR files 2020-02-08 21:24:25 +01:00
ejurgensen
f4cb0fb79d [db] Error checking for alloc failure 2020-02-08 16:10:33 +01:00
ejurgensen
e9d1a2475e [db] Fix memleak on error from prev commit 2020-02-08 15:17:34 +01:00
ejurgensen
541a1a6701 [db] Orphan nested playlists if parent is deleted/cleared
Also align db_pl_delete_bypath with db_pl_delete by making it a wrapper.
2020-02-08 13:41:26 +01:00
ejurgensen
84aced0a3d [scan] Fix exit and error message if nested playlist is invalid 2020-02-08 13:38:24 +01:00
ejurgensen
6b007dcd26 [scan] Fixes for #d2f0d7b
* Don't treat m3u's with m3u URL's as nested playlists
* Dereference playlist paths in the m3u's
2020-02-08 12:11:14 +01:00
ejurgensen
d2f0d7b53a Merge branch 'playlists1' 2020-02-08 11:16:02 +01:00
ejurgensen
5295d787ad [scan] Change library_playlist_save return + fix Spotify
* fix Spotify invalid mem access
* fix clearing of Spotify files
2020-02-08 10:55:15 +01:00
ejurgensen
da29fa5f93 [scan] Make sure new, nested playlists are scanned
During scanning we might find a new, nested playlist (so inside another m3u),
which we will then save. When the scanner then reaches the actual playlist file,
we must make sure to scan the contents of it. This means the timestamp when
saving the first time has to be set to a dummy value.
2020-02-08 10:55:15 +01:00
ejurgensen
4b60da5fb4 [scan] Minor changes to smart pl scanner 2020-02-08 10:55:15 +01:00
ejurgensen
4c86798182 [scan] Fix bug added to iTunes scanner
Incorrect title for meta playlist used in commit 9be7d8f
2020-02-08 10:55:15 +01:00
ejurgensen
77a8de3bea [scan] Fix db_pl_add() so it always returns correct id 2020-02-08 10:55:15 +01:00
ejurgensen
d94cf3f07f [scan] Add option to let m3u tags override ICY metadata (issue #891) 2020-02-08 10:55:15 +01:00
ejurgensen
cac4b14e6f [conf] Add missing stdint.h include 2020-02-08 10:55:15 +01:00
ejurgensen
189370df91 [scan] Update smartpl scanner to use filescanner util functions 2020-02-08 10:55:15 +01:00
ejurgensen
2a69869816 [scan] Update iTunes scanner to use new filescanner util functions 2020-02-08 10:55:15 +01:00
ejurgensen
46a9114948 [scan] Support for nested playlists
Also includes some refactoring of the playlist filescanner and some
rearrangement of filescanner.c functions.
2020-02-08 10:55:15 +01:00
ejurgensen
ba1c536ca3 [library] Let library_media_save() return errors 2020-02-08 10:55:15 +01:00
ejurgensen
c5988665b0 [db] Expose db_pl_fetch_byid() 2020-02-08 10:55:15 +01:00
ejurgensen
abdc0d6d27 [library] Some refactoring of the library module
Misc refactoring, e.g. alignment of how modules save tracks and playlists, incl
use of mfi and pli. Also try to avoid direct calls between library and player.
2020-02-08 10:55:15 +01:00
ejurgensen
08e89ffd4f [db] Use prepared statements for playlists (add/update) 2020-02-08 10:55:15 +01:00
ejurgensen
942628f914 [library] Check for all scanning methods in library_init() 2020-02-08 10:53:59 +01:00
ejurgensen
c5340e350f Merge pull request #895 from whatdoineed2do/library-metarescan-fix
Library metarescan fix
2020-02-08 10:48:02 +01:00
ejurgensen
f112525949 [docs] Spotify no longer pushes updates + mention librespot 2020-02-08 10:42:12 +01:00
whatdoineed2do/Ray
a1a49b9497 [library] validate mandatory methods for source or die 2020-02-06 19:37:16 +00:00