Bad News for the moment: I implemented linear sample interpolation!
This was something I thought I'd never implement. It's a "fancy" thing, something that doesn't sound "original". But there is a simple fact that I realized now: interpolation lets modules sound better most of the time. I am currently reworking the mixer logic so that the user can switch between several interpolation algorithms, but the default will be linear interpolation - which is (I think) a good compromise between quality and an original sound.
Another thing is that I am (again) rewriting the XM player logic. The problem is that the logic I've written before had too many hacks inside, resulting in a bad maintainable code. The bad news about this is that the logic is partly broken, leading to modules being played wrong.
I expect to fix most of the problems next week, as the Semester is finally over and I have a week off.