Sections :



Create playlists and add tracks in each of the three sections. For each playlist you can customize the title and track names.

Settings for each playlist in each Section:
⦁ Play in index order or mixed order.
⦁ Fade tracks at the beginning and end.
⦁ Control the delay between tracks.
⦁ Loop the playlist.

Settings for each track in each playlist:
⦁ Loop the track.

Music Section

The Music section is where you'll create all of your Music playlists.

Music Playlist Examples:
Songs, Underscore, Ambient, Stingers, etc.

The Music Section's main audio player is the first child of Earchestra, called MusicPlayer. MusicPlayer contains an AudioSource component. This component's volume is controlled by the Volumes section in Earchestra Sections.

SFX Section

The SFX section is where you'll create all of your sound effects playlists.

SFX Playlist Examples:
Guns, Vehicles, Weather, Explosions, UI, etc.

The SFX Section's main audio player is the second child of Earchestra, called SFXPlayer. SFXPlayer contains an AudioSource component. This component's volume is controlled by the Volumes section in Earchestra Sections.

Speech Section

The Speech section is where you'll create all of your speech playlists.

Speech Playlist Examples:
Player, Enemy, Boss, Announcements, Dialogue, etc.

The Speech Section's main audio player is the third child of Earchestra, called SpeechPlayer. SpeechPlayer contains an AudioSource component. This component's volume is controlled by the Volumes section in Earchestra Sections.

Settings



Perpetual

If the Perpetual toggle is on, the current instance of Earchestra will persist throughout each scene in the build index. This setting will destroy any other instances of Earchestra in any scene.

3D Sound

The 3D Sound toggle is a quick way to change certain audio settings on Earchestra's audio players. When the toggle is on, each audio player in Earchestra is changed to the following settings:

Spatial Blend = 1
Doppler Level = 0.1
Spread = 100
Volume Rolloff = Custom

When the toggle is off, the above settings are reverted to their original Earchestra values.
These settings are only changed once when the toggle is clicked, so any of these values can be changed manually at any time.

Volumes



In Editor:

Control the master volumes for each Section using sliders in the EarchestraSections inspector. These volumes apply to the main section players as well as each of their Ensemble players.

The Earchestra system saves and loads these volume values to a Json file located in the device's persistent files each time a slider's value changes.

Runtime User Input:

Earchestra includes a prefab called Volume Settings, which is located in the Earchestra/Prefabs folder.

This prefab contains Earchestra's Volumes script component. This script has all the methods needed for the Volume Settings system, as well as a public Slider field for each master volume.

The Volume Settings object is a Button whose OnValueChanged event uses Volumes' OpenVolumes() method to enable Volume Setting's second child object: MasterVolumes.

MasterVolumes has a child object for each Section in Earchestra. These child objects each contain a Slider component and are called MusicVolume, SFXVolume, and SpeechVolume.

The VolumeSettings prefab has these three objects placed in their respective public Slider fields in the Volume script.

Each Slider's OnValueChanged event uses the Volume script's MusicVolume(), SfxVolume(), and SpeechVolume() methods, respectively.

Using these sliders, the user can set the master volumes for each section at runtime. The Volumes script saves and loads these volume values to a Json file in the device's persistent files each time a slider's value changes.

MasterVolumes also has a child object called CloseVolumes. This is a Button whose OnValueChanged event uses CloseVolumes() method to disable the MasterVolumes object.

Ensemble





Clone the main audio players for each Section, making Earchestra capable of handling more complex and dynamic audio demands such as:
⦁ Playing multiple playlists from the same section at the same time.
⦁ Playing multiple tracks from a Section's playlist at the same time.
⦁ Making any clip from your playlists play at the position of your choice.

Smart Ensemble

Let Earchestra build an Ensemble for you. Deactivates after use.

For the Music Section, Smart Ensemble creates one audio player per playlist, and then one audio player per track.

For the SFX and Speech Sections, Smart Ensemble creates one audio player per playlist, and then three audio players per track.

Maestro Methods



Maestro uses the namespace Earchestra. If you add this assembly reference ( using Earchestra; ) to your scripts, you will not need to use it when calling your methods.

System Control

Earchestra.Maestro.Stop();
Earchestra.Maestro.Pause();
Earchestra.Maestro.Resume();

Music Control

Earchestra.Maestro.Music(string playlist, string command, [Optional] Transform position);

SFX Control

Earchestra.Maestro.SFX(string playlist, string command, [Optional] Transform position);

Speech Control

Earchestra.Maestro.Speech(string playlist, string command, [Optional] Transform position);

Playlist Commands

MixOn - Plays tracks in random order

MixOff - Plays tracks in index order

Play - Plays playlist

Pause - Pauses playlist

Unpause - Unpauses playlist

Stop - Stops all tracks in playlist

LoopOn - Loops playlist

LoopOff - Turns off loop for playlist

Random - Plays random track


Track Commands(Where string = Track Name)

Play(string)- Plays track

Pause(string)- Pauses track

Unpause(string)- Unpauses track

Stop(string)- Stops track

LoopOn(string)- Loops track

LoopOff(string)- Turns off loop for track


[Optional] Positions

Earchestra can send an audio player to designated positions to play your tracks at location using Earchestra's Maestro Methods.

With Ensemble :
Earchestra will send out an audio player clone from the Ensemble to play the audio clip at the position.

Without Ensemble :
Earchestra will send the Section's audio player Ensemble to play the audio clip at the position.