Commit Graph

4412 Commits

Author SHA1 Message Date
ejurgensen 4f6c9bb366 Revert "[player] Do not abort if pausing a stream or pipe playback"
This reverts commit fd84dd51b5.
2018-12-03 23:59:31 +01:00
ejurgensen bb1347f2c0 Revert "[raop] Listen for _airplay._tcp and make it a condition for device removal (issue #496)"
This reverts commit 1e051407d5.
2018-12-01 10:03:22 +01:00
whatdoineed2do/Ray cfadcc184f [jsonapi] support composer in queue and track objs 2018-11-30 17:22:21 +01:00
whatdoineed2do 488f52b04f [db] schema v19.11 support composer in queue tbl 2018-11-30 17:22:21 +01:00
ejurgensen c1ce503b8d
Merge pull request #630 from chme/stream_pause
Improve pausing radio streams
2018-11-30 17:17:38 +01:00
chme fd84dd51b5 [player] Do not abort if pausing a stream or pipe playback
Instead we stop reading from the source and check on playback resume if
the source needs to be reopened.
2018-11-30 16:16:42 +01:00
chme f6ddec3389 [player] On pause the current streaming item needs to be stopped, if it
is not the current playing item.

This happens if the input already switched to the next item in the queue
starting to stream it to the outputs (2 second buffer) while the outputs
are still playing the last seconds of the old item.
2018-11-30 15:41:28 +01:00
ejurgensen 357d346fce
Merge pull request #628 from chme/artwork
[jsonapi] Artwork url for non library items and streams
2018-11-30 10:12:41 +01:00
chme 3fe5f3a501 [README] Add some information for artwork urls 2018-11-30 07:19:12 +01:00
chme 234ccc2899 [http] Prevent adding empty artwork urls into icy metadata
Some radio streams send empty strings as "StreamUrl", prevent these from
beeing added into the queue database.
2018-11-30 06:39:22 +01:00
chme 041a87427c [spotify] Set artwork url in queue items for spotify tracks
Fixes missing artwork for spotify tracks that are not in the user
library.
2018-11-28 20:31:50 +01:00
chme 534bbdb477 [artwork] Introduce constant for default artwork width/height 2018-11-28 20:28:38 +01:00
ejurgensen 1e051407d5 [raop] Listen for _airplay._tcp and make it a condition for device removal (issue #496) 2018-11-26 20:24:28 +01:00
ejurgensen 18acb73fdb [raop] Add option to make an Airplay speaker permanent in the speaker list (issue #496) 2018-11-26 20:24:28 +01:00
chme 89ca5e8ba9 [jsonapi] Fix wrong artwork url for non library queue items and streams
Add check against the special file_id DB_MEDIA_FILE_NON_PERSISTENT_ID to
identify if a queue item is not in the library. And always prefer the
artwork url in the queue item before the artwork for the library file.
2018-11-25 10:07:55 +01:00
ejurgensen a8d3a045f2
Merge pull request #625 from chme/spotify_metadata
[spotify] Set track fields "time added" and "time modified"
2018-11-24 13:16:07 +01:00
chme bb959fdec9 [spotify] Use added_at as time_added and time_modified
Saved albums and playlist items have a "added at" attribut use it as
created instead of probably unexpected current time.
2018-11-24 06:31:39 +01:00
chme 0d8a764f41
Merge pull request #617 from chme/webinterface
Update player web interface
2018-11-23 14:31:24 +01:00
chme 503161bdd8 [htdocs] Rebuild player web interface v0.2.0
- Change build system to vue-cli v3
- Remove link to forked-daapd-web github repo in about-page
- "Add next" functionality in details modal dialogs
- Update spotify-web-api and adapt to new spotify playlist endpoints
- Decrease reconnection interval to 3s and display number of retries
- List genre
- List all tracks for an artist
- Change play-button in album/artist/playlist pages to shuffle-button
(starts playback shuffled)
- Change behaviour on clicking a track to turn shuffle mode off before
starting playback
- Show artwork in now playing page
2018-11-23 14:15:29 +01:00
chme 7ef4e9dd74 [web-src] Make artwork responsive, change error handling if
an item has no artwork plus some small styling changes
2018-11-23 14:11:16 +01:00
whatdoineed2do/Ray 357a0e611a [web-ui] 'now playing' page displays artwork if available otherwise displays 'default non artwork' image located under htdocs/artwork-default.png 2018-11-23 14:11:02 +01:00
chme c97f94fec2 [web-src] Starting playback now explicitely turns shuffle mode on/off
Additionally some small refactoring to make starting playback for an uri
easier.
2018-11-23 14:11:02 +01:00
chme 42e04177af [web-src] Add play button to PageArtist 2018-11-23 14:11:02 +01:00
chme 075c4cdb45 [web-src] Keep PageTracks in line with PageArtist 2018-11-23 14:11:02 +01:00
whatdoineed2do/Ray 08a370966d [webui] list all tracks for artist 2018-11-23 14:11:02 +01:00
whatdoineed2do/Ray ef9a275c78 [webui] add genre tab mirroring album/artist functionality 2018-11-23 14:11:02 +01:00
whatdoineed2do/Ray 14010eeb28 [smartpl] support searching by ssongartistid (list tracks for artist), artist_id and songartistid 2018-11-23 14:11:02 +01:00
chme 6578f60f01 [web-src] Reduce reconnect interval for web socket connection to 3s and
show number of reconnection attempts in notification message
2018-11-23 14:11:02 +01:00
chme 388c8868d5 [web-src] Update spotify-web-api and adapt to simpified playlist
endpoints
2018-11-23 14:11:02 +01:00
chme e72fd88fb9 [web-src] Add "Add next" button to modal dialogs for
album/artist/track/playlist details
2018-11-23 14:11:02 +01:00
chme 6a520dee98 [web-src] Update dependencies 2018-11-23 14:11:02 +01:00
chme fc3317c445 [web-src] Remove links to forked-daapd-web 2018-11-23 14:11:02 +01:00
chme e4f288c5b4 [web-src] Change player web interface build system to use vue-cli v3
Also bumps the player web interface version to 0.2.0.

Previously the build was based on the vue.js webpack template. The
template is deprecated and the recommended method for setting up a vue
application is vue-cli. This also changes the build from using webpack
v3 to webpack v4.
2018-11-23 14:11:02 +01:00
ejurgensen fb1402e6f4
Merge pull request #623 from chme/jsonapi
[README] Document JSON API endpoints /api/update and /api/library
2018-11-19 23:01:45 +01:00
chme b86f9f437d [README] Document JSON API endpoints /api/update and /api/library (fixes
#618)
2018-11-19 20:33:27 +01:00
chme 225b69595c
Merge pull request #620 from chme/player_shuffle
Fixes for shuffle mode in player web interface
2018-11-17 19:50:29 +01:00
chme a8e8dc1999 [library/db/filescanner/spotify] Reshuffle after adding non library
items to the queue
2018-11-11 07:01:22 +01:00
chme 05141480e2 [player/db] Increment queue version if shuffle mode is turned off
This fixes showing the wrong queue in the player web interface after
turing shuffle mode off.
2018-11-11 07:01:22 +01:00
chme 4cf71bafcc
Merge pull request #605 from chme/play_next
[jsonapi] Add support for a position parameter in the queue/items/add endpoint
2018-11-02 18:38:10 +01:00
ejurgensen ab7d630395
Merge pull request #611 from whatdoineed2do/m3u-https-filescanner-fix
[filescanner] parse https streams for m3u
2018-10-27 14:41:23 +02:00
chme 6da97ab866 [README] Add syntax highlighting to code blocks 2018-10-25 19:36:43 +02:00
chme 1db083fa69 [README] Document "position" parameter for queue/items/add in JSON API 2018-10-25 19:36:43 +02:00
chme 8d8663e93d [db/queue] Support adding non-library items at a given position to the
queue
2018-10-25 19:36:43 +02:00
chme d2390933e9 [jsonapi] Support "position" parameter in queue/items/add endpoint 2018-10-25 19:36:43 +02:00
whatdoineed2do/Ray 3b10049d72 [filescanner] parse https streams for m3u 2018-10-23 10:06:11 +01:00
ejurgensen df7456dc39 [mdns] Make connection test optional and only do it for Airplay (fixes #602)
Some remotes don't respond as expected to the test. Retune will give connection
refused, because the test is made too quickly, before the service is running.

Even if we delay the test it won't work because Retune crashes.

Since the false mdns advertisements are only seen on Airplay, we only do the
test there.
2018-10-14 22:13:58 +02:00
Don Cross 07e46d75c8 [alsa] Made resync period configurable 1..20 seconds, with default=10. (#604)
The unconfigurable resync period of 10 seconds was not frequent
enough to keep my own ALSA device in sync with the AirPlay stream.
Now the period is configurable.  The default is still at 10
seconds, to prevent any change in behavior unless opted in by
the user.

Currently the adjustment causes a tiny "click" distortion in the
ALSA output, so it is better to make the check as infrequent as
possible, while still being frequent enough to stay in sync
over lengthy sessions of playback.

Added source_sample_rate, target_sample_rate to alsa_session.
This is a first step toward rendering ALSA at a different
sampling rate than the AirPlay stream, so that (a) we will
be able to dynamically adjust the ALSA sampling rate for an
improved sync algorithm, and (b) later, a more generalized
resampling algorithm can accommodate very different hardware
sampling rates like 22050 Hz or 48000 Hz.

Reworked alsa_session_free() so that it can be used to
tear down a partially initialized alsa_session if an
error occurs in the middle of alsa_session_make().
This simplifies the error handling logic in alsa_session_make().
This refactoring will be helpful later when resampling is added,
because more data structures will be dynamically allocated
during initialization.

Signed-off-by: Don Cross <cosinekitty@gmail.com>
2018-10-14 20:40:36 +02:00
ejurgensen 830d8594aa [raop] Use et=4 to determine support for auth_setup (issue #557) 2018-10-09 21:35:15 +02:00
ejurgensen 41126d7be4 [artworkapi/jsonapi] Retrieve artwork for track/album/artist 2018-10-07 21:54:38 +02:00
ejurgensen c1619f7be0 [httpd] Increase max depth of path_paths (fixes #599) 2018-10-07 21:42:37 +02:00