103 Commits

Author SHA1 Message Date
Justin Maggard
9e534c56fd monitor: Support NFO file changes
Detect when a .nfo file changes, and rescan metadata for the associated
video file.
2017-08-22 15:30:10 -07:00
Justin Maggard
4f926639b2 upnpsoap: Add additonal bookmark support
Add support for upnp:playbackCount and upnp:lastPlaybackPosition tags.
These are used by Kodi to keep track of bookmark information as well as
determining whether to show the checkmark to indicate that the video
has been played.

Also add support for the UpdateObject command, which Kodi uses to
update the playbackCount and lastPlaybackPosition information.

This change requires a DB schema update, which should be done
automatically on the first run.

Inspired by SF user Karsten's patch #167.
2017-05-17 12:01:04 -07:00
Justin Maggard
49aa42d893 scanner: Add non-destructive update rescan
New functionality, based on Shrimpkin's patch #145 on SF.
2017-05-04 23:29:59 -07:00
Justin Maggard
1c5e9ae61c containers: Add gettext support for magic containers.
Run the magic contain names through gettext, so they can get localized.
2015-12-21 11:49:07 -08:00
Justin Maggard
e4dab2455b scanner: Add more vebose scan error message.
Print the errno in addition to the generic error message.
2015-09-10 11:57:31 -07:00
Justin Maggard
8029921884 containers: add magic container infrastructure
Add support for dynamic containers, with enough flexibility to also
replace our existing container ID replacement functionality.
2014-07-01 17:08:18 -07:00
Justin Maggard
34cb08928c portability: add support for Illumos
This still won't work on older Solaris systems, but modern Illumos
at least should build and run now.
2014-05-14 17:53:25 -07:00
Justin Maggard
61bb91ecc9 scanner: check defined media types before parsing files 2014-04-28 16:01:30 -07:00
Justin Maggard
e4fcb717e7 log: replace a few fprintf's with DPRINTF's. 2014-04-25 17:31:12 -07:00
Catalin Patulea
3a57744735 Add printf attribute to log_err/DPRINTF and fix a few warnings
Modified to not use %z for portability reasons.
2014-04-10 18:57:30 -07:00
Justin Maggard
6e43ab3c06 Introduce THISORNUL macro. 2014-04-07 10:29:56 -07:00
Justin Maggard
cce9a012b3 config: add merge_media_dirs option
By default, if there are multiple media directories specified, there
will be entries for each one in the root directory container.  If
there is only one media directory specified, then just its contents
will be in the root container, to save one level of browsing.

Setting this option changes the default behavior so that multiple
media dirs will behave like a single media dir.
2014-03-12 11:40:49 -07:00
Justin Maggard
1e7fe1413c scanner: Avoid largeish stack allocations in recursive function. 2014-02-03 12:34:48 -08:00
Justin Maggard
5b35d3a165 scanner: Add an extra level if there are multiple media locations.
Before, the top level of folder browsing could be messy if you were
using multiple media directories.  This should tidyt things up.
2014-01-31 17:43:58 -08:00
Justin Maggard
2e68335430 * Filter out hidden files and folders. 2013-10-10 00:04:25 -07:00
Justin Maggard
f06a93c17a * Store the media type in the TIMESTAMP column, so we can force a rescan if the user changes the media type configuration. 2013-01-02 21:00:52 +00:00
Justin Maggard
2521b3f238 * Force a rescan if a media_dir has been removed from the configuration. 2012-11-16 08:06:24 +00:00
Justin Maggard
584258c1f8 * Add support for limiting a media dir to multiple media types. 2012-10-03 07:26:00 +00:00
Justin Maggard
fdcdd9ded8 * Fix inotify parsing of new video symlinks. (SF bug #3552473) 2012-08-20 21:30:16 +00:00
Justin Maggard
61fbce18ba * Replace sqlite_int64 with int64_t in many places, to better allow for the possibility of other databases. (Thanks Douglas Carmichael) 2012-06-29 23:14:27 +00:00
Justin Maggard
2c7a3bfc06 * Add support for the latest ffmpeg/libav library versions. 2012-06-29 21:06:23 +00:00
Justin Maggard
cf8ddddcce * Clean up some potential buffer overruns. (SF bug #3536546) 2012-06-26 18:13:48 +00:00
Justin Maggard
2661cd8a0c * Move database-specific DB creation bits to a separate file. 2012-05-16 01:22:11 +00:00
Justin Maggard
40f3664390 * Fix warn_unused_result compiler warnings with FORTIFY_SOURCE defined. 2012-03-28 08:15:15 +00:00
Justin Maggard
c5bb5c84b3 * Add image rotation support during resize. (mostly useful for TiVo) 2012-01-22 00:33:55 +00:00
Justin Maggard
0919e28b3a * Fix inotify detection issue on first-level folders. 2011-12-26 10:14:21 +00:00
Justin Maggard
c415fbdbf3 * Make some necessary changes to function on old OSes (like CentOS 5.7). 2011-12-07 03:55:20 +00:00
Justin Maggard
4d4d96e1bb * Separate album containers with different artists. 2011-11-03 00:48:14 +00:00
Justin Maggard
a9d2e6dd44 * Make metadata-based virtual containers case insensitive. 2011-11-02 01:48:59 +00:00
Justin Maggard
773e1f6566 * Add support for other operating systems (kFreeBSD, FreeBSD, and OSX for now).
* Switch to autoconf from genconfig.sh.
2011-09-16 23:39:58 +00:00
Justin Maggard
715af3519b * Fixup last checkin. 2011-09-04 04:07:36 +00:00
Justin Maggard
cb5ab0b1c6 * Add a verbose logging parameter and playlist skipping, based on SF bug #3395238. 2011-09-03 01:54:39 +00:00
Justin Maggard
0d5e89a970 * Fix bug from the last checkin. 2011-08-25 00:37:10 +00:00
Justin Maggard
1fc5f599f1 * Fix a crash when scanning images without read access. (SF bug #3395670) 2011-08-22 18:24:19 +00:00
Justin Maggard
d5b77cbd46 * Add bookmark support for Samsung TVs. 2011-08-05 20:36:54 +00:00
Justin Maggard
cdc93f680f * Add thumbnail support on folders, since at least XBMC supports it. 2011-08-05 00:31:20 +00:00
Justin Maggard
9a9270cecf * Fix some issues reported by cppcheck. 2011-05-02 23:50:52 +00:00
Justin Maggard
88b992bd51 * Escape video tags. 2011-04-21 08:50:44 +00:00
Justin Maggard
9c6dc1029a * Remove .musicArtist from All Artists, so it doesn't get included in UPnP search requests for object.container.person.musicArtist. 2011-04-13 23:08:21 +00:00
Justin Maggard
53db844772 * Use matching container classes for All Artist/Albums, so they'll go to the top of a class-sorted list. 2011-04-12 20:57:01 +00:00
Justin Maggard
a8d204dd0d * Do no add inaccessible directories to the database. (Thanks Ivan Mironov) 2011-04-08 02:16:15 +00:00
Justin Maggard
2170f6a53b * Break out of the scanner on SIGTERM with forking disabled. 2011-02-26 00:02:33 +00:00
Justin Maggard
9327b9fcbd * Use containter definitions instead of hard-coding them. 2011-02-15 00:37:42 +00:00
Justin Maggard
14a0d1ac98 * Don't expose album art images in the content directory.
* Support album art name wildcards.
2011-02-14 23:52:10 +00:00
Justin Maggard
8e0fcd56f9 * Complete/clarify license information. 2010-11-11 23:48:14 +00:00
Justin Maggard
da624cedfd * Add more translations. 2010-08-09 23:49:17 +00:00
Justin Maggard
ff59bc9ab9 * Remove the last remnants of hard-coded ObjectIDs. 2010-08-09 17:21:27 +00:00
Justin Maggard
c97d359fe2 * Make Xbox360 support more generic for use with other PlaysForSure clients. 2010-08-05 23:09:11 +00:00
Justin Maggard
291b31f98a * Add basic NLS support, so clients can display localized strings during browsing if it's properly enabled. 2010-07-17 00:47:48 +00:00
Justin Maggard
346ff6e293 * Add M3U/PLS music playlist support. 2010-01-13 21:15:26 +00:00