--- uae/src/xwin.c 2018/04/24 16:47:20 1.1.1.7 +++ uae/src/xwin.c 2018/04/24 16:48:36 1.1.1.8 @@ -449,7 +449,7 @@ void flush_screen (int ystart, int ystop #endif } -static __inline__ int bitsInMask (unsigned long mask) +STATIC_INLINE int bitsInMask (unsigned long mask) { /* count bits in mask */ int n = 0; @@ -460,7 +460,7 @@ static __inline__ int bitsInMask (unsign return n; } -static __inline__ int maskShift (unsigned long mask) +STATIC_INLINE int maskShift (unsigned long mask) { /* determine how far mask is shifted */ int n = 0; @@ -1860,19 +1860,18 @@ static void handle_inhibit (void) static void handle_interpol (void) { - if (sample_handler == sample16si_handler) { - sample_handler = sample16s_handler; - printf ("Interpol off\n"); + if (currprefs.sound_interpol == 0) { + currprefs.sound_interpol = 1; + printf ("Interpol on: rh\n"); + } + else if (currprefs.sound_interpol == 1) { + currprefs.sound_interpol = 2; + printf ("Interpol on: crux\n"); } - else if (sample_handler == sample16s_handler) { - sample_handler = sample16si_handler; - printf ("Interpol on\n"); - } - else if (sample_handler == sample16i_handler) - sample_handler = sample16_handler; - else if (sample_handler == sample16_handler) - sample_handler = sample16i_handler; - + else { + currprefs.sound_interpol = 0; + printf ("Interpol off\n"); + } } static void framerate_up (void)