Commit Graph

4518 Commits

Author SHA1 Message Date
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
whatdoineed2do/Ray
b39e472e2a [web-src] genre play/add to Q uses genre track lists and not the album tracks (which may incl tracks of other genres) 2019-01-05 07:43:08 +01:00
chme
47bdff255c
Merge pull request #651 from chme/jsonapi_files
[jsonapi] Allow adding items by query language to the queue (plus some small fixes)
2019-01-05 07:41:51 +01:00
chme
98098698de [README] Update documentation for queue/items/add endpoint 2019-01-05 07:21:36 +01:00
chme
fb60a05228 [jsonapi] Add support for "playback", "clear" and "shuffle" parameters
in
"queue/items/add" endpoint
2019-01-05 07:21:36 +01:00
chme
77a19a6df9 [jsonapi] Add checks for failed playback start and return error code 2019-01-02 09:51:54 +01:00
chme
0f4cbb3375 [http/jsonapi] Use strtok_r instead of strtok 2019-01-02 09:51:54 +01:00
chme
3de2418b49 [README] Add "database" event to push notification documentation 2019-01-02 09:51:54 +01:00
chme
f23732945b [websocket] Support "database" notifications 2019-01-02 09:51:54 +01:00
chme
b3853ef0f3 [jsonapi] Check for empty "uris" parameter in queue/items/add (prevents
a segfault) and log failed requests in error log
2019-01-02 09:51:54 +01:00
chme
e3b0442fc7 [README] Add documentation for expression parameter in queue/items/add 2019-01-02 09:51:54 +01:00
chme
2ead24a2f7 [jsonapi] Add optional expression parameter to queue/items/add endpoint
Adds support to add tracks by a smart pl query expression
2019-01-02 09:51:54 +01:00
chme
ca99bf8718 [jsonapi] Sort files by filename and return directories in api/config 2019-01-02 09:51:54 +01:00
ejurgensen
cd7af46c36 [db] Generic version of db_drop_indices/triggers + fix memleak
Memleak in db_drop_triggers() in error case (array "index" not being freed)
2019-01-01 21:34:29 +01:00
ejurgensen
faa41ee206
Merge pull request #653 from chme/db_init
[db] Fix missing creation of triggers for persistent ids in db init
2019-01-01 10:35:40 +01:00
chme
010e8b2959 [db] Fix missing creation of triggers for persistent ids in db init 2019-01-01 09:38:02 +01:00
ejurgensen
333c46318d Merge branch 'db_refactor1' 2018-12-31 15:57:49 +01:00
ejurgensen
19c39bf133 [scan] Always use compilation_artist for tracks in compilation dir
Reason is that tracks in compilation dir are not to be trusted when it comes
to album_artist.

See afee99d5db (commitcomment-31807556).
2018-12-31 15:55:49 +01:00
ejurgensen
9929832b5f [db] Don't zero play_count, skip_count, seek, time_played, time_skipped on update
If a file gets updated/rescanned we generally don't want to reset the above
values. This commit adds DB_FLAG_NO_ZERO, which marks a field so that
db_file_update() will only update it if the new value is non-zero (i.e. the
caller probably has a "better" value).
2018-12-31 15:55:49 +01:00
ejurgensen
734b4e9851 [db] Transfer some library tag fixup to the db's generic fixup
Transfer setting defaults for media_kind and item_kind. Also sets
default media_kind for queue_items.
2018-12-31 15:55:49 +01:00
ejurgensen
c3eb95d201 [db] Change use of compilation_artist, so that album_artist has preference
This change means that we will use album_artist even if compilation_artist
is configured, thus compilation_artist will only be used to override artist.
2018-12-31 15:55:49 +01:00
ejurgensen
9fc2065ada [db] Use album_artist if we have no artist metadata 2018-12-31 15:55:49 +01:00
ejurgensen
8043ca1291 [db] Drop upgrade support for pre-v17 db versions
Also drop the old way of recreating the files table, it is now replaced by
db_table_upgrade().
2018-12-31 15:55:49 +01:00
ejurgensen
a4c254e6e7 [db] Recreate v20 files table, so that new constraints take effect if upgrading
The constraints on songalbumid and songartistid where changed with v20, so we
need to make sure they take effect when upgrading.

This commit tries to do the table recreation like sqlite recommends and without
manually crafted copy queries that are probably prone to errors.

Since we are recreating anyway, this commit also reorders the columns slightly.

It also includes auto-drop/recreation of triggers (should really have been its
own commit) during upgrade, like is already done with indices.
2018-12-31 15:55:49 +01:00
ejurgensen
1de8f39264 [db] Generic fixup + align fixing up between mfi, pli and queue_item
The idea here is to make sure the fixing up of tags is done in a consistent
manner. For strings, this means stuff like trimming and empty strings -> null
are applied the same unless there are special exception rules set. It also
means that defaults are applied the same across structs, e.g. "Unknown artist"
for both mfi->artist and queue_item->artist.

The change is also necessary because we want to remove trimming from the sql
query and instead implement it ourselves.
2018-12-31 15:55:49 +01:00
ejurgensen
fc5a66f86d [misc] New utility functions: trim, atrim and safe_snprintf_cat 2018-12-31 15:55:49 +01:00
ejurgensen
d3121f4ec7 [db] Use prepared statements for file insert, update and ping
Get rid of the SQL query strings, since they are prone to errors and are
probably also slower that using prepared statements.
2018-12-31 15:55:49 +01:00
ejurgensen
53d7005547 [pipe] Error check of b64_decode return value 2018-12-29 16:50:27 +01:00
ejurgensen
103dda29f3 [misc] Move CHECK_NULL inside b64_decode (around the malloc)
To stay in line with general use of the macro
2018-12-29 16:39:52 +01:00
chme
271978f41a [travis-ci] Build on Ubuntu 16.04 (Xenial) 2018-12-29 16:34:56 +01:00
chme
05fd28239b [travis] Build libwebsockets 2.0.3 from source 2018-12-29 16:34:56 +01:00
chme
788cb6f133 [pipe/raop] Check for NULL to avoid scan-build issues (in case of oom) 2018-12-29 16:34:56 +01:00
ejurgensen
a37fc0916f [alsa] Fix scan-build issue: Argument with 'nonnull' attribute passed null 2018-12-29 16:34:56 +01:00