Global volume control?

Is there a way to adjust master volume globally? I have an in-game volume control for music and sound effects, and I’d like to hook it up to FMOD but I’m not seeing any obvious way to do it. I could track all my in-progress events and change their volumes in theory, but that seems like quite a pain for something that is so common, so I’m guessing I’m just unaware of some easier method?

Hi rippon,
Try using System::getMixerStrip and MixerStrip::setFaderLevel


What should I pass for the ID? And/or will there be any documentation coming with the update on the 17th?

Unfortunately we don’t currently have a way to get the master bus ID via the UI.

I recommend you load the file and the use System::lookupBusID to get the master bus ID, as follows:

FMOD::Studio::Bank stringsBank;
ERRCHECK( system.loadBank("Master", &stringsBank) );

FMOD::Studio::ID masterBusID;
ERRCHECK( system.lookupBusID("/", &masterBusID) ); // the master bus path is "/"

FMOD::Studio::MixerStrip masterBus;
ERRCHECK( system.getMixerStrip(&masterBusID, FMOD_STUDIO_LOAD_PROHIBITED, &masterBus) );

Another way to get the master bus ID is to use the File->Export GUIDs… command, and then open the GUIDs-mixer.txt file in your project’s Build directory. This contains a list of bus IDs and paths, which looks like this:

{1525b2f6-23bd-4aaf-9c65-e38e9b175316} /
{1db01284-1917-4238-b377-ad8e4e39c72f} /Reverb
{b27ba7df-3cde-4196-9847-cb4bfcc3145f} /General Group
{44c7fc4c-a7e2-4e2f-ae97-4570c28ae962} /Dialog Group
{7f639735-fb1b-42fd-af37-1eb6de1cf9e4} /Dialog Group/Radio
{5738c392-1303-4ff5-98cd-22831db17fe2} /Dialog Group/Base Dialog

The master bus path is “/”, so the corresponding line in GUIDs-mixer.txt (the first line in the example above) has the master bus ID.