Commit Graph

180 Commits

Author SHA1 Message Date
chme
5f307c7ce1 Added support for playqueue-contents with negativ span value (returns the previously played songs) 2014-05-03 20:16:51 +02:00
ejurgensen
8eb6b46ed2 Adjustments to queue_move/queue_remove, mostly for consistency 2014-04-21 21:21:40 +02:00
chme
4c5abdac5e add songs for album or artist ordered by album 2014-04-20 11:03:49 +02:00
chme
01cc83f819 respect coding convention and changed log level 2014-04-20 06:43:01 +02:00
chme
32c3b57fcd added support for the playqueueedit add next command 2014-04-19 09:12:58 +02:00
chme
475a2f4e8f added support for the playqueueedit remove command 2014-04-19 08:35:07 +02:00
chme
c3c2c421d2 added support for the playqueueedit move command 2014-04-19 08:09:32 +02:00
ejurgensen
365c5a3bc9 Only queue the rest of the album on quirky query 2014-04-18 22:39:17 +02:00
ejurgensen
9efc97d702 Add support for query-modifier=containers in DACP playqueue-edit 2014-03-31 01:53:46 +02:00
ejurgensen
3ff4fa77be Merge branch 'libevent2' into dev 2014-03-24 04:59:08 +01:00
ejurgensen
708b76ce1e Play only a single item when playspec has item-spec (Podcasts/Audiobooks) 2014-03-21 23:38:14 +01:00
ejurgensen
687f349927 Let configure check libevent version and include according to version 2014-03-13 23:33:35 +01:00
ejurgensen
190f91114e Support songartistid (asri) in group requests and queuefilter=artist
- credit misenhower of wp8remote.com
2014-02-21 20:39:57 +01:00
ejurgensen
1ec1528f3b Mimic iTunes and reply 204 No Content to playqueue-edit&add 2014-02-13 15:46:24 +01:00
ejurgensen
9c90abf603 Allow 0 as an initial value of revision-number 2014-01-03 22:22:21 +01:00
ejurgensen
c360bdd5bd Also account for playqueue-edit?...queuefilter=album:(null) 2013-11-23 23:05:13 +01:00
ejurgensen
9760a43ccf Add support for mode 2 (shuffle) in playqueue-edit and -contents 2013-11-22 22:05:55 +01:00
ejurgensen
afd25b79d9 Support for playqueue-edit 2013-11-22 16:41:57 +01:00
ejurgensen
4d542f9e22 Set some dmap_send_error messages to "Invalid request" 2013-11-21 23:44:37 +01:00
ejurgensen
83a89edfd0 Small changes in playqueue-edit wrapper 2013-11-21 23:41:29 +01:00
ejurgensen
a4c16741d9 Better support for playqueue-edit (command add, mode 1)
- reply message not fixed
2013-11-21 23:33:03 +01:00
ejurgensen
ecd8b5d940 Misc work on httpd_dacp for support of playqueue-*
- playqueue-edit still working poorly, but added documentation
2013-11-17 23:15:50 +01:00
ejurgensen
0576643ae5 Use artist in Up Next 2013-11-16 22:33:12 +01:00
ejurgensen
f42bbd37e1 Add basic support for playqueue-contents (real reply) and add placeholder
for playqueue-edit
2013-11-14 23:14:58 +01:00
ejurgensen
00a790c0c1 Fix typo and add more comments 2013-11-09 23:58:18 +01:00
ejurgensen
f71954eb43 Add dummy playqueue-contents support 2013-11-09 23:51:36 +01:00
ejurgensen
0d5fef60e6 Add empty DACP property get for media-kind and extended-media-kind 2013-11-07 22:45:12 +01:00
ejurgensen
c70496bb58 Accept item-spec in playspec requests 2013-10-19 11:07:10 +02:00
ejurgensen
736d19f924 Fix error in c897761ee3
Changed the way it's detected if speaker id is hex or dec
2013-08-31 11:03:15 +02:00
ejurgensen
83edef0f01 Fixes two issues with Hyperfine Remote for Android
1. H. Remote uses the playpause command to both play and pause,
but forked-daapd would only support play, not pause.
2. H. Remote sends speaker id's in decimal, not in hex like other
remotes. Fixed so forked-daapd will understand both.
2013-08-30 21:50:31 +02:00
Thijs Reus
6b0fde9dba Fixed RemoteApp communication which broke for Remote 3.0 due to some new properties in the query 2013-05-24 18:44:57 +02:00
Julien BLACHE
4472f9e955 Fix infinite loop on unknown DACP property
Missing strtok_r() call in the !dpm case.
2011-08-15 12:50:43 +02:00
Julien BLACHE
52691d6c4d Rename dmap_helpers.[ch] to dmap_common.[ch] 2011-04-09 10:11:34 +02:00
Julien BLACHE
6949859ff1 Add caiv tag to video-capable devices in speaker list 2011-04-09 10:11:34 +02:00
Julien BLACHE
f3e7836453 Introduce struct spk_flags to reduce argument count for enumeration callback 2011-04-09 10:11:34 +02:00
Julien BLACHE
cbb1669ee1 Replace AVL tree in DACP by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
ac73ee0ce5 Enable and handle JPEG artwork in DACP 2011-04-01 22:04:09 +02:00
Julien BLACHE
c7209ab699 Add support for JPEG as a valid artwork output format
Reduce CPU usage by avoiding unneeded JPEG -> PNG conversions; it appears
all the clients we care about support JPEG as well as PNG.
2011-03-30 21:50:29 +02:00
Julien BLACHE
d6d7450557 Bump DACP protocol version 2010-12-04 15:08:07 +01:00
Julien BLACHE
76621797e2 Implement DACP volume interface for Remote 2.0 2010-12-04 15:08:07 +01:00
Julien BLACHE
1372f90ce7 Send out per-speaker (relative) volume atom 2010-12-04 15:08:07 +01:00
Julien BLACHE
5674314161 Support clear-first in cue play command 2010-12-04 15:08:07 +01:00
Julien BLACHE
0df4ab4555 Implement master volume & per-speaker relative volume
Volume is set independently for each speaker relative to the master
volume. Methods allow to set speaker volume independently and in relation
to the master volume.
2010-12-04 15:08:07 +01:00
Julien BLACHE
12daf7237e Downgrade debug message priority 2010-11-28 17:33:07 +01:00
Julien BLACHE
942f3e4aad Modify player-to-DACP status update communication
Have DACP set a callback (through a sync_command() setter) into the player
instead of setting an fd without any locking. All the code now lies in DACP
instead of being split between DACP and the player.
2010-09-13 18:40:41 +02:00
Julien BLACHE
01b42d3108 Fix typo, checking for evbuf instead of update 2010-09-12 17:31:31 +02:00
Julien BLACHE
535d691a4a Fix full_uri memory leak in error path 2010-09-10 18:47:42 +02:00
Julien BLACHE
e373f83660 Kill useless memset() call 2010-08-04 19:01:53 +02:00
Julien BLACHE
d9f5e2aa40 Set playlist ID when queueing a playlist via DACP playspec 2010-07-31 12:32:14 +02:00
Julien BLACHE
ec1fc46c01 Include playlist ID in nowplaying 2010-07-31 12:31:56 +02:00
Julien BLACHE
94b4cd2459 Add support for shuffle in DACP playspec request 2010-07-31 12:09:13 +02:00
Kai Elwert
fa0ee0553a Implement DACP playspec request 2010-07-31 12:09:13 +02:00
Kai Elwert
055fe8f442 Make player_queue_make() generic and introduce player_queue_make_daap() 2010-07-31 10:30:45 +02:00
Julien BLACHE
58f4f2d345 Stop playstatus update event at deinit 2010-07-30 22:16:55 +02:00
Julien BLACHE
f6a9e1f7f4 Kill update request connections during deinit
Avoid leaving active requests on the HTTP server before shutting it down.
2010-07-30 21:42:53 +02:00
Julien BLACHE
81d09ed234 Account for new evhttp behaviour on failed incoming connections
The evcon associated with a request is freed by evhttp when the connection
fails. Protect against a NULL evcon when handling the connection failure.
2010-07-23 18:28:29 +02:00
Julien BLACHE
3b7a71527a Check & fix UTF-8 strings before adding/updating files 2010-06-21 17:50:09 +02:00
Julien BLACHE
36f0d0a76e Implement DACP setproperty for dacp.userrating 2010-05-05 19:13:22 +02:00
Julien BLACHE
eb66a56e1d Pass query parameters to DACP property setters 2010-05-05 19:13:15 +02:00
Julien BLACHE
548cd2a150 Use httpd_send_reply() instead of evhttp_send_reply() where pertinent
gzip replies where useful; artwork should not be compressed, as PNGs are
already compressed and that would be a waste of time.
2010-05-03 19:11:55 +02:00
Julien BLACHE
d38db5868c Implement jumping in DACP cue play command 2010-05-02 11:45:15 +02:00
Julien BLACHE
c11752e9a6 Honor dacp.shufflestate parameter in cue play command 2010-05-02 11:45:15 +02:00
Julien BLACHE
9f84fd9794 Wire up DACP setproperty for dacp.shufflestate 2010-05-02 11:45:15 +02:00
Julien BLACHE
a74caeed82 Wire up DACP setproperty for dacp.repeatstate 2010-05-02 11:45:15 +02:00
Julien BLACHE
7751c23f18 Implement DACP setproperty for dacp.playingtime 2010-05-02 11:45:15 +02:00
Julien BLACHE
6eca3a98d8 Implement DACP setproperty 2010-05-02 11:45:15 +02:00
Julien BLACHE
297c86c453 Implement DACP getproperty and DACP properties core code 2010-05-02 11:45:15 +02:00
Julien BLACHE
b73631bb5c Introduce helpers for DACP nowplaying & playingtime 2010-05-02 11:45:15 +02:00
Julien BLACHE
505b7a2ade Wire up nextitem and previtem 2010-05-02 11:45:15 +02:00
Julien BLACHE
b4a5ba6f3c Wire up pause and playpause 2010-05-02 11:45:15 +02:00
Julien BLACHE
f5e84d6950 Implement DACP nowplayingartwork 2010-05-02 11:45:15 +02:00
Julien BLACHE
9c569f10a9 Implement playstatus updates 2010-05-02 11:45:15 +02:00
Julien BLACHE
b72948e027 Rework playstatusupdate reply
Introduce make_playstatusupdate() and use player_get_status() to get the
player status. Implement the full playstatusupdate reply.
2010-05-02 11:45:15 +02:00
Julien BLACHE
ca2ee21d84 Implement DACP cue requests 2010-05-02 11:45:15 +02:00
Julien BLACHE
bb5703d878 Implement DACP setspeakers 2010-05-02 11:45:14 +02:00
Julien BLACHE
aa20a2e485 Implement DACP getspeakers 2010-05-02 11:45:14 +02:00
Julien BLACHE
bccc6da87f Set closecb to NULL on update requests' connections at deinit
Otherwise the closecb is called when the connection is closed/freed during
deinit, and this happens in the HTTP cleanup after the DAAP and DACP cleanups
have run, leading to spurious "struct update_request not found" messages.
2010-05-02 11:21:07 +02:00
Julien BLACHE
18abda3a97 Use evhttp_connection's closecb instead of our fail_cb extension
The closecb callback of evhttp_connection does what we need, so no need
to use that extension anymore.
2010-02-14 09:34:29 +01:00
Julien BLACHE
58faeaceca Integer types cleanup
Try to be a bit more strict about integer types, use off_t or int64_t for
file size and file offsets.

Replace safe_ato*() by safe_atoi32() and safe_atoi64(), fix integer types
at call sites to match.
2010-02-02 21:09:56 +01:00
Julien BLACHE
a52ff42697 Introduce stub DACP protocol implementation 2010-01-30 17:30:22 +01:00