Archive for June, 2010

Morrigan α4

Tuesday, June 15th, 2010

Its been ages since α3 and during that time much has changed. Not a huge number of new features but there are, I feel, some significant improvements in the quality of the code base (I have done quite a lot of refactoring, debugging and optimising).

The most notable new feature is that there is now an embedded Jetty server. This provides two things: 1) a web UI to remote control Morrigan and 2) REST-like APIs for other apps to interact with. Also this server can be started on a headless server.

The existing web UI (WUI) is very primitive and is mostly a proof of concept. Once this is more detailed the headless mode will make a lot more sense. I hope to persuade a far better web developer than I to design that part. The WUI is also very hackable as the whole thing is contained in a .war file in the app’s root directory.

The REST-like API are also quite primitive, but the API for listing libraries and retrieving their content is quite functional. My initial proof that it works is that you can now use the Morrigan UI to browse the content of a library located on a remote machine. You can’t do anything with the list of tracks yet other than look at it, but this will improve soon. The server can send the media files, its just that I have not consumed this function yet.

Oh and aside for the web-server stuff, there are numerous other improvements and fixes. :)

As usual, builds for all 3 platforms can be found on the Morrigan project page.

A note for Mac users: The only java-compatible playback engine I know of that works on Mac is JMF, and so for now I am packing this with the mac build. To get it to play anything other than wav files, you may have to:
1) Install JMF on your system.
2) Build a custom JMF jar and feed it to Morrigan (put it in the engines dir). I had to do this on my XP box.
Feel free to ask if you need help with this.