123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #pragma once
- #include "openmpt/all/BuildSettings.hpp"
- #include "openmpt/soundbase/MixSample.hpp"
- OPENMPT_NAMESPACE_BEGIN
- #define MPT_INTMIXER
- #ifdef MPT_INTMIXER
- using mixsample_t = MixSampleIntTraits::sample_type;
- enum { MIXING_FILTER_PRECISION = MixSampleIntTraits::filter_precision_bits };
- #else
- using mixsample_t = MixSampleFloat;
- #endif
- enum { MIXING_ATTENUATION = MixSampleIntTraits::mix_headroom_bits };
- enum { MIXING_FRACTIONAL_BITS = MixSampleIntTraits::mix_fractional_bits };
- inline constexpr float MIXING_SCALEF = MixSampleIntTraits::mix_scale<float>;
- #ifdef MPT_INTMIXER
- static_assert(sizeof(mixsample_t) == 4);
- static_assert(MIXING_FILTER_PRECISION == 24);
- static_assert(MIXING_ATTENUATION == 4);
- static_assert(MIXING_FRACTIONAL_BITS == 27);
- static_assert(MixSampleIntTraits::mix_clip_max == int32(0x7FFFFFF));
- static_assert(MixSampleIntTraits::mix_clip_min == (0 - int32(0x7FFFFFF)));
- static_assert(MIXING_SCALEF == 134217728.0f);
- #else
- static_assert(sizeof(mixsample_t) == 4);
- #endif
- #define MIXBUFFERSIZE 512
- #define NUMMIXINPUTBUFFERS 4
- #define VOLUMERAMPPRECISION 12
- inline constexpr uint8 InterpolationMaxLookahead = 4;
- inline constexpr uint8 InterpolationLookaheadBufferSize = 16;
- static_assert(InterpolationLookaheadBufferSize >= InterpolationMaxLookahead);
- inline constexpr uint8 MaxSamplingPointSize = 4;
- OPENMPT_NAMESPACE_END
|