FMOD Studio User Manual 2.02
Project level data in Studio is represented as a graph of managed objects. A managed object is comprised of:
Event, MixerGroup, Snapshot).ManagedObjects, known as destinations. These can be ToOne or ToMany, and may or may not be ordered.Beyond the generic interface presented for each ManagedObject, a number of extension functions are available for ManagedObjects of a particular project.Entity type.
The root managed object of a project can be retrieved using studio.project.workspace. Objects within a project of a particular project.Entity can be retrieved using Entity.findInstances.
Properties:
project.Entity type.ManagedObject property's value.ManagedObject relationship's destinations.Methods:
ManagedObject's entity type.Properties:
ManagedObject of the property map.ManagedProperty for the given property name.Methods:
Properties:
ManagedProperty was initialized with.ManagedObject of the property.Methods:
Properties:
ManagedObject of the relationship map.ManagedRelationship for the given relationship name.Methods:
Properties:
ManagedObject destinations.ManagedObject of the relationship.Methods:
A string representing the object's project.Entity type.
Lookup project.model to inspect details about the entity. Immutable.
The object's unique ID.
Immutable.
Returns whether an object is in a valid state.
An object may become invalid if it is deleted or if it has a null value for one or more of its required entity.relationships.
Immutable.
Provides access to an object's properties.
Returns a ManagedPropertyMap.
Immutable.
Provides access to a ManagedObject property's value.
Setting the property (with the = operator) will set the property value.
Provides access to a ManagedObject relationship's destinations.
Getting a ToOne relationship will return the single destination object (or null if it is unassigned). Getting a ToMany relationship returns an array of destinations (or an empty array if it has no destinations). Setting a ToOne relationship (with the = operator) will set or replace the current destinations. ToMany relationships cannot be modified with the = operator.
Provides access to an object's relationships.
Returns a ManagedRelationshipMap.
Immutable.
Returns a string describing this ManagedObject's entity type.
ManagedObject.document()
As an example, calling studio.project.workspace.mixer.masterBus.volume = 2, would walk through the Workspace's relationship to the global Mixer, then the Mixer's relationship to the MasterBus, and finally sets the volume property on the MasterBus to 2 dB.
See Also: project.Entity
Logs all members.
ManagedObject.dump()
Use this function to see what functions and properties are available on any ManagedObject. This is particularly useful for finding undocumented functionality.
Returns true if the object type matches the provided entity name.
ManagedObject.isOfExactType(
entityName
)
This does not include derived types.
Returns true if the object has an entity that matches the entity name, or is of a derived type.
ManagedObject.isOfType(
entityName
)
The owning ManagedObject of the property map.
Immutable.
Returns a ManagedProperty for the given property name.
Immutable.
Logs all members.
ManagedPropertyMap.dump()
Use this function to see what functions and properties are available on any managed property map. This is particularly useful for finding undocumented functionality.
The type of data stored by this managed property's value.
Immutable.
The default value that the ManagedProperty was initialized with.
Immutable.
The name of the property.
Immutable.
The owning ManagedObject of the property.
Immutable.
Logs all members.
ManagedProperty.dump()
Use this function to see what functions and properties are available on any property. This is particularly useful for finding undocumented functionality.
Sets the value stored by the property.
ManagedProperty.setValue(
value
)
Returns true if the operation succeeds, or false otherwise.
The value stored by the property.
Immutable.
The owning ManagedObject of the relationship map.
Immutable.
Returns a ManagedRelationship for the given relationship name.
Immutable.
Logs all members.
ManagedRelationshipMap.dump()
Use this function to see what functions and properties are available on any managed relationship map. This is particularly useful for finding undocumented functionality.
A string representing the object's cardinality.
Either ToOne or ToMany.
Immutable.
An array of ManagedObject destinations.
Immutable.
The name of the relationship.
Immutable.
A constant boolean value that is set to true if the relationship is ordered.
The owning ManagedObject of the relationship.
Immutable.
Appends a new destination to a relationship.
ManagedRelationship.add(
managedObject
)
Replaces the current destination for a ToOne relationship. Returns true if the operation succeeds, or false otherwise.
Logs all members.
ManagedRelationship.dump()
Use this function to see what functions and properties are available on any managed relationship. This is particularly useful for finding undocumented functionality.
Inserts a new destination to a relationship at a given index.
ManagedRelationship.insert(
index,
managedObject
)
Returns true if the operation succeeds, or false otherwise.
Removes a destination from a relationship.
ManagedRelationship.remove(
managedObject
)
Returns true if the operation succeeds, or false otherwise.
A constant boolean value that is set to true if the relationship is ordered.