AudioStates
Asset path: Server/Audio/AudioStates/*.json
A named state axis that any audio object can subscribe to. Server-authority axes are driven by server logic and broadcast to clients. Client-authority axes are driven locally on the client (e.g. by AmbienceFX SetStates).
Parent
When set this asset will inherit properties from the named asset.
When inheriting from another AudioState most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.
Type information: String
Tags
Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.
For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.
Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.
Type information:
(Nullable) Map of the following:
| Key | Type |
|---|---|
any String | Array of String |
Authority
Server: written on the server and broadcast. Client: written locally by AmbienceFX SetStates.
Type information:
(Nullable) Any one of the following String (defaults to Server):
| Name | Description |
|---|---|
"Server" | |
"Client" |
Values
Ordered list of state value names on this axis.
Type information: Array of String
DefaultValue
State value name the axis reports as active before any explicit setting.
Type information: (Nullable) String
DefaultSyncTo
Where transitions on this axis begin when the matched edge includes no SyncTo of its own. Carries the same Point, Marker, Offset, and BarMultiple as a music transition's ExitAt. Omit to begin immediately.
Type information:
(Nullable)
MusicSyncConfig with the following properties:
| Key | Type | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Point | (Nullable) Any one of the following String (defaults to Immediate):
SyncPoint
| Which boundary to wait for: Immediate, NextBeat, NextBar, ExitMarker, or NextMarker. | ||||||||||||
| Marker | (Nullable) String | Marker name to sync to. Only used with Point: NextMarker. Omit to take the next marker of any name. | ||||||||||||
| Offset | (Nullable)
BarBeatDuration
| Signed offset from the boundary, as bars + beats + ms. Negative fires early, for lead-in material or to land on the last bar of a phrase. | ||||||||||||
| BarMultiple | Integer defaults to: 0 | Only used with Point: NextBar. Waits for every Nth bar counted from the grid origin, so 4 hands over on four-bar phrase boundaries. Omit, 0 or 1 all mean every bar. |
DefaultTransition
Fallback transition used when no edge matches the from/to pair. Omission means no default is provided (transition immediately in 0 ms).
Type information:
(Nullable)
StateTransitionConfig with the following properties:
| Key | Type | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| From | (Nullable) String | State value name this edge transitions from. '*' for wildcard. Unused when used as an override. | |||||||||||||||
| To | (Nullable) String | State value name this edge transitions to. '*' for wildcard. Unused when used as an override. | |||||||||||||||
| Duration | (Nullable)
BarBeatDuration
| How long the transition takes, as bars plus beats plus ms against each subscribed voice's tempo. A voice with no tempo takes the Ms component alone. Omit to take the axis DefaultTransition. | |||||||||||||||
| Curve | (Nullable) Any one of the following String (defaults to Linear):
FadeCurve
| Interpolation curve shape. Read only from the rung that supplies Duration, so a Curve alongside no Duration is ignored. Linear if not supplied. | |||||||||||||||
| SyncTo | (Nullable)
MusicSyncConfig
| Where on the playing music the transition begins, carrying the same Point, Marker, Offset, and BarMultiple as a music transition's ExitAt. A signed Offset moves the start off the boundary, so a fade can begin half a bar past the downbeat. Omit to take the axis DefaultSyncTo. A voice with no tempo and no markers begins immediately regardless. | |||||||||||||||
| Delay | (Nullable)
BarBeatDuration
| How long a voice holds its old level past the boundary before its ramp starts. An audio category has no hold, so a delay lengthens its ramp instead. Non-negative: to begin before a boundary, move the boundary itself with SyncTo Offset. | |||||||||||||||
| PostEvent | (Nullable) String | Music event posted when this edge is taken. A free-form name, so a state change can mark a musical moment without naming a stinger. |
Transitions
Per-edge transition settings keyed by From/To state value names. '*' wildcards supported.
Type information:
(Nullable) Array of the type:
StateTransitionConfig with the following properties:
| Key | Type | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| From | (Nullable) String | State value name this edge transitions from. '*' for wildcard. Unused when used as an override. | |||||||||||||||
| To | (Nullable) String | State value name this edge transitions to. '*' for wildcard. Unused when used as an override. | |||||||||||||||
| Duration | (Nullable)
BarBeatDuration
| How long the transition takes, as bars plus beats plus ms against each subscribed voice's tempo. A voice with no tempo takes the Ms component alone. Omit to take the axis DefaultTransition. | |||||||||||||||
| Curve | (Nullable) Any one of the following String (defaults to Linear):
FadeCurve
| Interpolation curve shape. Read only from the rung that supplies Duration, so a Curve alongside no Duration is ignored. Linear if not supplied. | |||||||||||||||
| SyncTo | (Nullable)
MusicSyncConfig
| Where on the playing music the transition begins, carrying the same Point, Marker, Offset, and BarMultiple as a music transition's ExitAt. A signed Offset moves the start off the boundary, so a fade can begin half a bar past the downbeat. Omit to take the axis DefaultSyncTo. A voice with no tempo and no markers begins immediately regardless. | |||||||||||||||
| Delay | (Nullable)
BarBeatDuration
| How long a voice holds its old level past the boundary before its ramp starts. An audio category has no hold, so a delay lengthens its ramp instead. Non-negative: to begin before a boundary, move the boundary itself with SyncTo Offset. | |||||||||||||||
| PostEvent | (Nullable) String | Music event posted when this edge is taken. A free-form name, so a state change can mark a musical moment without naming a stinger. |
RevertWhenInactive
When true, the axis reverts to DefaultValue when every active AmbienceFX that was writing it goes inactive and no new writer claims it. Only meaningful for Authority: Client axes.
Type information: Boolean defaults to: false
Notes:
Types referenced by this type
SyncPoint
(Nullable) Any one of the following String (defaults to Immediate):
| Name | Description |
|---|---|
"Immediate" | |
"NextBeat" | |
"NextBar" | |
"ExitMarker" | |
"NextMarker" |
