SACD ISO playback in MPD
Re: SACD ISO playback in MPD
you will have to install git, in order to get the source code locally. What is the distro you are using?
Re: SACD ISO playback in MPD
It's a variant of Debian
Re: SACD ISO playback in MPD
I installed git and tried again.
This time I got to
which produced the response
Afterwards, when I try to use MPD, the database has vanished 
This time I got to
Code: Select all
./autogen.sh
Code: Select all
-bash: ./autogen.sh: No such file or directory

Re: SACD ISO playback in MPD
OK, I found autogen.sh in the mpd directory. Do I have to execute the commands while in the mpd directory?
Update: tried typing it when in the mpd directory and got:
Update: tried typing it when in the mpd directory and got:
Code: Select all
./autogen.sh: 8: ./autogen.sh: aclocal: not found
Re: SACD ISO playback in MPD
Anyone alive out there?
Re: SACD ISO playback in MPD
Hi All,
I tried to enable the sacdiso support on the latest version of MPD, but failed.
I have got the following error message during "configure".
"configure: WARNING: unrecognized options: --enable-sacdiso"
My MPD is from "git://git.musicpd.org/master/mpd.git"
Please help and advise.
I tried to enable the sacdiso support on the latest version of MPD, but failed.
I have got the following error message during "configure".
"configure: WARNING: unrecognized options: --enable-sacdiso"
My MPD is from "git://git.musicpd.org/master/mpd.git"
Please help and advise.
Re: SACD ISO playback in MPD
I've given up with this and am trying a different approach - convert the iso to separate dff files.
Re: SACD ISO playback in MPD
Right on! This will give you much more flexibility with tagging and folder structure.DuffyMoon wrote:I've given up with this and am trying a different approach - convert the iso to separate dff files.
Enjoy the music!
Re: SACD ISO playback in MPD
Yes, at the end, I have extracted all ISO files. And enjoy the music now.
-
- Posts: 3
- Joined: July 7th, 2015, 5:55 am
Re: SACD ISO playback in MPD
initially got the following errormanisiutkin wrote:Could you try this:
mpd --kill /etc/mpd.conf
rm /var/lib/mpd/tag_cache
git clone git://git.musicpd.org/manisiutkin/mpd.git
./autogen.sh
./configure --enable-sacdiso --disable-iso9660
make
make install
mpd /etc/mpd.conf
In file included from src/lib/sacdiso/sacd_metabase.cpp:25:0:
src/lib/sacdiso/sacd_metabase.h:24:23: fatal error: upnp/ixml.h: No such file or directory
#include <upnp/ixml.h>
after installing libupnp, the above error is gone, however , it shows the following one
libdecoder.a(libdecoder_a-sacd_metabase.o): In function `sacd_metabase_t::init_xmldoc()':
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:132: undefined reference to `ixmlLoadDocument'
libdecoder.a(libdecoder_a-sacd_metabase.o): In function `sacd_metabase_t::~sacd_metabase_t()':
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:70: undefined reference to `ixmlDocument_free'
libdecoder.a(libdecoder_a-sacd_metabase.o): In function `sacd_metabase_t::get_track_node(unsigned int)':
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:143: undefined reference to `ixmlDocument_getElementsByTagName'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:143: undefined reference to `ixmlNodeList_item'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:145: undefined reference to `ixmlNode_getChildNodes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:147: undefined reference to `ixmlNodeList_length'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:148: undefined reference to `ixmlNodeList_item'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:150: undefined reference to `ixmlNode_getAttributes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:155: undefined reference to `ixmlNamedNodeMap_getNamedItem'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:157: undefined reference to `ixmlNode_getNodeValue'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:160: undefined reference to `ixmlNamedNodeMap_getNamedItem'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:162: undefined reference to `ixmlNode_getNodeValue'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:166: undefined reference to `ixmlNode_getChildNodes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:175: undefined reference to `ixmlNodeList_length'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:176: undefined reference to `ixmlNodeList_item'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:178: undefined reference to `ixmlNode_getAttributes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:182: undefined reference to `ixmlNamedNodeMap_getNamedItem'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:184: undefined reference to `ixmlNode_getNodeValue'
libdecoder.a(libdecoder_a-sacd_metabase.o): In function `sacd_metabase_t::get_info(unsigned int, tag_handler const*, void*)':
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:82: undefined reference to `ixmlNode_getChildNodes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:86: undefined reference to `ixmlNodeList_length'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:87: undefined reference to `ixmlNodeList_item'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:89: undefined reference to `ixmlNode_getNodeName'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:91: undefined reference to `ixmlNode_getAttributes'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:97: undefined reference to `ixmlNamedNodeMap_getNamedItem'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:99: undefined reference to `ixmlNode_getNodeValue'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:102: undefined reference to `ixmlNamedNodeMap_getNamedItem'
/root/mpddsd/mpd/src/lib/sacdiso/sacd_metabase.cpp:104: undefined reference to `ixmlNode_getNodeValue'
^
-
- Posts: 3
- Joined: July 7th, 2015, 5:55 am
Re: SACD ISO playback in MPD
Hi.
Thanks a lot for your work, I got it compiled on Volumio RPI2 and works very well.
One question, it seems the "playable_area "stereo" " does not do anything, when updating database, MCH still shows up in the Library.
Tried it and the same happens in Archphile.
Do you know why?
Thank you.
# playable_area "multichannel" (not set by default, shows both tracks)
playable_area "stereo
Thanks a lot for your work, I got it compiled on Volumio RPI2 and works very well.
One question, it seems the "playable_area "stereo" " does not do anything, when updating database, MCH still shows up in the Library.
Tried it and the same happens in Archphile.
Do you know why?
Thank you.
# playable_area "multichannel" (not set by default, shows both tracks)
playable_area "stereo
Re: SACD ISO playback in MPD
Hi,
Thanks for this add-on.
I'm trying to install it on my RPi following the instructions posted. However, when I reach this step:
Finally, is there anything else needed apart from C++ and Boost libraries to compile and run this add-on?
As you can see I'm quite a newbie in RPi, so please try to answer like if you were talking to your dog
Thanks!
Thanks for this add-on.
I'm trying to install it on my RPi following the instructions posted. However, when I reach this step:
I get the following error message:./configure --enable-sacdiso --disable-iso9660
Which is quite weird, since I ensured installing libboost-all-dev (version by default v1.55)... Is there any special version to install? Or am I not installing the correct library? Or do I need to do something else after "sudo apt-get install libboost-all-dev"?checking for boostlib >= 1.46... configure: We could not detect the boost libraries (version 1.46 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: Boost not found
Finally, is there anything else needed apart from C++ and Boost libraries to compile and run this add-on?
As you can see I'm quite a newbie in RPi, so please try to answer like if you were talking to your dog

Thanks!
[SOLVED] Re: SACD ISO playback in MPD
Hi,
I'm trying to build mpd with SACD ISO and DVDA ISO reading capability on an up-to-date copy of PCLINUXOS (PCL).
Building:
http://git.musicpd.org/cgit/manisiutkin/mpd.git/
with
./autogen.sh
and:
./configure --prefix=/home/david/bin/mpd/ --exec-prefix=/home/david/bin/mpd/ --with-boost=/home/david/bin/boost --enable-libmpdclient --enable-flac --enable-database --enable-documentation --enable-ffmpeg --enable-dsd --enable-sacdiso --enable-dvdaiso
lead to make failing. The first warning to show was:
/home/user1/src/mpd/src/lib/dvdaiso/libmlpdec/mlp_parser.h:23: warning: the name `libavcodec/mlp_parser.h' supplied as the second argument in the \file statement is not an input file
and the error at the end was:
/home/user1/src/mpd/src/lib/upnp/Device.hxx:80: warning: The following parameters of UPnPDevice::Parse(const std::string &url, const char *description, Error &error) are not documented:
parameter 'error'
I have successfully built, what I thought was, v0.19.11 from:
git clone git://git.musicpd.org/master/mpd.git
and:
git checkout v0.19.11 -b mpd-0.19.11
However, what I get with mpd --version is:
Music Player Daemon 0.18.8
Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2013 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Decoders plugins:
[mad] mp3 mp2
[mpg123] mp3
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[opus] opus ogg oga
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[dsdiff] dff
[dsf] dsf
[faad] aac
[mpcdec] mpc
[wavpack] wv
[modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
[wildmidi] mid
[fluidsynth] mid
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
Output plugins:
shout null fifo alsa ao oss openal pulse jack httpd recorder
Encoder plugins:
null vorbis opus lame twolame wave flac
Archive plugins:
[bz2] bz2
Input plugins:
file archive curl ffmpeg mms cdio_paranoia
Playlist plugins:
extm3u m3u xspf pls asx rss cue cue
Protocols:
file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// cdda://
which, may or may not be right. I am using this build now.
Can anyone help me with building mpd with sacdiso and, possibly, dvdaiso working?
Cheers
My error
the build actually worked. How ever --version does not nominate SACDISO or DVDAISO as being present.
I'm trying to build mpd with SACD ISO and DVDA ISO reading capability on an up-to-date copy of PCLINUXOS (PCL).
Building:
http://git.musicpd.org/cgit/manisiutkin/mpd.git/
with
./autogen.sh
and:
./configure --prefix=/home/david/bin/mpd/ --exec-prefix=/home/david/bin/mpd/ --with-boost=/home/david/bin/boost --enable-libmpdclient --enable-flac --enable-database --enable-documentation --enable-ffmpeg --enable-dsd --enable-sacdiso --enable-dvdaiso
lead to make failing. The first warning to show was:
/home/user1/src/mpd/src/lib/dvdaiso/libmlpdec/mlp_parser.h:23: warning: the name `libavcodec/mlp_parser.h' supplied as the second argument in the \file statement is not an input file
and the error at the end was:
/home/user1/src/mpd/src/lib/upnp/Device.hxx:80: warning: The following parameters of UPnPDevice::Parse(const std::string &url, const char *description, Error &error) are not documented:
parameter 'error'
I have successfully built, what I thought was, v0.19.11 from:
git clone git://git.musicpd.org/master/mpd.git
and:
git checkout v0.19.11 -b mpd-0.19.11
However, what I get with mpd --version is:
Music Player Daemon 0.18.8
Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2013 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Decoders plugins:
[mad] mp3 mp2
[mpg123] mp3
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[opus] opus ogg oga
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[dsdiff] dff
[dsf] dsf
[faad] aac
[mpcdec] mpc
[wavpack] wv
[modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
[wildmidi] mid
[fluidsynth] mid
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
Output plugins:
shout null fifo alsa ao oss openal pulse jack httpd recorder
Encoder plugins:
null vorbis opus lame twolame wave flac
Archive plugins:
[bz2] bz2
Input plugins:
file archive curl ffmpeg mms cdio_paranoia
Playlist plugins:
extm3u m3u xspf pls asx rss cue cue
Protocols:
file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// cdda://
which, may or may not be right. I am using this build now.
Can anyone help me with building mpd with sacdiso and, possibly, dvdaiso working?
Cheers
My error

-
- Posts: 16
- Joined: November 2nd, 2014, 6:16 pm
Re: SACD ISO playback in MPD
Thank you once again for the wonderful work. Found a small bug when reading xml files for sacd iso. It looks like multichannel files do not get the (SACD 5.1) added on as by default the track number are for the stereo tracks (1 to x). This patch works against current git (http://git.musicpd.org/cgit/manisiutkin/mpd.git/):
--- mpd-master/src/decoder/plugins/SacdIsoDecoderPlugin.cxx.original 2016-05-28 12:45:54.198768570 +0100
+++ mpd-master/src/decoder/plugins/SacdIsoDecoderPlugin.cxx 2016-05-28 13:11:58.103855743 +0100
@@ -378,6 +378,7 @@
return false;
}
unsigned track = get_subsong(path_fs.c_str());
+ unsigned track_sacd = track; // pass correct track to sacd_metabase
unsigned twoch_count = sacd_reader->get_tracks(AREA_TWOCH);
unsigned mulch_count = sacd_reader->get_tracks(AREA_MULCH);
if (track < twoch_count) {
@@ -396,7 +397,7 @@
string tag_value = to_string(track + 1);
tag_handler_invoke_tag(handler, handler_ctx, TAG_TRACK, tag_value.c_str());
tag_handler_invoke_duration(handler, handler_ctx, SongTime::FromS(sacd_reader->get_duration(track)));
- if (!sacd_metabase || (sacd_metabase && !sacd_metabase->get_info(track, handler, handler_ctx))) {
+ if (!sacd_metabase || (sacd_metabase && !sacd_metabase->get_info(track_sacd, handler, handler_ctx))) {
sacd_reader->get_info(track, handler, handler_ctx);
}
return true;
--- mpd-master/src/decoder/plugins/SacdIsoDecoderPlugin.cxx.original 2016-05-28 12:45:54.198768570 +0100
+++ mpd-master/src/decoder/plugins/SacdIsoDecoderPlugin.cxx 2016-05-28 13:11:58.103855743 +0100
@@ -378,6 +378,7 @@
return false;
}
unsigned track = get_subsong(path_fs.c_str());
+ unsigned track_sacd = track; // pass correct track to sacd_metabase
unsigned twoch_count = sacd_reader->get_tracks(AREA_TWOCH);
unsigned mulch_count = sacd_reader->get_tracks(AREA_MULCH);
if (track < twoch_count) {
@@ -396,7 +397,7 @@
string tag_value = to_string(track + 1);
tag_handler_invoke_tag(handler, handler_ctx, TAG_TRACK, tag_value.c_str());
tag_handler_invoke_duration(handler, handler_ctx, SongTime::FromS(sacd_reader->get_duration(track)));
- if (!sacd_metabase || (sacd_metabase && !sacd_metabase->get_info(track, handler, handler_ctx))) {
+ if (!sacd_metabase || (sacd_metabase && !sacd_metabase->get_info(track_sacd, handler, handler_ctx))) {
sacd_reader->get_info(track, handler, handler_ctx);
}
return true;
-
- Posts: 21
- Joined: September 28th, 2014, 5:43 pm
Re: SACD ISO playback in MPD
I've pushed this fix in git. Thanks!
Re: SACD ISO playback in MPD
Hello and thanks for the great job.
i have a problem
when i type: make install CPPFLAGS="$(pkg-config --cflags glib-2.0)"
the output is:
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::open(const char*)’:
src/lib/sacdiso/sacd_media.cpp:104:54: error: no matching function for call to ‘InputStream::OpenReady(const char*&, Mutex&, Cond&, Error&)’
is = InputStream::OpenReady(path, mutex, cond, error);
^
src/lib/sacdiso/sacd_media.cpp:104:54: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:135:24: note: static InputStreamPtr InputStream::OpenReady(const char*, Mutex&, Cond&)
static InputStreamPtr OpenReady(const char *uri,
^
./src/input/InputStream.hxx:135:24: note: candidate expects 3 arguments, 4 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::seek(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:121:30: error: no matching function for call to ‘InputStream::Seek(int64_t&, Error&)’
if (is->Seek(position, error)) {
^
src/lib/sacdiso/sacd_media.cpp:121:30: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:277:15: note: virtual void InputStream::Seek(InputStream::offset_type)
virtual void Seek(offset_type offset);
^
./src/input/InputStream.hxx:277:15: note: candidate expects 1 argument, 2 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual size_t sacd_media_stream_t::read(void*, size_t)’:
src/lib/sacdiso/sacd_media.cpp:142:48: error: no matching function for call to ‘InputStream::Read(void*&, size_t&, Error&)’
size_t read_bytes = is->Read(data, size, error);
^
src/lib/sacdiso/sacd_media.cpp:142:48: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:362:17: note: virtual size_t InputStream::Read(void*, size_t)
virtual size_t Read(void *ptr, size_t size) = 0;
^
./src/input/InputStream.hxx:362:17: note: candidate expects 2 arguments, 3 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual int64_t sacd_media_stream_t::skip(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:154:30: error: no matching function for call to ‘InputStream::Seek(int64_t&, Error&)’
if (is->Seek(position, error)) {
^
src/lib/sacdiso/sacd_media.cpp:154:30: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:277:15: note: virtual void InputStream::Seek(InputStream::offset_type)
virtual void Seek(offset_type offset);
^
./src/input/InputStream.hxx:277:15: note: candidate expects 1 argument, 2 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::seek(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:130:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual int64_t sacd_media_stream_t::skip(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:163:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Makefile:8429: recipe for target 'src/lib/sacdiso/libdecoder_a-sacd_media.o' failed
make[1]: *** [src/lib/sacdiso/libdecoder_a-sacd_media.o] Error 1
make[1]: Leaving directory '/root/mpd'
Makefile:4792: recipe for target 'all' failed
make: *** [all] Error 2
can everyone help me?
Please
Cliff
i have a problem
when i type: make install CPPFLAGS="$(pkg-config --cflags glib-2.0)"
the output is:
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::open(const char*)’:
src/lib/sacdiso/sacd_media.cpp:104:54: error: no matching function for call to ‘InputStream::OpenReady(const char*&, Mutex&, Cond&, Error&)’
is = InputStream::OpenReady(path, mutex, cond, error);
^
src/lib/sacdiso/sacd_media.cpp:104:54: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:135:24: note: static InputStreamPtr InputStream::OpenReady(const char*, Mutex&, Cond&)
static InputStreamPtr OpenReady(const char *uri,
^
./src/input/InputStream.hxx:135:24: note: candidate expects 3 arguments, 4 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::seek(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:121:30: error: no matching function for call to ‘InputStream::Seek(int64_t&, Error&)’
if (is->Seek(position, error)) {
^
src/lib/sacdiso/sacd_media.cpp:121:30: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:277:15: note: virtual void InputStream::Seek(InputStream::offset_type)
virtual void Seek(offset_type offset);
^
./src/input/InputStream.hxx:277:15: note: candidate expects 1 argument, 2 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual size_t sacd_media_stream_t::read(void*, size_t)’:
src/lib/sacdiso/sacd_media.cpp:142:48: error: no matching function for call to ‘InputStream::Read(void*&, size_t&, Error&)’
size_t read_bytes = is->Read(data, size, error);
^
src/lib/sacdiso/sacd_media.cpp:142:48: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:362:17: note: virtual size_t InputStream::Read(void*, size_t)
virtual size_t Read(void *ptr, size_t size) = 0;
^
./src/input/InputStream.hxx:362:17: note: candidate expects 2 arguments, 3 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual int64_t sacd_media_stream_t::skip(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:154:30: error: no matching function for call to ‘InputStream::Seek(int64_t&, Error&)’
if (is->Seek(position, error)) {
^
src/lib/sacdiso/sacd_media.cpp:154:30: note: candidate is:
In file included from src/lib/sacdiso/sacd_media.h:28:0,
from src/lib/sacdiso/sacd_media.cpp:24:
./src/input/InputStream.hxx:277:15: note: virtual void InputStream::Seek(InputStream::offset_type)
virtual void Seek(offset_type offset);
^
./src/input/InputStream.hxx:277:15: note: candidate expects 1 argument, 2 provided
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual bool sacd_media_stream_t::seek(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:130:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src/lib/sacdiso/sacd_media.cpp: In member function ‘virtual int64_t sacd_media_stream_t::skip(int64_t)’:
src/lib/sacdiso/sacd_media.cpp:163:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Makefile:8429: recipe for target 'src/lib/sacdiso/libdecoder_a-sacd_media.o' failed
make[1]: *** [src/lib/sacdiso/libdecoder_a-sacd_media.o] Error 1
make[1]: Leaving directory '/root/mpd'
Makefile:4792: recipe for target 'all' failed
make: *** [all] Error 2
can everyone help me?
Please
Cliff
-
- Posts: 21
- Joined: September 28th, 2014, 5:43 pm
Re: SACD ISO playback in MPD
The fix is put in git.
Re: SACD ISO playback in MPD
Thanks a lot for your remarkable work for the handling of SACD-ISOs.
I enjoy your foobar2000-plugin since a lot of time - it's working awful!
But the SACD-ISO integration in MPD seems a lot more difficult...
After a lot of mistakes i don't have anymore errors while compiling your code. I take the following parameters:
In the /etc/mpd.conf i add following lines:
BUT i can still not find any entry for the test-sacd.iso (Dire Straits - Brothers in arms) in the database. Am i missing an important point for this process? The same iso plays without any problem in Foobar2000 under Windows.
Is it maybe necessary to write a xml-file for the iso?
Are there some hidden levers to pull?
Update:
xml-file created in Foobar does not help...
I enjoy your foobar2000-plugin since a lot of time - it's working awful!
But the SACD-ISO integration in MPD seems a lot more difficult...

After a lot of mistakes i don't have anymore errors while compiling your code. I take the following parameters:
Code: Select all
./configure --sysconfdir=/etc --enable-soxr --enable-sacdiso --disable-iso9660
make CPPFLAGS="$(pkg-config --cflags glib-2.0)" LIBS="$(pkg-config --libs glib-2.0)"
Code: Select all
decoder {
plugin "sacdiso"
dstdec_threads "4"
edited_master "true"
lsbitfirst "false"
}
Is it maybe necessary to write a xml-file for the iso?
Are there some hidden levers to pull?

Update:
xml-file created in Foobar does not help...
Re: SACD ISO playback in MPD
I still haven't any clue why the SACD-ISOs doesn't appear in the database.
But i have following lines in the mpd.conf:
So all the settings for the decoder-plugin are not recognized. Does that mean, that the whole code is not compiled correctly?
While compiling, there are no problems.
But i have following lines in the mpd.conf:
Code: Select all
Dec 01 19:49 : config: option 'dstdec_threads' on line 402 was not recognized
Dec 01 19:49 : config: option 'edited_master' on line 403 was not recognized
Dec 01 19:49 : config: option 'lsbitfirst' on line 404 was not recognized
While compiling, there are no problems.
Re: SACD ISO playback in MPD
To resume my monologue...
In the meantime i got the sacd-support running. I installed the following libraries, which are obviously important:
BUT, there are some other news, at least for me:
Today i compiled the current master/mpd.git and to my surprise it seems that it can handle iso's. At least i can see the iso in the database, which is very new to me.
So are there chances, that iso-support will get a fully supported feature of MPD?
The option --enable-sacdiso gives me an error while ./configure - so its no surprise, that the iso is not playable, but it seems there is something going on!

In the meantime i got the sacd-support running. I installed the following libraries, which are obviously important:
Code: Select all
sudo apt-get install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev dh-make
sudo apt-get install libupnp4-dev libboost1.55-dev libmpdclient-dev libsystemd-dev libicu-dev libexpat1-dev libssl-dev
Today i compiled the current master/mpd.git and to my surprise it seems that it can handle iso's. At least i can see the iso in the database, which is very new to me.
So are there chances, that iso-support will get a fully supported feature of MPD?
The option --enable-sacdiso gives me an error while ./configure - so its no surprise, that the iso is not playable, but it seems there is something going on!