annotate org/vamp_plugins/test.java @ 17:9c108ad04e9b

Test process(). Now crashes
author Chris Cannam
date Mon, 06 Feb 2012 18:01:58 +0000
parents d8b5d8c39813
children 530bf5009ee2
rev   line source
Chris@0 1
Chris@0 2 package org.vamp_plugins;
Chris@0 3
Chris@16 4 import java.util.ArrayList;
Chris@16 5 import java.util.TreeMap;
Chris@16 6
Chris@0 7 public class test
Chris@0 8 {
Chris@0 9 public static void main(String[] args) {
Chris@0 10
Chris@0 11 // This is a plugin we know we have installed
Chris@6 12 // String key = "vamp-example-plugins:percussiononsets";
Chris@7 13 String key = "qm-vamp-plugins:qm-onsetdetector";
Chris@0 14
Chris@0 15 PluginLoader loader = PluginLoader.getInstance();
Chris@0 16
Chris@0 17 try {
Chris@0 18 Plugin p = loader.loadPlugin(key, 44100);
Chris@9 19 System.out.println("identifier: " + p.getIdentifier());
Chris@9 20 System.out.println("name: " + p.getName());
Chris@9 21 System.out.println("description: " + p.getDescription());
Chris@9 22 System.out.println("version: " + p.getPluginVersion());
Chris@5 23 Plugin.InputDomain domain = p.getInputDomain();
Chris@5 24 if (domain == Plugin.InputDomain.TimeDomain) {
Chris@5 25 System.out.println("This is a time-domain plugin");
Chris@5 26 } else {
Chris@5 27 System.out.println("This is a frequency-domain plugin");
Chris@5 28 }
Chris@9 29 ParameterDescriptor[] params = p.getParameterDescriptors();
Chris@9 30 System.out.println("Plugin has " + params.length + " parameters(s)");
Chris@9 31 for (int i = 0; i < params.length; ++i) {
Chris@9 32 System.out.println(i + ": " + params[i].identifier + " (" + params[i].name + ")");
Chris@9 33 }
Chris@6 34 String[] progs = p.getPrograms();
Chris@6 35 System.out.println("Plugin has " + progs.length + " program(s)");
Chris@6 36 for (int i = 0; i < progs.length; ++i) {
Chris@6 37 System.out.println(i + ": " + progs[i]);
Chris@6 38 }
Chris@7 39 OutputDescriptor[] outputs = p.getOutputDescriptors();
Chris@7 40 System.out.println("Plugin has " + outputs.length + " output(s)");
Chris@7 41 for (int i = 0; i < outputs.length; ++i) {
Chris@7 42 System.out.println(i + ": " + outputs[i].identifier + " (sample type: " + outputs[i].sampleType + ")");
Chris@7 43 }
Chris@16 44
Chris@17 45 boolean b = p.initialise(1, 0, 1024);
Chris@16 46 System.out.println("Plugin initialise returned " + b);
Chris@16 47
Chris@17 48 float[][] buffers = new float[1][1024];
Chris@17 49 for (int block = 0; block < 1024; ++block) {
Chris@17 50 for (int i = 0; i < 1024; ++i) {
Chris@17 51 buffers[0][i] = 0.0f;
Chris@17 52 }
Chris@17 53 if (block == 512) {
Chris@17 54 buffers[0][0] = 1.0f;
Chris@17 55 }
Chris@17 56 RealTime timestamp = RealTime.frame2RealTime(block * 1024, 44100);
Chris@17 57 TreeMap<Integer, ArrayList<Plugin.Feature>>
Chris@17 58 features = p.process(buffers, timestamp);
Chris@17 59 System.out.println("Plugin process returned features on " + features.size() + " different output(s)");
Chris@17 60 }
Chris@16 61
Chris@16 62 TreeMap<Integer, ArrayList<Plugin.Feature>>
Chris@16 63 features = p.getRemainingFeatures();
Chris@16 64 System.out.println("Plugin getRemainingFeatures returned features on " + features.size() + " different output(s)");
Chris@16 65
Chris@0 66 } catch (PluginLoader.LoadFailedException e) {
Chris@0 67 System.out.println("Plugin load failed");
Chris@0 68 }
Chris@0 69 }
Chris@0 70 }
Chris@0 71