Commit Graph

2325 Commits

Author SHA1 Message Date
ejurgensen bfa9f4d5cf Upgrade db schema to v16 2015-01-10 00:08:50 +01:00
ejurgensen 2208c021aa Improve browse queries (credit @chme)
Adjusted re-commit of commit ec47c6e730
2015-01-09 23:59:38 +01:00
ejurgensen 27a2fabb56 Modify groups queries and improve index 2015-01-09 23:04:50 +01:00
ejurgensen ea598bfeaf Remove upgrade paths for indices (since they don't have any data anyway), and instead implement db_create_indices and db_drop_indices to reduce redundancy 2015-01-09 00:28:06 +01:00
chme 1981237638 Improve select for files table by removing f.media_kind = 32 from the
queries (forked_daapd has no media_kind = 32).
2015-01-08 22:44:09 +01:00
chme 46f770b52d Improve selects for files table by removing the (f.album <> '' AND
f.album IS NOT NULL) from the where clause for album and artist. These
are unnecessary because forked-daapd makes sure that an artist or album
name exists.
2015-01-08 22:43:29 +01:00
ejurgensen ad48ccb804 Revert "Merge branch 'db' of git://github.com/chme/forked-daapd into chme-db"
This reverts commit b8d5e32160, reversing
changes made to 5a02f926e3.
2015-01-08 22:40:47 +01:00
ejurgensen b8d5e32160 Merge branch 'db' of git://github.com/chme/forked-daapd into chme-db
Conflicts:
	src/artwork.c
2015-01-08 22:34:45 +01:00
ejurgensen 5a02f926e3 Fix bug in float to string conversion of raop volume (credit @andreas-p, issue #84) 2015-01-08 22:03:53 +01:00
ejurgensen 70f05049e8 Change text for severity log from ERROR to LOG
To avoid this startup message:
[ERROR]     main: Forked Media Server Version 22.1 taking off
2015-01-07 21:50:24 +01:00
ejurgensen 3b38bee45b Fix wrong log domain 2015-01-06 23:26:29 +01:00
ejurgensen a9bc1a21dc Merge pull request #75 from couteau/ownartwork (and additional artwork.c overhaul) 2015-01-04 22:41:00 +01:00
ejurgensen 103ce0887a Misc artwork fixup 2015-01-04 19:38:13 +01:00
ejurgensen 73bbe831e6 artwork.c overhaul and avoid "Error reading artwork" message when there is no artwork
- try to align return values in artwork.c
2015-01-04 15:12:46 +01:00
chme 6a2dc2d538 log severity in logfile and console 2015-01-03 18:00:31 +01:00
ejurgensen 0d7ec13ede Merge branch 'ownartwork' of @couteau and various modifications (see pr #75) 2015-01-03 00:31:48 +01:00
ejurgensen 2879458e98 Fix for issue #62 (slow internet streams), credit @chme 2015-01-02 23:24:44 +01:00
ejurgensen d55d194201 Remove misplaced quotes 2015-01-01 22:28:26 +01:00
Stuart C. Naifeh f3e21956c4 Add configuration option to disable individual artwork 2014-12-30 10:38:03 -05:00
chme ec47c6e730 optimize queries and indexes for composer/genre 2014-12-29 09:24:29 +01:00
chme 5cb06980e3 Optimize the indexes on the files table to speed up select queries 2014-12-29 09:24:29 +01:00
chme 12b46ad94d Improve select for files table by removing f.media_kind = 32 from the
queries (forked_daapd has no media_kind = 32).
2014-12-29 09:24:29 +01:00
chme fedf571d34 Improve selects for files table by removing the (f.album <> '' AND
f.album IS NOT NULL) from the where clause for album and artist. These
are unnecessary because forked-daapd makes sure that an artist or album
name exists.
2014-12-29 09:24:28 +01:00
chme e321e5137f db update v16 and cache update v2 2014-12-29 09:24:28 +01:00
chme 31870fe046 improve selects for files table by removing the join to the groups table 2014-12-29 09:24:28 +01:00
ejurgensen a69619a5a7 Implement is_remote() and change how transcode_needed() is used
transcode_needed() was getting called needlessly in http_daapd.c,
because 1) once it is determined that a given codec needs transcoding
for a given client there is no reason to call and check again, 2)
transcoding is irrelevant for remotes. Also some cleaning up of
user_agent_filter().
2014-12-28 23:37:12 +01:00
ejurgensen 3e412b5e65 Remove misplaced quotes in db_group_type_bypersistentid() 2014-12-28 23:32:21 +01:00
ejurgensen 4de5f7c19c Fix login/logout problem in spotify.c (see issue #68) 2014-12-28 21:08:52 +01:00
chme 7889d92a81 Identify "android" user-agent as a remote client in transcode_needed()
(similar to the check in user_agent_filter())
2014-12-28 09:37:19 +01:00
chme 3208315503 fix delete query for removing files if a spotify playlist is deleted 2014-12-27 21:44:25 +01:00
Stuart C. Naifeh 431ecdb197 Cache individual artwork 2014-12-27 11:40:52 -05:00
Stuart C. Naifeh 9e9ffe6809 Update cache api, version, and logic to support caching of individual as
well as group artwork
2014-12-27 10:48:12 -05:00
Stuart C. Naifeh 2171a1f2b3 Re-add support for individual artwork 2014-12-27 09:44:16 -05:00
Justin Maggard cdb0048082 Fix invalid read on empty string queries. 2014-12-17 15:03:23 -08:00
Justin Maggard 4efca3660f Fix bad free when encountering an error fetching query results. 2014-12-17 15:03:23 -08:00
Justin Maggard e431b04310 Lower log level for missing revision-number in client update request. This is some clients' normal behavior, so we shouldn't need to need to see a message about it in the error log. 2014-12-17 15:03:23 -08:00
ejurgensen 9b7a22ab0a Avoid threading issue in both ffmpeg and libav that prevents decoding embedded png's 2014-12-09 22:31:41 +01:00
chme 2e5d234ac5 [artwork] do not add cache entry if reading artwork failed 2014-12-07 07:39:27 +01:00
ejurgensen 6f2f44168d Some config file polish (now that it's being updated anyway) 2014-11-17 22:53:52 +01:00
ejurgensen 9d9c82b6b1 Shorten timeout waiting for audio to Spotify 2014-11-11 20:22:39 +01:00
ejurgensen 5e4f449179 Add a timeout waiting for audio to Spotify 2014-11-11 11:59:40 +01:00
ejurgensen f74774f5f7 Be more generous with Spotify image resolution now that the cache protects against poor reponse times 2014-11-11 11:37:03 +01:00
chme 7578bb1205 Artwork caching (pull request #61), and also:
- introduced new section in config file for sqlite pragma settings,
added config for artwork cache
- added setting of pragma synchronous, cache size and journal mode to
daap cache
2014-11-10 22:53:08 +01:00
ejurgensen f24ab29098 Extend cache rebuild to 60 seconds so we are more certain that the library is 'idle' 2014-10-16 22:15:35 +02:00
ejurgensen 9508eba62e Return silence if the pipe read was blocked (credit bfitz) 2014-10-07 19:55:28 +02:00
ejurgensen 88fcfa061d Add compability with ffmpeg's libswresample 2014-10-02 22:48:50 +02:00
ejurgensen 4857f21644 Merge branch 'freebsd': New timing mechanism (issue #46)
- also some libevent 2 adjustments
2014-09-30 21:39:02 +02:00
ejurgensen 376f0ed1c0 Minor fix 2014-09-30 18:55:32 +02:00
ejurgensen 495aebec40 Fix bug where it would hang because it looked for artwork in named pipes
- also some refactoring of the artwork code to diminish redundancy
2014-09-29 23:40:38 +02:00
ejurgensen 513e38dcda Proper update to libevent 2 (artwork, avio_evbuffer, dmap_common, transcode) 2014-09-28 22:44:45 +02:00
ejurgensen 661a557500 Proper update to libevent 2 in spotify.h and pipe.h 2014-09-28 22:26:23 +02:00
ejurgensen a3a689573f Better define in player.c 2014-09-28 22:14:30 +02:00
ejurgensen 1ffbfd8c45 Proper update to libevent 2 in player.c 2014-09-28 22:09:22 +02:00
ejurgensen 965df4fdfc Delete event after disarming timer (maybe not necessary, but for safety) 2014-09-28 15:30:52 +02:00
ejurgensen cf5b702460 Fix malplaced declaration 2014-09-27 23:12:18 +02:00
ejurgensen 4078542eb4 Forgot an include 2014-09-27 23:08:43 +02:00
ejurgensen 29265d6170 Drop special FreeBSD stream period 2014-09-27 23:08:24 +02:00
ejurgensen 861635eb4d timer_delete() instead of close() for FreeBSD timer 2014-09-27 23:05:22 +02:00
ejurgensen 65110a9f39 Fix FreeBSD sound timing problems 2014-09-27 22:59:19 +02:00
ejurgensen dafa26a48a Protect against uinitialized var if query is empty 2014-09-26 23:13:17 +02:00
ejurgensen ca3fada215 Fix ALSA audio problem where threshold will not be reset because
commit 7462290 decreased the value of pcm_pos
2014-09-19 22:18:07 +02:00
ejurgensen 27e7148405 Use STOB() in player.c since it is defined right in player.h 2014-09-19 22:14:31 +02:00
ejurgensen f543b768ac Merge pull request #41 from chme/skipprev
rfc: Change behavior of skip to previous song
2014-09-12 21:45:15 +02:00
ejurgensen 2fc681a971 Add condition for FreeBSD, ignore SCHED_BATCH in filescanner.c 2014-09-12 17:52:08 +02:00
ejurgensen 8c9793d9ef Fix filescanner bugs:
- stop init-rescan/full-rescan from running twice
- set thread priority to batch
- don't request libevent to loop when the loop is already running
2014-09-11 22:41:07 +02:00
ejurgensen 5bfe4673f5 Add a function in filescanner.c to enumerate certain file types
Fixes bug where init-rescan and full-rescan would run twice because
two inotify events get triggered by eg 'touch xxx.init-rescan'
2014-09-10 22:16:52 +02:00
ejurgensen 97910f3a99 Fix bug where LastFM session key in db was ignored 2014-09-08 23:13:12 +02:00
ejurgensen be7a6c7b1e Don't try to login to Spotify if the filescanner got an exit signal 2014-09-08 22:45:05 +02:00
ejurgensen 94c5352db6 Remove EVLOOP_ONCE calls in filescanner
These calls generate error messages when the loop is already running, which
will be the case when using init-rescan or full-rescan. The only purpose
of these calls seems to be to check for exit signals from the main thread
during a startup bulk scan, where the loop is not running yet. However, we
can check for an exit signal by just setting/checking scan_exit.

This commit also removes the unused filescanner_status().
2014-09-08 21:57:52 +02:00
ejurgensen d2d85b29f4 Lower the priority of the thread so forked-daapd may still respond
during file scan on low power devices
2014-09-07 13:48:03 +02:00
ejurgensen 2545aedc2a Avoid duplicate rows in the admin table 2014-08-27 22:12:42 +02:00
ejurgensen ae3b5077ec Add support for .pls playlists 2014-08-27 21:57:16 +02:00
ejurgensen 1b51fcf07c Rename filescanner_m3u to _playlist, because we are going to add
support for pls
2014-08-27 21:54:28 +02:00
ejurgensen b26e507baa Fix memleak in DAAP cache 2014-08-25 22:05:44 +02:00
ejurgensen 271e2c29e1 Add some libevent 1 compability 2014-08-24 14:51:41 +02:00
ejurgensen d157aca620 Save response times in DB and show in log (for debugging) 2014-08-24 12:43:32 +02:00
ejurgensen 31ef4d4e13 Add slow DAAP queries to cache automatically 2014-08-24 01:23:23 +02:00
ejurgensen cf091e8d8b Adjust daapcache so it serves User-Agent to httpd_daap's reply handlers 2014-08-23 00:02:01 +02:00
ejurgensen 624dd40c59 Include DAAP queries from Retune and TunesRemote+ for caching
+ misc fixing up
2014-08-22 22:51:13 +02:00
ejurgensen f997aca452 More DAAP cache adjustments 2014-08-21 23:06:52 +02:00
ejurgensen eac718ea0f Some more daap cache triggers 2014-08-21 10:14:24 +02:00
ejurgensen 76231cac0f Experimental caching of playlist 1 2014-08-21 10:01:47 +02:00
ejurgensen 7623de1ac4 Allow const char tags and handle null requests in dmap_common 2014-08-21 09:59:59 +02:00
ejurgensen 39b9c4fc33 Make DAAP cache use and location configurable 2014-08-20 23:09:23 +02:00
ejurgensen f3a19fce8e Add DAAP cache backend 2014-08-20 00:21:48 +02:00
ejurgensen a594455e09 Add db_query_run() to get rid of some redundancy in db.c 2014-08-18 00:20:23 +02:00
ejurgensen 6d8e4c67aa Support for LastFM scrobbling (issue #19) 2014-08-15 23:36:54 +02:00
ejurgensen 21cf3ab7d3 Add trimwhitespace(), keyval sorting and alloc to misc functions
- features required by the LastFM module
2014-08-15 22:56:39 +02:00
ejurgensen d5efc2dcb3 Add db interface to update the admin table 2014-08-15 22:54:47 +02:00
ejurgensen b0807b168e Preproc defines in evhttp_compat.h to protect against double inclusion 2014-08-15 22:53:47 +02:00
Marlies Heijkoop bbb21b0bad Don't segfault on invalid utf8 while sorting
`strmblen` returns -1 on invalid sequences, which causes a segfault when passed as length to `stpncpy`.
2014-08-14 20:06:45 +02:00
chme 05e6402dc6 Fix skip to next song while the last song in Up Next is playing
(introduced in a6c2a25)
2014-08-02 07:25:18 +02:00
chme 974c6e6323 add missing "#undef Q_TMPL" 2014-07-27 11:16:00 +02:00
chme a6c2a25642 If reshuffling with repeat all songs in queue active, set shuffle-head
to current playing song. Previously the shuffle-head was set to the next
song after the current, therefor the UpNext-queue appeared empty after
adding new songs to the queue.
2014-07-25 18:51:34 +02:00
chme 87b415b0d4 Fix segfault on reshuffling one item 2014-07-25 18:25:20 +02:00
chme 5065c3e4a0 Use query parameter if queuefilter parameter is unkown 2014-07-19 08:45:40 +02:00
chme 49a985391d Ignore queuefilter on playqueue-edit-add if mode = 0 (add to up next) 2014-07-19 08:44:27 +02:00
chme 74622904e3 local audio: do not add pcm_buf_threshold to pcm_pos (leads to wrong
position in Remote)
2014-07-17 20:14:21 +02:00
chme 4d79a85780 Change behavior of skip to previous song to start the current song from
the beginning, if it is playing for more than 3 seconds
2014-07-17 20:14:21 +02:00
chme fe2abfd123 clear queue on playback abort 2014-07-17 20:12:19 +02:00