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
7a1b56fe
Commit
7a1b56fe
authored
Apr 03, 2019
by
Max Kellermann
Browse files
Options
Browse Files
Download
Plain Diff
Merge tag 'v0.21.7'
release v0.21.7
parents
508e5221
ef10354d
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
83 additions
and
37 deletions
+83
-37
NEWS
NEWS
+6
-1
AndroidManifest.xml
android/AndroidManifest.xml
+2
-2
meson.build
meson.build
+18
-1
libs.py
python/build/libs.py
+7
-7
PlaylistCommands.cxx
src/command/PlaylistCommands.cxx
+13
-1
HybridDsdDecoderPlugin.cxx
src/decoder/plugins/HybridDsdDecoderPlugin.cxx
+2
-2
add_resources.sh
src/haiku/add_resources.sh
+3
-0
meson.build
src/haiku/meson.build
+19
-11
mpd.rdef.in
src/haiku/mpd.rdef.in
+9
-1
CurlInputPlugin.cxx
src/input/plugins/CurlInputPlugin.cxx
+2
-3
SmbclientInputPlugin.cxx
src/input/plugins/SmbclientInputPlugin.cxx
+2
-5
HaikuOutputPlugin.cxx
src/output/plugins/HaikuOutputPlugin.cxx
+0
-3
No files found.
NEWS
View file @
7a1b56fe
...
@@ -8,9 +8,14 @@ ver 0.22 (not yet released)
...
@@ -8,9 +8,14 @@ ver 0.22 (not yet released)
- ffmpeg: new plugin based on FFmpeg's libavfilter library
- ffmpeg: new plugin based on FFmpeg's libavfilter library
- hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback
- hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback
ver 0.21.7 (not yet released)
ver 0.21.7 (2019/04/03)
* input
- qobuz/tidal: scan tags when loading a playlist
* require Meson 0.49.0 for native libgcrypt-config support
* require Meson 0.49.0 for native libgcrypt-config support
* fix build failure with -Dlocal_socket=false
* fix build failure with -Dlocal_socket=false
* Haiku
- fix build
- add version info
ver 0.21.6 (2019/03/17)
ver 0.21.6 (2019/03/17)
* protocol
* protocol
...
...
android/AndroidManifest.xml
View file @
7a1b56fe
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"org.musicpd"
package=
"org.musicpd"
android:installLocation=
"auto"
android:installLocation=
"auto"
android:versionCode=
"2
8
"
android:versionCode=
"2
9
"
android:versionName=
"0.21.
6
"
>
android:versionName=
"0.21.
7
"
>
<uses-sdk
android:minSdkVersion=
"21"
android:targetSdkVersion=
"26"
/>
<uses-sdk
android:minSdkVersion=
"21"
android:targetSdkVersion=
"26"
/>
...
...
meson.build
View file @
7a1b56fe
...
@@ -390,6 +390,7 @@ more_deps = []
...
@@ -390,6 +390,7 @@ more_deps = []
if is_android
if is_android
subdir('src/java')
subdir('src/java')
target_type = 'shared_library'
target_type = 'shared_library'
target_name = 'mpd'
link_args += [
link_args += [
'-Wl,--no-undefined,-shared,-Bsymbolic',
'-Wl,--no-undefined,-shared,-Bsymbolic',
'-llog',
'-llog',
...
@@ -399,12 +400,20 @@ if is_android
...
@@ -399,12 +400,20 @@ if is_android
declare_dependency(sources: [classes_jar]),
declare_dependency(sources: [classes_jar]),
java_dep,
java_dep,
]
]
elif is_haiku
target_type = 'executable'
target_name = 'mpd.nores'
link_args += [
'-lnetwork',
'-lbe',
]
else
else
target_type = 'executable'
target_type = 'executable'
target_name = 'mpd'
endif
endif
mpd = build_target(
mpd = build_target(
'mpd'
,
target_name
,
sources,
sources,
target_type: target_type,
target_type: target_type,
include_directories: inc,
include_directories: inc,
...
@@ -443,6 +452,14 @@ endif
...
@@ -443,6 +452,14 @@ endif
if is_haiku
if is_haiku
subdir('src/haiku')
subdir('src/haiku')
custom_target(
'mpd',
output: 'mpd',
input: [mpd, rsrc],
command: [addres, '@OUTPUT@', '@INPUT0@', '@INPUT1@'],
install: true,
install_dir: get_option('bindir'),
)
endif
endif
configure_file(output: 'config.h', configuration: conf)
configure_file(output: 'config.h', configuration: conf)
...
...
python/build/libs.py
View file @
7a1b56fe
...
@@ -112,8 +112,8 @@ liblame = AutotoolsProject(
...
@@ -112,8 +112,8 @@ liblame = AutotoolsProject(
)
)
ffmpeg
=
FfmpegProject
(
ffmpeg
=
FfmpegProject
(
'http://ffmpeg.org/releases/ffmpeg-4.1.
1
.tar.xz'
,
'http://ffmpeg.org/releases/ffmpeg-4.1.
3
.tar.xz'
,
'
373749824dfd334d84e55dff406729edfd1606575ee44dd485d97d45ea4d2d86
'
,
'
0c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d
'
,
'lib/libavcodec.a'
,
'lib/libavcodec.a'
,
[
[
'--disable-shared'
,
'--enable-static'
,
'--disable-shared'
,
'--enable-static'
,
...
@@ -341,8 +341,8 @@ ffmpeg = FfmpegProject(
...
@@ -341,8 +341,8 @@ ffmpeg = FfmpegProject(
)
)
curl
=
AutotoolsProject
(
curl
=
AutotoolsProject
(
'http://curl.haxx.se/download/curl-7.64.
0
.tar.xz'
,
'http://curl.haxx.se/download/curl-7.64.
1
.tar.xz'
,
'
2f2f13fa34d44aa29cb444077ad7dc4dc6d189584ad552e0aaeb06e608af6001
'
,
'
9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3
'
,
'lib/libcurl.a'
,
'lib/libcurl.a'
,
[
[
'--disable-shared'
,
'--enable-static'
,
'--disable-shared'
,
'--enable-static'
,
...
@@ -375,8 +375,8 @@ libexpat = AutotoolsProject(
...
@@ -375,8 +375,8 @@ libexpat = AutotoolsProject(
)
)
libnfs
=
AutotoolsProject
(
libnfs
=
AutotoolsProject
(
'https://github.com/sahlberg/libnfs/archive/libnfs-
3
.0.0.tar.gz'
,
'https://github.com/sahlberg/libnfs/archive/libnfs-
4
.0.0.tar.gz'
,
'
445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5
'
,
'
6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d
'
,
'lib/libnfs.a'
,
'lib/libnfs.a'
,
[
[
'--disable-shared'
,
'--enable-static'
,
'--disable-shared'
,
'--enable-static'
,
...
@@ -387,7 +387,7 @@ libnfs = AutotoolsProject(
...
@@ -387,7 +387,7 @@ libnfs = AutotoolsProject(
'--disable-utils'
,
'--disable-examples'
,
'--disable-utils'
,
'--disable-examples'
,
],
],
base
=
'libnfs-libnfs-
3
.0.0'
,
base
=
'libnfs-libnfs-
4
.0.0'
,
autoreconf
=
True
,
autoreconf
=
True
,
)
)
...
...
src/command/PlaylistCommands.cxx
View file @
7a1b56fe
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include "config.h"
#include "config.h"
#include "PlaylistCommands.hxx"
#include "PlaylistCommands.hxx"
#include "Request.hxx"
#include "Request.hxx"
#include "Instance.hxx"
#include "db/Selection.hxx"
#include "db/Selection.hxx"
#include "db/DatabasePlaylist.hxx"
#include "db/DatabasePlaylist.hxx"
#include "CommandError.hxx"
#include "CommandError.hxx"
...
@@ -28,6 +29,7 @@
...
@@ -28,6 +29,7 @@
#include "PlaylistError.hxx"
#include "PlaylistError.hxx"
#include "db/PlaylistVector.hxx"
#include "db/PlaylistVector.hxx"
#include "SongLoader.hxx"
#include "SongLoader.hxx"
#include "song/DetachedSong.hxx"
#include "BulkEdit.hxx"
#include "BulkEdit.hxx"
#include "playlist/PlaylistQueue.hxx"
#include "playlist/PlaylistQueue.hxx"
#include "playlist/Print.hxx"
#include "playlist/Print.hxx"
...
@@ -77,11 +79,21 @@ handle_load(Client &client, Request args, gcc_unused Response &r)
...
@@ -77,11 +79,21 @@ handle_load(Client &client, Request args, gcc_unused Response &r)
const
ScopeBulkEdit
bulk_edit
(
client
.
GetPartition
());
const
ScopeBulkEdit
bulk_edit
(
client
.
GetPartition
());
auto
&
playlist
=
client
.
GetPlaylist
();
const
unsigned
old_size
=
playlist
.
GetLength
();
const
SongLoader
loader
(
client
);
const
SongLoader
loader
(
client
);
playlist_open_into_queue
(
uri
,
playlist_open_into_queue
(
uri
,
range
.
start
,
range
.
end
,
range
.
start
,
range
.
end
,
client
.
GetPlaylist
()
,
playlist
,
client
.
GetPlayerControl
(),
loader
);
client
.
GetPlayerControl
(),
loader
);
/* invoke the RemoteTagScanner on all newly added songs */
auto
&
instance
=
client
.
GetInstance
();
const
unsigned
new_size
=
playlist
.
GetLength
();
for
(
unsigned
i
=
old_size
;
i
<
new_size
;
++
i
)
instance
.
LookupRemoteTag
(
playlist
.
queue
.
Get
(
i
).
GetURI
());
return
CommandResult
::
OK
;
return
CommandResult
::
OK
;
}
}
...
...
src/decoder/plugins/HybridDsdDecoderPlugin.cxx
View file @
7a1b56fe
...
@@ -39,8 +39,8 @@ InitHybridDsdDecoder(const ConfigBlock &block)
...
@@ -39,8 +39,8 @@ InitHybridDsdDecoder(const ConfigBlock &block)
without a DSD DAC, the PCM (=ALAC) part of the file is
without a DSD DAC, the PCM (=ALAC) part of the file is
better */
better */
if
(
block
.
GetBlockParam
(
"enabled"
)
==
nullptr
)
{
if
(
block
.
GetBlockParam
(
"enabled"
)
==
nullptr
)
{
Log
Info
(
hybrid_dsd_domain
,
Log
Debug
(
hybrid_dsd_domain
,
"The Hybrid DSD decoder is disabled because it was not explicitly enabled"
);
"The Hybrid DSD decoder is disabled because it was not explicitly enabled"
);
return
false
;
return
false
;
}
}
...
...
src/haiku/add_resources.sh
0 → 100755
View file @
7a1b56fe
#!/bin/sh
cp
"
$2
"
"
$1
"
&&
xres
-o
"
$1
"
--
"
$3
"
&&
mimeset
-f
"
$1
"
||
(
rm
-f
"
$1
"
;
exit
1
)
src/haiku/meson.build
View file @
7a1b56fe
rc = meson.find_program('rc')
haiku_conf = configuration_data()
xres = meson.find_program('xres')
haiku_conf.set('VERSION', meson.project_version())
splitted_version = meson.project_version().split('~')[0].split('.')
haiku_conf.set('VERSION_MAJOR', splitted_version[0])
haiku_conf.set('VERSION_MINOR', splitted_version.get(1, '0'))
haiku_conf.set('VERSION_REVISION', splitted_version.get(2, '0'))
haiku_conf.set('VERSION_EXTRA', splitted_version.get(3, '0'))
mpd_rdef = configure_file(
input: 'mpd.rdef.in',
output: 'mpd.rdef',
configuration: haiku_conf,
)
rc = find_program('rc')
xres = find_program('xres')
rsrc = custom_target(
rsrc = custom_target(
'mpd.rsrc',
'mpd.rsrc',
output: 'mpd.rsrc',
output: 'mpd.rsrc',
input:
'mpd.rdef'
,
input:
mpd_rdef
,
command: [rc, '-o', '@OUTPUT@', '@INPUT@'],
command: [rc, '-o', '@OUTPUT@', '@INPUT@'],
)
)
custom_target(
addres = files('add_resources.sh')
'mpd.rsrc',
output: 'mpd',
input: [mpd, rsrc],
command: [xres, '-o', '@OUTPUT@', '--', '@INPUT@'],
install: true,
install_dir: get_option('bindir'),
)
src/haiku/mpd.rdef
→
src/haiku/mpd.rdef
.in
View file @
7a1b56fe
...
@@ -2,7 +2,15 @@ resource app_signature "application/x-vnd.MusicPD";
...
@@ -2,7 +2,15 @@ resource app_signature "application/x-vnd.MusicPD";
resource app_flags B_BACKGROUND_APP;
resource app_flags B_BACKGROUND_APP;
// TODO: resource app_version {};
resource app_version {
major = @VERSION_MAJOR@,
middle = @VERSION_MINOR@,
minor = @VERSION_REVISION@,
variety = B_APPV_ALPHA,
internal = @VERSION_EXTRA@,
short_info = "Music Player Daemon @VERSION@",
long_info = "Music Player Daemon @VERSION@ ©The Music Player Daemon Project"
};
resource vector_icon {
resource vector_icon {
$"6E6369661F050102031604BEE29BBEC5403EC540BEE29B4A10004A10000001C6"
$"6E6369661F050102031604BEE29BBEC5403EC540BEE29B4A10004A10000001C6"
...
...
src/input/plugins/CurlInputPlugin.cxx
View file @
7a1b56fe
...
@@ -306,9 +306,8 @@ input_curl_init(EventLoop &event_loop, const ConfigBlock &block)
...
@@ -306,9 +306,8 @@ input_curl_init(EventLoop &event_loop, const ConfigBlock &block)
{
{
try
{
try
{
curl_init
=
new
CurlInit
(
event_loop
);
curl_init
=
new
CurlInit
(
event_loop
);
}
catch
(
const
std
::
runtime_error
&
e
)
{
}
catch
(...)
{
LogError
(
e
);
std
::
throw_with_nested
(
PluginUnavailable
(
"CURL initialization failed"
));
throw
PluginUnavailable
(
e
.
what
());
}
}
const
auto
version_info
=
curl_version_info
(
CURLVERSION_FIRST
);
const
auto
version_info
=
curl_version_info
(
CURLVERSION_FIRST
);
...
...
src/input/plugins/SmbclientInputPlugin.cxx
View file @
7a1b56fe
...
@@ -28,8 +28,6 @@
...
@@ -28,8 +28,6 @@
#include <libsmbclient.h>
#include <libsmbclient.h>
#include <stdexcept>
class
SmbclientInputStream
final
:
public
InputStream
{
class
SmbclientInputStream
final
:
public
InputStream
{
SMBCCTX
*
ctx
;
SMBCCTX
*
ctx
;
int
fd
;
int
fd
;
...
@@ -72,9 +70,8 @@ input_smbclient_init(EventLoop &, const ConfigBlock &)
...
@@ -72,9 +70,8 @@ input_smbclient_init(EventLoop &, const ConfigBlock &)
{
{
try
{
try
{
SmbclientInit
();
SmbclientInit
();
}
catch
(
const
std
::
runtime_error
&
e
)
{
}
catch
(...)
{
// TODO: use std::throw_with_nested()?
std
::
throw_with_nested
(
PluginUnavailable
(
"libsmbclient initialization failed"
));
throw
PluginUnavailable
(
e
.
what
());
}
}
// TODO: create one global SMBCCTX here?
// TODO: create one global SMBCCTX here?
...
...
src/output/plugins/HaikuOutputPlugin.cxx
View file @
7a1b56fe
...
@@ -140,9 +140,6 @@ HaikuOutput::Close() noexcept
...
@@ -140,9 +140,6 @@ HaikuOutput::Close() noexcept
HaikuOutput
::~
HaikuOutput
()
HaikuOutput
::~
HaikuOutput
()
{
{
delete_sem
(
new_buffer
);
delete_sem
(
buffer_done
);
finalize_application
();
finalize_application
();
}
}
...
...
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