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
ejurgensen
410fa4b80e
[smartpl] calloc error check to avoid Coverity warning
2022-01-31 00:43:41 +01:00
ejurgensen
4d8eed49a3
[-] Update gitignore with removed rsp hash file
2022-01-31 00:42:46 +01:00
ejurgensen
17b9ce0969
[smartpl/daap] Fix some error checks after PR #1386
2022-01-30 15:34:54 +01:00
ejurgensen
bc1c3e7bd3
Merge pull request #1386 from owntone/bison_parser1
...
Replace antlr3 parsers with bison/flex
2022-01-30 10:20:01 +01:00
ejurgensen
75c6733832
[smartpl] Add "scan_kind" field to smart query language (bison/flex version)
...
bison/flex version of commit #1694e6e
2022-01-30 09:58:48 +01:00
ejurgensen
ab81de9f7b
[docs] Add bison and flex requirement to installation docs
2022-01-29 17:46:40 +01:00
ejurgensen
d0bfe193ee
[rsp] Add more keywords to RSP lexer
...
Just in case they might be needed by some client
2022-01-29 17:46:40 +01:00
ejurgensen
228c8e7920
[daap] Move daap_query_parse_sql() into dmap_common.c/h, drop daap_query.c/h
2022-01-29 17:46:40 +01:00
ejurgensen
71b4444118
[rsp] Add basic bison/flex RSP parser
2022-01-29 17:46:40 +01:00
ejurgensen
9c1f7dd380
[smartpl] Add ESCAPE to LIKE queries where the value contains % and _
...
Plus various minor improvements
2022-01-29 17:46:40 +01:00
ejurgensen
9233c03ca8
[daap] Unescaping of \' in the value part of a daap clause
2022-01-29 17:46:40 +01:00
ejurgensen
6238647202
[smartpl] Minor improvements to parser
2022-01-29 17:46:40 +01:00
ejurgensen
3898a4b588
[smartpl] Make parser return actual datakind/mediakind values from db.h
2022-01-29 17:46:40 +01:00
ejurgensen
db6f300071
[daap/smartpl] Fix print masks in parsers
2022-01-29 17:46:40 +01:00
ejurgensen
7b93336cab
[smartpl] Escape value fields (protect against SQL injections)
2022-01-29 17:46:40 +01:00
ejurgensen
074ad56ca1
Attempt to fix macOS workflow mk8
2022-01-29 17:46:40 +01:00
ejurgensen
35382d1a7e
Attempt to fix macOS workflow mk7
2022-01-29 17:46:40 +01:00
ejurgensen
54f6004bf9
[daap] Place ESCAPE properly in SQL query
2022-01-29 17:46:40 +01:00
ejurgensen
769ee0f2c7
Attempt to fix macOS workflow
2022-01-29 17:46:40 +01:00
ejurgensen
f36d1cce6d
Put bison/flex files in parsers dir, so scan-build --exclude can be used
...
The autogenerated files create warnings that we can't do much about, so
exclude them.
2022-01-29 17:46:40 +01:00
ejurgensen
397800c9cd
[smartpl] Reinstate smartpl file scanner with new parser
2022-01-29 17:46:40 +01:00
ejurgensen
797d688a29
Update workflow files: bison/flex instead of antlr
2022-01-29 17:46:40 +01:00
ejurgensen
efe5df5e12
[daap/smartpl] Add new bison/flex parsers
2022-01-29 17:46:40 +01:00
ejurgensen
3a93dc5da8
[daap/rsp/smartpl] Drop ANTLR parsers
...
Replacing the antlr parsers solves multiple issues:
- Build warnings (issue #307 )
- Build hacks: "-Xconversiontimeout 30000" and other Makefile magic
- Incorrect parsing of daap queries with sql wildcards (like 'tag:*tes%t_ng*')
- Infinite recursion/memory/CPU (issue #570 and #1248 )
- systemd service file workarounds due to memory/CPU issue
- ANTLR3 being replaced with ANTLR4 (that doesn't support C file generation)
- Runtime dependency on antlr library
- Difficult installs of ANTLR3 on some systems (special install script)
2022-01-29 17:46:40 +01:00
ejurgensen
a95b226fdb
Bump version to 28.3
2022-01-29 17:20:49 +01:00
ejurgensen
0d27eb6c4b
ChangeLog and README for OwnTone 28.3
2022-01-29 17:19:38 +01:00
Christian Meffert
3caa6f5b1d
Merge pull request #1401 from chme/web-partial-scan
...
Web UI - Add support for updating a single library source
2022-01-22 12:35:03 +01:00
Christian Meffert
4932ac9c0b
Merge pull request #1378 from chme/refactor/library-source-field
...
Add "source" field to db and add support to update a single library source
2022-01-22 12:33:04 +01:00
chme
9603e7c282
[htdocs] Rebuild web interface
2022-01-22 12:12:41 +01:00
chme
bb7d402cef
[web-src] Update dependencies
2022-01-22 12:12:41 +01:00
chme
ad96321c24
[web-src] Add option to only update a single library source
2022-01-22 12:12:41 +01:00
chme
1694e6e111
[smartpl] Add "scan_kind" field to smart query language
2022-01-22 12:07:52 +01:00
chme
1d2e4dc7a8
[db,library] Add "scan_kind" field to playlists, directories and files
...
(db upgrade to v22.00)
`scan_kind` identifies the library "scanner" component that created the
item and is responsible to keep it up to date (rescan).
The library update now supports passing a `scan_kind` to update only the
items of one particular "scanner". This allows e. g. to only update the
item from the Spotify library or only update the RSS feeds.
The OwnTone database is upgraded to v22.00 and the `scan_kind` columns
in `files`, `playlists`, `directories` are identified by:
1. Check if item is part of a RSS playlist (podcast RSS feed), they
belong to the "rssscanner"
2. Check if item has a Spotify `virtual_path`, they belong to the
"spotifyscanner"
3. Remaining items belong to the "filescanner"
2022-01-22 10:38:31 +01:00
ejurgensen
31e90070ff
Merge pull request #1399 from owntone/ffmpeg5
...
Modifications for ffmpeg 5 (fixes #1396 )
2022-01-21 21:33:52 +01:00
ejurgensen
b5087e110f
[xcode] Modifications for ffmpeg 5 ( fixes #1396 )
2022-01-21 19:25:58 +01:00
ejurgensen
119eb46daa
Merge pull request #1398 from owntone/coverity_issues
...
Fixes for misc minor issues reported by Coverity
2022-01-21 19:03:31 +01:00