Commit Graph

4370 Commits

Author SHA1 Message Date
chme
1db083fa69 [README] Document "position" parameter for queue/items/add in JSON API 2018-10-25 19:36:43 +02:00
chme
8d8663e93d [db/queue] Support adding non-library items at a given position to the
queue
2018-10-25 19:36:43 +02:00
chme
d2390933e9 [jsonapi] Support "position" parameter in queue/items/add endpoint 2018-10-25 19:36:43 +02:00
ejurgensen
df7456dc39 [mdns] Make connection test optional and only do it for Airplay (fixes #602)
Some remotes don't respond as expected to the test. Retune will give connection
refused, because the test is made too quickly, before the service is running.

Even if we delay the test it won't work because Retune crashes.

Since the false mdns advertisements are only seen on Airplay, we only do the
test there.
2018-10-14 22:13:58 +02:00
Don Cross
07e46d75c8 [alsa] Made resync period configurable 1..20 seconds, with default=10. (#604)
The unconfigurable resync period of 10 seconds was not frequent
enough to keep my own ALSA device in sync with the AirPlay stream.
Now the period is configurable.  The default is still at 10
seconds, to prevent any change in behavior unless opted in by
the user.

Currently the adjustment causes a tiny "click" distortion in the
ALSA output, so it is better to make the check as infrequent as
possible, while still being frequent enough to stay in sync
over lengthy sessions of playback.

Added source_sample_rate, target_sample_rate to alsa_session.
This is a first step toward rendering ALSA at a different
sampling rate than the AirPlay stream, so that (a) we will
be able to dynamically adjust the ALSA sampling rate for an
improved sync algorithm, and (b) later, a more generalized
resampling algorithm can accommodate very different hardware
sampling rates like 22050 Hz or 48000 Hz.

Reworked alsa_session_free() so that it can be used to
tear down a partially initialized alsa_session if an
error occurs in the middle of alsa_session_make().
This simplifies the error handling logic in alsa_session_make().
This refactoring will be helpful later when resampling is added,
because more data structures will be dynamically allocated
during initialization.

Signed-off-by: Don Cross <cosinekitty@gmail.com>
2018-10-14 20:40:36 +02:00
ejurgensen
830d8594aa [raop] Use et=4 to determine support for auth_setup (issue #557) 2018-10-09 21:35:15 +02:00
ejurgensen
41126d7be4 [artworkapi/jsonapi] Retrieve artwork for track/album/artist 2018-10-07 21:54:38 +02:00
ejurgensen
c1619f7be0 [httpd] Increase max depth of path_paths (fixes #599) 2018-10-07 21:42:37 +02:00
ejurgensen
75dd9a5764 [daap] Fixup 2018-10-04 22:39:46 +02:00
ejurgensen
6109a5b6dd [daap] Don't send two errors on auth problems + use 401 instead of 403 (issue #594) 2018-10-04 22:33:30 +02:00
chme
d5ab294172 Merge forked-daapd-web into forked-daapd 2018-10-01 12:54:15 -07:00
ejurgensen
e9c7441241 Bump to version 26.4 2018-09-30 23:13:55 +02:00
ejurgensen
004b2fcc38 ChangeLog and README for forked-daapd 26.4 2018-09-30 23:13:18 +02:00
ejurgensen
75743bea80 [daap] Fix missing prompt for library password for non-remote DAAP clients (fixes #594) 2018-09-30 22:39:53 +02:00
ejurgensen
b54c9ff1c6 [db] Fix count error in db_build_query_browse() if no items match query 2018-09-23 01:37:40 +02:00
ejurgensen
aa3aa383ef [raop] If ipv6 fails, fall back to ipv4 and disable ipv6 permanently for the device 2018-09-19 23:03:33 +02:00
ejurgensen
f686756dd8 [db] Upgrade schema to 19.10 to remove invalid time_skipped values from commit fde0a281 2018-09-19 19:40:45 +02:00
ejurgensen
a003c419c3 [db] Add missing casts of time_skipped (fixes #593)
The print mask for some reason uses int64, so time_skipped was too short
2018-09-19 08:12:40 +02:00
ejurgensen
4a16384d3a [filescanner] Convert plist timestamps to Unix when importing iTunes XML 2018-09-18 20:29:28 +02:00
ejurgensen
97233d4753 [raop] Put ipv6 IP literals in brackets as per rfc3986 2018-09-16 22:19:27 +02:00
ejurgensen
2a9d3f7474
Merge pull request #591 from chme/queue_add_pos
[db] Add support to add items to the queue at a specified position
2018-09-16 13:13:13 -07:00
ejurgensen
3395282591
Merge pull request #590 from chme/automatic-rating
Add automatic calculation of ratings based on played/skipped
2018-09-16 13:07:06 -07:00
chme
7252b3e509 [db] Add support to add items to the queue at specified position 2018-09-16 09:36:43 +02:00
chme
f84e67ed5e [db/conf] Add automatic calculation of ratings based on played/skipped
If activated in the configuration file, rating is updated after playing
or skipping a song. The calculation is based on how it is done in the
mpdstats plugin for beets
(https://beets.readthedocs.io/en/latest/plugins/mpdstats.html).
2018-09-16 08:46:16 +02:00
ejurgensen
197fc6402e
Merge pull request #588 from chme/dacp_queue
[dacp] Only return requested number of queue item (fixes #556)
2018-09-13 12:28:09 -07:00
chme
3ca5402638 [dacp] Only return requested number of queue item (fixes #556) 2018-09-13 21:11:41 +02:00
ejurgensen
2c1f2f1b15 [mdns] connection test: don't wait if connect() succeeds immediately 2018-09-10 20:18:06 +02:00
ejurgensen
475c598d0e [mdns] Check return values of avahi_address_snprint() 2018-09-09 22:17:31 +02:00
ejurgensen
d97358f612 Bump to version 26.3 2018-09-08 16:50:54 +02:00
ejurgensen
d1796c71a5 ChangeLog and README for forked-daapd 26.3 2018-09-08 16:50:33 +02:00
ejurgensen
1b754f141c
Merge pull request #586 from chme/lastfm
Fix error logs for non persistent queue items
2018-09-08 16:02:16 +02:00
chme
461a1d55bf [player] Only add persistent items to history
The current logic in httpd_dacp.c cannot handle non persistent items
correctly. The items are always shown with the dummy_mfi with "unkown
artist" etc.
2018-09-08 09:14:24 +02:00
chme
9a47335a05 [player] Only increment playcount and scrobble persistent items
Ommits useless update query for playcount for items that are not in the
library. Also avoids trying to scrobble these items (fixes error log
message "lastfm: Scrobble failed, track id 9999999 is unknown")
2018-09-08 08:32:49 +02:00
ejurgensen
ce1bf8f40d [web] Lower log level of libwebsockets 2018-09-08 00:24:49 +02:00
ejurgensen
b3fc87170e [mdns] Fix missing check of the value-result from getsockopt(SO_ERROR)
The connection test would not catch "No route to host", as this is returned
through the value-result buffer.

This fix might partially solve issue #498.
2018-09-07 23:19:46 +02:00
ejurgensen
93730281f4 [dacp] Map discrete-pause to playpause command handler 2018-09-07 21:40:23 +02:00
ejurgensen
3ba92aa860 [httpd] Better logging of unauthorized requests 2018-09-07 17:01:32 +02:00
ejurgensen
f5721b7a18
Merge pull request #582 from cosinekitty/master
[docs] Added documentation about harmless warnings to INSTALL file
2018-09-04 22:50:41 +02:00
Don Cross
0e0a891138 Added documentation about harmless warnings to INSTALL file.
It is not simple to fix build warnings from antlr3.
For now, document them so users know they are safe to ignore.
2018-09-04 16:35:48 -04:00
ejurgensen
16e375e637 [db/misc] Cast ARRAY_SIZE to unsigned (avoids compiler warnings) 2018-09-04 20:07:05 +02:00
ejurgensen
350361e8bb [db] Be forwards compatible with tables that have additional columns 2018-09-02 23:38:46 +02:00
ejurgensen
a29772e8be [raop] Fix AirPlay 2 issue #557, fix for stream metadata, better logging
AirPlay 2 devices like Sonos One and AirPort Express with firmware 7.8
require auth-setup before ANNOUNCE, otherwise they will return 403.

Also fixed a problem where metadata did not get sent when toggling
a speaker on/off if we were playing an endless stream.
2018-09-02 20:22:38 +02:00
whatdoineed2do
e3ce003190 genre search functionality (#559)
* [jsonapi] Add support for listing albums for genres
2018-09-02 09:05:18 +02:00
ejurgensen
48f11a8250
Merge pull request #578 from chme/avahilog
[mdns] Fix compile warning "directive output may be truncated" (provided
2018-09-02 08:24:48 +02:00
chme
ef3ab53562 [mdns] Fix compile warning "directive output may be truncated" (provided
string length might not be big enough for ipv6 addresses)
2018-09-02 07:46:50 +02:00
ejurgensen
697338d118
Merge pull request #567 from whatdoineed2do/bug/httpd-dir-check
[bugfix] httpd dir check does not like symlinks to directories
2018-08-26 00:24:45 +02:00
ejurgensen
7632113767
Merge pull request #572 from rokm/missing-ua-fix
daap_request: cache the query result only if user agent was provided
2018-08-24 17:23:41 +02:00
Rok Mandeljc
083f58abf7 daap_request: cache the query result only if user agent was provided
Avoid calling cache_daap_add() when hreq->user_agent is NULL
(user agent is not provided by the client), because it will
trigger a segfault when strdup() is called with that NULL pointer.

Fixes #571.
2018-08-24 17:05:11 +02:00
ejurgensen
f8205c0780 [config] Check for libcurl if configured with --enable-spotify
Also remove useless per-feature checks for libjson, since it has become
a required dependency.
2018-08-23 22:26:21 +02:00
ejurgensen
231b5615f1 [main] Just show version info when called with -v argument 2018-08-18 23:59:57 +02:00