Commit Graph

3757 Commits

Author SHA1 Message Date
ejurgensen
8ffdd6dd86 Merge pull request #334 from sshambar/fixthreads
[threads] Added missing initializers, check errors on mutex/cond calls
2017-01-21 18:53:51 +01:00
Scott Shambarger
a837389ac5 Minor change: remove unused include, init variable. 2017-01-21 08:51:51 -08:00
sshambar
b128271656 Merge branch 'master' into fixthreads 2017-01-21 10:27:26 -05:00
Scott Shambarger
8e3797ec43 [threads] Update mutex/cond functions to use new CHECK_ERR macros
Added various macros to check return values and log any errors and abort
if the call fails.
Updated logging to handle early errors before logging initialized.
2017-01-21 07:11:20 -08:00
chme
e092a9ff3e [spotify] Respect settings for 'artist_override' and 'album_override' (#340)
when scanning spotify through the web api

The goal is to reduce the artist/album cluttering that happens because
of the users spotify playlists. If 'artist_override' is true, all tracks
not in a saved album are treated as part of a compilation giving them
the configured album-artist (e. g. "Various artists"). I
'album_override' is true, tracks not in a saved album will use the
playlistname as albumname.
2017-01-21 10:17:33 +01:00
chme
62dd1bb407 [travic-ci] Added configuration file for travis-ci (#339)
Builds different configuration with scan-build reporting failure if
scan-build found issues. Due to the ANTLR3 generated files the checker
deadcode.DeadStores needs to be disabled or all builds will fail.
2017-01-21 10:13:40 +01:00
ejurgensen
516a6f434c Merge pull request #337 from chme/libraryfix
Fix memory leaks / scan-build issues
2017-01-20 19:15:04 +01:00
chme
6163269832 [dacp/db] Fix issue found with scan-build
- Result of operation is garbage or undefined in dacp_reply_cue_play
- Uninitialized argument value in dacp_reply_playqueuecontents
- Uninitialized argument value in queue_fetch_byposrelativetoitem
2017-01-20 19:00:11 +01:00
chme
4e869f6fda [dacp] Fix indentation 2017-01-20 19:00:11 +01:00
chme
dea5c50b67 [player] Fix memleaks found with scan-build 2017-01-20 19:00:11 +01:00
chme
825236c8bb [spotify_webapi] Fix memory leaks 2017-01-20 19:00:11 +01:00
ejurgensen
583a968775 Merge pull request #331 from chme/library2
Rework library scan / spotify webapi integration
2017-01-18 20:42:08 +01:00
chme
a4180a5902 [spotify] Increase log level for skipping playlists during scan 2017-01-18 20:32:02 +01:00
chme
e8d6b17784 fix indentation 2017-01-18 20:28:56 +01:00
chme
77086c9b82 [library] Check for init/deinit functions in library source 2017-01-18 20:12:14 +01:00
chme
69c3a9c6dc Add missing log domains 2017-01-18 20:10:18 +01:00
chme
00efed7988 [filescanner] Fix scanning of fifos 2017-01-14 13:59:14 +01:00
Scott Shambarger
b54d94fda6 [threads] Added missing initializers, check errors on mutex/cond calls 2017-01-13 17:32:59 -05:00
chme
a15923c377 [spotify] Fix for expired spotify access token and some cleanup 2017-01-13 19:20:24 +01:00
chme
528614909c [filescanner/library] Move filescanner to subfolder 2017-01-13 19:02:47 +01:00
chme
9c9c583b81 [library] move declaration scan_metadata_ffmpeg back to filescanner.h 2017-01-13 18:56:37 +01:00
chme
2cfb4b6a28 [spotify] Simplify parsing of artist/album-artist name
forked-daapd does not support a 1:n relationship between tracks and
artists. Just take the first artist the spotify web api returns
(libspotify does also return only one artist, so this should not
introduce a regression).
2017-01-13 18:56:37 +01:00
chme
03c5ecd690 [spotify] Split into smaller db transactions (do not keep an open
transaction between requests)
2017-01-13 18:56:37 +01:00
chme
f632789f8b [spotify] Set missing values for year, artwork, type, codectype,
description and improve logging
2017-01-13 18:56:37 +01:00
chme
ab3582dd69 [spotify_webapi] Cleanup: remove unused functions 2017-01-13 18:56:37 +01:00
chme
66bbcf0576 [spotify] Ignore playlist updates with missing uri 2017-01-13 18:56:37 +01:00
chme
8ee3ef5b15 [filescanner] Trigger library-scan on .init-rescan / .full-rescan 2017-01-13 18:56:37 +01:00
chme
510d38c059 [library/filescanner/spotify] Rework full-rescan logic 2017-01-13 18:56:37 +01:00
chme
4e60626749 [db] Add missing purge of directories in db_purge_all 2017-01-13 18:56:37 +01:00
chme
65ce902e3c [db_init] Set admint.value to VARCHAR(255)
Only a cosmetic change to avoid future confusion. sqlite3 ignores the
number of chars given to VARCHAR (see https://sqlite.org/faq.html#q9 ),
a db upgrade is therefor not necessary.
2017-01-13 18:56:37 +01:00
chme
99945fa576 [spotify] Rescan of single playlists if update trigger received from
libspotify (Readds "spotify:savedtracks" playlist to avoid deletion of
saved tracks)
2017-01-13 18:56:37 +01:00
chme
adac1d3b5f [spotify] Trigger scan after retrieving a valid access token from the
webinterface

Library now offers the function "library_exec_async". This allows
library sources to offer functions that will be executed in
the library thread. Useful to allow partial scans of only one source.
2017-01-13 18:56:37 +01:00
chme
ae1a45bacc [library/spotify] Implement rescan in spotify.c and purge old files
after rescan
2017-01-13 18:56:37 +01:00
chme
0bea83cafa [spotify] Scan saved albums and playlist using the spotify web api 2017-01-13 18:56:37 +01:00
chme
1672b67040 [library/filescanner] Move purging of old content to library; Remove
ping for spotify files in filescanner (not needed, either they get
updated through the init-scan or purged)
2017-01-13 18:56:37 +01:00
chme
263edaa8b3 [misc] Helper function safe_strdup (NULL safe strdup) 2017-01-13 18:56:37 +01:00
chme
4bd42dda41 [spotify] Remove loading saved tracks from the webapi (will be readded
later)
2017-01-13 18:56:37 +01:00
chme
1a85257fb3 [spotify] Extract function for preparing directories 2017-01-13 18:56:37 +01:00
chme
5efadb6fc2 [spotify_webapi] Add separate file for accessing the web api 2017-01-13 18:56:37 +01:00
chme
56ce3f9cba [library/filescanner/spotify] Add library source abstraction and new
"library" thread

- Implement filescanner as a library_source
- Add library source implementation for spotify
- Move process_media_info to library with small adjustments:
  - Remove dependency to F_SCAN_TYPE defines
  - Pass data_kind as parameter
  - Pass media_kind and compilation as parameter if a source forces a
specific value for these
- Move declaration of scan_ffmpeg to library; add
library_add_playlist_info to library
2017-01-13 18:56:37 +01:00
ejurgensen
ca6836f638 [scripts] Add missing linker flags to FreeBSD install script 2017-01-12 22:44:08 +01:00
ejurgensen
785ff21045 Merge pull request #328 from sshambar/fixconfig
Updated configure/makefiles related to Issue #327
2017-01-12 22:41:47 +01:00
ejurgensen
45d513d206 [rtsp] Do not fail if ContentLength has chars after num value (e.g. whitespace) 2017-01-10 21:09:08 +01:00
Scott Shambarger
ba5d5f0f4a [config] Add prefix search to library tests, re-test unistring with iconv
- Updated function tests to additionally check for libraries/headers under $prefix
- libunistring test now also tests with iconv library on failure (like original)
- Reworked macros to allow nested tests even on the same library
2017-01-10 10:10:09 -08:00
Scott Shambarger
637faa41f4 [config] Just use an empty config.rpath as it's only used by iconv 2017-01-07 13:27:17 -08:00
Scott Shambarger
20e19d9fe9 [config] Fix check for pthread_setname_np on linux 2017-01-06 13:58:02 -08:00
Scott Shambarger
c4195239d2 [config] Make macros more robust
- FORK_ macros now correctly ignore non-empty but blank default actions
- Removed test variable left in last commit
2017-01-06 12:49:57 -08:00
ejurgensen
966a81cc77 [db] Fixup - itemcount not required for finding a playlist 2017-01-06 20:03:02 +01:00
ejurgensen
213b58c012 [db] Forgot to add Q_FIND_PL as a playlist query 2017-01-06 19:58:38 +01:00
ejurgensen
89b715aeba [docs] README update - playlist artwork 2017-01-06 19:49:09 +01:00