MacMPD icon

FAQ

What is it?

An MPD client for the classic Mac OS (Mac OS 8 and 9).

How can I get it?

See the Downloads section at the bottom of this page.

Why would I want this?

Using a vintage Mac to play music directly has a number of drawbacks. Many modern music file formats cannot be played or even transcoded on the classic Mac OS. Additionally, music libraries today often contain a great number of (large) lossless files, which would quickly fill the hard disk of many older Macs. It's possible to use DAVE to play files straight off an SMB share, but that doesn't solve the problem of library management.

With MacMPD, you can use your vintage Mac to connect to an instance of MPD running on another machine. If you'd like the music to play through speakers connected to your Mac, you can set up your MPD to output to an MP3 stream and then configure MacMPD to play this.

Does it have any cool features?

Yes! A short list of the coolest features follows:

What does it look like?

A collection of screenshots can be seen below. Click on the images to view them in full size.

Care was taken to keep the design tasteful and consistent with the classic Mac OS.

Screenshot of MacMPD (all windows) Screenshot of MacMPD album art window Screenshot of MacMPD library window Screenshot of MacMPD player window Screenshot of MacMPD mini player window Screenshot of MacMPD queue window

How can I configure MPD to output an MP3 stream?

Add the following text to your MPD config (under the other audio outputs). Of course, you can change the bitrate, port and client limit to your liking.


audio_output {
  type           "httpd"
  name           "lossy"
  encoder        "lame"
  bitrate        "320"
  port           "8001"
  mixer_type     "software"
  format         "44100:16:2"
}

How do I connect MacMPD to my MPD instance?

The configuration is straightforward. A screenshot of an example configuration is included below.

Screenshot of MacMPD preferences

If you don't want to use HTTP streaming, you can just leave the streaming URL field blank.

What is MPD?

MPD is a music player that runs as a daemon. It can be controlled by various clients over the network. For more information, see their website.

Is there a minimum version of MPD suitable for use with this client?

Yes. Prior to version 0.21.11 MPD had a bug meaning it didn't send the data this client needs correctly. This could be an issue as many Linux distributions use outdated versions of packages. For example, as of August 2020, the version of MPD in Debian Stable is 0.21.5. If this is an issue for you I suggest using the unofficial repos.

Why did you make this?

I was looking for a way to control my music remotely from my Mac mini G4 running Mac OS 9.2.2. Unsurprisingly, there was no existing application to do this (at least to my knowledge), let alone one that works with modern music players. I had started using MPD as a more flexible and open replacement for iTunes and saw an opportunity.

How did you make this?

The MPD protocol is quite simple, so it was feasible to implement a reasonable client from scratch. I used REALbasic 5.5.5 (the last version for classic Mac OS) to develop this application; the project file is included below under the terms of the GNU General Public License version 3.

MacMPD hangs when the album artwork changes... and it only happens for certain songs/albums!

This is likely happening because your cover art file for the particular album you are trying to stream is very large. I believe the practical limit is around 2 megabytes, although I can't quite remember why this is at the moment. I would recommend converting all your album artwork to JPEG format and making the files less than 500 kilobytes, if they aren't already.

MacMPD hangs when I try to start streaming!

This is probably because you are trying to stream with QuickTime 4 or 5. Upgrade to QuickTime 6.0.3 and the problem should go away.

The streaming audio is choppy!

If you are using a slow machine (for example, my 233 MHz Beige G3 has this issue), the QuickTime-based MP3 streaming might be unable to keep up. I tried various things like decreasing the bitrate and playing with the QuickTime settings, but nothing worked. There is a workaround though: use other software like Audion or MpegDec to play the stream.

To use Audion, just enter your stream URL as you would for any other MP3 stream and it should work.

Using MpegDec (which is presumably lighter on the CPU) is a bit more involved, but easy enough. First create a plain text file containing the URL of your stream, for example http://192.168.0.40:8001. I used BBEdit to do this. After this, use the program 'TextToMpegDec' included with 'MpegDec 3.1.1 Plus' (download #2 on Macintosh Garden) to convert your text file into a 'playlist' that can be opened by MpegDec. Just double-click on this file and MpegDec will open and start playing your stream.

I've had good results with both methods, so do whichever you prefer. If anyone knows how I can get QuickTime to behave, please email me - it would be much nicer to use the built-in streaming.

I found a bug!

That's not at all surprising - MacMPD is full of bugs! You should email me about it though - I might fix it if I can see that other people are actually using this. Even better, you could submit a patch yourself (!)

Downloads

MacMPD 0.1.2 alpha

This version runs only on Mac OS 8 and 9.

Binary (StuffIt archive, 958 KB) Choose this one if you're not sure!

Source code (StuffIt archive, 976 KB)

MacMPD X 0.1.2 alpha

A binary generated for OS X (PowerPC only) by REALbasic 5.5.5 is now available. It seems to work well, but there are other MPD clients for OS X on PPC that may be more fully-featured or aesthetically pleasing. Mac OS X is not the primary focus of this project.

Binary (ZIP archive, 1015 KB)

The source code for this version is almost exactly the same as that of the 'Classic' version, so I haven't bothered to include it.

Other versions

Older versions can be found here but I don't recommend using them as they are likely to be buggy.

Contact

If you use MacMPD and like it, or have any questions, suggestions or bug reports, please feel free to email me at ivan [at] ivanholmes.co.uk.