This is something which has kinda bugged me for a while and applies to both v1.8 and v1.5 (and earlier?).
Let’s say I want to create an envelope which is synced to the song tempo. For example, a simple volume gating effect which stutters the volume in sync with every pattern row. Since I’m using speed 6 I know that there are 6 ticks to every row, so I know that my volume envelope should also be 6 ticks long to make it loop perfectly. The row positions are even highlighted on the envelope for me in a different colour, making it easy to see where I need to position things.
So I go into the envelope editor and create my envelope:
Putting myself into the mindset of a typical user, the placement of the points makes total logical sense to me based on the effect I’m trying to achieve. 6 ticks per row, my envelope/loop is 6 ticks in length, it should work? Except there’s a problem… the envelope is not looping perfectly in sync!
After some trial and error the user will finally realise that they actually need to position the last point at the 5th line instead of the 6th:
As a programmer I have a good idea of why this is happening internally, but looking at it purely from a logical point of view - from the perspective of the person using the interface - this does not make sense at all. It would be nice to see it fixed at some point in the future, though I don’t know what implications this would have for older songs. It seems to be purely a visual problem though, so hopefully it’s not a big deal.