0
0

I’m looking for a way to get volume control of substreams within an interleaved stream for interactive music purposes. Is there a way to do this within the event editor?

If it’s not in the event editor, maybe you could just point out what the call would be in FMOD EX to alter the volume of a particular substream from within an interleaved file?

Thanks…

  • You must to post comments
0
0

Advanced interactive music support will be available in FMOD Designer very soon but in the meantime check out the multispeakeroutput example, in particular Channel::setSpeakerLevels. Using this function you can set the volume of each of the channels in a mutlichannel sound independently.

  • You must to post comments
0
0

This looks great! Thanks…. only one more thing we need to get this working – is there a way to send all the channels in an interleaved file to the front two speakers (instead of multiple surround speakers) and still control the channel volumes? I would think so, but we’re unclear how to do this.

We’d like to be able to keep the surround speakers available for 3d sound, so we wouldn’t want to disable the surround speakers. We’d just want to be able to direct all the channels in the interleaved file to the front two speakers.

Right now, our programmer is having a hard time seeing how channel volume can be manipulated independently from speaker outputs, because he can only see how speaker output volumes can be changed.

  • You must to post comments
0
0

For a four channel sound :

[code:nluxxq1x]
float levels[4] = { chan0volume, chan1volume, chan2volume, chan3volume };
result = channel->setSpeakerMix(1.0f, 1.0f, 0, 0, 0, 0, 0, 0);
result = channel->setSpeakerLevels(FMOD_SPEAKER_FRONT_LEFT, levels, 4);
result = channel->setSpeakerLevels(FMOD_SPEAKER_FRONT_RIGHT, levels, 4);
[/code:nluxxq1x]

setSpeakerMix says we want frontleft and frontright at full volume, everything else silent.
setSpeakerLevels specifies the volume of each input channel as it should appear on each of the front two speakers.
So, use setSpeakerLevels to set which of your tracks is audible and then Channel::setVolume or even setSpeakerMix to set the volume of the whole thing.

  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.