Ultimate MPD (SACD ISO, Native DSD, and more)


2016-08-08 4:53 pm
Have been trying to get one MPD that works for all, and this fork is almost perfect now on a Odroid C2/ Rpi2.

Here is the features

Link to this fork on Github as below


-SACD ISO support -no need to covert to DSF/DFF, directly play SACD ISO file
-DSD_U32 based Native DSD support (Not DOP) for certain XMOS based USB interface.
- Adaptive up sampling, aka upsample 44.1Khz multiples to 352.8khz, and up sample 48k multiples to 384khz
(currently hard coded in DecoderAPI.cxx, you have to change the code to taylor to your DAC capbilities)
(https://github.com/xxxbugxxxx/MPD/tree/Sample-rate-auto-changer branch)

This is probably the best MPD with all DSD related feature all in one now.

Next quest would be PCM to DSD upsampling( one SoX fork supports this,however MPD does not, may need somebody to mod MPD)

process to install
git clone https://github.com/xxxbugxxxx/MPD
cd MPD

./configure --enable-sacdiso --disable-iso9660
make install

there are a few dependencies needed,

expat, libupnp, glib2.0, and glib2.0 path may need to be tweaked.

Also, for DSD-native to work, alsa-lib has to be 1.0.29 or above. linux kernel has to be patched for your USB DAC.

details refer to https://github.com/lintweaker/xmos-native-dsd.

use dpkg -l to find libasound2 's version and remove and build from source as needed.

And this work is based on couple of genius's work.

It is based on Max Kellerman's MPD 0.19.15,

and Maxim V.Anisiutkin 's SACD ISO fork
manisiutkin/mpd.git -

and Hicaoc's patch to MPD 0.19.15 for DSD_U32 native mode.

Hi, i try do this but i get the follow error:

" echo './'`src/lib/sacdiso/sacd_disc.cpp
src/lib/sacdiso/sacd_disc.cpp:29:10: fatal error: 'glib.h' file not found
#include <glib.h>
1 error generated.
make: *** [all] Error 2

Any idea for resolve this?


2013-01-07 2:49 am
Use this for make command:

make install CPPFLAGS="$(pkg-config --cflags glib-2.0)"

Sent from my iPhone using Tapatalk

I tried two command that you proposed, but error continues..
Another intent, another command...(from a good friend)

CPPFLAGS=$(pkg-config --cflags glib-2.0) ./configure --enable-sacdiso --disable-iso9660

but...glib. h error continues present..

Congralutations for your script, and share us...
Please, could you help me?

Thank's a lot in advance
The above helped with glib.h but I'm getting this error now:

|| echo './'`src/lib/sacdiso/sacd_metabase.cpp
src/lib/sacdiso/sacd_metabase.cpp:23:25: fatal error: openssl/md5.h: No such file or directory
#include <openssl/md5.h>
compilation terminated.
Makefile:8449: recipe for target 'src/lib/sacdiso/libdecoder_a-sacd_metabase.o' failed
make[1]: *** [src/lib/sacdiso/libdecoder_a-sacd_metabase.o] Error 1
make[1]: Leaving directory '/home/volumio/MPD'
Makefile:15617: recipe for target 'install' failed
make: *** [install] Error 2
please help
Still the same error

$ ./configure --enable-sacdiso --disable-iso9660

## --------- ##
## Platform. ##
## --------- ##

hostname = volumio
uname -m = armv6l
uname -r = 4.4.9+
uname -s = Linux
uname -v = #884 Fri May 6 17:25:37 BST 2016

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games

## ----------- ##
## Core tests. ##
## ----------- ##

configure:3004: checking for a BSD-compatible install
configure:3072: result: /usr/bin/install -c
configure:3083: checking whether build environment is sane
configure:3138: result: yes
configure:3289: checking for a thread-safe mkdir -p
configure:3328: result: /bin/mkdir -p
configure:3335: checking for gawk
configure:3365: result: no
configure:3335: checking for mawk
configure:3351: found /usr/bin/mawk
configure:3362: result: mawk
configure:3373: checking whether make sets $(MAKE)
configure:3395: result: yes
configure:3424: checking whether make supports nested variables
configure:3441: result: yes
can you try ./autogen ./configure etc again? It is just some lib missing, you should be able to read through the ./configure prompts to find it which one. The error you mentioned, I faced the same first time and fixed by adding in expat

Sent from my iPhone using Tapatalk
checking for boostlib >= 1.46... yes
checking for ICU... yes
configure: auto-detected libicu
checking for ipv6... yes
checking for struct ucred... yes
checking for getpeereid... no
checking for SYSTEMD_DAEMON... no
checking for SYSTEMD_DAEMON... no
configure: WARNING: libsystemd not found -- disabling systemd socket activation
checking for LIBMPDCLIENT... no
configure: WARNING: libmpdclient not found -- disabling MPD client library
checking for EXPAT... yes
configure: auto-detected expat XML parser
checking for inotify_init... yes
checking for inotify_init1... yes
checking tcpd.h usability... no
checking tcpd.h presence... no
checking for tcpd.h... no
configure: WARNING: libwrap not found -- disabling libwrap
checking for ID3TAG... no
checking for id3_file_open in -lid3tag... no
configure: WARNING: libid3tag not found -- disabling ID3 support using libid3tag
checking for AVAHI... yes
configure: auto-detected avahi client library
checking for SQLITE... no
configure: WARNING: sqlite not found -- disabling SQLite database support
checking for LIBSAMPLERATE... no
configure: WARNING: libsamplerate not found -- disabling libsamplerate resampling
checking for SOXR... no
configure: WARNING: libsoxr not found -- disabling libsoxr resampler
checking for CURL... no
configure: WARNING: libcurl not found -- disabling libcurl HTTP streaming
checking for SMBCLIENT... no
checking for smbc_init in -lsmbclient... no
configure: WARNING: libsmbclient not found -- disabling smbclient input plugin
checking for NFS... no
configure: WARNING: libnfs not found -- disabling NFS input plugin
checking for YAJL... no
configure: WARNING: libyajl not found -- disabling soundcloud.com support
checking for CDIO_PARANOIA... no
configure: WARNING: libcdio_paranoia not found -- disabling libcdio_paranoia input plugin
checking for MMS... no
configure: WARNING: libmms not found -- disabling libmms mms:// protocol support
checking for ZLIB... yes
configure: auto-detected zlib support
checking for BZ2_bzDecompressInit in -lbz2... no
configure: WARNING: libbz2 not found -- disabling bzip2 archive plugin
checking for UPNP... no
configure: WARNING: libupnp not found -- disabling UPnP client support
checking for ADPLUG... no
configure: WARNING: libadplug not found -- disabling AdPlug decoder plugin
checking for AUDIOFILE... no
configure: WARNING: libaudiofile not found -- disabling audiofile decoder plugin
checking for NeAACDecOpen in -lfaad... no
configure: WARNING: libfaad not found -- disabling FAAD decoder plugin
checking for FFMPEG... no
configure: WARNING: libavformat+libavcodec+libavutil not found -- disabling ffmpeg decoder library
checking for FLAC... no
configure: WARNING: libFLAC not found -- disabling FLAC decoder
checking for FLUIDSYNTH... no
configure: WARNING: fluidsynth not found -- disabling fluidsynth MIDI decoder plugin
checking for GME... no
checking for gme_open_file in -lgme... no
configure: WARNING: libgme not found -- disabling Game Music Emulator decoder plugin
checking for MAD... no
checking for mad_stream_init in -lmad... no
configure: WARNING: libmad not found -- disabling libmad MP3 decoder plugin
checking for SHOUT... no
configure: WARNING: libshout not found -- disabling shout output plugin
checking for MPG123... no
configure: WARNING: libmpg123 not found -- disabling libmpg123 decoder plugin
checking for MODPLUG... no
configure: WARNING: libmodplug not found -- disabling modplug decoder plugin
checking for OPUS... no
configure: WARNING: libopus not found -- disabling opus decoder plugin
checking for SNDFILE... no
configure: WARNING: libsndfile not found -- disabling libsndfile decoder plugin
checking for mpc_demux_init in -lmpcdec... no
configure: WARNING: libmpcdec not found -- disabling Musepack decoder plugin
checking for VORBIS... no
configure: WARNING: libvorbis not found -- disabling Ogg Vorbis decoder
checking for SIDPLAY... no
checking for SIDPLAY... no
configure: WARNING: libsidplay2 not found -- disabling sidplay decoder plugin
checking for WAVPACK... no
configure: WARNING: libwavpack not found -- disabling WavPack decoder plugin
checking for WildMidi_Init in -lWildMidi... no
configure: WARNING: libwildmidi not found -- disabling WildMidi decoder plugin
checking for SHINE... no
configure: WARNING: libshine not found -- disabling shine encoder
checking for VORBISENC... no
configure: WARNING: libvorbisenc not found -- disabling Ogg Vorbis encoder
checking for lame_init in -lmp3lame... no
configure: WARNING: libmp3lame not found -- disabling LAME encoder plugin
checking for TWOLAME... no
configure: WARNING: libtwolame not found -- disabling TwoLAME encoder plugin
checking for ALSA... no
configure: WARNING: libasound not found -- disabling ALSA output plugin
checking for ROAR... no
configure: WARNING: libroar not found -- disabling RoarAudio output plugin
checking for mkfifo... yes
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
configure: WARNING: sndio.h not found -- disabling support for sndio output
checking media/MediaDefs.h usability... no
checking media/MediaDefs.h presence... no
checking for media/MediaDefs.h... no
checking for JACK... no
configure: WARNING: libjack not found -- disabling JACK output plugin
checking for AO... no
configure: WARNING: libao not found -- disabling libao output plugin
checking for OPENAL... no
configure: WARNING: OpenAL not found -- disabling OpenAL output plugin
checking sys/soundcard.h usability... yes
checking sys/soundcard.h presence... yes
checking for sys/soundcard.h... yes
checking for PULSE... no