MuxMaster is an open-source desktop player to browse, play, and download Muxtape mixes. It is an AIR application that lets you stream music from Muxtape, explore different mixes to find new music, and even download tracks and entire playlists to your computer with a single click.

UPDATE: After being contacted by the creator of Muxtape I have decided that it is in the best interest of the Muxtape service to remove the download functionality from MuxMaster. I was torn about this, but for now the downloading features are removed.

This movie requires Flash Player 9

If the above install link doesn’t work, do this:

  1. Make sure you have the AIR runtime, if you need to download it from Adobe
  2. Download and run the MuxMaster installer

Here are a few screenshots:
screenshot025.jpg

screenshot026.jpg

screenshot028.jpg

Why did I make this?
I like Muxtape. Like a lot of software/web guys, I saw the clean interface and the barren source code and was immediately impressed. I mean, the dude did a fantastic job. It was just so damn clean.

Then a few days ago people went ga-ga over this video of some dude showing muxtape mixes using the Coverflow visualization to browse through them. OK, so that’s cool, except it uses a Mac-only application called Fluid to basically add normal Mac desktop functionality to web apps. That shit got dugg like 750 times. Now I’m not saying it’s not cool, cause it is. But I figured I could probably whip up a Flex application pretty quickly using the Coverflow component I released before and get a real desktop application that anyone could download and use. Oh, and I thought it would be neat to add downloading functionality too.

So I threw MuxMaster together over the past 3 nights. I like to think of it as a testament to the badassness of Flex and the open-source Flex/Flash community. The fact that I can grab some open source stuff and throw this together in almost no time is pretty cool.

What kind of an application is this?
MuxMaster is an Adobe AIR application, built with Flex. That means it’s a desktop application that can run on Windows, Mac, Linux, whatever. Click the “Install Now” link above to install the app. You might need to go and download the AIR runtime first. Hopefully it’ll tell you that and do everything automagically.

The Muxtape API
Muxtape has no API. But the HTML code is so sleek and beautifully clean. Go look at the source code for the HTML pages on muxtape.com. It’s ridiculous how sparse it is. And of course it validates as valid XML. So what? Well, nice XHTML like that is just as good as the best XML API you can ask for. You want to get a listing of some random Muxtapes? Just load up the XHTML on the Muxtape home page and parse out the list of users. Using E4X you can get a list of users with this single expression: body.div.div.ul.li.a. It’s almost too easy. So then when you get a username you just load that user’s HTML page and you can easily parse the list of songs (body.div.ul.li) or related users (body.div.div.div.ul.li.a). There’s a little trickery involved to figure out exactly how to construct the URLs for the MP3s, but it’s pretty easy to figure out. After a little parsing you can get a list of MP3 URLs and the data about each song, like artist, track title, duration, etc.

Downloading songs

UPDATE: After being contacted by the creator of Muxtape I have decided that it is in the best interest of the Muxtape service to remove the download functionality from MuxMaster. I was torn about this, but for now the downloading features are removed.

The thing about Muxtape is that all the songs are just MP3s stored on Amazon S3. If you know the URL you can download the file. The main Muxtape player doesn’t expose this functionality, but if you take a look at the files that the web-based player is loading you can just copy/paste the URL and load it into a web browser to save the file. So I just made that a bit easier. MuxMaster has a Download link for each song underneath the song name. One click and the song will download in the background (you can specify where you want songs to download to). Additionally, each playlist also has a Download All link, so with a single click you can download all the songs in the playlist.

screenshot032.jpg

screenshot027.jpg

Is this bad?
There’s a whole ethical dilemma that we can spend forever discussing. Is this application against everything that Muxtape stands for (clean, simple, bare-bones UI)? Is adding download functionality quickening the shutdown of the service? Is this effectively taking a step toward destroying the service that I actually really enjoy using? Yeah, the answer to all those might be yes.

Yes, the excessive use of 3D and especially the over-used Coverflow visualization are exactly opposite to the perfectly clean design concept of Muxtape. The truth is, I hate Coverflow. But people gravitate toward it and seem to love it, so I figured it’d be fun to whip something up and see the response. And it was just so damn easy.

And yes, being able to download an entire mix with a single click may very well be a horrible thing for Muxtape as a whole. I assume the service is already on the radar of the lawyer-crazy music execs, and if it’s not now I assume it will be if it gets big enough. But the technology underneath the service was just so simple (I mean, really? just let people throw a bunch of MP3s up on Amazon S3?) that someone would have shown how to download all those songs soon enough. So I’ll definitely feel bad if this app has a negative effect on Muxtape, but come on, it’s something I whipped up in a few days, someone was bound to do it.

Source code
I’m releasing all the source code for the application. When you install the AIR application you can right click and select “View source” to see all the code. Or you can view the source here. It’s small (16 files, 898 total lines of code). And the code was influenced by the minimalist design of the Muxtap app itself, so I tried to keep things extremely tidy and clean.

I used a few open-source flex libraries. The most obvious one is the Coverflow Flex component that I created and released on my blog. That’s licensed under the MIT license, so you can take that component and add this type of Coverflow visualization to your Flex apps. The Coverflow visualization uses the Papervision 3D library, which is a 3D engine for Flash. It’s badass and free (MIT license). The other Flex library I used is FlexLib, which was used for the FlowBox container. That component can be seen when you download songs. It’s the container that lays out the little download rectangles. FlexLib is also licensed under the MIT license (is there a pattern forming?).

The source code for MuxMaster, like all code released on my blog, is also licensed under the MIT license, which you can read here. Basically you can do whatever you want with the code.

What’s next?
I don’t know if I’m going to do anything more with this application. The app does rely on the format of the HTML pages on Muxtape, so if the creator of Muxtape decides to try to break MuxMaster he probably can, and I’d have to update it to get it to work again. I might do updates like that to keep it working. If people have feature request I’d love to hear them, but I’d encourage other developers to take my source code and add the stuff that they want. If you have feedback shoot me a message using my contact form or leave comments here. I don’t have any big plans, this was fun to make.

Legal nonsense
This application doesn’t contain any music files whatsoever. I am not storing any music files on my server or any server that I am associated with. I am not providing a list of any music files stored anywhere on the Internet. I don’t have any information about how to find music files stored in any database or anywhere in the entire galaxy. If you’re a lawyer looking to scratch that soul-destroying litigious itch that you have, I’m the wrong guy to talk to.

24 Responses to “Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR”

  1. Tom Ortega says:

    “. If you’re a lawyer looking to scratch that soul-destroying litigious itch that you have, I’m the wrong guy to talk to.”

    Actually, you are that guy, just not if that itch involves music rights. :P

  2. cawlin says:

    Pretty cool, nice to have a cross platform solution. I dig the random 10 feature but have had a lot of problems with audio skipping and lagging.

    Not sure I can solicit the download feature, I know Justin was banning IPs that were running a userscript that allowed for download.

  3. Doug says:

    @cawlin: Dunno why the audio would lag or skip any more than the normal Muxtap web interface, except maybe on Muxtape he’s buffering more of the song before trying to play it, I just stream it and play as soon as it will let me. I could probably do some more advanced buffering to try to get the playback to skip less on a slower connection.

    And yeah, I figured he might not be happy about the download. But given the nature of the service he’s providing, it’s something he’s going to have to deal with eventually. The truth is, he’s providing massive lists of links to unprotected MP3s that people can download.

  4. Christopher Keeler says:

    This app is also a testament to the badassness of Doug McCune. :)

  5. Andrew says:

    I love this app. I was waiting for someone to build an AIR app for Muxtape. The only thing I have to say is I wish there was a way to turn off Coverflow. I really don’t like Coverflow and wish I could just use the app without having to deal with erroneous 3D elements. Other than that, though I really like this.

  6. Doug McCune » Blog Archive » MuxMaster update: download functionality removed and a new icon says:

    […] Source Code License « Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR 25 04 2008 […]

  7. On Going Problems says:

    Any chance you could build this for imeem.com? Particularly the download part. Muxtape may be all the talk of the blog world but imeem is still the 800 pound gorilla when it comes to web2.0 music and has millions more tunes.

    imeem has an official api for making flex applications, could I use that to get the locations of their mp3’s and download them?

  8. Puff Puff Bang says:

    There is another air player for playing muxtapes:

    http://ghetto.suprhot.com

  9. maestroalberto » MuxMaster: client desktop per MuxTape in AIR says:

    […] Ricordate MuxTape, il servizio di grande successo per creare playlist musicali da condividere online? Bene, con MuxMaster ora è possibile gestirlo da desktop. […]

  10. Pimp My Muxtape (SSB) says:

    […] To achieve keyboard shortcuts I created a couple basic applescripts. I then run the scripts with quicksilver triggers. It’s not the prettiest but it works. I have 4 basic scripts: next track, previous track, play/pause and inspired by Doug McCune’s MuxMaster a random mix script. This one opens a new tab and chooses one of the featured tapes, loads it then plays it. […]

  11. j says:

    Wow.
    Couple cool adds that would make this even better:
    refresh button on indiv playlist to get a new playlist when one is lame
    + button to add as a favorite playlist

  12. cDima says:

    Hm, is the coverflow in AIR that slow, or is this local? Nothing like the iphone, imho.
    Awesome job man!

  13. Patrick says:

    I love the application! A feature that I would love: bookmarks.
    When I find a cool list I would like to be able to come back to it later.

  14. MuxMaster applicazione Air per ascoltare Muxtape : Catepol 3.0 says:

    […] […]

  15. Muxtape + Air = Muxmaster + GhettoBlaster. | Asblogger.com | Malaysian Daily Tech Blog says:

    […] Setelah selesai, muat-turun salah satu perisian AIR ini iaitu Muxmaster atau GhettoBlaster dan install seperti biasa. Dalam beberapa saat, anda sudah boleh mendengar kaset kompilasi Muxtape anda di desktop sahaja. […]

  16. Friday Quickcast Special: 3 Adobe Air Applications Explained In Just Over 3 Minutes « Demo Girl says:

    […] MuxMaster is an awesome compliment to Muxtapes, the service that allows you to make cool MP3 mixtapes to share with your friends. MuxMaster automatically provides you with 10 Muxtapes that you can browse through to discover new music. If you don’t like those, then you can select another random 10. If you know the name of a Muxtape you can enter it in and MuxMaster will load that along with other relevant Muxtapes. […]

  17. Muxing it Up with Muxmaster « RadioMilwaukee’s Soundboard says:

    […] The site Muxtape is catching on like wildfire.  If you don’t know what Muxtape is, it is a virtual mixtape where you can upload your own music(12 song limit) and share it with the world(see my previous post on it).  I even have one. I love the site and concept with one exception. There was no easy way to navigate through all of them until now.  Muxmaster is an application for the PC and Mac that allows you to visually sort through different muxtapes.  If you know particular muxtape, you can load it in without going to the website. Once you load a muxtape, it also load relevant muxtapes with it.  Previous versions allowed you to download all the songs in the muxtapes. That feature has been removed because of legal concerns which is understandable (still a shame though). (via Demogirl) […]

  18. Thilo says:

    Man ! When trying to build your great project I had for yours an error because there was a conflict, but solved it by cleaning the project with the Flexbuilder.
    In case someone else can not build tutorials and finds strange errors,
    here is the threat: http://curtismorley.com/2007/06/20/flash-cs3-flex-2-as3-error-1046/#comment-4203
    Thanks for this great Component, I try to implement it ….

  19. Charlie says:

    Haha, you beat me to it. I saw that guy’s coverflow Fluid thing and immediately started my own version, with searching and downloading. Now I can just use yours. Nice work.

  20. New music everywhere you go. Muxmaster is your mobile jukebox. | hellokinsella says:

    […] Have a look: http://dougmccune.com/blog/2008/04/25/introducing-muxmaster-a-kickass-open-source-muxtape-playerdownloader-built-with-flex-and-air/ […]

  21. The Rise of Visual Browsing | Darren Hoyt Dot Com says:

    […] Enright’s design influence can now be seen all over the web, and has been remixed for other purposes: Doug McCune recently built Muxmaster, a brilliant Adobe Air app that merges Cover Flow with Muxtape! […]

  22. links for 2008-06-19 « copula’s weblog says:

    […] Doug McCune » Blog Archive » Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR (tags: adobeair muxtape webapps) […]

  23. Brandon says:

    I am having trouble getting this app to work. I have it installed and everything but it seems to never actually load anything. It just says “Loading…” the whole time. Any suggestions?

    -Brandon

  24. Muxtape reloaded | Googlisti.com says:

    […] - un client desktop in Adobe AIR per la ricerca e l’ascolto di Muxtape (prima anche il download, ora rimosso) sul proprio computer: Muxmaster (via Catepol); […]

Leave a Reply