Commit Graph

136 Commits

Author SHA1 Message Date
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 e63aba61c5 Bump version to 28.2 2021-09-02 20:12:38 +02:00
ejurgensen 8c9a164c4a [config] Easier install by letting 'make install' add user and service files
If --enable-install-user set add owntone system user and group (unless other
user/group specified with --with-user or --with-group). The user will be added
to pulse-access if the group is present.

Don't overwrite config, it's a pita. Use same solution as shairport-sync where
distros can use --disable-install_conf_file if required.

A './configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var' will
result in service files in /etc/systemd/system, which seems sensible. Package
builds can specify other location, e.g. --with-systemdir=/lib/systemd/system,
or ship their own service file and use --disable-install-systemd.

Also added more cleanup on uninstall - before we where leaving stuff in
/var/cache/owntone + the logs + the pid files.
2021-09-02 00:21:05 +02:00
ejurgensen 6f0fef6179 [spotify] Reintroduce libspotify support, change spotifyc to librespot-c
Select use of either libspotify or librespot-c as streaming backend via config
option.

librespot-c (renamed/improved spotifyc) impl has the following:
- sync interface
- seek support
- honor bitrate config, set client and thread name
- use web access token with "streaming" scope for login
- fix issue with podcast playback

Also say goodbye to file-based Spotify login.
2021-05-31 23:24:58 +02:00
ejurgensen a67c74ba6c [spotify] Introduce own spotifyc as replacement for libspotify 2021-05-31 11:54:30 +02:00
ejurgensen a597737cad Bump version to 28.1 2021-05-21 23:45:00 +02:00
ejurgensen e837de91e8 Bump to version 28.0 2021-05-21 18:54:41 +02:00
ejurgensen a93455b5a9 [cfg] Rename configure macros FORK -> OWNTONE 2021-04-24 23:54:20 +02:00
ejurgensen f61665b81d [-] Rename source and target names from forked-daapd to owntone 2021-04-24 23:54:20 +02:00
ejurgensen 0d1e22496c Bump to version 27.4 2021-03-15 22:03:47 +01:00
ejurgensen a758be8209 Bump to version 27.3 2021-03-12 19:52:18 +01:00
ejurgensen ef0f41dc46 [airplay] Separate naming of AirPlay 1 and 2, incl log domains 2021-01-10 15:05:21 +01:00
ejurgensen ffadc399af [cfg] Add option for prefering AirPlay 2 (useful for testing) 2021-01-10 15:05:21 +01:00
ejurgensen a5bd8b011e [cfg] libplist+libsodium now required, remove configure options
Need the two libraries for AirPlay 2, which can't be optional.

Means iTunes XML and device verification configure options are no longer
useful.
2021-01-10 15:05:21 +01:00
ejurgensen 265c1e5836 [cfg] Make libplist required (Airplay 2 requirement) 2021-01-10 14:51:16 +01:00
whatdoineed2do/Ray fc5df02d29 [configure] explictly check for 'fabs' and some other math functions to incl -lm 2020-08-22 21:25:17 +02:00
ejurgensen 2ca10d9bba Bump to version 27.2 2020-07-24 00:48:49 +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 ce2006a31b [-] Workaround for libplist.pc missing in libplist 2.2.0 release
Closes #1038
2020-06-28 22:55:24 +02:00
ejurgensen 19358dc869 [mxml] Simplify mxml workarounds 2020-04-15 15:59:15 +02:00
ejurgensen 5ad5f85cc4 [mxml] Workaround mxmlNewTextf/mxmlSaveString segfault
Occurs on amd64 Debian 10.x with mxml 2.12
2020-04-15 15:59:15 +02:00
ejurgensen 804239841d [-] Fix copy/paste error from commit dbc798da (closes #937) 2020-04-10 20:51:00 +02:00
ejurgensen dbc798da4f [-] Workaround for mxml 2.10 memleak
2.10's mxmlDelete memleaks, and mxml is used in many parts of forked-daapd. So
to avoid that we ship upstream's fixed version of mxmlDelete and use that.
2020-04-04 21:07:16 +02:00
ejurgensen e642147f6e Bump to version 27.1 2020-01-29 12:09:19 -08:00
ejurgensen 5ac3a27276 Bump to version 27.0 2019-11-20 20:32:57 +01:00
ejurgensen 398a61d4c4
Fix libconfuse version number (fixes #760)
Credit @whatdoineed2do
2019-06-17 13:12:31 +02:00
ejurgensen a28e370c4f
Merge pull request #748 from chme/conf_deprecated
[conf] Gracefully handle the change of config options for modifying playlists
2019-06-16 22:05:08 +02:00
chme 9cc7381551 [configure] Require libconfuse >= 3.0.0 2019-06-15 12:21:27 +02:00
Scott Shambarger 20f5118f75 [alsa] asoundlib.h should be alsa/asoundlib.h 2019-06-11 20:10:04 -07:00
ejurgensen 55d9d9e6bd [xcode/artwork] Drop support for ffmpeg legacy versions 2019-04-08 22:06:56 +02:00
ejurgensen 8e474dfd7f Bump to version 26.5 2019-03-17 22:52:41 +01:00
ejurgensen d3121f4ec7 [db] Use prepared statements for file insert, update and ping
Get rid of the SQL query strings, since they are prone to errors and are
probably also slower that using prepared statements.
2018-12-31 15:55:49 +01:00
ejurgensen e9c7441241 Bump to version 26.4 2018-09-30 23:13:55 +02:00
ejurgensen d97358f612 Bump to version 26.3 2018-09-08 16:50:54 +02:00
ejurgensen f8205c0780 [config] Check for libcurl if configured with --enable-spotify
Also remove useless per-feature checks for libjson, since it has become
a required dependency.
2018-08-23 22:26:21 +02:00
ejurgensen a7a8efd34f Bump to version 26.2 2018-06-16 21:56:45 +02:00
ejurgensen cf6813f2e4 Bump to version 26.1 2018-06-09 00:23:09 +02:00
ejurgensen db6bbd76bd [config] Improve error message if no or old libwebsockets (issue #542) 2018-06-04 23:18:57 +02:00
chme f4422e9cf4 [MAKEFILE/misc] Add option to disable inclusion of default webinterface 2018-06-03 23:39:37 +03:00
ejurgensen 5e13bac867 [configure] Add option to use old ffmpeg API (issue #502)
Seems ffmpeg 3.4 has a bug in the new API that causes a crash when
avcodec_send_frame() is called. The bug is fixed in 3.4.2.

The new option --disable-modern-av-api allows for building with the
old API, i.e. no avcodec_send_frame(), even if ffmpeg support is
detected at configure time. The option may also become useful for
easier testing of legacy mode.
2018-03-04 21:55:37 +01:00
ejurgensen 0014b9001b Bump to version 26.0 2018-02-24 16:45:41 +01:00
ejurgensen b1c9518a78 [-] Make json-c a required library
Already kind of was required, as it was required by Spotify, Chromecast and the web api
2018-02-22 21:49:11 +01:00
chme e7f8b7010b [configure] Allow to build with db profiling log output
Add configure option to turn on debug logs profiling sql queries with:

./configure --enable-dbprofile
2018-01-13 10:51:41 +01:00
ejurgensen 45d193e56c [scan] Use open()/close() instead of euidaccess() to support ACL's
Fixes #474
2018-01-06 20:10:34 +01:00
ejurgensen 02e5f02e7f [configure] Fix misplaced av_* declaration checks 2017-09-17 00:34:20 +02:00
ejurgensen eec98e3b7e [main/transcode] Fix some libav compability + log what ffmpeg/libav we are using 2017-09-16 23:01:42 +02:00
ejurgensen f8c442ba38 [configure] Change so we enable/disable websockets based on libwebsockets >= 2.0.2 presence 2017-09-16 00:05:50 +02:00
chme b678542ad6 [htdocs] Add admin web interface 2017-09-15 18:49:04 +02:00
chme 75eb5420fd [httpd/websocket/conf] Initial websocket implementation
If enabled (default) requires libwebsockets >= 2.0.2, can be disabled
with configure option --disable-websocket.
2017-09-15 07:14:08 +02:00