Last update June 06, 2024
Synchronization problem with Cubase is unfortunately not a bug, but a result of the way how play and edit modes are designed in Classic Boxes plug-ins. When Native mode is active and you hit Play, everything is playing smoothly and synced perfectly, until you start playing not from beginning, but one of subsequently located bars. Plug-in will play the pattern slightly out of sync then (with a bit of a time offset). It's caused by manner in which Cubase notifies third party plug-ins about moment when it starts playing.
A plug-in initiates playing pattern as soon as it receives notification from Cubase's transport panel, but Cubase in fact starts playing a bit earlier comparing to the actual cursor position (and the difference varies each time when you click Play button). We assume that Cubase, to prevent some notes from not being played, creates some sort of "leader", small time gap before it starts playing. As the result the actual start sequence looks this way:
Older version of Classic Boxes plug-ins show similar behavior, but the offset seems to be way smaller, however the other type of symptoms appears like missing steps in drum patterns - this in turn is a result of the changes we had to make within the syncing procedures to catch up with current versions of DAWs (few years had passed from version 1.5 to 1.6),
D16 plug-ins aren't synchronized with project position, but only to host's tempo, which is the reason this issue appears at all. Unfortunately it's impossible to add that type of tight synchronization without changing whole design of the plug-in (affecting on play and edit modes). Classic Boxes plug-ins offer whole variety of functionalities that couldn't exists if tight synchronization were implemented; like different time scales, on-fly pattern queueing, on-fly pattern switching.
To work around this problem we propose following solutions:
As for the issue there's not a simple fix we could do and release an update, because this would imply breaking compatibility with previous versions. Fixing it would require redesigning play and edit modes in our sequencer-based plug-in, so we left it for 2.x upgrades.