chme
9680fa093a
[db] Fix mpd command 'delete' removing to many items
...
Previously db_queue_delete_bypos iterated over the items and called
delete for each item. The delete also adjusted the pos/shuffle_pos
values for the remaining items.
A delete of pos = 0 resulted therefor in:
- fetch item with pos = 0
- delete item at pos
- update remaining items to pos = pos - 1
- fetch item with pos = 0 (returns the new item at pos 0)
- delete item at pos
- ...
2017-02-04 08:37:58 +01:00
chme
d293356d8b
[db] Extract function to fix queue position values
2017-02-04 08:37:58 +01:00
chme
1c8263224e
[db] Fix incorrect query for db_queue_delete_bypos
2017-02-04 08:37:58 +01:00
chme
bd4e379f15
[dacp] Fix requests for cue_play with command = "play"
2017-02-04 08:35:02 +01:00
chme
4e4e91d4a2
[player] Add log messages in case playback_start_item returns -1
2017-02-04 08:35:02 +01:00
ejurgensen
9d8dbaffe1
[db] Fix typo ( closes #347 )
2017-02-01 18:56:34 +01:00
ejurgensen
8513c9416c
[travis-ci] Update configuration file (fix package name)
2017-01-31 22:32:27 +01:00
ejurgensen
31bf0114b6
[travis-ci] Update configuration file
2017-01-31 22:27:01 +01:00
ejurgensen
bbb3322ddc
[spotify] Flush audio buffer on playback stop - and since we are
...
flushing from another thread we use evbuffer_enable_locking() which
in turn adds a requirement for libevent_pthreads to be present
2017-01-30 22:50:02 +01:00
ejurgensen
3ba2fb741b
[docs] Update README with new pipe features
2017-01-29 22:09:28 +01:00
ejurgensen
f7018dc659
[player] Skip/remove unplayable tracks in queue instead of aborting
2017-01-29 22:07:51 +01:00
ejurgensen
0af75217e9
Merge branch 'inputs1' - new input modules
2017-01-29 13:16:58 +01:00
ejurgensen
b44ae55c1d
Some scan-build fixing up
2017-01-28 22:37:56 +01:00
ejurgensen
12567d8e93
[pipe] Make Shairport metadata parser work with incomplete reads from pipe
2017-01-28 22:20:35 +01:00
ejurgensen
41c5ef1474
[compat] Suppress warnings about unused functions
2017-01-28 22:20:35 +01:00
ejurgensen
b6f969d96e
[pipe/mxml] Add compability with older versions of mxml
2017-01-28 22:20:35 +01:00
ejurgensen
97aa544945
[library] Move library update trigger to new library module
2017-01-28 22:20:35 +01:00
ejurgensen
dc84294348
[input/pipe] Parse basic Shairport metadata using mxml
2017-01-28 22:19:51 +01:00
ejurgensen
ea874154b2
[input/file_http] Use swap_pointers to transfer ownership of metadata
2017-01-27 22:36:00 +01:00
ejurgensen
67d0504700
[input] Let input_metadata_free zero metadata like the other free functions
2017-01-27 22:36:00 +01:00
ejurgensen
c975cf4474
[misc] Set output of safe_xxx to 0 also in error cases (for safety)
2017-01-27 22:36:00 +01:00
ejurgensen
ab06a9fd7d
[player] Update info about player.c
2017-01-27 22:36:00 +01:00
ejurgensen
ae1f2d75d3
[pipe] Prepare reading and parsing Shairport metadata pipes
2017-01-27 22:36:00 +01:00
ejurgensen
8b5cac0538
[file/http/input] Implement metadata handling through input interface
2017-01-27 22:36:00 +01:00
ejurgensen
0b9b008a1a
[player] Try to consolidate metadata handling + use input interface
2017-01-27 22:36:00 +01:00
ejurgensen
7b6a7b65b3
[input] Add interface for getting metadata from input modules
2017-01-27 22:36:00 +01:00
ejurgensen
2696b27972
[artwork] Let the artwork handler for streams use queue->artwork_url instead of calling the player, which was messy
2017-01-27 22:36:00 +01:00
ejurgensen
4d4a4ffd70
[db] Remove special icy update function, add db_queue_update_item()
...
- we will use the latter generalised form from now on, even though it is perhaps a tad slower
2017-01-27 22:36:00 +01:00
ejurgensen
e92152cadb
[db] Upgrade db to 19.03: Add artwork_url column to queue table
2017-01-27 22:36:00 +01:00
ejurgensen
40d50d693b
[misc] Add small function to swap pointers
2017-01-27 22:36:00 +01:00
ejurgensen
ee32b9cb70
[pipe] Reset pipes when required + prepare for metadata pipes
2017-01-27 22:36:00 +01:00
ejurgensen
90f37b75ce
[player] Fix it so source_read() returns silence and not an error until source_check stops playback
2017-01-27 22:36:00 +01:00
ejurgensen
9fb62441d2
[pipe] Use worker thread instead of filescanner for watching pipes
2017-01-27 22:36:00 +01:00
ejurgensen
061beaf272
[worker] Make sure worker accepts NULL-arguments
2017-01-27 22:35:16 +01:00
ejurgensen
7f7207bb87
[pipe] Pipe input interface (wip)
2017-01-27 22:35:15 +01:00
ejurgensen
acc67338a1
[input] Add a buffer full callback for the player
2017-01-27 22:35:15 +01:00
ejurgensen
aa8edeead4
[player] Add suspend/resume on underrun + misc fixing up
2017-01-27 22:35:15 +01:00
ejurgensen
18918ce489
[db] Rename db_file_save_seek -> db_file_seek_update
2017-01-27 22:35:15 +01:00
ejurgensen
6af8fa07b4
[spotify] Use timespec_reltoabs instead of internal mk_reltime
2017-01-27 22:35:15 +01:00
ejurgensen
6db4e40119
[misc] Add function to add a relative time to current clock
2017-01-27 22:34:15 +01:00
ejurgensen
9aede45a12
[pipe] Add a pipe input with autostart capabilities
2017-01-27 22:30:47 +01:00
ejurgensen
938e197fa4
[player] Refactor read/write
...
- remove read skip which is obsolete when input has own thread and cannot block
- simplify code
- fix while loop that could loop infinitely
2017-01-27 22:29:08 +01:00
ejurgensen
1258481202
[listener] Rename LISTENER_PLAYLIST to LISTENER_QUEUE
2017-01-27 22:25:32 +01:00
ejurgensen
60daf03f66
[cache/scan] Let notifications from db.c about library updates go through
...
filescanner/listener instead of directly to the cache
2017-01-27 22:25:32 +01:00
ejurgensen
79639c73ed
[input] Add Spotify input module
2017-01-27 22:08:56 +01:00
ejurgensen
c92ebf9dfb
[player] Fix problem where player_playback_cb triggers after playback stop
2017-01-27 22:01:24 +01:00
ejurgensen
3e24f857fa
[input] Add input interface to player - WIP
2017-01-27 22:01:24 +01:00
ejurgensen
c50b038397
[misc] Move STOB and BTOS macros to misc.h
2017-01-27 22:01:24 +01:00
ejurgensen
171a75375b
[outputs] Fix for (unlikely) situation where all outputs have no init()
2017-01-27 22:01:24 +01:00
ejurgensen
41aa530fd3
[http] Add support for http post in the libevent client (required for scrobbling)
2017-01-25 22:52:11 +01:00