From 63a31c491d65cefc2b950efff7110371140330ba Mon Sep 17 00:00:00 2001 From: Harrison Date: Sun, 5 Jul 2020 22:50:54 -0500 Subject: [PATCH] So loud added, changed how dependencies are organized. --- .../Audio/soloud.cs | 876 +++++++++--------- .../Exceptions/FrameworkSDLException.cs | 21 - .../Exceptions/InternalFrameworkException.cs | 9 +- .../Exceptions/SDLException.cs | 2 +- .../Exceptions/SoLoudException.cs | 20 + src/SlatedGameToolkit.Framework/GameEngine.cs | 42 +- .../Graphics/OpenGL/GLContext.cs | 3 +- .../Graphics/Window/WindowContext.cs | 6 +- .../SlatedGameToolkit.Framework.csproj | 1 - src/SlatedGameToolkit.Framework/deps/SDL2.dll | Bin 1471488 -> 0 bytes .../deps/soloud_x86.dll | Bin 680448 -> 0 bytes 11 files changed, 516 insertions(+), 464 deletions(-) delete mode 100644 src/SlatedGameToolkit.Framework/Exceptions/FrameworkSDLException.cs create mode 100644 src/SlatedGameToolkit.Framework/Exceptions/SoLoudException.cs delete mode 100644 src/SlatedGameToolkit.Framework/deps/SDL2.dll delete mode 100644 src/SlatedGameToolkit.Framework/deps/soloud_x86.dll diff --git a/src/SlatedGameToolkit.Framework/Audio/soloud.cs b/src/SlatedGameToolkit.Framework/Audio/soloud.cs index 0a9c7c1..d3e6613 100644 --- a/src/SlatedGameToolkit.Framework/Audio/soloud.cs +++ b/src/SlatedGameToolkit.Framework/Audio/soloud.cs @@ -4,7 +4,6 @@ using System; using System.Runtime.InteropServices; -using System.Text; namespace SoLoud { @@ -18,6 +17,8 @@ public class SoloudObject public class Soloud : SoloudObject { + private const string nativeLibName = "soloud"; + public const uint SOLOUD_VER = 202002; public const int AUTO = 0; public const int SDL1 = 1; public const int SDL2 = 2; @@ -41,42 +42,42 @@ public class Soloud : SoloudObject public const int LEFT_HANDED_3D = 4; public const int NO_FPU_REGISTER_CHANGE = 8; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_create(); public Soloud() { objhandle = Soloud_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_destroy(IntPtr aObjHandle); ~Soloud() { Soloud_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_initEx(IntPtr aObjHandle, uint aFlags, uint aBackend, uint aSamplerate, uint aBufferSize, uint aChannels); public int init(uint aFlags = CLIP_ROUNDOFF, uint aBackend = AUTO, uint aSamplerate = AUTO, uint aBufferSize = AUTO, uint aChannels = 2) { return Soloud_initEx(objhandle, aFlags, aBackend, aSamplerate, aBufferSize, aChannels); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_deinit(IntPtr aObjHandle); public void deinit() { Soloud_deinit(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getVersion(IntPtr aObjHandle); public uint getVersion() { return Soloud_getVersion(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_getErrorString(IntPtr aObjHandle, int aErrorCode); public string getErrorString(int aErrorCode) { @@ -84,14 +85,14 @@ public class Soloud : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getBackendId(IntPtr aObjHandle); public uint getBackendId() { return Soloud_getBackendId(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_getBackendString(IntPtr aObjHandle); public string getBackendString() { @@ -99,448 +100,448 @@ public class Soloud : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getBackendChannels(IntPtr aObjHandle); public uint getBackendChannels() { return Soloud_getBackendChannels(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getBackendSamplerate(IntPtr aObjHandle); public uint getBackendSamplerate() { return Soloud_getBackendSamplerate(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getBackendBufferSize(IntPtr aObjHandle); public uint getBackendBufferSize() { return Soloud_getBackendBufferSize(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_setSpeakerPosition(IntPtr aObjHandle, uint aChannel, float aX, float aY, float aZ); public int setSpeakerPosition(uint aChannel, float aX, float aY, float aZ) { return Soloud_setSpeakerPosition(objhandle, aChannel, aX, aY, aZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_getSpeakerPosition(IntPtr aObjHandle, uint aChannel, float[] aX, float[] aY, float[] aZ); public int getSpeakerPosition(uint aChannel, float[] aX, float[] aY, float[] aZ) { return Soloud_getSpeakerPosition(objhandle, aChannel, aX, aY, aZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_playEx(IntPtr aObjHandle, IntPtr aSound, float aVolume, float aPan, int aPaused, uint aBus); public uint play(SoloudObject aSound, float aVolume = -1.0f, float aPan = 0.0f, int aPaused = 0, uint aBus = 0) { return Soloud_playEx(objhandle, aSound.objhandle, aVolume, aPan, aPaused, aBus); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_playClockedEx(IntPtr aObjHandle, double aSoundTime, IntPtr aSound, float aVolume, float aPan, uint aBus); public uint playClocked(double aSoundTime, SoloudObject aSound, float aVolume = -1.0f, float aPan = 0.0f, uint aBus = 0) { return Soloud_playClockedEx(objhandle, aSoundTime, aSound.objhandle, aVolume, aPan, aBus); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_play3dEx(IntPtr aObjHandle, IntPtr aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused, uint aBus); public uint play3d(SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, int aPaused = 0, uint aBus = 0) { return Soloud_play3dEx(objhandle, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aPaused, aBus); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_play3dClockedEx(IntPtr aObjHandle, double aSoundTime, IntPtr aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, uint aBus); public uint play3dClocked(double aSoundTime, SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, uint aBus = 0) { return Soloud_play3dClockedEx(objhandle, aSoundTime, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aBus); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_playBackgroundEx(IntPtr aObjHandle, IntPtr aSound, float aVolume, int aPaused, uint aBus); public uint playBackground(SoloudObject aSound, float aVolume = -1.0f, int aPaused = 0, uint aBus = 0) { return Soloud_playBackgroundEx(objhandle, aSound.objhandle, aVolume, aPaused, aBus); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_seek(IntPtr aObjHandle, uint aVoiceHandle, double aSeconds); public int seek(uint aVoiceHandle, double aSeconds) { return Soloud_seek(objhandle, aVoiceHandle, aSeconds); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_stop(IntPtr aObjHandle, uint aVoiceHandle); public void stop(uint aVoiceHandle) { Soloud_stop(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_stopAll(IntPtr aObjHandle); public void stopAll() { Soloud_stopAll(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_stopAudioSource(IntPtr aObjHandle, IntPtr aSound); public void stopAudioSource(SoloudObject aSound) { Soloud_stopAudioSource(objhandle, aSound.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_countAudioSource(IntPtr aObjHandle, IntPtr aSound); public int countAudioSource(SoloudObject aSound) { return Soloud_countAudioSource(objhandle, aSound.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setFilterParameter(IntPtr aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aValue); public void setFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aValue) { Soloud_setFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aValue); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getFilterParameter(IntPtr aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId); public float getFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId) { return Soloud_getFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_fadeFilterParameter(IntPtr aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aTo, double aTime); public void fadeFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aTo, double aTime) { Soloud_fadeFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_oscillateFilterParameter(IntPtr aObjHandle, uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aFrom, float aTo, double aTime); public void oscillateFilterParameter(uint aVoiceHandle, uint aFilterId, uint aAttributeId, float aFrom, float aTo, double aTime) { Soloud_oscillateFilterParameter(objhandle, aVoiceHandle, aFilterId, aAttributeId, aFrom, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Soloud_getStreamTime(IntPtr aObjHandle, uint aVoiceHandle); public double getStreamTime(uint aVoiceHandle) { return Soloud_getStreamTime(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Soloud_getStreamPosition(IntPtr aObjHandle, uint aVoiceHandle); public double getStreamPosition(uint aVoiceHandle) { return Soloud_getStreamPosition(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_getPause(IntPtr aObjHandle, uint aVoiceHandle); public int getPause(uint aVoiceHandle) { return Soloud_getPause(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getVolume(IntPtr aObjHandle, uint aVoiceHandle); public float getVolume(uint aVoiceHandle) { return Soloud_getVolume(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getOverallVolume(IntPtr aObjHandle, uint aVoiceHandle); public float getOverallVolume(uint aVoiceHandle) { return Soloud_getOverallVolume(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getPan(IntPtr aObjHandle, uint aVoiceHandle); public float getPan(uint aVoiceHandle) { return Soloud_getPan(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getSamplerate(IntPtr aObjHandle, uint aVoiceHandle); public float getSamplerate(uint aVoiceHandle) { return Soloud_getSamplerate(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_getProtectVoice(IntPtr aObjHandle, uint aVoiceHandle); public int getProtectVoice(uint aVoiceHandle) { return Soloud_getProtectVoice(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getActiveVoiceCount(IntPtr aObjHandle); public uint getActiveVoiceCount() { return Soloud_getActiveVoiceCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getVoiceCount(IntPtr aObjHandle); public uint getVoiceCount() { return Soloud_getVoiceCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_isValidVoiceHandle(IntPtr aObjHandle, uint aVoiceHandle); public int isValidVoiceHandle(uint aVoiceHandle) { return Soloud_isValidVoiceHandle(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getRelativePlaySpeed(IntPtr aObjHandle, uint aVoiceHandle); public float getRelativePlaySpeed(uint aVoiceHandle) { return Soloud_getRelativePlaySpeed(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getPostClipScaler(IntPtr aObjHandle); public float getPostClipScaler() { return Soloud_getPostClipScaler(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getGlobalVolume(IntPtr aObjHandle); public float getGlobalVolume() { return Soloud_getGlobalVolume(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getMaxActiveVoiceCount(IntPtr aObjHandle); public uint getMaxActiveVoiceCount() { return Soloud_getMaxActiveVoiceCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_getLooping(IntPtr aObjHandle, uint aVoiceHandle); public int getLooping(uint aVoiceHandle) { return Soloud_getLooping(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Soloud_getLoopPoint(IntPtr aObjHandle, uint aVoiceHandle); public double getLoopPoint(uint aVoiceHandle) { return Soloud_getLoopPoint(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setLoopPoint(IntPtr aObjHandle, uint aVoiceHandle, double aLoopPoint); public void setLoopPoint(uint aVoiceHandle, double aLoopPoint) { Soloud_setLoopPoint(objhandle, aVoiceHandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setLooping(IntPtr aObjHandle, uint aVoiceHandle, int aLooping); public void setLooping(uint aVoiceHandle, int aLooping) { Soloud_setLooping(objhandle, aVoiceHandle, aLooping); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_setMaxActiveVoiceCount(IntPtr aObjHandle, uint aVoiceCount); public int setMaxActiveVoiceCount(uint aVoiceCount) { return Soloud_setMaxActiveVoiceCount(objhandle, aVoiceCount); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setInaudibleBehavior(IntPtr aObjHandle, uint aVoiceHandle, int aMustTick, int aKill); public void setInaudibleBehavior(uint aVoiceHandle, int aMustTick, int aKill) { Soloud_setInaudibleBehavior(objhandle, aVoiceHandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setGlobalVolume(IntPtr aObjHandle, float aVolume); public void setGlobalVolume(float aVolume) { Soloud_setGlobalVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setPostClipScaler(IntPtr aObjHandle, float aScaler); public void setPostClipScaler(float aScaler) { Soloud_setPostClipScaler(objhandle, aScaler); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setPause(IntPtr aObjHandle, uint aVoiceHandle, int aPause); public void setPause(uint aVoiceHandle, int aPause) { Soloud_setPause(objhandle, aVoiceHandle, aPause); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setPauseAll(IntPtr aObjHandle, int aPause); public void setPauseAll(int aPause) { Soloud_setPauseAll(objhandle, aPause); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_setRelativePlaySpeed(IntPtr aObjHandle, uint aVoiceHandle, float aSpeed); public int setRelativePlaySpeed(uint aVoiceHandle, float aSpeed) { return Soloud_setRelativePlaySpeed(objhandle, aVoiceHandle, aSpeed); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setProtectVoice(IntPtr aObjHandle, uint aVoiceHandle, int aProtect); public void setProtectVoice(uint aVoiceHandle, int aProtect) { Soloud_setProtectVoice(objhandle, aVoiceHandle, aProtect); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setSamplerate(IntPtr aObjHandle, uint aVoiceHandle, float aSamplerate); public void setSamplerate(uint aVoiceHandle, float aSamplerate) { Soloud_setSamplerate(objhandle, aVoiceHandle, aSamplerate); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setPan(IntPtr aObjHandle, uint aVoiceHandle, float aPan); public void setPan(uint aVoiceHandle, float aPan) { Soloud_setPan(objhandle, aVoiceHandle, aPan); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setPanAbsoluteEx(IntPtr aObjHandle, uint aVoiceHandle, float aLVolume, float aRVolume, float aLBVolume, float aRBVolume, float aCVolume, float aSVolume); public void setPanAbsolute(uint aVoiceHandle, float aLVolume, float aRVolume, float aLBVolume = 0, float aRBVolume = 0, float aCVolume = 0, float aSVolume = 0) { Soloud_setPanAbsoluteEx(objhandle, aVoiceHandle, aLVolume, aRVolume, aLBVolume, aRBVolume, aCVolume, aSVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setVolume(IntPtr aObjHandle, uint aVoiceHandle, float aVolume); public void setVolume(uint aVoiceHandle, float aVolume) { Soloud_setVolume(objhandle, aVoiceHandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setDelaySamples(IntPtr aObjHandle, uint aVoiceHandle, uint aSamples); public void setDelaySamples(uint aVoiceHandle, uint aSamples) { Soloud_setDelaySamples(objhandle, aVoiceHandle, aSamples); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_fadeVolume(IntPtr aObjHandle, uint aVoiceHandle, float aTo, double aTime); public void fadeVolume(uint aVoiceHandle, float aTo, double aTime) { Soloud_fadeVolume(objhandle, aVoiceHandle, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_fadePan(IntPtr aObjHandle, uint aVoiceHandle, float aTo, double aTime); public void fadePan(uint aVoiceHandle, float aTo, double aTime) { Soloud_fadePan(objhandle, aVoiceHandle, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_fadeRelativePlaySpeed(IntPtr aObjHandle, uint aVoiceHandle, float aTo, double aTime); public void fadeRelativePlaySpeed(uint aVoiceHandle, float aTo, double aTime) { Soloud_fadeRelativePlaySpeed(objhandle, aVoiceHandle, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_fadeGlobalVolume(IntPtr aObjHandle, float aTo, double aTime); public void fadeGlobalVolume(float aTo, double aTime) { Soloud_fadeGlobalVolume(objhandle, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_schedulePause(IntPtr aObjHandle, uint aVoiceHandle, double aTime); public void schedulePause(uint aVoiceHandle, double aTime) { Soloud_schedulePause(objhandle, aVoiceHandle, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_scheduleStop(IntPtr aObjHandle, uint aVoiceHandle, double aTime); public void scheduleStop(uint aVoiceHandle, double aTime) { Soloud_scheduleStop(objhandle, aVoiceHandle, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_oscillateVolume(IntPtr aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime); public void oscillateVolume(uint aVoiceHandle, float aFrom, float aTo, double aTime) { Soloud_oscillateVolume(objhandle, aVoiceHandle, aFrom, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_oscillatePan(IntPtr aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime); public void oscillatePan(uint aVoiceHandle, float aFrom, float aTo, double aTime) { Soloud_oscillatePan(objhandle, aVoiceHandle, aFrom, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_oscillateRelativePlaySpeed(IntPtr aObjHandle, uint aVoiceHandle, float aFrom, float aTo, double aTime); public void oscillateRelativePlaySpeed(uint aVoiceHandle, float aFrom, float aTo, double aTime) { Soloud_oscillateRelativePlaySpeed(objhandle, aVoiceHandle, aFrom, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_oscillateGlobalVolume(IntPtr aObjHandle, float aFrom, float aTo, double aTime); public void oscillateGlobalVolume(float aFrom, float aTo, double aTime) { Soloud_oscillateGlobalVolume(objhandle, aFrom, aTo, aTime); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setGlobalFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setGlobalFilter(uint aFilterId, SoloudObject aFilter) { Soloud_setGlobalFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_setVisualizationEnable(IntPtr aObjHandle, int aEnable); public void setVisualizationEnable(int aEnable) { Soloud_setVisualizationEnable(objhandle, aEnable); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_calcFFT(IntPtr aObjHandle); public float[] calcFFT() { @@ -560,7 +561,7 @@ public class Soloud : SoloudObject return ret; } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Soloud_getWave(IntPtr aObjHandle); public float[] getWave() { @@ -580,168 +581,168 @@ public class Soloud : SoloudObject return ret; } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getApproximateVolume(IntPtr aObjHandle, uint aChannel); public float getApproximateVolume(uint aChannel) { return Soloud_getApproximateVolume(objhandle, aChannel); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_getLoopCount(IntPtr aObjHandle, uint aVoiceHandle); public uint getLoopCount(uint aVoiceHandle) { return Soloud_getLoopCount(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_getInfo(IntPtr aObjHandle, uint aVoiceHandle, uint aInfoKey); public float getInfo(uint aVoiceHandle, uint aInfoKey) { return Soloud_getInfo(objhandle, aVoiceHandle, aInfoKey); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Soloud_createVoiceGroup(IntPtr aObjHandle); public uint createVoiceGroup() { return Soloud_createVoiceGroup(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_destroyVoiceGroup(IntPtr aObjHandle, uint aVoiceGroupHandle); public int destroyVoiceGroup(uint aVoiceGroupHandle) { return Soloud_destroyVoiceGroup(objhandle, aVoiceGroupHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_addVoiceToGroup(IntPtr aObjHandle, uint aVoiceGroupHandle, uint aVoiceHandle); public int addVoiceToGroup(uint aVoiceGroupHandle, uint aVoiceHandle) { return Soloud_addVoiceToGroup(objhandle, aVoiceGroupHandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_isVoiceGroup(IntPtr aObjHandle, uint aVoiceGroupHandle); public int isVoiceGroup(uint aVoiceGroupHandle) { return Soloud_isVoiceGroup(objhandle, aVoiceGroupHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_isVoiceGroupEmpty(IntPtr aObjHandle, uint aVoiceGroupHandle); public int isVoiceGroupEmpty(uint aVoiceGroupHandle) { return Soloud_isVoiceGroupEmpty(objhandle, aVoiceGroupHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_update3dAudio(IntPtr aObjHandle); public void update3dAudio() { Soloud_update3dAudio(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Soloud_set3dSoundSpeed(IntPtr aObjHandle, float aSpeed); public int set3dSoundSpeed(float aSpeed) { return Soloud_set3dSoundSpeed(objhandle, aSpeed); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Soloud_get3dSoundSpeed(IntPtr aObjHandle); public float get3dSoundSpeed() { return Soloud_get3dSoundSpeed(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dListenerParametersEx(IntPtr aObjHandle, float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX, float aVelocityY, float aVelocityZ); public void set3dListenerParameters(float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f) { Soloud_set3dListenerParametersEx(objhandle, aPosX, aPosY, aPosZ, aAtX, aAtY, aAtZ, aUpX, aUpY, aUpZ, aVelocityX, aVelocityY, aVelocityZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dListenerPosition(IntPtr aObjHandle, float aPosX, float aPosY, float aPosZ); public void set3dListenerPosition(float aPosX, float aPosY, float aPosZ) { Soloud_set3dListenerPosition(objhandle, aPosX, aPosY, aPosZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dListenerAt(IntPtr aObjHandle, float aAtX, float aAtY, float aAtZ); public void set3dListenerAt(float aAtX, float aAtY, float aAtZ) { Soloud_set3dListenerAt(objhandle, aAtX, aAtY, aAtZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dListenerUp(IntPtr aObjHandle, float aUpX, float aUpY, float aUpZ); public void set3dListenerUp(float aUpX, float aUpY, float aUpZ) { Soloud_set3dListenerUp(objhandle, aUpX, aUpY, aUpZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dListenerVelocity(IntPtr aObjHandle, float aVelocityX, float aVelocityY, float aVelocityZ); public void set3dListenerVelocity(float aVelocityX, float aVelocityY, float aVelocityZ) { Soloud_set3dListenerVelocity(objhandle, aVelocityX, aVelocityY, aVelocityZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourceParametersEx(IntPtr aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX, float aVelocityY, float aVelocityZ); public void set3dSourceParameters(uint aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f) { Soloud_set3dSourceParametersEx(objhandle, aVoiceHandle, aPosX, aPosY, aPosZ, aVelocityX, aVelocityY, aVelocityZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourcePosition(IntPtr aObjHandle, uint aVoiceHandle, float aPosX, float aPosY, float aPosZ); public void set3dSourcePosition(uint aVoiceHandle, float aPosX, float aPosY, float aPosZ) { Soloud_set3dSourcePosition(objhandle, aVoiceHandle, aPosX, aPosY, aPosZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourceVelocity(IntPtr aObjHandle, uint aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ); public void set3dSourceVelocity(uint aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ) { Soloud_set3dSourceVelocity(objhandle, aVoiceHandle, aVelocityX, aVelocityY, aVelocityZ); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourceMinMaxDistance(IntPtr aObjHandle, uint aVoiceHandle, float aMinDistance, float aMaxDistance); public void set3dSourceMinMaxDistance(uint aVoiceHandle, float aMinDistance, float aMaxDistance) { Soloud_set3dSourceMinMaxDistance(objhandle, aVoiceHandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourceAttenuation(IntPtr aObjHandle, uint aVoiceHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dSourceAttenuation(uint aVoiceHandle, uint aAttenuationModel, float aAttenuationRolloffFactor) { Soloud_set3dSourceAttenuation(objhandle, aVoiceHandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_set3dSourceDopplerFactor(IntPtr aObjHandle, uint aVoiceHandle, float aDopplerFactor); public void set3dSourceDopplerFactor(uint aVoiceHandle, float aDopplerFactor) { Soloud_set3dSourceDopplerFactor(objhandle, aVoiceHandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_mix(IntPtr aObjHandle, float[] aBuffer, uint aSamples); public void mix(float[] aBuffer, uint aSamples) { Soloud_mix(objhandle, aBuffer, aSamples); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Soloud_mixSigned16(IntPtr aObjHandle, IntPtr aBuffer, uint aSamples); public void mixSigned16(IntPtr aBuffer, uint aSamples) { @@ -751,31 +752,32 @@ public class Soloud : SoloudObject public class BassboostFilter : SoloudObject { + private const string nativeLibName = "soloud"; public const int WET = 0; public const int BOOST = 1; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BassboostFilter_create(); public BassboostFilter() { objhandle = BassboostFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BassboostFilter_destroy(IntPtr aObjHandle); ~BassboostFilter() { BassboostFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int BassboostFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return BassboostFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BassboostFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -783,28 +785,28 @@ public class BassboostFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint BassboostFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return BassboostFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float BassboostFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return BassboostFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float BassboostFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return BassboostFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int BassboostFilter_setParams(IntPtr aObjHandle, float aBoost); public int setParams(float aBoost) { @@ -814,6 +816,7 @@ public class BassboostFilter : SoloudObject public class BiquadResonantFilter : SoloudObject { + private const string nativeLibName = "soloud"; public const int LOWPASS = 0; public const int HIGHPASS = 1; public const int BANDPASS = 2; @@ -822,28 +825,28 @@ public class BiquadResonantFilter : SoloudObject public const int FREQUENCY = 2; public const int RESONANCE = 3; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BiquadResonantFilter_create(); public BiquadResonantFilter() { objhandle = BiquadResonantFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BiquadResonantFilter_destroy(IntPtr aObjHandle); ~BiquadResonantFilter() { BiquadResonantFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int BiquadResonantFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return BiquadResonantFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr BiquadResonantFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -851,28 +854,28 @@ public class BiquadResonantFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint BiquadResonantFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return BiquadResonantFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float BiquadResonantFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return BiquadResonantFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float BiquadResonantFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return BiquadResonantFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int BiquadResonantFilter_setParams(IntPtr aObjHandle, int aType, float aFrequency, float aResonance); public int setParams(int aType, float aFrequency, float aResonance) { @@ -882,78 +885,79 @@ public class BiquadResonantFilter : SoloudObject public class Bus : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Bus_create(); public Bus() { objhandle = Bus_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Bus_destroy(IntPtr aObjHandle); ~Bus() { Bus_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Bus_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Bus_playEx(IntPtr aObjHandle, IntPtr aSound, float aVolume, float aPan, int aPaused); public uint play(SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f, int aPaused = 0) { return Bus_playEx(objhandle, aSound.objhandle, aVolume, aPan, aPaused); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Bus_playClockedEx(IntPtr aObjHandle, double aSoundTime, IntPtr aSound, float aVolume, float aPan); public uint playClocked(double aSoundTime, SoloudObject aSound, float aVolume = 1.0f, float aPan = 0.0f) { return Bus_playClockedEx(objhandle, aSoundTime, aSound.objhandle, aVolume, aPan); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Bus_play3dEx(IntPtr aObjHandle, IntPtr aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume, int aPaused); public uint play3d(SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, int aPaused = 0) { return Bus_play3dEx(objhandle, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume, aPaused); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Bus_play3dClockedEx(IntPtr aObjHandle, double aSoundTime, IntPtr aSound, float aPosX, float aPosY, float aPosZ, float aVelX, float aVelY, float aVelZ, float aVolume); public uint play3dClocked(double aSoundTime, SoloudObject aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f) { return Bus_play3dClockedEx(objhandle, aSoundTime, aSound.objhandle, aPosX, aPosY, aPosZ, aVelX, aVelY, aVelZ, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Bus_setChannels(IntPtr aObjHandle, uint aChannels); public int setChannels(uint aChannels) { return Bus_setChannels(objhandle, aChannels); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setVisualizationEnable(IntPtr aObjHandle, int aEnable); public void setVisualizationEnable(int aEnable) { Bus_setVisualizationEnable(objhandle, aEnable); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_annexSound(IntPtr aObjHandle, uint aVoiceHandle); public void annexSound(uint aVoiceHandle) { Bus_annexSound(objhandle, aVoiceHandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Bus_calcFFT(IntPtr aObjHandle); public float[] calcFFT() { @@ -973,7 +977,7 @@ public class Bus : SoloudObject return ret; } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Bus_getWave(IntPtr aObjHandle); public float[] getWave() { @@ -993,105 +997,105 @@ public class Bus : SoloudObject return ret; } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float Bus_getApproximateVolume(IntPtr aObjHandle, uint aChannel); public float getApproximateVolume(uint aChannel) { return Bus_getApproximateVolume(objhandle, aChannel); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Bus_getActiveVoiceCount(IntPtr aObjHandle); public uint getActiveVoiceCount() { return Bus_getActiveVoiceCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Bus_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Bus_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Bus_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Bus_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Bus_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Bus_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Bus_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Bus_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Bus_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Bus_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Bus_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Bus_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Bus_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Bus_stop(IntPtr aObjHandle); public void stop() { @@ -1101,36 +1105,37 @@ public class Bus : SoloudObject public class DCRemovalFilter : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr DCRemovalFilter_create(); public DCRemovalFilter() { objhandle = DCRemovalFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr DCRemovalFilter_destroy(IntPtr aObjHandle); ~DCRemovalFilter() { DCRemovalFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int DCRemovalFilter_setParamsEx(IntPtr aObjHandle, float aLength); public int setParams(float aLength = 0.1f) { return DCRemovalFilter_setParamsEx(objhandle, aLength); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int DCRemovalFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return DCRemovalFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr DCRemovalFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1138,21 +1143,21 @@ public class DCRemovalFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint DCRemovalFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return DCRemovalFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float DCRemovalFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return DCRemovalFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float DCRemovalFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { @@ -1162,33 +1167,34 @@ public class DCRemovalFilter : SoloudObject public class EchoFilter : SoloudObject { + private const string nativeLibName = "soloud"; public const int WET = 0; public const int DELAY = 1; public const int DECAY = 2; public const int FILTER = 3; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr EchoFilter_create(); public EchoFilter() { objhandle = EchoFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr EchoFilter_destroy(IntPtr aObjHandle); ~EchoFilter() { EchoFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int EchoFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return EchoFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr EchoFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1196,28 +1202,28 @@ public class EchoFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint EchoFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return EchoFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float EchoFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return EchoFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float EchoFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return EchoFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int EchoFilter_setParamsEx(IntPtr aObjHandle, float aDelay, float aDecay, float aFilter); public int setParams(float aDelay, float aDecay = 0.7f, float aFilter = 0.0f) { @@ -1227,29 +1233,30 @@ public class EchoFilter : SoloudObject public class FFTFilter : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FFTFilter_create(); public FFTFilter() { objhandle = FFTFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FFTFilter_destroy(IntPtr aObjHandle); ~FFTFilter() { FFTFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int FFTFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return FFTFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FFTFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1257,21 +1264,21 @@ public class FFTFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint FFTFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return FFTFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FFTFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return FFTFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FFTFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { @@ -1281,32 +1288,34 @@ public class FFTFilter : SoloudObject public class FlangerFilter : SoloudObject { + private const string nativeLibName = "soloud"; + public const int WET = 0; public const int DELAY = 1; public const int FREQ = 2; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FlangerFilter_create(); public FlangerFilter() { objhandle = FlangerFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FlangerFilter_destroy(IntPtr aObjHandle); ~FlangerFilter() { FlangerFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int FlangerFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return FlangerFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FlangerFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1314,28 +1323,28 @@ public class FlangerFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint FlangerFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return FlangerFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FlangerFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return FlangerFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FlangerFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return FlangerFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int FlangerFilter_setParams(IntPtr aObjHandle, float aDelay, float aFreq); public int setParams(float aDelay, float aFreq) { @@ -1345,34 +1354,36 @@ public class FlangerFilter : SoloudObject public class FreeverbFilter : SoloudObject { + private const string nativeLibName = "soloud"; + public const int WET = 0; public const int FREEZE = 1; public const int ROOMSIZE = 2; public const int DAMP = 3; public const int WIDTH = 4; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FreeverbFilter_create(); public FreeverbFilter() { objhandle = FreeverbFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FreeverbFilter_destroy(IntPtr aObjHandle); ~FreeverbFilter() { FreeverbFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int FreeverbFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return FreeverbFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr FreeverbFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1380,28 +1391,28 @@ public class FreeverbFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint FreeverbFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return FreeverbFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FreeverbFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return FreeverbFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float FreeverbFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return FreeverbFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int FreeverbFilter_setParams(IntPtr aObjHandle, float aMode, float aRoomSize, float aDamp, float aWidth); public int setParams(float aMode, float aRoomSize, float aDamp, float aWidth) { @@ -1411,32 +1422,34 @@ public class FreeverbFilter : SoloudObject public class LofiFilter : SoloudObject { + private const string nativeLibName = "soloud"; + public const int WET = 0; public const int SAMPLERATE = 1; public const int BITDEPTH = 2; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr LofiFilter_create(); public LofiFilter() { objhandle = LofiFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr LofiFilter_destroy(IntPtr aObjHandle); ~LofiFilter() { LofiFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int LofiFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return LofiFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr LofiFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -1444,28 +1457,28 @@ public class LofiFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint LofiFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return LofiFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float LofiFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return LofiFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float LofiFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return LofiFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int LofiFilter_setParams(IntPtr aObjHandle, float aSampleRate, float aBitdepth); public int setParams(float aSampleRate, float aBitdepth) { @@ -1475,141 +1488,142 @@ public class LofiFilter : SoloudObject public class Monotone : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Monotone_create(); public Monotone() { objhandle = Monotone_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Monotone_destroy(IntPtr aObjHandle); ~Monotone() { Monotone_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Monotone_setParamsEx(IntPtr aObjHandle, int aHardwareChannels, int aWaveform); public int setParams(int aHardwareChannels, int aWaveform = Speech.KW_SQUARE) { return Monotone_setParamsEx(objhandle, aHardwareChannels, aWaveform); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Monotone_load(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int load(string aFilename) { return Monotone_load(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Monotone_loadMemEx(IntPtr aObjHandle, IntPtr aMem, uint aLength, bool aCopy, bool aTakeOwnership); public int loadMem(IntPtr aMem, uint aLength, bool aCopy = false, bool aTakeOwnership = true) { return Monotone_loadMemEx(objhandle, aMem, aLength, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Monotone_loadFile(IntPtr aObjHandle, IntPtr aFile); public int loadFile(SoloudObject aFile) { return Monotone_loadFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Monotone_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Monotone_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Monotone_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Monotone_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Monotone_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Monotone_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Monotone_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Monotone_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Monotone_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Monotone_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Monotone_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Monotone_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Monotone_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Monotone_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Monotone_stop(IntPtr aObjHandle); public void stop() { @@ -1619,131 +1633,132 @@ public class Monotone : SoloudObject public class Noise : SoloudObject { + private const string nativeLibName = "soloud"; public const int WHITE = 0; public const int PINK = 1; public const int BROWNISH = 2; public const int BLUEISH = 3; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Noise_create(); public Noise() { objhandle = Noise_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Noise_destroy(IntPtr aObjHandle); ~Noise() { Noise_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setOctaveScale(IntPtr aObjHandle, float aOct0, float aOct1, float aOct2, float aOct3, float aOct4, float aOct5, float aOct6, float aOct7, float aOct8, float aOct9); public void setOctaveScale(float aOct0, float aOct1, float aOct2, float aOct3, float aOct4, float aOct5, float aOct6, float aOct7, float aOct8, float aOct9) { Noise_setOctaveScale(objhandle, aOct0, aOct1, aOct2, aOct3, aOct4, aOct5, aOct6, aOct7, aOct8, aOct9); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setType(IntPtr aObjHandle, int aType); public void setType(int aType) { Noise_setType(objhandle, aType); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Noise_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Noise_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Noise_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Noise_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Noise_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Noise_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Noise_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Noise_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Noise_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Noise_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Noise_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Noise_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Noise_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Noise_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Noise_stop(IntPtr aObjHandle); public void stop() { @@ -1753,134 +1768,135 @@ public class Noise : SoloudObject public class Openmpt : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Openmpt_create(); public Openmpt() { objhandle = Openmpt_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Openmpt_destroy(IntPtr aObjHandle); ~Openmpt() { Openmpt_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Openmpt_load(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int load(string aFilename) { return Openmpt_load(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Openmpt_loadMemEx(IntPtr aObjHandle, IntPtr aMem, uint aLength, bool aCopy, bool aTakeOwnership); public int loadMem(IntPtr aMem, uint aLength, bool aCopy = false, bool aTakeOwnership = true) { return Openmpt_loadMemEx(objhandle, aMem, aLength, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Openmpt_loadFile(IntPtr aObjHandle, IntPtr aFile); public int loadFile(SoloudObject aFile) { return Openmpt_loadFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Openmpt_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Openmpt_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Openmpt_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Openmpt_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Openmpt_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Openmpt_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Openmpt_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Openmpt_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Openmpt_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Openmpt_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Openmpt_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Openmpt_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Openmpt_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Openmpt_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Openmpt_stop(IntPtr aObjHandle); public void stop() { @@ -1890,148 +1906,149 @@ public class Openmpt : SoloudObject public class Queue : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Queue_create(); public Queue() { objhandle = Queue_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Queue_destroy(IntPtr aObjHandle); ~Queue() { Queue_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Queue_play(IntPtr aObjHandle, IntPtr aSound); public int play(SoloudObject aSound) { return Queue_play(objhandle, aSound.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint Queue_getQueueCount(IntPtr aObjHandle); public uint getQueueCount() { return Queue_getQueueCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Queue_isCurrentlyPlaying(IntPtr aObjHandle, IntPtr aSound); public int isCurrentlyPlaying(SoloudObject aSound) { return Queue_isCurrentlyPlaying(objhandle, aSound.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Queue_setParamsFromAudioSource(IntPtr aObjHandle, IntPtr aSound); public int setParamsFromAudioSource(SoloudObject aSound) { return Queue_setParamsFromAudioSource(objhandle, aSound.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Queue_setParamsEx(IntPtr aObjHandle, float aSamplerate, uint aChannels); public int setParams(float aSamplerate, uint aChannels = 2) { return Queue_setParamsEx(objhandle, aSamplerate, aChannels); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Queue_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Queue_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Queue_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Queue_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Queue_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Queue_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Queue_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Queue_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Queue_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Queue_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Queue_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Queue_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Queue_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Queue_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Queue_stop(IntPtr aObjHandle); public void stop() { @@ -2041,32 +2058,33 @@ public class Queue : SoloudObject public class RobotizeFilter : SoloudObject { + private const string nativeLibName = "soloud"; public const int WET = 0; public const int FREQ = 1; public const int WAVE = 2; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr RobotizeFilter_create(); public RobotizeFilter() { objhandle = RobotizeFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr RobotizeFilter_destroy(IntPtr aObjHandle); ~RobotizeFilter() { RobotizeFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int RobotizeFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return RobotizeFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr RobotizeFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -2074,28 +2092,28 @@ public class RobotizeFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint RobotizeFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return RobotizeFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float RobotizeFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return RobotizeFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float RobotizeFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { return RobotizeFilter_getParamMin(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void RobotizeFilter_setParams(IntPtr aObjHandle, float aFreq, int aWaveform); public void setParams(float aFreq, int aWaveform) { @@ -2105,6 +2123,8 @@ public class RobotizeFilter : SoloudObject public class Sfxr : SoloudObject { + private const string nativeLibName = "soloud"; + public const int COIN = 0; public const int LASER = 1; public const int EXPLOSION = 2; @@ -2113,147 +2133,147 @@ public class Sfxr : SoloudObject public const int JUMP = 5; public const int BLIP = 6; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Sfxr_create(); public Sfxr() { objhandle = Sfxr_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Sfxr_destroy(IntPtr aObjHandle); ~Sfxr() { Sfxr_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_resetParams(IntPtr aObjHandle); public void resetParams() { Sfxr_resetParams(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Sfxr_loadParams(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int loadParams(string aFilename) { return Sfxr_loadParams(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Sfxr_loadParamsMemEx(IntPtr aObjHandle, IntPtr aMem, uint aLength, bool aCopy, bool aTakeOwnership); public int loadParamsMem(IntPtr aMem, uint aLength, bool aCopy = false, bool aTakeOwnership = true) { return Sfxr_loadParamsMemEx(objhandle, aMem, aLength, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Sfxr_loadParamsFile(IntPtr aObjHandle, IntPtr aFile); public int loadParamsFile(SoloudObject aFile) { return Sfxr_loadParamsFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Sfxr_loadPreset(IntPtr aObjHandle, int aPresetNo, int aRandSeed); public int loadPreset(int aPresetNo, int aRandSeed) { return Sfxr_loadPreset(objhandle, aPresetNo, aRandSeed); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Sfxr_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Sfxr_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Sfxr_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Sfxr_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Sfxr_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Sfxr_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Sfxr_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Sfxr_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Sfxr_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Sfxr_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Sfxr_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Sfxr_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Sfxr_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Sfxr_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Sfxr_stop(IntPtr aObjHandle); public void stop() { @@ -2263,6 +2283,8 @@ public class Sfxr : SoloudObject public class Speech : SoloudObject { + private const string nativeLibName = "soloud"; + public const int KW_SAW = 0; public const int KW_TRIANGLE = 1; public const int KW_SIN = 2; @@ -2271,126 +2293,126 @@ public class Speech : SoloudObject public const int KW_NOISE = 5; public const int KW_WARBLE = 6; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Speech_create(); public Speech() { objhandle = Speech_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Speech_destroy(IntPtr aObjHandle); ~Speech() { Speech_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Speech_setText(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aText); public int setText(string aText) { return Speech_setText(objhandle, aText); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Speech_setParamsEx(IntPtr aObjHandle, uint aBaseFrequency, float aBaseSpeed, float aBaseDeclination, int aBaseWaveform); public int setParams(uint aBaseFrequency = 1330, float aBaseSpeed = 10.0f, float aBaseDeclination = 0.5f, int aBaseWaveform = KW_TRIANGLE) { return Speech_setParamsEx(objhandle, aBaseFrequency, aBaseSpeed, aBaseDeclination, aBaseWaveform); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Speech_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Speech_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Speech_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Speech_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Speech_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Speech_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Speech_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Speech_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Speech_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Speech_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Speech_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Speech_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Speech_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Speech_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Speech_stop(IntPtr aObjHandle); public void stop() { @@ -2400,148 +2422,149 @@ public class Speech : SoloudObject public class TedSid : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr TedSid_create(); public TedSid() { objhandle = TedSid_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr TedSid_destroy(IntPtr aObjHandle); ~TedSid() { TedSid_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int TedSid_load(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int load(string aFilename) { return TedSid_load(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int TedSid_loadToMem(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int loadToMem(string aFilename) { return TedSid_loadToMem(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int TedSid_loadMemEx(IntPtr aObjHandle, IntPtr aMem, uint aLength, bool aCopy, bool aTakeOwnership); public int loadMem(IntPtr aMem, uint aLength, bool aCopy = false, bool aTakeOwnership = true) { return TedSid_loadMemEx(objhandle, aMem, aLength, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int TedSid_loadFileToMem(IntPtr aObjHandle, IntPtr aFile); public int loadFileToMem(SoloudObject aFile) { return TedSid_loadFileToMem(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int TedSid_loadFile(IntPtr aObjHandle, IntPtr aFile); public int loadFile(SoloudObject aFile) { return TedSid_loadFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { TedSid_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { TedSid_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { TedSid_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { TedSid_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { TedSid_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { TedSid_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { TedSid_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { TedSid_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { TedSid_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { TedSid_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { TedSid_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double TedSid_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return TedSid_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { TedSid_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void TedSid_stop(IntPtr aObjHandle); public void stop() { @@ -2551,6 +2574,7 @@ public class TedSid : SoloudObject public class Vic : SoloudObject { + private const string nativeLibName = "soloud"; public const int PAL = 0; public const int NTSC = 1; public const int BASS = 0; @@ -2559,140 +2583,140 @@ public class Vic : SoloudObject public const int NOISE = 3; public const int MAX_REGS = 4; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Vic_create(); public Vic() { objhandle = Vic_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Vic_destroy(IntPtr aObjHandle); ~Vic() { Vic_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setModel(IntPtr aObjHandle, int model); public void setModel(int model) { Vic_setModel(objhandle, model); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Vic_getModel(IntPtr aObjHandle); public int getModel() { return Vic_getModel(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setRegister(IntPtr aObjHandle, int reg, byte value); public void setRegister(int reg, byte value) { Vic_setRegister(objhandle, reg, value); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern byte Vic_getRegister(IntPtr aObjHandle, int reg); public byte getRegister(int reg) { return Vic_getRegister(objhandle, reg); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Vic_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Vic_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Vic_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Vic_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Vic_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Vic_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Vic_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Vic_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Vic_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Vic_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Vic_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Vic_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Vic_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Vic_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vic_stop(IntPtr aObjHandle); public void stop() { @@ -2702,120 +2726,121 @@ public class Vic : SoloudObject public class Vizsn : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Vizsn_create(); public Vizsn() { objhandle = Vizsn_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Vizsn_destroy(IntPtr aObjHandle); ~Vizsn() { Vizsn_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setText(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aText); public void setText(string aText) { Vizsn_setText(objhandle, aText); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Vizsn_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Vizsn_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Vizsn_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Vizsn_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Vizsn_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Vizsn_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Vizsn_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Vizsn_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Vizsn_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Vizsn_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Vizsn_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Vizsn_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Vizsn_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Vizsn_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Vizsn_stop(IntPtr aObjHandle); public void stop() { @@ -2825,162 +2850,163 @@ public class Vizsn : SoloudObject public class Wav : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Wav_create(); public Wav() { objhandle = Wav_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr Wav_destroy(IntPtr aObjHandle); ~Wav() { Wav_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_load(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int load(string aFilename) { return Wav_load(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_loadMemEx(IntPtr aObjHandle, IntPtr aMem, uint aLength, bool aCopy, bool aTakeOwnership); public int loadMem(IntPtr aMem, uint aLength, bool aCopy = false, bool aTakeOwnership = true) { return Wav_loadMemEx(objhandle, aMem, aLength, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_loadFile(IntPtr aObjHandle, IntPtr aFile); public int loadFile(SoloudObject aFile) { return Wav_loadFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_loadRawWave8Ex(IntPtr aObjHandle, IntPtr aMem, uint aLength, float aSamplerate, uint aChannels); public int loadRawWave8(IntPtr aMem, uint aLength, float aSamplerate = 44100.0f, uint aChannels = 1) { return Wav_loadRawWave8Ex(objhandle, aMem, aLength, aSamplerate, aChannels); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_loadRawWave16Ex(IntPtr aObjHandle, IntPtr aMem, uint aLength, float aSamplerate, uint aChannels); public int loadRawWave16(IntPtr aMem, uint aLength, float aSamplerate = 44100.0f, uint aChannels = 1) { return Wav_loadRawWave16Ex(objhandle, aMem, aLength, aSamplerate, aChannels); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int Wav_loadRawWaveEx(IntPtr aObjHandle, float[] aMem, uint aLength, float aSamplerate, uint aChannels, bool aCopy, bool aTakeOwnership); public int loadRawWave(float[] aMem, uint aLength, float aSamplerate = 44100.0f, uint aChannels = 1, bool aCopy = false, bool aTakeOwnership = true) { return Wav_loadRawWaveEx(objhandle, aMem, aLength, aSamplerate, aChannels, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Wav_getLength(IntPtr aObjHandle); public double getLength() { return Wav_getLength(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { Wav_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { Wav_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { Wav_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { Wav_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { Wav_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { Wav_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { Wav_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { Wav_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { Wav_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { Wav_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { Wav_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double Wav_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return Wav_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { Wav_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void Wav_stop(IntPtr aObjHandle); public void stop() { @@ -2990,38 +3016,39 @@ public class Wav : SoloudObject public class WaveShaperFilter : SoloudObject { + private const string nativeLibName = "soloud"; public const int WET = 0; public const int AMOUNT = 1; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr WaveShaperFilter_create(); public WaveShaperFilter() { objhandle = WaveShaperFilter_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr WaveShaperFilter_destroy(IntPtr aObjHandle); ~WaveShaperFilter() { WaveShaperFilter_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WaveShaperFilter_setParams(IntPtr aObjHandle, float aAmount); public int setParams(float aAmount) { return WaveShaperFilter_setParams(objhandle, aAmount); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WaveShaperFilter_getParamCount(IntPtr aObjHandle); public int getParamCount() { return WaveShaperFilter_getParamCount(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr WaveShaperFilter_getParamName(IntPtr aObjHandle, uint aParamIndex); public string getParamName(uint aParamIndex) { @@ -3029,21 +3056,21 @@ public class WaveShaperFilter : SoloudObject return Marshal.PtrToStringAnsi(p); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern uint WaveShaperFilter_getParamType(IntPtr aObjHandle, uint aParamIndex); public uint getParamType(uint aParamIndex) { return WaveShaperFilter_getParamType(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float WaveShaperFilter_getParamMax(IntPtr aObjHandle, uint aParamIndex); public float getParamMax(uint aParamIndex) { return WaveShaperFilter_getParamMax(objhandle, aParamIndex); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern float WaveShaperFilter_getParamMin(IntPtr aObjHandle, uint aParamIndex); public float getParamMin(uint aParamIndex) { @@ -3053,155 +3080,156 @@ public class WaveShaperFilter : SoloudObject public class WavStream : SoloudObject { + private const string nativeLibName = "soloud"; - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr WavStream_create(); public WavStream() { objhandle = WavStream_create(); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr WavStream_destroy(IntPtr aObjHandle); ~WavStream() { WavStream_destroy(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WavStream_load(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int load(string aFilename) { return WavStream_load(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WavStream_loadMemEx(IntPtr aObjHandle, IntPtr aData, uint aDataLen, bool aCopy, bool aTakeOwnership); public int loadMem(IntPtr aData, uint aDataLen, bool aCopy = false, bool aTakeOwnership = true) { return WavStream_loadMemEx(objhandle, aData, aDataLen, aCopy, aTakeOwnership); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WavStream_loadToMem(IntPtr aObjHandle, [MarshalAs(UnmanagedType.LPStr)] string aFilename); public int loadToMem(string aFilename) { return WavStream_loadToMem(objhandle, aFilename); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WavStream_loadFile(IntPtr aObjHandle, IntPtr aFile); public int loadFile(SoloudObject aFile) { return WavStream_loadFile(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern int WavStream_loadFileToMem(IntPtr aObjHandle, IntPtr aFile); public int loadFileToMem(SoloudObject aFile) { return WavStream_loadFileToMem(objhandle, aFile.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double WavStream_getLength(IntPtr aObjHandle); public double getLength() { return WavStream_getLength(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_setVolume(IntPtr aObjHandle, float aVolume); public void setVolume(float aVolume) { WavStream_setVolume(objhandle, aVolume); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_setLooping(IntPtr aObjHandle, int aLoop); public void setLooping(int aLoop) { WavStream_setLooping(objhandle, aLoop); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dMinMaxDistance(IntPtr aObjHandle, float aMinDistance, float aMaxDistance); public void set3dMinMaxDistance(float aMinDistance, float aMaxDistance) { WavStream_set3dMinMaxDistance(objhandle, aMinDistance, aMaxDistance); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dAttenuation(IntPtr aObjHandle, uint aAttenuationModel, float aAttenuationRolloffFactor); public void set3dAttenuation(uint aAttenuationModel, float aAttenuationRolloffFactor) { WavStream_set3dAttenuation(objhandle, aAttenuationModel, aAttenuationRolloffFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dDopplerFactor(IntPtr aObjHandle, float aDopplerFactor); public void set3dDopplerFactor(float aDopplerFactor) { WavStream_set3dDopplerFactor(objhandle, aDopplerFactor); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dListenerRelative(IntPtr aObjHandle, int aListenerRelative); public void set3dListenerRelative(int aListenerRelative) { WavStream_set3dListenerRelative(objhandle, aListenerRelative); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dDistanceDelay(IntPtr aObjHandle, int aDistanceDelay); public void set3dDistanceDelay(int aDistanceDelay) { WavStream_set3dDistanceDelay(objhandle, aDistanceDelay); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dColliderEx(IntPtr aObjHandle, IntPtr aCollider, int aUserData); public void set3dCollider(SoloudObject aCollider, int aUserData = 0) { WavStream_set3dColliderEx(objhandle, aCollider.objhandle, aUserData); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_set3dAttenuator(IntPtr aObjHandle, IntPtr aAttenuator); public void set3dAttenuator(SoloudObject aAttenuator) { WavStream_set3dAttenuator(objhandle, aAttenuator.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_setInaudibleBehavior(IntPtr aObjHandle, int aMustTick, int aKill); public void setInaudibleBehavior(int aMustTick, int aKill) { WavStream_setInaudibleBehavior(objhandle, aMustTick, aKill); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_setLoopPoint(IntPtr aObjHandle, double aLoopPoint); public void setLoopPoint(double aLoopPoint) { WavStream_setLoopPoint(objhandle, aLoopPoint); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern double WavStream_getLoopPoint(IntPtr aObjHandle); public double getLoopPoint() { return WavStream_getLoopPoint(objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_setFilter(IntPtr aObjHandle, uint aFilterId, IntPtr aFilter); public void setFilter(uint aFilterId, SoloudObject aFilter) { WavStream_setFilter(objhandle, aFilterId, aFilter.objhandle); } - [DllImport("soloud_x86.dll", CallingConvention = CallingConvention.Cdecl)] + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] internal static extern void WavStream_stop(IntPtr aObjHandle); public void stop() { diff --git a/src/SlatedGameToolkit.Framework/Exceptions/FrameworkSDLException.cs b/src/SlatedGameToolkit.Framework/Exceptions/FrameworkSDLException.cs deleted file mode 100644 index 51571cc..0000000 --- a/src/SlatedGameToolkit.Framework/Exceptions/FrameworkSDLException.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; - -namespace SlatedGameToolkit.Framework.Exceptions -{ - /// - /// Any errors generated by an SDL feature that the engine requires are wrapped in the form of this type of exception. - /// - public class FrameworkSDLException : SDLException { - - public FrameworkSDLException() : base() { - - } - - public FrameworkSDLException(string message) : base(message) { - - } - - public FrameworkSDLException(string message, Exception inner) : base(message, inner) { - } - } -} \ No newline at end of file diff --git a/src/SlatedGameToolkit.Framework/Exceptions/InternalFrameworkException.cs b/src/SlatedGameToolkit.Framework/Exceptions/InternalFrameworkException.cs index ac03516..8513ec8 100644 --- a/src/SlatedGameToolkit.Framework/Exceptions/InternalFrameworkException.cs +++ b/src/SlatedGameToolkit.Framework/Exceptions/InternalFrameworkException.cs @@ -2,17 +2,20 @@ using System; namespace SlatedGameToolkit.Framework.Exceptions { + /// + /// An exception that is thrown when an error occurrs on the game framework level that shouldn't have occurred and is definitely considered a bug. + /// internal class InternalFrameworkException : FrameworkException { - const string ADDITIONAL_MESSAGE = "\nThis exception is a framework bug!"; + const string ADDITIONAL_MESSAGE = "**This exception is a framework bug!**"; public InternalFrameworkException() : base() { } - public InternalFrameworkException(string message) : base(message + ADDITIONAL_MESSAGE) { + public InternalFrameworkException(string message) : base(message + ' ' + ADDITIONAL_MESSAGE) { } - public InternalFrameworkException(string message, Exception inner) : base(message + ADDITIONAL_MESSAGE, inner) { + public InternalFrameworkException(string message, Exception inner) : base(message + ' ' + ADDITIONAL_MESSAGE, inner) { } } } \ No newline at end of file diff --git a/src/SlatedGameToolkit.Framework/Exceptions/SDLException.cs b/src/SlatedGameToolkit.Framework/Exceptions/SDLException.cs index cb7eb89..8f8addc 100644 --- a/src/SlatedGameToolkit.Framework/Exceptions/SDLException.cs +++ b/src/SlatedGameToolkit.Framework/Exceptions/SDLException.cs @@ -7,7 +7,7 @@ namespace SlatedGameToolkit.Framework.Exceptions /// An SDLException is defined as an exception that is thrown whenever an error occurrs in any SDL functions. /// [Serializable] - public abstract class SDLException : Exception { + public class SDLException : FrameworkException { public string SDLMessage { get; } /// diff --git a/src/SlatedGameToolkit.Framework/Exceptions/SoLoudException.cs b/src/SlatedGameToolkit.Framework/Exceptions/SoLoudException.cs new file mode 100644 index 0000000..2073975 --- /dev/null +++ b/src/SlatedGameToolkit.Framework/Exceptions/SoLoudException.cs @@ -0,0 +1,20 @@ +using System; + +namespace SlatedGameToolkit.Framework.Exceptions +{ + public class SoLoudException : FrameworkException + { + public int ErrorCode { get; private set; } + public SoLoudException(int errorCode) : base(GameEngine.SoLoudEngine.getErrorString(errorCode) + " SoLoud error has occurred.") + { + } + + public SoLoudException(int errorCode, string message) : base(GameEngine.SoLoudEngine.getErrorString(errorCode) + " SoLoud error has occurred: " + message) + { + } + + public SoLoudException(int errorCode, string message, Exception inner) : base(GameEngine.SoLoudEngine.getErrorString(errorCode) + " SoLoud error has occurred: " + message, inner) + { + } + } +} \ No newline at end of file diff --git a/src/SlatedGameToolkit.Framework/GameEngine.cs b/src/SlatedGameToolkit.Framework/GameEngine.cs index c10dc5b..441c6be 100644 --- a/src/SlatedGameToolkit.Framework/GameEngine.cs +++ b/src/SlatedGameToolkit.Framework/GameEngine.cs @@ -3,18 +3,19 @@ using System.Runtime.InteropServices; using System.Threading; using SDL2; using SlatedGameToolkit.Framework.Exceptions; +using SlatedGameToolkit.Framework.Graphics.OpenGL; using SlatedGameToolkit.Framework.Graphics.Window; using SlatedGameToolkit.Framework.Input.Devices; using SlatedGameToolkit.Framework.Logging; using SlatedGameToolkit.Framework.StateSystem; using SlatedGameToolkit.Framework.StateSystem.States; +using SoLoud; namespace SlatedGameToolkit.Framework { /// /// The main engine that will host the game loop. /// public static class GameEngine { - private const int GL_MAJOR_VER = 3, GL_MINOR_VER = 3; public static bool Debugging { get; set; } private static readonly object ignitionLock = new object(); private static readonly object deltaUpdateLock = new object(); @@ -73,7 +74,9 @@ namespace SlatedGameToolkit.Framework { } } - private static void Loop(Object o) { + public static Soloud SoLoudEngine { get; private set; } + + private static void Run(Object o) { if (!(o is IState)) throw new InternalFrameworkException(String.Format("Expected initial state object for asynchronous loop. Got {0}", o)); StateManager manager = new StateManager(); IState initialState = (IState) o; @@ -180,6 +183,7 @@ namespace SlatedGameToolkit.Framework { stopped = true; manager.Dispose(); SDL.SDL_Quit(); + SoLoudEngine.deinit(); WindowContextsManager.DisposeAllWindowContexts(); Logger.Log("Game engine has gracefully stopped."); Logger.FlushListeners(); @@ -223,19 +227,37 @@ namespace SlatedGameToolkit.Framework { } } exit = false; + Logger.Log("Initializing SDL video subsystem."); if (SDL.SDL_Init(SDL.SDL_INIT_VIDEO) != 0) { - throw new FrameworkSDLException(); - } - if (SDL.SDL_Init(SDL.SDL_INIT_AUDIO) != 0) { - throw new FrameworkSDLException(); + throw new SDLException(); } - if (SDL.SDL_GL_SetAttribute(SDL.SDL_GLattr.SDL_GL_CONTEXT_MAJOR_VERSION, GL_MAJOR_VER) < 0 || - SDL.SDL_GL_SetAttribute(SDL.SDL_GLattr.SDL_GL_CONTEXT_MINOR_VERSION, GL_MINOR_VER) < 0 || + Logger.Log("Initializing SDL audio subsystem."); + if (SDL.SDL_Init(SDL.SDL_INIT_AUDIO) != 0) { + throw new SDLException(); + } + Logger.Log("Initializing SoLoud Engine."); + SoLoudEngine = new Soloud(); + int error = SoLoudEngine.init(aBackend: Soloud.SDL2); + if (error != 0) { + throw new SoLoudException(error); + } + uint soLoudVer = SoLoudEngine.getVersion(); + if (soLoudVer != Soloud.SOLOUD_VER) { + if (soLoudVer < Soloud.SOLOUD_VER) { + throw new FrameworkUsageException(string.Format("SoLoud version is out-dated! Detected version {0}. Minimum version requirement is {1}", soLoudVer, Soloud.SOLOUD_VER)); + } else { + Logger.Log(string.Format("SoLoud version detected is {0} which is newer than version used to build framework (ver. {1}).", soLoudVer, Soloud.SOLOUD_VER), LogLevel.WARNING); + } + } + + if (SDL.SDL_GL_SetAttribute(SDL.SDL_GLattr.SDL_GL_CONTEXT_MAJOR_VERSION, GLContext.GL_MAJOR_VER) < 0 || + SDL.SDL_GL_SetAttribute(SDL.SDL_GLattr.SDL_GL_CONTEXT_MINOR_VERSION, GLContext.GL_MINOR_VER) < 0 || SDL.SDL_GL_SetAttribute(SDL.SDL_GLattr.SDL_GL_CONTEXT_PROFILE_MASK, SDL.SDL_GLprofile.SDL_GL_CONTEXT_PROFILE_CORE) < 0) - throw new FrameworkSDLException(string.Format("Unable to load correct OpenGL version {0}.{1}.0 Core.", GL_MINOR_VER, GL_MAJOR_VER)); + throw new SDLException(string.Format("Unable to retrieve correct OpenGL version {0}.{1}.0 Core.", GLContext.GL_MINOR_VER, GLContext.GL_MAJOR_VER)); + Logger.Log(string.Format("OpenGL version set to {0}.{1}.0 Core.", GLContext.GL_MAJOR_VER, GLContext.GL_MINOR_VER)); - thread = new Thread(Loop); + thread = new Thread(Run); thread.Name = "SGTK-Engine"; thread.Priority = ThreadPriority.AboveNormal; thread.Start(initialState); diff --git a/src/SlatedGameToolkit.Framework/Graphics/OpenGL/GLContext.cs b/src/SlatedGameToolkit.Framework/Graphics/OpenGL/GLContext.cs index a4f2ebd..94219d6 100644 --- a/src/SlatedGameToolkit.Framework/Graphics/OpenGL/GLContext.cs +++ b/src/SlatedGameToolkit.Framework/Graphics/OpenGL/GLContext.cs @@ -13,6 +13,7 @@ namespace SlatedGameToolkit.Framework.Graphics.OpenGL [SuppressMessage("ReSharper", "InconsistentNaming")] public class GLContext : IDisposable { + public const int GL_MAJOR_VER = 3, GL_MINOR_VER = 3; #region OpenGLFunctions public IntPtr Handle { get; private set; } @@ -3173,7 +3174,7 @@ namespace SlatedGameToolkit.Framework.Graphics.OpenGL GetProcAddressHandler loader = SDL.SDL_GL_GetProcAddress; Handle = SDL.SDL_GL_CreateContext(windowHandle); if (Handle == null) { - throw new FrameworkSDLException(); + throw new SDLException(); } #region OpenGLDelegateAssignment diff --git a/src/SlatedGameToolkit.Framework/Graphics/Window/WindowContext.cs b/src/SlatedGameToolkit.Framework/Graphics/Window/WindowContext.cs index 12939c9..1a95d8c 100644 --- a/src/SlatedGameToolkit.Framework/Graphics/Window/WindowContext.cs +++ b/src/SlatedGameToolkit.Framework/Graphics/Window/WindowContext.cs @@ -248,7 +248,7 @@ namespace SlatedGameToolkit.Framework.Graphics.Window internal uint WindowID { get { uint id = SDL.SDL_GetWindowID(windowHandle); - if (id == 0) throw new FrameworkSDLException(); + if (id == 0) throw new SDLException(); return id; } } @@ -260,7 +260,7 @@ namespace SlatedGameToolkit.Framework.Graphics.Window Logger.Log(String.Format("Starting openGL window with title \"{0}\"", title)); windowHandle = SDL.SDL_CreateWindow(title, x < 0 ? SDL.SDL_WINDOWPOS_CENTERED : x, y < 0 ? SDL.SDL_WINDOWPOS_CENTERED : y, width, height, SDL.SDL_WindowFlags.SDL_WINDOW_INPUT_FOCUS | SDL.SDL_WindowFlags.SDL_WINDOW_OPENGL | SDL.SDL_WindowFlags.SDL_WINDOW_MOUSE_FOCUS | options); if (windowHandle == null) { - throw new FrameworkSDLException(); + throw new SDLException(); } this.Context = new GLContext(windowHandle); @@ -338,7 +338,7 @@ namespace SlatedGameToolkit.Framework.Graphics.Window /// An integer representing the display this window resides within. public int GetDisplayIndex() { int index = SDL.SDL_GetWindowDisplayIndex(windowHandle); - if (index < 0) throw new FrameworkSDLException(); + if (index < 0) throw new SDLException(); return index; } diff --git a/src/SlatedGameToolkit.Framework/SlatedGameToolkit.Framework.csproj b/src/SlatedGameToolkit.Framework/SlatedGameToolkit.Framework.csproj index e349bae..73acf2e 100644 --- a/src/SlatedGameToolkit.Framework/SlatedGameToolkit.Framework.csproj +++ b/src/SlatedGameToolkit.Framework/SlatedGameToolkit.Framework.csproj @@ -12,6 +12,5 @@ - diff --git a/src/SlatedGameToolkit.Framework/deps/SDL2.dll b/src/SlatedGameToolkit.Framework/deps/SDL2.dll deleted file mode 100644 index 31318624bd79c3ff59297f9afaa341bd3e659378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1471488 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 EM&UaH{3TL9>JfJ{tJSO$#JrYh-s+KI%joAGc{o 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¨9Xua; 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ÂxleGk(1-2%JF9@ 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≺ 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