Commit Graph

180 Commits

Author SHA1 Message Date
chme
fb55960b0a [db] Remove db_queue_enum struct and use generic query_params 2016-12-04 08:18:33 +01:00
chme
6c6f02fdfa Rename "queue_item.item_id" to "queue_item.id" 2016-12-03 11:14:03 +01:00
chme
cef4fedfb4 Remove unused structs and player arguments 2016-12-03 11:12:19 +01:00
chme
c504abe451 Use queue db table instead of in memory queue struct 2016-12-03 11:11:33 +01:00
ejurgensen
bdd6bab982 [-] Lots of housekeeping thanks to scan-build and input from @acmay 2016-11-19 23:08:50 +01:00
chme
eddab1f1c0 [dacp] Use correct log domain 2016-11-04 19:10:07 +01:00
chme
bdb2c74934 [player/dacp/mpd] Pass absolute volume to speaker enumerate callback and
add absolute volume to mpd 'outputs' command
2016-10-25 22:40:48 +02:00
ejurgensen
c44f4310b7 [httpd] Replace evhttp_send_error with the httpd_send_error wrapper 2016-10-18 22:45:22 +02:00
ejurgensen
40c49f1fde [httpd] Use httpd_send_reply() wrapper in httpd_*, dmap_common and mpd 2016-10-17 22:25:31 +02:00
ejurgensen
249d923af2 [httpd] Allow caller of httpd_send_reply to avoid gzipping 2016-10-17 14:18:13 +02:00
ejurgensen
dbf9a208b8 [dacp] Don't return hard error if queue item goes missing
Remote doesn't seem to like the 500 Internal error we were sending
if queue item went missing, e.g. during pause.
2016-03-23 20:38:19 +01:00
chme
cb919515e4 [dacp] Start playback from selected song in the playqueue if player is
stopped
2016-03-19 09:40:36 +01:00
chme
d000ea571b [dacp] Return the playqueue even if player is stopped 2016-03-19 09:40:36 +01:00
chme
d35894ac15 [mpd] Return correct item-id for command 'addid' and return correct
number of items in the queue if player is stopped for command 'status'
2016-03-19 09:40:36 +01:00
ejurgensen
b454a2fd60 [general] Put back support for platforms without pipe2(), see issue #239 2016-03-17 22:20:16 +01:00
chme
c2ba2f6779 [dacp] Fix playing from history for Remote 2015-10-31 06:18:05 +01:00
ejurgensen
9853b8f9bd Merge pull request #188 from chme/playerfixes
Playerfixes
2015-10-19 22:15:43 +02:00
chme
551f441273 [dacp] Fix playing from playspec request 2015-10-19 21:55:43 +02:00
ejurgensen
55104015e0 Full removal of libevent 1 legacy code. Also drop pipe() in FreeBSD, since pipe2 is available now. 2015-10-19 21:15:29 +02:00
chme
199b765a7d [player] Store item-ids in history to allow start of playback from the
previously played items in dacp
2015-10-04 08:05:37 +02:00
chme
ba3385b0ec [queue] Remove queue_info and queue_item_info structs 2015-10-04 08:05:37 +02:00
chme
100e08da9d Rename make_queue functions 2015-10-04 08:05:36 +02:00
chme
c8a61015fc [dacp] Fix playing of radio streams after queue refactoring 2015-10-04 07:59:58 +02:00
chme
1f53d7ab1a [queue] Refactor queue handling
Decouple the playing/streaming item from the queue. Move all queue
related functions to seperate file queue.h/c.
Introduce internal item "head" to make iterating over the play-queue and
shuffle-queue easier.
2015-10-04 07:59:57 +02:00
chme
1fbedaa54f [player] Refactor queue_get 2015-10-04 07:57:38 +02:00
chme
f0a6a48599 [player] Refactor queue_remove functions 2015-10-04 07:57:38 +02:00
chme
8e1834cdea Rename make_queue function and set as static 2015-10-04 07:57:38 +02:00
chme
1812848ee1 Move client protocol specific make_queue functions out of player.c/h 2015-10-04 07:57:38 +02:00
ejurgensen
68912efa1f Enable resuming playback from saved position for certain media kinds (eg audiobooks) 2015-08-04 22:33:32 +02:00
ejurgensen
7881df67f6 Hack to push live ICY metadata/artwork to remote clients 2015-07-31 14:43:22 +02:00
ejurgensen
1fe6521aff Remove libevent 1 support in httpd_dacp 2015-07-30 22:50:11 +02:00
chme
41a08d1931 [mpd] rework listener events to use a bit map 2015-05-18 20:12:18 +02:00
chme
d2c7c87191 use listener logic to send dacp update requests 2015-05-09 07:46:33 +02:00
ejurgensen
7841e59afc Don't report negative remaining times for streams 2015-04-11 22:38:33 +02:00
ejurgensen
94f94b03fe Swap artwork arguments so destination evbuffer comes first 2015-04-09 21:23:20 +02:00
chme
10f2eb2409 Improve behaviour for playing from history 2015-02-26 17:29:13 +01:00
chme
f4fcbfb526 Fix segfault when starting playback for audiobooks (dacp_reply_playspec) 2015-02-22 06:13:21 +01:00
chme
830054bd71 Initial support for mpd protocol 2015-02-14 08:50:18 +01:00
ejurgensen
dccbe92a75 Only do hex conversion if param is 0x-format. Also accept song-spec from Retune (issue #90). 2015-01-26 22:37:02 +01:00
ejurgensen
a2151a2cd5 Add playqueue-edit mode 2 comment 2015-01-18 22:54:01 +01:00
chme
7578bb1205 Artwork caching (pull request #61), and also:
- introduced new section in config file for sqlite pragma settings,
added config for artwork cache
- added setting of pragma synchronous, cache size and journal mode to
daap cache
2014-11-10 22:53:08 +01:00
ejurgensen
dafa26a48a Protect against uinitialized var if query is empty 2014-09-26 23:13:17 +02:00
chme
49a985391d Ignore queuefilter on playqueue-edit-add if mode = 0 (add to up next) 2014-07-19 08:44:27 +02:00
ejurgensen
0a2d2273bd Remove build warning caused by data type mismatch 2014-06-22 22:29:45 +02:00
ejurgensen
5b4ef31758 Migrate all evhttp to non-deprecated libevent2
- well except a troublemaker in httpd_daap.c (req->flags &= ~EVHTTP_PROXY_REQUEST)
2014-05-29 23:22:00 +02:00
chme
b7cb0da2c2 Modifications to the playqueue-clear command:
- do not stop playback when clearing the UpNext queue
- clear history, if mode=0x68697374 ("hist")
2014-05-24 07:34:59 +02:00
chme
f60be3c8af Do not use queryfilter on "play next" and "add to up next" commands 2014-05-18 09:04:17 +02:00
ejurgensen
305c1a141c Indentation 2014-05-04 22:36:37 +02:00
chme
79646c78e4 fixup indentation 2014-05-03 20:16:51 +02:00
chme
8036a5a6d3 fixes for playqueue-contents 2014-05-03 20:16:51 +02:00
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