public System.IO.Stream DoResampler(DriverModels.EngineInput Args) { System.IO.MemoryStream ms = new System.IO.MemoryStream(); if (!_isLegalPlugin) { return(ms); } try { IntPtr hModule = LoadLibrary(DllPath); if (hModule == IntPtr.Zero) { _isLegalPlugin = false; } else { IntPtr m = GetProcAddress(hModule, "DoResampler"); if (m != IntPtr.Zero) { DoResamplerDelegate g = (DoResamplerDelegate)Marshal.GetDelegateForFunctionPointer(m, typeof(DoResamplerDelegate)); DriverModels.EngineOutput Output = Intptr2EngineOutput(g(Args)); ms = new System.IO.MemoryStream(Output.wavData); } FreeLibrary(hModule); } } catch {; } return(ms); }
public System.IO.Stream DoResampler(DriverModels.EngineInput Args) { System.IO.MemoryStream ms = new System.IO.MemoryStream(); if (!_isLegalPlugin) { return(ms); } if (DoResamplerMethod != null) { object inputarg = CopyObjectToNewType(Args, DoResamplerMethod.GetParameters()[0].ParameterType); object ret = DoResamplerMethod.Invoke(null, new object[1] { inputarg }); DriverModels.EngineOutput Out = (DriverModels.EngineOutput)CopyObjectToNewType(ret, typeof(DriverModels.EngineOutput)); ms = new System.IO.MemoryStream(Out.wavData); } return(ms); }