diff src/getset.cpp @ 14:f7ca3afb429c

Implement convertFeature
author Chris Cannam
date Fri, 27 Jan 2012 18:19:45 +0000
parents 63e9115f95c6
children 530bf5009ee2
line wrap: on
line diff
--- a/src/getset.cpp	Fri Jan 27 14:34:32 2012 +0000
+++ b/src/getset.cpp	Fri Jan 27 18:19:45 2012 +0000
@@ -48,6 +48,15 @@
 }
 
 void
+setRealTimeField(JNIEnv *env, jobject obj, std::string name, Vamp::RealTime rt)
+{
+    jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
+    jmethodID ctor = env->GetMethodID(rtClass, "<init>", "(II)V");
+    jobject jrt = env->NewObject(rtClass, ctor, rt.sec, rt.nsec);
+    setObjectField(env, obj, name, "Lorg/vamp_plugins/RealTime;", jrt);
+}
+
+void
 setObjectField(JNIEnv *env, jobject obj, std::string name, std::string type, jobject value)
 {
     jclass cls = env->GetObjectClass(obj);
@@ -56,6 +65,14 @@
 }
 
 void
+setFloatArrayField(JNIEnv *env, jobject obj, std::string name, std::vector<float> values)
+{
+    jfloatArray jarr = env->NewFloatArray(values.size());
+    env->SetFloatArrayRegion(jarr, 0, values.size(), values.data());
+    setObjectField(env, obj, name, "[float", jarr);
+}
+
+void
 setStringArrayField(JNIEnv *env, jobject obj, std::string name, std::vector<std::string> values)
 {
     jclass strCls = env->FindClass("java/lang/String");