MixerStrip setMute not working

Hi.
I’m implementing MixerStrips to allow me to control different audio groups (eg: music/gameplay/ambient) and for the most part it’s working, but I’m having a few minor issues. Item #1 below is my main issue.

  1. Any calls to Studio::MixerStrip::setMute appear to be ignored. I can successfully set the mute flag, and query the expected value back with getMute, but the sounds in the VCA keep playing. Note that calling Studio::MixerStrip::setFaderLevel does work correctly, so the sounds appear to be correctly wired up to the VCA.

  2. I’ve also tried using the setPaused/getPaused methods, and these don’t stop the audio output either. In addition to this, it’s not clear from the documentation what the difference is between pausing and muting.

  3. [[removed red herring]]

  4. Whenever I perform a Studio::System::getMixerStrip call, I also get a “Lookup failed” message for the particular VCA that I’ve queried for. The call DOES succeed, and I get a valid handle to the MixerStrip object that I can set the volume (ie: FaderLevel) successfully. The Guid displayed is the Guid of the MixerStrip. It looks like this:

FMOD: ObjectLookup::get : Lookup failed for BusModel: {befbcf0a-bc4d-482d-baf8-de5493d0a6b3}

Only the first of these issues is a major problem for me, but i’ve included all of the details here because they may be relevant. It’d be nice to avoid the logging messages if possible to keep the debug output reasonably clean.

Thanks

It appears that #3 above is not an issue. When i’m loading *.bank files it will initially say this because some objects referenced in the master.strings.bank file aren’t yet loaded. Loading the rest of the *.bank files will reduce the number of errors each time.

I’ve done further investigation on this, and the issue exists in both iOS and Android.

As a quick check, can you confirm you are calling Studio::System::update regularly?

Yep, i’m definitely calling update regularly.

The mute functionality is specifically for Buses and not VCAs so this feature is currently behaving as intended. In 1.5 the MixerStrip class has been replaced with Bus and VCA classes so this will be clearer. For the moment we reccomend setting the fader level to zero to mute all events playing through a VCA. We may add VCA mute functionality in a future release.

1 Like

Thanks for that Peter. I was using VCAs because there appears to be no way to get programmatic access to Buses through the API (at least no obvious methods that I can see). Is there something that i’m missing for this, or is this coming in v1.5?

You can retrieve buses the same way you retrieve VCAs, either by ID or by path. The format for a bus path is: “bus:/(path to bus)”

e.g. The path to the Ambience group bus in the examples (which is routed into the SFX bus) is: “bus:/SFX/Ambience”

The master bus path is just “bus:/”

Ahah! I’ve found them. They are called Routing groups in FMOD studio. The terminology difference between FMOD Studio and the API is a bit confusing.
Thanks for your help Peter.