Index: examples/aubionotes.c
===================================================================
--- examples/aubionotes.c	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/aubionotes.c	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -23,4 +23,6 @@
 #define PROG_HAS_PITCH 1
 #define PROG_HAS_ONSET 1
+#define PROG_HAS_JACK 1
+// TODO add PROG_HAS_OUTPUT
 #include "parse_args.h"
 
Index: examples/aubioonset.c
===================================================================
--- examples/aubioonset.c	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/aubioonset.c	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -21,4 +21,6 @@
 #include "utils.h"
 #define PROG_HAS_ONSET 1
+#define PROG_HAS_OUTPUT 1
+#define PROG_HAS_JACK 1
 #include "parse_args.h"
 
@@ -36,5 +38,8 @@
     aubio_wavetable_stop ( wavetable );
   }
-  aubio_wavetable_do (wavetable, obuf, obuf);
+  if (mix_input)
+    aubio_wavetable_do (wavetable, ibuf, obuf);
+  else
+    aubio_wavetable_do (wavetable, obuf, obuf);
 }
 
Index: examples/aubiopitch.c
===================================================================
--- examples/aubiopitch.c	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/aubiopitch.c	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -21,4 +21,6 @@
 #include "utils.h"
 #define PROG_HAS_PITCH 1
+#define PROG_HAS_OUTPUT 1
+#define PROG_HAS_JACK 1
 #include "parse_args.h"
 
@@ -33,10 +35,10 @@
   smpl_t freq = fvec_read_sample(pitch, 0);
   aubio_wavetable_set_amp ( wavetable, aubio_level_lin (ibuf) );
-  if (freq != 0.0) {
-    aubio_wavetable_set_freq ( wavetable, freq );
-  } else {
-    aubio_wavetable_set_freq ( wavetable, 0.0 );
-  }
-  aubio_wavetable_do (wavetable, obuf, obuf);
+  aubio_wavetable_set_freq ( wavetable, freq );
+
+  if (mix_input)
+    aubio_wavetable_do (wavetable, ibuf, obuf);
+  else
+    aubio_wavetable_do (wavetable, obuf, obuf);
 }
 
Index: examples/aubiotrack.c
===================================================================
--- examples/aubiotrack.c	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/aubiotrack.c	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -21,4 +21,6 @@
 #include "utils.h"
 #define PROG_HAS_TEMPO 1
+#define PROG_HAS_OUTPUT 1
+#define PROG_HAS_JACK 1
 #include "parse_args.h"
 
@@ -39,5 +41,8 @@
     aubio_wavetable_stop ( wavetable );
   }
-  aubio_wavetable_do (wavetable, obuf, obuf);
+  if (mix_input)
+    aubio_wavetable_do (wavetable, ibuf, obuf);
+  else
+    aubio_wavetable_do (wavetable, obuf, obuf);
 }
 
Index: examples/parse_args.h
===================================================================
--- examples/parse_args.h	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/parse_args.h	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -63,9 +63,11 @@
       "       -h      --help             display this message\n"
       "       -v      --verbose          be verbose\n"
-#ifdef HAVE_JACK
+#ifdef PROG_HAS_JACK
       "       -j      --jack             use Jack\n"
 #endif
       "       -i      --input            input type\n"
+#ifdef PROG_HAS_OUTPUT
       "       -o      --output           output type\n"
+#endif
       "       -r      --samplerate       select samplerate\n"
       "       -B      --bufsize          set buffer size\n"
@@ -81,5 +83,7 @@
 #endif /* PROG_HAS_PITCH */
       "       -s      --silence          select silence threshold\n"
+#ifdef PROG_HAS_OUTPUT
       "       -m      --mix-input        mix input signal with output signal\n"
+#endif
       );
   exit (exit_code);
@@ -90,8 +94,11 @@
 {
   const char *options = "hv"
-#ifdef HAVE_JACK
+    "i:r:B:H:"
+#ifdef PROG_HAS_JACK
     "j"
-#endif
-    "i:o:r:B:H:"
+#endif /* PROG_HAS_JACK */
+#ifdef PROG_HAS_OUTPUT
+    "o:"
+#endif /* PROG_HAS_OUTPUT */
 #ifdef PROG_HAS_ONSET
     "O:t:"
@@ -105,12 +112,14 @@
     {"help",                  0, NULL, 'h'},
     {"verbose",               0, NULL, 'v'},
-#ifdef HAVE_JACK
-    {"jack",                  0, NULL, 'j'},
-#endif
     {"input",                 1, NULL, 'i'},
-    {"output",                1, NULL, 'o'},
     {"samplerate",            1, NULL, 'r'},
     {"bufsize",               1, NULL, 'B'},
     {"hopsize",               1, NULL, 'H'},
+#ifdef PROG_HAS_JACK
+    {"jack",                  0, NULL, 'j'},
+#endif /* PROG_HAS_JACK */
+#ifdef PROG_HAS_OUTPUT
+    {"output",                1, NULL, 'o'},
+#endif /* PROG_HAS_OUTPUT */
 #ifdef PROG_HAS_ONSET
     {"onset",                 1, NULL, 'O'},
@@ -191,4 +200,5 @@
   while (next_option != -1);
 
+  // if unique, use the non option argument as the source
   if ( source_uri == NULL ) {
     if (argc - optind == 1) {
@@ -203,12 +213,8 @@
   }
 
-  if (source_uri != NULL) {
-    debug ("Input file : %s\n", source_uri);
-  } else if (source_uri != NULL && sink_uri != NULL) {
-    debug ("Input file : %s\n", source_uri);
-    debug ("Output file : %s\n", sink_uri);
-  } else {
+  // if no source, show a message
+  if (source_uri == NULL) {
 #if HAVE_JACK
-    debug ("Jack input output\n");
+    verbmsg("No input source given, using jack\n");
     usejack = 1;
 #else
Index: examples/utils.c
===================================================================
--- examples/utils.c	(revision 466dff300724c1e61b6aa2e3b1ae3fc398a30ed6)
+++ examples/utils.c	(revision 3da81878b19a25942a8254804c6dfdb4c6d4e7f0)
@@ -186,7 +186,7 @@
 #endif
   if (velo == 0) {
-    outmsg ("%f\n", blocks * hop_size / (float) samplerate);
+    verbmsg ("%f\n", blocks * hop_size / (float) samplerate);
   } else {
-    outmsg ("%f\t%f\t", mpitch, blocks * hop_size / (float) samplerate);
+    verbmsg ("%f\t%f\t", mpitch, blocks * hop_size / (float) samplerate);
   }
 }
