How to change position (time) in programmer sounds?

I have non-looped long sound. It is for cutscene player, so I want sometimes play from specific time. When I use instance->setTimelinePosition it will always succeed, but sometimes in a moment I’m getting callback to create programmer sound again. So I’ve tried to set initialseekposition when creating sound in callback, sometimes I get “Loading delay exceeded, sound may play at incorrect time” and sound plays from the beginning.
Also instance->getTimelinePosition sometimes returns time greater than actual sound length.

What version of FMOD are you using?
Are you able to share your callback code at all?


Callback is basically the same as UFMODAudioComponent::EventCallbackCreateProgrammerSound.
I’ve only tried to add just before creating sound:
SoundInfo.exinfo.initialseekpostype = FMOD_TIMEUNIT_MS;
SoundInfo.exinfo.initialseekposition = RequestedTime;
but sound always play from start

When I use StudioInstance->setTimelinePosition, it will usually restart programmer sound. But sometimes it doesn’t, but still it will not work (but now getTimelinePosition will now report different position like it was changed correctly - thats why can report time longer than actual sound).

When I’ve removed NON_BLOCKING, I’m no longer getting warnings about “sound may play at incorrect time”.

The “sound may play at incorrect time” warning should be able to be removed by preloading the sounds before the event needs to play them. We are looking into possible ways we can improve this experience.

exinfo.initialseekposition only works for streams and only the first time the stream is played.

setTimelinePosition does not currently work with programmer sounds, even if the instrument is synchronous, which is something that requires investigation because you would expect it to. I have created a task to investigate a fix for an upcoming release.

Thanks for looking into this!