Commit Graph

5958 Commits

Author SHA1 Message Date
chme ecc139641a [spotify] Respect `album_override` setting when parsing Spotify tracks 2022-04-04 20:51:14 +02:00
Christian Meffert 0f204c66ea
Merge pull request #1436 from chme/feat/jsonapi-browse
[jsonapi] Generic browse endpoints
2022-04-03 13:57:34 +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
Christian Meffert 44d2c02b35
Merge pull request #1422 from chme/web/next
[web] Migration to Vue 3 and Vite
2022-03-20 15:37:04 +01:00
chme 0567e7528a [htdocs] Rebuild web interface and update htdocs-Makefile 2022-03-20 15:24:23 +01:00
chme e5a87d0396 [web] Fix hiding singles in artists and albums views 2022-03-20 15:24:23 +01:00
chme 8f934ec690 [web] Fix running dev server with remote owntone server; update docs 2022-03-20 15:24:23 +01:00
ejurgensen bfbd6346d0
Merge pull request #1435 from whatdoineed2do/player-clear_queue_on_stop_disable 2022-03-20 14:11:16 +01:00
whatdoineed2do/Ray f6ce4c0df2 [player] missing update from 92279ef 2022-03-20 12:52:36 +00:00
ejurgensen 283298b0b4 [docs] Make clearer in INSTALL.md that libspotify is legacy 2022-03-19 23:38:25 +01:00
chme 02af9f2a23 [web] Update dependencies 2022-03-19 07:04:37 +01:00
Ben Willmore 965d55d67d Fix failure to detect apple-touch-icon.png (#4)
* Fix failure to detect apple-touch-icon.png

* apple-touch-icon: Use ?ver=2.0 not ?ver2.0

Co-authored-by: Ben Willmore <ben@willmore.eu>
2022-03-19 07:04:37 +01:00
Ben Willmore decea8be66 Use vuex mutation instead of manipulating state directly 2022-03-19 07:04:37 +01:00
Ben Willmore f484f1194b Search page: remember whether library or spotify is selected 2022-03-19 07:04:37 +01:00
Ben Willmore a5dd6c4968 Websocket: remove unnecessary notifications 2022-03-19 07:04:37 +01:00
Ben Willmore 9d9bcc51f8 Websocket: reconnect more rapidly when closed 2022-03-19 07:04:37 +01:00
Ben Willmore f380872540 When window gains focus or document becomes visible, update visible info
It doesn't seem necessary to also reconnect the websocket
2022-03-19 07:04:37 +01:00
chme 27e2274d8a [web] Refactor lists to improve performance
Reduces the number of Vue components that need to be created/managed.
Instead of a Vue component for each item, we now only have one Vue
component for the whole list of items.
2022-03-19 07:04:37 +01:00
Ben Willmore a24cb11e17 Reconnect websocket when window receives focus 2022-03-19 07:04:37 +01:00
chme 6519b18aa0 [web] Fix linting errors 2022-03-19 07:04:37 +01:00
chme c78f861f45 [web] Format web sources with prettier and run fix linting errors 2022-03-19 07:04:37 +01:00
chme d7f1c13585 [web] Configure eslint and prettier dev tools 2022-03-19 07:04:37 +01:00
chme de097fcf94 [web] Migration to Vue 3 and Vite 2022-03-19 07:04:37 +01: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
ejurgensen 9d6eec3b18
Merge pull request #1429 from whatdoineed2do/streaming-status-leak
[streaming] memleak introduced via e1375f6ad
2022-03-06 09:46:24 +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 1f16178036
Merge pull request #1417 from owntone/db_unicode_search2
[db] Improve search by supporting diacritics and Unicode case folding
2022-02-14 21:22:42 +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
ejurgensen 26d7cf453c
Merge pull request #1397 from whatdoineed2do/outputs-soundbridge
[outputs] new output: Roku/Soundbridge RCP
2022-02-06 17:17:05 +01:00
whatdoineed2do/Ray 8f722faaf2 [outputs] new output: RCP/Roku/SoundBridge devices
Roku SoundBridge devices can be treated as dumb speakers; they offer a
texted based protocol, RCP, that allows the server to request the Roku
device to connect to the server's stream.mp3 and provides ability to
control volume

Roku devices appear as speakers automatically via mDNS announcements on
the server _roku-rcp._tcp
2022-02-05 21:59:00 +00:00
ejurgensen a19f5e3915 [db] Use static_assert() for map size consistency checking 2022-02-05 22:20:57 +01:00
ejurgensen dd5ab6eb1d [cast] Remove djb_hash() error check 2022-02-05 22:06:25 +01:00
ejurgensen a91d388fdf [docs] Change Raspbian -> Raspberry Pi OS in INSTALL 2022-02-04 17:06:13 +01:00
ejurgensen dca85c5a79 [docs] Add documentation about saving playlists (ref issue #1408) 2022-01-31 22:26:58 +01:00
whatdoineed2do/Ray c66df6864c [smartpl] add 'THIS WEEK' 2022-01-31 17:23:48 +01:00
ejurgensen d6a9ef4081 [smartpl] Minor lexer simplification 2022-01-31 17:21:53 +01:00
ejurgensen 4fee544a5d [misc] Fix possible read of uninitialized memory in safe_snreplace() 2022-01-31 17:20:37 +01:00
ejurgensen 75c3590741 [parsers] Use YYABORT instead of negative return
Seems return could lead to a memleak of yymsg
2022-01-31 00:44:29 +01:00