1 /* 2 * MixFuncTable.h 3 * -------------- 4 * Purpose: Table containing all mixer functions. 5 * Notes : (currently none) 6 * Authors: OpenMPT Devs 7 * The OpenMPT source code is released under the BSD license. Read LICENSE for more details. 8 */ 9 10 11 #pragma once 12 13 #include "openmpt/all/BuildSettings.hpp" 14 15 #include "MixerInterface.h" 16 17 OPENMPT_NAMESPACE_BEGIN 18 19 namespace MixFuncTable 20 { 21 // Table index bits: 22 // [b1-b0] format (8-bit-mono, 16-bit-mono, 8-bit-stereo, 16-bit-stereo) 23 // [b2] ramp 24 // [b3] filter 25 // [b6-b4] src type 26 27 // Sample type / processing type index 28 enum FunctionIndex 29 { 30 ndx16Bit = 0x01, 31 ndxStereo = 0x02, 32 ndxRamp = 0x04, 33 ndxFilter = 0x08, 34 }; 35 36 // SRC index 37 enum ResamplingIndex 38 { 39 ndxNoInterpolation = 0x00, 40 ndxLinear = 0x10, 41 ndxFastSinc = 0x20, 42 ndxKaiser = 0x30, 43 ndxFIRFilter = 0x40, 44 ndxAmigaBlep = 0x50, 45 }; 46 47 extern const MixFuncInterface Functions[6 * 16]; 48 49 ResamplingIndex ResamplingModeToMixFlags(ResamplingMode resamplingMode); 50 } 51 52 OPENMPT_NAMESPACE_END 53