Cog/Frameworks/OpenMPT/OpenMPT/soundlib/MixerSettings.h
Christopher Snowhill da1973bcd9 Build libOpenMPT from source once again
Bundle libOpenMPT as a dynamic framework, which should be safe once
again, now that there is only one version to bundle. Also, now it is
using the versions of libvorbisfile and libmpg123 that are bundled with
the player, instead of compiling minimp3 and stbvorbis.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-30 22:56:52 -07:00

55 lines
1.5 KiB
C++

/*
* MixerSettings.h
* ---------------
* Purpose: A struct containing settings for the mixer of soundlib.
* Notes : (currently none)
* Authors: OpenMPT Devs
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
*/
#pragma once
#include "openmpt/all/BuildSettings.hpp"
OPENMPT_NAMESPACE_BEGIN
struct MixerSettings
{
int32 m_nStereoSeparation;
enum : int32 { StereoSeparationScale = 128 };
uint32 m_nMaxMixChannels;
uint32 DSPMask;
uint32 MixerFlags;
uint32 gdwMixingFreq;
uint32 gnChannels;
uint32 m_nPreAmp;
std::size_t NumInputChannels;
int32 VolumeRampUpMicroseconds;
int32 VolumeRampDownMicroseconds;
int32 GetVolumeRampUpMicroseconds() const { return VolumeRampUpMicroseconds; }
int32 GetVolumeRampDownMicroseconds() const { return VolumeRampDownMicroseconds; }
void SetVolumeRampUpMicroseconds(int32 rampUpMicroseconds) { VolumeRampUpMicroseconds = rampUpMicroseconds; }
void SetVolumeRampDownMicroseconds(int32 rampDownMicroseconds) { VolumeRampDownMicroseconds = rampDownMicroseconds; }
int32 GetVolumeRampUpSamples() const;
int32 GetVolumeRampDownSamples() const;
void SetVolumeRampUpSamples(int32 rampUpSamples);
void SetVolumeRampDownSamples(int32 rampDownSamples);
bool IsValid() const
{
return (gdwMixingFreq > 0) && (gnChannels == 1 || gnChannels == 2 || gnChannels == 4) && (NumInputChannels == 0 || NumInputChannels == 1 || NumInputChannels == 2 || NumInputChannels == 4);
}
MixerSettings();
};
OPENMPT_NAMESPACE_END