Commit Graph

140 Commits

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