Commit Graph

2129 Commits

Author SHA1 Message Date
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
Julien BLACHE
8025db2dc2 Allow negation operator for string comparisons in DMAP queries 2009-12-29 19:10:51 +01:00
Julien BLACHE
f56884015f Allow empty values in DMAP queries for string fields 2009-12-29 19:10:22 +01:00
Julien BLACHE
371725b0da Fix segfault in db_file_update
Fix wrong type (%Q instead of %d) for tv_episode_sort and tv_season_num in
the SQL query for db_file_update().
2009-12-27 08:19:16 +01:00
Julien BLACHE
a52dcd264c Force a full rescan after DB migration 2009-12-27 08:17:25 +01:00
Julien BLACHE
7cb0eec5d5 Don't increase play count if not streaming at least half of the file
When streaming AAC/MP4 files that aren't stream-optimized (metadata at the
end of the file), clients will seek through the file to grab the metadata
prior to playing the file, causing the play count to increase by 2 or 3.

To counter that, do not increase play count if not streaming at least half
of the file.
2009-12-26 09:57:37 +01:00
Julien BLACHE
403153f64b Reindent the dmap_fields table, no code changes 2009-12-26 09:28:28 +01:00
Ace Jones
000e13b7ee Return TV metadata in DMAP response 2009-12-26 09:23:13 +01:00
Julien BLACHE
66716841ea Handle database schema upgrade from v1 to v2 2009-12-26 09:20:51 +01:00
Julien BLACHE
42a7715c69 Reindent data tables, no code changes 2009-12-26 08:44:55 +01:00
Ace Jones
a0ec19ada6 Add TV metadata to the database
With this, we're bumping SCHEMA_VERSION to 2.
2009-12-26 08:39:39 +01:00
Ace Jones
2ae6fcd864 Pick up TV-related metadata in MP4 video files
TV-related metadata as found in TV shows bought on the iTunes store, for
instance.

At the time of writing, ffmpeg doesn't support this yet. Until it does,
contact Ace Jones <ace.jones1@yahoo.com> for patches and instructions.
2009-12-26 08:31:12 +01:00
Ace Jones
a0b015f1e4 Accomodate TV meta-data in internal structures
Add new fields for TV-related metadata to struct media_file_info and
struct db_media_file_info.
2009-12-26 08:28:28 +01:00
Ace Jones
30e07abae3 Check chdir() return value to silence a warning 2009-12-24 21:28:41 +01:00
Ace Jones
d231faff2d Handle DAAP activity request
Reply to the DAAP /activity request with 204 / No content. Used by iTunes to
ping the server while streaming.
2009-12-20 14:43:28 +01:00
Julien BLACHE
3cb9e147fe Lower autoconf requirement to 2.63+ 2009-12-20 14:35:57 +01:00
Julien BLACHE
8ec1fa389b Clarify what optional libraries are for 2009-12-13 09:55:19 +01:00
Julien BLACHE
fb20be467e Bump minimal libplist version, matching configure.in 2009-12-13 09:54:04 +01:00
Julien BLACHE
57a3e4448c Add a note about autotools 2009-12-13 09:51:48 +01:00
Julien BLACHE
2bc48222ed Recommend ANTLR 3.1.3 to build forked-daapd 2009-12-13 09:49:43 +01:00