changeset 96:f0e005248b9a

More collect tweaks -- currently failing tests
author Chris Cannam
date Mon, 02 Feb 2015 17:31:30 +0000
parents 3e5791890b65
children 06c4afba4fc5
files test/test_collect.py vamp/collect.py
diffstat 2 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/test/test_collect.py	Mon Feb 02 17:15:15 2015 +0000
+++ b/test/test_collect.py	Mon Feb 02 17:31:30 2015 +0000
@@ -25,6 +25,8 @@
     step, results = vamp.collect(buf, rate, plugin_key, "input-timestamp")
     assert results != []
 
+##!!! add test for default output
+    
 def test_collect_one_sample_per_step():
     buf = input_data(blocksize * 10)
     step, results = vamp.collect(buf, rate, plugin_key, "input-timestamp")
@@ -62,3 +64,13 @@
         assert r["timestamp"] == vamp.vampyhost.RealTime('seconds', i * 0.75)
         assert abs(r["values"][0] - i * 0.1) < eps
         i = i + 1
+
+def test_collect_grid_one_sample_per_step():
+    buf = input_data(blocksize * 10)
+    step, results = vamp.collect(buf, rate, plugin_key, "grid-oss")
+    assert abs(float(step) - (1024.0 / rate)) < eps
+    assert len(results) == 10
+    for i in range(len(results)):
+        expected = []
+        actual = results[i]
+        assert actual == expected
--- a/vamp/collect.py	Mon Feb 02 17:15:15 2015 +0000
+++ b/vamp/collect.py	Mon Feb 02 17:31:30 2015 +0000
@@ -69,19 +69,19 @@
 
     if shape == "vector":
         rv = ( out_step,
-               np.array([r[output]["values"][0] for r in results]) )
+               np.array([r[output]["values"][0] for r in results], np.float32) )
     elif shape == "matrix":
         rv = ( out_step,
                np.array(
                    [[r[output]["values"][i] for r in results]
-                    for i in range(0, output_desc["bin_count"])]) )
+                    for i in range(0, output_desc["bin_count"])], np.float32) )
     else:
         rv = list(fill_timestamps(results, sample_rate, step_size, output_desc))
 
     return rv
 
         
-def collect(data, sample_rate, key, output, parameters = {}):
+def collect(data, sample_rate, key, output = "", parameters = {}):
 
     plugin, step_size, block_size = load.load_and_configure(data, sample_rate, key, parameters)
 
@@ -101,7 +101,7 @@
     return rv
 
         
-def collect_frames(ff, channels, sample_rate, step_size, key, output, parameters = {}):
+def collect_frames(ff, channels, sample_rate, step_size, key, output = "", parameters = {}):
 
     plug = vampyhost.load_plugin(key, sample_rate,
                                  vampyhost.ADAPT_INPUT_DOMAIN +