ref: 073e710f685a10c2084f6c04fbc4fe7c87530d93
parent: 13d6fa2bd924f9b305f808b258dbb0b22e90f019
author: Simon Howard <fraggle@gmail.com>
date: Sat Oct 3 18:43:07 EDT 2009
Use Mix_HookMusic rather than Mix_SetPostMix for OPL emulation, to avoid conflict with PC speaker emulation. Subversion-branch: /branches/opl-branch Subversion-revision: 1706
--- a/opl/opl_sdl.c
+++ b/opl/opl_sdl.c
@@ -160,8 +160,8 @@
for (i=0; i<nsamples; ++i)
{
- buffer[i * 2] += mix_buffer[i] / 2;
- buffer[i * 2 + 1] += mix_buffer[i] / 2;
+ buffer[i * 2] = mix_buffer[i];
+ buffer[i * 2 + 1] = mix_buffer[i];
}
}
@@ -225,7 +225,7 @@
static void OPL_SDL_Shutdown(void)
{
- Mix_SetPostMix(NULL, NULL);
+ Mix_HookMusic(NULL, NULL);
if (sdl_was_initialized)
{
@@ -356,7 +356,7 @@
callback_queue_mutex = SDL_CreateMutex();
// TODO: This should be music callback? or-?
- Mix_SetPostMix(OPL_Mix_Callback, NULL);
+ Mix_HookMusic(OPL_Mix_Callback, NULL);
return 1;
}