Index: tests/src/io/test-sink_apple_audio.c
===================================================================
--- tests/src/io/test-sink_apple_audio.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
+++ tests/src/io/test-sink_apple_audio.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
@@ -0,0 +1,53 @@
+#define AUBIO_UNSTABLE 1
+#include <aubio.h>
+#include "utils_tests.h"
+
+// this file uses the unstable aubio api, please use aubio_sink instead
+// see src/io/sink.h and tests/src/sink/test-sink.c
+
+int main (int argc, char **argv)
+{
+  sint_t err = 0;
+
+  if (argc < 3) {
+    err = 2;
+    PRINT_ERR("not enough arguments\n");
+    PRINT_MSG("usage: %s <input_path> <output_path> [samplerate]\n", argv[0]);
+    return err;
+  }
+
+#ifdef __APPLE__
+  uint_t samplerate = 44100;
+  uint_t hop_size = 512;
+  uint_t n_frames = 0, read = 0;
+
+  char_t *source_path = argv[1];
+  char_t *sink_path = argv[2];
+  if ( argc == 4 ) samplerate = atoi(argv[3]);
+
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_apple_audio_t *i = new_aubio_source_apple_audio(source_path, samplerate, hop_size);
+  if (samplerate == 0 ) samplerate = aubio_source_apple_audio_get_samplerate(i);
+  aubio_sink_apple_audio_t *o = new_aubio_sink_apple_audio(sink_path, samplerate);
+
+  if (!i || !o) { err = 1; goto beach; }
+
+  do {
+    aubio_source_apple_audio_do(i, vec, &read);
+    aubio_sink_apple_audio_do(o, vec, read);
+    n_frames += read;
+  } while ( read == hop_size );
+
+  PRINT_MSG("%d frames read from %s\n written to %s at %dHz\n",
+      n_frames, source_path, sink_path, samplerate);
+
+beach:
+  del_aubio_source_apple_audio(i);
+  del_aubio_sink_apple_audio(o);
+  del_fvec(vec);
+#else
+  err = 3;
+  PRINT_ERR("aubio was not compiled with aubio_source_apple_audio\n");
+#endif /* __APPLE__ */
+  return err;
+}
Index: tests/src/io/test-sink_apple_audio_file.c
===================================================================
--- tests/src/io/test-sink_apple_audio_file.c	(revision 7e35b375ba2022da23a46afda00d575aaa5c9206)
+++ 	(revision )
@@ -1,50 +1,0 @@
-#define AUBIO_UNSTABLE 1
-#include <aubio.h>
-#include "utils_tests.h"
-
-int main (int argc, char **argv)
-{
-  sint_t err = 0;
-
-  if (argc < 3) {
-    err = 2;
-    PRINT_ERR("not enough arguments\n");
-    PRINT_MSG("usage: %s <input_path> <output_path> [samplerate]\n", argv[0]);
-    return err;
-  }
-
-#ifdef __APPLE__
-  uint_t samplerate = 44100;
-  uint_t hop_size = 512;
-  uint_t n_frames = 0, read = 0;
-
-  char_t *source_path = argv[1];
-  char_t *sink_path = argv[2];
-  if ( argc == 4 ) samplerate = atoi(argv[3]);
-
-  fvec_t *vec = new_fvec(hop_size);
-  aubio_source_apple_audio_t *i = new_aubio_source_apple_audio(source_path, samplerate, hop_size);
-  if (samplerate == 0 ) samplerate = aubio_source_apple_audio_get_samplerate(i);
-  aubio_sink_apple_audio_t *o = new_aubio_sink_apple_audio(sink_path, samplerate);
-
-  if (!i || !o) { err = 1; goto beach; }
-
-  do {
-    aubio_source_apple_audio_do(i, vec, &read);
-    aubio_sink_apple_audio_do(o, vec, read);
-    n_frames += read;
-  } while ( read == hop_size );
-
-  PRINT_MSG("%d frames read from %s\n written to %s at %dHz\n",
-      n_frames, source_path, sink_path, samplerate);
-
-beach:
-  del_aubio_source_apple_audio(i);
-  del_aubio_sink_apple_audio(o);
-  del_fvec(vec);
-#else
-  PRINT_ERR("aubio was not compiled with aubio_source_apple_audio\n");
-  err = 3;
-#endif /* __APPLE__ */
-  return err;
-}
Index: tests/src/io/test-sink_sndfile.c
===================================================================
--- tests/src/io/test-sink_sndfile.c	(revision 7e35b375ba2022da23a46afda00d575aaa5c9206)
+++ tests/src/io/test-sink_sndfile.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
@@ -1,4 +1,8 @@
+#define AUBIO_UNSTABLE 1
 #include <aubio.h>
 #include "utils_tests.h"
+
+// this file uses the unstable aubio api, please use aubio_sink instead
+// see src/io/sink.h and tests/src/sink/test-sink.c
 
 int main (int argc, char **argv)
@@ -43,6 +47,6 @@
   del_fvec(vec);
 #else
+  err = 3;
   PRINT_ERR("aubio was not compiled with aubio_source_sndfile\n");
-  err = 3;
 #endif /* HAVE_SNDFILE */
   return err;
Index: tests/src/io/test-source_apple_audio.c
===================================================================
--- tests/src/io/test-source_apple_audio.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
+++ tests/src/io/test-source_apple_audio.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
@@ -0,0 +1,46 @@
+#define AUBIO_UNSTABLE 1
+#include <aubio.h>
+#include "utils_tests.h"
+
+// this file uses the unstable aubio api, please use aubio_source instead
+// see src/io/source.h and tests/src/source/test-source.c
+
+int main (int argc, char **argv)
+{
+  uint_t err = 0;
+  if (argc < 2) {
+    err = 2;
+    PRINT_ERR("not enough arguments\n");
+    PRINT_MSG("usage: %s <source_path> [samplerate]\n", argv[0]);
+    return err;
+  }
+
+#if __APPLE__
+  uint_t samplerate = 32000;
+  uint_t hop_size = 256;
+  uint_t n_frames = 0, read = 0;
+  if ( argc == 3 ) samplerate = atoi(argv[2]);
+
+  char_t *source_path = argv[1];
+
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_apple_audio_t * s = new_aubio_source_apple_audio(source_path, samplerate, hop_size);
+  if (samplerate == 0 ) samplerate = aubio_source_apple_audio_get_samplerate(s);
+
+  if (!s) { err = 1; goto beach; }
+
+  do {
+    aubio_source_apple_audio_do(s, vec, &read);
+    // fvec_print (vec);
+    n_frames += read;
+  } while ( read == hop_size );
+
+beach:
+  del_aubio_source_apple_audio (s);
+  del_fvec (vec);
+#else
+  err = 3;
+  PRINT_ERR("aubio was not compiled with aubio_source_apple_audio\n");
+#endif /* __APPLE__ */
+  return 0;
+}
Index: tests/src/io/test-source_apple_audio_file.c
===================================================================
--- tests/src/io/test-source_apple_audio_file.c	(revision 7e35b375ba2022da23a46afda00d575aaa5c9206)
+++ 	(revision )
@@ -1,43 +1,0 @@
-#define AUBIO_UNSTABLE 1
-#include <aubio.h>
-#include "utils_tests.h"
-
-int main (int argc, char **argv)
-{
-  uint_t err = 0;
-  if (argc < 2) {
-    err = 2;
-    PRINT_ERR("not enough arguments\n");
-    PRINT_MSG("usage: %s <source_path> [samplerate]\n", argv[0]);
-    return err;
-  }
-
-#if __APPLE__
-  uint_t samplerate = 32000;
-  uint_t hop_size = 256;
-  uint_t n_frames = 0, read = 0;
-  if ( argc == 3 ) samplerate = atoi(argv[2]);
-
-  char_t *source_path = argv[1];
-
-  fvec_t *vec = new_fvec(hop_size);
-  aubio_source_apple_audio_t * s = new_aubio_source_apple_audio(source_path, samplerate, hop_size);
-  if (samplerate == 0 ) samplerate = aubio_source_apple_audio_get_samplerate(s);
-
-  if (!s) { err = 1; goto beach; }
-
-  do {
-    aubio_source_apple_audio_do(s, vec, &read);
-    // fvec_print (vec);
-    n_frames += read;
-  } while ( read == hop_size );
-
-beach:
-  del_aubio_source_apple_audio (s);
-  del_fvec (vec);
-#else
-  err = 3;
-  PRINT_ERR("aubio was not compiled with aubio_source_apple_audio\n");
-#endif /* __APPLE__ */
-  return 0;
-}
Index: tests/src/io/test-source_sndfile.c
===================================================================
--- tests/src/io/test-source_sndfile.c	(revision 7e35b375ba2022da23a46afda00d575aaa5c9206)
+++ tests/src/io/test-source_sndfile.c	(revision 52e5d6965f117fd1b5ff2513cfd47d38ee54724e)
@@ -1,4 +1,8 @@
+#define AUBIO_UNSTABLE 1
 #include <aubio.h>
 #include "utils_tests.h"
+
+// this file uses the unstable aubio api, please use aubio_source instead
+// see src/io/source.h and tests/src/source/test-source.c
 
 int main (int argc, char **argv)
@@ -36,6 +40,6 @@
   del_fvec (vec);
 #else
+  err = 3;
   PRINT_ERR("aubio was not compiled with aubio_source_sndfile\n");
-  err = 2;
 #endif /* HAVE_SNDFILE */
   return err;
