chme
3896f61d06
[dacp] Keep the now playing item in the queue when calling ( #353 )
...
playqueueedit_clear
2017-02-11 09:28:35 +01:00
ejurgensen
1258481202
[listener] Rename LISTENER_PLAYLIST to LISTENER_QUEUE
2017-01-27 22:25:32 +01:00
chme
56ce3f9cba
[library/filescanner/spotify] Add library source abstraction and new
...
"library" thread
- Implement filescanner as a library_source
- Add library source implementation for spotify
- Move process_media_info to library with small adjustments:
- Remove dependency to F_SCAN_TYPE defines
- Pass data_kind as parameter
- Pass media_kind and compilation as parameter if a source forces a
specific value for these
- Move declaration of scan_ffmpeg to library; add
library_add_playlist_info to library
2017-01-13 18:56:37 +01:00
Scott Shambarger
ce4ef0aa23
[config] Many updates to configuration and feature checks
...
- Added custom checks for libraries and pkgconfig modules that test library
presence with additional checks for use of headers and functions with
given options. Also support correct additional feature library checks
using provided flags.
- Added custom enable/disable feature macros to simplify their use.
- Use custom CFLAGS and LIBS variables for Makefiles to simplify maintenance.
- Update many feature checks from platform to function.
- Streamline many function checks.
- Correctly check gnutls, gcrypt and gpg-error libraries.
- Fix chromecast and spotify config and compile on FreeBSD
- Added inotify, signalfd and kqueue, and byte swap checks.
- Many clarifications of error messages.
- Correct json-c checks to properly use supplied CFLAGS.
- Correct many quoting inconsistencies
- Use __DATE__ in place of BUILDDATE
- Use full path for gperf and antlr3
- Remove unnecessary CFLAGS
- Added tests for pthread_setname_np parameters
- Added tests for clock_gettime and timer_settime
- Added tests for time.h
- Test if pthread, dl and rt libs are required/available.
- Updated checks for libunistring
2017-01-06 00:44:18 -08:00
chme
1221244eed
[mpd] Implement consume command and return consume mode in
...
status command
2016-12-09 14:48:24 +01:00
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
chme
a95da7966b
Fixes issues found by scan-build in mpd.c and queue.c
2016-11-20 06:27:45 +01:00
ejurgensen
bdd6bab982
[-] Lots of housekeeping thanks to scan-build and input from @acmay
2016-11-19 23:08:50 +01:00
chme
60f9c779b6
[mpd] Add new command 'outputvolume' to set volume for a specific output
2016-10-25 22:40:48 +02: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
chme
39314c1560
[mpd] Do not treat playback_start return value > 0 as an error
2016-10-23 08:25:19 +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
1e02dc51fd
[mpd] Modify output enum logging to show shortid as well
2016-07-31 23:28:03 +02:00
chme
595f7c6091
[mpd] Fix copy/paste error in log message
2016-07-30 08:33:23 +02:00
chme
e6b53cb88e
[mpd] Fix mpd command 'playid' if player is already playing
...
While playing issueing command 'playid' starts playback of the song with
the given item-id (if this song is already playing, it starts from the
beginning).
2016-07-30 08:33:22 +02:00
chme
9af09c204d
[mpd] Fix mpd command 'play' if player is already playing
...
While playing issueing command 'play' with a songposition -1 does noting
in mpd, with songposition > 0 it starts playback of the song at this
position (if this song is already playing, it starts from the
beginning).
2016-07-30 08:31:54 +02:00
ejurgensen
ed03c90916
[mpd] Fix typos
2016-07-29 19:26:46 +02:00
chme
32ac6c2ea9
[commands] Rename commands_cmdloop_break to commands_base_destroy and
...
free commands_base after breaking the libevent loop
2016-06-11 10:56:27 +02:00
chme
5258ee712c
[commands] Added functionality to break the event loop of a command base
2016-06-11 09:52:31 +02:00
chme
5dc1cba5c8
On deinit free event base before freeing command base and pipes
2016-05-21 06:48:02 +02:00
chme
4aacf487e8
[mpd] Use generic inter thread commands util
2016-05-15 08:42:15 +02:00
ejurgensen
9a56044c77
[misc] Explicitly check for pthread_setname_np/pthread_set_name_np
...
Seems there is no pthread_setname_np in OpenWrt
2016-05-05 19:39:15 +02:00
chme
7713096d84
[mpd] Return playlists if 'lsinfo' is called without any parameters
2016-04-05 21:04:44 +02:00
chme
07947a526d
[mpd] Do not start playback automatically after adding songs to the
...
queue
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
ejurgensen
abce1d0eeb
Merge pull request #237 from chme/threadnames
...
Set thread names
2016-03-12 17:18:34 +01:00
chme
98d6db002f
Set thread names to make it easier to identify threads during debugging
2016-03-12 14:01:08 +01:00
chme
39c60cb211
[mpd] Fix indentation
2016-03-12 08:27:59 +01:00
chme
cd5aee1595
[mpd] Allways return an error message if mpd command exits with error,
...
otherwise the command will lead to a segfault (e. g. calling lsinfo with
a non existent directory path segfaults)
2016-03-12 08:27:59 +01:00
ejurgensen
220494e8b1
Merge pull request #232 from chme/mpdmove
...
[mpd] Implement mpd command 'move'
2016-02-28 20:28:24 +01:00
chme
494a936caa
[mpd] Implement mpd command 'move'
2016-02-21 19:01:52 +01:00
chme
c1dcc0a937
[db] Make loading of playlistitem count optional
2016-02-21 18:05:11 +01:00
chme
4878dce0b0
[mpd] Implement command 'plchangesposid'
2016-02-06 08:39:01 +01:00
chme
171e30aead
[mpd] use qualifier in select queries, return error message if an error
...
occurs (otherwise this results in a segfault)
2016-01-24 18:51:22 +01:00
chme
2611d06ab7
[mpd] add support for commands 'listall' and 'listallinfo'
2016-01-24 18:51:22 +01:00
chme
7703a997c4
[db/filescanner/spotify] Replace filelist-view with separate
...
directories-table
to increase the performance of the mpd command 'lsinfo'
2016-01-24 18:51:22 +01:00
chme
1d69a3de90
[mpd] Add fallback to IPv4 if IPv6 failed
2016-01-24 18:51:22 +01:00
chme
9a1c8409cf
[mpd] optimize query selecting files for virtual_path to use the index
2016-01-24 18:51:21 +01:00
chme
32e1923b39
[mpd] make global event_base static
2015-12-19 09:09:50 +01:00
chme
3b7e1b2737
[mpd] Add missing close for command pipe on deinit
2015-12-19 08:46:38 +01:00
chme
40da57346f
[mpd] fix duplicate return of 'nextsong', 'nextsongid' and return
...
item-id as 'nextsongid'
2015-12-12 09:26:55 +01:00
chme
6d1d2a485c
[mpd] fix seek command
...
Compare the position of the song to be seeked with the position of the
current playing one
2015-12-12 09:26:44 +01:00
ejurgensen
100cecce3f
[mpd] Add missing db_query_end (was causing database locks)
2015-12-06 20:22:12 +01:00
chme
b2d2e9286f
[mpd] implement range support for 'delete' command
2015-11-22 12:06:01 +01:00
chme
10fceb6d3f
[mpd] Fix segfault executing "decoders" command
2015-11-21 14:23:06 +01:00
chme
461a956288
[mpd] Return the correct values for number of songs, artists, albums and
...
song length sum in the "stats" command (wrong values are still reported
for uptime, db_update and playtime)
2015-11-06 19:11:00 +01:00
chme
350944cddd
[mpd] fix seekid command
...
Seeking with the seekid command for the currently playing item got
broken after introducing the item-id (comparison of item-id passed from
client to db-id)
2015-11-01 12:06:18 +01:00
chme
abc689a7e1
[mpd] fix sort in queue after adding songs with findadd and searchadd
...
commands
Always add songs sorted by artist, album, disc, track. Adding by title
is almost never the expected order of songs.
2015-11-01 11:46:54 +01:00
chme
d0232a2315
[mpd] Return playlists if lsinfo is called with an empty path (same
...
handling as if the path is the root directory "/")
2015-10-31 12:53:52 +01:00
chme
ba63157429
[mpd] Add 'close' command (ignore the command and does not send a
...
response)
2015-10-31 07:56:52 +01:00
chme
f9c6aa6c48
[mpd] Implement command moveid (movings items in the queue by item-id)
2015-10-31 07:56:51 +01:00
ejurgensen
43893dff48
Merge pull request #189 from chme/mpd
...
Fix item-id in mpd commands "playlistid", "playlistinfo", "plchanges"
2015-10-24 09:05:58 +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
48691748cd
[mpd] fix log message if binding of artwork http server failed
2015-10-18 14:25: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
a06424a701
[mpd] Expose queue-item-id instead of dbmfi-id in mpd commands
...
[player] Reshuffle on end of playlist and repeat mode is "repeat all"
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
chme
1ed240d92c
Fix memory leak due to missing free for evconnlistener
2015-09-29 22:42:09 +02:00
chme
c6851eac9b
[mpd] use the same image size as in raop_metadata_prepare (max 600x600)
...
to increase artwork cache hits
2015-07-18 07:34:48 +02:00
chme
1ab318d725
[mpd] support serving artwork over http
2015-07-18 07:17:21 +02:00
chme
ceca9135c5
[mpd] add special handling to command "lsinfo" if the root directory was
...
passed as argument.
Clients like ympd and ncmpcpp are relying on this (deprecated) behavior
2015-06-14 07:11:17 +02:00
chme
b9b3671d58
[mpd] add support for command "decoders"
2015-06-14 07:11:17 +02:00
chme
426e827712
[mpd] Return whole queue for command "playlistinfo" if given argument is
...
-1 (not a valid position in the queue)
2015-06-13 14:38:56 +02:00
chme
7f09438621
[mpd] support "date" argument in find and search commands
2015-05-30 05:56:53 +02:00
chme
2a04740ca2
[mpd] support "file" argument in list command
2015-05-30 05:56:52 +02:00
chme
4299de5ac7
[mpd] implement plchanges to report all songs in the queue as changed
...
(ignores the playlist version parameter).
This is necessary in order to get mpd clients (e. g. sonata) relying on
this command to display the queue.
2015-05-30 05:33:32 +02:00
ejurgensen
a1e417c571
Rename count_info to fix issue #157
2015-05-26 21:24:10 +02:00
ejurgensen
8dd1e0fde2
Fix problem introduced with commit 475d5db
where genres and composers don't get sorted
2015-05-26 21:10:28 +02:00
ejurgensen
79cdfebf34
Merge pull request #150 from chme/mpdidle
...
Add support for mpd idle command
2015-05-21 22:31:03 +02:00
chme
0b73233197
[mpd] remove libevent1 support
2015-05-21 07:15:05 +02:00
chme
41a08d1931
[mpd] rework listener events to use a bit map
2015-05-18 20:12:18 +02:00
chme
3886ec6638
Add version number for playlist (queue)
...
This is necessary to return a valid playlist id for mpd status command.
2015-05-09 07:46:33 +02:00
chme
aa4a12cabe
add events for playlist (queue), volume, speaker, options
...
(random/shuffle) changes
2015-05-09 07:46:33 +02:00
chme
7097dd15eb
allow removing of listeners
2015-05-09 07:46:33 +02:00
chme
1714f3dee4
[mpd] move include of libevent from mpd.h to mpd.c
2015-05-09 07:46:33 +02:00
chme
e156181121
[mpd] remove idle client if an eof or error occurred on the event buffer
...
(fixes segfault after closing the connection of an mpd client)
2015-05-09 07:46:33 +02:00
chme
600e48842f
[mpd] idle command
2015-05-09 07:46:33 +02:00
chme
864315eaef
[mpd] fix wrong log message
2015-05-09 07:35:15 +02:00
chme
68c392eb9e
[mpd] ignore requests for client to client commands "subscribe",
...
"unsubscribe", "readmessages", "sendmessages"
2015-05-09 07:35:15 +02:00
chme
decc482e2c
[mpd] only return "id" attribute if song information is requested for
...
the current playlist
mpd does not expose a persistent song id, instead the id returned in
playlistinfo is a unique id for the song in the queue. The same song has
different ids if it occurs more than once in the queue.
2015-05-09 07:35:15 +02:00
chme
5d22d74dba
[mpd] ignore requests for "sticker"
2015-05-09 07:35:15 +02:00
chme
91338c8548
[mpd] ignore requests for "channels"
2015-05-09 07:35:15 +02:00
chme
fefd91fabc
[mpd] support "track" parameter in commands "list", "find", "search"
2015-05-09 07:35:15 +02:00
chme
ed8b69c118
[mpd] return proper error type if playlist does not exist
2015-05-09 07:35:15 +02:00
chme
1300b2f018
[mpd] support "disc" parameter in commands "list", "find", "search"
2015-05-09 07:35:15 +02:00
chme
a03a9d1e7c
[mpd] support "genre" in commands "find" and "search"
2015-05-09 07:35:15 +02:00
chme
0921675efa
[mpd] implement command "searchadd"
2015-05-09 07:35:15 +02:00
chme
76011c927c
[mpd] implement command "findadd"
2015-05-09 07:35:15 +02:00
chme
b728db8470
[mpd] implement command "tagtypes" to return the list of supported tags
2015-05-09 07:35:14 +02:00
chme
670187387f
[mpd] ignore requests for "urlhandlers"
2015-05-09 07:35:14 +02:00
chme
eddcd8676d
[mpd] ignore requests for "notcommands"
2015-05-09 07:35:14 +02:00
chme
696cd0b6b9
[mpd] fix command listplaylists after changing the enum for pl_type
2015-05-01 12:22:35 +02:00
chme
3a7cf212fb
[mpd] fix command "list" for type "artist"
2015-04-25 05:48:28 +02:00
chme
12520f2f1f
[mpd] cleanup: remove duplicate logging of error messages
2015-04-08 19:34:59 +02:00
chme
a268f836e7
[mpd] fix command list for albumartist
2015-04-08 19:34:59 +02:00
chme
b7d5b1650e
[mpd] add support for count command
2015-04-08 19:34:59 +02:00
chme
5b0cb6588b
[mpd] support for ipv6
2015-03-14 09:51:39 +01:00
chme
f41e7014e4
[mpd] add support for commands 'listplaylists', 'listplaylist',
...
'listplaylistinfo', 'ping'; add support for additional tags
2015-03-10 22:15:33 +01:00
chme
4a1bff500a
[mpd] fixes for commands noidle, list (handle special case with second
...
argument 'album'), addid (sql error if virtual path contains
character ') and fix error messages in various commands
2015-03-10 22:12:33 +01:00
chme
3fb6864216
[mpd] fix compile error on FreeBSD (thanks to Raivo Hool)
2015-03-08 09:39:33 +01:00
chme
2c0ce9cd56
[mpd] add support for speaker (de)activation through 'outputs',
...
'disableoutput', 'enableoutput', 'toggleoutput' commands
2015-03-07 18:55:42 +01:00
chme
3eab952867
fixup: rename db_mpd_build_query to db_mpd_start_query, removed unused
...
function from db.h
2015-02-15 13:59:35 +01:00
chme
7024f2f3e7
(basic) support for mpd commands 'find' and 'list'
2015-02-15 13:55:24 +01:00
chme
911b982815
support for mpd command 'search'
2015-02-15 09:51:38 +01:00
chme
63a480d5fc
refactor playback_start, added comments to clarify the use of
...
item_range, renamed some variables (avoid using "song")
2015-02-14 22:39:51 +01:00
chme
df5b0f779a
Use view for filelist instead of separate table
2015-02-14 22:38:14 +01:00
chme
aa0abc1664
Add mpd command "playlistid"; add dummy implementation for mpd command
...
"idle"
2015-02-14 08:50:18 +01:00
chme
0c936c9bea
Do not trigger a new rescan if one is already running; fix log domains
...
in filescanner; default to "file:" for virtual paths (fixes segfaults on
pipes)
2015-02-14 08:50:18 +01:00
chme
830054bd71
Initial support for mpd protocol
2015-02-14 08:50:18 +01:00