public class SynchedSoundBackground : SceneObjectScript
public SoundResource Sound;
public float Volume_Diff_Percent;
private float RelativePercentToRelativeLoudnessDB(float loudnessPercent)
float clampedPercent = Math.Max(-100.0f, Math.Min(150.0f, loudnessPercent));
float multiplier = 0.01f * clampedPercent;
return 24.0f * (multiplier - 1.0f);
public override void Init()
PlaySettings playSettings = Play_Once ? PlaySettings.PlayOnce : PlaySettings.Looped;
playSettings.Loudness = RelativePercentToRelativeLoudnessDB(Volume_Diff_Percent);
playSettings.DontSync = Dont_Sync;
ScenePrivate.PlaySound(Sound, playSettings);