Commit Graph

1898 Commits

Author SHA1 Message Date
Ace Jones e033d35195 Rework error handling in daap_reply_playlists()
Kill a bit of code duplication in the error handling.
2010-01-10 14:43:22 +01:00
Ace Jones ac82b176a0 Rework error handling in daap_reply_songlist_generic()
Kill a bit of code duplication in the error handling.
2010-01-10 14:43:22 +01:00
Ace Jones cac2c032f6 Add the daap.songalbumartist DMAP field 2010-01-10 12:11:00 +01:00
Ace Jones e948f69d0d Add safe_atoull() 2010-01-10 12:09:29 +01:00
Julien BLACHE 5867821ed7 Documentation update 2010-01-10 11:27:19 +01:00
Julien BLACHE 5b5e142c22 Replace inotify with kqueue on FreeBSD - stub
Start replacing inotify in the filescanner with kqueue. Only a stub at
this point, kqueue/kevent doesn't deliver nearly as much information
as inotify does. This will require some work, and someone willing to
do that work.
2010-01-09 13:48:52 +01:00
Julien BLACHE 9695c11186 Add an opaque pointer to watch_info
Used on FreeBSD to hold a pointer to the kevent struct.
2010-01-09 13:45:33 +01:00
Julien BLACHE 5681793534 Replace signalfd with kqueue for FreeBSD 2010-01-09 13:44:56 +01:00
Julien BLACHE 8d7c566d95 Use m_realpath(path) instead of realpath(path, NULL) 2010-01-09 13:44:10 +01:00
Julien BLACHE b9d8a5880a Introduce m_realpath() to replace realpath(path, NULL) 2010-01-09 13:43:29 +01:00
Julien BLACHE 3724f943b9 Use sys/endian.h on FreeBSD 2010-01-09 13:42:59 +01:00
Julien BLACHE 99df67b53c Include sys/param.h for PATH_MAX 2010-01-09 13:42:23 +01:00
Julien BLACHE 6c38cd2ef5 Add missing sys/types.h & sys/stat.h for stat & friends 2010-01-09 13:41:51 +01:00
Julien BLACHE 6033e29348 Use standard pipe() syscall on non-Linux platforms 2010-01-09 13:41:14 +01:00
Julien BLACHE f4025c4b5d Limit signalfd.h header check to linux platforms 2010-01-09 13:40:28 +01:00
Julien BLACHE 2f99797d9a Use sizeof(void *) instead of __WORDSIZE 2010-01-09 13:39:45 +01:00
Julien BLACHE 613717f6b8 Fix a format string mismatch (long vs uint64_t) 2010-01-09 13:38:41 +01:00
Julien BLACHE cdf0e2f9a5 Fix incorrect log domain 2010-01-09 11:14:23 +01:00
Julien BLACHE cefa51b5c6 Fix signal handler - readd event to event loop 2010-01-09 11:03:16 +01:00
Julien BLACHE 11f6b1e78f Kill duplicate fclose() 2010-01-09 11:00:41 +01:00
Julien BLACHE 5887cc2e27 Kill dead variables in signal_cb() 2010-01-08 12:29:13 +01:00
Ace Jones fc971974f0 Fill in media_kind=1 for music
Also move item_kind initialization further up.
2010-01-06 18:41:27 +01:00
Julien BLACHE 974a74a833 Update copyright notices for 2010 2010-01-05 19:34:00 +01:00
Julien BLACHE 60a06dfb0a Change album and album_artist column definitions to be NOT NULL
Unfortunately SQLite doesn't support adding constraints with ALTER TABLE,
so this constraint cannot be added upon upgrade.
2010-01-05 19:23:52 +01:00
Julien BLACHE 26d603aa61 Introduce generic database upgrade function 2010-01-05 19:18:30 +01:00
Julien BLACHE db0bff61c7 Remove -y option, as it doesn't actually exist 2010-01-05 18:32:00 +01:00
Oren Held c59df96e48 Add pkg-config to the list of required tools 2010-01-05 18:27:30 +01:00
Julien BLACHE d273c72a4b Add database upgrade to populate album_artist for every file
Bump schema_version to 3, even though this isn't exactly a schema upgrade.
2010-01-05 18:25:23 +01:00
Ace Jones 67e3739bc2 Allow DMAP queries on daap.songalbumid 2010-01-05 18:25:23 +01:00
Ace Jones f2965f8ac6 Make daap_songalbumid available as a function inside SQLite 2010-01-05 18:25:18 +01:00
Ace Jones d3350713d1 Return daap.songalbumid as a hash of the album_artist + album
iPhone remote will later want to query by album. Instead of doing a
fulltext query, it uses a 64-bit hash of the album + album_artist. It
is not necessary to use the same hash algorithm that iTunes uses. The
important thing is that we can later respond to a query=('daap.songalbumid:xxx')
with this value.
2010-01-04 18:00:05 +01:00
Ace Jones 19a244095a Add daap_songalbumid() to generate the songalbumid hash
Make it an inline function as it's a short function and has only got
2 call sites.
2010-01-04 17:59:21 +01:00
Julien BLACHE 8ef57bbb41 Add the MurmurHash2, 64bit version
Hash algorithm by Austin Appleby, <http://murmurhash.googlepages.com>
2010-01-04 17:58:28 +01:00
Ace Jones e16d8a9747 Use the 'artist' field for 'album_artist' if there is no album artist set 2010-01-04 17:56:20 +01:00
Ace Jones 117ee15e44 Add handler for DMAP extra_data requests
iPhone Remote uses the following requests to get cover art for
songs and albums:

/databases/#/items/#/extra_data/artwork
/databases/#/groups/#/extra_data/artwork

For now, we will return the valid and correct response that we
have "No content".  In the future, the real artwork could be
extracted and returned here.
2010-01-03 18:55:32 +01:00
Julien BLACHE d20fdbda95 Cast pANTLR3_STRING to char * to avoid printf-format warnings 2009-12-31 22:21:56 +01:00
Julien BLACHE 046e3d6d90 Fixup DPRINTF() format strings 2009-12-31 22:21:19 +01:00
Julien BLACHE 5e338b033a Add missing trk_id argument to DPRINTF() calls 2009-12-31 22:20:48 +01:00
Julien BLACHE 61c6627713 Mark DPRINTF() as a printf-like function 2009-12-31 20:39:51 +01:00
Julien BLACHE 207e85c6c0 Regain root privileges to unlink PID file at exit 2009-12-31 20:19:13 +01:00
Julien BLACHE 1ac46983b9 Use setegid/seteuid to be able to regain root privileges 2009-12-31 20:19:13 +01:00
Julien BLACHE 662ba32d35 Fix ret/iret variables usage 2009-12-31 20:12:36 +01:00
Julien BLACHE 8feeecd895 Send a Content-Length header when plainly streaming a whole file
That is, don't send a Content-Length if we're decoding a whole file,
as we do not know the exact size in this case.

Based on a patch by Ace Jones.
2009-12-31 16:50:19 +01:00
Julien BLACHE a91b1ef46e Reindent dmap_query_fields, no code changes. 2009-12-31 16:50:19 +01:00
Ace Jones ddc4c667ea Enable DMAP queries on com.apple.itunes.mediakind
Used by Remote on the iPhone.
2009-12-31 16:41:10 +01:00
Ace Jones 995c212dc7 Support query filter in playlist list query
iTunes uses query filters in DAAP containers requests, so support that here.
2009-12-30 18:53:55 +01:00
Ace Jones 040e760789 Add support for Remote, the iPhone remote control for iTunes
Remote needs the same DAAP query quirk as iTunes and supports the
same codecs.
2009-12-30 18:49:52 +01:00
Ace Jones abbba5cf47 Fix typo in DAAP error message 2009-12-30 18:47:41 +01:00
Ace Jones 76fc069f22 Fix missing argument to debug call 2009-12-30 18:46:41 +01:00
Julien BLACHE ff03c2679d DMAP comparison against empty string needs to check against NULL too
'dmap.foo!:' -> (dmap.foo <> '' AND dmap.foo IS NOT NULL)
'dmap.foo:'  -> (dmap.foo = '' OR dmap.foo IS NULL)
2009-12-29 22:04:49 +01:00