shithub: aubio

Download patch

ref: 7473074757703200d2e46af482fe5aaaa10875c0
parent: 61680aa127dca6cd6c4f043433a2301063c639cb
author: Paul Brossier <piem@altern.org>
date: Thu Dec 15 20:21:17 EST 2005

separate get_onset_mode
separate get_onset_mode


--- a/python/aubio/tasks.py
+++ b/python/aubio/tasks.py
@@ -1,30 +1,35 @@
 from aubioclass import * 
 
-def check_onset_mode(option, opt, value, parser):
+def get_onset_mode(nvalue):
         """ utility function to convert a string to aubio_onsetdetection_type """
+	if   nvalue == 'complexdomain' or nvalue == 'complex' :
+		 return aubio_onset_complex
+	elif nvalue == 'hfc'           :
+		 return aubio_onset_hfc
+	elif nvalue == 'phase'         :
+		 return aubio_onset_phase
+	elif nvalue == 'specdiff'      :
+		 return aubio_onset_specdiff
+	elif nvalue == 'energy'        :
+		 return aubio_onset_energy
+	elif nvalue == 'kl'            :
+		 return aubio_onset_kl
+	elif nvalue == 'mkl'           :
+		 return aubio_onset_mkl
+	elif nvalue == 'dual'          :
+		 return 'dual'
+	else:
+		 import sys
+		 print "unknown onset detection function selected"
+		 sys.exit(1)
+
+def check_onset_mode(option, opt, value, parser):
+        """ wrapper function to convert a list of modes to 
+		aubio_onsetdetection_type """
         nvalues = parser.rargs[0].split(',')
         val =  []
         for nvalue in nvalues:
-                if   nvalue == 'complexdomain' or nvalue == 'complex' :
-                         val.append(aubio_onset_complex)
-                elif nvalue == 'hfc'           :
-                         val.append(aubio_onset_hfc)
-                elif nvalue == 'phase'         :
-                         val.append(aubio_onset_phase)
-                elif nvalue == 'specdiff'      :
-                         val.append(aubio_onset_specdiff)
-                elif nvalue == 'energy'        :
-                         val.append(aubio_onset_energy)
-                elif nvalue == 'kl'            :
-                         val.append(aubio_onset_kl)
-                elif nvalue == 'mkl'           :
-                         val.append(aubio_onset_mkl)
-                elif nvalue == 'dual'          :
-                         val.append('dual')
-                else:
-                         import sys
-                         print "unknown onset detection function selected"
-                         sys.exit(1)
+		val.append(get_onset_mode(nvalue))
                 setattr(parser.values, option.dest, val)
 
 def check_pitch_mode(option, opt, value, parser):