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