Hi for all
I would like to get more knowledge about the ChannelGroup class. It’s almost a SoundGroup class. Can someone explain what’s the real purpose of ChannelGroup class? It’s just a container like SoundGroup?
Thanks for all replies[/b]
- C++FMOD asked 10 years ago
channelgroups are for submixing, and grouping channels so you can set all their volumes at once for example.
Use a channelgroup for
- Master volume settings (ie sfx/game/master). A master channelgroup can contain child channelgroups, so you can get this level of control
- Add an effect to a bunch of channels at once, rather than one for each channel (saves cpu time and memory).
- Create a channelgroup and add an effect to it, then have some channels not in that group, so that they are not affected by the effect.
Use a soundgroup for
- limiting the number of sounds that can be heard at once, ie set MaxAudible.
- Set the volume of a particular type of sound. This usually a different case than a channelgroup. You might want all monsters to be quiet, but channelgroups usually contain lots of different sounds, like all the sounds for a particular effect, or all the sounds in the game (monsters and ambience and weapons).
The SoundGroup class will be expanded in the future and is only a part of what we have planned.. Soon we will have ‘System::playSoundGroup’. so you can put a bunch of sounds in a soundgroup, then System::playSoundGroup will either
a) Play one of the sounds randomly
b) Play one of the sounds sequentially (ie each time you call it the next sound in the group plays)
c) Play all of the sounds in the group at once
d) Play all of the sounds together in a row, as a gapless sentence.
e) Play all of the sounds shuffled randomly in a gapless sentence.
The new feature will be really really cool, it means you could do things like granular synthesis (ie imagine peices of a car engine) where you have a bunch of sounds playing randomly but sequentially without gaps to make up interesting new dynamic sounds that dont repeat.
Please login first to submit.