Commit Graph

4550 Commits

Author SHA1 Message Date
chme
72792d1e31 [web-src] Show progressbar for podcast track in progress 2019-02-10 08:21:15 +01:00
chme
52d685d6be [web-src] Add buttons to mark podcast track as new/played 2019-02-10 08:21:15 +01:00
chme
78ca795814 [web-src] Show new (unplayed) episodes in podcasts page 2019-02-10 08:21:15 +01:00
chme
8840a65ee6 [smartpl] Add "songalbumid" as valid query field 2019-02-10 08:21:15 +01:00
ejurgensen
b1622b5b91
Merge pull request #687 from chme/spotify_artwork_2
[spotify/artwork] Add spotify webapi as an additional artwork source
2019-02-09 11:07:47 +01:00
chme
9b8bff45ab [artwork/http] Check response code and content type
Extends the http_client_ctx to hold the response code for a request.
Also adds the content type header, if it was a https request (using
libcurl instead of libevent)
2019-02-09 08:35:20 +01:00
ejurgensen
cb49554608 [raop] Fix forgotten include of conffile.c in commit 18acb73 (fixes #688) 2019-02-07 21:14:13 +01:00
chme
733a521df8 [spotify/artwork] Add spotify webapi as an additional artwork source 2019-02-05 16:04:08 +01: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
694e1874ae [README] Update JSON API documentation (new endpoint for tracks, fix for
player/previous)
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
chme
7d0e48eb0e [db] Add support for resetting play- and skip-count 2019-01-31 09:42:53 +01:00
chme
b9a7ce7dd2 [jsonapi] Add endpoint to retrieve details for a single track by its id 2019-01-31 09:42:53 +01:00
ejurgensen
c70f96fdec [db] Fix integer overflow in bind_mfi (ref issue #683)
Also drop DB_TYPE_CHAR since it's not really being used.
2019-01-30 23:34:00 +01:00
ejurgensen
7abf68200d [scan] Fix parsing of iTunes "Play Date" tag (fixes #683)
"Play Date" tag was seconds since 1904 (an Apple Mac HFS+ timestamp), not a
Unix timestamp as we assumed. Seems Apple themselves realised that wasn't a
great idea (+ not a proper plist date type), and therefore provide "Play Date
UTC" as an alternative.
2019-01-30 22:32:46 +01:00
chme
81753d44a7 [mpd] Report support for protocol version 0.20 2019-01-28 22:40:25 +01:00
chme
f77c216650 [mpd] Refactor parsing filter/window arguments and add support for
"group" argument in "list" command
2019-01-28 22:40:25 +01:00
chme
e015032292 [mpd] Add duration attribute with millisecond precision 2019-01-28 22:40:25 +01:00
chme
5bd94df4a6 [mpd] Add listfiles command
For now listfiles simply returns the same result as lsinfo (no support
for listing files not part of the library)
2019-01-28 22:40:25 +01:00
chme
937d1e3f5f [db] Add "group" attribute to query_params and allow grouping files 2019-01-28 22:40:25 +01:00
Christian Meffert
c7e65c57e1
Merge pull request #680 from chme/smartpl_fix_before
Fix smart playlist queries for date fields compared with "before"
2019-01-28 20:57:46 +01:00
chme
06aaacbe8f [smartpl] Fix wrong where clause for date field queries with "before"
keyword
2019-01-28 20:46:04 +01:00
ejurgensen
a4b243921e
Merge pull request #678 from chme/jsonapi_files
[jsonapi] Fix error in web interface files-view
2019-01-28 17:38:31 +01:00
chme
9fff02841b [jsonapi] Fix error in web interface files-view if the library directory
end with a trailing slash
2019-01-28 15:00:18 +01:00
Christian Meffert
8e7105007b
Merge pull request #676 from tobyh/api-prev-pr
Fix API documentation for player/previous endpoint
2019-01-27 10:45:57 +01:00
tobyh
d8281e351b
Fix API documentation for player/previous endpoint
s/prev/previous/
2019-01-27 20:04:38 +11:00
ejurgensen
1ae24dcf49
Merge pull request #675 from chme/player_segfault
[player] Fix segfault when getting single speaker/output by id
2019-01-26 21:49:35 +01:00
chme
238361ea25 [player] Fix segfault when getting single speaker/output by id 2019-01-26 17:50:30 +01:00
ejurgensen
fbc2440ec1
Merge pull request #673 from chme/mpd_segfault
[mpd] Fix segfault
2019-01-26 16:09:05 +01:00
chme
b000803fe3 [misc] Add compiler hint to check format parameters 2019-01-26 10:08:11 +01:00
chme
1f2b608d62 [mpd] Fix wrong number of format parameters for safe_asprintf
Fixes a segfault in cases where the default playlist directory config
(in the mpd section of the configuration file) was set/activated.
2019-01-26 10:07:48 +01:00
Christian Meffert
95a92b2fbf
Merge pull request #669 from chme/web
Update player webinterface (v0.4.2)
2019-01-23 10:05:50 +01:00
chme
d0e11457ee [htdocs] Rebuild player web interface v0.4.2
- Updated dependencies
- Allow connecting to websocket over wss://
2019-01-23 09:51:13 +01:00
chme
54d2bdd390 [htdocs] admin web interface: use wss:// if connection is over https 2019-01-23 09:51:13 +01:00
Tyler Ball
0da24a3f90 support serving web interface via https proxy 2019-01-23 09:51:13 +01:00
ejurgensen
99b0b644a9
Merge pull request #668 from chme/jsonapi
New JSON API endpoint player/toggle and support for volume steps in endpoint player/volume
2019-01-22 21:22:55 +01:00
chme
116c315a84 [player] Rename struct spk_info to player_speaker_info 2019-01-22 17:47:15 +01:00
chme
f91df003fe [README] Update JSON API documentation
- api/player/toggle
- api/player/volume
2019-01-22 09:24:14 +01:00
chme
343c583229 [jsonapi] Support changing volume by the given step (increase/decrease
volume)
2019-01-21 11:11:20 +01:00
chme
db7b9c689b [player] Add command to get a single speaker info by its id 2019-01-21 11:11:20 +01:00
chme
c165c55b5b [jsonapi] Add player/toggle endpoint
Toggles playback state depending on the current player state:
- playing --> pause
- paused, stopped --> play
2019-01-20 12:03:50 +01:00
ejurgensen
9cd274a503
[docs] Update install
Correct incorrect java/antlr command line argument, ref. issue #666
2019-01-17 21:24:53 +01:00
ejurgensen
741825d086 [cast] Add option to exclude speakers (closes #659) 2019-01-09 20:26:31 +01:00
chme
275c1cd563
Merge pull request #655 from chme/webinterface_dependencies
[htdocs/web-src] Update dependencies and rebuild player web interface
2019-01-05 08:40:55 +01:00
chme
d45c7961af [htdocs/web-src] Update dependencies and rebuild player web interface
Fixes vulnerability in webpack-dev-server
2019-01-05 08:32:07 +01:00
chme
22cdd90a32
Merge pull request #652 from chme/webinterface_4
Update player webinterface (v0.4.0)
2019-01-05 07:53:21 +01:00
chme
4ebf77896a [htdocs] Rebuild player web interface v0.4.0
- Only add/play tracks matching the genre in the genre pages
- Add new files page
- Workaround for the issue that forked-daapd cannot pause playback for
stream or a pipe
- Listen for "database" events to properly update the library stats and
display the correct links on the top nav bar
2019-01-05 07:43:08 +01:00
chme
9198dbc8a9 [web-src] Update library stats after "database" event
Fixes missing display of audiobooks/podcasts link in top navbar after 
adding the first audiobook/podcast (library updated through inotify and 
not with a full scan)
2019-01-05 07:43:08 +01:00
chme
f2ea608a49 [web-src] Stop playback if playing a stream or a pipe
forked-daapd can not pause playback from a stream or a pipe and returns 
an error and aborts playback in that case. This works around this issue 
by stopping playback if the now playing item is a stream or a pipe.
2019-01-05 07:43:08 +01:00
chme
c4cfbe024f [web-src] Files view 2019-01-05 07:43:08 +01:00