Commit Graph

120 Commits

Author SHA1 Message Date
chme ec75664b81 filescanner: set event-base for cmdenv 2015-02-23 20:26:06 +01:00
chme 0c936c9bea Do not trigger a new rescan if one is already running; fix log domains
in filescanner; default to "file:" for virtual paths (fixes segfaults on
pipes)
2015-02-14 08:50:18 +01:00
chme 830054bd71 Initial support for mpd protocol 2015-02-14 08:50:18 +01:00
ejurgensen 266d05f5eb Revert "Don't add duplicates (same fname, artist, album and title), issue #85"
This reverts commit 70365422b4.
2015-01-16 22:32:23 +01:00
ejurgensen 70365422b4 Don't add duplicates (same fname, artist, album and title), issue #85 2015-01-14 22:07:24 +01:00
ejurgensen 4df4c50c35 Add option to exclude paths from scanning based on regex 2015-01-14 21:50:25 +01:00
ejurgensen 37d990b390 Ignore non-artwork jpg's and png's during filescan
(so ffmpeg doesn't waste time analyzing them)
2015-01-10 23:29:10 +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 2fc681a971 Add condition for FreeBSD, ignore SCHED_BATCH in filescanner.c 2014-09-12 17:52:08 +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 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 ae3b5077ec Add support for .pls playlists 2014-08-27 21:57:16 +02:00
ejurgensen 6d8e4c67aa Support for LastFM scrobbling (issue #19) 2014-08-15 23:36:54 +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
ejurgensen 2247fadbfa Some preprocessor conditions for compability on OpenWrt 2014-06-16 23:31:44 +02:00
ejurgensen d993bc3750 Defer loading Spotify playlists until bulk scan is complete
(because of database locking issues)
2014-06-10 22:49:44 +02:00
ejurgensen 1bd11d2895 Fix so permission changes in the library are handled (issue #8) 2014-06-09 23:42:02 +02:00
ejurgensen 116289f5b7 Libav 10 (and ffmpeg) now has native support for ICY metadata 2014-06-02 00:00:52 +02:00
ejurgensen aa8344d14d Some filesystems have mtime=0 (Seafile), so add check for stamp before
letting the scanner exit with just a db ping
2014-05-21 22:31:05 +02:00
ejurgensen dafc748bfd Clear watches from db on init-rescan 2014-05-14 21:39:25 +02:00
ejurgensen 915719f0f8 Fix Spotify exemption from purge during init-rescan 2014-05-14 20:44:07 +02:00
ejurgensen 6b0c5997bf Fixup init-rescan 2014-05-13 22:14:19 +02:00
ejurgensen a7d0a603b3 Excempt Spotify items from rescan purge 2014-05-13 20:57:37 +02:00
ejurgensen 851b57017d Add option to trigger startup scan, rename force-rescan and better cleanup in full rescan 2014-05-11 23:55:18 +02:00
ejurgensen 0aa8416a21 Reset inotify when force-rescan is triggered 2014-05-11 23:44:15 +02:00
ejurgensen 5a5163e699 Move db_analyze/db_hook_post_scan (credit @chme) 2014-05-11 23:17:29 +02:00
ejurgensen a5b2fbc0fe Wrap bulk scan in a db transaction (credit @chme) 2014-05-11 23:13:09 +02:00
ejurgensen 8740249e05 Clear up some code in filescanner.c 2014-03-31 00:04:03 +02:00
ejurgensen 0c79a02e93 Fix error in filescanner when renaming files. Allow scanner to add
fifos (named pipes) for later Shairport integration.
2014-03-30 23:44:30 +02:00
ejurgensen c01bb54b79 Poor man's natural sort
- sort a1, a2, a11, a21, a100 instead of a1, a11, a100, a2, a21
2014-03-24 04:56:36 +01:00
ejurgensen 87f8b204df Rewrite spotify to use libevent for better reliability 2014-03-23 21:45:06 +01:00
ejurgensen c01698e462 Filescanner should not watch for IN_MODIFY
- it is bad for performance (triggers many db selects) and is
useless anyway.
2014-03-21 22:57:56 +01:00
ejurgensen 81b285a79e Fix horrible filescanner bug I introduced with the Spotify commit 2014-03-12 21:48:04 +01:00
ejurgensen 7ed6cc98c3 Add support for Spotify (squashed commit), and:
- Try to not return items which a client can't play
    - Remove inotify subscription to IN_MODIFY and IN_CREATE
    - Fix crash on unknown codec type in transcode.c
    - Probably added some new bugs...
2014-03-11 23:20:29 +01:00
ejurgensen 7314d0de0d Add config option to disable initial file scan 2014-01-28 22:40:07 +01:00
ejurgensen fe16a9ca4e Merge branch 'audiobooks' into db_upgrade_14 2013-12-17 21:03:26 +01:00
ejurgensen dbb043198d Upgrade database to version 14 (artist groups and seek)
- add songartistid to support artist groups
- add corresponding trigger
- add seek field for later use (to save playback position)
- add G_ARTISTS and adjust queries
- add smart playlists Podcasts/Audiobooks with db upgrade
2013-12-17 20:58:55 +01:00
ejurgensen a35f6c4376 Basic audiobook support 2013-12-08 23:03:03 +01:00
ejurgensen 2765a12f76 Forgot composer-sort and two instances of strip_article() 2013-12-05 22:46:12 +01:00
ejurgensen 91ab072e51 Merge branch 'force_rescan' 2013-12-03 23:13:43 +01:00
ejurgensen 26fe40cb18 Ignore article (The/A/An) when sorting 2013-12-02 22:20:34 +01:00
ejurgensen 8882374a75 Disable instead of purging when root library dir is not present 2013-11-30 23:12:09 +01:00
ejurgensen adc9c03763 Allow user to trigger full rescan with a .force-rescan file 2013-11-29 22:48:53 +01:00
ejurgensen a3f251b3be Be case insensitive when checking file name extensions 2013-11-09 21:54:24 +01:00
ejurgensen 862cde3849 Merge branch 'podcast'
Conflicts:
	src/conffile.c
2013-10-29 21:47:23 +01:00
ejurgensen 766177bf10 File types to ignore during scan made configurable 2013-10-26 20:59:05 +02:00
ejurgensen 209d17c148 Rework of podcast and compilation scanning
- identify podcasts by config path
- always set album_artist to empty for podcasts
- album_artist for compilations made configurable
- clean up media type enumeration
2013-10-24 23:14:26 +02:00
ejurgensen cc6d5670d7 Merge branch 'm3u_extinf' 2013-10-17 22:36:07 +02:00