Current projects

If you're interested in contributing back into the xwax project but unsure of where to start, then there are some current projects on the go.

Main ideas

Record library interface

The record library interface is great if you know exactly what you're looking for. But for the DJ without the memory of Google, it can be difficult to just scan through and look for things.

So, the main aim right now is to test out some better ways of working with the record library. Multiple crates or playlists should be easy to implement internally (most of the code is already there), but how to present this to the user in the interface? It might be neat to be able to make some kind of assignments of records at run-time for DJs who like to plan ahead.

At the moment, xwax is entirely keyboard controlled. To ease transition to other means of control like MIDI controllers, it would be nice to keep it that way for now.

Some ideas and experimentation needed here, so new developers are encouraged to have a go!

JACK audio support

The 'jack' branch already an initial implementation of JACK devices, but there's still plenty of work to be done here. See the instructions on how to download this branch.

Record library searching

Proper word indexing of library and listing to make word searches more efficient on large libraries (see library.c).

Flexible sample rate

Allow sample rates other than 44100Hz to be used for audio devices, as well as tracks. Some support is already in the alsa.c, but to complete this some quite serious changes are required, as currently all times are measured in samples. We should be able to us multiple devices each running at a different sample rate.

More accurate and stable timecode control

Always room for improvement here. The phase tracking (which gives direction) at super-high speeds could do with investigation, as this becomes much more significant with 2KHz timecode vinyls (eg. Traktor Scratch).

Smaller tasks

Tasks which might just be a good way to start exploring the code. Each of these could probably be done in an afternoon, even if you've never seen the code before. It would be great to receive patches for any of these.

Update the xwax_import script

A good one for someone who doesn't have C programming knowledge. Add in support for the major decoders. If it's possible without adding overhead, perhaps it could detect the best decoder to use from those available on the system.

Make use of const char*

Lots of places where this could (should) be used, and it isn't.

Font locations

At the moment it does a bit of guesswork to find fonts already on the system. This is complicated by the 'standard' fonts supplied on a system moving from Vera to DejaVu — visually the same font, but with a different name. Can font loading be improved, or should we just give up and supply fonts with xwax?

Ideas for experiments

Some ideas that could be worked on, but not the focus of the main development just yet.

And obviously if there's any more you can come up with, sign up to the xwax-devel mailing list and let us know.