diff --git a/Compatible/Compatible.csproj b/Compatible/Compatible.csproj index 6b86be0..4c64203 100644 --- a/Compatible/Compatible.csproj +++ b/Compatible/Compatible.csproj @@ -9,6 +9,6 @@ - + diff --git a/FMODCoreAPI/Assets/AMD64/fmod.dll b/FMODCoreAPI/Assets/AMD64/fmod.dll index b587a68..dc0f416 100644 --- a/FMODCoreAPI/Assets/AMD64/fmod.dll +++ b/FMODCoreAPI/Assets/AMD64/fmod.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d563ad96042c096985735b0d1fdab80fe5c7f27663171ff1550ac8ebf4c7eba6 -size 1852416 +oid sha256:482c0579f8669f88a6803403d4971d1c977729c7299cdfaa34c7bbfb79846ec8 +size 1852928 diff --git a/FMODCoreAPI/Assets/ARM64/fmod.dll b/FMODCoreAPI/Assets/ARM64/fmod.dll index c1c7c14..c9ed818 100644 --- a/FMODCoreAPI/Assets/ARM64/fmod.dll +++ b/FMODCoreAPI/Assets/ARM64/fmod.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47768e5f50040f79e6182ddfdeb8aba3bc3e1b15571cfb337a0f5236a3d6c371 +oid sha256:dfa1c4c53713ad24a135d4a10130811d1f67f8c924e6875d7ca82705c15313b8 size 1419776 diff --git a/FMODCoreAPI/fmod.cs b/FMODCoreAPI/fmod.cs index a32ddc1..653ac3e 100644 --- a/FMODCoreAPI/fmod.cs +++ b/FMODCoreAPI/fmod.cs @@ -7,9 +7,9 @@ /* ======================================================================================== */ using System; -using System.Collections.Generic; -using System.Runtime.InteropServices; using System.Text; +using System.Runtime.InteropServices; +using System.Collections.Generic; namespace FMOD { @@ -19,9 +19,9 @@ */ public partial class VERSION { - public const int number = 0x00020223; + public const int number = 0x00020224; #if !UNITY_2019_4_OR_NEWER - public const string dll = "fmod"; + public const string dll = "fmod"; #endif } @@ -158,14 +158,14 @@ [StructLayout(LayoutKind.Sequential)] public struct ASYNCREADINFO { - public IntPtr handle; - public uint offset; - public uint sizebytes; - public int priority; + public IntPtr handle; + public uint offset; + public uint sizebytes; + public int priority; - public IntPtr userdata; - public IntPtr buffer; - public uint bytesread; + public IntPtr userdata; + public IntPtr buffer; + public uint bytesread; public FILE_ASYNCDONE_FUNC done; } @@ -222,32 +222,32 @@ [Flags] public enum DEBUG_FLAGS : uint { - NONE = 0x00000000, - ERROR = 0x00000001, - WARNING = 0x00000002, - LOG = 0x00000004, + NONE = 0x00000000, + ERROR = 0x00000001, + WARNING = 0x00000002, + LOG = 0x00000004, - TYPE_MEMORY = 0x00000100, - TYPE_FILE = 0x00000200, - TYPE_CODEC = 0x00000400, - TYPE_TRACE = 0x00000800, + TYPE_MEMORY = 0x00000100, + TYPE_FILE = 0x00000200, + TYPE_CODEC = 0x00000400, + TYPE_TRACE = 0x00000800, - DISPLAY_TIMESTAMPS = 0x00010000, - DISPLAY_LINENUMBERS = 0x00020000, - DISPLAY_THREAD = 0x00040000, + DISPLAY_TIMESTAMPS = 0x00010000, + DISPLAY_LINENUMBERS = 0x00020000, + DISPLAY_THREAD = 0x00040000, } [Flags] public enum MEMORY_TYPE : uint { - NORMAL = 0x00000000, - STREAM_FILE = 0x00000001, - STREAM_DECODE = 0x00000002, - SAMPLEDATA = 0x00000004, - DSP_BUFFER = 0x00000008, - PLUGIN = 0x00000010, - PERSISTENT = 0x00200000, - ALL = 0xFFFFFFFF + NORMAL = 0x00000000, + STREAM_FILE = 0x00000001, + STREAM_DECODE = 0x00000002, + SAMPLEDATA = 0x00000004, + DSP_BUFFER = 0x00000008, + PLUGIN = 0x00000010, + PERSISTENT = 0x00200000, + ALL = 0xFFFFFFFF } public enum SPEAKERMODE : int @@ -287,25 +287,25 @@ [Flags] public enum CHANNELMASK : uint { - FRONT_LEFT = 0x00000001, - FRONT_RIGHT = 0x00000002, - FRONT_CENTER = 0x00000004, - LOW_FREQUENCY = 0x00000008, - SURROUND_LEFT = 0x00000010, - SURROUND_RIGHT = 0x00000020, - BACK_LEFT = 0x00000040, - BACK_RIGHT = 0x00000080, - BACK_CENTER = 0x00000100, + FRONT_LEFT = 0x00000001, + FRONT_RIGHT = 0x00000002, + FRONT_CENTER = 0x00000004, + LOW_FREQUENCY = 0x00000008, + SURROUND_LEFT = 0x00000010, + SURROUND_RIGHT = 0x00000020, + BACK_LEFT = 0x00000040, + BACK_RIGHT = 0x00000080, + BACK_CENTER = 0x00000100, - MONO = (FRONT_LEFT), - STEREO = (FRONT_LEFT | FRONT_RIGHT), - LRC = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER), - QUAD = (FRONT_LEFT | FRONT_RIGHT | SURROUND_LEFT | SURROUND_RIGHT), - SURROUND = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | SURROUND_LEFT | SURROUND_RIGHT), - _5POINT1 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | SURROUND_LEFT | SURROUND_RIGHT), - _5POINT1_REARS = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | BACK_LEFT | BACK_RIGHT), - _7POINT0 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | SURROUND_LEFT | SURROUND_RIGHT | BACK_LEFT | BACK_RIGHT), - _7POINT1 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | SURROUND_LEFT | SURROUND_RIGHT | BACK_LEFT | BACK_RIGHT) + MONO = (FRONT_LEFT), + STEREO = (FRONT_LEFT | FRONT_RIGHT), + LRC = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER), + QUAD = (FRONT_LEFT | FRONT_RIGHT | SURROUND_LEFT | SURROUND_RIGHT), + SURROUND = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | SURROUND_LEFT | SURROUND_RIGHT), + _5POINT1 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | SURROUND_LEFT | SURROUND_RIGHT), + _5POINT1_REARS = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | BACK_LEFT | BACK_RIGHT), + _7POINT0 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | SURROUND_LEFT | SURROUND_RIGHT | BACK_LEFT | BACK_RIGHT), + _7POINT1 = (FRONT_LEFT | FRONT_RIGHT | FRONT_CENTER | LOW_FREQUENCY | SURROUND_LEFT | SURROUND_RIGHT | BACK_LEFT | BACK_RIGHT) } public enum CHANNELORDER : int @@ -339,20 +339,20 @@ [Flags] public enum INITFLAGS : uint { - NORMAL = 0x00000000, - STREAM_FROM_UPDATE = 0x00000001, - MIX_FROM_UPDATE = 0x00000002, - _3D_RIGHTHANDED = 0x00000004, - CLIP_OUTPUT = 0x00000008, - CHANNEL_LOWPASS = 0x00000100, - CHANNEL_DISTANCEFILTER = 0x00000200, - PROFILE_ENABLE = 0x00010000, - VOL0_BECOMES_VIRTUAL = 0x00020000, - GEOMETRY_USECLOSEST = 0x00040000, - PREFER_DOLBY_DOWNMIX = 0x00080000, - THREAD_UNSAFE = 0x00100000, - PROFILE_METER_ALL = 0x00200000, - MEMORY_TRACKING = 0x00400000, + NORMAL = 0x00000000, + STREAM_FROM_UPDATE = 0x00000001, + MIX_FROM_UPDATE = 0x00000002, + _3D_RIGHTHANDED = 0x00000004, + CLIP_OUTPUT = 0x00000008, + CHANNEL_LOWPASS = 0x00000100, + CHANNEL_DISTANCEFILTER = 0x00000200, + PROFILE_ENABLE = 0x00010000, + VOL0_BECOMES_VIRTUAL = 0x00020000, + GEOMETRY_USECLOSEST = 0x00040000, + PREFER_DOLBY_DOWNMIX = 0x00080000, + THREAD_UNSAFE = 0x00100000, + PROFILE_METER_ALL = 0x00200000, + MEMORY_TRACKING = 0x00400000, } public enum SOUND_TYPE : int @@ -402,35 +402,35 @@ [Flags] public enum MODE : uint { - DEFAULT = 0x00000000, - LOOP_OFF = 0x00000001, - LOOP_NORMAL = 0x00000002, - LOOP_BIDI = 0x00000004, - _2D = 0x00000008, - _3D = 0x00000010, - CREATESTREAM = 0x00000080, - CREATESAMPLE = 0x00000100, - CREATECOMPRESSEDSAMPLE = 0x00000200, - OPENUSER = 0x00000400, - OPENMEMORY = 0x00000800, - OPENMEMORY_POINT = 0x10000000, - OPENRAW = 0x00001000, - OPENONLY = 0x00002000, - ACCURATETIME = 0x00004000, - MPEGSEARCH = 0x00008000, - NONBLOCKING = 0x00010000, - UNIQUE = 0x00020000, - _3D_HEADRELATIVE = 0x00040000, - _3D_WORLDRELATIVE = 0x00080000, - _3D_INVERSEROLLOFF = 0x00100000, - _3D_LINEARROLLOFF = 0x00200000, - _3D_LINEARSQUAREROLLOFF = 0x00400000, - _3D_INVERSETAPEREDROLLOFF = 0x00800000, - _3D_CUSTOMROLLOFF = 0x04000000, - _3D_IGNOREGEOMETRY = 0x40000000, - IGNORETAGS = 0x02000000, - LOWMEM = 0x08000000, - VIRTUAL_PLAYFROMSTART = 0x80000000 + DEFAULT = 0x00000000, + LOOP_OFF = 0x00000001, + LOOP_NORMAL = 0x00000002, + LOOP_BIDI = 0x00000004, + _2D = 0x00000008, + _3D = 0x00000010, + CREATESTREAM = 0x00000080, + CREATESAMPLE = 0x00000100, + CREATECOMPRESSEDSAMPLE = 0x00000200, + OPENUSER = 0x00000400, + OPENMEMORY = 0x00000800, + OPENMEMORY_POINT = 0x10000000, + OPENRAW = 0x00001000, + OPENONLY = 0x00002000, + ACCURATETIME = 0x00004000, + MPEGSEARCH = 0x00008000, + NONBLOCKING = 0x00010000, + UNIQUE = 0x00020000, + _3D_HEADRELATIVE = 0x00040000, + _3D_WORLDRELATIVE = 0x00080000, + _3D_INVERSEROLLOFF = 0x00100000, + _3D_LINEARROLLOFF = 0x00200000, + _3D_LINEARSQUAREROLLOFF = 0x00400000, + _3D_INVERSETAPEREDROLLOFF = 0x00800000, + _3D_CUSTOMROLLOFF = 0x04000000, + _3D_IGNOREGEOMETRY = 0x40000000, + IGNORETAGS = 0x02000000, + LOWMEM = 0x08000000, + VIRTUAL_PLAYFROMSTART = 0x80000000 } public enum OPENSTATE : int @@ -468,9 +468,9 @@ public struct CHANNELCONTROL_DSP_INDEX { - public const int HEAD = -1; - public const int FADER = -2; - public const int TAIL = -3; + public const int HEAD = -1; + public const int FADER = -2; + public const int TAIL = -3; } public enum ERRORCALLBACK_INSTANCETYPE : int @@ -499,76 +499,76 @@ [StructLayout(LayoutKind.Sequential)] public struct ERRORCALLBACK_INFO { - public RESULT result; - public ERRORCALLBACK_INSTANCETYPE instancetype; - public IntPtr instance; - public StringWrapper functionname; - public StringWrapper functionparams; + public RESULT result; + public ERRORCALLBACK_INSTANCETYPE instancetype; + public IntPtr instance; + public StringWrapper functionname; + public StringWrapper functionparams; } [StructLayout(LayoutKind.Sequential)] public struct CPU_USAGE { - public float dsp; /* DSP mixing CPU usage. */ - public float stream; /* Streaming engine CPU usage. */ - public float geometry; /* Geometry engine CPU usage. */ - public float update; /* System::update CPU usage. */ - public float convolution1; /* Convolution reverb processing thread #1 CPU usage */ - public float convolution2; /* Convolution reverb processing thread #2 CPU usage */ + public float dsp; /* DSP mixing CPU usage. */ + public float stream; /* Streaming engine CPU usage. */ + public float geometry; /* Geometry engine CPU usage. */ + public float update; /* System::update CPU usage. */ + public float convolution1; /* Convolution reverb processing thread #1 CPU usage */ + public float convolution2; /* Convolution reverb processing thread #2 CPU usage */ } [StructLayout(LayoutKind.Sequential)] public struct DSP_DATA_PARAMETER_INFO { - public IntPtr data; - public uint length; - public int index; + public IntPtr data; + public uint length; + public int index; } [Flags] public enum SYSTEM_CALLBACK_TYPE : uint { - DEVICELISTCHANGED = 0x00000001, - DEVICELOST = 0x00000002, + DEVICELISTCHANGED = 0x00000001, + DEVICELOST = 0x00000002, MEMORYALLOCATIONFAILED = 0x00000004, - THREADCREATED = 0x00000008, - BADDSPCONNECTION = 0x00000010, - PREMIX = 0x00000020, - POSTMIX = 0x00000040, - ERROR = 0x00000080, - MIDMIX = 0x00000100, - THREADDESTROYED = 0x00000200, - PREUPDATE = 0x00000400, - POSTUPDATE = 0x00000800, - RECORDLISTCHANGED = 0x00001000, - BUFFEREDNOMIX = 0x00002000, - DEVICEREINITIALIZE = 0x00004000, - OUTPUTUNDERRUN = 0x00008000, - RECORDPOSITIONCHANGED = 0x00010000, - ALL = 0xFFFFFFFF, + THREADCREATED = 0x00000008, + BADDSPCONNECTION = 0x00000010, + PREMIX = 0x00000020, + POSTMIX = 0x00000040, + ERROR = 0x00000080, + MIDMIX = 0x00000100, + THREADDESTROYED = 0x00000200, + PREUPDATE = 0x00000400, + POSTUPDATE = 0x00000800, + RECORDLISTCHANGED = 0x00001000, + BUFFEREDNOMIX = 0x00002000, + DEVICEREINITIALIZE = 0x00004000, + OUTPUTUNDERRUN = 0x00008000, + RECORDPOSITIONCHANGED = 0x00010000, + ALL = 0xFFFFFFFF, } /* FMOD Callbacks */ - public delegate RESULT DEBUG_CALLBACK(DEBUG_FLAGS flags, IntPtr file, int line, IntPtr func, IntPtr message); - public delegate RESULT SYSTEM_CALLBACK(IntPtr system, SYSTEM_CALLBACK_TYPE type, IntPtr commanddata1, IntPtr commanddata2, IntPtr userdata); - public delegate RESULT CHANNELCONTROL_CALLBACK(IntPtr channelcontrol, CHANNELCONTROL_TYPE controltype, CHANNELCONTROL_CALLBACK_TYPE callbacktype, IntPtr commanddata1, IntPtr commanddata2); - public delegate RESULT DSP_CALLBACK(IntPtr dsp, DSP_CALLBACK_TYPE type, IntPtr data); - public delegate RESULT SOUND_NONBLOCK_CALLBACK(IntPtr sound, RESULT result); - public delegate RESULT SOUND_PCMREAD_CALLBACK(IntPtr sound, IntPtr data, uint datalen); - public delegate RESULT SOUND_PCMSETPOS_CALLBACK(IntPtr sound, int subsound, uint position, TIMEUNIT postype); - public delegate RESULT FILE_OPEN_CALLBACK(IntPtr name, ref uint filesize, ref IntPtr handle, IntPtr userdata); - public delegate RESULT FILE_CLOSE_CALLBACK(IntPtr handle, IntPtr userdata); - public delegate RESULT FILE_READ_CALLBACK(IntPtr handle, IntPtr buffer, uint sizebytes, ref uint bytesread, IntPtr userdata); - public delegate RESULT FILE_SEEK_CALLBACK(IntPtr handle, uint pos, IntPtr userdata); - public delegate RESULT FILE_ASYNCREAD_CALLBACK(IntPtr info, IntPtr userdata); + public delegate RESULT DEBUG_CALLBACK (DEBUG_FLAGS flags, IntPtr file, int line, IntPtr func, IntPtr message); + public delegate RESULT SYSTEM_CALLBACK (IntPtr system, SYSTEM_CALLBACK_TYPE type, IntPtr commanddata1, IntPtr commanddata2, IntPtr userdata); + public delegate RESULT CHANNELCONTROL_CALLBACK (IntPtr channelcontrol, CHANNELCONTROL_TYPE controltype, CHANNELCONTROL_CALLBACK_TYPE callbacktype, IntPtr commanddata1, IntPtr commanddata2); + public delegate RESULT DSP_CALLBACK (IntPtr dsp, DSP_CALLBACK_TYPE type, IntPtr data); + public delegate RESULT SOUND_NONBLOCK_CALLBACK (IntPtr sound, RESULT result); + public delegate RESULT SOUND_PCMREAD_CALLBACK (IntPtr sound, IntPtr data, uint datalen); + public delegate RESULT SOUND_PCMSETPOS_CALLBACK (IntPtr sound, int subsound, uint position, TIMEUNIT postype); + public delegate RESULT FILE_OPEN_CALLBACK (IntPtr name, ref uint filesize, ref IntPtr handle, IntPtr userdata); + public delegate RESULT FILE_CLOSE_CALLBACK (IntPtr handle, IntPtr userdata); + public delegate RESULT FILE_READ_CALLBACK (IntPtr handle, IntPtr buffer, uint sizebytes, ref uint bytesread, IntPtr userdata); + public delegate RESULT FILE_SEEK_CALLBACK (IntPtr handle, uint pos, IntPtr userdata); + public delegate RESULT FILE_ASYNCREAD_CALLBACK (IntPtr info, IntPtr userdata); public delegate RESULT FILE_ASYNCCANCEL_CALLBACK(IntPtr info, IntPtr userdata); - public delegate void FILE_ASYNCDONE_FUNC(IntPtr info, RESULT result); - public delegate IntPtr MEMORY_ALLOC_CALLBACK(uint size, MEMORY_TYPE type, IntPtr sourcestr); - public delegate IntPtr MEMORY_REALLOC_CALLBACK(IntPtr ptr, uint size, MEMORY_TYPE type, IntPtr sourcestr); - public delegate void MEMORY_FREE_CALLBACK(IntPtr ptr, MEMORY_TYPE type, IntPtr sourcestr); - public delegate float CB_3D_ROLLOFF_CALLBACK(IntPtr channelcontrol, float distance); + public delegate void FILE_ASYNCDONE_FUNC (IntPtr info, RESULT result); + public delegate IntPtr MEMORY_ALLOC_CALLBACK (uint size, MEMORY_TYPE type, IntPtr sourcestr); + public delegate IntPtr MEMORY_REALLOC_CALLBACK (IntPtr ptr, uint size, MEMORY_TYPE type, IntPtr sourcestr); + public delegate void MEMORY_FREE_CALLBACK (IntPtr ptr, MEMORY_TYPE type, IntPtr sourcestr); + public delegate float CB_3D_ROLLOFF_CALLBACK (IntPtr channelcontrol, float distance); public enum DSP_RESAMPLER : int { @@ -631,72 +631,72 @@ [StructLayout(LayoutKind.Sequential)] public struct TAG { - public TAGTYPE type; - public TAGDATATYPE datatype; - public StringWrapper name; - public IntPtr data; - public uint datalen; - public bool updated; + public TAGTYPE type; + public TAGDATATYPE datatype; + public StringWrapper name; + public IntPtr data; + public uint datalen; + public bool updated; } [Flags] public enum TIMEUNIT : uint { - MS = 0x00000001, - PCM = 0x00000002, - PCMBYTES = 0x00000004, - RAWBYTES = 0x00000008, + MS = 0x00000001, + PCM = 0x00000002, + PCMBYTES = 0x00000004, + RAWBYTES = 0x00000008, PCMFRACTION = 0x00000010, - MODORDER = 0x00000100, - MODROW = 0x00000200, - MODPATTERN = 0x00000400, + MODORDER = 0x00000100, + MODROW = 0x00000200, + MODPATTERN = 0x00000400, } public struct PORT_INDEX { - public const ulong NONE = 0xFFFFFFFFFFFFFFFF; + public const ulong NONE = 0xFFFFFFFFFFFFFFFF; public const ulong FLAG_VR_CONTROLLER = 0x1000000000000000; } [StructLayout(LayoutKind.Sequential)] public struct CREATESOUNDEXINFO { - public int cbsize; - public uint length; - public uint fileoffset; - public int numchannels; - public int defaultfrequency; - public SOUND_FORMAT format; - public uint decodebuffersize; - public int initialsubsound; - public int numsubsounds; - public IntPtr inclusionlist; - public int inclusionlistnum; - public IntPtr pcmreadcallback_internal; - public IntPtr pcmsetposcallback_internal; - public IntPtr nonblockcallback_internal; - public IntPtr dlsname; - public IntPtr encryptionkey; - public int maxpolyphony; - public IntPtr userdata; - public SOUND_TYPE suggestedsoundtype; - public IntPtr fileuseropen_internal; - public IntPtr fileuserclose_internal; - public IntPtr fileuserread_internal; - public IntPtr fileuserseek_internal; - public IntPtr fileuserasyncread_internal; - public IntPtr fileuserasynccancel_internal; - public IntPtr fileuserdata; - public int filebuffersize; - public CHANNELORDER channelorder; - public IntPtr initialsoundgroup; - public uint initialseekposition; - public TIMEUNIT initialseekpostype; - public int ignoresetfilesystem; - public uint audioqueuepolicy; - public uint minmidigranularity; - public int nonblockthreadid; - public IntPtr fsbguid; + public int cbsize; + public uint length; + public uint fileoffset; + public int numchannels; + public int defaultfrequency; + public SOUND_FORMAT format; + public uint decodebuffersize; + public int initialsubsound; + public int numsubsounds; + public IntPtr inclusionlist; + public int inclusionlistnum; + public IntPtr pcmreadcallback_internal; + public IntPtr pcmsetposcallback_internal; + public IntPtr nonblockcallback_internal; + public IntPtr dlsname; + public IntPtr encryptionkey; + public int maxpolyphony; + public IntPtr userdata; + public SOUND_TYPE suggestedsoundtype; + public IntPtr fileuseropen_internal; + public IntPtr fileuserclose_internal; + public IntPtr fileuserread_internal; + public IntPtr fileuserseek_internal; + public IntPtr fileuserasyncread_internal; + public IntPtr fileuserasynccancel_internal; + public IntPtr fileuserdata; + public int filebuffersize; + public CHANNELORDER channelorder; + public IntPtr initialsoundgroup; + public uint initialseekposition; + public TIMEUNIT initialseekpostype; + public int ignoresetfilesystem; + public uint audioqueuepolicy; + public uint minmidigranularity; + public int nonblockthreadid; + public IntPtr fsbguid; public SOUND_PCMREAD_CALLBACK pcmreadcallback { @@ -787,159 +787,159 @@ public class PRESET { - public static REVERB_PROPERTIES OFF() { return new REVERB_PROPERTIES(1000, 7, 11, 5000, 100, 100, 100, 250, 0, 20, 96, -80.0f); } - public static REVERB_PROPERTIES GENERIC() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 83, 100, 100, 250, 0, 14500, 96, -8.0f); } - public static REVERB_PROPERTIES PADDEDCELL() { return new REVERB_PROPERTIES(170, 1, 2, 5000, 10, 100, 100, 250, 0, 160, 84, -7.8f); } - public static REVERB_PROPERTIES ROOM() { return new REVERB_PROPERTIES(400, 2, 3, 5000, 83, 100, 100, 250, 0, 6050, 88, -9.4f); } - public static REVERB_PROPERTIES BATHROOM() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 54, 100, 60, 250, 0, 2900, 83, 0.5f); } - public static REVERB_PROPERTIES LIVINGROOM() { return new REVERB_PROPERTIES(500, 3, 4, 5000, 10, 100, 100, 250, 0, 160, 58, -19.0f); } - public static REVERB_PROPERTIES STONEROOM() { return new REVERB_PROPERTIES(2300, 12, 17, 5000, 64, 100, 100, 250, 0, 7800, 71, -8.5f); } - public static REVERB_PROPERTIES AUDITORIUM() { return new REVERB_PROPERTIES(4300, 20, 30, 5000, 59, 100, 100, 250, 0, 5850, 64, -11.7f); } - public static REVERB_PROPERTIES CONCERTHALL() { return new REVERB_PROPERTIES(3900, 20, 29, 5000, 70, 100, 100, 250, 0, 5650, 80, -9.8f); } - public static REVERB_PROPERTIES CAVE() { return new REVERB_PROPERTIES(2900, 15, 22, 5000, 100, 100, 100, 250, 0, 20000, 59, -11.3f); } - public static REVERB_PROPERTIES ARENA() { return new REVERB_PROPERTIES(7200, 20, 30, 5000, 33, 100, 100, 250, 0, 4500, 80, -9.6f); } - public static REVERB_PROPERTIES HANGAR() { return new REVERB_PROPERTIES(10000, 20, 30, 5000, 23, 100, 100, 250, 0, 3400, 72, -7.4f); } - public static REVERB_PROPERTIES CARPETTEDHALLWAY() { return new REVERB_PROPERTIES(300, 2, 30, 5000, 10, 100, 100, 250, 0, 500, 56, -24.0f); } - public static REVERB_PROPERTIES HALLWAY() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 59, 100, 100, 250, 0, 7800, 87, -5.5f); } - public static REVERB_PROPERTIES STONECORRIDOR() { return new REVERB_PROPERTIES(270, 13, 20, 5000, 79, 100, 100, 250, 0, 9000, 86, -6.0f); } - public static REVERB_PROPERTIES ALLEY() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 86, 100, 100, 250, 0, 8300, 80, -9.8f); } - public static REVERB_PROPERTIES FOREST() { return new REVERB_PROPERTIES(1500, 162, 88, 5000, 54, 79, 100, 250, 0, 760, 94, -12.3f); } - public static REVERB_PROPERTIES CITY() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 67, 50, 100, 250, 0, 4050, 66, -26.0f); } - public static REVERB_PROPERTIES MOUNTAINS() { return new REVERB_PROPERTIES(1500, 300, 100, 5000, 21, 27, 100, 250, 0, 1220, 82, -24.0f); } - public static REVERB_PROPERTIES QUARRY() { return new REVERB_PROPERTIES(1500, 61, 25, 5000, 83, 100, 100, 250, 0, 3400, 100, -5.0f); } - public static REVERB_PROPERTIES PLAIN() { return new REVERB_PROPERTIES(1500, 179, 100, 5000, 50, 21, 100, 250, 0, 1670, 65, -28.0f); } - public static REVERB_PROPERTIES PARKINGLOT() { return new REVERB_PROPERTIES(1700, 8, 12, 5000, 100, 100, 100, 250, 0, 20000, 56, -19.5f); } - public static REVERB_PROPERTIES SEWERPIPE() { return new REVERB_PROPERTIES(2800, 14, 21, 5000, 14, 80, 60, 250, 0, 3400, 66, 1.2f); } - public static REVERB_PROPERTIES UNDERWATER() { return new REVERB_PROPERTIES(1500, 7, 11, 5000, 10, 100, 100, 250, 0, 500, 92, 7.0f); } + public static REVERB_PROPERTIES OFF() { return new REVERB_PROPERTIES( 1000, 7, 11, 5000, 100, 100, 100, 250, 0, 20, 96, -80.0f );} + public static REVERB_PROPERTIES GENERIC() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 83, 100, 100, 250, 0, 14500, 96, -8.0f );} + public static REVERB_PROPERTIES PADDEDCELL() { return new REVERB_PROPERTIES( 170, 1, 2, 5000, 10, 100, 100, 250, 0, 160, 84, -7.8f );} + public static REVERB_PROPERTIES ROOM() { return new REVERB_PROPERTIES( 400, 2, 3, 5000, 83, 100, 100, 250, 0, 6050, 88, -9.4f );} + public static REVERB_PROPERTIES BATHROOM() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 54, 100, 60, 250, 0, 2900, 83, 0.5f );} + public static REVERB_PROPERTIES LIVINGROOM() { return new REVERB_PROPERTIES( 500, 3, 4, 5000, 10, 100, 100, 250, 0, 160, 58, -19.0f );} + public static REVERB_PROPERTIES STONEROOM() { return new REVERB_PROPERTIES( 2300, 12, 17, 5000, 64, 100, 100, 250, 0, 7800, 71, -8.5f );} + public static REVERB_PROPERTIES AUDITORIUM() { return new REVERB_PROPERTIES( 4300, 20, 30, 5000, 59, 100, 100, 250, 0, 5850, 64, -11.7f );} + public static REVERB_PROPERTIES CONCERTHALL() { return new REVERB_PROPERTIES( 3900, 20, 29, 5000, 70, 100, 100, 250, 0, 5650, 80, -9.8f );} + public static REVERB_PROPERTIES CAVE() { return new REVERB_PROPERTIES( 2900, 15, 22, 5000, 100, 100, 100, 250, 0, 20000, 59, -11.3f );} + public static REVERB_PROPERTIES ARENA() { return new REVERB_PROPERTIES( 7200, 20, 30, 5000, 33, 100, 100, 250, 0, 4500, 80, -9.6f );} + public static REVERB_PROPERTIES HANGAR() { return new REVERB_PROPERTIES( 10000, 20, 30, 5000, 23, 100, 100, 250, 0, 3400, 72, -7.4f );} + public static REVERB_PROPERTIES CARPETTEDHALLWAY() { return new REVERB_PROPERTIES( 300, 2, 30, 5000, 10, 100, 100, 250, 0, 500, 56, -24.0f );} + public static REVERB_PROPERTIES HALLWAY() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 59, 100, 100, 250, 0, 7800, 87, -5.5f );} + public static REVERB_PROPERTIES STONECORRIDOR() { return new REVERB_PROPERTIES( 270, 13, 20, 5000, 79, 100, 100, 250, 0, 9000, 86, -6.0f );} + public static REVERB_PROPERTIES ALLEY() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 86, 100, 100, 250, 0, 8300, 80, -9.8f );} + public static REVERB_PROPERTIES FOREST() { return new REVERB_PROPERTIES( 1500, 162, 88, 5000, 54, 79, 100, 250, 0, 760, 94, -12.3f );} + public static REVERB_PROPERTIES CITY() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 67, 50, 100, 250, 0, 4050, 66, -26.0f );} + public static REVERB_PROPERTIES MOUNTAINS() { return new REVERB_PROPERTIES( 1500, 300, 100, 5000, 21, 27, 100, 250, 0, 1220, 82, -24.0f );} + public static REVERB_PROPERTIES QUARRY() { return new REVERB_PROPERTIES( 1500, 61, 25, 5000, 83, 100, 100, 250, 0, 3400, 100, -5.0f );} + public static REVERB_PROPERTIES PLAIN() { return new REVERB_PROPERTIES( 1500, 179, 100, 5000, 50, 21, 100, 250, 0, 1670, 65, -28.0f );} + public static REVERB_PROPERTIES PARKINGLOT() { return new REVERB_PROPERTIES( 1700, 8, 12, 5000, 100, 100, 100, 250, 0, 20000, 56, -19.5f );} + public static REVERB_PROPERTIES SEWERPIPE() { return new REVERB_PROPERTIES( 2800, 14, 21, 5000, 14, 80, 60, 250, 0, 3400, 66, 1.2f );} + public static REVERB_PROPERTIES UNDERWATER() { return new REVERB_PROPERTIES( 1500, 7, 11, 5000, 10, 100, 100, 250, 0, 500, 92, 7.0f );} } [StructLayout(LayoutKind.Sequential)] public struct ADVANCEDSETTINGS { - public int cbSize; - public int maxMPEGCodecs; - public int maxADPCMCodecs; - public int maxXMACodecs; - public int maxVorbisCodecs; - public int maxAT9Codecs; - public int maxFADPCMCodecs; - public int maxPCMCodecs; - public int ASIONumChannels; - public IntPtr ASIOChannelList; - public IntPtr ASIOSpeakerList; - public float vol0virtualvol; - public uint defaultDecodeBufferSize; - public ushort profilePort; - public uint geometryMaxFadeTime; - public float distanceFilterCenterFreq; - public int reverb3Dinstance; - public int DSPBufferPoolSize; - public DSP_RESAMPLER resamplerMethod; - public uint randomSeed; - public int maxConvolutionThreads; - public int maxOpusCodecs; - public int maxSpatialObjects; + public int cbSize; + public int maxMPEGCodecs; + public int maxADPCMCodecs; + public int maxXMACodecs; + public int maxVorbisCodecs; + public int maxAT9Codecs; + public int maxFADPCMCodecs; + public int maxPCMCodecs; + public int ASIONumChannels; + public IntPtr ASIOChannelList; + public IntPtr ASIOSpeakerList; + public float vol0virtualvol; + public uint defaultDecodeBufferSize; + public ushort profilePort; + public uint geometryMaxFadeTime; + public float distanceFilterCenterFreq; + public int reverb3Dinstance; + public int DSPBufferPoolSize; + public DSP_RESAMPLER resamplerMethod; + public uint randomSeed; + public int maxConvolutionThreads; + public int maxOpusCodecs; + public int maxSpatialObjects; } [Flags] public enum DRIVER_STATE : uint { CONNECTED = 0x00000001, - DEFAULT = 0x00000002, + DEFAULT = 0x00000002, } public enum THREAD_PRIORITY : int { /* Platform specific priority range */ - PLATFORM_MIN = -32 * 1024, - PLATFORM_MAX = 32 * 1024, + PLATFORM_MIN = -32 * 1024, + PLATFORM_MAX = 32 * 1024, /* Platform agnostic priorities, maps internally to platform specific value */ - DEFAULT = PLATFORM_MIN - 1, - LOW = PLATFORM_MIN - 2, - MEDIUM = PLATFORM_MIN - 3, - HIGH = PLATFORM_MIN - 4, - VERY_HIGH = PLATFORM_MIN - 5, - EXTREME = PLATFORM_MIN - 6, - CRITICAL = PLATFORM_MIN - 7, + DEFAULT = PLATFORM_MIN - 1, + LOW = PLATFORM_MIN - 2, + MEDIUM = PLATFORM_MIN - 3, + HIGH = PLATFORM_MIN - 4, + VERY_HIGH = PLATFORM_MIN - 5, + EXTREME = PLATFORM_MIN - 6, + CRITICAL = PLATFORM_MIN - 7, /* Thread defaults */ - MIXER = EXTREME, - FEEDER = CRITICAL, - STREAM = VERY_HIGH, - FILE = HIGH, - NONBLOCKING = HIGH, - RECORD = HIGH, - GEOMETRY = LOW, - PROFILER = MEDIUM, - STUDIO_UPDATE = MEDIUM, - STUDIO_LOAD_BANK = MEDIUM, - STUDIO_LOAD_SAMPLE = MEDIUM, - CONVOLUTION1 = VERY_HIGH, - CONVOLUTION2 = VERY_HIGH + MIXER = EXTREME, + FEEDER = CRITICAL, + STREAM = VERY_HIGH, + FILE = HIGH, + NONBLOCKING = HIGH, + RECORD = HIGH, + GEOMETRY = LOW, + PROFILER = MEDIUM, + STUDIO_UPDATE = MEDIUM, + STUDIO_LOAD_BANK = MEDIUM, + STUDIO_LOAD_SAMPLE = MEDIUM, + CONVOLUTION1 = VERY_HIGH, + CONVOLUTION2 = VERY_HIGH } public enum THREAD_STACK_SIZE : uint { - DEFAULT = 0, - MIXER = 80 * 1024, - FEEDER = 16 * 1024, - STREAM = 96 * 1024, - FILE = 64 * 1024, - NONBLOCKING = 112 * 1024, - RECORD = 16 * 1024, - GEOMETRY = 48 * 1024, - PROFILER = 128 * 1024, - STUDIO_UPDATE = 96 * 1024, - STUDIO_LOAD_BANK = 96 * 1024, - STUDIO_LOAD_SAMPLE = 96 * 1024, - CONVOLUTION1 = 16 * 1024, - CONVOLUTION2 = 16 * 1024 + DEFAULT = 0, + MIXER = 80 * 1024, + FEEDER = 16 * 1024, + STREAM = 96 * 1024, + FILE = 64 * 1024, + NONBLOCKING = 112 * 1024, + RECORD = 16 * 1024, + GEOMETRY = 48 * 1024, + PROFILER = 128 * 1024, + STUDIO_UPDATE = 96 * 1024, + STUDIO_LOAD_BANK = 96 * 1024, + STUDIO_LOAD_SAMPLE = 96 * 1024, + CONVOLUTION1 = 16 * 1024, + CONVOLUTION2 = 16 * 1024 } [Flags] public enum THREAD_AFFINITY : long { /* Platform agnostic thread groupings */ - GROUP_DEFAULT = 0x4000000000000000, - GROUP_A = 0x4000000000000001, - GROUP_B = 0x4000000000000002, - GROUP_C = 0x4000000000000003, + GROUP_DEFAULT = 0x4000000000000000, + GROUP_A = 0x4000000000000001, + GROUP_B = 0x4000000000000002, + GROUP_C = 0x4000000000000003, /* Thread defaults */ - MIXER = GROUP_A, - FEEDER = GROUP_C, - STREAM = GROUP_C, - FILE = GROUP_C, - NONBLOCKING = GROUP_C, - RECORD = GROUP_C, - GEOMETRY = GROUP_C, - PROFILER = GROUP_C, - STUDIO_UPDATE = GROUP_B, - STUDIO_LOAD_BANK = GROUP_C, - STUDIO_LOAD_SAMPLE = GROUP_C, - CONVOLUTION1 = GROUP_C, - CONVOLUTION2 = GROUP_C, + MIXER = GROUP_A, + FEEDER = GROUP_C, + STREAM = GROUP_C, + FILE = GROUP_C, + NONBLOCKING = GROUP_C, + RECORD = GROUP_C, + GEOMETRY = GROUP_C, + PROFILER = GROUP_C, + STUDIO_UPDATE = GROUP_B, + STUDIO_LOAD_BANK = GROUP_C, + STUDIO_LOAD_SAMPLE = GROUP_C, + CONVOLUTION1 = GROUP_C, + CONVOLUTION2 = GROUP_C, /* Core mask, valid up to 1 << 61 */ - CORE_ALL = 0, - CORE_0 = 1 << 0, - CORE_1 = 1 << 1, - CORE_2 = 1 << 2, - CORE_3 = 1 << 3, - CORE_4 = 1 << 4, - CORE_5 = 1 << 5, - CORE_6 = 1 << 6, - CORE_7 = 1 << 7, - CORE_8 = 1 << 8, - CORE_9 = 1 << 9, - CORE_10 = 1 << 10, - CORE_11 = 1 << 11, - CORE_12 = 1 << 12, - CORE_13 = 1 << 13, - CORE_14 = 1 << 14, - CORE_15 = 1 << 15 + CORE_ALL = 0, + CORE_0 = 1 << 0, + CORE_1 = 1 << 1, + CORE_2 = 1 << 2, + CORE_3 = 1 << 3, + CORE_4 = 1 << 4, + CORE_5 = 1 << 5, + CORE_6 = 1 << 6, + CORE_7 = 1 << 7, + CORE_8 = 1 << 8, + CORE_9 = 1 << 9, + CORE_10 = 1 << 10, + CORE_11 = 1 << 11, + CORE_12 = 1 << 12, + CORE_13 = 1 << 13, + CORE_14 = 1 << 14, + CORE_15 = 1 << 15 } public enum THREAD_TYPE : int @@ -997,7 +997,7 @@ [DllImport(VERSION.dll)] private static extern RESULT FMOD5_Memory_Initialize(IntPtr poolmem, int poollen, MEMORY_ALLOC_CALLBACK useralloc, MEMORY_REALLOC_CALLBACK userrealloc, MEMORY_FREE_CALLBACK userfree, MEMORY_TYPE memtypeflags); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Memory_GetStats(out int currentalloced, out int maxalloced, bool blocking); + private static extern RESULT FMOD5_Memory_GetStats (out int currentalloced, out int maxalloced, bool blocking); #endregion } @@ -1307,7 +1307,7 @@ { using (StringHelper.ThreadSafeEncoding encoder = StringHelper.GetFreeHelper()) { - return FMOD5_System_CreateSound(this.handle, encoder.byteFromStringUTF8(name), mode, ref exinfo, out sound.handle); + return FMOD5_System_CreateSound(this.handle, encoder.byteFromStringUTF8(name), mode, ref exinfo, out sound.handle); } } public RESULT createSound(byte[] data, MODE mode, ref CREATESOUNDEXINFO exinfo, out Sound sound) @@ -1532,200 +1532,200 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Release(IntPtr system); + private static extern RESULT FMOD5_System_Release (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetOutput(IntPtr system, OUTPUTTYPE output); + private static extern RESULT FMOD5_System_SetOutput (IntPtr system, OUTPUTTYPE output); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetOutput(IntPtr system, out OUTPUTTYPE output); + private static extern RESULT FMOD5_System_GetOutput (IntPtr system, out OUTPUTTYPE output); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNumDrivers(IntPtr system, out int numdrivers); + private static extern RESULT FMOD5_System_GetNumDrivers (IntPtr system, out int numdrivers); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDriverInfo(IntPtr system, int id, IntPtr name, int namelen, out Guid guid, out int systemrate, out SPEAKERMODE speakermode, out int speakermodechannels); + private static extern RESULT FMOD5_System_GetDriverInfo (IntPtr system, int id, IntPtr name, int namelen, out Guid guid, out int systemrate, out SPEAKERMODE speakermode, out int speakermodechannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetDriver(IntPtr system, int driver); + private static extern RESULT FMOD5_System_SetDriver (IntPtr system, int driver); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDriver(IntPtr system, out int driver); + private static extern RESULT FMOD5_System_GetDriver (IntPtr system, out int driver); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetSoftwareChannels(IntPtr system, int numsoftwarechannels); + private static extern RESULT FMOD5_System_SetSoftwareChannels (IntPtr system, int numsoftwarechannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetSoftwareChannels(IntPtr system, out int numsoftwarechannels); + private static extern RESULT FMOD5_System_GetSoftwareChannels (IntPtr system, out int numsoftwarechannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetSoftwareFormat(IntPtr system, int samplerate, SPEAKERMODE speakermode, int numrawspeakers); + private static extern RESULT FMOD5_System_SetSoftwareFormat (IntPtr system, int samplerate, SPEAKERMODE speakermode, int numrawspeakers); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetSoftwareFormat(IntPtr system, out int samplerate, out SPEAKERMODE speakermode, out int numrawspeakers); + private static extern RESULT FMOD5_System_GetSoftwareFormat (IntPtr system, out int samplerate, out SPEAKERMODE speakermode, out int numrawspeakers); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetDSPBufferSize(IntPtr system, uint bufferlength, int numbuffers); + private static extern RESULT FMOD5_System_SetDSPBufferSize (IntPtr system, uint bufferlength, int numbuffers); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDSPBufferSize(IntPtr system, out uint bufferlength, out int numbuffers); + private static extern RESULT FMOD5_System_GetDSPBufferSize (IntPtr system, out uint bufferlength, out int numbuffers); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetFileSystem(IntPtr system, FILE_OPEN_CALLBACK useropen, FILE_CLOSE_CALLBACK userclose, FILE_READ_CALLBACK userread, FILE_SEEK_CALLBACK userseek, FILE_ASYNCREAD_CALLBACK userasyncread, FILE_ASYNCCANCEL_CALLBACK userasynccancel, int blockalign); + private static extern RESULT FMOD5_System_SetFileSystem (IntPtr system, FILE_OPEN_CALLBACK useropen, FILE_CLOSE_CALLBACK userclose, FILE_READ_CALLBACK userread, FILE_SEEK_CALLBACK userseek, FILE_ASYNCREAD_CALLBACK userasyncread, FILE_ASYNCCANCEL_CALLBACK userasynccancel, int blockalign); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_AttachFileSystem(IntPtr system, FILE_OPEN_CALLBACK useropen, FILE_CLOSE_CALLBACK userclose, FILE_READ_CALLBACK userread, FILE_SEEK_CALLBACK userseek); + private static extern RESULT FMOD5_System_AttachFileSystem (IntPtr system, FILE_OPEN_CALLBACK useropen, FILE_CLOSE_CALLBACK userclose, FILE_READ_CALLBACK userread, FILE_SEEK_CALLBACK userseek); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetAdvancedSettings(IntPtr system, ref ADVANCEDSETTINGS settings); + private static extern RESULT FMOD5_System_SetAdvancedSettings (IntPtr system, ref ADVANCEDSETTINGS settings); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetAdvancedSettings(IntPtr system, ref ADVANCEDSETTINGS settings); + private static extern RESULT FMOD5_System_GetAdvancedSettings (IntPtr system, ref ADVANCEDSETTINGS settings); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetCallback(IntPtr system, SYSTEM_CALLBACK callback, SYSTEM_CALLBACK_TYPE callbackmask); + private static extern RESULT FMOD5_System_SetCallback (IntPtr system, SYSTEM_CALLBACK callback, SYSTEM_CALLBACK_TYPE callbackmask); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetPluginPath(IntPtr system, byte[] path); + private static extern RESULT FMOD5_System_SetPluginPath (IntPtr system, byte[] path); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_LoadPlugin(IntPtr system, byte[] filename, out uint handle, uint priority); + private static extern RESULT FMOD5_System_LoadPlugin (IntPtr system, byte[] filename, out uint handle, uint priority); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_UnloadPlugin(IntPtr system, uint handle); + private static extern RESULT FMOD5_System_UnloadPlugin (IntPtr system, uint handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNumNestedPlugins(IntPtr system, uint handle, out int count); + private static extern RESULT FMOD5_System_GetNumNestedPlugins (IntPtr system, uint handle, out int count); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNestedPlugin(IntPtr system, uint handle, int index, out uint nestedhandle); + private static extern RESULT FMOD5_System_GetNestedPlugin (IntPtr system, uint handle, int index, out uint nestedhandle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNumPlugins(IntPtr system, PLUGINTYPE plugintype, out int numplugins); + private static extern RESULT FMOD5_System_GetNumPlugins (IntPtr system, PLUGINTYPE plugintype, out int numplugins); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetPluginHandle(IntPtr system, PLUGINTYPE plugintype, int index, out uint handle); + private static extern RESULT FMOD5_System_GetPluginHandle (IntPtr system, PLUGINTYPE plugintype, int index, out uint handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetPluginInfo(IntPtr system, uint handle, out PLUGINTYPE plugintype, IntPtr name, int namelen, out uint version); + private static extern RESULT FMOD5_System_GetPluginInfo (IntPtr system, uint handle, out PLUGINTYPE plugintype, IntPtr name, int namelen, out uint version); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetOutputByPlugin(IntPtr system, uint handle); + private static extern RESULT FMOD5_System_SetOutputByPlugin (IntPtr system, uint handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetOutputByPlugin(IntPtr system, out uint handle); + private static extern RESULT FMOD5_System_GetOutputByPlugin (IntPtr system, out uint handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateDSPByPlugin(IntPtr system, uint handle, out IntPtr dsp); + private static extern RESULT FMOD5_System_CreateDSPByPlugin (IntPtr system, uint handle, out IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDSPInfoByPlugin(IntPtr system, uint handle, out IntPtr description); + private static extern RESULT FMOD5_System_GetDSPInfoByPlugin (IntPtr system, uint handle, out IntPtr description); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_RegisterDSP(IntPtr system, ref DSP_DESCRIPTION description, out uint handle); + private static extern RESULT FMOD5_System_RegisterDSP (IntPtr system, ref DSP_DESCRIPTION description, out uint handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Init(IntPtr system, int maxchannels, INITFLAGS flags, IntPtr extradriverdata); + private static extern RESULT FMOD5_System_Init (IntPtr system, int maxchannels, INITFLAGS flags, IntPtr extradriverdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Close(IntPtr system); + private static extern RESULT FMOD5_System_Close (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Update(IntPtr system); + private static extern RESULT FMOD5_System_Update (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetSpeakerPosition(IntPtr system, SPEAKER speaker, float x, float y, bool active); + private static extern RESULT FMOD5_System_SetSpeakerPosition (IntPtr system, SPEAKER speaker, float x, float y, bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetSpeakerPosition(IntPtr system, SPEAKER speaker, out float x, out float y, out bool active); + private static extern RESULT FMOD5_System_GetSpeakerPosition (IntPtr system, SPEAKER speaker, out float x, out float y, out bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetStreamBufferSize(IntPtr system, uint filebuffersize, TIMEUNIT filebuffersizetype); + private static extern RESULT FMOD5_System_SetStreamBufferSize (IntPtr system, uint filebuffersize, TIMEUNIT filebuffersizetype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetStreamBufferSize(IntPtr system, out uint filebuffersize, out TIMEUNIT filebuffersizetype); + private static extern RESULT FMOD5_System_GetStreamBufferSize (IntPtr system, out uint filebuffersize, out TIMEUNIT filebuffersizetype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Set3DSettings(IntPtr system, float dopplerscale, float distancefactor, float rolloffscale); + private static extern RESULT FMOD5_System_Set3DSettings (IntPtr system, float dopplerscale, float distancefactor, float rolloffscale); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Get3DSettings(IntPtr system, out float dopplerscale, out float distancefactor, out float rolloffscale); + private static extern RESULT FMOD5_System_Get3DSettings (IntPtr system, out float dopplerscale, out float distancefactor, out float rolloffscale); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Set3DNumListeners(IntPtr system, int numlisteners); + private static extern RESULT FMOD5_System_Set3DNumListeners (IntPtr system, int numlisteners); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Get3DNumListeners(IntPtr system, out int numlisteners); + private static extern RESULT FMOD5_System_Get3DNumListeners (IntPtr system, out int numlisteners); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Set3DListenerAttributes(IntPtr system, int listener, ref VECTOR pos, ref VECTOR vel, ref VECTOR forward, ref VECTOR up); + private static extern RESULT FMOD5_System_Set3DListenerAttributes (IntPtr system, int listener, ref VECTOR pos, ref VECTOR vel, ref VECTOR forward, ref VECTOR up); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Get3DListenerAttributes(IntPtr system, int listener, out VECTOR pos, out VECTOR vel, out VECTOR forward, out VECTOR up); + private static extern RESULT FMOD5_System_Get3DListenerAttributes (IntPtr system, int listener, out VECTOR pos, out VECTOR vel, out VECTOR forward, out VECTOR up); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_Set3DRolloffCallback(IntPtr system, CB_3D_ROLLOFF_CALLBACK callback); + private static extern RESULT FMOD5_System_Set3DRolloffCallback (IntPtr system, CB_3D_ROLLOFF_CALLBACK callback); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_MixerSuspend(IntPtr system); + private static extern RESULT FMOD5_System_MixerSuspend (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_MixerResume(IntPtr system); + private static extern RESULT FMOD5_System_MixerResume (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDefaultMixMatrix(IntPtr system, SPEAKERMODE sourcespeakermode, SPEAKERMODE targetspeakermode, float[] matrix, int matrixhop); + private static extern RESULT FMOD5_System_GetDefaultMixMatrix (IntPtr system, SPEAKERMODE sourcespeakermode, SPEAKERMODE targetspeakermode, float[] matrix, int matrixhop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetSpeakerModeChannels(IntPtr system, SPEAKERMODE mode, out int channels); + private static extern RESULT FMOD5_System_GetSpeakerModeChannels (IntPtr system, SPEAKERMODE mode, out int channels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetVersion(IntPtr system, out uint version); + private static extern RESULT FMOD5_System_GetVersion (IntPtr system, out uint version); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetOutputHandle(IntPtr system, out IntPtr handle); + private static extern RESULT FMOD5_System_GetOutputHandle (IntPtr system, out IntPtr handle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetChannelsPlaying(IntPtr system, out int channels, IntPtr zero); + private static extern RESULT FMOD5_System_GetChannelsPlaying (IntPtr system, out int channels, IntPtr zero); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetChannelsPlaying(IntPtr system, out int channels, out int realchannels); + private static extern RESULT FMOD5_System_GetChannelsPlaying (IntPtr system, out int channels, out int realchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetCPUUsage(IntPtr system, out CPU_USAGE usage); + private static extern RESULT FMOD5_System_GetCPUUsage (IntPtr system, out CPU_USAGE usage); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetFileUsage(IntPtr system, out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead); + private static extern RESULT FMOD5_System_GetFileUsage (IntPtr system, out Int64 sampleBytesRead, out Int64 streamBytesRead, out Int64 otherBytesRead); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateSound(IntPtr system, byte[] name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); + private static extern RESULT FMOD5_System_CreateSound (IntPtr system, byte[] name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateSound(IntPtr system, IntPtr name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); + private static extern RESULT FMOD5_System_CreateSound (IntPtr system, IntPtr name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateStream(IntPtr system, byte[] name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); + private static extern RESULT FMOD5_System_CreateStream (IntPtr system, byte[] name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateStream(IntPtr system, IntPtr name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); + private static extern RESULT FMOD5_System_CreateStream (IntPtr system, IntPtr name_or_data, MODE mode, ref CREATESOUNDEXINFO exinfo, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateDSP(IntPtr system, ref DSP_DESCRIPTION description, out IntPtr dsp); + private static extern RESULT FMOD5_System_CreateDSP (IntPtr system, ref DSP_DESCRIPTION description, out IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateDSPByType(IntPtr system, DSP_TYPE type, out IntPtr dsp); + private static extern RESULT FMOD5_System_CreateDSPByType (IntPtr system, DSP_TYPE type, out IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateChannelGroup(IntPtr system, byte[] name, out IntPtr channelgroup); + private static extern RESULT FMOD5_System_CreateChannelGroup (IntPtr system, byte[] name, out IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateSoundGroup(IntPtr system, byte[] name, out IntPtr soundgroup); + private static extern RESULT FMOD5_System_CreateSoundGroup (IntPtr system, byte[] name, out IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateReverb3D(IntPtr system, out IntPtr reverb); + private static extern RESULT FMOD5_System_CreateReverb3D (IntPtr system, out IntPtr reverb); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_PlaySound(IntPtr system, IntPtr sound, IntPtr channelgroup, bool paused, out IntPtr channel); + private static extern RESULT FMOD5_System_PlaySound (IntPtr system, IntPtr sound, IntPtr channelgroup, bool paused, out IntPtr channel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_PlayDSP(IntPtr system, IntPtr dsp, IntPtr channelgroup, bool paused, out IntPtr channel); + private static extern RESULT FMOD5_System_PlayDSP (IntPtr system, IntPtr dsp, IntPtr channelgroup, bool paused, out IntPtr channel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetChannel(IntPtr system, int channelid, out IntPtr channel); + private static extern RESULT FMOD5_System_GetChannel (IntPtr system, int channelid, out IntPtr channel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetDSPInfoByType(IntPtr system, DSP_TYPE type, out IntPtr description); + private static extern RESULT FMOD5_System_GetDSPInfoByType (IntPtr system, DSP_TYPE type, out IntPtr description); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetMasterChannelGroup(IntPtr system, out IntPtr channelgroup); + private static extern RESULT FMOD5_System_GetMasterChannelGroup (IntPtr system, out IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetMasterSoundGroup(IntPtr system, out IntPtr soundgroup); + private static extern RESULT FMOD5_System_GetMasterSoundGroup (IntPtr system, out IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_AttachChannelGroupToPort(IntPtr system, PORT_TYPE portType, ulong portIndex, IntPtr channelgroup, bool passThru); + private static extern RESULT FMOD5_System_AttachChannelGroupToPort (IntPtr system, PORT_TYPE portType, ulong portIndex, IntPtr channelgroup, bool passThru); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_System_DetachChannelGroupFromPort(IntPtr system, IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetReverbProperties(IntPtr system, int instance, ref REVERB_PROPERTIES prop); + private static extern RESULT FMOD5_System_SetReverbProperties (IntPtr system, int instance, ref REVERB_PROPERTIES prop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetReverbProperties(IntPtr system, int instance, out REVERB_PROPERTIES prop); + private static extern RESULT FMOD5_System_GetReverbProperties (IntPtr system, int instance, out REVERB_PROPERTIES prop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_LockDSP(IntPtr system); + private static extern RESULT FMOD5_System_LockDSP (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_UnlockDSP(IntPtr system); + private static extern RESULT FMOD5_System_UnlockDSP (IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetRecordNumDrivers(IntPtr system, out int numdrivers, out int numconnected); + private static extern RESULT FMOD5_System_GetRecordNumDrivers (IntPtr system, out int numdrivers, out int numconnected); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetRecordDriverInfo(IntPtr system, int id, IntPtr name, int namelen, out Guid guid, out int systemrate, out SPEAKERMODE speakermode, out int speakermodechannels, out DRIVER_STATE state); + private static extern RESULT FMOD5_System_GetRecordDriverInfo (IntPtr system, int id, IntPtr name, int namelen, out Guid guid, out int systemrate, out SPEAKERMODE speakermode, out int speakermodechannels, out DRIVER_STATE state); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetRecordPosition(IntPtr system, int id, out uint position); + private static extern RESULT FMOD5_System_GetRecordPosition (IntPtr system, int id, out uint position); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_RecordStart(IntPtr system, int id, IntPtr sound, bool loop); + private static extern RESULT FMOD5_System_RecordStart (IntPtr system, int id, IntPtr sound, bool loop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_RecordStop(IntPtr system, int id); + private static extern RESULT FMOD5_System_RecordStop (IntPtr system, int id); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_IsRecording(IntPtr system, int id, out bool recording); + private static extern RESULT FMOD5_System_IsRecording (IntPtr system, int id, out bool recording); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_CreateGeometry(IntPtr system, int maxpolygons, int maxvertices, out IntPtr geometry); + private static extern RESULT FMOD5_System_CreateGeometry (IntPtr system, int maxpolygons, int maxvertices, out IntPtr geometry); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetGeometrySettings(IntPtr system, float maxworldsize); + private static extern RESULT FMOD5_System_SetGeometrySettings (IntPtr system, float maxworldsize); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetGeometrySettings(IntPtr system, out float maxworldsize); + private static extern RESULT FMOD5_System_GetGeometrySettings (IntPtr system, out float maxworldsize); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_LoadGeometry(IntPtr system, IntPtr data, int datasize, out IntPtr geometry); + private static extern RESULT FMOD5_System_LoadGeometry (IntPtr system, IntPtr data, int datasize, out IntPtr geometry); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetGeometryOcclusion(IntPtr system, ref VECTOR listener, ref VECTOR source, out float direct, out float reverb); + private static extern RESULT FMOD5_System_GetGeometryOcclusion (IntPtr system, ref VECTOR listener, ref VECTOR source, out float direct, out float reverb); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetNetworkProxy(IntPtr system, byte[] proxy); + private static extern RESULT FMOD5_System_SetNetworkProxy (IntPtr system, byte[] proxy); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNetworkProxy(IntPtr system, IntPtr proxy, int proxylen); + private static extern RESULT FMOD5_System_GetNetworkProxy (IntPtr system, IntPtr proxy, int proxylen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetNetworkTimeout(IntPtr system, int timeout); + private static extern RESULT FMOD5_System_SetNetworkTimeout (IntPtr system, int timeout); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetNetworkTimeout(IntPtr system, out int timeout); + private static extern RESULT FMOD5_System_GetNetworkTimeout (IntPtr system, out int timeout); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_SetUserData(IntPtr system, IntPtr userdata); + private static extern RESULT FMOD5_System_SetUserData (IntPtr system, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_System_GetUserData(IntPtr system, out IntPtr userdata); + private static extern RESULT FMOD5_System_GetUserData (IntPtr system, out IntPtr userdata); #endregion #region wrapperinternal public IntPtr handle; - public System(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public System(IntPtr ptr) { this.handle = ptr; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -1959,104 +1959,104 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Release(IntPtr sound); + private static extern RESULT FMOD5_Sound_Release (IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSystemObject(IntPtr sound, out IntPtr system); + private static extern RESULT FMOD5_Sound_GetSystemObject (IntPtr sound, out IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Lock(IntPtr sound, uint offset, uint length, out IntPtr ptr1, out IntPtr ptr2, out uint len1, out uint len2); + private static extern RESULT FMOD5_Sound_Lock (IntPtr sound, uint offset, uint length, out IntPtr ptr1, out IntPtr ptr2, out uint len1, out uint len2); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Unlock(IntPtr sound, IntPtr ptr1, IntPtr ptr2, uint len1, uint len2); + private static extern RESULT FMOD5_Sound_Unlock (IntPtr sound, IntPtr ptr1, IntPtr ptr2, uint len1, uint len2); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetDefaults(IntPtr sound, float frequency, int priority); + private static extern RESULT FMOD5_Sound_SetDefaults (IntPtr sound, float frequency, int priority); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetDefaults(IntPtr sound, out float frequency, out int priority); + private static extern RESULT FMOD5_Sound_GetDefaults (IntPtr sound, out float frequency, out int priority); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Set3DMinMaxDistance(IntPtr sound, float min, float max); + private static extern RESULT FMOD5_Sound_Set3DMinMaxDistance (IntPtr sound, float min, float max); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Get3DMinMaxDistance(IntPtr sound, out float min, out float max); + private static extern RESULT FMOD5_Sound_Get3DMinMaxDistance (IntPtr sound, out float min, out float max); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Set3DConeSettings(IntPtr sound, float insideconeangle, float outsideconeangle, float outsidevolume); + private static extern RESULT FMOD5_Sound_Set3DConeSettings (IntPtr sound, float insideconeangle, float outsideconeangle, float outsidevolume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Get3DConeSettings(IntPtr sound, out float insideconeangle, out float outsideconeangle, out float outsidevolume); + private static extern RESULT FMOD5_Sound_Get3DConeSettings (IntPtr sound, out float insideconeangle, out float outsideconeangle, out float outsidevolume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Set3DCustomRolloff(IntPtr sound, ref VECTOR points, int numpoints); + private static extern RESULT FMOD5_Sound_Set3DCustomRolloff (IntPtr sound, ref VECTOR points, int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_Get3DCustomRolloff(IntPtr sound, out IntPtr points, out int numpoints); + private static extern RESULT FMOD5_Sound_Get3DCustomRolloff (IntPtr sound, out IntPtr points, out int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSubSound(IntPtr sound, int index, out IntPtr subsound); + private static extern RESULT FMOD5_Sound_GetSubSound (IntPtr sound, int index, out IntPtr subsound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSubSoundParent(IntPtr sound, out IntPtr parentsound); + private static extern RESULT FMOD5_Sound_GetSubSoundParent (IntPtr sound, out IntPtr parentsound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetName(IntPtr sound, IntPtr name, int namelen); + private static extern RESULT FMOD5_Sound_GetName (IntPtr sound, IntPtr name, int namelen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetLength(IntPtr sound, out uint length, TIMEUNIT lengthtype); + private static extern RESULT FMOD5_Sound_GetLength (IntPtr sound, out uint length, TIMEUNIT lengthtype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetFormat(IntPtr sound, out SOUND_TYPE type, out SOUND_FORMAT format, out int channels, out int bits); + private static extern RESULT FMOD5_Sound_GetFormat (IntPtr sound, out SOUND_TYPE type, out SOUND_FORMAT format, out int channels, out int bits); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetNumSubSounds(IntPtr sound, out int numsubsounds); + private static extern RESULT FMOD5_Sound_GetNumSubSounds (IntPtr sound, out int numsubsounds); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetNumTags(IntPtr sound, out int numtags, out int numtagsupdated); + private static extern RESULT FMOD5_Sound_GetNumTags (IntPtr sound, out int numtags, out int numtagsupdated); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetTag(IntPtr sound, byte[] name, int index, out TAG tag); + private static extern RESULT FMOD5_Sound_GetTag (IntPtr sound, byte[] name, int index, out TAG tag); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetOpenState(IntPtr sound, out OPENSTATE openstate, out uint percentbuffered, out bool starving, out bool diskbusy); + private static extern RESULT FMOD5_Sound_GetOpenState (IntPtr sound, out OPENSTATE openstate, out uint percentbuffered, out bool starving, out bool diskbusy); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_ReadData(IntPtr sound, byte[] buffer, uint length, IntPtr zero); + private static extern RESULT FMOD5_Sound_ReadData (IntPtr sound, byte[] buffer, uint length, IntPtr zero); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_ReadData(IntPtr sound, byte[] buffer, uint length, out uint read); + private static extern RESULT FMOD5_Sound_ReadData (IntPtr sound, byte[] buffer, uint length, out uint read); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_ReadData(IntPtr sound, IntPtr buffer, uint length, out uint read); + private static extern RESULT FMOD5_Sound_ReadData (IntPtr sound, IntPtr buffer, uint length, out uint read); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SeekData(IntPtr sound, uint pcm); + private static extern RESULT FMOD5_Sound_SeekData (IntPtr sound, uint pcm); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetSoundGroup(IntPtr sound, IntPtr soundgroup); + private static extern RESULT FMOD5_Sound_SetSoundGroup (IntPtr sound, IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSoundGroup(IntPtr sound, out IntPtr soundgroup); + private static extern RESULT FMOD5_Sound_GetSoundGroup (IntPtr sound, out IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetNumSyncPoints(IntPtr sound, out int numsyncpoints); + private static extern RESULT FMOD5_Sound_GetNumSyncPoints (IntPtr sound, out int numsyncpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSyncPoint(IntPtr sound, int index, out IntPtr point); + private static extern RESULT FMOD5_Sound_GetSyncPoint (IntPtr sound, int index, out IntPtr point); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetSyncPointInfo(IntPtr sound, IntPtr point, IntPtr name, int namelen, out uint offset, TIMEUNIT offsettype); + private static extern RESULT FMOD5_Sound_GetSyncPointInfo (IntPtr sound, IntPtr point, IntPtr name, int namelen, out uint offset, TIMEUNIT offsettype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_AddSyncPoint(IntPtr sound, uint offset, TIMEUNIT offsettype, byte[] name, out IntPtr point); + private static extern RESULT FMOD5_Sound_AddSyncPoint (IntPtr sound, uint offset, TIMEUNIT offsettype, byte[] name, out IntPtr point); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_DeleteSyncPoint(IntPtr sound, IntPtr point); + private static extern RESULT FMOD5_Sound_DeleteSyncPoint (IntPtr sound, IntPtr point); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetMode(IntPtr sound, MODE mode); + private static extern RESULT FMOD5_Sound_SetMode (IntPtr sound, MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetMode(IntPtr sound, out MODE mode); + private static extern RESULT FMOD5_Sound_GetMode (IntPtr sound, out MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetLoopCount(IntPtr sound, int loopcount); + private static extern RESULT FMOD5_Sound_SetLoopCount (IntPtr sound, int loopcount); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetLoopCount(IntPtr sound, out int loopcount); + private static extern RESULT FMOD5_Sound_GetLoopCount (IntPtr sound, out int loopcount); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetLoopPoints(IntPtr sound, uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype); + private static extern RESULT FMOD5_Sound_SetLoopPoints (IntPtr sound, uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetLoopPoints(IntPtr sound, out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype); + private static extern RESULT FMOD5_Sound_GetLoopPoints (IntPtr sound, out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetMusicNumChannels(IntPtr sound, out int numchannels); + private static extern RESULT FMOD5_Sound_GetMusicNumChannels (IntPtr sound, out int numchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetMusicChannelVolume(IntPtr sound, int channel, float volume); + private static extern RESULT FMOD5_Sound_SetMusicChannelVolume (IntPtr sound, int channel, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetMusicChannelVolume(IntPtr sound, int channel, out float volume); + private static extern RESULT FMOD5_Sound_GetMusicChannelVolume (IntPtr sound, int channel, out float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetMusicSpeed(IntPtr sound, float speed); + private static extern RESULT FMOD5_Sound_SetMusicSpeed (IntPtr sound, float speed); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetMusicSpeed(IntPtr sound, out float speed); + private static extern RESULT FMOD5_Sound_GetMusicSpeed (IntPtr sound, out float speed); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_SetUserData(IntPtr sound, IntPtr userdata); + private static extern RESULT FMOD5_Sound_SetUserData (IntPtr sound, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Sound_GetUserData(IntPtr sound, out IntPtr userdata); + private static extern RESULT FMOD5_Sound_GetUserData (IntPtr sound, out IntPtr userdata); #endregion #region wrapperinternal public IntPtr handle; - public Sound(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public Sound(IntPtr ptr) { this.handle = ptr; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -2066,80 +2066,80 @@ */ interface IChannelControl { - RESULT getSystemObject(out System system); + RESULT getSystemObject (out System system); // General control functionality for Channels and ChannelGroups. - RESULT stop(); - RESULT setPaused(bool paused); - RESULT getPaused(out bool paused); - RESULT setVolume(float volume); - RESULT getVolume(out float volume); - RESULT setVolumeRamp(bool ramp); - RESULT getVolumeRamp(out bool ramp); - RESULT getAudibility(out float audibility); - RESULT setPitch(float pitch); - RESULT getPitch(out float pitch); - RESULT setMute(bool mute); - RESULT getMute(out bool mute); - RESULT setReverbProperties(int instance, float wet); - RESULT getReverbProperties(int instance, out float wet); - RESULT setLowPassGain(float gain); - RESULT getLowPassGain(out float gain); - RESULT setMode(MODE mode); - RESULT getMode(out MODE mode); - RESULT setCallback(CHANNELCONTROL_CALLBACK callback); - RESULT isPlaying(out bool isplaying); + RESULT stop (); + RESULT setPaused (bool paused); + RESULT getPaused (out bool paused); + RESULT setVolume (float volume); + RESULT getVolume (out float volume); + RESULT setVolumeRamp (bool ramp); + RESULT getVolumeRamp (out bool ramp); + RESULT getAudibility (out float audibility); + RESULT setPitch (float pitch); + RESULT getPitch (out float pitch); + RESULT setMute (bool mute); + RESULT getMute (out bool mute); + RESULT setReverbProperties (int instance, float wet); + RESULT getReverbProperties (int instance, out float wet); + RESULT setLowPassGain (float gain); + RESULT getLowPassGain (out float gain); + RESULT setMode (MODE mode); + RESULT getMode (out MODE mode); + RESULT setCallback (CHANNELCONTROL_CALLBACK callback); + RESULT isPlaying (out bool isplaying); // Note all 'set' functions alter a final matrix, this is why the only get function is getMixMatrix, to avoid other get functions returning incorrect/obsolete values. - RESULT setPan(float pan); - RESULT setMixLevelsOutput(float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); - RESULT setMixLevelsInput(float[] levels, int numlevels); - RESULT setMixMatrix(float[] matrix, int outchannels, int inchannels, int inchannel_hop); - RESULT getMixMatrix(float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); + RESULT setPan (float pan); + RESULT setMixLevelsOutput (float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); + RESULT setMixLevelsInput (float[] levels, int numlevels); + RESULT setMixMatrix (float[] matrix, int outchannels, int inchannels, int inchannel_hop); + RESULT getMixMatrix (float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); // Clock based functionality. - RESULT getDSPClock(out ulong dspclock, out ulong parentclock); - RESULT setDelay(ulong dspclock_start, ulong dspclock_end, bool stopchannels); - RESULT getDelay(out ulong dspclock_start, out ulong dspclock_end); - RESULT getDelay(out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); - RESULT addFadePoint(ulong dspclock, float volume); - RESULT setFadePointRamp(ulong dspclock, float volume); - RESULT removeFadePoints(ulong dspclock_start, ulong dspclock_end); - RESULT getFadePoints(ref uint numpoints, ulong[] point_dspclock, float[] point_volume); + RESULT getDSPClock (out ulong dspclock, out ulong parentclock); + RESULT setDelay (ulong dspclock_start, ulong dspclock_end, bool stopchannels); + RESULT getDelay (out ulong dspclock_start, out ulong dspclock_end); + RESULT getDelay (out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); + RESULT addFadePoint (ulong dspclock, float volume); + RESULT setFadePointRamp (ulong dspclock, float volume); + RESULT removeFadePoints (ulong dspclock_start, ulong dspclock_end); + RESULT getFadePoints (ref uint numpoints, ulong[] point_dspclock, float[] point_volume); // DSP effects. - RESULT getDSP(int index, out DSP dsp); - RESULT addDSP(int index, DSP dsp); - RESULT removeDSP(DSP dsp); - RESULT getNumDSPs(out int numdsps); - RESULT setDSPIndex(DSP dsp, int index); - RESULT getDSPIndex(DSP dsp, out int index); + RESULT getDSP (int index, out DSP dsp); + RESULT addDSP (int index, DSP dsp); + RESULT removeDSP (DSP dsp); + RESULT getNumDSPs (out int numdsps); + RESULT setDSPIndex (DSP dsp, int index); + RESULT getDSPIndex (DSP dsp, out int index); // 3D functionality. - RESULT set3DAttributes(ref VECTOR pos, ref VECTOR vel); - RESULT get3DAttributes(out VECTOR pos, out VECTOR vel); - RESULT set3DMinMaxDistance(float mindistance, float maxdistance); - RESULT get3DMinMaxDistance(out float mindistance, out float maxdistance); - RESULT set3DConeSettings(float insideconeangle, float outsideconeangle, float outsidevolume); - RESULT get3DConeSettings(out float insideconeangle, out float outsideconeangle, out float outsidevolume); - RESULT set3DConeOrientation(ref VECTOR orientation); - RESULT get3DConeOrientation(out VECTOR orientation); - RESULT set3DCustomRolloff(ref VECTOR points, int numpoints); - RESULT get3DCustomRolloff(out IntPtr points, out int numpoints); - RESULT set3DOcclusion(float directocclusion, float reverbocclusion); - RESULT get3DOcclusion(out float directocclusion, out float reverbocclusion); - RESULT set3DSpread(float angle); - RESULT get3DSpread(out float angle); - RESULT set3DLevel(float level); - RESULT get3DLevel(out float level); - RESULT set3DDopplerLevel(float level); - RESULT get3DDopplerLevel(out float level); - RESULT set3DDistanceFilter(bool custom, float customLevel, float centerFreq); - RESULT get3DDistanceFilter(out bool custom, out float customLevel, out float centerFreq); + RESULT set3DAttributes (ref VECTOR pos, ref VECTOR vel); + RESULT get3DAttributes (out VECTOR pos, out VECTOR vel); + RESULT set3DMinMaxDistance (float mindistance, float maxdistance); + RESULT get3DMinMaxDistance (out float mindistance, out float maxdistance); + RESULT set3DConeSettings (float insideconeangle, float outsideconeangle, float outsidevolume); + RESULT get3DConeSettings (out float insideconeangle, out float outsideconeangle, out float outsidevolume); + RESULT set3DConeOrientation (ref VECTOR orientation); + RESULT get3DConeOrientation (out VECTOR orientation); + RESULT set3DCustomRolloff (ref VECTOR points, int numpoints); + RESULT get3DCustomRolloff (out IntPtr points, out int numpoints); + RESULT set3DOcclusion (float directocclusion, float reverbocclusion); + RESULT get3DOcclusion (out float directocclusion, out float reverbocclusion); + RESULT set3DSpread (float angle); + RESULT get3DSpread (out float angle); + RESULT set3DLevel (float level); + RESULT get3DLevel (out float level); + RESULT set3DDopplerLevel (float level); + RESULT get3DDopplerLevel (out float level); + RESULT set3DDistanceFilter (bool custom, float customLevel, float centerFreq); + RESULT get3DDistanceFilter (out bool custom, out float customLevel, out float centerFreq); // Userdata set/get. - RESULT setUserData(IntPtr userdata); - RESULT getUserData(out IntPtr userdata); + RESULT setUserData (IntPtr userdata); + RESULT getUserData (out IntPtr userdata); } /* @@ -2474,168 +2474,168 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetFrequency(IntPtr channel, float frequency); + private static extern RESULT FMOD5_Channel_SetFrequency (IntPtr channel, float frequency); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetFrequency(IntPtr channel, out float frequency); + private static extern RESULT FMOD5_Channel_GetFrequency (IntPtr channel, out float frequency); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetPriority(IntPtr channel, int priority); + private static extern RESULT FMOD5_Channel_SetPriority (IntPtr channel, int priority); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetPriority(IntPtr channel, out int priority); + private static extern RESULT FMOD5_Channel_GetPriority (IntPtr channel, out int priority); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetPosition(IntPtr channel, uint position, TIMEUNIT postype); + private static extern RESULT FMOD5_Channel_SetPosition (IntPtr channel, uint position, TIMEUNIT postype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetPosition(IntPtr channel, out uint position, TIMEUNIT postype); + private static extern RESULT FMOD5_Channel_GetPosition (IntPtr channel, out uint position, TIMEUNIT postype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetChannelGroup(IntPtr channel, IntPtr channelgroup); + private static extern RESULT FMOD5_Channel_SetChannelGroup (IntPtr channel, IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetChannelGroup(IntPtr channel, out IntPtr channelgroup); + private static extern RESULT FMOD5_Channel_GetChannelGroup (IntPtr channel, out IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetLoopCount(IntPtr channel, int loopcount); + private static extern RESULT FMOD5_Channel_SetLoopCount (IntPtr channel, int loopcount); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetLoopCount(IntPtr channel, out int loopcount); + private static extern RESULT FMOD5_Channel_GetLoopCount (IntPtr channel, out int loopcount); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetLoopPoints(IntPtr channel, uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype); + private static extern RESULT FMOD5_Channel_SetLoopPoints (IntPtr channel, uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetLoopPoints(IntPtr channel, out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype); + private static extern RESULT FMOD5_Channel_GetLoopPoints (IntPtr channel, out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_IsVirtual(IntPtr channel, out bool isvirtual); + private static extern RESULT FMOD5_Channel_IsVirtual (IntPtr channel, out bool isvirtual); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetCurrentSound(IntPtr channel, out IntPtr sound); + private static extern RESULT FMOD5_Channel_GetCurrentSound (IntPtr channel, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetIndex(IntPtr channel, out int index); + private static extern RESULT FMOD5_Channel_GetIndex (IntPtr channel, out int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetSystemObject(IntPtr channel, out IntPtr system); + private static extern RESULT FMOD5_Channel_GetSystemObject (IntPtr channel, out IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Stop(IntPtr channel); + private static extern RESULT FMOD5_Channel_Stop (IntPtr channel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetPaused(IntPtr channel, bool paused); + private static extern RESULT FMOD5_Channel_SetPaused (IntPtr channel, bool paused); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetPaused(IntPtr channel, out bool paused); + private static extern RESULT FMOD5_Channel_GetPaused (IntPtr channel, out bool paused); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetVolume(IntPtr channel, float volume); + private static extern RESULT FMOD5_Channel_SetVolume (IntPtr channel, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetVolume(IntPtr channel, out float volume); + private static extern RESULT FMOD5_Channel_GetVolume (IntPtr channel, out float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetVolumeRamp(IntPtr channel, bool ramp); + private static extern RESULT FMOD5_Channel_SetVolumeRamp (IntPtr channel, bool ramp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetVolumeRamp(IntPtr channel, out bool ramp); + private static extern RESULT FMOD5_Channel_GetVolumeRamp (IntPtr channel, out bool ramp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetAudibility(IntPtr channel, out float audibility); + private static extern RESULT FMOD5_Channel_GetAudibility (IntPtr channel, out float audibility); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetPitch(IntPtr channel, float pitch); + private static extern RESULT FMOD5_Channel_SetPitch (IntPtr channel, float pitch); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetPitch(IntPtr channel, out float pitch); + private static extern RESULT FMOD5_Channel_GetPitch (IntPtr channel, out float pitch); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetMute(IntPtr channel, bool mute); + private static extern RESULT FMOD5_Channel_SetMute (IntPtr channel, bool mute); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetMute(IntPtr channel, out bool mute); + private static extern RESULT FMOD5_Channel_GetMute (IntPtr channel, out bool mute); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetReverbProperties(IntPtr channel, int instance, float wet); + private static extern RESULT FMOD5_Channel_SetReverbProperties (IntPtr channel, int instance, float wet); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetReverbProperties(IntPtr channel, int instance, out float wet); + private static extern RESULT FMOD5_Channel_GetReverbProperties (IntPtr channel, int instance, out float wet); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetLowPassGain(IntPtr channel, float gain); + private static extern RESULT FMOD5_Channel_SetLowPassGain (IntPtr channel, float gain); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetLowPassGain(IntPtr channel, out float gain); + private static extern RESULT FMOD5_Channel_GetLowPassGain (IntPtr channel, out float gain); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetMode(IntPtr channel, MODE mode); + private static extern RESULT FMOD5_Channel_SetMode (IntPtr channel, MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetMode(IntPtr channel, out MODE mode); + private static extern RESULT FMOD5_Channel_GetMode (IntPtr channel, out MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetCallback(IntPtr channel, CHANNELCONTROL_CALLBACK callback); + private static extern RESULT FMOD5_Channel_SetCallback (IntPtr channel, CHANNELCONTROL_CALLBACK callback); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_IsPlaying(IntPtr channel, out bool isplaying); + private static extern RESULT FMOD5_Channel_IsPlaying (IntPtr channel, out bool isplaying); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetPan(IntPtr channel, float pan); + private static extern RESULT FMOD5_Channel_SetPan (IntPtr channel, float pan); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetMixLevelsOutput(IntPtr channel, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); + private static extern RESULT FMOD5_Channel_SetMixLevelsOutput (IntPtr channel, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetMixLevelsInput(IntPtr channel, float[] levels, int numlevels); + private static extern RESULT FMOD5_Channel_SetMixLevelsInput (IntPtr channel, float[] levels, int numlevels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetMixMatrix(IntPtr channel, float[] matrix, int outchannels, int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_Channel_SetMixMatrix (IntPtr channel, float[] matrix, int outchannels, int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetMixMatrix(IntPtr channel, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_Channel_GetMixMatrix (IntPtr channel, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetDSPClock(IntPtr channel, out ulong dspclock, out ulong parentclock); + private static extern RESULT FMOD5_Channel_GetDSPClock (IntPtr channel, out ulong dspclock, out ulong parentclock); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetDelay(IntPtr channel, ulong dspclock_start, ulong dspclock_end, bool stopchannels); + private static extern RESULT FMOD5_Channel_SetDelay (IntPtr channel, ulong dspclock_start, ulong dspclock_end, bool stopchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetDelay(IntPtr channel, out ulong dspclock_start, out ulong dspclock_end, IntPtr zero); + private static extern RESULT FMOD5_Channel_GetDelay (IntPtr channel, out ulong dspclock_start, out ulong dspclock_end, IntPtr zero); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetDelay(IntPtr channel, out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); + private static extern RESULT FMOD5_Channel_GetDelay (IntPtr channel, out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_AddFadePoint(IntPtr channel, ulong dspclock, float volume); + private static extern RESULT FMOD5_Channel_AddFadePoint (IntPtr channel, ulong dspclock, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetFadePointRamp(IntPtr channel, ulong dspclock, float volume); + private static extern RESULT FMOD5_Channel_SetFadePointRamp (IntPtr channel, ulong dspclock, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_RemoveFadePoints(IntPtr channel, ulong dspclock_start, ulong dspclock_end); + private static extern RESULT FMOD5_Channel_RemoveFadePoints (IntPtr channel, ulong dspclock_start, ulong dspclock_end); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetFadePoints(IntPtr channel, ref uint numpoints, ulong[] point_dspclock, float[] point_volume); + private static extern RESULT FMOD5_Channel_GetFadePoints (IntPtr channel, ref uint numpoints, ulong[] point_dspclock, float[] point_volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetDSP(IntPtr channel, int index, out IntPtr dsp); + private static extern RESULT FMOD5_Channel_GetDSP (IntPtr channel, int index, out IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_AddDSP(IntPtr channel, int index, IntPtr dsp); + private static extern RESULT FMOD5_Channel_AddDSP (IntPtr channel, int index, IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_RemoveDSP(IntPtr channel, IntPtr dsp); + private static extern RESULT FMOD5_Channel_RemoveDSP (IntPtr channel, IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetNumDSPs(IntPtr channel, out int numdsps); + private static extern RESULT FMOD5_Channel_GetNumDSPs (IntPtr channel, out int numdsps); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetDSPIndex(IntPtr channel, IntPtr dsp, int index); + private static extern RESULT FMOD5_Channel_SetDSPIndex (IntPtr channel, IntPtr dsp, int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetDSPIndex(IntPtr channel, IntPtr dsp, out int index); + private static extern RESULT FMOD5_Channel_GetDSPIndex (IntPtr channel, IntPtr dsp, out int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DAttributes(IntPtr channel, ref VECTOR pos, ref VECTOR vel); + private static extern RESULT FMOD5_Channel_Set3DAttributes (IntPtr channel, ref VECTOR pos, ref VECTOR vel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DAttributes(IntPtr channel, out VECTOR pos, out VECTOR vel); + private static extern RESULT FMOD5_Channel_Get3DAttributes (IntPtr channel, out VECTOR pos, out VECTOR vel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DMinMaxDistance(IntPtr channel, float mindistance, float maxdistance); + private static extern RESULT FMOD5_Channel_Set3DMinMaxDistance (IntPtr channel, float mindistance, float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DMinMaxDistance(IntPtr channel, out float mindistance, out float maxdistance); + private static extern RESULT FMOD5_Channel_Get3DMinMaxDistance (IntPtr channel, out float mindistance, out float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DConeSettings(IntPtr channel, float insideconeangle, float outsideconeangle, float outsidevolume); + private static extern RESULT FMOD5_Channel_Set3DConeSettings (IntPtr channel, float insideconeangle, float outsideconeangle, float outsidevolume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DConeSettings(IntPtr channel, out float insideconeangle, out float outsideconeangle, out float outsidevolume); + private static extern RESULT FMOD5_Channel_Get3DConeSettings (IntPtr channel, out float insideconeangle, out float outsideconeangle, out float outsidevolume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DConeOrientation(IntPtr channel, ref VECTOR orientation); + private static extern RESULT FMOD5_Channel_Set3DConeOrientation (IntPtr channel, ref VECTOR orientation); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DConeOrientation(IntPtr channel, out VECTOR orientation); + private static extern RESULT FMOD5_Channel_Get3DConeOrientation (IntPtr channel, out VECTOR orientation); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DCustomRolloff(IntPtr channel, ref VECTOR points, int numpoints); + private static extern RESULT FMOD5_Channel_Set3DCustomRolloff (IntPtr channel, ref VECTOR points, int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DCustomRolloff(IntPtr channel, out IntPtr points, out int numpoints); + private static extern RESULT FMOD5_Channel_Get3DCustomRolloff (IntPtr channel, out IntPtr points, out int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DOcclusion(IntPtr channel, float directocclusion, float reverbocclusion); + private static extern RESULT FMOD5_Channel_Set3DOcclusion (IntPtr channel, float directocclusion, float reverbocclusion); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DOcclusion(IntPtr channel, out float directocclusion, out float reverbocclusion); + private static extern RESULT FMOD5_Channel_Get3DOcclusion (IntPtr channel, out float directocclusion, out float reverbocclusion); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DSpread(IntPtr channel, float angle); + private static extern RESULT FMOD5_Channel_Set3DSpread (IntPtr channel, float angle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DSpread(IntPtr channel, out float angle); + private static extern RESULT FMOD5_Channel_Get3DSpread (IntPtr channel, out float angle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DLevel(IntPtr channel, float level); + private static extern RESULT FMOD5_Channel_Set3DLevel (IntPtr channel, float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DLevel(IntPtr channel, out float level); + private static extern RESULT FMOD5_Channel_Get3DLevel (IntPtr channel, out float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DDopplerLevel(IntPtr channel, float level); + private static extern RESULT FMOD5_Channel_Set3DDopplerLevel (IntPtr channel, float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DDopplerLevel(IntPtr channel, out float level); + private static extern RESULT FMOD5_Channel_Get3DDopplerLevel (IntPtr channel, out float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Set3DDistanceFilter(IntPtr channel, bool custom, float customLevel, float centerFreq); + private static extern RESULT FMOD5_Channel_Set3DDistanceFilter (IntPtr channel, bool custom, float customLevel, float centerFreq); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_Get3DDistanceFilter(IntPtr channel, out bool custom, out float customLevel, out float centerFreq); + private static extern RESULT FMOD5_Channel_Get3DDistanceFilter (IntPtr channel, out bool custom, out float customLevel, out float centerFreq); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_SetUserData(IntPtr channel, IntPtr userdata); + private static extern RESULT FMOD5_Channel_SetUserData (IntPtr channel, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Channel_GetUserData(IntPtr channel, out IntPtr userdata); + private static extern RESULT FMOD5_Channel_GetUserData (IntPtr channel, out IntPtr userdata); #endregion #region wrapperinternal public IntPtr handle; - public Channel(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public Channel(IntPtr ptr) { this.handle = ptr; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -2958,147 +2958,147 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Release(IntPtr channelgroup); + private static extern RESULT FMOD5_ChannelGroup_Release (IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_AddGroup(IntPtr channelgroup, IntPtr group, bool propagatedspclock, IntPtr zero); + private static extern RESULT FMOD5_ChannelGroup_AddGroup (IntPtr channelgroup, IntPtr group, bool propagatedspclock, IntPtr zero); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_AddGroup(IntPtr channelgroup, IntPtr group, bool propagatedspclock, out IntPtr connection); + private static extern RESULT FMOD5_ChannelGroup_AddGroup (IntPtr channelgroup, IntPtr group, bool propagatedspclock, out IntPtr connection); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetNumGroups(IntPtr channelgroup, out int numgroups); + private static extern RESULT FMOD5_ChannelGroup_GetNumGroups (IntPtr channelgroup, out int numgroups); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetGroup(IntPtr channelgroup, int index, out IntPtr group); + private static extern RESULT FMOD5_ChannelGroup_GetGroup (IntPtr channelgroup, int index, out IntPtr group); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetParentGroup(IntPtr channelgroup, out IntPtr group); + private static extern RESULT FMOD5_ChannelGroup_GetParentGroup (IntPtr channelgroup, out IntPtr group); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetName(IntPtr channelgroup, IntPtr name, int namelen); + private static extern RESULT FMOD5_ChannelGroup_GetName (IntPtr channelgroup, IntPtr name, int namelen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetNumChannels(IntPtr channelgroup, out int numchannels); + private static extern RESULT FMOD5_ChannelGroup_GetNumChannels (IntPtr channelgroup, out int numchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetChannel(IntPtr channelgroup, int index, out IntPtr channel); + private static extern RESULT FMOD5_ChannelGroup_GetChannel (IntPtr channelgroup, int index, out IntPtr channel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetSystemObject(IntPtr channelgroup, out IntPtr system); + private static extern RESULT FMOD5_ChannelGroup_GetSystemObject (IntPtr channelgroup, out IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Stop(IntPtr channelgroup); + private static extern RESULT FMOD5_ChannelGroup_Stop (IntPtr channelgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetPaused(IntPtr channelgroup, bool paused); + private static extern RESULT FMOD5_ChannelGroup_SetPaused (IntPtr channelgroup, bool paused); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetPaused(IntPtr channelgroup, out bool paused); + private static extern RESULT FMOD5_ChannelGroup_GetPaused (IntPtr channelgroup, out bool paused); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetVolume(IntPtr channelgroup, float volume); + private static extern RESULT FMOD5_ChannelGroup_SetVolume (IntPtr channelgroup, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetVolume(IntPtr channelgroup, out float volume); + private static extern RESULT FMOD5_ChannelGroup_GetVolume (IntPtr channelgroup, out float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetVolumeRamp(IntPtr channelgroup, bool ramp); + private static extern RESULT FMOD5_ChannelGroup_SetVolumeRamp (IntPtr channelgroup, bool ramp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetVolumeRamp(IntPtr channelgroup, out bool ramp); + private static extern RESULT FMOD5_ChannelGroup_GetVolumeRamp (IntPtr channelgroup, out bool ramp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetAudibility(IntPtr channelgroup, out float audibility); + private static extern RESULT FMOD5_ChannelGroup_GetAudibility (IntPtr channelgroup, out float audibility); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetPitch(IntPtr channelgroup, float pitch); + private static extern RESULT FMOD5_ChannelGroup_SetPitch (IntPtr channelgroup, float pitch); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetPitch(IntPtr channelgroup, out float pitch); + private static extern RESULT FMOD5_ChannelGroup_GetPitch (IntPtr channelgroup, out float pitch); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetMute(IntPtr channelgroup, bool mute); + private static extern RESULT FMOD5_ChannelGroup_SetMute (IntPtr channelgroup, bool mute); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetMute(IntPtr channelgroup, out bool mute); + private static extern RESULT FMOD5_ChannelGroup_GetMute (IntPtr channelgroup, out bool mute); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetReverbProperties(IntPtr channelgroup, int instance, float wet); + private static extern RESULT FMOD5_ChannelGroup_SetReverbProperties (IntPtr channelgroup, int instance, float wet); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetReverbProperties(IntPtr channelgroup, int instance, out float wet); + private static extern RESULT FMOD5_ChannelGroup_GetReverbProperties (IntPtr channelgroup, int instance, out float wet); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetLowPassGain(IntPtr channelgroup, float gain); + private static extern RESULT FMOD5_ChannelGroup_SetLowPassGain (IntPtr channelgroup, float gain); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetLowPassGain(IntPtr channelgroup, out float gain); + private static extern RESULT FMOD5_ChannelGroup_GetLowPassGain (IntPtr channelgroup, out float gain); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetMode(IntPtr channelgroup, MODE mode); + private static extern RESULT FMOD5_ChannelGroup_SetMode (IntPtr channelgroup, MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetMode(IntPtr channelgroup, out MODE mode); + private static extern RESULT FMOD5_ChannelGroup_GetMode (IntPtr channelgroup, out MODE mode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetCallback(IntPtr channelgroup, CHANNELCONTROL_CALLBACK callback); + private static extern RESULT FMOD5_ChannelGroup_SetCallback (IntPtr channelgroup, CHANNELCONTROL_CALLBACK callback); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_IsPlaying(IntPtr channelgroup, out bool isplaying); + private static extern RESULT FMOD5_ChannelGroup_IsPlaying (IntPtr channelgroup, out bool isplaying); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetPan(IntPtr channelgroup, float pan); + private static extern RESULT FMOD5_ChannelGroup_SetPan (IntPtr channelgroup, float pan); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetMixLevelsOutput(IntPtr channelgroup, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); + private static extern RESULT FMOD5_ChannelGroup_SetMixLevelsOutput (IntPtr channelgroup, float frontleft, float frontright, float center, float lfe, float surroundleft, float surroundright, float backleft, float backright); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetMixLevelsInput(IntPtr channelgroup, float[] levels, int numlevels); + private static extern RESULT FMOD5_ChannelGroup_SetMixLevelsInput (IntPtr channelgroup, float[] levels, int numlevels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetMixMatrix(IntPtr channelgroup, float[] matrix, int outchannels, int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_ChannelGroup_SetMixMatrix (IntPtr channelgroup, float[] matrix, int outchannels, int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetMixMatrix(IntPtr channelgroup, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_ChannelGroup_GetMixMatrix (IntPtr channelgroup, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetDSPClock(IntPtr channelgroup, out ulong dspclock, out ulong parentclock); + private static extern RESULT FMOD5_ChannelGroup_GetDSPClock (IntPtr channelgroup, out ulong dspclock, out ulong parentclock); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetDelay(IntPtr channelgroup, ulong dspclock_start, ulong dspclock_end, bool stopchannels); + private static extern RESULT FMOD5_ChannelGroup_SetDelay (IntPtr channelgroup, ulong dspclock_start, ulong dspclock_end, bool stopchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetDelay(IntPtr channelgroup, out ulong dspclock_start, out ulong dspclock_end, IntPtr zero); + private static extern RESULT FMOD5_ChannelGroup_GetDelay (IntPtr channelgroup, out ulong dspclock_start, out ulong dspclock_end, IntPtr zero); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetDelay(IntPtr channelgroup, out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); + private static extern RESULT FMOD5_ChannelGroup_GetDelay (IntPtr channelgroup, out ulong dspclock_start, out ulong dspclock_end, out bool stopchannels); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_AddFadePoint(IntPtr channelgroup, ulong dspclock, float volume); + private static extern RESULT FMOD5_ChannelGroup_AddFadePoint (IntPtr channelgroup, ulong dspclock, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetFadePointRamp(IntPtr channelgroup, ulong dspclock, float volume); + private static extern RESULT FMOD5_ChannelGroup_SetFadePointRamp (IntPtr channelgroup, ulong dspclock, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_RemoveFadePoints(IntPtr channelgroup, ulong dspclock_start, ulong dspclock_end); + private static extern RESULT FMOD5_ChannelGroup_RemoveFadePoints (IntPtr channelgroup, ulong dspclock_start, ulong dspclock_end); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetFadePoints(IntPtr channelgroup, ref uint numpoints, ulong[] point_dspclock, float[] point_volume); + private static extern RESULT FMOD5_ChannelGroup_GetFadePoints (IntPtr channelgroup, ref uint numpoints, ulong[] point_dspclock, float[] point_volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetDSP(IntPtr channelgroup, int index, out IntPtr dsp); + private static extern RESULT FMOD5_ChannelGroup_GetDSP (IntPtr channelgroup, int index, out IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_AddDSP(IntPtr channelgroup, int index, IntPtr dsp); + private static extern RESULT FMOD5_ChannelGroup_AddDSP (IntPtr channelgroup, int index, IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_RemoveDSP(IntPtr channelgroup, IntPtr dsp); + private static extern RESULT FMOD5_ChannelGroup_RemoveDSP (IntPtr channelgroup, IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetNumDSPs(IntPtr channelgroup, out int numdsps); + private static extern RESULT FMOD5_ChannelGroup_GetNumDSPs (IntPtr channelgroup, out int numdsps); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetDSPIndex(IntPtr channelgroup, IntPtr dsp, int index); + private static extern RESULT FMOD5_ChannelGroup_SetDSPIndex (IntPtr channelgroup, IntPtr dsp, int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetDSPIndex(IntPtr channelgroup, IntPtr dsp, out int index); + private static extern RESULT FMOD5_ChannelGroup_GetDSPIndex (IntPtr channelgroup, IntPtr dsp, out int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DAttributes(IntPtr channelgroup, ref VECTOR pos, ref VECTOR vel); + private static extern RESULT FMOD5_ChannelGroup_Set3DAttributes (IntPtr channelgroup, ref VECTOR pos, ref VECTOR vel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DAttributes(IntPtr channelgroup, out VECTOR pos, out VECTOR vel); + private static extern RESULT FMOD5_ChannelGroup_Get3DAttributes (IntPtr channelgroup, out VECTOR pos, out VECTOR vel); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DMinMaxDistance(IntPtr channelgroup, float mindistance, float maxdistance); + private static extern RESULT FMOD5_ChannelGroup_Set3DMinMaxDistance (IntPtr channelgroup, float mindistance, float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DMinMaxDistance(IntPtr channelgroup, out float mindistance, out float maxdistance); + private static extern RESULT FMOD5_ChannelGroup_Get3DMinMaxDistance (IntPtr channelgroup, out float mindistance, out float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DConeSettings(IntPtr channelgroup, float insideconeangle, float outsideconeangle, float outsidevolume); + private static extern RESULT FMOD5_ChannelGroup_Set3DConeSettings (IntPtr channelgroup, float insideconeangle, float outsideconeangle, float outsidevolume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DConeSettings(IntPtr channelgroup, out float insideconeangle, out float outsideconeangle, out float outsidevolume); + private static extern RESULT FMOD5_ChannelGroup_Get3DConeSettings (IntPtr channelgroup, out float insideconeangle, out float outsideconeangle, out float outsidevolume); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_ChannelGroup_Set3DConeOrientation(IntPtr channelgroup, ref VECTOR orientation); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_ChannelGroup_Get3DConeOrientation(IntPtr channelgroup, out VECTOR orientation); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DCustomRolloff(IntPtr channelgroup, ref VECTOR points, int numpoints); + private static extern RESULT FMOD5_ChannelGroup_Set3DCustomRolloff (IntPtr channelgroup, ref VECTOR points, int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DCustomRolloff(IntPtr channelgroup, out IntPtr points, out int numpoints); + private static extern RESULT FMOD5_ChannelGroup_Get3DCustomRolloff (IntPtr channelgroup, out IntPtr points, out int numpoints); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DOcclusion(IntPtr channelgroup, float directocclusion, float reverbocclusion); + private static extern RESULT FMOD5_ChannelGroup_Set3DOcclusion (IntPtr channelgroup, float directocclusion, float reverbocclusion); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DOcclusion(IntPtr channelgroup, out float directocclusion, out float reverbocclusion); + private static extern RESULT FMOD5_ChannelGroup_Get3DOcclusion (IntPtr channelgroup, out float directocclusion, out float reverbocclusion); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DSpread(IntPtr channelgroup, float angle); + private static extern RESULT FMOD5_ChannelGroup_Set3DSpread (IntPtr channelgroup, float angle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DSpread(IntPtr channelgroup, out float angle); + private static extern RESULT FMOD5_ChannelGroup_Get3DSpread (IntPtr channelgroup, out float angle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DLevel(IntPtr channelgroup, float level); + private static extern RESULT FMOD5_ChannelGroup_Set3DLevel (IntPtr channelgroup, float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DLevel(IntPtr channelgroup, out float level); + private static extern RESULT FMOD5_ChannelGroup_Get3DLevel (IntPtr channelgroup, out float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DDopplerLevel(IntPtr channelgroup, float level); + private static extern RESULT FMOD5_ChannelGroup_Set3DDopplerLevel (IntPtr channelgroup, float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DDopplerLevel(IntPtr channelgroup, out float level); + private static extern RESULT FMOD5_ChannelGroup_Get3DDopplerLevel (IntPtr channelgroup, out float level); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Set3DDistanceFilter(IntPtr channelgroup, bool custom, float customLevel, float centerFreq); + private static extern RESULT FMOD5_ChannelGroup_Set3DDistanceFilter (IntPtr channelgroup, bool custom, float customLevel, float centerFreq); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_Get3DDistanceFilter(IntPtr channelgroup, out bool custom, out float customLevel, out float centerFreq); + private static extern RESULT FMOD5_ChannelGroup_Get3DDistanceFilter (IntPtr channelgroup, out bool custom, out float customLevel, out float centerFreq); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_SetUserData(IntPtr channelgroup, IntPtr userdata); + private static extern RESULT FMOD5_ChannelGroup_SetUserData (IntPtr channelgroup, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_ChannelGroup_GetUserData(IntPtr channelgroup, out IntPtr userdata); + private static extern RESULT FMOD5_ChannelGroup_GetUserData (IntPtr channelgroup, out IntPtr userdata); #endregion #region wrapperinternal @@ -3106,8 +3106,8 @@ public IntPtr handle; public ChannelGroup(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3204,39 +3204,39 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_Release(IntPtr soundgroup); + private static extern RESULT FMOD5_SoundGroup_Release (IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetSystemObject(IntPtr soundgroup, out IntPtr system); + private static extern RESULT FMOD5_SoundGroup_GetSystemObject (IntPtr soundgroup, out IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_SetMaxAudible(IntPtr soundgroup, int maxaudible); + private static extern RESULT FMOD5_SoundGroup_SetMaxAudible (IntPtr soundgroup, int maxaudible); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetMaxAudible(IntPtr soundgroup, out int maxaudible); + private static extern RESULT FMOD5_SoundGroup_GetMaxAudible (IntPtr soundgroup, out int maxaudible); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_SetMaxAudibleBehavior(IntPtr soundgroup, SOUNDGROUP_BEHAVIOR behavior); + private static extern RESULT FMOD5_SoundGroup_SetMaxAudibleBehavior (IntPtr soundgroup, SOUNDGROUP_BEHAVIOR behavior); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetMaxAudibleBehavior(IntPtr soundgroup, out SOUNDGROUP_BEHAVIOR behavior); + private static extern RESULT FMOD5_SoundGroup_GetMaxAudibleBehavior (IntPtr soundgroup, out SOUNDGROUP_BEHAVIOR behavior); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_SetMuteFadeSpeed(IntPtr soundgroup, float speed); + private static extern RESULT FMOD5_SoundGroup_SetMuteFadeSpeed (IntPtr soundgroup, float speed); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetMuteFadeSpeed(IntPtr soundgroup, out float speed); + private static extern RESULT FMOD5_SoundGroup_GetMuteFadeSpeed (IntPtr soundgroup, out float speed); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_SetVolume(IntPtr soundgroup, float volume); + private static extern RESULT FMOD5_SoundGroup_SetVolume (IntPtr soundgroup, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetVolume(IntPtr soundgroup, out float volume); + private static extern RESULT FMOD5_SoundGroup_GetVolume (IntPtr soundgroup, out float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_Stop(IntPtr soundgroup); + private static extern RESULT FMOD5_SoundGroup_Stop (IntPtr soundgroup); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetName(IntPtr soundgroup, IntPtr name, int namelen); + private static extern RESULT FMOD5_SoundGroup_GetName (IntPtr soundgroup, IntPtr name, int namelen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetNumSounds(IntPtr soundgroup, out int numsounds); + private static extern RESULT FMOD5_SoundGroup_GetNumSounds (IntPtr soundgroup, out int numsounds); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetSound(IntPtr soundgroup, int index, out IntPtr sound); + private static extern RESULT FMOD5_SoundGroup_GetSound (IntPtr soundgroup, int index, out IntPtr sound); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetNumPlaying(IntPtr soundgroup, out int numplaying); + private static extern RESULT FMOD5_SoundGroup_GetNumPlaying (IntPtr soundgroup, out int numplaying); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_SetUserData(IntPtr soundgroup, IntPtr userdata); + private static extern RESULT FMOD5_SoundGroup_SetUserData (IntPtr soundgroup, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_SoundGroup_GetUserData(IntPtr soundgroup, out IntPtr userdata); + private static extern RESULT FMOD5_SoundGroup_GetUserData (IntPtr soundgroup, out IntPtr userdata); #endregion #region wrapperinternal @@ -3244,8 +3244,8 @@ public IntPtr handle; public SoundGroup(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3463,102 +3463,102 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_Release(IntPtr dsp); + private static extern RESULT FMOD5_DSP_Release (IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetSystemObject(IntPtr dsp, out IntPtr system); + private static extern RESULT FMOD5_DSP_GetSystemObject (IntPtr dsp, out IntPtr system); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_AddInput(IntPtr dsp, IntPtr input, IntPtr zero, DSPCONNECTION_TYPE type); + private static extern RESULT FMOD5_DSP_AddInput (IntPtr dsp, IntPtr input, IntPtr zero, DSPCONNECTION_TYPE type); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_AddInput(IntPtr dsp, IntPtr input, out IntPtr connection, DSPCONNECTION_TYPE type); + private static extern RESULT FMOD5_DSP_AddInput (IntPtr dsp, IntPtr input, out IntPtr connection, DSPCONNECTION_TYPE type); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_DisconnectFrom(IntPtr dsp, IntPtr target, IntPtr connection); + private static extern RESULT FMOD5_DSP_DisconnectFrom (IntPtr dsp, IntPtr target, IntPtr connection); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_DisconnectAll(IntPtr dsp, bool inputs, bool outputs); + private static extern RESULT FMOD5_DSP_DisconnectAll (IntPtr dsp, bool inputs, bool outputs); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetNumInputs(IntPtr dsp, out int numinputs); + private static extern RESULT FMOD5_DSP_GetNumInputs (IntPtr dsp, out int numinputs); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetNumOutputs(IntPtr dsp, out int numoutputs); + private static extern RESULT FMOD5_DSP_GetNumOutputs (IntPtr dsp, out int numoutputs); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetInput(IntPtr dsp, int index, out IntPtr input, out IntPtr inputconnection); + private static extern RESULT FMOD5_DSP_GetInput (IntPtr dsp, int index, out IntPtr input, out IntPtr inputconnection); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetOutput(IntPtr dsp, int index, out IntPtr output, out IntPtr outputconnection); + private static extern RESULT FMOD5_DSP_GetOutput (IntPtr dsp, int index, out IntPtr output, out IntPtr outputconnection); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetActive(IntPtr dsp, bool active); + private static extern RESULT FMOD5_DSP_SetActive (IntPtr dsp, bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetActive(IntPtr dsp, out bool active); + private static extern RESULT FMOD5_DSP_GetActive (IntPtr dsp, out bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetBypass(IntPtr dsp, bool bypass); + private static extern RESULT FMOD5_DSP_SetBypass (IntPtr dsp, bool bypass); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetBypass(IntPtr dsp, out bool bypass); + private static extern RESULT FMOD5_DSP_GetBypass (IntPtr dsp, out bool bypass); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetWetDryMix(IntPtr dsp, float prewet, float postwet, float dry); + private static extern RESULT FMOD5_DSP_SetWetDryMix (IntPtr dsp, float prewet, float postwet, float dry); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetWetDryMix(IntPtr dsp, out float prewet, out float postwet, out float dry); + private static extern RESULT FMOD5_DSP_GetWetDryMix (IntPtr dsp, out float prewet, out float postwet, out float dry); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetChannelFormat(IntPtr dsp, CHANNELMASK channelmask, int numchannels, SPEAKERMODE source_speakermode); + private static extern RESULT FMOD5_DSP_SetChannelFormat (IntPtr dsp, CHANNELMASK channelmask, int numchannels, SPEAKERMODE source_speakermode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetChannelFormat(IntPtr dsp, out CHANNELMASK channelmask, out int numchannels, out SPEAKERMODE source_speakermode); + private static extern RESULT FMOD5_DSP_GetChannelFormat (IntPtr dsp, out CHANNELMASK channelmask, out int numchannels, out SPEAKERMODE source_speakermode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetOutputChannelFormat(IntPtr dsp, CHANNELMASK inmask, int inchannels, SPEAKERMODE inspeakermode, out CHANNELMASK outmask, out int outchannels, out SPEAKERMODE outspeakermode); + private static extern RESULT FMOD5_DSP_GetOutputChannelFormat (IntPtr dsp, CHANNELMASK inmask, int inchannels, SPEAKERMODE inspeakermode, out CHANNELMASK outmask, out int outchannels, out SPEAKERMODE outspeakermode); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_Reset(IntPtr dsp); + private static extern RESULT FMOD5_DSP_Reset (IntPtr dsp); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetCallback(IntPtr dsp, DSP_CALLBACK callback); + private static extern RESULT FMOD5_DSP_SetCallback (IntPtr dsp, DSP_CALLBACK callback); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetParameterFloat(IntPtr dsp, int index, float value); + private static extern RESULT FMOD5_DSP_SetParameterFloat (IntPtr dsp, int index, float value); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetParameterInt(IntPtr dsp, int index, int value); + private static extern RESULT FMOD5_DSP_SetParameterInt (IntPtr dsp, int index, int value); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetParameterBool(IntPtr dsp, int index, bool value); + private static extern RESULT FMOD5_DSP_SetParameterBool (IntPtr dsp, int index, bool value); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetParameterData(IntPtr dsp, int index, IntPtr data, uint length); + private static extern RESULT FMOD5_DSP_SetParameterData (IntPtr dsp, int index, IntPtr data, uint length); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetParameterFloat(IntPtr dsp, int index, out float value, IntPtr valuestr, int valuestrlen); + private static extern RESULT FMOD5_DSP_GetParameterFloat (IntPtr dsp, int index, out float value, IntPtr valuestr, int valuestrlen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetParameterInt(IntPtr dsp, int index, out int value, IntPtr valuestr, int valuestrlen); + private static extern RESULT FMOD5_DSP_GetParameterInt (IntPtr dsp, int index, out int value, IntPtr valuestr, int valuestrlen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetParameterBool(IntPtr dsp, int index, out bool value, IntPtr valuestr, int valuestrlen); + private static extern RESULT FMOD5_DSP_GetParameterBool (IntPtr dsp, int index, out bool value, IntPtr valuestr, int valuestrlen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetParameterData(IntPtr dsp, int index, out IntPtr data, out uint length, IntPtr valuestr, int valuestrlen); + private static extern RESULT FMOD5_DSP_GetParameterData (IntPtr dsp, int index, out IntPtr data, out uint length, IntPtr valuestr, int valuestrlen); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetNumParameters(IntPtr dsp, out int numparams); + private static extern RESULT FMOD5_DSP_GetNumParameters (IntPtr dsp, out int numparams); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetParameterInfo(IntPtr dsp, int index, out IntPtr desc); + private static extern RESULT FMOD5_DSP_GetParameterInfo (IntPtr dsp, int index, out IntPtr desc); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetDataParameterIndex(IntPtr dsp, int datatype, out int index); + private static extern RESULT FMOD5_DSP_GetDataParameterIndex (IntPtr dsp, int datatype, out int index); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_ShowConfigDialog(IntPtr dsp, IntPtr hwnd, bool show); + private static extern RESULT FMOD5_DSP_ShowConfigDialog (IntPtr dsp, IntPtr hwnd, bool show); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetInfo(IntPtr dsp, IntPtr name, out uint version, out int channels, out int configwidth, out int configheight); + private static extern RESULT FMOD5_DSP_GetInfo (IntPtr dsp, IntPtr name, out uint version, out int channels, out int configwidth, out int configheight); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetType(IntPtr dsp, out DSP_TYPE type); + private static extern RESULT FMOD5_DSP_GetType (IntPtr dsp, out DSP_TYPE type); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetIdle(IntPtr dsp, out bool idle); + private static extern RESULT FMOD5_DSP_GetIdle (IntPtr dsp, out bool idle); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_SetUserData(IntPtr dsp, IntPtr userdata); + private static extern RESULT FMOD5_DSP_SetUserData (IntPtr dsp, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSP_GetUserData(IntPtr dsp, out IntPtr userdata); + private static extern RESULT FMOD5_DSP_GetUserData (IntPtr dsp, out IntPtr userdata); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_SetMeteringEnabled(IntPtr dsp, bool inputEnabled, bool outputEnabled); + public static extern RESULT FMOD5_DSP_SetMeteringEnabled (IntPtr dsp, bool inputEnabled, bool outputEnabled); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_GetMeteringEnabled(IntPtr dsp, out bool inputEnabled, out bool outputEnabled); + public static extern RESULT FMOD5_DSP_GetMeteringEnabled (IntPtr dsp, out bool inputEnabled, out bool outputEnabled); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_GetMeteringInfo(IntPtr dsp, IntPtr zero, out DSP_METERING_INFO outputInfo); + public static extern RESULT FMOD5_DSP_GetMeteringInfo (IntPtr dsp, IntPtr zero, out DSP_METERING_INFO outputInfo); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_GetMeteringInfo(IntPtr dsp, out DSP_METERING_INFO inputInfo, IntPtr zero); + public static extern RESULT FMOD5_DSP_GetMeteringInfo (IntPtr dsp, out DSP_METERING_INFO inputInfo, IntPtr zero); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_GetMeteringInfo(IntPtr dsp, out DSP_METERING_INFO inputInfo, out DSP_METERING_INFO outputInfo); + public static extern RESULT FMOD5_DSP_GetMeteringInfo (IntPtr dsp, out DSP_METERING_INFO inputInfo, out DSP_METERING_INFO outputInfo); [DllImport(VERSION.dll)] - public static extern RESULT FMOD5_DSP_GetCPUUsage(IntPtr dsp, out uint exclusive, out uint inclusive); + public static extern RESULT FMOD5_DSP_GetCPUUsage (IntPtr dsp, out uint exclusive, out uint inclusive); #endregion #region wrapperinternal public IntPtr handle; - public DSP(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public DSP(IntPtr ptr) { this.handle = ptr; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3609,23 +3609,23 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetInput(IntPtr dspconnection, out IntPtr input); + private static extern RESULT FMOD5_DSPConnection_GetInput (IntPtr dspconnection, out IntPtr input); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetOutput(IntPtr dspconnection, out IntPtr output); + private static extern RESULT FMOD5_DSPConnection_GetOutput (IntPtr dspconnection, out IntPtr output); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_SetMix(IntPtr dspconnection, float volume); + private static extern RESULT FMOD5_DSPConnection_SetMix (IntPtr dspconnection, float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetMix(IntPtr dspconnection, out float volume); + private static extern RESULT FMOD5_DSPConnection_GetMix (IntPtr dspconnection, out float volume); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_SetMixMatrix(IntPtr dspconnection, float[] matrix, int outchannels, int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_DSPConnection_SetMixMatrix (IntPtr dspconnection, float[] matrix, int outchannels, int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetMixMatrix(IntPtr dspconnection, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); + private static extern RESULT FMOD5_DSPConnection_GetMixMatrix (IntPtr dspconnection, float[] matrix, out int outchannels, out int inchannels, int inchannel_hop); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetType(IntPtr dspconnection, out DSPCONNECTION_TYPE type); + private static extern RESULT FMOD5_DSPConnection_GetType (IntPtr dspconnection, out DSPCONNECTION_TYPE type); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_SetUserData(IntPtr dspconnection, IntPtr userdata); + private static extern RESULT FMOD5_DSPConnection_SetUserData (IntPtr dspconnection, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_DSPConnection_GetUserData(IntPtr dspconnection, out IntPtr userdata); + private static extern RESULT FMOD5_DSPConnection_GetUserData (IntPtr dspconnection, out IntPtr userdata); #endregion #region wrapperinternal @@ -3633,8 +3633,8 @@ public IntPtr handle; public DSPConnection(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3733,45 +3733,45 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_Release(IntPtr geometry); + private static extern RESULT FMOD5_Geometry_Release (IntPtr geometry); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_AddPolygon(IntPtr geometry, float directocclusion, float reverbocclusion, bool doublesided, int numvertices, VECTOR[] vertices, out int polygonindex); + private static extern RESULT FMOD5_Geometry_AddPolygon (IntPtr geometry, float directocclusion, float reverbocclusion, bool doublesided, int numvertices, VECTOR[] vertices, out int polygonindex); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetNumPolygons(IntPtr geometry, out int numpolygons); + private static extern RESULT FMOD5_Geometry_GetNumPolygons (IntPtr geometry, out int numpolygons); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetMaxPolygons(IntPtr geometry, out int maxpolygons, out int maxvertices); + private static extern RESULT FMOD5_Geometry_GetMaxPolygons (IntPtr geometry, out int maxpolygons, out int maxvertices); [DllImport(VERSION.dll)] private static extern RESULT FMOD5_Geometry_GetPolygonNumVertices(IntPtr geometry, int index, out int numvertices); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetPolygonVertex(IntPtr geometry, int index, int vertexindex, ref VECTOR vertex); + private static extern RESULT FMOD5_Geometry_SetPolygonVertex (IntPtr geometry, int index, int vertexindex, ref VECTOR vertex); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetPolygonVertex(IntPtr geometry, int index, int vertexindex, out VECTOR vertex); + private static extern RESULT FMOD5_Geometry_GetPolygonVertex (IntPtr geometry, int index, int vertexindex, out VECTOR vertex); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetPolygonAttributes(IntPtr geometry, int index, float directocclusion, float reverbocclusion, bool doublesided); + private static extern RESULT FMOD5_Geometry_SetPolygonAttributes (IntPtr geometry, int index, float directocclusion, float reverbocclusion, bool doublesided); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetPolygonAttributes(IntPtr geometry, int index, out float directocclusion, out float reverbocclusion, out bool doublesided); + private static extern RESULT FMOD5_Geometry_GetPolygonAttributes (IntPtr geometry, int index, out float directocclusion, out float reverbocclusion, out bool doublesided); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetActive(IntPtr geometry, bool active); + private static extern RESULT FMOD5_Geometry_SetActive (IntPtr geometry, bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetActive(IntPtr geometry, out bool active); + private static extern RESULT FMOD5_Geometry_GetActive (IntPtr geometry, out bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetRotation(IntPtr geometry, ref VECTOR forward, ref VECTOR up); + private static extern RESULT FMOD5_Geometry_SetRotation (IntPtr geometry, ref VECTOR forward, ref VECTOR up); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetRotation(IntPtr geometry, out VECTOR forward, out VECTOR up); + private static extern RESULT FMOD5_Geometry_GetRotation (IntPtr geometry, out VECTOR forward, out VECTOR up); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetPosition(IntPtr geometry, ref VECTOR position); + private static extern RESULT FMOD5_Geometry_SetPosition (IntPtr geometry, ref VECTOR position); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetPosition(IntPtr geometry, out VECTOR position); + private static extern RESULT FMOD5_Geometry_GetPosition (IntPtr geometry, out VECTOR position); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetScale(IntPtr geometry, ref VECTOR scale); + private static extern RESULT FMOD5_Geometry_SetScale (IntPtr geometry, ref VECTOR scale); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetScale(IntPtr geometry, out VECTOR scale); + private static extern RESULT FMOD5_Geometry_GetScale (IntPtr geometry, out VECTOR scale); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_Save(IntPtr geometry, IntPtr data, out int datasize); + private static extern RESULT FMOD5_Geometry_Save (IntPtr geometry, IntPtr data, out int datasize); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_SetUserData(IntPtr geometry, IntPtr userdata); + private static extern RESULT FMOD5_Geometry_SetUserData (IntPtr geometry, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Geometry_GetUserData(IntPtr geometry, out IntPtr userdata); + private static extern RESULT FMOD5_Geometry_GetUserData (IntPtr geometry, out IntPtr userdata); #endregion #region wrapperinternal @@ -3779,8 +3779,8 @@ public IntPtr handle; public Geometry(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3833,23 +3833,23 @@ #region importfunctions [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_Release(IntPtr reverb3d); + private static extern RESULT FMOD5_Reverb3D_Release (IntPtr reverb3d); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_Set3DAttributes(IntPtr reverb3d, ref VECTOR position, float mindistance, float maxdistance); + private static extern RESULT FMOD5_Reverb3D_Set3DAttributes (IntPtr reverb3d, ref VECTOR position, float mindistance, float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_Get3DAttributes(IntPtr reverb3d, ref VECTOR position, ref float mindistance, ref float maxdistance); + private static extern RESULT FMOD5_Reverb3D_Get3DAttributes (IntPtr reverb3d, ref VECTOR position, ref float mindistance, ref float maxdistance); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_SetProperties(IntPtr reverb3d, ref REVERB_PROPERTIES properties); + private static extern RESULT FMOD5_Reverb3D_SetProperties (IntPtr reverb3d, ref REVERB_PROPERTIES properties); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_GetProperties(IntPtr reverb3d, ref REVERB_PROPERTIES properties); + private static extern RESULT FMOD5_Reverb3D_GetProperties (IntPtr reverb3d, ref REVERB_PROPERTIES properties); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_SetActive(IntPtr reverb3d, bool active); + private static extern RESULT FMOD5_Reverb3D_SetActive (IntPtr reverb3d, bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_GetActive(IntPtr reverb3d, out bool active); + private static extern RESULT FMOD5_Reverb3D_GetActive (IntPtr reverb3d, out bool active); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_SetUserData(IntPtr reverb3d, IntPtr userdata); + private static extern RESULT FMOD5_Reverb3D_SetUserData (IntPtr reverb3d, IntPtr userdata); [DllImport(VERSION.dll)] - private static extern RESULT FMOD5_Reverb3D_GetUserData(IntPtr reverb3d, out IntPtr userdata); + private static extern RESULT FMOD5_Reverb3D_GetUserData (IntPtr reverb3d, out IntPtr userdata); #endregion #region wrapperinternal @@ -3857,8 +3857,8 @@ public IntPtr handle; public Reverb3D(IntPtr ptr) { this.handle = ptr; } - public bool hasHandle() { return this.handle != IntPtr.Zero; } - public void clearHandle() { this.handle = IntPtr.Zero; } + public bool hasHandle() { return this.handle != IntPtr.Zero; } + public void clearHandle() { this.handle = IntPtr.Zero; } #endregion } @@ -3934,7 +3934,7 @@ bool inUse; GCHandle gcHandle; - public bool InUse() { return inUse; } + public bool InUse() { return inUse; } public void SetInUse() { inUse = true; } private int roundUpPowerTwo(int number) diff --git a/FMODCoreAPI/fmod_dsp.cs b/FMODCoreAPI/fmod_dsp.cs index 7ad60be..804f97f 100644 --- a/FMODCoreAPI/fmod_dsp.cs +++ b/FMODCoreAPI/fmod_dsp.cs @@ -11,6 +11,7 @@ /* =========================================================================================*/ using System; +using System.Text; using System.Runtime.InteropServices; namespace FMOD @@ -18,11 +19,11 @@ [StructLayout(LayoutKind.Sequential)] public struct DSP_BUFFER_ARRAY { - public int numbuffers; - public int[] buffernumchannels; - public CHANNELMASK[] bufferchannelmask; - public IntPtr[] buffers; - public SPEAKERMODE speakermode; + public int numbuffers; + public int[] buffernumchannels; + public CHANNELMASK[] bufferchannelmask; + public IntPtr[] buffers; + public SPEAKERMODE speakermode; } public enum DSP_PROCESS_OPERATION @@ -48,47 +49,47 @@ /* DSP callbacks */ - public delegate RESULT DSP_CREATE_CALLBACK(ref DSP_STATE dsp_state); - public delegate RESULT DSP_RELEASE_CALLBACK(ref DSP_STATE dsp_state); - public delegate RESULT DSP_RESET_CALLBACK(ref DSP_STATE dsp_state); - public delegate RESULT DSP_SETPOSITION_CALLBACK(ref DSP_STATE dsp_state, uint pos); - public delegate RESULT DSP_READ_CALLBACK(ref DSP_STATE dsp_state, IntPtr inbuffer, IntPtr outbuffer, uint length, int inchannels, ref int outchannels); - public delegate RESULT DSP_SHOULDIPROCESS_CALLBACK(ref DSP_STATE dsp_state, bool inputsidle, uint length, CHANNELMASK inmask, int inchannels, SPEAKERMODE speakermode); - public delegate RESULT DSP_PROCESS_CALLBACK(ref DSP_STATE dsp_state, uint length, ref DSP_BUFFER_ARRAY inbufferarray, ref DSP_BUFFER_ARRAY outbufferarray, bool inputsidle, DSP_PROCESS_OPERATION op); - public delegate RESULT DSP_SETPARAM_FLOAT_CALLBACK(ref DSP_STATE dsp_state, int index, float value); - public delegate RESULT DSP_SETPARAM_INT_CALLBACK(ref DSP_STATE dsp_state, int index, int value); - public delegate RESULT DSP_SETPARAM_BOOL_CALLBACK(ref DSP_STATE dsp_state, int index, bool value); - public delegate RESULT DSP_SETPARAM_DATA_CALLBACK(ref DSP_STATE dsp_state, int index, IntPtr data, uint length); - public delegate RESULT DSP_GETPARAM_FLOAT_CALLBACK(ref DSP_STATE dsp_state, int index, ref float value, IntPtr valuestr); - public delegate RESULT DSP_GETPARAM_INT_CALLBACK(ref DSP_STATE dsp_state, int index, ref int value, IntPtr valuestr); - public delegate RESULT DSP_GETPARAM_BOOL_CALLBACK(ref DSP_STATE dsp_state, int index, ref bool value, IntPtr valuestr); - public delegate RESULT DSP_GETPARAM_DATA_CALLBACK(ref DSP_STATE dsp_state, int index, ref IntPtr data, ref uint length, IntPtr valuestr); - public delegate RESULT DSP_SYSTEM_REGISTER_CALLBACK(ref DSP_STATE dsp_state); - public delegate RESULT DSP_SYSTEM_DEREGISTER_CALLBACK(ref DSP_STATE dsp_state); - public delegate RESULT DSP_SYSTEM_MIX_CALLBACK(ref DSP_STATE dsp_state, int stage); + public delegate RESULT DSP_CREATE_CALLBACK (ref DSP_STATE dsp_state); + public delegate RESULT DSP_RELEASE_CALLBACK (ref DSP_STATE dsp_state); + public delegate RESULT DSP_RESET_CALLBACK (ref DSP_STATE dsp_state); + public delegate RESULT DSP_SETPOSITION_CALLBACK (ref DSP_STATE dsp_state, uint pos); + public delegate RESULT DSP_READ_CALLBACK (ref DSP_STATE dsp_state, IntPtr inbuffer, IntPtr outbuffer, uint length, int inchannels, ref int outchannels); + public delegate RESULT DSP_SHOULDIPROCESS_CALLBACK (ref DSP_STATE dsp_state, bool inputsidle, uint length, CHANNELMASK inmask, int inchannels, SPEAKERMODE speakermode); + public delegate RESULT DSP_PROCESS_CALLBACK (ref DSP_STATE dsp_state, uint length, ref DSP_BUFFER_ARRAY inbufferarray, ref DSP_BUFFER_ARRAY outbufferarray, bool inputsidle, DSP_PROCESS_OPERATION op); + public delegate RESULT DSP_SETPARAM_FLOAT_CALLBACK (ref DSP_STATE dsp_state, int index, float value); + public delegate RESULT DSP_SETPARAM_INT_CALLBACK (ref DSP_STATE dsp_state, int index, int value); + public delegate RESULT DSP_SETPARAM_BOOL_CALLBACK (ref DSP_STATE dsp_state, int index, bool value); + public delegate RESULT DSP_SETPARAM_DATA_CALLBACK (ref DSP_STATE dsp_state, int index, IntPtr data, uint length); + public delegate RESULT DSP_GETPARAM_FLOAT_CALLBACK (ref DSP_STATE dsp_state, int index, ref float value, IntPtr valuestr); + public delegate RESULT DSP_GETPARAM_INT_CALLBACK (ref DSP_STATE dsp_state, int index, ref int value, IntPtr valuestr); + public delegate RESULT DSP_GETPARAM_BOOL_CALLBACK (ref DSP_STATE dsp_state, int index, ref bool value, IntPtr valuestr); + public delegate RESULT DSP_GETPARAM_DATA_CALLBACK (ref DSP_STATE dsp_state, int index, ref IntPtr data, ref uint length, IntPtr valuestr); + public delegate RESULT DSP_SYSTEM_REGISTER_CALLBACK (ref DSP_STATE dsp_state); + public delegate RESULT DSP_SYSTEM_DEREGISTER_CALLBACK (ref DSP_STATE dsp_state); + public delegate RESULT DSP_SYSTEM_MIX_CALLBACK (ref DSP_STATE dsp_state, int stage); /* DSP functions */ - public delegate IntPtr DSP_ALLOC_FUNC(uint size, MEMORY_TYPE type, IntPtr sourcestr); - public delegate IntPtr DSP_REALLOC_FUNC(IntPtr ptr, uint size, MEMORY_TYPE type, IntPtr sourcestr); - public delegate void DSP_FREE_FUNC(IntPtr ptr, MEMORY_TYPE type, IntPtr sourcestr); - public delegate void DSP_LOG_FUNC(DEBUG_FLAGS level, IntPtr file, int line, IntPtr function, IntPtr str); - public delegate RESULT DSP_GETSAMPLERATE_FUNC(ref DSP_STATE dsp_state, ref int rate); - public delegate RESULT DSP_GETBLOCKSIZE_FUNC(ref DSP_STATE dsp_state, ref uint blocksize); - public delegate RESULT DSP_GETSPEAKERMODE_FUNC(ref DSP_STATE dsp_state, ref int speakermode_mixer, ref int speakermode_output); - public delegate RESULT DSP_GETCLOCK_FUNC(ref DSP_STATE dsp_state, out ulong clock, out uint offset, out uint length); - public delegate RESULT DSP_GETLISTENERATTRIBUTES_FUNC(ref DSP_STATE dsp_state, ref int numlisteners, IntPtr attributes); - public delegate RESULT DSP_GETUSERDATA_FUNC(ref DSP_STATE dsp_state, out IntPtr userdata); - public delegate RESULT DSP_DFT_FFTREAL_FUNC(ref DSP_STATE dsp_state, int size, IntPtr signal, IntPtr dft, IntPtr window, int signalhop); - public delegate RESULT DSP_DFT_IFFTREAL_FUNC(ref DSP_STATE dsp_state, int size, IntPtr dft, IntPtr signal, IntPtr window, int signalhop); - public delegate RESULT DSP_PAN_SUMMONOMATRIX_FUNC(ref DSP_STATE dsp_state, int sourceSpeakerMode, float lowFrequencyGain, float overallGain, IntPtr matrix); - public delegate RESULT DSP_PAN_SUMSTEREOMATRIX_FUNC(ref DSP_STATE dsp_state, int sourceSpeakerMode, float pan, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); - public delegate RESULT DSP_PAN_SUMSURROUNDMATRIX_FUNC(ref DSP_STATE dsp_state, int sourceSpeakerMode, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix, DSP_PAN_SURROUND_FLAGS flags); - public delegate RESULT DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC(ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); - public delegate RESULT DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC(ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); - public delegate RESULT DSP_PAN_GETROLLOFFGAIN_FUNC(ref DSP_STATE dsp_state, DSP_PAN_3D_ROLLOFF_TYPE rolloff, float distance, float mindistance, float maxdistance, out float gain); + public delegate IntPtr DSP_ALLOC_FUNC (uint size, MEMORY_TYPE type, IntPtr sourcestr); + public delegate IntPtr DSP_REALLOC_FUNC (IntPtr ptr, uint size, MEMORY_TYPE type, IntPtr sourcestr); + public delegate void DSP_FREE_FUNC (IntPtr ptr, MEMORY_TYPE type, IntPtr sourcestr); + public delegate void DSP_LOG_FUNC (DEBUG_FLAGS level, IntPtr file, int line, IntPtr function, IntPtr str); + public delegate RESULT DSP_GETSAMPLERATE_FUNC (ref DSP_STATE dsp_state, ref int rate); + public delegate RESULT DSP_GETBLOCKSIZE_FUNC (ref DSP_STATE dsp_state, ref uint blocksize); + public delegate RESULT DSP_GETSPEAKERMODE_FUNC (ref DSP_STATE dsp_state, ref int speakermode_mixer, ref int speakermode_output); + public delegate RESULT DSP_GETCLOCK_FUNC (ref DSP_STATE dsp_state, out ulong clock, out uint offset, out uint length); + public delegate RESULT DSP_GETLISTENERATTRIBUTES_FUNC (ref DSP_STATE dsp_state, ref int numlisteners, IntPtr attributes); + public delegate RESULT DSP_GETUSERDATA_FUNC (ref DSP_STATE dsp_state, out IntPtr userdata); + public delegate RESULT DSP_DFT_FFTREAL_FUNC (ref DSP_STATE dsp_state, int size, IntPtr signal, IntPtr dft, IntPtr window, int signalhop); + public delegate RESULT DSP_DFT_IFFTREAL_FUNC (ref DSP_STATE dsp_state, int size, IntPtr dft, IntPtr signal, IntPtr window, int signalhop); + public delegate RESULT DSP_PAN_SUMMONOMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, float lowFrequencyGain, float overallGain, IntPtr matrix); + public delegate RESULT DSP_PAN_SUMSTEREOMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, float pan, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); + public delegate RESULT DSP_PAN_SUMSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int sourceSpeakerMode, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix, DSP_PAN_SURROUND_FLAGS flags); + public delegate RESULT DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); + public delegate RESULT DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC (ref DSP_STATE dsp_state, int targetSpeakerMode, float direction, float extent, float rotation, float lowFrequencyGain, float overallGain, int matrixHop, IntPtr matrix); + public delegate RESULT DSP_PAN_GETROLLOFFGAIN_FUNC (ref DSP_STATE dsp_state, DSP_PAN_3D_ROLLOFF_TYPE rolloff, float distance, float mindistance, float maxdistance, out float gain); public enum DSP_TYPE : int @@ -168,70 +169,70 @@ [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_DESC_FLOAT { - public float min; - public float max; - public float defaultval; + public float min; + public float max; + public float defaultval; public DSP_PARAMETER_FLOAT_MAPPING mapping; } [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_DESC_INT { - public int min; - public int max; - public int defaultval; - public bool goestoinf; - public IntPtr valuenames; + public int min; + public int max; + public int defaultval; + public bool goestoinf; + public IntPtr valuenames; } [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_DESC_BOOL { - public bool defaultval; - public IntPtr valuenames; + public bool defaultval; + public IntPtr valuenames; } [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_DESC_DATA { - public int datatype; + public int datatype; } [StructLayout(LayoutKind.Explicit)] public struct DSP_PARAMETER_DESC_UNION { [FieldOffset(0)] - public DSP_PARAMETER_DESC_FLOAT floatdesc; + public DSP_PARAMETER_DESC_FLOAT floatdesc; [FieldOffset(0)] - public DSP_PARAMETER_DESC_INT intdesc; + public DSP_PARAMETER_DESC_INT intdesc; [FieldOffset(0)] - public DSP_PARAMETER_DESC_BOOL booldesc; + public DSP_PARAMETER_DESC_BOOL booldesc; [FieldOffset(0)] - public DSP_PARAMETER_DESC_DATA datadesc; + public DSP_PARAMETER_DESC_DATA datadesc; } [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_DESC { - public DSP_PARAMETER_TYPE type; + public DSP_PARAMETER_TYPE type; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - public byte[] name; + public byte[] name; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] - public byte[] label; - public string description; + public byte[] label; + public string description; public DSP_PARAMETER_DESC_UNION desc; } public enum DSP_PARAMETER_DATA_TYPE { - DSP_PARAMETER_DATA_TYPE_USER = 0, - DSP_PARAMETER_DATA_TYPE_OVERALLGAIN = -1, - DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2, - DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, - DSP_PARAMETER_DATA_TYPE_FFT = -4, - DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, - DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6 + DSP_PARAMETER_DATA_TYPE_USER = 0, + DSP_PARAMETER_DATA_TYPE_OVERALLGAIN = -1, + DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES = -2, + DSP_PARAMETER_DATA_TYPE_SIDECHAIN = -3, + DSP_PARAMETER_DATA_TYPE_FFT = -4, + DSP_PARAMETER_DATA_TYPE_3DATTRIBUTES_MULTI = -5, + DSP_PARAMETER_DATA_TYPE_ATTENUATION_RANGE = -6 } [StructLayout(LayoutKind.Sequential)] @@ -240,38 +241,38 @@ public float linear_gain; public float linear_gain_additive; } - + [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_3DATTRIBUTES { public ATTRIBUTES_3D relative; public ATTRIBUTES_3D absolute; } - + [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_3DATTRIBUTES_MULTI { - public int numlisteners; + public int numlisteners; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public ATTRIBUTES_3D[] relative; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public float[] weight; public ATTRIBUTES_3D absolute; } - + [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_SIDECHAIN { public int sidechainenable; } - + [StructLayout(LayoutKind.Sequential)] public struct DSP_PARAMETER_FFT { - public int length; - public int numchannels; - - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + public int length; + public int numchannels; + + [MarshalAs(UnmanagedType.ByValArray,SizeConst=32)] private IntPtr[] spectrum_internal; public float[][] spectrum @@ -279,13 +280,13 @@ get { var buffer = new float[numchannels][]; - + for (int i = 0; i < numchannels; ++i) { buffer[i] = new float[length]; Marshal.Copy(spectrum_internal[i], buffer[i], 0, length); } - + return buffer; } } @@ -337,92 +338,92 @@ [StructLayout(LayoutKind.Sequential)] public struct DSP_DESCRIPTION { - public uint pluginsdkversion; + public uint pluginsdkversion; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] - public byte[] name; - public uint version; - public int numinputbuffers; - public int numoutputbuffers; - public DSP_CREATE_CALLBACK create; - public DSP_RELEASE_CALLBACK release; - public DSP_RESET_CALLBACK reset; - public DSP_READ_CALLBACK read; - public DSP_PROCESS_CALLBACK process; - public DSP_SETPOSITION_CALLBACK setposition; + public byte[] name; + public uint version; + public int numinputbuffers; + public int numoutputbuffers; + public DSP_CREATE_CALLBACK create; + public DSP_RELEASE_CALLBACK release; + public DSP_RESET_CALLBACK reset; + public DSP_READ_CALLBACK read; + public DSP_PROCESS_CALLBACK process; + public DSP_SETPOSITION_CALLBACK setposition; - public int numparameters; - public IntPtr paramdesc; - public DSP_SETPARAM_FLOAT_CALLBACK setparameterfloat; - public DSP_SETPARAM_INT_CALLBACK setparameterint; - public DSP_SETPARAM_BOOL_CALLBACK setparameterbool; - public DSP_SETPARAM_DATA_CALLBACK setparameterdata; - public DSP_GETPARAM_FLOAT_CALLBACK getparameterfloat; - public DSP_GETPARAM_INT_CALLBACK getparameterint; - public DSP_GETPARAM_BOOL_CALLBACK getparameterbool; - public DSP_GETPARAM_DATA_CALLBACK getparameterdata; - public DSP_SHOULDIPROCESS_CALLBACK shouldiprocess; - public IntPtr userdata; + public int numparameters; + public IntPtr paramdesc; + public DSP_SETPARAM_FLOAT_CALLBACK setparameterfloat; + public DSP_SETPARAM_INT_CALLBACK setparameterint; + public DSP_SETPARAM_BOOL_CALLBACK setparameterbool; + public DSP_SETPARAM_DATA_CALLBACK setparameterdata; + public DSP_GETPARAM_FLOAT_CALLBACK getparameterfloat; + public DSP_GETPARAM_INT_CALLBACK getparameterint; + public DSP_GETPARAM_BOOL_CALLBACK getparameterbool; + public DSP_GETPARAM_DATA_CALLBACK getparameterdata; + public DSP_SHOULDIPROCESS_CALLBACK shouldiprocess; + public IntPtr userdata; - public DSP_SYSTEM_REGISTER_CALLBACK sys_register; + public DSP_SYSTEM_REGISTER_CALLBACK sys_register; public DSP_SYSTEM_DEREGISTER_CALLBACK sys_deregister; - public DSP_SYSTEM_MIX_CALLBACK sys_mix; + public DSP_SYSTEM_MIX_CALLBACK sys_mix; } [StructLayout(LayoutKind.Sequential)] public struct DSP_STATE_DFT_FUNCTIONS { - public DSP_DFT_FFTREAL_FUNC fftreal; + public DSP_DFT_FFTREAL_FUNC fftreal; public DSP_DFT_IFFTREAL_FUNC inversefftreal; } [StructLayout(LayoutKind.Sequential)] public struct DSP_STATE_PAN_FUNCTIONS { - public DSP_PAN_SUMMONOMATRIX_FUNC summonomatrix; - public DSP_PAN_SUMSTEREOMATRIX_FUNC sumstereomatrix; - public DSP_PAN_SUMSURROUNDMATRIX_FUNC sumsurroundmatrix; - public DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC summonotosurroundmatrix; + public DSP_PAN_SUMMONOMATRIX_FUNC summonomatrix; + public DSP_PAN_SUMSTEREOMATRIX_FUNC sumstereomatrix; + public DSP_PAN_SUMSURROUNDMATRIX_FUNC sumsurroundmatrix; + public DSP_PAN_SUMMONOTOSURROUNDMATRIX_FUNC summonotosurroundmatrix; public DSP_PAN_SUMSTEREOTOSURROUNDMATRIX_FUNC sumstereotosurroundmatrix; - public DSP_PAN_GETROLLOFFGAIN_FUNC getrolloffgain; + public DSP_PAN_GETROLLOFFGAIN_FUNC getrolloffgain; } [StructLayout(LayoutKind.Sequential)] public struct DSP_STATE_FUNCTIONS { - public DSP_ALLOC_FUNC alloc; - public DSP_REALLOC_FUNC realloc; - public DSP_FREE_FUNC free; - public DSP_GETSAMPLERATE_FUNC getsamplerate; - public DSP_GETBLOCKSIZE_FUNC getblocksize; - public IntPtr dft; - public IntPtr pan; - public DSP_GETSPEAKERMODE_FUNC getspeakermode; - public DSP_GETCLOCK_FUNC getclock; - public DSP_GETLISTENERATTRIBUTES_FUNC getlistenerattributes; - public DSP_LOG_FUNC log; - public DSP_GETUSERDATA_FUNC getuserdata; + public DSP_ALLOC_FUNC alloc; + public DSP_REALLOC_FUNC realloc; + public DSP_FREE_FUNC free; + public DSP_GETSAMPLERATE_FUNC getsamplerate; + public DSP_GETBLOCKSIZE_FUNC getblocksize; + public IntPtr dft; + public IntPtr pan; + public DSP_GETSPEAKERMODE_FUNC getspeakermode; + public DSP_GETCLOCK_FUNC getclock; + public DSP_GETLISTENERATTRIBUTES_FUNC getlistenerattributes; + public DSP_LOG_FUNC log; + public DSP_GETUSERDATA_FUNC getuserdata; } [StructLayout(LayoutKind.Sequential)] public struct DSP_STATE { - public IntPtr instance; - public IntPtr plugindata; - public uint channelmask; - public int source_speakermode; - public IntPtr sidechaindata; - public int sidechainchannels; - public IntPtr functions; - public int systemobject; + public IntPtr instance; + public IntPtr plugindata; + public uint channelmask; + public int source_speakermode; + public IntPtr sidechaindata; + public int sidechainchannels; + public IntPtr functions; + public int systemobject; } [StructLayout(LayoutKind.Sequential)] public struct DSP_METERING_INFO { - public int numsamples; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + public int numsamples; + [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)] public float[] peaklevel; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] + [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)] public float[] rmslevel; public short numchannels; } diff --git a/FMODCoreAPI/fmod_errors.cs b/FMODCoreAPI/fmod_errors.cs index 6428941..5276112 100644 --- a/FMODCoreAPI/fmod_errors.cs +++ b/FMODCoreAPI/fmod_errors.cs @@ -17,89 +17,89 @@ { switch (errcode) { - case FMOD.RESULT.OK: return "No errors."; - case FMOD.RESULT.ERR_BADCOMMAND: return "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound)."; - case FMOD.RESULT.ERR_CHANNEL_ALLOC: return "Error trying to allocate a channel."; - case FMOD.RESULT.ERR_CHANNEL_STOLEN: return "The specified channel has been reused to play another sound."; - case FMOD.RESULT.ERR_DMA: return "DMA Failure. See debug output for more information."; - case FMOD.RESULT.ERR_DSP_CONNECTION: return "DSP connection error. Connection possibly caused a cyclic dependency or connected dsps with incompatible buffer counts."; - case FMOD.RESULT.ERR_DSP_DONTPROCESS: return "DSP return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph."; - case FMOD.RESULT.ERR_DSP_FORMAT: return "DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map."; - case FMOD.RESULT.ERR_DSP_INUSE: return "DSP is already in the mixer's DSP network. It must be removed before being reinserted or released."; - case FMOD.RESULT.ERR_DSP_NOTFOUND: return "DSP connection error. Couldn't find the DSP unit specified."; - case FMOD.RESULT.ERR_DSP_RESERVED: return "DSP operation error. Cannot perform operation on this DSP as it is reserved by the system."; - case FMOD.RESULT.ERR_DSP_SILENCE: return "DSP return code from a DSP process query callback. Tells mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph."; - case FMOD.RESULT.ERR_DSP_TYPE: return "DSP operation cannot be performed on a DSP of this type."; - case FMOD.RESULT.ERR_FILE_BAD: return "Error loading file."; - case FMOD.RESULT.ERR_FILE_COULDNOTSEEK: return "Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format."; - case FMOD.RESULT.ERR_FILE_DISKEJECTED: return "Media was ejected while reading."; - case FMOD.RESULT.ERR_FILE_EOF: return "End of file unexpectedly reached while trying to read essential data (truncated?)."; - case FMOD.RESULT.ERR_FILE_ENDOFDATA: return "End of current chunk reached while trying to read data."; - case FMOD.RESULT.ERR_FILE_NOTFOUND: return "File not found."; - case FMOD.RESULT.ERR_FORMAT: return "Unsupported file or audio format."; - case FMOD.RESULT.ERR_HEADER_MISMATCH: return "There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Low Level library."; - case FMOD.RESULT.ERR_HTTP: return "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere."; - case FMOD.RESULT.ERR_HTTP_ACCESS: return "The specified resource requires authentication or is forbidden."; - case FMOD.RESULT.ERR_HTTP_PROXY_AUTH: return "Proxy authentication is required to access the specified resource."; - case FMOD.RESULT.ERR_HTTP_SERVER_ERROR: return "A HTTP server error occurred."; - case FMOD.RESULT.ERR_HTTP_TIMEOUT: return "The HTTP request timed out."; - case FMOD.RESULT.ERR_INITIALIZATION: return "FMOD was not initialized correctly to support this function."; - case FMOD.RESULT.ERR_INITIALIZED: return "Cannot call this command after System::init."; - case FMOD.RESULT.ERR_INTERNAL: return "An error occured in the FMOD system. Use the logging version of FMOD for more information."; - case FMOD.RESULT.ERR_INVALID_FLOAT: return "Value passed in was a NaN, Inf or denormalized float."; - case FMOD.RESULT.ERR_INVALID_HANDLE: return "An invalid object handle was used."; - case FMOD.RESULT.ERR_INVALID_PARAM: return "An invalid parameter was passed to this function."; - case FMOD.RESULT.ERR_INVALID_POSITION: return "An invalid seek position was passed to this function."; - case FMOD.RESULT.ERR_INVALID_SPEAKER: return "An invalid speaker was passed to this function based on the current speaker mode."; - case FMOD.RESULT.ERR_INVALID_SYNCPOINT: return "The syncpoint did not come from this sound handle."; - case FMOD.RESULT.ERR_INVALID_THREAD: return "Tried to call a function on a thread that is not supported."; - case FMOD.RESULT.ERR_INVALID_VECTOR: return "The vectors passed in are not unit length, or perpendicular."; - case FMOD.RESULT.ERR_MAXAUDIBLE: return "Reached maximum audible playback count for this sound's soundgroup."; - case FMOD.RESULT.ERR_MEMORY: return "Not enough memory or resources."; - case FMOD.RESULT.ERR_MEMORY_CANTPOINT: return "Can't use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."; - case FMOD.RESULT.ERR_NEEDS3D: return "Tried to call a command on a 2d sound when the command was meant for 3d sound."; - case FMOD.RESULT.ERR_NEEDSHARDWARE: return "Tried to use a feature that requires hardware support."; - case FMOD.RESULT.ERR_NET_CONNECT: return "Couldn't connect to the specified host."; - case FMOD.RESULT.ERR_NET_SOCKET_ERROR: return "A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere."; - case FMOD.RESULT.ERR_NET_URL: return "The specified URL couldn't be resolved."; - case FMOD.RESULT.ERR_NET_WOULD_BLOCK: return "Operation on a non-blocking socket could not complete immediately."; - case FMOD.RESULT.ERR_NOTREADY: return "Operation could not be performed because specified sound/DSP connection is not ready."; - case FMOD.RESULT.ERR_OUTPUT_ALLOCATED: return "Error initializing output device, but more specifically, the output device is already in use and cannot be reused."; - case FMOD.RESULT.ERR_OUTPUT_CREATEBUFFER: return "Error creating hardware sound buffer."; - case FMOD.RESULT.ERR_OUTPUT_DRIVERCALL: return "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted."; - case FMOD.RESULT.ERR_OUTPUT_FORMAT: return "Soundcard does not support the specified format."; - case FMOD.RESULT.ERR_OUTPUT_INIT: return "Error initializing output device."; - case FMOD.RESULT.ERR_OUTPUT_NODRIVERS: return "The output device has no drivers installed. If pre-init, FMOD_OUTPUT_NOSOUND is selected as the output mode. If post-init, the function just fails."; - case FMOD.RESULT.ERR_PLUGIN: return "An unspecified error has been returned from a plugin."; - case FMOD.RESULT.ERR_PLUGIN_MISSING: return "A requested output, dsp unit type or codec was not available."; - case FMOD.RESULT.ERR_PLUGIN_RESOURCE: return "A resource that the plugin requires cannot be allocated or found. (ie the DLS file for MIDI playback)"; - case FMOD.RESULT.ERR_PLUGIN_VERSION: return "A plugin was built with an unsupported SDK version."; - case FMOD.RESULT.ERR_RECORD: return "An error occurred trying to initialize the recording device."; - case FMOD.RESULT.ERR_REVERB_CHANNELGROUP: return "Reverb properties cannot be set on this channel because a parent channelgroup owns the reverb connection."; - case FMOD.RESULT.ERR_REVERB_INSTANCE: return "Specified instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist."; - case FMOD.RESULT.ERR_SUBSOUNDS: return "The error occurred because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound."; - case FMOD.RESULT.ERR_SUBSOUND_ALLOCATED: return "This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first."; - case FMOD.RESULT.ERR_SUBSOUND_CANTMOVE: return "Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file."; - case FMOD.RESULT.ERR_TAGNOTFOUND: return "The specified tag could not be found or there are no tags."; - case FMOD.RESULT.ERR_TOOMANYCHANNELS: return "The sound created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in System::setSoftwareFormat."; - case FMOD.RESULT.ERR_TRUNCATED: return "The retrieved string is too long to fit in the supplied buffer and has been truncated."; - case FMOD.RESULT.ERR_UNIMPLEMENTED: return "Something in FMOD hasn't been implemented when it should be. Contact support."; - case FMOD.RESULT.ERR_UNINITIALIZED: return "This command failed because System::init or System::setDriver was not called."; - case FMOD.RESULT.ERR_UNSUPPORTED: return "A command issued was not supported by this object. Possibly a plugin without certain callbacks specified."; - case FMOD.RESULT.ERR_VERSION: return "The version number of this file format is not supported."; - case FMOD.RESULT.ERR_EVENT_ALREADY_LOADED: return "The specified bank has already been loaded."; - case FMOD.RESULT.ERR_EVENT_LIVEUPDATE_BUSY: return "The live update connection failed due to the game already being connected."; + case FMOD.RESULT.OK: return "No errors."; + case FMOD.RESULT.ERR_BADCOMMAND: return "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound)."; + case FMOD.RESULT.ERR_CHANNEL_ALLOC: return "Error trying to allocate a channel."; + case FMOD.RESULT.ERR_CHANNEL_STOLEN: return "The specified channel has been reused to play another sound."; + case FMOD.RESULT.ERR_DMA: return "DMA Failure. See debug output for more information."; + case FMOD.RESULT.ERR_DSP_CONNECTION: return "DSP connection error. Connection possibly caused a cyclic dependency or connected dsps with incompatible buffer counts."; + case FMOD.RESULT.ERR_DSP_DONTPROCESS: return "DSP return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph."; + case FMOD.RESULT.ERR_DSP_FORMAT: return "DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map."; + case FMOD.RESULT.ERR_DSP_INUSE: return "DSP is already in the mixer's DSP network. It must be removed before being reinserted or released."; + case FMOD.RESULT.ERR_DSP_NOTFOUND: return "DSP connection error. Couldn't find the DSP unit specified."; + case FMOD.RESULT.ERR_DSP_RESERVED: return "DSP operation error. Cannot perform operation on this DSP as it is reserved by the system."; + case FMOD.RESULT.ERR_DSP_SILENCE: return "DSP return code from a DSP process query callback. Tells mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph."; + case FMOD.RESULT.ERR_DSP_TYPE: return "DSP operation cannot be performed on a DSP of this type."; + case FMOD.RESULT.ERR_FILE_BAD: return "Error loading file."; + case FMOD.RESULT.ERR_FILE_COULDNOTSEEK: return "Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format."; + case FMOD.RESULT.ERR_FILE_DISKEJECTED: return "Media was ejected while reading."; + case FMOD.RESULT.ERR_FILE_EOF: return "End of file unexpectedly reached while trying to read essential data (truncated?)."; + case FMOD.RESULT.ERR_FILE_ENDOFDATA: return "End of current chunk reached while trying to read data."; + case FMOD.RESULT.ERR_FILE_NOTFOUND: return "File not found."; + case FMOD.RESULT.ERR_FORMAT: return "Unsupported file or audio format."; + case FMOD.RESULT.ERR_HEADER_MISMATCH: return "There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Low Level library."; + case FMOD.RESULT.ERR_HTTP: return "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere."; + case FMOD.RESULT.ERR_HTTP_ACCESS: return "The specified resource requires authentication or is forbidden."; + case FMOD.RESULT.ERR_HTTP_PROXY_AUTH: return "Proxy authentication is required to access the specified resource."; + case FMOD.RESULT.ERR_HTTP_SERVER_ERROR: return "A HTTP server error occurred."; + case FMOD.RESULT.ERR_HTTP_TIMEOUT: return "The HTTP request timed out."; + case FMOD.RESULT.ERR_INITIALIZATION: return "FMOD was not initialized correctly to support this function."; + case FMOD.RESULT.ERR_INITIALIZED: return "Cannot call this command after System::init."; + case FMOD.RESULT.ERR_INTERNAL: return "An error occured in the FMOD system. Use the logging version of FMOD for more information."; + case FMOD.RESULT.ERR_INVALID_FLOAT: return "Value passed in was a NaN, Inf or denormalized float."; + case FMOD.RESULT.ERR_INVALID_HANDLE: return "An invalid object handle was used."; + case FMOD.RESULT.ERR_INVALID_PARAM: return "An invalid parameter was passed to this function."; + case FMOD.RESULT.ERR_INVALID_POSITION: return "An invalid seek position was passed to this function."; + case FMOD.RESULT.ERR_INVALID_SPEAKER: return "An invalid speaker was passed to this function based on the current speaker mode."; + case FMOD.RESULT.ERR_INVALID_SYNCPOINT: return "The syncpoint did not come from this sound handle."; + case FMOD.RESULT.ERR_INVALID_THREAD: return "Tried to call a function on a thread that is not supported."; + case FMOD.RESULT.ERR_INVALID_VECTOR: return "The vectors passed in are not unit length, or perpendicular."; + case FMOD.RESULT.ERR_MAXAUDIBLE: return "Reached maximum audible playback count for this sound's soundgroup."; + case FMOD.RESULT.ERR_MEMORY: return "Not enough memory or resources."; + case FMOD.RESULT.ERR_MEMORY_CANTPOINT: return "Can't use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."; + case FMOD.RESULT.ERR_NEEDS3D: return "Tried to call a command on a 2d sound when the command was meant for 3d sound."; + case FMOD.RESULT.ERR_NEEDSHARDWARE: return "Tried to use a feature that requires hardware support."; + case FMOD.RESULT.ERR_NET_CONNECT: return "Couldn't connect to the specified host."; + case FMOD.RESULT.ERR_NET_SOCKET_ERROR: return "A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere."; + case FMOD.RESULT.ERR_NET_URL: return "The specified URL couldn't be resolved."; + case FMOD.RESULT.ERR_NET_WOULD_BLOCK: return "Operation on a non-blocking socket could not complete immediately."; + case FMOD.RESULT.ERR_NOTREADY: return "Operation could not be performed because specified sound/DSP connection is not ready."; + case FMOD.RESULT.ERR_OUTPUT_ALLOCATED: return "Error initializing output device, but more specifically, the output device is already in use and cannot be reused."; + case FMOD.RESULT.ERR_OUTPUT_CREATEBUFFER: return "Error creating hardware sound buffer."; + case FMOD.RESULT.ERR_OUTPUT_DRIVERCALL: return "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted."; + case FMOD.RESULT.ERR_OUTPUT_FORMAT: return "Soundcard does not support the specified format."; + case FMOD.RESULT.ERR_OUTPUT_INIT: return "Error initializing output device."; + case FMOD.RESULT.ERR_OUTPUT_NODRIVERS: return "The output device has no drivers installed. If pre-init, FMOD_OUTPUT_NOSOUND is selected as the output mode. If post-init, the function just fails."; + case FMOD.RESULT.ERR_PLUGIN: return "An unspecified error has been returned from a plugin."; + case FMOD.RESULT.ERR_PLUGIN_MISSING: return "A requested output, dsp unit type or codec was not available."; + case FMOD.RESULT.ERR_PLUGIN_RESOURCE: return "A resource that the plugin requires cannot be allocated or found. (ie the DLS file for MIDI playback)"; + case FMOD.RESULT.ERR_PLUGIN_VERSION: return "A plugin was built with an unsupported SDK version."; + case FMOD.RESULT.ERR_RECORD: return "An error occurred trying to initialize the recording device."; + case FMOD.RESULT.ERR_REVERB_CHANNELGROUP: return "Reverb properties cannot be set on this channel because a parent channelgroup owns the reverb connection."; + case FMOD.RESULT.ERR_REVERB_INSTANCE: return "Specified instance in FMOD_REVERB_PROPERTIES couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist."; + case FMOD.RESULT.ERR_SUBSOUNDS: return "The error occurred because the sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent sound."; + case FMOD.RESULT.ERR_SUBSOUND_ALLOCATED: return "This subsound is already being used by another sound, you cannot have more than one parent to a sound. Null out the other parent's entry first."; + case FMOD.RESULT.ERR_SUBSOUND_CANTMOVE: return "Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file."; + case FMOD.RESULT.ERR_TAGNOTFOUND: return "The specified tag could not be found or there are no tags."; + case FMOD.RESULT.ERR_TOOMANYCHANNELS: return "The sound created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in System::setSoftwareFormat."; + case FMOD.RESULT.ERR_TRUNCATED: return "The retrieved string is too long to fit in the supplied buffer and has been truncated."; + case FMOD.RESULT.ERR_UNIMPLEMENTED: return "Something in FMOD hasn't been implemented when it should be. Contact support."; + case FMOD.RESULT.ERR_UNINITIALIZED: return "This command failed because System::init or System::setDriver was not called."; + case FMOD.RESULT.ERR_UNSUPPORTED: return "A command issued was not supported by this object. Possibly a plugin without certain callbacks specified."; + case FMOD.RESULT.ERR_VERSION: return "The version number of this file format is not supported."; + case FMOD.RESULT.ERR_EVENT_ALREADY_LOADED: return "The specified bank has already been loaded."; + case FMOD.RESULT.ERR_EVENT_LIVEUPDATE_BUSY: return "The live update connection failed due to the game already being connected."; case FMOD.RESULT.ERR_EVENT_LIVEUPDATE_MISMATCH: return "The live update connection failed due to the game data being out of sync with the tool."; - case FMOD.RESULT.ERR_EVENT_LIVEUPDATE_TIMEOUT: return "The live update connection timed out."; - case FMOD.RESULT.ERR_EVENT_NOTFOUND: return "The requested event, bus or vca could not be found."; - case FMOD.RESULT.ERR_STUDIO_UNINITIALIZED: return "The Studio::System object is not yet initialized."; - case FMOD.RESULT.ERR_STUDIO_NOT_LOADED: return "The specified resource is not loaded, so it can't be unloaded."; - case FMOD.RESULT.ERR_INVALID_STRING: return "An invalid string was passed to this function."; - case FMOD.RESULT.ERR_ALREADY_LOCKED: return "The specified resource is already locked."; - case FMOD.RESULT.ERR_NOT_LOCKED: return "The specified resource is not locked, so it can't be unlocked."; - case FMOD.RESULT.ERR_RECORD_DISCONNECTED: return "The specified recording driver has been disconnected."; - case FMOD.RESULT.ERR_TOOMANYSAMPLES: return "The length provided exceed the allowable limit."; - default: return "Unknown error."; + case FMOD.RESULT.ERR_EVENT_LIVEUPDATE_TIMEOUT: return "The live update connection timed out."; + case FMOD.RESULT.ERR_EVENT_NOTFOUND: return "The requested event, bus or vca could not be found."; + case FMOD.RESULT.ERR_STUDIO_UNINITIALIZED: return "The Studio::System object is not yet initialized."; + case FMOD.RESULT.ERR_STUDIO_NOT_LOADED: return "The specified resource is not loaded, so it can't be unloaded."; + case FMOD.RESULT.ERR_INVALID_STRING: return "An invalid string was passed to this function."; + case FMOD.RESULT.ERR_ALREADY_LOCKED: return "The specified resource is already locked."; + case FMOD.RESULT.ERR_NOT_LOCKED: return "The specified resource is not locked, so it can't be unlocked."; + case FMOD.RESULT.ERR_RECORD_DISCONNECTED: return "The specified recording driver has been disconnected."; + case FMOD.RESULT.ERR_TOOMANYSAMPLES: return "The length provided exceed the allowable limit."; + default: return "Unknown error."; } } } diff --git a/Qwilight/Note/LongNote.cs b/Qwilight/Note/LongNote.cs index 6380ff3..aefd6f0 100644 --- a/Qwilight/Note/LongNote.cs +++ b/Qwilight/Note/LongNote.cs @@ -116,7 +116,7 @@ if (longHeight > 0.0) { r.Set(notePosition, y - pointHeight - longNoteTailContentsHeight, noteLength, longHeight); - PaintLongNoteContents(ref r); + PaintLongNoteContents(ref r, LongNoteHandling); r.Set(notePosition, y - pointHeight - Math.Max(0.0, longNoteTailEdgeHeight) - longNoteTailEdgePosition, noteLength, Math.Abs(longNoteTailEdgeHeight)); PaintLongNoteTail(ref r); @@ -136,7 +136,7 @@ if (longNoteContentsHeight > 0.0) { r.Set(notePosition, y - pointHeight - longNoteTailContentsHeight, noteLength, longNoteContentsHeight); - PaintLongNoteContents(ref r); + PaintLongNoteContents(ref r, IsFailed ? LongNoteFailed : LongNoteBefore); r.Set(notePosition, y - pointHeight - Math.Max(0.0, longNoteTailEdgeHeight) - longNoteTailEdgePosition, noteLength, Math.Abs(longNoteTailEdgeHeight)); PaintLongNoteTail(ref r); @@ -145,11 +145,11 @@ PaintLongNoteFront(ref r); } - void PaintLongNoteContents(ref Bound r) + void PaintLongNoteContents(ref Bound r, int longNoteStatus) { if (r.Position1 + r.Height > 0.0) { - var longNoteDrawing = longNoteDrawings?[LongNoteContents]?[IsFailed ? LongNoteFailed : LongNoteBefore]; + var longNoteDrawing = longNoteDrawings?[LongNoteContents]?[longNoteStatus]; if (longNoteDrawing.HasValue) { targetSession.PaintDrawing(ref r, longNoteDrawing, faint); diff --git a/Qwilight/Qwilight.csproj b/Qwilight/Qwilight.csproj index 1c54f8e..25f20f1 100644 --- a/Qwilight/Qwilight.csproj +++ b/Qwilight/Qwilight.csproj @@ -10,13 +10,14 @@ Qwilight.ico Taehui 불로그 - 1.16.41 + 1.16.42 true enable true None true 10.0.22621.44 + false Qwilight.View.QwilightClass app.manifest true @@ -42,14 +43,14 @@ - + - + @@ -62,7 +63,7 @@ - + diff --git a/Qwilight/System/DefaultControllerSystem/DefaultSystem.cs b/Qwilight/System/DefaultControllerSystem/DefaultSystem.cs index 5e5bdee..c456161 100644 --- a/Qwilight/System/DefaultControllerSystem/DefaultSystem.cs +++ b/Qwilight/System/DefaultControllerSystem/DefaultSystem.cs @@ -51,7 +51,7 @@ } }, (uint)Marshal.SizeOf()); - while (PInvoke.GetMessage(out var lpMsg, _handle, PInvoke.WM_INPUT, PInvoke.WM_INPUT) != 0) + while (PInvoke.GetMessage(out var lpMsg, _handle, PInvoke.WM_INPUT, PInvoke.WM_INPUT) > 0) { try { diff --git a/Test/Test.csproj b/Test/Test.csproj index 7b9844c..dc49666 100644 --- a/Test/Test.csproj +++ b/Test/Test.csproj @@ -25,7 +25,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all