I’m trying to stop all sounds that are currently playing but calling StopAllEvents function of a mixer causes the following error that can be reproduced running in unity editor on osx:
FMOD Error (ERR_SUBSOUNDS): The error occured because the sound referenced contains subsounds when it shouldn’t have, or it doesn’t contain subsounds when it should have. The operation may also not be able to be performed on a parent sound.
I can obviously stop all events by hand that I have a pointer to, but I use a lot of single shot events (where I release the instance immediately after play) so can’t stop them manually anymore.
I’m experiencing the exact same problem. I too need to call StopAllEvents on a MixerStrip. I am able to call SetPaused just fine, but StopAllEvents doesn’t seem to work at all. Is this feature still yet to be implemented?
Unfortunately the stop all events features is currently unimplemented. It’s unusual that you would be seeing that error message, it shouldn’t be returning FMOD_ERR_SUBSOUND.
Oh and if it helps, I’m using that for the main mixer which I get like this:
public static FMOD.Studio.MixerStrip m_mixer;
static public void Initialize ()
{
m_system = FMOD_StudioSystem.instance;
// Get main mixer
FMOD.GUID guid = new FMOD.GUID();
ERRCHECK( m_system.System.lookupID("bus:/", out guid) );
ERRCHECK( m_system.System.getMixerStrip(guid, FMOD.Studio.LOADING_MODE.BEGIN_NOW, out m_mixer) );
}