Mercurial > hg > jvamp
comparison src/getset.cpp @ 14:f7ca3afb429c
Implement convertFeature
author | Chris Cannam |
---|---|
date | Fri, 27 Jan 2012 18:19:45 +0000 |
parents | 63e9115f95c6 |
children | 530bf5009ee2 |
comparison
equal
deleted
inserted
replaced
13:4ce45e100a2c | 14:f7ca3afb429c |
---|---|
46 env->GetFieldID(cls, name.c_str(), "I"), | 46 env->GetFieldID(cls, name.c_str(), "I"), |
47 value); | 47 value); |
48 } | 48 } |
49 | 49 |
50 void | 50 void |
51 setRealTimeField(JNIEnv *env, jobject obj, std::string name, Vamp::RealTime rt) | |
52 { | |
53 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime"); | |
54 jmethodID ctor = env->GetMethodID(rtClass, "<init>", "(II)V"); | |
55 jobject jrt = env->NewObject(rtClass, ctor, rt.sec, rt.nsec); | |
56 setObjectField(env, obj, name, "Lorg/vamp_plugins/RealTime;", jrt); | |
57 } | |
58 | |
59 void | |
51 setObjectField(JNIEnv *env, jobject obj, std::string name, std::string type, jobject value) | 60 setObjectField(JNIEnv *env, jobject obj, std::string name, std::string type, jobject value) |
52 { | 61 { |
53 jclass cls = env->GetObjectClass(obj); | 62 jclass cls = env->GetObjectClass(obj); |
54 jfieldID field = env->GetFieldID(cls, name.c_str(), type.c_str()); | 63 jfieldID field = env->GetFieldID(cls, name.c_str(), type.c_str()); |
55 env->SetObjectField(obj, field, value); | 64 env->SetObjectField(obj, field, value); |
65 } | |
66 | |
67 void | |
68 setFloatArrayField(JNIEnv *env, jobject obj, std::string name, std::vector<float> values) | |
69 { | |
70 jfloatArray jarr = env->NewFloatArray(values.size()); | |
71 env->SetFloatArrayRegion(jarr, 0, values.size(), values.data()); | |
72 setObjectField(env, obj, name, "[float", jarr); | |
56 } | 73 } |
57 | 74 |
58 void | 75 void |
59 setStringArrayField(JNIEnv *env, jobject obj, std::string name, std::vector<std::string> values) | 76 setStringArrayField(JNIEnv *env, jobject obj, std::string name, std::vector<std::string> values) |
60 { | 77 { |