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.
MIDI and HID device control
The keyboard control is quite restrictive. It also prevents any useful implementation of features such as cue points. Mark is currently working on re-architecture of the core to support it, to allow controllers to be implemented easily
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. Support for additional fields would be useful, particularly things like BPM and key, and sorting by these fields. Some ideas and experimentation needed here, so new developers are encouraged to have a go!
Record library searching
Proper word indexing of library and listing to make word searches more efficient on large libraries (see library.c).
Specialised CD timecode
Mark has already posted an experimental hi-res CD timecode. This needs testing and could provide a basis for further experimentation.
Ideas for experiments
Some ideas that could be worked on:
- Cue points. Yves has posted some work on this.
- Built-in effects.
- A minimal xwax live CD. Perhaps based on dyne:bolic or SLAX.
- Pitch-independent time stretching (like 'Master Tempo' on Pioneer). How to implement as well as present this in the interface. Pitch and speed could just be entirely independant — scratch pitch with vinyl as well as speed?
- Core Audio support would possibly be the only (but quite significant) thing needed to make this thing run on Mac OS X.
- Timecodes from different vinyls — always going to be lots of these around. Fun to investigate for understanding even if it's not worth implementing them.
- Skipless mode, but still with absolute positioning — detect the difference between the needle skipping (eg. during over-enthusiastic scratching) and the needle being lifted to a new location.
- Make reconnecting the turntable control compensate for pitch as well as the absolute positiong which it does right now.
And obviously if there's any more you can come up with, sign up to the xwax-devel mailing list and let us know.