4375 Commits

Author SHA1 Message Date
whatdoineed2do/Ray
48526c2ab7 [dacp] bug fix - play item from 'up next' when stopped 2022-09-03 01:32:01 +02:00
ejurgensen
c1373394a8 [mdns] Add log hint about Avahi not running if adding browser fails
Ref issue #1529
2022-08-21 10:21:22 +02:00
ejurgensen
3cbb95976a [airplay] Add support for password based authentication
Closes #1527
2022-08-15 20:09:54 +02:00
ejurgensen
31ab97595e [smartpl] Support larger smart playlists (fixes #1521) 2022-08-08 17:42:54 +02:00
ejurgensen
1725d5cef6 [mdns] If configured, use bind_address to set network interface
Otherwise keep using AVAHI_IF_UNSPEC. Resolves #1519.
2022-07-14 21:29:21 +02:00
ejurgensen
3754871c73 [misc] Add utility function to get interface name from IP address 2022-07-14 21:12:58 +02:00
ejurgensen
680c27eb66 [mdns] Fix possible crash after Avahi restart (fixes #1509)
Necessary to clear the resolver list on client restart, since especially
r->resolver becomes invalid when mdns_client is freed.

Also drop freeing of libevent watches and timers on deinit, it is not
necessary, Avahi will do it.
2022-07-14 21:00:34 +02:00
ejurgensen
0bde7acce8 [smartpl] Fix parsing of CRLF and "NOT (" (closes #1502) 2022-06-28 20:46:20 +02:00
ejurgensen
8f9f311bdf [dacp] Fix AirPlay speakers turning on by themselves (closes #1487)
Affects Denon speakers and possibly others
2022-06-06 10:20:40 +02:00
Christian Meffert
ffcde46140
Merge pull request #1484 from chme/fix/consume-repeat
[player] Turn repeat mode off when activating consume mode
2022-06-03 07:51:37 +02:00
chme
9340443a3b [spotify] Remove "Spotify saved" playlist
This special playlist was previously required to keep track of saved
albums tracks to avoid purging them after a rescan, since then the
rescan logic was changed to use the Spotify web api and this playlist
has no use anymore.
2022-06-03 07:06:17 +02:00
chme
efb9ba7767 [spotify] Additional cleanup of functionality only used with libspotify
- Remove playlist commands only used by libspotify: adding / removing
playlist command was used by the callbacks from libspotify to receive
incremental updates (did not work for some time)
- Remove "login" web api endpoint: no login into libspotify is required
any more. Spotify web api authorization follows the OAuth flow.
2022-06-03 07:06:17 +02:00
ejurgensen
02078212ac [httpd] Better log message when Spotify OAuth fails 2022-06-02 19:58:51 +02:00
chme
63bede3ee9 [player] Turn repeat mode off when activating consume mode and vice
versa
2022-05-28 09:42:07 +02:00
ejurgensen
0ca02687bd [spotify] Remove old libspotify integration
No longer works, libspotify has been sunset by Spotify
2022-05-25 22:49:35 +02:00
ejurgensen
d4a2b11c3e [spotify] Slightly improved version of recent commit 79fb65f 2022-05-24 20:34:45 +02:00
hgy59
30f33b1b1d mdns_init: avoid null reference access
- when avahi client creation fails with mdns_client=null, use avahi_strerror(error) instead of MDNSERR
  to avoid access to mdns_client->error.
2022-05-22 20:56:49 +02:00
ejurgensen
79fb65fbd8 [spotify] Fix for "Premium account required" (issue #1474)
Sadly user-agent spoofing seems to be necessary after Spotify sunset of
libspotify. Apparently librespot is whitelisted.
2022-05-17 23:31:30 +02:00
whatdoineed2do/Ray
5cebf4aca2 [smartpl] add 'file_size' 2022-05-13 15:27:02 +01:00
whatdoineed2do/Ray
4418803aba [db,jsonapi] add file_size to count query 2022-05-13 09:51:06 +01:00
whatdoineed2do
670ac7745d
[rcp] bug fix - speaker unselection upon restart / obey volume (#1459) 2022-05-08 14:09:59 +02:00
ejurgensen
c90a1c17e3 [-] Fix deprecated GCRY_THREAD_OPTION_PTHREAD_IMPL and GCRYCTL_SET_THREAD_CBS
Looks like libgcrypt uses platform standard threading instead of asking caller
for a threading package/callbacks.
2022-05-08 10:04:58 +02:00
whatdoineed2do/Ray
b54a963f3a [web] typo prevent handling of LISTENER_SPEAKER events 2022-05-07 11:12:22 +01:00
Christian Meffert
6dbd90ad7f
Merge pull request #1461 from whatdoineed2do/player-missing-listener-event-on-device-fail
[player] send volume event when a device fails
2022-05-07 08:24:45 +02:00
chme
d277f7c7b3 [http/spotify] Add support for http sessions across multiple requests
This change allows to reuse curl handles for multiple requests.
Reusing a curl handle improves performance if more than one request is
made against a service (connection, session cache, dns cache are kept
between requests).
2022-05-01 09:01:23 +02:00
whatdoineed2do/Ray
b5bb0bd7f2 [player] send volume event when a device fails - without this the webui does not know that an output device failing, volume/selected status remains 2022-04-29 22:00:03 +01:00
whatdoineed2do/Ray
7d525e4dec [rcp] bug fix on deinit() - the rcp_session_cleanup() adv the head of list so no need to do again in deinit loop 2022-04-24 15:04:23 +01:00
Christian Meffert
7598a71aea
Merge pull request #1444 from chme/feat/jsonapi-pl-item-count
[jsonapi] Add item and stream count to playlists, expose config option "radio_playlists"
2022-04-08 17:44:02 +02:00
Christian Meffert
176142f311
Merge pull request #1445 from whatdoineed2do/websocket-slow-shutdown
[web] slow 4.1.6 shutdown; request to cancel ws loop
2022-04-06 17:27:38 +02:00
whatdoineed2do/Ray
f33ccb9238 [web] slow 4.1.6 shutdown; request to cancel ws loop 2022-04-06 11:18:48 +01:00
chme
32c1516e60 [jsonapi] Add item and stream count to playlists, expose config option
"radio_playlists" in config endpoint
2022-04-05 21:48:24 +02:00
chme
e5d3c148ea [db/scan] Force compilation artist if track belongs to a compilation 2022-04-04 20:55:19 +02:00
chme
ecc139641a [spotify] Respect album_override setting when parsing Spotify tracks 2022-04-04 20:51:14 +02:00
chme
9564240613 [jsonapi] New endpoint to fetch single composer/genre
Refactor "browse" endpoints (genre and composer) by defining a common
endpoint with the browse type as path parameter.
2022-03-31 20:51:00 +02:00
chme
b18b76413d [httpd] Fix parsing of uri into path parts with encoded '/' (%2F)
In path with an encoded '/' character, the parsing of the path into
parts was wrong.

E. g. an uri like
'/api/library/composers/Adam%20Gardner%2FDavid%20Schneider' would result
in the following parts:

- path_part[0] = "/api"
- path_part[1] = "library"
- path_part[2] = "composer"
- path_part[3] = "Adam Gardner"
- path_part[4] = "David Schneider"

Doing the decode after splitting the uri into parts fixes this and
results in:

- path_part[0] = "api"
- path_part[1] = "library"
- path_part[2] = "composer"
- path_part[3] = "Adam Gardner/David Schneider"
2022-03-31 20:51:00 +02:00
ejurgensen
a932cc532d [smartpl] Increase size of parse output buffer
To accommodate for larger smart playlists
2022-03-24 22:58:54 +01:00
ejurgensen
03d05ea828 [spotify] Make sure failed AP's are avoided on next connection attempt 2022-03-22 20:58:43 +01:00
ejurgensen
f27eac8341 [artwork] Also use queue_item->artwork_url for pipe sources 2022-03-22 20:57:43 +01:00
ejurgensen
54aa9c32cc [dacp] Listen for queue events to support json api metadata updates
Will only work for http and pipe sources

Fixes #1433
2022-03-22 20:57:43 +01:00
ejurgensen
5b23da9196 [player] 'clear_queue_on_stop_disable' in mpd section should keep working
Ref commit bfbd634
2022-03-20 20:30:25 +01:00
whatdoineed2do/Ray
f6ce4c0df2 [player] missing update from 92279ef 2022-03-20 12:52:36 +00:00
ejurgensen
92279ef33d [library] Move clear_queue_on_stop_disable cfg option to library section
Resolves #1430
2022-03-17 22:44:06 +01:00
ejurgensen
48051f6364 [spotify] Handle channel error (so that new AP connection is triggered) 2022-03-15 21:14:28 +01:00
ejurgensen
75f6f75da3 [smartpl] Fix bison parser regression, missing "starts with" syntax
Also adds "ends with" syntax just for good measure.

Closes #1432
2022-03-07 23:31:52 +01:00
whatdoineed2do/Ray
ac9772eecf [streaming] memleak introduced via e1375f6ad 2022-03-05 21:02:18 +00:00
ejurgensen
e6823199d6
[db] Fix incorrect sorting of album/artist searches via web api (#1421)
Fix incorrect sorting of album/artist searches via web api. Also works with composers etc.

Fixes issue #1418
2022-02-20 10:18:13 +01:00
ejurgensen
616be4d8cb [db] Use custom LIKE operator adapted from sqlite's icu.c (closes #1390)
Improves the search, e.g.:
- 'é' LIKE 'e'
- 'æ' LIKE 'Æ'
- 'Ö' LIKE 'o'
2022-02-13 20:52:40 +01:00
ejurgensen
edd22b6874 [scan] Remove unused libunistring includes 2022-02-12 20:58:16 +01:00
ejurgensen
6a5a27d3db [rcp] Fixup print masks, disable some logging 2022-02-11 22:09:14 +01:00
whatdoineed2do
a0ea8416f6
[db] fix 'add next' when in queue shuffle mode (#1414)
* [db] fix 'add next' when in queue shuffle mode

* [db] review on 'add next' fix

Co-authored-by: whatdoineed2do/Ray <whatdoineed2do@nospam.gmail.com>
2022-02-06 20:23:06 +01:00