Help with using sync points to trigger Callbacks

I’ve been searching for documentation or examples all around but could not find any unfortunately, so I’m asking here.
The sound plays fine, and the callback is triggered upon the song ending, however the sync point i setup

FMOD_SYNCPOINT *ptr;
pNewSound->pStartPtr->addSyncPoint(0, FMOD_TIMEUNIT_MS, “test”, &ptr);

is never triggered
I tried several timings but to no avail.
The sound is created via direct memory access

result = pSystem->createStream((const char *)pBufferIntro, FMOD_OPENMEMORY | FMOD_CREATESTREAM , &infoIntro, &pNewSound->pStartPtr);
pSystem->playSound(pNewSound->pStartPtr, pNewSound->pChannelGroupPtr, true, &pNewSound-pChannelPtr);

And the callback is set like this

pNewSound->pChannelPtr->setCallback((FMOD_CHANNELCONTROL_CALLBACK)Test);

With the callback function itself being

FMOD_RESULT F_CALLBACK Test(FMOD_CHANNELCONTROL *channelcontrol, FMOD_CHANNELCONTROL_TYPE controltype, FMOD_CHANNELCONTROL_CALLBACK_TYPE callbacktype, void *commanddata1, void *commanddata2)
{
if ( callbacktype == FMOD_CHANNELCONTROL_CALLBACK_SYNCPOINT )
DevMsg(“Syncpoint callback triggered\n”);
else
DevMsg(“Generic callback message: %d\n”, callbacktype);

return FMOD_OK;
}

I’ve just done a quick test in our play_stream example and syncpoints appear to be working correctly using your provided code. The only suggestion I can think of is ensure all the functions are returning FMOD_OK and ensure you are unpausing the Channel since you are playing it paused.

If neither of those helps, I suggest trying your code in our examples as a way to find what’s different about them.

The problem ended up being that i used a different pointer for actually adding the sync point

Sound *pIntroSound = pNewSound->pBasePtr;
pIntroSound ->addSyncPoint(0, FMOD_TIMEUNIT_MS, “test”, &ptr);

Directly using pNewSound->pStartPtr made it work, thanks