Commit Graph

4776 Commits

Author SHA1 Message Date
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
ejurgensen fde0a28142 Support for skip_count and time_skipped file metadata 2018-08-18 22:56:27 +02:00
whatdoineed2do 8b7c19a299 [httpd] allow webdir (htdocs) to be symlink to dir 2018-08-18 11:34:03 +01:00
ejurgensen 5ee0b69d39 [transcode] Set ffmpeg options so that it will attempt to reconnect streams 2018-08-12 19:50:54 +02:00
ejurgensen ab1ded35e4 [config] Make user_agent configurable + don't use ffmpeg default (ref issue #562) 2018-08-12 19:49:23 +02:00
ejurgensen 970769cab6 [mdns] Fix mdns problems with ATV4 and ipv6
Avahi gives us several ipv6 addresses for an ATV4 that aren't actually
connectable. Here we simply try to make a connection to the address,
and if it is not possible within a timeout we ignore the announcement.

We also now don't start a mdns record browser if the address from the
resolver passes the connection test and isn't link-local.
2018-06-25 21:44:07 +02:00
ejurgensen 0d4dd06b51 [filescanner] iTunes XML mapping of Play Count and Play Date
See issue #549
2018-06-25 20:03:38 +02:00
ejurgensen 975d75d607 [daap] Add mapping of dmap.persistentid
Used by rtRemote when starting playback of a searched item
2018-06-17 23:11:05 +02:00
ejurgensen 33ffa780ba [docs] Add rtRemote for Windows to supported clients 2018-06-17 22:57:03 +02:00
ejurgensen a7a8efd34f Bump to version 26.2 2018-06-16 21:56:45 +02:00
ejurgensen d78162c5f6 ChangeLog and README for forked-daapd 26.2 2018-06-16 21:56:10 +02:00
ejurgensen 9d95466e09 [db] Use ANALYZE instead of PRAGMA optimize (reverts commit cd96ec5)
Turns out PRAGMA optimize does not analyze tables on a fresh install,
which means that sqlite_stat1 is not available for the query planner,
which means that wrong indexes are used.

See https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=49928&sid=1e5d1d418315d7565ae027d751dd94a0&start=1350#p1328964
2018-06-16 21:43:58 +02:00
ejurgensen cf6813f2e4 Bump to version 26.1 2018-06-09 00:23:09 +02:00
ejurgensen 1acaa05923 ChangeLog and README for forked-daapd 26.1 2018-06-09 00:22:10 +02:00
ejurgensen 428912d43f
Merge pull request #545 from chme/readme
[README] Add link to JSON API documentation
2018-06-08 20:53:32 +03:00
chme f5878c3207 [README] Add link to JSON API documentation 2018-06-08 15:36:08 +02:00
ejurgensen 3325b2d9ce [transcode] Use proper const for avfilter_get_by_name() result 2018-06-06 00:00:22 +02:00
ejurgensen 565f0b07bd [docs] Update to reflect player web interface and libwebsockets dependency 2018-06-05 23:04:34 +02:00
ejurgensen db6bbd76bd [config] Improve error message if no or old libwebsockets (issue #542) 2018-06-04 23:18:57 +02:00
chme 168fc26c69 [travis] Disable webinterface in travis-ci builds 2018-06-03 23:39:37 +03:00
chme f4422e9cf4 [MAKEFILE/misc] Add option to disable inclusion of default webinterface 2018-06-03 23:39:37 +03:00
chme cbee169729 [htdocs] Add forked-daapd-web (v0.1.1) as default webinterface 2018-06-03 23:39:37 +03:00
chme cc98eef88f [websocket] Properly log libwebsockets log messages 2018-05-31 10:57:28 +03:00
chme 705b7013c3 [player/dacp/mpd/json] Update master volume after setting speaker volume
Changing a speaker volume in a DACP clients results in two dacp requests
(at least in Retune):

setproperty?include-speaker-id=0&dmcp.volume=41
setproperty?speaker-id=198018693182577&dmcp.volume=43

The first request sets the absolute volume for the speaker (player.c -
volume_setabs_speaker). The second request is only triggered if the
volume from the first one is not the new master volume. This second
requests adjusts the relativ volume based on the loudest device (new
master volume) (player.c - volume_setrel_speaker). After the second
request the master volume and the relative volumes are correct (range
from 0 - 100 percent and master volume is 100 percent).

MPD and JSON API clients only set the absolute volume which results in
inconsistent master_volume and relative volumes. The added option to
update the master volume in volume_setabs_speaker/volume_setrel_speaker
makes sure the master volume and the relative volumes are correctly set.
2018-05-31 10:49:53 +03:00
chme 3d779e1273 [player] Additional debug logs for speaker volume 2018-05-31 10:49:53 +03:00
ejurgensen b6e1269cf2 [raop/dacp/player] Support for Airplay speakers to register volume updates
Implements Active-Remote, which is sent to the speaker, so it can use this
to tell us who it is when it makes dacp request with a device-volume update.
2018-05-27 16:12:20 +02:00
ejurgensen 646bf37f17 [dacp] Add support for play + stop commands
These commands are not used by Remote, but some Airplay speakers are
able to make them (e.g. my Sony STR-DN1040).

Also prepare being able to set the device volume property.
2018-05-14 23:09:04 +02:00
ejurgensen 05c935a7b7 [main] mdns announce dacp so that speakers can use it for playback control
See issue #531
2018-05-14 22:00:35 +02:00
ejurgensen f5d7477ddb
Merge pull request #530 from chme/spotify_rework
Allow playing arbitrary spotify tracks
2018-05-11 19:12:04 +02:00
ejurgensen 83b6bcebcd [raop] Use OPTIONS for keep_alive instead of GET_PARAMETER
Old Airport Express hangs up if we use GET_PARAMETER (despite announcing support
for it...), and since iTunes seems to use OPTIONS we also do that. We weren't
really using the return value of GET_PARAMETER anyway.

See also comment added to commit d9a67b6dce
2018-05-10 21:46:24 +02:00
chme c77acbddf2 [artwork] Ignore artwork requests for items with a non persistent id 2018-05-10 07:23:33 +02:00
chme 843fbeb066 [jsonapi] Add non-library uris to the queue 2018-05-10 07:02:15 +02:00
chme 7bab990eb3 [spotify/jsonapi] Expose access token and user country in JSON API
spoitfy endpoint
2018-05-10 07:02:15 +02:00
chme d562cb9b6b [spotify] Retry playback setup if song is still loading 2018-05-10 07:02:15 +02:00
chme f108b6b498 [spotify] Support adding arbitrary spotify-uris to the queue
Allows adding non-library spotify tracks to be added to the queue. The
path given to queue_add should either be a spotify track, album or
playlist uri.
2018-05-10 07:02:15 +02:00
chme e6a5168c0d [spotify] (Re-) add track-relinking for playlists and albums
Appending the market parameter got lost in the refactoring and therefor
not track-relinking happend
2018-05-09 22:47:37 +02:00
chme 116f7a0253 [spotify] Log progress of scanning saved albums/playlists 2018-05-09 22:47:37 +02:00
chme cfc5fef88d [spotify] Refactor spotify_webapi 2018-05-09 22:47:37 +02:00
chme eaab6f887b [spotify] Decoupling of the spotify webapi from libspotify integration
Separation of scanning Spotify songs into the library (spotify_webapi.c)
and playing Spotify songs through libspotify (spotify.c).
2018-05-09 22:47:37 +02:00
chme 9d0c514ba3 [README] Update JSON API endpoint reference 2018-05-09 22:29:52 +02:00
chme 85257788ba [jsonapi] Add cache control header to count endpoint and fix
not-modified-since check to check against the last db update instead of
last start time
2018-05-09 22:29:52 +02:00
chme 41e99ca3cd [db/mpd/jsonapi] Include artist and album count in filecount query; add
count endpoint and additional metadata to JSON API; remove unused
artist-/album-count queries
2018-05-09 22:29:52 +02:00
chme ae3e0b6bf5 [httpd] Lower log level if file is not found 2018-04-26 22:20:27 +02:00
chme f6074b38e6 Fix typo in mail address 2018-04-26 22:20:27 +02:00
chme 1eab4c5330 [Makefile] Add README_JSON_API.md to dist doc 2018-04-26 22:20:27 +02:00