Hello,
Yes, I am still working on my project. I had some major set-backs (more than before), and have to come up with a brand now way to encode the data. That lead to a re-writing of the music player, instrument synthesizer, and the effect handlers.
The good news is that I've been looking at a C port of the FT2 source code to guide my understanding of the effects in the original XM implementation. This has been very helpful indeed, and I have managed to implement (correctly) Portamento Up/Down, Note Portamento, Arpeggio, Vibrato, and I'm in the process of completing Volume Slide.
I do have one question on the Volume Slide (Axy) effect. Suppose I have an instrument volume envelope enabled, does the Volume Slide effect respect it, or does it actually adjust the absolute volume of the note?
Let me give you an example. If someone sets a volume slide to go up, and lets it go up all the way to maximum volume, does the note continue playing at maximum volume even if the envelope is in decay?
If I am reading the source code of FT2 correctly, it seems that the Volume Slide effect ignores any modulation on the volume of the note, and produces an output based on the "real" volume of the note (the one in the pattern data) modified by the slide.
I hope this question makes sense.
-dZ.