Remove the config option that changes the volume scale

This commit is contained in:
刘皓 2024-09-02 15:58:15 -04:00
parent f6b67ec99e
commit d3a0b4c9fb
No known key found for this signature in database
GPG key ID: 7901753DB465B711
11 changed files with 11 additions and 48 deletions

View file

@ -467,16 +467,6 @@
//
// "YJITEnable": false,
// Determines how the volume value of a sound affects how loud the sound is.
// The stock RPG Maker runtimes use a -35 dB scale for volume (option 0),
// but other runtimes might use a different scale.
// 0: -35 dB (a gain of -0.35 dB is applied to the sound for every percent
// the volume is set below 100%)
// 1: linear (sound amplitude is multiplied by the volume)
// (default: 0)
//
// "volumeScale": 0,
// SoundFont to use for midi playback (via fluidsynth)
// (default: none)
//

View file

@ -27,7 +27,6 @@
#include <SDL_audio.h>
#include <assert.h>
#include <cfloat>
#include <cmath>
namespace AL
@ -168,22 +167,10 @@ namespace Source
return value;
}
enum VolumeScale
inline void setVolume(Source::ID id, float value)
{
Db35 = 0,
Linear = 1,
};
inline void setVolume(Source::ID id, float value, VolumeScale scale)
{
switch (scale) {
case Linear:
break;
default:
if (value > FLT_EPSILON) {
value = std::pow(10.0f, -(35.0f / 20.0f) * (1.0f - value));
}
break;
if (value > FLT_EPSILON) {
value = std::pow(10.0f, -(35.0f / 20.0f) * (1.0f - value));
}
alSourcef(id.al, AL_GAIN, value);
}

View file

@ -36,11 +36,9 @@
#include <SDL_timer.h>
ALStream::ALStream(LoopMode loopMode,
AL::Source::VolumeScale volumeScale,
const std::string &threadId)
: looped(loopMode == Looped),
state(Closed),
volumeScale(volumeScale),
source(0),
thread(0),
preemptPause(false),
@ -48,7 +46,7 @@ ALStream::ALStream(LoopMode loopMode,
{
alSrc = AL::Source::gen();
AL::Source::setVolume(alSrc, 1.0f, volumeScale);
AL::Source::setVolume(alSrc, 1.0f);
AL::Source::setPitch(alSrc, 1.0f);
AL::Source::detachBuffer(alSrc);
@ -166,7 +164,7 @@ void ALStream::pause()
void ALStream::setVolume(float value)
{
AL::Source::setVolume(alSrc, value, volumeScale);
AL::Source::setVolume(alSrc, value);
}
void ALStream::setPitch(float value)

View file

@ -47,8 +47,6 @@ struct ALStream
bool looped;
State state;
AL::Source::VolumeScale volumeScale;
ALDataSource *source;
SDL_Thread *thread;
@ -91,7 +89,6 @@ struct ALStream
};
ALStream(LoopMode loopMode,
AL::Source::VolumeScale volumeScale,
const std::string &threadId);
~ALStream();

View file

@ -69,15 +69,15 @@ struct AudioPrivate
} meWatch;
AudioPrivate(RGSSThreadData &rtData)
: bgs(ALStream::Looped, static_cast<AL::Source::VolumeScale>(rtData.config.volumeScale), "bgs"),
me(ALStream::NotLooped, static_cast<AL::Source::VolumeScale>(rtData.config.volumeScale), "me"),
: bgs(ALStream::Looped, "bgs"),
me(ALStream::NotLooped, "me"),
se(rtData.config),
syncPoint(rtData.syncPoint),
volumeRatio(1)
{
for (int i = 0; i < rtData.config.BGM.trackCount; i++) {
std::string id = std::string("bgm" + std::to_string(i));
bgmTracks.push_back(new AudioStream(ALStream::Looped, static_cast<AL::Source::VolumeScale>(rtData.config.volumeScale), id.c_str()));
bgmTracks.push_back(new AudioStream(ALStream::Looped, id.c_str()));
}
meWatch.state = MeNotPlaying;

View file

@ -29,11 +29,10 @@
#include <SDL_timer.h>
AudioStream::AudioStream(ALStream::LoopMode loopMode,
AL::Source::VolumeScale volumeScale,
const std::string &threadId)
: extPaused(false),
noResumeStop(false),
stream(loopMode, volumeScale, threadId)
stream(loopMode, threadId)
{
current.volume = 1.0f;
current.pitch = 1.0f;

View file

@ -121,7 +121,6 @@ struct AudioStream
} fadeIn;
AudioStream(ALStream::LoopMode loopMode,
AL::Source::VolumeScale volumeScale,
const std::string &threadId);
~AudioStream();

View file

@ -93,8 +93,7 @@ SoundEmitter::SoundEmitter(const Config &conf)
srcCount(conf.SE.sourceCount),
alSrcs(srcCount),
atchBufs(srcCount),
srcPrio(srcCount),
volumeScale(static_cast<AL::Source::VolumeScale>(conf.volumeScale))
srcPrio(srcCount)
{
for (size_t i = 0; i < srcCount; ++i)
{
@ -173,7 +172,7 @@ void SoundEmitter::play(const std::string &filename,
if (switchBuffer)
AL::Source::attachBuffer(src, buffer->alBuffer);
AL::Source::setVolume(src, _volume, volumeScale);
AL::Source::setVolume(src, _volume);
AL::Source::setPitch(src, _pitch);
AL::Source::play(src);

View file

@ -49,8 +49,6 @@ struct SoundEmitter
/* Indices of sources, sorted by priority (lowest first) */
std::vector<size_t> srcPrio;
AL::Source::VolumeScale volumeScale;
SoundEmitter(const Config &conf);
~SoundEmitter();

View file

@ -178,7 +178,6 @@ void Config::read(int argc, char *argv[]) {
{"dataPathApp", ""},
{"iconPath", ""},
{"execName", "Game"},
{"volumeScale", 0},
{"midiSoundFont", ""},
{"midiChorus", false},
{"midiReverb", false},
@ -307,7 +306,6 @@ try { exp } catch (...) {}
SET_OPT(anyAltToggleFS, boolean);
SET_OPT(enableReset, boolean);
SET_OPT(enableSettings, boolean);
SET_OPT(volumeScale, integer);
SET_STRINGOPT(midi.soundFont, midiSoundFont);
SET_OPT_CUSTOMKEY(midi.chorus, midiChorus, boolean);
SET_OPT_CUSTOMKEY(midi.reverb, midiReverb, boolean);

View file

@ -93,8 +93,6 @@ struct Config {
std::string execName;
std::string titleLanguage;
int volumeScale;
struct {
std::string soundFont;
bool chorus;