Commit Graph

4449 Commits

Author SHA1 Message Date
ejurgensen ea4ea072cd
Merge pull request #499 from chme/jsonapi
New endpoints for the JSON api (library, queue)
2018-03-17 09:38:02 +01:00
chme 4addb47589 [README] Add new endpoints for library and queue to the JSON API docs 2018-03-14 19:22:13 +01:00
chme a78ed20848 [jsonapi] Add new JSON api endpoints
Allows
- browsing artists/albums/playlists
- search
- moving a queue item
2018-03-14 19:22:13 +01:00
chme d1b47465a8 [jsonapi] Disable gzipping response
An attempt to improve the performance of the artists and albums
endpoints.
2018-03-14 19:21:57 +01:00
chme 66bdb7c0a9 [db] Add function to get a human readable string for data and media kind 2018-03-14 19:21:57 +01:00
chme d59e62312a [httpd] Allow cross origin POST, PUT, DELETE, OPTIONS requests
If the web interface is hosted on a different server, this is required
to allow sending e. g. post/put requests to control outputs.
2018-03-14 19:12:20 +01:00
chme a764fb3c52 [httpd] Serve index.html if requested source is a directory
Defaults to an index.html file instead of redirecting to admin.html. It
will not redirect to index.html, but instead serve the file (if exists)
directly. This allows nicer uris in the webinterface.

We will still redirect to admin.html if no index.html is found for
requests to http://ip:port/
2018-03-14 19:12:20 +01:00
ejurgensen e72ea36243 [docs] Update supported iTunes version in README client list 2018-03-11 22:41:16 +01:00
ejurgensen e79beb6877 [httpd_daap] Workaround for Android "Remote for iTunes" requesting playlist 0
See issue #505
2018-03-11 22:40:07 +01:00
ejurgensen 8012be596e
Merge pull request #506 from chme/queue
Add missing transaction end in error case
2018-03-08 22:38:59 +01:00
chme 2b5fa56bf9 [dacp] Add missing call to "db_queue_enum_end" in error case 2018-03-08 21:50:41 +01:00
chme f47a17e186 [db] Remove unused function "db_queue_get_pos_byfileid" 2018-03-08 21:50:41 +01:00
ejurgensen 5e13bac867 [configure] Add option to use old ffmpeg API (issue #502)
Seems ffmpeg 3.4 has a bug in the new API that causes a crash when
avcodec_send_frame() is called. The bug is fixed in 3.4.2.

The new option --disable-modern-av-api allows for building with the
old API, i.e. no avcodec_send_frame(), even if ffmpeg support is
detected at configure time. The option may also become useful for
easier testing of legacy mode.
2018-03-04 21:55:37 +01:00
ejurgensen d5ec17ffe0 [-] Let make install mkdir the "var/run" directory for the PID file 2018-03-04 17:41:18 +01:00
ejurgensen 50c6d3f272 [db] Silence misleading log error message
We were logging a missing lastfm_sk in the admin table as
an error, which it really isn't
2018-03-03 20:13:09 +01:00
ejurgensen 1da7230e37
Merge pull request #501 from hjellinek/patch-3
Fixed typo in comment
2018-03-03 16:37:05 +01:00
ejurgensen 818d0ca8e1
Merge pull request #500 from hjellinek/patch-2
Fixed typo
2018-03-03 16:36:37 +01:00
Herb Jellinek 8612b6dd12
Fixed typo in comment
"syncronization" should be "synchronization"
2018-03-02 17:00:14 -08:00
Herb Jellinek 874bccd1da
Fixed typo
"there" should be "their".
2018-03-02 16:51:53 -08:00
ejurgensen ea6fd1476a [db] Improve speed of browse queries (issue #478)
Before, we returned either unordered (for RSP, meaning client had to
sort) or ordered by a client selected sort_clause[]. The latter are
multi-purpose and therefore not optimised for browse queries.

To speed up, we predefine the entire set of browse queries, including
order, with matching indices. The predefined queries are used except
if the client explicitly requests a non-default order or query.

As a special bonus, the commit also allows queries with I_SUB that
have an offset but no limit.
2018-03-02 21:11:31 +01:00
ejurgensen 121b812c30 [transcode] Lower log level of "will transcode" messages 2018-03-02 20:51:33 +01:00
chme cd96ec579a [db/library] Use "PRAGMA optimize" instead of "ANALYZE"
ANALYZE collects and saves statistics even if there were no database
changes and the last collected data is still good.

According to the sqlite3 documentation, it is recommended to use "PRAGMA
optimize" which will call "ANALYZE" if it is necessary. "PRAGMA
optimize" will run "ANALYZE" based on prior queries on the same database
connection. It is recommended to run optimize before closing the
connection.

(see https://www.sqlite.org/lang_analyze.html)
2018-02-26 18:41:28 +01:00
ejurgensen 0014b9001b Bump to version 26.0 2018-02-24 16:45:41 +01:00
ejurgensen 237674d2a6 ChangeLog and README for forked-daapd 26.0 2018-02-24 16:45:05 +01:00
ejurgensen 666af127d5 [raop] Fix gcrypt error handling in raop_verification.c
And I learnt that gcrypt doesn't follow the negative-on-error pattern
2018-02-22 22:36:50 +01:00
ejurgensen c2a563eec7 [main] Remove build date so there will be no complaints about non-producible builds 2018-02-22 22:16:22 +01:00
ejurgensen f386c13bd9 [pipe] Add forgotten include of config.h 2018-02-22 22:11:42 +01:00
ejurgensen 6a56c19ad5 [pipe] Add forgotten include of pthread 2018-02-22 22:03:37 +01:00
ejurgensen 6c2ee276de
Merge pull request #495 from chme/fixwarnings
Fix compiler warnings
2018-02-22 21:52:17 +01:00
ejurgensen b1c9518a78 [-] Make json-c a required library
Already kind of was required, as it was required by Spotify, Chromecast and the web api
2018-02-22 21:49:11 +01:00
chme 30aa4cf525 [db] Fix comments 2018-02-22 21:36:14 +01:00
chme 8b2d40d46f Initialize local variables to silence OpenWrt compiler warnings 2018-02-22 21:35:38 +01:00
ejurgensen cc1785a843
Merge pull request #490 from chme/jsonapi_outputs
JSON api cleanup and documentation
2018-02-15 19:27:34 +01:00
chme b17fb1c101 [README] JSON API Endpoint reference documentation 2018-02-15 19:19:13 +01:00
chme bd5bf56245 [htdocs] Select outputs with /api/outputs/set endpoint 2018-02-15 19:19:13 +01:00
chme 1212723072 [jsonapi] Do not set "DAAP-Server" header in json api response 2018-02-15 19:19:13 +01:00
chme 0e9feac829 [jsonapi] Rework outputs endpoint and strictly match uris by request
method
2018-02-15 19:19:13 +01:00
chme 83bb06225b [misc] Add helper function to check if a key with a given type exists 2018-02-15 19:19:13 +01:00
chme 1379ef235c [httpd] Support assigning request methods to uri handlers 2018-02-15 19:19:13 +01:00
chme a98713ba49 [jsonapi] Return proper HTTP status codes 2018-02-11 10:55:11 +01:00
chme d4b05e98ae [httpd] Add PUT and DELETE to the allowed http request methods 2018-02-10 10:39:32 +01:00
ejurgensen cdaa929078
Merge pull request #489 from chme/playeroutputs
Refactore output enumeration and support enable/disable of single output
2018-02-10 10:35:55 +01:00
chme 43887d160f [mpd] Refactor commands to enable/disable/toggle/volume for outputs 2018-02-10 09:04:18 +01:00
chme decf9f1329 [player] Add commands to enable/disable output 2018-02-10 09:04:18 +01:00
chme 93879c6f90 [player] Refactor speaker enumerate callback 2018-02-10 09:04:18 +01:00
chme 94fd370df2 [player] Simplify parameter passing to player commands 2018-02-10 09:04:18 +01:00
chme d36e6ac5ab [player] Refactor speaker_set/speaker_activate 2018-02-10 09:04:18 +01:00
chme f2659d995b [player] Refactor speaker_set/speaker_deactivate 2018-02-07 21:04:47 +01:00
ejurgensen e70f9623db [filescanner] Update ffmpeg id3 tag mapping, include grouping tags 2018-01-31 21:46:17 +01:00
ejurgensen 0b3f4dfa15 [transcode] Ignore some errors from avcodec_send_packet(), fixes #483
Since the stream can at least in some cases be transcoded anyway
2018-01-26 22:37:28 +01:00