Commit Graph

101 Commits

Author SHA1 Message Date
Christian Meffert
3fd812ef2f
Merge pull request #1008 from chme/web_next
Player web interface v0.7.2
2020-07-05 10:59:15 +02:00
Christian Meffert
0e8e8564bb
Merge pull request #1042 from chme/player-prev-next
[player/jsonapi] Do not report error on skip next/prev if end/start of queue is reached
2020-07-05 10:58:50 +02:00
Christian Meffert
db51d59be4
Merge pull request #995 from whatdoineed2do/json-add-by-query-with-limit
[jsonapi] support 'limit' on 'api/queue/items/add?expression='
2020-07-03 20:09:00 +02:00
chme
9616cfdf0c [jsonapi] harmonize "channels" attribute in queue item and track object 2020-07-01 07:32:12 +02:00
chme
8e333c7978 [player/jsonapi] Do not report error on skip next/prev if end/start of
queue is reached
2020-06-28 11:56:51 +02:00
ejurgensen
d18e49f59b [jsonapi] Make PUT /api/outputs/x capable of device verification 2020-05-26 22:46:49 +02:00
ejurgensen
d073781445 [json] Add endpoint to delete a setting (reset to defaults) 2020-05-16 00:13:10 +02:00
whatdoineed2do/Ray
69c56f5971 [jsonapi] items/add?expression can take 'limit' param 2020-05-09 20:04:27 +01:00
whatdoineed2do/Ray
c5fe0d217b [jsonapi] support 'limit' on 'api/queue/items/add?expression='
Extend to support SMART query allows 'limit'

  curl -X POST "http://localhost:3689/api/queue/items/add?expression=genre+is+%22Pop%22+order+by+time_added+desc+limit+3"
2020-05-09 17:09:03 +01:00
chme
df0c36f4f4 [jsonapi] Add new endpoint to fetch playlists for a track
The new endpoint `api/library/track/{id}/playlists` allows to fetch all
playlists that contain the track.
2020-04-19 06:44:13 +02:00
ejurgensen
3994ef0f2e [jsonapi] Add endpoint for playlist update of query_limit
Makes it possible to set number of podcasts retrieved for RSS feeds.

Closes #951.
2020-04-17 20:10:58 +02:00
ejurgensen
16a3b8878f [jsonapi] Change library_item_add, add delete pl and drop library_item_remove 2020-04-04 21:07:16 +02:00
whatdoineed2do/Ray
5cddf0e347 [jsonapi] RSS support: new /api/library/item_{add,remove} endpoints for adding items to library - for RSS at this time and extend PL_ search and queries to incl PL_RSS 2020-04-04 21:07:16 +02:00
whatdoineed2do/Ray
a31430f671 [jsonapi] album/playlist inc uses db specific methods 2020-03-23 13:42:46 +00:00
whatdoineed2do/Ray
1a912d9808 [jsonapi] enable album track play_count update 2020-03-23 13:39:59 +00:00
whatdoineed2do/Ray
a6d8d55bd4 [jsonap] new PUT /api/library/playlists/[[:digit:]]+/tracks endpoint
enable playlist tracks play_count updates: 'increment', 'reset', 'played'
2020-03-23 13:39:59 +00:00
chme
ec8ce91baa [jsonapi] Use synchronous pairing request command 2020-03-18 14:56:05 +01:00
chme
c75ff89769 [jsonapi] Do not fail on /api/library/playlists/0
The root playlist folder does not exist in the DB therefor add special
handling and return some fixed data.
2020-03-08 19:13:17 +01:00
chme
36ebf7d06c [jsonapi] Add support for playlist folders 2020-02-24 21:27:53 +01:00
ejurgensen
5736217315 [db] Change prototype of db_admin_getxxx() functions
Makes it possible for caller to distinguish between "not set" and "set to 0".
2020-02-23 20:30:35 +01:00
ejurgensen
c674f84497 [json] Make clients reload artwork when we have new http metadata 2020-02-23 20:30:35 +01:00
whatdoineed2do/Ray
3049b3e70e [jsonapi] spotify token leak 2020-02-14 21:10:15 +00:00
ejurgensen
abdc0d6d27 [library] Some refactoring of the library module
Misc refactoring, e.g. alignment of how modules save tracks and playlists, incl
use of mfi and pli. Also try to avoid direct calls between library and player.
2020-02-08 10:55:15 +01:00
ejurgensen
e61e98bcbb [player] Reverse args to player_speaker_get_byid() for consistency 2020-01-03 19:38:52 +01:00
chme
6e5d6791ff [player/dacp/mpd/jsonapi] Combine seek commands into one with mode param
Also changes relative seeking behavior:
- seeking behind the the current track only switches to the previous
track, if we are not more than 3 seconds into the current track,
otherwise starts current track from the beginning
- seeking beyond the current track will start the next track from the
beginning
2019-10-20 14:36:21 +02:00
chme
d69f328973 [jsonapi] Support relative seeking 2019-10-20 14:36:21 +02:00
chme
dc9396886c [jsonapi] Set correct artwork url for pipe input 2019-10-20 08:39:18 +02:00
chme
2846287169 [jsonapi] Add endpoint "/api/outputs/{id}/toggle" to toggle outputs 2019-09-26 08:00:03 +02:00
Christian Meffert
7925639f5b
Merge pull request #790 from chme/admin_settings
Introduce new settings for displaying the composer in the now playing page
2019-08-31 09:05:49 +02:00
whatdoineed2do/Ray
6ad3d8dbef [jsonapi] potential memleaks on query_params.filter object 2019-08-28 21:35:29 +01:00
chme
2cc310b646 [jsonapi] Expose reading and updating settings through the JSON API 2019-08-25 10:39:16 +02:00
whatdoineed2do
a5987addd4 [db,jsonapi] case insensitive directory/file listing (#784)
* [db,jsonapi] case insensitive directory/file listing

* [jsonapi] file listing of playlist uses same VPATH ordering as per directory and files

* [db,jsonapi] sorting via existing S_VPATH

* [db] replace LOWER with COLLATE NOCASE
2019-08-21 22:54:34 +02:00
chme
a87059265d [spotify] Require Spotify web API scope playlist-read-collaborative
Also exposes granted and required Spotify web API scope through the
forked-daapd JSON API.
2019-08-03 12:55:53 +02:00
Christian Meffert
e608b763ef
Merge pull request #752 from whatdoineed2do/db-queue-quality
db queue to incl media quality info
2019-07-09 20:19:10 +02:00
whatdoineed2do/Ray
e0a18082f7 [web-src/jsonapi] move endpoint /api/update as PUT operation 2019-07-09 13:54:59 +02:00
whatdoineed2do/Ray
8c024387ae [web-src/jsonapi] endpoint GET /api/update/meta -> PUT /api/rescan 2019-07-09 13:54:59 +02:00
whatdoineed2do/Ray
e9c1a59ad2 [jsonapi] expose force metadata rescan via /api/update/meta endpoint 2019-07-09 13:54:59 +02:00
whatdoineed2do/Ray
f194145b8e [jsonapi] queue/track responses incl type/bitrate/samplerate/channels 2019-06-12 16:52:46 +01:00
chme
d35333139e [jsonapi] Fix segfault if no default playlist directory is set in conf 2019-06-01 08:12:38 +02:00
ejurgensen
4f5966c9ff [db] Speed up Q_PL query used by e.g. '/databases/1/containers' request
The previous solution would use subqueries to count the number of items and
streams in each playlist, which means that response time gets pretty slow if
there are many playlists.

This commit also includes a number of lesser db code changes.
2019-05-30 21:19:40 +02:00
chme
4434fe7a2c [jsonapi] Check for empty playlist name in queue/save 2019-05-30 11:23:22 +02:00
chme
2b4b9c747f [jsonapi] Add config options for saving playlists to config reply 2019-05-30 11:23:22 +02:00
whatdoineed2do/Ray
d28f7f43b7 [jsonapi,mpd,conf] save playlist via JSON api
- new endpoint api/queue/save?name= to .m3u via library_save()
- refact for common cfg for playlist save options
2019-05-30 07:23:04 +02:00
chme
f85df07308 [jsonapi] Respect order defined in smartpl expression in queue/items/add 2019-02-23 11:02:12 +01:00
chme
e078ba8ed0 [jsonapi] Use same order by clause when adding queue items by
expressions as is used in search tracks by expression
2019-02-23 11:02:12 +01:00
chme
a3f2551eea [jsonapi] Support starting playback from position in queue/items/add 2019-02-23 09:41:58 +01:00
chme
3343e9cfc8 [jsonapi] Rename queue item "albumartist_id" to "album_artist_id"
Keeps it in sync with the naming in the track object. Also introduce a
helper function to add an int64 as a json string.
2019-02-14 08:22:50 +01:00
whatdoineed2do/Ray
17022c9103 [jsonapi] expose albumid/artistid persistent id on queue object 2019-02-12 09:21:39 +00:00
chme
0ded6d63bf [db/jsonapi] New admin value for Last-Modified in JSON API header
This adds a new timestamp value "db_modified" into the admin db table.
In addition to the existing "db_update" admin value, this value is also
updated if rating, play-/skip-count or seek changes for a
media_info_file (files db table).

This should improve the caching behavior in clients of the JSON API
(especially the player web interface) in refreshing its data if some of
this values changes.
2019-01-31 09:42:53 +01:00
chme
3bc15e1278 [jsonapi] Add endpoint to update a tracks rating and/or play_count
New endpoint is PUT api/library/tracks/[id] and supported query
parameters are:
- rating: with values between 0 and 100
- play_count: with values "reset" (resets play_count and skip_count) or
"increment" (increments play_count)
2019-01-31 09:42:53 +01:00