Wikia

Music Player Daemon Community Wiki

Windows Compatibility

Talk0
514pages on
this wiki

Server Edit

Native Edit

Configuration

The current stable release is also distributed as an archive containing Windows binaries. There is no included mpd.conf and no included documentation. I recommend getting the source as well and viewing the mpdconf.example as well as trying to view the man page for mpd.conf.

When specifying paths in configuration file either forward or backslash can be used. When using backslashes they should be escaped with extra backslash.

Examples:

music_directory "C:/music"
music_directory "C:\\music"

For audio_output you can use either libao or winmm. I was only able to get multiple outputs to function with winmm.

audio_output {
  type "winmm"
  name "Speakers"
  device "Speakers (Realtek High Definition Audio)"
}

The 'device' is optional unless you want multiple outputs to work. In Windows 7 to get a list of outputs, open the volume mixer and activate the 'Device' drop-down. This list is exactly how you need to format the content of 'device' to use a specific output. The given example is the built-in audio from a Gigabyte EP45-UD3R.

Native streaming outputs with both the vorbis and lame encoders have also worked for me.

MPD uses tries the following standard mpd.conf locations:

%LOCALAPPDATA%\mpd\mpd.conf
%ALLUSERSPROFILE%\mpd\mpd.conf

alternatively mpd.conf location could be specified via command line parameter:

mpd C:\path\to\mpd.conf


Starting MPD manually

Now that you've configured correctly, add the directory of mpd to the PATH environment variable.

mpd should be started with specified configure file, you can start mpd in command line like this:

mpd "%userprofile%\mpd.conf"

or you can create and execute a simple vb script (say:mpd.vbs) to do this job.

Content of mpd.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell")
mpdconf = WshShell.ExpandEnvironmentStrings("%userprofile%\mpd.conf") 
WshShell.run"mpd """& mpdconf & """",0

Now, you should be able to play music by your favorite client.

The below instructions for server compilation under windows are experimental and are not recommended unless you know what you're doing.

After running getting mpd running in console, you need to start gmpc found here to add a front end client to fully use the program.

coLinux Edit

Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine.


This method is comfirmed to work by me. Had to install esd both Windows and CoLinux and it streams audio now nicely through virtual network.-tv

Cygwin Edit

Your mileage may vary and is not yet recommended except for testing, as it doesn't play on my computer, although it does compile and execute in cygwin now as of SVN rev. 2840.


  • Install dependencies. Cygwin packages are available: make, gcc, autoconf, automake, glib, pkg-config. At least one audio input dependency must be installed, flac is available as a cygwin package.
  • Compile without libao support and with OSS support. (replace configure with autogen.sh if configure doesn't exist)
./configure --enable-oss --disable-ao && make && make install
  • Don't forget to:
export CYGWIN=server
  • Copy the configuration file
cp -av /usr/local/doc/mpd/mpd.conf /etc/mpd.conf

on more recent versions, the file has a different location:

cp -av /usr/local/share/doc/mpd/mpdconf.example /etc/mpd.conf
  • Edit /etc/mpd.conf to suit your needs
nano /etc/mpd.conf
  • Create the database
/usr/local/bin/mpd.exe --create-db
  • Finally, start the MPD daemon, for the time being it will not start unless you --no-daemon, but this is put here for reference.
/usr/local/bin/mpd.exe

Client Edit

Client Comments SVN Date Confirmed
Not yet confirmed 01-14-05
Native 14-04-08
Not yet confirmed 01-14-05
Native (java) 03-11-06
Doesn't work outside Linux, due to dependance on DirectFB 01-14-05
Current svn doesn't work for _any_ emacs at the moment 01-19-05
Probably not compatible due to needing to be able to configure the MPD host/port. In Windows it would probably need to be some kind of popup window configuration option. In Linux it is currently taken care of with environment variables. 01-14-05
Compiles in cygwin, and runs. Native compilation via mingw works as well. 10-18-05
Native, Requires glade 04-19-06
Gkrellm doesn't compile in cygwin and is not part of the cygwin standard distribution yet 01-14-05
Native (&q=j2re&btnG=Google+Search j2re) 01-14-05
It is absolutely possible to compile this natively with the QT toolkit for windows, alternatively it is absolutely possible to compile this package for cygwin with kde/QT for windows. 01-19-05
Doesn't work due to dependance on libtag, libtag not being in cygwin standard distribution. 01-14-05
Native 11-02-06
Not yet confirmed 01-20-05
Native (Comes with a nice installer) 01-19-05
Not yet confirmed 01-14-05
Native 12-13-05
Not yet confirmed 01-14-05
Doesn't work due to pygame being out of date of the newest python.... 01-19-05
This Firefox extension works on windows as well as *nix. 12-19-08
Emulation (Cygwin) 01-14-05
Not yet confirmed 01-14-05
Native (Apache2) 01-14-05
Native (Apache2) 01-14-05
Native (Apache2) 01-14-05
Native (Apache2) 01-14-05
This is absolutely possible natively with Python, pyGtk for windows and glib but the dependencies became way too much for me to bother with. If you make this happen please post the dependencies here. This will more than likely not be accomplished in cygwin due to pygtk not being in the cygwin distribution nor will it compile in cygwin. 01-14-05
Native (comes with installer) 07-05-08
Should execute natively with the precompiled binary, but I get an exception error in both Mono and &displaylang=en Microsoft's .NET 's framework. Things may start working once these environments get a bit more mature. All of this is probably possible if compiled from a windows environment.It will work if you download sources and compile it yourself. 08-08-05
WinMCC is a real windows application for all Windows Versions (WinCE/PocketPC/Win95/98/ME/2000/XP). It use the MFC and cbccl and can be compiled with Visual C++ 6.0 and Embedded Visual C++. 04-01-05
Compiles in cygwin, and it _should_ run perfectly, but it's untested. 01-19-05
Native (java) 05-15-06
Native (java) 05-30-07

coLinux Edit

As is mentioned above coLinux should be able to run anything that runs in linux, meaning all MPD clients should be able to be run in windows.

Other ways Edit

Since Microsoft provides a UNIX subsystem for Windows NT 5.x (Windows 2000 (SP3 and above), XP (Profesional Edition only) and Windows 2003) there's also a method, other than MinGW, to run unix software on Windows NT. However, it's not Linux and it's only available as free (in the meaning of free beer) since about one or two years ago. SfU (Services for UNIX) provides a complete UNIX subsystem so that it's like Cygwin - only faster and native.

Cygwin and ESD Edit

It's possible to listen to your mpd-music on your Windowsbox via esd with cygwin.

  • Configure the audo_output, to stream to a remote esd-daemon.
  • On your windows-box you have to install cygwin with cygrunsrv and esound ( esound ist in the Gnome-Section, cygrunsrv is in Admin )
  • Install the /usr/bin/esd.exe as a WindowsService :
cygrunsrv.exe --install esd --path=/usr/bin/esd.exe --args='-tcp -public -nobeeps -trust -port 16001 -noterminate'
  • Start the Service ( net start esd )
  • Enjoy your Music ...

Streaming Edit

This is technically off-topic but this may help some MPD users that feel stranded in MS Windows. Icecast streaming will work to winamp and many other music players support icecast's outbound formats.

libmpdclient Edit

Support for libmpdclient windows support is fully implemented.

Around Wikia's network

Random Wiki