Rerouting events via parameter?

Hi. Lets say I have player footsteps and enemy footsteps.

I want to put a max instance on enemy footsteps, but not player foot steps.

The sound of th eenemy footsteps and player footsteps is the same sound. So if I do max instances on the “Footstepst” group in the mixer, I will be limiting my own footstep sounds as well.

One way to get around this would be to create 2 different events. One called PlayerFootstep and EnemyFootstep and route them to different groups and have Max Instance on only the EnemyFootstep group.

But I would love to not create 2 seperate events for a lot of stuff in the game.

One way to get around this, could be sending a parameter to the footstep event called “IsFirstPerson”.
If parameter=1 then I will send the sound from the event, via sends, to a Return on the mixer called “FirstPersonSteps”.
If parameter=0 I will send the sound from the event, via sends, to a Return on the mixer called “EnemySteps”.

The problem is that I have no “Max instances” on returns.

I would love to be able to send sounds to not only returns, but normal groups in the mixer.
If I could do that, I could get what I wanted.

Another way would be if I could dynamically (via parameters) assign a mixer group to specific events.

Can this be done somehow?

Thanks :slight_smile:

OK riffing of the top of my head and not in front of a comp but… pre-fader send from one of the Event tracks (enemy) into a return, drop the return into its own group?

Even if return buses did have a “max instances” property, it wouldn’t work as a solution, because your event instances would have sends to both return buses (even if those sends were set to -oo dB), meaning that both return buses’ instance limits would be applied to all event instances.

Unfortunately, this wouldn’t work either, for the same reason I gave above.

There is a way to route events different in different circumstances. It doesn’t use parameters, as it’s not possible to alter the routing of a playing event instance in real time; rather, it uses event reference instruments.

When an event instance is spawned from an event instrument, it routes into the audio track that contains that instrument, rather than into the event’s parent group bus in the mixer. This means that you can use an event instrument in an event to define a second possible routing destination for the referenced event, allowing you to choose where an event instance is routed at the moment you create that event instance - which sounds like exactly what you want.

That is what I am doing, but there is no Max Instances on returns, sadly.

What you are talking about is nested events, right?

A parent event will take referenced events and route them to its output, which means that there will only be one routing location. Not several, as i need.
You solution, as I understand it (and i’m sure I’m misunderstanding it), involves making an event and having 2 referenced events inside it. One for “Player” and one for “enemy”.
The problem is that these will be routed to only one destination no matter what. I want multiple destinations.

Could you elaborate further?


Not exactly. Nested events are a type of referenced event, but not all referenced events are nested events. In this case, you want referenced events that aren’t nested events. You can create referenced events that aren’t nested events in the event editor window, by dragging an exist event from the events browser onto any audio or master track of a different event in the editor. Alternatively, you can convert an existing nested event into a referenced event in the events browser, by dragging the nested event out of its parent and into any event folder.

Not exactly.

You’re right that a referenced event routes into its parent event. However, a referenced event can be referenced by multiple different events, each with its own routing location. In addition the referenced event itself can also have its own routing location, which it will use whenever it is instanced from code rather than from one of the events that references it. (This is not true of nested events, which can only ever route into their parent event.)

This means that you can use a event reference instruments to give one referenced events multiple different routing paths, and can control which one it uses whenever you play it by choosing which of its parent events to instantiate.

You have, indeed, misunderstood. There’s a few different ways you could achieve what I described, but here’s one that’s fairly simple to implement:

  1. Create a “footstep” event that contains all the instruments and other content required to play a footstep sound.
  2. Route the “footstep” event into the bus with no instance limit.
  3. Create an “enemy footstep” event that contains an event reference instrument that targets the “footstep” event, and nothing else.
  4. Route the “enemy footstep” event into the bus with an instance limit.

Both of these events play the same content (the content of the “footstep” event), but the output of the “Footstep” event is routed into the bus with no instance limit, wheras the output of the “enemy footstep” event is routed into the bus with an instance limit.

Yeah ok, I understand now. Not quite what I wanted. Would like to have this functionality parameter controlled. With this solution I still have to play 2 distinct events (even though they actually are the same event). Would love to have only 1 event but have it parameter driven to set if it belonged to an enemy (and hat its own routing) or to the player (and had a different routing).
But thanks for your time :slight_smile: