Audio: Allow adjusting BGS and SE volumes via mkxp.conf
This commit is contained in:
parent
24efc4d2f2
commit
9cf5ee54e0
|
@ -73,6 +73,8 @@ struct AudioPrivate
|
|||
meWatch.state = MeNotPlaying;
|
||||
meWatch.thread = createSDLThread
|
||||
<AudioPrivate, &AudioPrivate::meWatchFun>(this, "audio_mewatch");
|
||||
|
||||
bgs.setVolume(AudioStream::Config, rtData.config.volume.bgs);
|
||||
}
|
||||
|
||||
~AudioPrivate()
|
||||
|
|
|
@ -49,6 +49,7 @@ struct AudioStream
|
|||
FadeOut,
|
||||
FadeIn,
|
||||
External,
|
||||
Config,
|
||||
|
||||
VolumeTypeCount
|
||||
};
|
||||
|
|
|
@ -183,6 +183,8 @@ void Config::read(int argc, char *argv[])
|
|||
PO_DESC(midi.chorus, bool, false) \
|
||||
PO_DESC(midi.reverb, bool, false) \
|
||||
PO_DESC(SE.sourceCount, int, 6) \
|
||||
PO_DESC(volume.bgs, float, 1.0f) \
|
||||
PO_DESC(volume.se, float, 1.0f) \
|
||||
PO_DESC(customScript, std::string, "") \
|
||||
PO_DESC(pathCache, bool, true) \
|
||||
PO_DESC(useScriptNames, bool, false)
|
||||
|
|
|
@ -84,6 +84,12 @@ struct Config
|
|||
int sourceCount;
|
||||
} SE;
|
||||
|
||||
struct
|
||||
{
|
||||
float bgs;
|
||||
float se;
|
||||
} volume;
|
||||
|
||||
bool useScriptNames;
|
||||
|
||||
std::string customScript;
|
||||
|
|
|
@ -93,7 +93,8 @@ SoundEmitter::SoundEmitter(const Config &conf)
|
|||
srcCount(conf.SE.sourceCount),
|
||||
alSrcs(srcCount),
|
||||
atchBufs(srcCount),
|
||||
srcPrio(srcCount)
|
||||
srcPrio(srcCount),
|
||||
configVolume(conf.volume.se)
|
||||
{
|
||||
for (size_t i = 0; i < srcCount; ++i)
|
||||
{
|
||||
|
@ -172,7 +173,7 @@ void SoundEmitter::play(const std::string &filename,
|
|||
if (switchBuffer)
|
||||
AL::Source::attachBuffer(src, buffer->alBuffer);
|
||||
|
||||
AL::Source::setVolume(src, _volume * GLOBAL_VOLUME);
|
||||
AL::Source::setVolume(src, _volume * configVolume * GLOBAL_VOLUME);
|
||||
AL::Source::setPitch(src, _pitch);
|
||||
|
||||
AL::Source::play(src);
|
||||
|
|
|
@ -49,6 +49,9 @@ struct SoundEmitter
|
|||
/* Indices of sources, sorted by priority (lowest first) */
|
||||
std::vector<size_t> srcPrio;
|
||||
|
||||
/* Constant premultiplier */
|
||||
float configVolume;
|
||||
|
||||
SoundEmitter(const Config &conf);
|
||||
~SoundEmitter();
|
||||
|
||||
|
|
Loading…
Reference in New Issue