Commit Graph

6092 Commits

Author SHA1 Message Date
Alain Nussbaumer
0a91ad8cec #1473 Fix the listing of files 2023-03-24 04:17:17 +01:00
Alain Nussbaumer
a55c6ed941 #1473 Add sort by rating for composer, genre, and artist tracks. 2023-03-23 23:19:55 +01:00
ejurgensen
90e0be07e2
Merge pull request #1593 from hacketiwack/error-message 2023-03-17 13:53:53 +01:00
ejurgensen
57c91118c2
Merge pull request #1592 from hacketiwack/translations 2023-03-17 13:53:06 +01:00
Alain Nussbaumer
c9c6094e5b Error message not displayed 2023-03-17 00:19:14 +01:00
Alain Nussbaumer
6069fd07e3 I18n: Correction of translations in French, German, and English 2023-03-16 23:47:04 +01:00
lordmyschkin
a4ae747b15 [web] Optionally Show FilePath on Now playing-Page 2023-03-15 22:32:16 +01:00
ejurgensen
c645d570ea [artwork] Also look for "own" artwork for pipes
Closes #1591
2023-03-15 22:08:59 +01:00
ejurgensen
6930fcbfb8
Merge pull request #1589 from owntone/dependabot/npm_and_yarn/web-src/vite-2.9.13
Bump vite from 2.9.12 to 2.9.13 in /web-src
2023-03-10 19:28:29 +01:00
dependabot[bot]
88b89053d4
Bump vite from 2.9.12 to 2.9.13 in /web-src
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.12 to 2.9.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v2.9.13/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 15:51:14 +00:00
ejurgensen
3c72c009ab
Merge pull request #1588 from owntone/dependabot/npm_and_yarn/web-src/luxon-2.5.2
Bump luxon from 2.4.0 to 2.5.2 in /web-src
2023-03-10 16:50:13 +01:00
dependabot[bot]
376f41c464
Bump luxon from 2.4.0 to 2.5.2 in /web-src
Bumps [luxon](https://github.com/moment/luxon) from 2.4.0 to 2.5.2.
- [Release notes](https://github.com/moment/luxon/releases)
- [Changelog](https://github.com/moment/luxon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moment/luxon/compare/2.4.0...2.5.2)

---
updated-dependencies:
- dependency-name: luxon
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 14:56:49 +00:00
ejurgensen
98ee49dca5
Merge pull request #1576 from owntone/thread_httpd4
[httpd] Multithreaded httpd and refactor of streaming
2023-03-09 00:08:15 +01:00
ejurgensen
e94838925e [httpd] Change prototype for the close connection callback
Don't include hreq since it isn't fully valid, so caller shouldn't be invited
to dereference it.
2023-03-07 21:01:45 +01:00
ejurgensen
18a80f15dd [httpd] Multithread solution using worker threads instead of httpd threads
Using worker threads instead of httpd threads means that we, not libevent,
decide which requests get handled by which threads. This means that we can
make sure blocking requests (e.g. volume changes) don't get in the way of
realtime(ish) stuff like mp3 streaming.

Includes refactor of httpd_stream_file() since it was a bit of a monster.
2023-03-07 21:01:45 +01:00
ejurgensen
81922e147e [streaming] Fix BSD name collision (pipe) 2023-03-07 21:01:10 +01:00
ejurgensen
a2c63a5bac [httpd] Check for syscall() presence and fix small memleak 2023-03-07 21:01:10 +01:00
ejurgensen
7841e336b3 [main] Make libevent_pthreads non-optional 2023-03-07 21:01:10 +01:00
ejurgensen
e77cb3f94e [streaming] ICY handling using output metadata events/callbacks 2023-03-07 21:01:10 +01:00
ejurgensen
4d0c297901 [evhtr] Consolidate pool threading in evthr.c
Also reinstate check for server already running
2023-03-07 21:01:10 +01:00
ejurgensen
bd6f38282c [httpd] Main commit that adds multithreading to httpd
Also refactor streaming implementation to make it more like an output and to
let the design support multithreading.
2023-03-07 21:01:10 +01:00
ejurgensen
50a319df2b [httpd] Try doing request handling in worker thread 2023-03-07 21:01:10 +01:00
ejurgensen
4736e10d11 [worker] Remove some unused includes 2023-03-07 21:01:10 +01:00
ejurgensen
3377faffb8 [worker] Switch worker to use evthr threadpool 2023-03-07 21:01:10 +01:00
ejurgensen
68d66c3229 [httpd] Drop libevhtp backend
Despite that it seemingly supports multithreading it picks threads that are
busy, and not sure how that can be prevented. Also libevhtp is currently
unmaintained.
2023-03-07 21:01:10 +01:00
ejurgensen
74f1b93b42 [httpd] Make http modules agnostic to evhttp 2023-03-07 21:01:10 +01:00
ejurgensen
4ae73fa9b4 [httpd] Move internal declarations to httpd_internal.h 2023-03-07 21:01:10 +01:00
ejurgensen
2778088c52 [httpd] Refactor to use modules for daap, dacp, json api etc.
Removes a lot of code duplication which hopefully will make it easier to add
support for evhtp as http engine.
2023-03-07 21:01:10 +01:00
ejurgensen
83b8a4eb3f [http] Use curl for URL parsing instead of depending on httpd
Makes it easier to make the httpd parsing internal.
2023-03-07 21:01:10 +01:00
ejurgensen
2e31a3d4f3 [misc] 'unsigned short' instead of 'short unsigned' as arg to net_evhttp_bind() 2023-03-07 21:01:10 +01:00
ejurgensen
316d932d99 [dmap] Move dmap_send_error() to dacp_send_error()
Means dmap_common doesn't need a dependency to httpd and http replying is kept
within httpd_xxx modules.
2023-03-07 21:01:10 +01:00
ejurgensen
631996f133 [mpd] Decouple mpd and httpd
mpd is based on evhttp, so if httpd should use another backend they need to be
decoupled. No need to use httpd_send_reply/error, since CORS headers are not
relevant to MPD artwork serving.
2023-03-07 21:01:10 +01:00
ejurgensen
23979d223c [httpd] Refactor http handlers so they are initialized centrally
Means regex.h doesn't need to be in httpd.h making it easier to e.g. experiment
with evhtp.
2023-03-07 21:01:10 +01:00
ejurgensen
5f342ea60b [httpd/artwork] Drop support for libevent <2.1.4 2023-03-07 21:01:10 +01:00
Diederik de Haas
d38b07bbad Stop ignoring changes to debian dir
This project has no `debian` directory (anymore?), so there's no need to
ignore what happens there.
Removing it would also make packaging for Debian (based) distros easier.
2023-03-05 20:46:34 +01:00
ejurgensen
f9c50b80fc Bump version to 28.6 2023-03-02 23:25:23 +01:00
ejurgensen
e02d891130 ChangeLog for OwnTone 28.6 2023-03-02 23:23:26 +01:00
ejurgensen
6ade24c935 [xcode] Support for user-configured ffmpeg filters
Closes #1583 and #290
2023-02-25 16:48:17 +01:00
ejurgensen
2272f99599 [artwork] Fix for --disable-spotify broken in commit c8e46aa 2023-02-06 22:59:27 +01:00
ejurgensen
070cf6a5fc [spotify] Some cleanup of webapi client 2023-02-06 22:38:44 +01:00
ejurgensen
eee011180f [spotify] Make web api client thread safe
Protect http_session with a lock and don't use mutating globals in utility
functions where it is less clear if they are protected.
2023-02-06 22:38:44 +01:00
ejurgensen
c8e46aad42 [artwork] Make Spotify online artwork getter thread safe
By making the global struct online_source's read-only. Before, the Spotify
handler was modifying auth_secret in a non-thread safe way.
2023-02-06 22:38:44 +01:00
whatdoineed2do/Ray
cc3cceaa99 [web-src] remove absolute paths in index.html and force vite generation to allow reverse proxy from an subpath 2023-02-05 17:16:07 +01:00
ejurgensen
8b6336b91d [xcode] Protect against memleak if future ffmpeg doesn't free options
Can happen if ffmpeg doesn't recognize all the options
2023-02-05 17:14:17 +01:00
ejurgensen
aa2512837e
Merge pull request #1574 from LordMyschkin/german
[web-ui] Minor improvements to german translation
2023-01-24 13:31:23 -08:00
lordmyschkin
6ac88d677b minor improvments to german translation 2023-01-23 18:58:42 +01:00
Alain Nussbaumer
879feab518 [web] Fix for error messages not displaying #1500 2023-01-23 04:37:43 -08:00
ejurgensen
40ac39b6df
Merge pull request #1572 from whatdoineed2do/web-directory-fix
[web] directory modal handling fix
2023-01-23 04:35:00 -08:00
whatdoineed2do/Ray
dd1b39b347 [web] directory modal handling fix 2023-01-21 21:46:14 +00:00
LordMyschkin
4f848948e7
[web] German translation
German translation

Co-authored-by: lordmyschkin <martin@dieroths.at>
2023-01-21 16:50:06 +01:00