Question about Channel::getPosition and module time units

Is it possible to get a more accurate module order/row position from calling getPosition on a Channel that is playing a MOD/S3M/XM/IT file?

I’ve noticed that the position returned from calling Channel::getPosition with FMOD_TIMEUNIT_MODROW and FMOD_TIMEUNIT_MODORDER is slightly ahead of what is actually being played through my default audio device (speakers/headphones). Is there a way to get the actual order/row position (as currently played)?

It looks like the codec gets the info directly, without buffering it. This delay is due to the stream decodebuffersize, you could possibly reduce it to a really small number without much worry, there is no I/O overhead to stall the decode thread.

1 Like