I "archived" what I had done until yesterday in a git branch and left it there to sit in shame forever, and went back to what I had a few days ago, without any actual player code yet.
Then I have added a new method which, once the song has been loaded, parameters having been passed to the voices, and pattern data prepared and in memory, goes through the order list and the patterns and builds a list of events, sorted by timestamp.
When playing, I check if I have any event(s) to process in this buffer and if that's the case, they are processed and the internal pointer for events increased. This is a lot like the deltaFrames concept --actually I would say it is exactly the same, but maybe they differ at some point--, and it's way more granular than what I was doing before (playing one row at a time, just like a tracker).
This is also pretty similar to using a MIDI style list of events... and I believe that it's also the same convention that mighty kb's V2 follows too.
Now I just have a few details to polish and I'll begin to work on more interesting things such as pattern effects! :D