Index: roard/include/mixer.h
===================================================================
--- roard/include/mixer.h	(revision 2149)
+++ roard/include/mixer.h	(revision 2932)
@@ -28,10 +28,4 @@
 #include <roaraudio.h>
 
-int mix_clients       (void * output, int bits, void ** input, int samples);
-int mix_clients_8bit  (void * output, void ** input, int samples);
-int mix_clients_16bit (void * output, void ** input, int samples);
-int mix_clients_24bit (void * output, void ** input, int samples);
-int mix_clients_32bit (void * output, void ** input, int samples);
-
 int change_vol       (void * output, int bits, void * input, int samples, int channels, struct roar_mixer_settings * set);
 int change_vol_8bit  (void * output, void * input, int samples, int channels, struct roar_mixer_settings * set);
Index: roard/loop.c
===================================================================
--- roard/loop.c	(revision 2530)
+++ roard/loop.c	(revision 2932)
@@ -97,5 +97,5 @@
   } else {
    if ( ( streams = streams_get_mixbuffers(&streams_input, sa, g_pos)) != -1 ) {
-    mix_clients(g_output_buffer, sa->bits, streams_input, ROAR_OUTPUT_BUFFER_SAMPLES * sa->channels);
+    roar_mix_pcm(g_output_buffer, sa->bits, streams_input, ROAR_OUTPUT_BUFFER_SAMPLES * sa->channels);
    }
   }
Index: roard/mixer.c
===================================================================
--- roard/mixer.c	(revision 2149)
+++ roard/mixer.c	(revision 2932)
@@ -24,109 +24,4 @@
 
 #include "roard.h"
-
-int mix_clients (void * output, int bits, void ** input, int samples) {
- if ( bits == 8 ) {
-  return mix_clients_8bit(output, input, samples);
- } else if ( bits == 16 ) {
-  return mix_clients_16bit(output, input, samples);
- } else if ( bits == 24 ) {
-  return mix_clients_24bit(output, input, samples);
- } else if ( bits == 32 ) {
-  return mix_clients_32bit(output, input, samples);
- } else {
-  return -1;
- }
-}
-
-int mix_clients_8bit (void * output, void ** input, int samples) {
- int i, s;
- register int c;
-
- for (s = 0; s < samples; s++) {
-  c = 0;
-
-  for (i = 0; input[i] != NULL; i++)
-   c += ((char**)input)[i][s];
-
-  if ( c > 127 )
-   c = 127;
-  else if ( c < -128 )
-   c = -128;
-  ((char*)output)[s] = (char)c;
- }
-
- return 0;
-}
-
-int mix_clients_16bit (void * output, void ** input, int samples) {
- int i, s;
- register int_least32_t c;
- int16_t ** in  = (int16_t**) input;
- int16_t *  out = output;
-
-#ifdef DEBUG
- for (i = 0; input[i] != NULL; i++)
-  ROAR_DBG("mix_clients_16bit(*): input[%i] = %p", i, input[i]);
-#endif
-
-/*
- if ( input[0] != NULL )
-  write(1, input[0], samples*2);
-*/
-
-/*
- if ( input[0] != NULL ) {
-  memcpy(output, input[0], samples*2);
-  return -1;
- }
-*/
-
- for (s = 0; s < samples; s++) {
-  c = 0;
-  for (i = 0; input[i] != NULL; i++) {
-//   printf("D: input[i=%i] = %p\n", i, input[i]);
-   c += in[i][s];
-  }
-
-  if ( c > 32767 )
-   c = 32767;
-  else if ( c < -32768 )
-   c = -32768;
-
-  out[s] = c;
- }
-
- return 0;
-}
-
-int mix_clients_24bit (void * output, void ** input, int samples) {
- return -1;
-}
-
-int mix_clients_32bit (void * output, void ** input, int samples) {
-#ifdef ROAR_NATIVE_INT64
- int32_t ** in  = (int32_t**) input;
- int32_t *  out = (int32_t* ) output;
- int i, s;
- ROAR_NATIVE_INT64 c;
-
- for (s = 0; s < samples; s++) {
-  c = 0;
-
-  for (i = 0; input[i]; i++)
-   c += in[i][s];
-
-  if ( c > 21474836487LL )
-   c = 2147483647LL;
-  else if ( c < -2147483648LL )
-   c = -2147483648LL;
-  out[s] = (int32_t)c;
- }
-
- return  0;
-#else
- return -1;
-#endif
-}
 
 int change_vol (void * output, int bits, void * input, int samples, int channels, struct roar_mixer_settings * set) {
Index: roard/ssynth.c
===================================================================
--- roard/ssynth.c	(revision 2489)
+++ roard/ssynth.c	(revision 2932)
@@ -171,5 +171,5 @@
   }
 
-  if ( mix_clients(outbufdata, g_sa->bits, indbufs, ROAR_OUTPUT_BUFFER_SAMPLES) == -1 ) {
+  if ( roar_mix_pcm(outbufdata, g_sa->bits, indbufs, ROAR_OUTPUT_BUFFER_SAMPLES) == -1 ) {
    roar_buffer_free(outbuf);
    return -1;
