chme
e7d6fbb9fc
[listener/etc.] Rename LISTENER_STICKER to LISTENER_RATING
...
Unit there is a real sticker implementation, make it clear, that the
event is only triggered for rating changes.
2017-12-15 19:08:32 +01:00
chme
9f1568349b
[mpd] minor cleanup
2017-12-15 19:08:32 +01:00
chme
9165cfc5da
[mpd] Return virtual path to clients in 'sticker find'
2017-12-15 19:08:32 +01:00
chme
dec625ec30
[mpd] Implement 'sticker find' with operator/value parameters
2017-12-15 19:08:32 +01:00
chme
7b04787fc1
[mpd] Check upper bound for sticker 'rating'
2017-12-15 19:08:32 +01:00
chme
7a916c84a2
[mpd] Refactor sticker commands
2017-12-15 19:08:32 +01:00
chme
ef52f4ddc0
Rework user rating updates
2017-12-15 19:08:32 +01:00
Wolfgang Scherer
bbc5d3787e
[mpd] rating sticker translator
2017-12-15 19:08:32 +01:00
chme
2ee02d407b
[mpd] Add support for version and ranges to 'plchanges' and
...
'plchangesposid'
2017-12-09 11:01:41 +01:00
chme
f696229fff
[player/dacp/mpd] Pass additional information to speaker enum callback
2017-12-03 10:46:03 +01:00
Wolfgang Scherer
b363c0dac2
[mpd] Consistent playlist name setup ( #450 )
2017-12-02 16:45:11 +01:00
Wolfgang Scherer
dcc6fcf206
[mpd] Close connection for close command ( #444 )
2017-11-21 19:29:17 +01:00
chme
4800f9943b
[db] Rename 'ADMIN_*' defines to 'DB_ADMIN_*'
2017-11-19 22:08:23 +01:00
chme
96bcaa9102
[mpd] Fix noidle command returning an error; fix format error in stats
...
command
2017-11-19 22:08:23 +01:00
chme
65444bba47
[mpd] Fix missing free for query_params.filter (mostly in case an error
...
occured)
2017-11-19 22:08:23 +01:00
chme
360439f448
[mpd] Cosmetic changes: fix indentation, use bool instead of int
2017-11-19 22:08:23 +01:00
chme
a0a6b7d473
[mpd] Send correct value for uptime in 'stats' command
2017-11-19 22:08:23 +01:00
chme
38ab4b9676
[db] Functions to read/store int in the admin table and introduce
...
constants for admin table keys
2017-11-19 22:08:23 +01:00
Wolfgang Scherer
fa76b6380c
[mpd] correct handling of noidle
command
2017-11-18 07:15:45 +01:00
chme
8d130cdc7c
[listener] Support passing multiple events in a single notify call
2017-11-18 07:15:45 +01:00
chme
1e24b3656a
[mpd] Fix idle command (idle events got lost if they happened while the
...
client was not in idle mode)
2017-11-18 07:15:45 +01:00
chme
1cdb9f450d
[library/mpd] Store db update time in admin table and trigger DATABASE
...
event on init/rescan only if an update/insert occurred
2017-11-17 19:40:04 +01:00
Wolfgang Scherer
37aaf73f6a
[library] Deferrable library update time with persistence (TBD)
2017-11-17 18:12:03 +01:00
Wolfgang Scherer
9f11a69c79
[mpd] enable database and update events for idle clients
2017-11-17 18:12:03 +01:00
ejurgensen
a6fab4ac0d
[httpd/mpd] Adjustments to commit #69ff42f
2017-11-15 23:13:20 +01:00
Wolfgang Scherer
69ff42fc6a
[mpd] apply trusted_networks to MPD
2017-11-15 22:29:22 +01:00
ejurgensen
75b14b85e9
Merge pull request #435 from wolfmanx/mpd-argument-unquoting
...
[mpd] Quoted argument unescaping fixed
2017-11-11 10:04:57 +01:00
Wolfgang Scherer
c48b819170
[mpd] password command
2017-11-10 09:55:44 +01:00
Wolfgang Scherer
5a960a3450
[mpd] Quoted argument unescaping fixed
2017-11-08 23:03:32 +01:00
ejurgensen
04dc5956ed
[mpd] Fix crash-on-exit because evconnlistener_free() doesn't ignore NULL pointers (issue #430 )
2017-10-30 23:07:10 +01:00
ejurgensen
a94fda38cc
[mpd] Some minor fixup
2017-10-20 19:49:17 +02:00
ejurgensen
88a565ea2c
[db] Replace sqlite3_xxx() calls outside db.c/cache.c so they are abstracted
2017-10-17 23:11:31 +02:00
ejurgensen
546362980b
Merge pull request #408 from chme/web
...
Add a web api and a webinterface
2017-09-15 23:15:49 +02:00
ejurgensen
c27448418c
[httpd/mpd] Make sure daemons listen on both ipv4 and ipv6 if enabled
...
Before setting ipv6 = enabled on FreeBSD would make the daemon not listen on ipv4
2017-09-07 23:14:18 +02:00
chme
ae446046f5
[mpd] Notify mpd clients on library update events
2017-08-27 11:54:32 +02:00
chme
0b2ee5a9eb
[db/mpd] Simplify getting file count from db
2017-08-27 11:54:32 +02:00
chme
8f49a6fb45
[mpd/conf] Add config option to enable modifying stored playlists
2017-08-12 10:16:07 +02:00
chme
dc3f9443e7
[mpd/conf] Add support for stored playlist commands (add/save/delete)
...
This also introduces a new config option to define a default playlist
folder. The default playlist folder is used by forked-daapd if the
playlist is not a full virtual path (simpifies creation of playlists
with mpd clients).
2017-08-09 21:41:32 +02:00
ejurgensen
299a8f9e4b
[mpd] Add support for "mpc sendmessage verification [pincode]"
2017-06-20 21:01:55 +02:00
ejurgensen
0642171de0
[mpd] Adjust so "sendmessage pairing" now gives an arglist to remote_pairing_kickoff()
2017-06-15 00:00:05 +02:00
ejurgensen
1aa8072e68
[misc] Change name of string_printf to safe_asprintf
2017-05-05 20:00:51 +02:00
chme
2f1124d4dc
[mpd] Use string_printf instead of asprintf
2017-05-01 10:28:41 +02:00
chme
6b9878490e
[mpd] Add missing free in channel_outputvolume
2017-04-30 19:27:44 +02:00
chme
989b44c8dc
[mpd] Implement 'channels' command (returns the special forked-daapd
...
channes like 'pairing')
2017-04-30 19:27:44 +02:00
chme
eeef65f951
[mpd] Add support to change output volume through sendmessage command
...
Output volume can be set by sending a message to the channel
'outputvolume' by passing a message with the output id and the volume
separated by a colon.
2017-04-30 19:27:44 +02:00
chme
d8b5951e40
[mpd] Move function mpd_command_outputvolume and split into two
...
functions
2017-04-30 19:27:44 +02:00
chme
9d72dc9176
[pairing] Only require the pin for kicking off the remote pairing
2017-04-29 23:36:11 +02:00
chme
6f60006edb
[mpd] Support pairing remotes over mpd 'sendmessage' command
...
Adds a basic structure for supporting sendmessage and implements the
first message handler for the channel 'pairing'.
Pairing can be achieved by passing a message to channel 'pairing' in the
format "devicename:pin". With mpc this looks like 'mpc pairing
"devicename:1234"
2017-04-29 23:36:11 +02:00
chme
3f10dac2f7
[dacp] Start playback from selected song in shuffle mode ( #379 )
2017-04-17 10:46:24 +02:00
chme
59ade61d7b
[library] Rename constants
2017-03-19 18:30:46 +01:00
chme
8381b7489e
[mpd] Try to read metadata and add to queue if path is not in the
...
library
2017-03-19 18:30:46 +01:00
chme
1dde41fb87
[mpd] Fix wrong db playime info in 'stats' command ( #360 )
2017-03-04 17:23:52 +01:00
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