using System;
using System.Runtime.InteropServices;
namespace NAudio.Dmo
{
///
/// MP_PARAMINFO
///
struct MediaParamInfo
{
#pragma warning disable 0649
public MediaParamType mpType;
public MediaParamCurveType mopCaps;
public float mpdMinValue; // MP_DATA is a float
public float mpdMaxValue;
public float mpdNeutralValue;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string szUnitText;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string szLabel;
#pragma warning restore 0649
}
///
/// MP_TYPE
///
enum MediaParamType
{
///
/// MPT_INT
///
Int,
///
/// MPT_FLOAT
///
Float,
///
/// MPT_BOOL
///
Bool,
///
/// MPT_ENUM
///
Enum,
///
/// MPT_MAX
///
Max,
}
///
/// MP_CURVE_TYPE
///
[Flags]
internal enum MediaParamCurveType
{
MP_CURVE_JUMP = 0x1,
MP_CURVE_LINEAR = 0x2,
MP_CURVE_SQUARE = 0x4,
MP_CURVE_INVSQUARE = 0x8,
MP_CURVE_SINE = 0x10
}
}