Automating the Spatializer -> PanOverride -> Mix Knob via Scripting

Hi all,

I’m looking to automate the Mix knob of the Pan Override in the Spatializer via a script. From the documentation, it seems straightfoward if I want to add the effect, but the effect already exists. How do I get at that automatable object?

Obviously it’s some variation on this, but I just can’t seem to figure out how to get that spatializer object, and what automatable thing it would be (probably not just “mix”):

// adds an automation curve
var automator = spatializer.addAutomator(“Mix”);
var 3dParam= studio.project.lookup(“parameter:/3D”);
var automationCurve = automator.addAutomationCurve(3dParam.parameter);


The (ManagedObject:SpatialiserEffect) object is one of the effects of the effectChain of the mixerGroup of the track whose signal chain contains the spatializer effect you’re trying to automate. The mixerGroup is part of the masterTrack (or perhaps one of the groupTracks) of the event.

The spatializer property you’re looking for is called panBlend. It’s a float that ranges from 0-1, where 0 is equal to a Mix of 100% and 1 is a mix of 0%.

1 Like

Perfect, thanks! Just for my own reference, is there a section in the documentation that I missed, or would this have required source code to know?

You can get the properties of any managed object, managed property, managed property map, relationship, or relationship map in an FMOD Studio project by calling dump() on that object. By using this sequentially, you can explore your entire project.

For example, you could start by calling studio.project.workspace.dump() in the terminal. This will give you a list of the workspace managed object’s properties, one of which is the masterEventFolder. If you then call studio.project.workspace.masterEventFolder.dump(), you’ll get the masterEventFolder's properties, one of which is items, a list of the events in your project. If you then call dump() on one of those events, you’ll get that event’s properties, and so on.

The various flavors of dump() are described here, here, here, here, and here in the FMOD Studio User Manual.

Perfect. Exactly what I was looking for. Thank you so much, Joseph!