forked from nikita/muzika-gromche
Compensate for loudness level -14 LUFS of audio files
This commit is contained in:
parent
8223425b19
commit
cd9e0a7a10
|
|
@ -2084,7 +2084,10 @@ namespace MuzikaGromche
|
||||||
public static bool ExtrapolateTime { get; private set; } = true;
|
public static bool ExtrapolateTime { get; private set; } = true;
|
||||||
public static bool ShouldSkipWindingPhase { get; private set; } = false;
|
public static bool ShouldSkipWindingPhase { get; private set; } = false;
|
||||||
|
|
||||||
|
// Audio files are normalized to target -14 LUFS, which is too loud to communicate. Reduce by another -12 dB down to about -26 LUFS.
|
||||||
|
public static float DefaultVolume = 0.25f;
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
|
public static ConfigEntry<float> Volume { get; private set; } = null!;
|
||||||
// Latest set track, used for loading palette and timings.
|
// Latest set track, used for loading palette and timings.
|
||||||
private static IAudioTrack? CurrentTrack = null;
|
private static IAudioTrack? CurrentTrack = null;
|
||||||
// All per-track values that can be overridden
|
// All per-track values that can be overridden
|
||||||
|
|
@ -2153,6 +2156,7 @@ namespace MuzikaGromche
|
||||||
SetupEntriesForScreenFilters(configFile);
|
SetupEntriesForScreenFilters(configFile);
|
||||||
SetupEntriesForExtrapolation(configFile);
|
SetupEntriesForExtrapolation(configFile);
|
||||||
SetupEntriesToSkipWinding(configFile);
|
SetupEntriesToSkipWinding(configFile);
|
||||||
|
SetupEntriesForVolume(configFile);
|
||||||
SetupEntriesForPaletteOverride(configFile);
|
SetupEntriesForPaletteOverride(configFile);
|
||||||
SetupEntriesForTimingsOverride(configFile);
|
SetupEntriesForTimingsOverride(configFile);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -2274,6 +2278,13 @@ namespace MuzikaGromche
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetupEntriesForVolume(ConfigFile configFile)
|
||||||
|
{
|
||||||
|
Volume = configFile.Bind("General", "Volume", DefaultVolume,
|
||||||
|
new ConfigDescription("Volume of the music played by this mod.", new AcceptableValueRange<float>(0f, 1f)));
|
||||||
|
LethalConfigManager.AddConfigItem(new FloatSliderConfigItem(Volume, requiresRestart: false));
|
||||||
|
}
|
||||||
|
|
||||||
private void SetupEntriesForPaletteOverride(ConfigFile configFile)
|
private void SetupEntriesForPaletteOverride(ConfigFile configFile)
|
||||||
{
|
{
|
||||||
const string section = "Palette";
|
const string section = "Palette";
|
||||||
|
|
@ -2658,16 +2669,26 @@ namespace MuzikaGromche
|
||||||
IntroAudioSource.maxDistance = Plugin.AudioMaxDistance;
|
IntroAudioSource.maxDistance = Plugin.AudioMaxDistance;
|
||||||
IntroAudioSource.dopplerLevel = 0;
|
IntroAudioSource.dopplerLevel = 0;
|
||||||
IntroAudioSource.loop = false;
|
IntroAudioSource.loop = false;
|
||||||
|
IntroAudioSource.volume = Config.DefaultVolume;
|
||||||
|
|
||||||
LoopAudioSource = loopAudioGameObject.GetComponent<AudioSource>();
|
LoopAudioSource = loopAudioGameObject.GetComponent<AudioSource>();
|
||||||
LoopAudioSource.maxDistance = Plugin.AudioMaxDistance;
|
LoopAudioSource.maxDistance = Plugin.AudioMaxDistance;
|
||||||
LoopAudioSource.dopplerLevel = 0;
|
LoopAudioSource.dopplerLevel = 0;
|
||||||
LoopAudioSource.loop = true;
|
LoopAudioSource.loop = true;
|
||||||
|
LoopAudioSource.volume = Config.DefaultVolume;
|
||||||
|
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(MuzikaGromcheJesterNetworkBehaviour)} Patched JesterEnemy");
|
Debug.Log($"{nameof(MuzikaGromche)} {nameof(MuzikaGromcheJesterNetworkBehaviour)} Patched JesterEnemy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
IntroAudioSource.volume = Config.Volume.Value;
|
||||||
|
LoopAudioSource.volume = Config.Volume.Value;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
public override void OnNetworkSpawn()
|
public override void OnNetworkSpawn()
|
||||||
{
|
{
|
||||||
ChooseTrackDeferred();
|
ChooseTrackDeferred();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue