diff --git a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs index 46a79a7e11..8adf690f0f 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs @@ -214,6 +214,9 @@ namespace BizHawk.Emulation.Consoles.Nintendo.N64 [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void ReadAudioBuffer(short[] dest); ReadAudioBuffer AudReadAudioBuffer; + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + private delegate int GetAudioRate(); + GetAudioRate AudGetAudioRate; // This has the same calling pattern for all the plugins [UnmanagedFunctionPointer(CallingConvention.Cdecl)] @@ -288,6 +291,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo.N64 AudPluginStartup = (PluginStartup)Marshal.GetDelegateForFunctionPointer(GetProcAddress(AudDll, "PluginStartup"), typeof(PluginStartup)); AudGetBufferSize = (GetBufferSize)Marshal.GetDelegateForFunctionPointer(GetProcAddress(AudDll, "GetBufferSize"), typeof(GetBufferSize)); AudReadAudioBuffer = (ReadAudioBuffer)Marshal.GetDelegateForFunctionPointer(GetProcAddress(AudDll, "ReadAudioBuffer"), typeof(ReadAudioBuffer)); + AudGetAudioRate = (GetAudioRate)Marshal.GetDelegateForFunctionPointer(GetProcAddress(AudDll, "GetAudioRate"), typeof(GetAudioRate)); RspPluginStartup = (PluginStartup)Marshal.GetDelegateForFunctionPointer(GetProcAddress(RspDll, "PluginStartup"), typeof(PluginStartup)); diff --git a/BizHawk.MultiClient/output/dll/mupen64plus-audio-bkm.dll b/BizHawk.MultiClient/output/dll/mupen64plus-audio-bkm.dll index da023ba69f..57bd43f4b7 100644 Binary files a/BizHawk.MultiClient/output/dll/mupen64plus-audio-bkm.dll and b/BizHawk.MultiClient/output/dll/mupen64plus-audio-bkm.dll differ diff --git a/libmupen64plus/mupen64plus-audio-bkm/main.c b/libmupen64plus/mupen64plus-audio-bkm/main.c index 43f681b9d2..f6c83ff798 100644 --- a/libmupen64plus/mupen64plus-audio-bkm/main.c +++ b/libmupen64plus/mupen64plus-audio-bkm/main.c @@ -745,4 +745,9 @@ EXPORT void CALL ReadAudioBuffer(short* dest) EXPORT int CALL GetBufferSize() { return buffer_pos/2; +} + +EXPORT int CALL GetAudioRate() +{ + return GameFreq; } \ No newline at end of file