64-Bit XSquawkBox – We Need Mac Audio

In a previous post I listed two bits of code we were looking for: a 64-bit clean port of libxplanemp (which XSB, Pilot’s Edge and X-Ivap use for multiplayer visualization) and a rewritten audio HAL for OS X, since the old one we use is based on technology from 1635.

Well, we don’t need libxplanemp anymore – if you look at github you’ll see we have a 64-bit branch, so that’s taken care of.  In fact, the only thing we need is Mac audio.

When we have Mac audio, we can figure out how to run a beta program.  If enough time goes by eventually I can code it myself, but code for VATSIM is something I do in my spare time when not working on X-Plane itself and chasing a two-year-old around the house.  (His idea of a fun time does involve feeding plastic food to a stuffed dog but does not involve sitting quietly and watching me code.  Who knew? 🙂

So if you are the kind of person who knows how to write code for OS X and can hack out a new implementation of the audio interface, you have the power to get things moving in a big way.

64 Bits: Programmer Help Wanted

When last I checked, VATSIM has a policy that developers need to be registered and sign an NDA to work on VATSIM code.  I will not go off into a rant about this policy here*

But there are a few parts of XSB that are open source; if you are a programmer and would like to work on moving XSB (and other plugins) to 64-bit, you can work on these open source problems now, no need to sort out VATSIM stuff.

  • Core Audio Support.  XSB’s audio comes from implementations of an abstract audio class; fortunately this class is open source.  You can download the current audio code here.  If you know how to write Core Audio code for OS X and can write a Core Audio back-end for this abstraction, this would be huge in advancing the 64-bit port.  (The current SoundManager code, besides being quite embarrassing for everyone involved, is not portable to 64 bits.)
  • 64-bit safe libxplaneMP.  XSB’s CSL multiplayer code comes from libxplanemp, which Wade has posted to github.  If you can port this code to 64-bits, that’s another win in moving the plugin over.

The Problem of Open Source Management

The main problem at hand is that Wade and I are out of time. This unfortunately means that not do we not have time to code, but we also don’t have time to manage other coders.  Invariably we will be contacted by more volunteers than we need, some of whom will provide no useful development work.

My hope is that by posting the two tasks above, tasks that can be entirely worked on without XSB itself, without any NDAs, and without repo access, we can let motivated developers get started on real work without us.  This way, Wade and I don’t have to be management bottlenecks.

* If you are part of the VATSIM administration and would like to help unjam software development, contact me, and I can tell you what ‘opening’ of the software policy would be directly useful to projects like XSB; we don’t need complete GPL-style communism to get more work done. 😉