Make sure all code paths that use Temporal will initialize and reset it properly. Some code paths (in tet runners) doesn't use Sessions, so Temporal::reset() has to be invoked directly. Just set the static superclock variable to 0 as initial value. TempoMap will still be initialized early as a singleton, but we introduce a new constructor so it is created empty (and thus not really usable until Temporal::reset() or similar has populated it). We can thus drop the static initialization of superclock. The default superclock rate of 282240000 will now only live in Temporal::reset(). With this change there should no longer be any uninitialized use of superclock_ticks_per_second(), and there should not be any problems for DEBUG_EARLY_SCTS_USE to catch. (It is however broken in other ways - that will be fixed next.)
1.5 KiB
1.5 KiB