Winamp Meta Merger and XNA Project Updates

I have finally posted the code to my Winamp Meta Data Merger and instructions on how to use it. The instructions are actually fairly complex, and that’s because it’s a complicated process. I will tidy up the user interface one day, and post an executable to help people move their Winamp ratings and other useful pieces of data forward after a file restructuring.

I have finally gotten around to upgrading a bunch of my XNA related projects on SourceForge to XNA4 and VS2010 (EDIT: now all moved to Bitbucket). I may as well give a quick summary of the projects here:

  • 2D Primitives is our most popular project with 362 downloads to date. It has functions to draw lines, rectangles, circles, and arcs. XNA does not provide these features.
  • 2D XNA HUD is a framework for creating 2D HUDs in XNA. It has event-driven buttons, windows that you can move around and so forth. (EDIT: Abandoned)
  • QuadTree is our implementation of a Quadtree in XNA. It allows for 2D spatial indexing. In other words, it allows for quick area-based look-ups.
  • Asteroid Outpost is the whole reason for the projects above. It’s the start of a tower defence / real-time strategy game that takes place in space.

I also checked out Mercurial like I mentioned I would in a previous post. I have mixed feelings. On one hand, it was very quick and allowed for some interesting scenarios, but on the other, it was complicated and Tortoise Hg lacked the UI polish that Tortoise SVN has. Maybe that’s because I’m using Tortoise SVN wrong to begin with though. In SVN, I usually just add all of the required files to the repository and that’s the end. With Merc, when I did this and went to commit, it wanted to show me all of the files in the directory structure because they were “Unknown”. You could filter those out, but it didn’t remember your selection, so you’d have to do that with every commit. I can see why they might have done that though, if you have all of the ignores set up properly, it would help you to identify when you’ve created a new file but forgot to add it to the repository. I started to go through the ignore file process in Merc, but found it to be tedious. You either needed to know regular expressions (which I do) or know what they mean by “Glob”. I couldn’t be bothered to read the documentation on the matter, so I switched back to SVN. I did come to one conclusion though: as a single developer, you will not need the additional features that Mercurial brings to the table. Cool concept, but even in the small group of people I’m working with at my company where Merc could be useful, it would actually not work because the guys I work with have a tough enough time understanding SVN.