Ok, so after 2 solid weeks of working on my Traktor replacement, my program is just about up and running enough to be able to use. However, there are certain caveats regarding its use. It can only read AIF files at the moment, and they have to be tagged manually, a process which is pretty time consuming. The more bar markers there are in a track, the better it will be kept in time without intervention. It works very well on a digitally recorded audio file, but on a vinyl rip of an old Detroit Techno tune, mastered on a wavering open-reel tape recorder and pressed off-centre, things get out of time very quickly! This is the biggest problem I face now, tagging enough tracks before Thursday comes around. I've done about 50 so far and it took me all evening. So I think what I will do is take both laptops and mix between Traktor and Kombine BeatHarvester, so that at least my DJ set will last for longer than 15 minutes.
Now that I have reached the stage where the program is usable, I have been learning how to use it! One nice trick is to mix 2 copies of the same track, with one going backwards. It can sound very trippy on Acid tunes. Despite the problems referred to above, short loops are a safe bet to keep in time, and having 4 different ones going at once, with odd loop lengths, can create some interesting polyrhythmic textures.
In answer to some questions in the comments a few posts ago: MP3 support is definitely possible. I would read the MP3 into an AIF buffer and go from there. Waveform scrolling is simply a matter of updating SuperCollider's waveform view a certain number of times per beat - at 10 times it looks very smooth, but is extremely CPU intensive, in fact ridiculously so. Now it only gets updated once per beat! At first I thought that was pretty poor, but in actual fact it can be seen much more clearly where the beat is matching up in the track and now I prefer it.
I won't have time to write much more before going away, but when I come back I plan to go into a bit more detail and maybe even post a video of the program in action.