def __init__(self, plugin_list=None):
 
         if plugin_list is None:
-            #plugin_list = self.get_plugins_list()
-            plugin_list = [['vamp-example-plugins', 'percussiononsets', 'detectionfunction']]
+            plugin_list = self.get_plugins_list()
+            #plugin_list = [['vamp-example-plugins', 'percussiononsets', 'detectionfunction']]
 
         self.plugin_list = plugin_list
 
         for plugin_line in self.plugin_list:
 
             plugin = ':'.join(plugin_line)
-            (blocksize, stepsize, values) = self.vamp_plugin(plugin, wavfile)
+            (time, duration, value) = self.vamp_plugin(plugin, wavfile)
 
-            self.result_blocksize = blocksize
-            self.result_stepsize = stepsize
-            self.result_samplerate = self.mediainfo()['samplerate']
+            if duration is not None:
+                plugin_res = self.new_result(data_mode='value', time_mode='segment')
+                plugin_res.data_object.duration = duration
+            else:
+                plugin_res = self.new_result(data_mode='value', time_mode='event')
 
-            plugin_res = self.new_result(data_mode='value', time_mode='framewise')
+            plugin_res.data_object.time = time
+            plugin_res.data_object.value = value
 
-            # Fix strat, duration issues if audio is a segment
-            if self.mediainfo()['is_segment']:
-                start_index = np.floor(self.mediainfo()['start'] *
-                                       self.result_samplerate /
-                                       self.result_stepsize)
 
-                stop_index = np.ceil((self.mediainfo()['start'] +
-                                      self.mediainfo()['duration']) *
-                                     self.result_samplerate /
-                                     self.result_stepsize)
-
-                fixed_start = (start_index * self.result_stepsize /
-                               self.result_samplerate)
-                fixed_duration = ((stop_index - start_index) * self.result_stepsize /
-                                  self.result_samplerate)
-
-                plugin_res.audio_metadata.start = fixed_start
-                plugin_res.audio_metadata.duration = fixed_duration
-
-                values = values[start_index:stop_index + 1]
+#            # Fix strat, duration issues if audio is a segment
+#            if self.mediainfo()['is_segment']:
+#                start_index = np.floor(self.mediainfo()['start'] *
+#                                       self.result_samplerate /
+#                                       self.result_stepsize)
+#
+#                stop_index = np.ceil((self.mediainfo()['start'] +
+#                                      self.mediainfo()['duration']) *
+#                                     self.result_samplerate /
+#                                     self.result_stepsize)
+#
+#                fixed_start = (start_index * self.result_stepsize /
+#                               self.result_samplerate)
+#                fixed_duration = ((stop_index - start_index) * self.result_stepsize /
+#                                  self.result_samplerate)
+#
+#                plugin_res.audio_metadata.start = fixed_start
+#                plugin_res.audio_metadata.duration = fixed_duration
+#
+#                value = value[start_index:stop_index + 1]
 
             plugin_res.id_metadata.id += '.' + '.'.join(plugin_line[1:])
             plugin_res.id_metadata.name += ' ' + \
                 ' '.join(plugin_line[1:])
-            plugin_res.data_object.value = values
 
             self._results.add(plugin_res)
 
         blocksize = int(m.groups()[0])
         stepsize = int(m.groups()[1])
         # Get the results
-        values = np.asfarray([line.split(': ')[1] for line in res])
-        # TODO int support ?
 
-        return (blocksize, stepsize, values)
+        value = np.asfarray([line.split(': ')[1].split(' ') for line in res if (len(line.split(': ')) > 1)])
+        time = np.asfarray([r.split(':')[0].split(',')[0] for r in res])
+
+        time_len = len(res[0].split(':')[0].split(','))
+        if time_len == 1:
+            # event
+            duration = None
+        elif time_len == 2:
+            # segment
+            duration = np.asfarray([r.split(':')[0].split(',')[1] for r in res])
+
+        return (time, duration, value)
 
     @staticmethod
     def get_plugins_list():