From ee7e913e1a72c5a1e7b5152561633c1d066346bf Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 5 Jul 2025 19:00:19 +0300 Subject: [PATCH] Added gaining factor for OPL Synth Emulation too Also, fixed default gaining values at libADL and libOPN (they should be 1.0, not 0.5) --- src/common/audio/music/music.cpp | 1 + src/common/audio/music/music_config.cpp | 18 ++++++++++++++++-- wadsrc/static/menudef.txt | 5 +++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/common/audio/music/music.cpp b/src/common/audio/music/music.cpp index 9f51591fe..17f6d242e 100644 --- a/src/common/audio/music/music.cpp +++ b/src/common/audio/music/music.cpp @@ -90,6 +90,7 @@ EXTERN_CVAR(Float, snd_musicvolume) EXTERN_CVAR(Int, snd_mididevice) EXTERN_CVAR(Float, mod_dumb_mastervolume) EXTERN_CVAR(Float, fluid_gain) +EXTERN_CVAR(Float, opl_gain) EXTERN_CVAR(Float, adl_gain) EXTERN_CVAR(Float, opn_gain) diff --git a/src/common/audio/music/music_config.cpp b/src/common/audio/music/music_config.cpp index 3452f455b..ab12f2fc5 100644 --- a/src/common/audio/music/music_config.cpp +++ b/src/common/audio/music/music_config.cpp @@ -120,7 +120,7 @@ CUSTOM_CVAR(Bool, adl_auto_arpeggio, false, CVAR_ARCHIVE | CVAR_VIRTUAL) FORWARD_BOOL_CVAR(adl_auto_arpeggio); } -CUSTOM_CVAR(Float, adl_gain, 0.5, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +CUSTOM_CVAR(Float, adl_gain, 1.0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) { if (!mus_usereplaygain) { @@ -262,6 +262,20 @@ CUSTOM_CVAR(Bool, opl_fullpan, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIR FORWARD_BOOL_CVAR(opl_fullpan); } +CUSTOM_CVAR(Float, opl_gain, 1.0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +{ + if (!mus_usereplaygain) + { + FORWARD_CVAR(opl_gain); + } + else + { + // Replay gain will disable the user setting for consistency. + float newval; + ChangeMusicSetting(zmusic_opl_gain, mus_playing.handle, 1.0f, & newval); + } +} + #ifndef ZMUSIC_LITE //========================================================================== // @@ -315,7 +329,7 @@ CUSTOM_CVAR(Bool, opn_auto_arpeggio, false, CVAR_ARCHIVE | CVAR_VIRTUAL) FORWARD_BOOL_CVAR(adl_auto_arpeggio); } -CUSTOM_CVAR(Float, opn_gain, 0.5, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) +CUSTOM_CVAR(Float, opn_gain, 1.0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL) { if (!mus_usereplaygain) { diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index 0f31f3972..0e55fd790 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -2225,6 +2225,7 @@ OptionMenu ModReplayerOptions protected Title "$ADVSNDMNU_OPLSYNTHESIS" Option "$ADVSNDMNU_OPLCORES", "opl_core", "OplCores" Slider "$ADVSNDMNU_OPLNUMCHIPS", "opl_numchips", 1, 8, 1, 0 + Slider "$ADVSNDMNU_OPLGAIN", "opl_gain", 0, 10, 0.1, 1 Option "$ADVSNDMNU_OPLFULLPAN", "opl_fullpan", "OnOff" } @@ -2293,7 +2294,7 @@ OptionMenu ModReplayerOptions protected OptionMenu ADLOptions protected { Title "$ADVSNDMNU_ADLMIDI" - Slider "$ADVSNDMNU_FLUIDGAIN", "adl_gain", 0, 10, 0.1, 1 + Slider "$ADVSNDMNU_ADLGAIN", "adl_gain", 0, 10, 0.1, 1 Option "$ADVSNDMNU_OPLCORES", "adl_emulator_id", "ADLOplCores" Option "$ADVSNDMNU_RUNPCMRATE", "adl_run_at_pcm_rate", "OnOff" Slider "$ADVSNDMNU_ADLNUMCHIPS", "adl_chips_count", 1, 32, 1, 0 @@ -2312,7 +2313,7 @@ OptionMenu ModReplayerOptions protected OptionMenu OPNOptions protected { Title "$ADVSNDMNU_OPNMIDI" - Slider "$ADVSNDMNU_FLUIDGAIN", "opn_gain", 0, 10, 0.1, 1 + Slider "$ADVSNDMNU_OPNGAIN", "opn_gain", 0, 10, 0.1, 1 Option "$ADVSNDMNU_OPNCORES", "opn_emulator_id", "OpnCores" Option "$ADVSNDMNU_RUNPCMRATE", "opn_run_at_pcm_rate", "OnOff" Slider "$ADVSNDMNU_OPNNUMCHIPS", "opn_chips_count", 1, 32, 1, 0