Commit Graph

1822 Commits

Author SHA1 Message Date
Julien BLACHE
cef1636415 Add watch-moving routines 2009-06-11 15:42:51 +02:00
Julien BLACHE
87aa24454d Add watch-marking routines 2009-06-11 15:24:10 +02:00
Julien BLACHE
56127b3ecc Add file and playlist disable-by-match routines 2009-06-11 15:09:10 +02:00
Julien BLACHE
34b0c22e46 Handle symlink-to-directory creation 2009-06-11 13:51:19 +02:00
Julien BLACHE
279fb95979 Watch for IN_CLOSE_WRITE in addition to IN_MODIFY and IN_CREATE
When receiving IN_CREATE or IN_MODIFY, there's no guarantee the file is
in its final state. Similarly, IN_MOVED_TO doesn't guarantee the file is
available when we receive it. And it actually isn't.

Watching for IN_CLOSE_WRITE fixes all that.
2009-06-11 13:45:02 +02:00
Julien BLACHE
467b177c17 Handle IN_DELETE, IN_MOVED_FROM and IN_MOVED_TO for files 2009-06-10 22:28:59 +02:00
Julien BLACHE
d63da9f08f Add file and playlist enable/disable routines 2009-06-10 22:28:54 +02:00
Julien BLACHE
9ff8913dd6 Add file and playlist deletion (by path) routines 2009-06-10 22:28:49 +02:00
Julien BLACHE
ac96ac6baf Move to the SQL database for storage of inotify watch info 2009-06-10 22:28:49 +02:00
Julien BLACHE
a9697eccdf Add storage of inotify watch info 2009-06-10 22:28:43 +02:00
Julien BLACHE
bfa2488343 Add support for disabled files and playlists 2009-06-10 19:11:12 +02:00
Julien BLACHE
177fb35d81 Add missing argument to DPRINTF() call 2009-06-10 19:11:12 +02:00
Julien BLACHE
94421b0b1b Handle IN_IGNORED events in inotify callback 2009-06-10 19:10:44 +02:00
Julien BLACHE
cbab1f80e0 ie->len is 0 for events reported on the watch subject
ie->len is non-0 only when the event is being reported for a file or
directory inside a watched directory.
2009-06-10 19:10:37 +02:00
Julien BLACHE
c8cc6bd603 Run event loop for each directory and each playlist when scanning in bulk mode 2009-06-10 19:04:18 +02:00
Julien BLACHE
4e38d168e1 Set and check database schema version 2009-06-10 19:04:18 +02:00
Julien BLACHE
ab1f9db6b3 Remove unused L_LOCK logdomain 2009-06-10 19:04:18 +02:00
Julien BLACHE
7314dd21c7 Purge old files and playlists after bulk scan 2009-06-10 19:04:18 +02:00
Julien BLACHE
4e3b29f502 Remove the old database code 2009-06-10 19:04:18 +02:00
Julien BLACHE
a200703393 Switch to the new database code 2009-06-10 19:04:18 +02:00
Julien BLACHE
f2c677462b Add new database code 2009-06-10 19:04:12 +02:00
Julien BLACHE
52d3fd1064 Clear evkeyvalq structs before use; fix crasher 2009-06-07 19:06:59 +02:00
Julien BLACHE
149d5432c6 Rework error handling and cleanup 2009-06-07 19:06:59 +02:00
Julien BLACHE
0ff33f12d6 Move mDNS services registration out of main() 2009-06-07 19:06:59 +02:00
Julien BLACHE
f3c0145346 Move runas down into daemonize() 2009-06-07 19:06:59 +02:00
Julien BLACHE
f39c48b989 Cleanup options and add long options 2009-06-07 19:06:59 +02:00
Julien BLACHE
6e64e54429 General main.c cleanup 2009-06-07 19:06:59 +02:00
Julien BLACHE
64cd2ee383 Factor out RSP query parameters handling 2009-06-07 19:06:59 +02:00
Julien BLACHE
c59217f58e Remove the unused L_PARSE logdomain 2009-06-07 19:06:58 +02:00
Julien BLACHE
2cc5f6928e Remove the unused smart parser 2009-06-07 19:06:58 +02:00
Julien BLACHE
8b5a25c972 Remove/disable last users of the smart parser 2009-06-07 19:06:58 +02:00
Julien BLACHE
91e34a77c8 Use the new ANTLR parser for RSP queries 2009-06-07 19:06:58 +02:00
Julien BLACHE
f9d9964914 Add new ANTLR parser for RSP queries
This parser actually supports way more than is needed for RSP proper,
as mt-daapd was piggybacking on the RSP queries for its smart playlists.

As I don't have (yet?) the RSP specs, better safe than sorry here. This
will be revisited at some point. Or not.
2009-06-07 19:06:51 +02:00
Julien BLACHE
272d8bca04 Fix error message 2009-06-07 19:06:51 +02:00
Julien BLACHE
68c74e6a88 Replace the mxml RSP root element hack by a better one
There's no proper way to add attributes to the root XML element in mxml;
the best way to do that is to create the root element like we would
create any other element and put the whole "? ... ?" stuff in there.
2009-06-07 19:06:51 +02:00
Julien BLACHE
4872077319 Make the file scanner non-recursive 2009-06-07 19:06:51 +02:00
Julien BLACHE
ffb5a2fb06 Make wd2path static 2009-06-07 19:06:51 +02:00
Julien BLACHE
977afbbc5e Add workaround for empty XML tags in RSP replies
The SoundBridge does not support empty XML tags (<foo/>) and treats anything
containing such tags as invalid. Adding an empty string to the element works
around that, in that mxml won't produce empty tags in this case.

Hackish, but dealing with a hackish implementation on the other side :)
2009-06-07 19:06:51 +02:00
Julien BLACHE
28350ae9a6 Look for a query or filter parameter in DAAP queries
The filter is passed in the query parameter if it's a search, but if it's
a browse it's in the filter parameter.
2009-06-07 19:06:51 +02:00
Julien BLACHE
7642b1c6d7 Use the new ANTLR parser for DAAP queries 2009-06-07 19:06:50 +02:00
Julien BLACHE
68db2ae7c2 Add new ANTLR parser for DAAP queries 2009-06-07 19:06:46 +02:00
Julien BLACHE
c4cf7c08a4 Remove configure check for unused functions 2009-06-02 11:13:51 +02:00
Julien BLACHE
cefd3f3d1d Make dmap_fields_hash static 2009-06-01 18:01:24 +02:00
Julien BLACHE
512731c9dc Turn DPRINTF into a wrapper to a generic logging function
DPRINTF() made a generic logging function taking a va_list called
vlogger() and reimplemented as a wrapper on top of vlogger().
2009-06-01 16:01:47 +02:00
Julien BLACHE
c3a5222f84 Log libevent errors through our own logger 2009-05-09 17:14:07 +02:00
Julien BLACHE
11f18eaf6f Remove unneeded log.c from evhttp copy 2009-05-09 17:14:07 +02:00
Julien BLACHE
be0ac2b103 Add missing cleanup calls 2009-05-09 17:14:07 +02:00
Julien BLACHE
7b3b538ea6 Rename L_REND to L_MDNS 2009-05-09 17:14:07 +02:00
Julien BLACHE
d384f3c395 Rename E_INF to E_INFO 2009-05-09 17:14:07 +02:00
Julien BLACHE
b6f23a8273 Remove old error logging facility 2009-05-09 17:14:07 +02:00