use os conditionals, update python swig and puredata external Makefiles
[aubio.git] / python / aubiocut
index 4d8feeda6a178ef7da7ad7a415d07f4e1648c830..7f1b4735cbe1c1b55bbf12c35b8f72d16ce35d02 100755 (executable)
@@ -5,7 +5,7 @@
 """
 
 import sys
-from aubio.tasks import *
+from aubio.task import *
 
 usage = "usage: %s [options] -i soundfile" % sys.argv[0]
 
@@ -26,11 +26,11 @@ def parse_args():
                           action="store", dest="hopsize", default=256, 
                           help="overlap size [default=256]")
         parser.add_option("-t","--threshold",
-                          action="store", dest="threshold", default=0.650
-                          help="onset peak picking threshold [default=0.650]")
+                          action="store", dest="threshold", default=0.3
+                          help="onset peak picking threshold [default=0.3]")
         parser.add_option("-C","--dcthreshold",
-                          action="store", dest="dcthreshold", default=-1., 
-                          help="onset peak picking DC component [default=-1.]")
+                          action="store", dest="dcthreshold", default=1., 
+                          help="onset peak picking DC component [default=1.]")
         parser.add_option("-s","--silence",
                           action="store", dest="silence", default=-70, 
                           help="silence threshold [default=-70]")
@@ -61,15 +61,24 @@ def parse_args():
         parser.add_option("-p","--plot",
                           action="store_true", dest="plot", default=False, 
                           help="draw plot")
-       parser.add_option("-f","--function",
-                         action="store_true", dest="func", default=False, 
-                         help="print detection function")
+        parser.add_option("-x","--xsize",
+                          action="store", dest="xsize", default=1., 
+                          type='float', help="define xsize for plot")
+        parser.add_option("-y","--ysize",
+                          action="store", dest="ysize", default=1., 
+                          type='float', help="define ysize for plot")
+        parser.add_option("-f","--function",
+                          action="store_true", dest="func", default=False, 
+                          help="print detection function")
         parser.add_option("-n","--no-onsets",
                           action="store_true", dest="nplot", default=False, 
-                          help="plot only detection functions")
+                          help="do not plot detected onsets")
         parser.add_option("-O","--outplot",
                           action="store", dest="outplot", default=None, 
                           help="save plot to output.{ps,png}")
+        parser.add_option("-F","--spectrogram",
+                          action="store_true", dest="spectro", default=False,
+                          help="add spectrogram to the plot")
         parser.add_option("-v","--verbose",
                           action="store_true", dest="verbose", default=False,
                           help="make lots of noise [default]")
@@ -124,13 +133,23 @@ for i in range(len(modes)):
                ofunc = filetask.ofunc
                lofunc.append(ofunc)
 
-       if options.plot: filetask.plot(onsets, ofunc, wplot, oplots, nplot=options.nplot)
+       if options.plot:
+               if options.beat: 
+                       filetask.plot(oplots, onsets)
+               else:
+                       filetask.plot(onsets, ofunc, wplot, oplots, nplot=options.nplot)
 
        if options.func: 
                for i in ofunc: 
                        print i 
 
-if options.plot: filetask.plotplot(wplot, oplots, outplot=options.outplot)
+if options.outplot:
+  extension = options.outplot.split('.')[-1] 
+  outplot = '.'.join(options.outplot.split('.')[:-1])
+else:
+  extension,outplot = None,None
+if options.plot: filetask.plotplot(wplot, oplots, outplot=outplot, extension=extension,
+  xsize=options.xsize,ysize=options.ysize,spectro=options.spectro)
 
 if options.cut:
         a = taskcut(filename,onsets,params=params)