Commit Graph

140 Commits

Author SHA1 Message Date
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
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
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
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
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