annotate org/vamp_plugins/Plugin.java @ 25:b568b30c167f

Enum constant names -> caps
author Chris Cannam
date Thu, 15 Nov 2012 14:40:34 +0000
parents cd430fbf6795
children f2914a92b553
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@20 12 public native void dispose();
Chris@20 13
Chris@3 14 // PluginBase methods
Chris@3 15
Chris@3 16 public native int getVampApiVersion();
Chris@0 17 public native String getIdentifier();
Chris@0 18 public native String getName();
Chris@0 19 public native String getDescription();
Chris@3 20 public native String getMaker();
Chris@3 21 public native String getCopyright();
Chris@0 22 public native int getPluginVersion();
Chris@2 23
Chris@3 24 public native ParameterDescriptor[] getParameterDescriptors();
Chris@3 25 public native float getParameter(String identifier);
Chris@3 26 public native void setParameter(String identifier, float value);
Chris@3 27
Chris@3 28 public native String[] getPrograms();
Chris@3 29 public native String getCurrentProgram();
Chris@3 30 public native void selectProgram(String program);
Chris@3 31
Chris@3 32 // Plugin methods
Chris@3 33
Chris@2 34 public native boolean initialise(int inputChannels,
Chris@2 35 int stepSize,
Chris@2 36 int blockSize);
Chris@2 37
Chris@2 38 public native void reset();
Chris@2 39
Chris@25 40 public static enum InputDomain { TIME_DOMAIN, FREQUENCY_DOMAIN };
Chris@2 41 public native InputDomain getInputDomain();
Chris@2 42
Chris@2 43 public native int getPreferredBlockSize();
Chris@2 44 public native int getPreferredStepSize();
Chris@2 45 public native int getMinChannelCount();
Chris@2 46 public native int getMaxChannelCount();
Chris@2 47
Chris@2 48 public native OutputDescriptor[] getOutputDescriptors();
Chris@2 49
Chris@2 50 // "Pseudo-typedef antipattern - don't do this": http://www.ibm.com/developerworks/java/library/j-jtp02216/index.html
Chris@2 51 // (I would like to!)
Chris@2 52 // public class FeatureList extends ArrayList<Feature>;
Chris@2 53 // public class FeatureSet extends TreeMap<Integer, FeatureList>;
Chris@2 54
Chris@22 55 public TreeMap<Integer, ArrayList<Feature>>
Chris@22 56 process(float[][] inputBuffers,
Chris@22 57 RealTime timestamp) {
Chris@24 58 return process(inputBuffers, 0, timestamp);
Chris@22 59 }
Chris@22 60
Chris@2 61 public native TreeMap<Integer, ArrayList<Feature>>
Chris@2 62 process(float[][] inputBuffers,
Chris@24 63 int offset,
Chris@2 64 RealTime timestamp);
Chris@2 65
Chris@2 66 public native TreeMap<Integer, ArrayList<Feature>>
Chris@2 67 getRemainingFeatures();
Chris@0 68 }
Chris@0 69