ejurgensen
2345885f19
[player] Fix autoselect so it also applies when there are no selected devices
...
Regression in version 27.2. Closes #1091 .
2020-09-06 00:12:15 +02:00
ejurgensen
500f57ba1a
[player] Clear up return value of outputs_start()
...
Should return 0 if no devices at all, or if none selected. Should not return
negative from failure to stop unselected devices.
2020-09-06 00:08:40 +02:00
chme
451e0bf10b
[spotify/jsonapi] Map date_released for Spotify tracks; fix date
...
released being off by one day in the JSON API
2020-09-01 20:37:10 +02:00
chme
6f5822e461
[jsonapi] Map fields time_added, time_played, seek for album / artist
2020-08-30 09:08:41 +02:00
chme
a74a3e5add
[db] Add fields time_added, time_played, seek to group object
2020-08-30 09:08:41 +02:00
chme
382467eb9c
[jsonapi] Map additional metadata for artist and album
2020-08-30 09:08:41 +02:00
chme
8afae4a41b
[db] Fetch additional metadata for artist and album in group query
2020-08-30 09:08:41 +02:00
ejurgensen
bb9536ef44
[scan] Early skip if file should be ignored
...
Avoids needless logging, e.g. from failed lstat(). Closes #1078 .
2020-08-22 21:38:12 +02:00
ejurgensen
c5df688caf
[alsa] Align commit bfe99e5 with coding style
2020-08-22 21:36:10 +02:00
whatdoineed2do/Ray
bfe99e56f7
[alsa] use alsamixer volume adjustment algorithm
2020-08-22 21:25:17 +02:00
ejurgensen
11de4c09bc
[misc] Also have buildopts[] have disabled features + regex
2020-08-19 20:12:06 +02:00
ejurgensen
a5ddb3c85d
[player] Fix for volumes of unselected devices being reduced
...
Closes #1077
2020-08-13 20:48:48 +02:00
ejurgensen
de5060bc57
[db] Remove a FIXME, not much of an issue
2020-08-10 23:03:37 +02:00
ejurgensen
d77927d3c3
[xcode] Fix incorrect error check, unsigned int can't be negative
...
av_find_best_stream() returns an int, with negative being an error
Credit lgtm.com
2020-08-10 22:56:08 +02:00
ejurgensen
d9177dfb25
[artwork] Remove some superfluous checks
...
Credit lgtm.com
2020-08-10 22:50:04 +02:00
ejurgensen
a0876e532c
[websocket] Prefix globals with websocket_
...
Avoids e.g. "event" being both the name of a global and a parameter name in
send_notify_reply()
credit lgtm.com
2020-08-10 22:36:00 +02:00
ejurgensen
23be5aa749
[config] Name change to avoid overlapping/hiding global variable "cfg"
...
credit lgtm.com
2020-08-10 22:29:02 +02:00
ejurgensen
5e6b5fbe8a
[httpd/logger] Use gmtime_r/localtime_r instead of gmtime/localtime
...
gmtime and localtime are not thread safe
credit lgtm.com
2020-08-10 22:23:21 +02:00
ejurgensen
fada4c0ee7
[lastfm] Fix incorrect error condition test
2020-08-10 22:08:35 +02:00
ejurgensen
47779e59e7
[input] Fix memleak of path when seting up a new input file
...
Credit @whatdoineed2do
Closes #1067
2020-08-10 22:01:49 +02:00
whatdoineed2do/Ray
76d35f5abc
[scan] bulk_scan() counter reset before processing any library dirs
2020-08-09 22:33:23 +02:00
ejurgensen
55d5289c05
[player] Add settings for persisting repeat, shuffle and consume
...
Closes issue #963
2020-07-24 20:15:03 +02:00
ejurgensen
3245b81e60
[settings] Add shorthand macros for getting/setting options
2020-07-24 20:15:03 +02:00
whatdoineed2do/Ray
d567bd004a
[db,conf,json] new backup endpoint
2020-07-24 20:07:42 +02:00
ejurgensen
a71444d3e1
[player] Limit auto reconnection + add option for user override
...
With this commit auto reconnection per default will only be done for ATV4s and
HomePods. Reconnection is not always desirable, for instance if the device cuts
the connection because it is busy with something else, ref. issue #934 .
The commit also adds an option to override auto reconnection, thus either
enabling it for other devices or disabling it for affected devices.
2020-07-24 00:10:26 +02:00
ejurgensen
e8bdcd2365
[xcode] Use ffmpeg's "image2pipe" muxer instead of "image2"
...
With ffmpeg 4.3 it seems image2 no longer works for non-file output, so use
image2pipe instead.
Closes #1061
2020-07-19 23:52:42 +02:00
ejurgensen
d0a7d5114b
[http] Drop own Shoutcast metadata requestor, rely on ffmpeg now
...
ffmpeg/libav has been capable of this since approx 2016, so the fallback
functions can be dropped now.
Also means we don't add automatically add Icy-MetaData: 1 to request
headers any more.
2020-07-17 00:08:16 +02:00
ejurgensen
3e707c4060
[http] Make libcurl a hard requirement
...
Always using libcurl makes the code simpler, plus makes sure we always have a
https client
2020-07-16 23:30:05 +02:00
ejurgensen
941fb47c1d
[player] Only resurrect speakers that fail during playback
...
Fix bug where we would resurrect speakers, incl restart playback, if the speaker
disconnected after a flush.
Closes #1057
2020-07-16 23:08:58 +02:00
ejurgensen
c4d6e1c251
[raop] Extra logging of invalid retransmit headers
2020-07-16 21:30:48 +02:00
whatdoineed2do/Ray
c6c1e8f9ee
[alsa] dump_card() includes ALSA device name
...
Include ALSA's device name in the ALSA modules 'info' logging to help
identify sound devices as seen by the system for assisting config setup
Many configs use ALSA's hw ids to refer to device but ALSA can also use
device names:
laudio: Available ALSA playback mixer(s) on hw:0 CARD=Intel (HDA Intel): 'Master' 'Headphone' 'Speaker' 'PCM' 'Mic' 'Beep'
laudio: Available ALSA playback mixer(s) on hw:1 CARD=E30 (E30): 'E30 '
From the example above can use these ALSA names interchangably:
'hw:0' and 'hw:Intel'
'hw:1' and 'hw:E30'
2020-07-14 21:55:46 +01:00
ejurgensen
67f16138c5
[pipe] Change int64_t print mask for log message
...
Removes compiler warning
2020-07-05 20:59:03 +02:00
ejurgensen
5e60527f40
[spotify] Add an API endpoint for logging out of Spotify
2020-07-05 20:43:51 +02:00
ejurgensen
1b74966ef1
[db] Remove HAVE_SPOTIFY_H conditionals, not required
...
The db functions don't depend on the Spotify library, so remove conditionals
2020-07-05 20:43:51 +02:00
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
07f3f808c7
Merge pull request #1041 from chme/ws-header-space
...
[ws] Set websocket header data space
2020-07-05 10:57:54 +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
56564dec87
[ws] Set header data space to 4096
...
Hopefully fixes the "LWS Ran out of header data space" error seen in the
Chrome browser.
2020-07-03 09:53:39 +02:00
chme
9616cfdf0c
[jsonapi] harmonize "channels" attribute in queue item and track object
2020-07-01 07:32:12 +02:00
ejurgensen
a2ec7ee28f
[outputs] Fix gcc 10 complaining about multiple definitions
...
outputs_master_volume, output_device_list and output_buffer were defined in
outputs.h, but should only have been declared with extern.
Solve it by making output_buffer static/non-global (wasn't used anyway), and
the two others are now returned by functions.
2020-06-29 00:19:03 +02:00
ejurgensen
69fbd7b32a
[library] Fix gcc 10 warning
...
And avoid a year 10000 doomsday
2020-06-28 23:23:52 +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
whatdoineed2do/Ray
dd2ee019a8
[streaming] drop client mp3 streaming connections if libav has mp3 encode
2020-06-11 13:11:12 +01:00
ejurgensen
8046f13698
[outputs] Fix issue where speaker becomes unselected after pause (flush)
2020-05-30 21:31:27 +02:00
ejurgensen
5d22f11b0e
[player/outputs] Fix for speaker selection and volume adj ( closes #1011 )
...
* Make sure that vol_adjust() bases adjustments on the same speakers that the
user sees as active
* If a speaker fails during activation we unselect it, so that we don't keep
trying to start it, so we find a new master volume if required, and so it is
possible for the user to reselect it.
2020-05-27 23:02:29 +02:00
ejurgensen
a9a6f4b584
[outputs] Check for session in outputs_device_authorize()
2020-05-27 23:02:29 +02:00
ejurgensen
384b1171d9
[raop] Change device verification so we don't risk stale sesssions
...
Before, if a user never verified the device, we would have a device->session
even though the device was not streaming and was in a failed state.
This solution should be more clean and in line with the overall principle that
we only have a session when communicating with the device.
Also includes a bit of code refactoring.
2020-05-27 23:02:29 +02:00
ejurgensen
138d482510
[dummy] Add capability to mock device verification for testing
2020-05-27 23:02:29 +02:00
ejurgensen
d6ec6afb5b
[outputs] Remove outputs_authorize()
...
Replaced by outputs_device_authorize()
2020-05-26 23:21:06 +02:00