...I've scoured the API documentation and I don't think so, but just double-checking.
I'm working with chiptune2.js. I have altered chiptune2.js to expose several libopenmpt methods all with the goal of, in effect (no pun intended), allowing my code to order the Patterns, on-the-fly, as it chooses.
The solution I came up with was to check the playhead position on every tick, and to invoke the method ".setPositionOrderRow(order,row)" to specify an Order of my own choosing. The problem with this is that the timing is loose enough that it makes glitchy sounds, or gets noticeably off-rhythm, about half the time on a Pattern switch.
Rather than try to solve the timing problem (which seems like a rabbit hole to me), I'm thinking I could solve it by just programmatically adding a "BXX - Jump to Order" effect on the last row of a Pattern, but I can't see a way to do this with libopenmpt, unless I am mistaken.
Another stone I turned over was trying to add a "BXX" to a track and then muting that track (which I *can* do programmatically with libopenmpt via ".set_channel_mute_status()"), but it appears that "BXX" effects are triggered even if the track containing them is muted...so no dice on that as a solution.
Thanks for any guidance! rs