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 } }