RPG Audio Mixer


Rubber Ducky, you’re the one!

Posted in Development News by brian on the February 28th, 2007

I’ve got the new data structure in place now and finally am able to save and load it to a file.

Until yesterday, I was having a problem loading my data back in.  I’m using XStream to write out the Adventure structure as XML.  Writing it out was no problem, but when I loaded the data back in I kep getting a ClassCastException.  Doing a Google search for “xstream classcastexception” took me on journey through many forums and email lists with no clear solution in sight.  Did I need to write a custom ClassLoader?  Was something wrong with my Classpath?  I was starting to get bummed.

I asked a co-worker if he had ever used XStream.  He hadn’t, but offered to look at the problem with me sometime.  In preparation for that I decided to simplify the example so we could focus on the problem.  I whipped up a quick example class that created an Adventure, saved it and then loaded it.  I ran the program and it didn’t generate the ClassCastException!

After comparing the code between the two apps I noticed one thing I was doing in the real app that I wasn’t doing in the example after the data loaded - I was trying to assign the newly loaded data object as the input to a JFace TreeViewer, when I should been sending the object’s children.  That’s what was causing the ClassCastException.

So I never actually talked to my co-worker about the problem but was able to solve it.  I was explaining to my girlfriend who is called Rubber Ducking.

And I suspect that if I was using Unit Testing, I would’ve solved this problem a lot faster…

Free Sierra Online Video Game MP3s

Posted in Free Music by brian on the February 14th, 2007

Thanks to “munki” on the forums, we’ve hit the motherload of free soundtracks for video games including games like Lord of the Rings, Arcanum, Empire Earth and Men of Valor.  I didn’t get to check every single directory, but got through the majority of them.  Some are zipped up and some are individual links, but here are the URLs:

If you find any others, feel free to post about it in the forum!

New Data Organization Structure

Posted in Development News by brian on the February 13th, 2007

Previously RPGAM stored its Playlists and Effects Playlists separately, but a number of people have asked to be able to store the data with their own organizational structure.  So I started working on moving them into a tree structure that allows you to make your own folders in which you can store other folders or any number of Playlists and Effects Palettes.

RPG Audio Mixer - Data Model Test

I’m currently working on getting drag and drop working within the tree view.

Free MP3s from The Longest Journey

Posted in Free Music by brian on the February 13th, 2007

Including a handy ZIP file of all the tracks, you can get the complete Longest Journey soundtrack for free in MP3 format.  This is a nice mix of styles, including some long and very short tracks.  The short ones can help accent those interesting, exciting or tense moments in a game.

Free MP3s from Eve Online

Posted in Free Music by brian on the February 13th, 2007

You can get a ton of free MP3s from Eve Online from the Eve Online web site.  These are great for any space or apocalyptic setting.

Free MP3s from Vanguard: Saga of Heroes

Posted in Free Music by brian on the February 12th, 2007

While poking around various MMORPG sites I came across Vanguard: Saga of Heroes and their site has 11 MP3s available for download from the game.  Just click on Media and the Music.

Multiple Platforms

Posted in Development News by brian on the January 2nd, 2007

I was able to do some more work on RPG Audio Mixer this weekend, thanks to the 3 day weekend and the fact that the holidays are essentially over.

I recreated my Subversion repositories using the structure suggested in Pragmatic Version Control using Subversion.  After poking around in RPTools’ repository, it was a bit clearer to me how things should be set up.  The Subversion book suggests this format, but I guess seeing somebody else using it made me trust it more.  I made a project folder for RPG Audio Mixer, made separata trunk, branches and tags directories, import my code into the trunk and even made an “experimental” branch to try and deal with some funky layout issues I’m seeing on the Mac.

I’ve also made some headway in making things work on multiple platforms.  First off, I switched to JavaZoom which I’ve confirmed works on Windows, Mac and Linux.  Additionally, instead of linking to external JARs, I’ve made a “lib” folder in the project and copied the required libraries into it (mainly JavaZoom and XStream).  Between using JavaZoom and the library folder, I’m now able to develope on all 3 platforms using the same exact Eclipse Project file and no platform specific variables or code.

For now I’m sticking with Eclipe’s built-in builder.

One unfortunate problem I’m having is inconsistencies in the way SWT works between Windows, Linux and Mac:

As you can see, the Mac version gets squished to the top.  It would see I need to learn a few more things about layouts in SWT.

JavaZoom, jlGui, BasicPlayer

Posted in Development News by brian on the December 29th, 2006

On the train ride in to work today I created a basic implementation of RPG Audio Mixer’s audio engine use the BasicPlayer class from JavaZoom’s jlGui project.  It was very easy to implement and it looks like I can re-distribute the classes with my app, unlike QuickTime and JMF which require end users to download and install separately.  It supports MP3, WAV and Ogg Vorbis, as well as a few other audio formats.  So far it doesn’t look like it supports seamless audio looping but I need to dig a little deeper.

I’ve also been futzing around with both Subversion and Maven recently.  I’m hoping that getting a grasp of both of these will help simplify the development of RPGAM and hopefully open it up to other people wanting to look at the code - something I’m a little weary of since I consider myself a beginner/intermediate Java programmer.

I’ve switched to a non-free but fairly cheap Subversion hosting service: DevGuard.com.

I may forgo Maven until I understand it better and just use Ant for the time being.  I just want something that allows me to build easily and quickly and not be specific to my laptop.

Finally, my girlfriend got my a widescreen 22″ monitor for Christmas, so between that and the possibility of getting a new computer, I’m hoping to start making progress on this program once again.

I know every few months I say the project isn’t dead and then disappear again, but between life and work being busy, learning frustrations and fluctuating personal motivation, I sometimes find it hard to keep this project going.

Enhanced Code Folding Plug-in for Eclipse

Posted in Development News by brian on the October 25th, 2006

One neat feature that Visual C# has that I liked was the ability to define arbitray sections of code as Regions. Once a section of code is defined as a region you can “fold it up” just like you can with methods in Eclipse (Visual C# supports this as well). I can’t help but think that desire to fold up a whole section of code in your class might suggest that the class is to big but, putting that aside, I was happy to find a plug-in for Eclipse that provides the same exact “region” feature as Visual C#: Coffee-Bytes Platform Support

Java, My Good Old Friend.

Posted in Development News by brian on the October 24th, 2006

Well after a few weeks of messing around with Visual C#, I’ve decided to return to Java as the development language for RPG Audio Mixer.  I was hitting too many walls with VC# that I had already climbed and conquered with Java.  I also find Java documentation more abundant and helpful than C# documentation and books.

Next Page »