Commit 7a1b56fe authored by Max Kellermann's avatar Max Kellermann

Merge tag 'v0.21.7'

release v0.21.7
parents 508e5221 ef10354d
...@@ -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
......
...@@ -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="28" android:versionCode="29"
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"/>
......
...@@ -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)
......
...@@ -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,
) )
......
...@@ -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;
} }
......
...@@ -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) {
LogInfo(hybrid_dsd_domain, LogDebug(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;
} }
......
#!/bin/sh
cp "$2" "$1" && xres -o "$1" -- "$3" && mimeset -f "$1" || (rm -f "$1"; exit 1)
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'),
)
...@@ -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"
......
...@@ -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);
......
...@@ -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?
......
...@@ -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();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment