Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
c2a2573a
Commit
c2a2573a
authored
Oct 23, 2018
by
Max Kellermann
Browse files
Options
Browse Files
Download
Plain Diff
Merge tag 'v0.20.22'
release v0.20.22
parents
66ab2de5
9274bc15
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
13 deletions
+33
-13
NEWS
NEWS
+6
-1
build.py
android/build.py
+4
-2
FluidsynthDecoderPlugin.cxx
src/decoder/plugins/FluidsynthDecoderPlugin.cxx
+6
-1
Error.hxx
src/input/Error.hxx
+8
-0
TagSongFilter.cxx
src/song/TagSongFilter.cxx
+9
-9
No files found.
NEWS
View file @
c2a2573a
...
...
@@ -49,17 +49,22 @@ ver 0.21 (not yet released)
* build with Meson instead of autotools
* use GTest instead of cppunit
ver 0.20.22 (
not yet released
)
ver 0.20.22 (
2018/10/23
)
* protocol
- add tag fallbacks for AlbumArtistSort, ArtistSort
- fix empty string filter on fallback tags
- "count group ..." can print an empty group
- fix broken command "list ... group"
* storage
- curl: URL-encode paths
* decoder
- fluidsynth: adapt to API change in version 2.0
* Android
- now runs as a service
- add button to start/stop MPD
- add option to auto-start on boot
* work around clang bug leading to crash
* install the SVG icon
ver 0.20.21 (2018/08/17)
* database
...
...
android/build.py
View file @
c2a2573a
...
...
@@ -133,13 +133,15 @@ class AndroidNdkToolchain:
libcxx_path
=
os
.
path
.
join
(
ndk_path
,
'sources/cxx-stl/llvm-libc++'
)
libcxx_libs_path
=
os
.
path
.
join
(
libcxx_path
,
'libs'
,
android_abi
)
libstdcxx_flags
=
'
-stdlib=libc++
'
libstdcxx_flags
=
''
libstdcxx_cxxflags
=
libstdcxx_flags
+
' -isystem '
+
os
.
path
.
join
(
libcxx_path
,
'include'
)
+
' -isystem '
+
os
.
path
.
join
(
ndk_path
,
'sources/android/support/include'
)
libstdcxx_ldflags
=
libstdcxx_flags
+
' -static-libstdc++ -L'
+
libcxx_libs_path
libstdcxx_ldflags
=
libstdcxx_flags
+
' -L'
+
libcxx_libs_path
libstdcxx_libs
=
'-lc++_static -lc++abi'
if
use_cxx
:
self
.
cxxflags
+=
' '
+
libstdcxx_cxxflags
self
.
ldflags
+=
' '
+
libstdcxx_ldflags
self
.
libs
+=
' '
+
libstdcxx_libs
self
.
env
=
dict
(
os
.
environ
)
...
...
src/decoder/plugins/FluidsynthDecoderPlugin.cxx
View file @
c2a2573a
...
...
@@ -64,7 +64,12 @@ fluidsynth_level_to_mpd(enum fluid_log_level level)
* logging library.
*/
static
void
fluidsynth_mpd_log_function
(
int
level
,
char
*
message
,
gcc_unused
void
*
data
)
fluidsynth_mpd_log_function
(
int
level
,
#if FLUIDSYNTH_VERSION_MAJOR >= 2
const
#endif
char
*
message
,
void
*
)
{
Log
(
fluidsynth_domain
,
fluidsynth_level_to_mpd
(
fluid_log_level
(
level
)),
...
...
src/input/Error.hxx
View file @
c2a2573a
...
...
@@ -30,7 +30,15 @@
* exist? This function attempts to recognize exceptions thrown by
* various input plugins.
*/
#ifndef __clang__
/* the "pure" attribute must be disabled because it triggers a clang
bug, wrongfully leading to std::terminate() even though the
function catches all exceptions thrown by std::rethrow_exception();
this can be reproduced with clang 7 from Android NDK r18b and on
clang 6 on FreeBSD
(https://github.com/MusicPlayerDaemon/MPD/issues/373) */
gcc_pure
#endif
bool
IsFileNotFound
(
std
::
exception_ptr
e
)
noexcept
;
...
...
src/song/TagSongFilter.cxx
View file @
c2a2573a
...
...
@@ -54,15 +54,6 @@ TagSongFilter::MatchNN(const Tag &tag) const noexcept
}
if
(
type
<
TAG_NUM_OF_ITEM_TYPES
&&
!
visited_types
[
type
])
{
/* If the search critieron was not visited during the
sweep through the song's tag, it means this field
is absent from the tag or empty. Thus, if the
searched string is also empty
then it's a match as well and we should return
true. */
if
(
filter
.
empty
())
return
true
;
bool
result
=
false
;
if
(
ApplyTagFallback
(
type
,
[
&
](
TagType
tag2
)
{
...
...
@@ -80,6 +71,15 @@ TagSongFilter::MatchNN(const Tag &tag) const noexcept
return
true
;
}))
return
result
;
/* If the search critieron was not visited during the
sweep through the song's tag, it means this field
is absent from the tag or empty. Thus, if the
searched string is also empty
then it's a match as well and we should return
true. */
if
(
filter
.
empty
())
return
true
;
}
return
false
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment