I am using FMOD_Studio_System_GetBus() to get the “bus:/master” bus but it is failing. I have a VCA called master, I assume this is the same thing as a BUS? Why would it be failing? This worked fine on a pervious project and as far as I can tell everything is set up the same. I am using c interface. Everything else in the game works fine, I can play sounds, etc.
Hi,
The issue may be with the name you are trying to retrieve the Master Bus
with: bus:/master
, if you right click the Master Bus
in the Mixer and select Copy Path
:
it will return
bus:/
. Would it be possible to test using this path? Most of our FMOD functions return FMOD_RESULT’s (FMOD Engine | Core API Reference - FMOD_RESULT) which help in debugging, it may help to add this to the GetBus()
function:
FMOD::Studio::Bus* masterBus = nullptr;
FMOD_RESULT result = system->getBus("bus:/master", &masterBus);
if (result != FMOD_OK)
{
// Do something here
}
Hope this helps!
That does solve the problem, but I don’t know why it was working in my previous game. Can you rename buses or create new buses? Is there a reason to use the bus:/ rather the vca:/? I used to have a group named master? I though groups were just for internal organization. Do they matter? Just trying to figure out why this works in the previous game.
I’m trying to call FMOD_Studio_Bus_SetPaused() when the game loose focus.
Good to hear that helped.
You can create new Group Buses: FMOD Studio | Glassary - Group Bus but there can only be one Master Bus: FMOD Studio | Glossary - Master Bus in each project.
“A group bus mixes the output of multiple events and buses together, allowing you to apply effects and routing behavior to all the signals within a group.” (FMOD Studio | Mixing - Group Buses and Routing)
" A VCA (or “Voltage Controlled Amplifier”) is a volume property that adjusts the volume of the buses, events, and other VCAs assigned to that VCA." (FMOD Studio - Mixing - VCAs). In summary, VCAs are used for controling the final volume of buses and events regardless of their routing while buses are used for mixing, applying effects and routing.
If you are wanting to pause then you would want to use a bus rather than a VCA.
It maybe that in your previous game, you created a new group bus and renamed it to “master”? That would have given you a working path of bus:/master
.
As mentioned above, group buses can be used for organization and routing but provide other functionality as well, while a VCA is used for volume control.