Commit Graph

12016 Commits

Author SHA1 Message Date
Thomas Guillem ef38dbe5bf android: fix AndroidManifest.xml warnings
- <uses-permission> must be before <application>
 - specify allowBackup (default)
2018-08-20 00:07:18 +02:00
Thomas Guillem 54a5491b86 android: Main is now a service
- add Settings: Activity to start / stop MPD Service (Main).

- Main is a service that run in foreground with a notification. See
  Service.startForeground documentation for more details.

- Main.Client is used to control the service: start or stop it and also receive
  callbacks when service encounters an error, is killed, is started or is
  stopped.

- Main.start to start the service without any fallback.
2018-08-19 23:35:49 +02:00
Thomas Guillem aff070bcbb android: add LogListener
A Java object to send logs on the android side.
2018-08-19 23:32:24 +02:00
Max Kellermann 5af2632d4f Makefile.am: use javac instead of javah to generate JNI header
javah is deprecated.
2018-08-19 23:27:12 +02:00
Max Kellermann 44a31357f4 android/AndroidManifest.xml: increase targetSdkVersion to 26 (required by Google Play) 2018-08-18 20:44:18 +02:00
Joshua Wise 29f78b18b1 storage/plugins/CurlStorage: URL-encode paths in CurlStorage::MapUTF8
When using a database that was not created with a WebDAV music_directory
(i.e., if using a remote database, on which updates happen locally) and
using the Curl storage plugin, MPD would previously send GET requests that
had unescaped spaces in them.  This change uses Curl's URL-encode API to
solve this.
2018-08-17 23:03:56 +02:00
Max Kellermann 147872fe97 lib/curl/Easy: add curl_easy_escape() wrapper 2018-08-17 23:02:49 +02:00
Max Kellermann 38edb58054 increment version number to 0.20.22 2018-08-17 23:02:13 +02:00
Max Kellermann 98afae2520 release v0.20.21 2018-08-17 19:50:59 +02:00
Max Kellermann ddc85c620f configure.ac: make the GIT_COMMIT command worktree-safe
`$srcdir/.git` doesn't exist if `$srcdir` is a worktree.
2018-08-17 19:50:53 +02:00
Max Kellermann 12bc625fe1 android/build.py: add aarch64 support 2018-08-17 19:20:25 +02:00
Max Kellermann 6b407356b9 configure.ac: set ANDROID_ABI=x86 for the Android-x86 build
This was missing in commit 8266ab5588 for #69.
2018-08-17 19:18:29 +02:00
Max Kellermann a4e0b52468 configure.ac, Makefile.am: add variable ANDROID_ABI 2018-08-17 19:01:37 +02:00
Max Kellermann 98efb4f6d5 android: raise minSdkVersion to 21
The number of MPD installs on Android < 5.0 is negligible, and that
API version introduces lots of useful features for MPD.
2018-08-17 19:01:37 +02:00
Max Kellermann 36edb4886c android/build.py: add variable "android_api_level" 2018-08-17 19:01:37 +02:00
Max Kellermann 76290f786d python/build/meson.py: set "needs_exe_wrapper=true"
Prevent Meson from running Android-x86 binaries.  That will fail
because the Android standard libraries are most likely not installed.
2018-08-17 19:00:42 +02:00
Max Kellermann c6299c26b5 python/build/libs.py: disable libnfs utils/examples 2018-08-17 18:32:07 +02:00
Max Kellermann fb5f9baf9c android/build.py: enable libexpat for the "curl" storage plugin 2018-08-17 17:15:05 +02:00
Max Kellermann dee591d970 python/build/libs.py: disable expat documentation 2018-08-17 17:13:39 +02:00
Joshua Wise a5cc13b0c5 build: Add libexpat to the crosscompile build on Windows.
The Curl plugin requires libexpat in order to work these days, so we should
download and build it in order to get the plugin enabled on Windows.
2018-08-17 17:13:39 +02:00
Max Kellermann aaf588aeaa python/libs: upgrade Boost to 1.68.0 2018-08-17 17:13:39 +02:00
Max Kellermann 533a3def9f Makefile.am: add missing $(CURL_CFLAGS) and $(EXPAT_CFLAGS)
Fixes problems with the Windows build because `-DCURL_STATICLIB` was
missing, causing error messages like:

 "undefined reference to `__imp_curl_slist_free_all'"
2018-08-17 17:06:03 +02:00
Max Kellermann fcf487f4e0 playlist/cue: support file type declaration "FLAC" (non-standard)
According to http://wiki.hydrogenaud.io/index.php?title=Cue_sheet FLAC
files should use the "WAVE" file type, but I recently encountered CUE
files declared as "FLAC" which could not be read by MPD.
2018-08-13 08:18:18 +02:00
Max Kellermann 906972973e case-insensitive URI scheme comparison
Required according to RFC 3986:

> An implementation should accept uppercase letters as equivalent to
> lowercase in scheme names

Closes #330
2018-08-02 11:01:45 +02:00
Max Kellermann 116edf5fce util/ASCII: add StringStartsWithCaseASCII() 2018-08-02 10:42:28 +02:00
Max Kellermann 8581013911 configure.ac: default to --disable-daemon on Windows
This typo was present since the option was added in commit ed001e0cfb
2018-08-02 10:27:13 +02:00
Max Kellermann b1e073bacd python/build/libs.py: upgrade FFmpeg to 4.0.2 2018-07-29 18:29:48 +02:00
skidoo23 501e48daba configure.ac: Do not link libsidplayfp against libresid-builder 2018-07-29 18:22:03 +02:00
skidoo23 643ecd1edd configure.ac: clarify sidplay related info 2018-07-29 18:21:42 +02:00
Max Kellermann 7393e1cba1 python/build/libs: upgrade libnfs to 3.0.0 2018-07-16 10:58:19 +02:00
Max Kellermann ceee47fda8 python/build/libs: upgrade CURL to 7.61.0 2018-07-16 10:55:08 +02:00
Max Kellermann 6f3c0d0a60 AudioFormat: include cleanup 2018-07-06 19:35:31 +02:00
Max Kellermann 466625f7ad input/curl: use new class HttpStatusError
This way, IsFileNotFound() can detect status 404.
2018-07-06 19:26:11 +02:00
Max Kellermann b8259e604a db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore
Supports .mpdignore on NFS/SMB and others (closes #290).
2018-07-06 19:19:04 +02:00
Max Kellermann 86e2075c63 lib/nfs/Connection: use new class NfsClientError
Allows callers to extract the NFS error code.
2018-07-06 19:17:34 +02:00
Max Kellermann 30900b2fe2 input/Error: new library providing IsFileNotFound() 2018-07-06 19:16:01 +02:00
Max Kellermann fd7ae7ea4c input/Domain: remove obsolete variable 2018-07-06 19:13:53 +02:00
Max Kellermann 60d5bf0240 util/StringFormat: new utility library 2018-07-06 19:07:02 +02:00
Max Kellermann 41cdc4e14b input/Offset: add macro PRIoffset 2018-07-06 19:06:05 +02:00
Max Kellermann 87dfca0477 input/curl: remove obsolete Windows sprintf() fallback
See commit be137a191e
2018-07-06 19:05:09 +02:00
Max Kellermann e1ee8e7812 util/FormatString: remove obsolete Windows fallback
Since 7d353bbe2a, _GNU_SOURCE is always
defined, which implies __USE_MINGW_ANSI_STDIO and thus switches to
the mingw implementations of the printf() family.  That's
standards-compliant, unlike Microsoft's CRT implementations.
2018-07-06 19:04:33 +02:00
Max Kellermann 63406efcd8 db/update/ExcludeList: allow comments only at start of line 2018-07-06 18:27:17 +02:00
Max Kellermann d5c132fca0 db/update/ExcludeList: move code to ParseLine() 2018-07-06 18:25:27 +02:00
Max Kellermann 5f082a2739 output/httpd: remove broken DLNA support code
This code was added in 21851c0673 but
looks completely broken:

- the status code is "206 OK" but "206" would be "Partial Content"

- the "Content-Length" header has a bogus value

- the "Content-RangeX" parameter has different bogus values (why
  "Content-RangeX" anyway and not "Content-Range"?)

Apart from that, there are strange undocumented non-standard headers
which are probably there to work around bugs/expectations in one
broken proprietary client product.  But these days, MPD doesn't bend
over to support broken clients.  So let's kill this code.

Closes #304
2018-07-06 17:28:01 +02:00
Max Kellermann 7d6a762845 python/build/libs.py: upgrade FFmpeg to 4.0.1 2018-06-22 22:35:27 +02:00
Max Kellermann 8dcb1f805d db/proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
Closes #284
2018-05-28 20:14:07 +02:00
Max Kellermann a8b9e5b9b9 db/proxy: add "password" setting
Closes #283
2018-05-28 20:01:08 +02:00
Max Kellermann 04f928e2b0 doc/user.xml: remove copy&paste fallout 2018-05-28 20:01:08 +02:00
Max Kellermann c7a803c922 increment version number to 0.20.21 2018-05-28 19:46:54 +02:00
Max Kellermann ab197b6d43 release v0.20.20 2018-05-22 12:40:18 +02:00