Automatic Cross-fades
There are several ways to create a cross-fade effect in ADX, like using AISACs or Actions. In this post, we examine a different approach using a lesser-known feature, the Player Fader.
Parameter Palette
The parameter palette can be used to specify advanced settings such as the destination ASR Rack ID and the type of the sound renderer, or in our case to add a Player Fader. This can be set at the Category, Cue and Cue folder levels, with child items having higher priorities.
First, to be able to cross-fade automatically between sounds, a Parameter Palette must be added to the Cues:
- Select a Cue and click Create ParamPalette
- Then, double-click on the ParamPalette just created to open its settings window
- Click on the + icon and select Create PlayerFader Parameter
It is also possible to create the Parameter Palette directly at the Category level, thus avoiding to add one for each cue. Of course, in that case, the Cues to cross-fade have to be assigned to the Category.
Note that a Player Fader can also be assigned programmatically by calling the CriAtomExPlayer::AttachFader function.
Now that the PlayerFader has been assigned, the fading functions will be enabled, and sounds will automatically cross-fade when a new Cue starts.
In order to test this function, the Player List must be displayed in the Session window and the Fade-In/Fade-Out option must be activated. If a first Cue is played, and a second one not long after, you will notice a cross-fade occurring between the two.
Player Action Track
Note that the fading parameters used in the Session window are for testing purpose only. The system acts like if the Fade-In and Fade-Out times were set programmatically by calling the CriAtomExPlayer::SetFadeInTime and CriAtomExPlayer::SetFadeOutTime functions.
However, it is also possible to set these parameters in Atom Craft by using the Player Action Track:
- In the Cue, Create a Player Action Track
- Then right-click on the timeline, and Create a Player Fader Action
- In the Inspector, set the Curve Type, Fade-in Time and Fade-out Time parameters
When the actions are triggered, the fading times will be updated with the new values. As long as they are not retriggered, it is still possible to change the values from code using the aforementioned functions.
Once a Fader has been attached to a Player, this Player will be dedicated to the cross-fade: simultaneous playback will not be available, and the number of Voices will be limited to 1 (or 2 during cross-fading). Therefore, it is recommended to perform cross-fades on a separate Player to avoid any issues.
Feel free to try it by yourself by downloading our Atom Craft project below: