Commit Graph

152 Commits

Author SHA1 Message Date
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