Commit Graph

4637 Commits

Author SHA1 Message Date
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
chme cc706dc441 [htdocs] Remove sourceMappingURL in bulma.min.css 2018-04-26 22:20:27 +02:00
ejurgensen d84818649a [transcode] Fix for issue #502, ffmpeg segfault when jpeg encoding
For some reason it seems the Docker version of ffmpeg 3.4 uses "optimal"
Huffman tables (despite not being default), which cause ffmpeg to crash
when mjpeg encoder is encoding artwork jpeg's
2018-04-21 23:19:41 +02:00
chme 43745cf5c3 [smartpl.g] Fix memleak in smart playlist parsing with string operators 2018-04-15 22:11:40 +02:00
chme 359d12f4ff [db] Free order by-clause in playist_info 2018-04-15 22:11:40 +02:00
chme 6ceede44f4 [db] Use default -1 for playlists.query_limit column 2018-04-15 22:11:40 +02:00
chme f167e975c2 Unify naming of "order by" clause in structs/table 2018-04-15 22:11:40 +02:00
chme 47a79d40f1 [db] Allow fetching playlists if the schema contains more columns than
the column map (can happen if there was a minor db version upgrade)
2018-04-15 22:11:40 +02:00
chme a70a904ffc [README] Update JSON API readme (new endpoints and new track fields) 2018-04-15 22:11:40 +02:00
chme b550ea4025 [README] Update smart playlist readme 2018-04-15 22:11:40 +02:00
chme d15018cb99 [httpd/jsonapi] Add cache control headers to some json api endpoints
Adds utility functions to httpd.c for checking the request headers for
either an "If-None-Match" or an "If-Not-Modified-Since" headers. If the
header value is found and it matches the current value for the requested
resource, we return early with a http response code 403 (Not Modified).
If the request header value is not present or does not match we add the
current ETag/Last-Modified values to the response headers and process
the request normally.
2018-04-15 22:11:40 +02:00
chme 99a812ad9a [jsonapi] Add new endpoints for artist/album/playlist/seek 2018-04-15 22:11:40 +02:00
chme 33459bd4ef [jsonapi] Extend search endpoint to support queries in smartpl language 2018-04-15 22:11:40 +02:00
chme f1c7672426 [db] Fix total results for album group query
The query did not respect the filter and therefor always returned the
number of albums in the library and not the number of albums for the
given query.
2018-04-15 22:11:40 +02:00
chme 6bdcda1524 [db/filescanner] Upgrade database to v19.08 and support limit/order by
in smart playlist files
2018-04-15 22:11:40 +02:00
chme 5189fe2305 [smartpl/filescanner] Refactor smart playlist parsing
Moves the actual parsing with ANTLR3 out of filescanner.c to allow
future reuse in different context (JSON api)
2018-04-15 22:11:40 +02:00
chme 9708e26dd1 [db] Add support for ORDER BY and HAVING clause in query parameter 2018-04-15 22:11:40 +02:00
chme 84f262401e [smartpl.g] Add ORDER BY, LIMIT and HAVING to smart playlist grammar 2018-04-15 22:11:40 +02:00
chme 7dd8955a92 [filescanner] Add http stream to the library prior to adding to a
persistent playlist
2018-04-15 22:09:28 +02:00
chme 60ebac076b Refactor adding non library items to the queue
Instead of asking a client to first scan the path into a media_file_info
object and afterwards add it to the queue, we now offer a library
function to directly add a path.

The library-source that can handle the given path translates the path
into new queue item(s) and adds them to the queue.
2018-04-15 22:09:28 +02:00
ejurgensen acd5bd3272 [raop] Always try to get volumes from devices at keep_alive intervals
Should be ok, even if the device does not support GET_PARAMETER for
volume, no harm done, we will just stop querying.
2018-04-14 22:19:53 +02:00
ejurgensen d9a67b6dce [raop] Use GET_PARAMETER of volume to keep connection alive and get speaker volume 2018-04-11 22:29:07 +02:00
ejurgensen fe05f80822
Merge pull request #509 from chme/smartplstartswith
[smartpl] Add "starts with" to smart playlist language
2018-04-11 19:04:30 +02:00
MSN-06 f33175a4b2 Fixed issues in README.md (#516) 2018-04-02 22:10:31 +02:00
ejurgensen 3c356c861f
Merge pull request #512 from sshambar/update-spec
[config] Update rpm spec to version 26.0
2018-03-19 12:56:20 +01:00
Scott Shambarger c03f05c5ce [config] Update rpm spec to version 26.0
- Added new web interface files.
- Updated with/without options to reflect configure defaults.
- Updated build dependencies.
- systemd no longer a hard requirement.
- Other cleanups to match Redhat standards.
2018-03-18 21:08:21 -07:00
chme b3dbce7109 [README] Add "starts with" operator to README_SMARTPL 2018-03-17 13:23:48 +01:00
chme 879307f3ac [smartpl] Support "starts with" operator for string fields 2018-03-17 13:23:48 +01:00
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