AMusicLayoutBase
(AActor)
(AActor)
MusicLayouts hold a collection of MusicSegments and are made to handle tempo-synched horizontal music transitioning. The transition rules are defined by the designer to be iterated through at runtime when the layout decides what transition to use based on the current music and the incoming music. Game systems primarily interact with MusicLayouts through game parameters and the MusicManager, which can be gotten through the AudioManagerSubsystem.
NOTE: When used within the music system, MusicLayouts will automatically listen for game parameters regardless of "Class Default" settings.
NOTE: A MusicLayout can also be used outside of the music system so long as they are a manually spawned like any other actor and managed directly. Any function labeled "External" indicates that without the music system these functions need to be utilized manually. Any function marked as "Dependent" indicates that this function will NOT work without the music system.
An array of MusicTransitionInstructions that are used to determine what transition should happen based on the current music and the queued music and how that transition should be carried out. Transitions are iterated through from top to bottom (lowest to highest index). This means that MusicTransitionInstructions at the top are considered before those at the bottom.
Each rule can have two MusicTransitionInstructions
Main Transition = This transition is the only data considered when queueing the next music. It is the final destination of this transition rule.
Intermediate Transition = This transition is only used when an transitionary piece of music needs to be played. This can either be a whole transitionay section or something like a cymbal wash to smooth out the main transition. The "Incoming Music" property CANNOT be null, otherwise it will be ignored. When an intermediate transition exists along with a main transition, there are 2 transitions that get added to the queue. The first is the intermediate transition and the second is the main transition and they are evaluted in that order. This means that cue settings for the main transition will use the intermediate transition music's bpm and time signature.
NOTE: A default MusicTransitionInstruction is automatically added to the bottom of the transition rules for all MusicLayouts.
Call this function to add a music transition to the queue. Transitions are evaluated in the order they are added. Clearing the transition queue means this transition will be the next one evaluated after the current transition. If overriding the current transition, this transition will immediately replace the current transition.
Call this function to define and add a unique, oneoff music transition to the queue. Transitions in the "transitionRules" are not considered.
Override this function to set the default MusicLayout behavior when called.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Stops all currently playing music and clears all transitions.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Pauses all currently playing MusicSegments and the transition queue.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Unpauses MusicSegments and restarts the transition queue.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Override this function to add code that responds to the "next" command being called from the audio system.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Override this function to add code that responds to the "previous" command being called from the audio system.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Override this function to add code that responds to the "reset" command being called from the audio system.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Override this function to add code that accomodates any trigger called using FName labels.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
Call this function to play a music stinger in sync with the current music playing.
When a MusicLayout is not being used with the music system call this manually. Otherwise, call this using functions on the MusicManager, which can be gotten through the AudioManagerSubsystem.
When a MusicLayout is not being used with the music system call this function manually to pass AudioSwitchParameters to the MusicLayout. This will also pass those values to the MusicLayout's MusicSegments.
When a MusicLayout is not being used with the music system call this function manually to pass AudioFloatParameters and float values to the MusicLayout. This will also pass those values to the MusicLayout's MusicSegments.
When a MusicLayout is not being used with the music system call this function manually to pass AudioSwitchParameters to the MusicLayout. This will also pass those values to the MusicLayout's MusicSegments.
When a MusicLayout is not being used with the music system call this function manually to pass AudioFloatParameters and float values to the MusicLayout. This will also pass those values to the MusicLayout's MusicSegments.
Gets the local AudioSwitchParameter value for an AudioGroupParameter on the MusicManager.
Gets the local float value for an AudioFloatParameter on the MusicManager.
Override this function to add code that will match custom functionality with specific AudioSwitchParameters within an AudioGroupParameter received from the music system.
Override this function to add code that will match custom functionality with specific AudioFloatParameters and values received from the music system.
Override this function to add code that will match custom functionality with specific AudioSwitchParameters within an AudioGroupParameter received from the AudioManagerSubsystem.
Override this function to add code that will match custom functionality with specific AudioFloatParameters and values received from the AudioManagerSubsystem.
Gets the global AudioSwitchParameter value for an AudioGroupParameter.
Gets the global float value for an AudioFloatParameter.