annotate org/vamp_plugins/Plugin.java @ 2:d0ecf12b9d7b

Add the rest of the Plugin methods to the Java class
author Chris Cannam
date Wed, 18 Jan 2012 09:35:22 +0000
parents f718b0961713
children 7b1740a9020a
rev   line source
Chris@0 1
Chris@0 2 package org.vamp_plugins;
Chris@0 3
Chris@2 4 import java.util.TreeMap;
Chris@2 5 import java.util.ArrayList;
Chris@2 6
Chris@0 7 public class Plugin
Chris@0 8 {
Chris@0 9 private long nativeHandle;
Chris@0 10 protected Plugin(long handle) { nativeHandle = handle; }
Chris@0 11
Chris@0 12 public native String getIdentifier();
Chris@0 13 public native String getName();
Chris@0 14 public native String getDescription();
Chris@0 15 public native int getPluginVersion();
Chris@2 16
Chris@2 17 public native boolean initialise(int inputChannels,
Chris@2 18 int stepSize,
Chris@2 19 int blockSize);
Chris@2 20
Chris@2 21 public native void reset();
Chris@2 22
Chris@2 23 public static enum InputDomain { TimeDomain, FrequencyDomain };
Chris@2 24 public native InputDomain getInputDomain();
Chris@2 25
Chris@2 26 public native int getPreferredBlockSize();
Chris@2 27 public native int getPreferredStepSize();
Chris@2 28 public native int getMinChannelCount();
Chris@2 29 public native int getMaxChannelCount();
Chris@2 30
Chris@2 31 public native OutputDescriptor[] getOutputDescriptors();
Chris@2 32
Chris@2 33 public class Feature {
Chris@2 34 public boolean hasTimestamp;
Chris@2 35 public RealTime timestamp;
Chris@2 36 public boolean hasDuration;
Chris@2 37 public RealTime duration;
Chris@2 38 public float[] values;
Chris@2 39 public String label;
Chris@2 40 Feature() {
Chris@2 41 hasTimestamp = false; hasDuration = false;
Chris@2 42 }
Chris@2 43 };
Chris@2 44
Chris@2 45 // "Pseudo-typedef antipattern - don't do this": http://www.ibm.com/developerworks/java/library/j-jtp02216/index.html
Chris@2 46 // (I would like to!)
Chris@2 47 // public class FeatureList extends ArrayList<Feature>;
Chris@2 48 // public class FeatureSet extends TreeMap<Integer, FeatureList>;
Chris@2 49
Chris@2 50 public native TreeMap<Integer, ArrayList<Feature>>
Chris@2 51 process(float[][] inputBuffers,
Chris@2 52 RealTime timestamp);
Chris@2 53
Chris@2 54 public native TreeMap<Integer, ArrayList<Feature>>
Chris@2 55 getRemainingFeatures();
Chris@0 56 }
Chris@0 57