annotate src/PluginLoader.cpp @ 30:02db37c2301b

Add JNIEXPORT/JNICALL to definitions
author Chris Cannam
date Thu, 22 Nov 2012 11:38:55 +0000
parents 7d1118b3860d
children c9515589be7d
rev   line source
Chris@0 1 #include "org_vamp_plugins_PluginLoader.h"
Chris@0 2
Chris@0 3 #include <vamp-hostsdk/PluginLoader.h>
Chris@0 4
Chris@0 5 #include "handle.h"
Chris@0 6
Chris@0 7 using Vamp::Plugin;
Chris@0 8 using Vamp::HostExt::PluginLoader;
Chris@0 9
Chris@30 10 JNIEXPORT void JNICALL
Chris@0 11 Java_org_vamp_1plugins_PluginLoader_initialise(JNIEnv *env, jobject obj)
Chris@0 12 {
Chris@0 13 PluginLoader *inst = PluginLoader::getInstance();
Chris@0 14 setHandle(env, obj, inst);
Chris@0 15 }
Chris@0 16
Chris@30 17 JNIEXPORT jobjectArray JNICALL
Chris@23 18 Java_org_vamp_1plugins_PluginLoader_listPlugins(JNIEnv *env, jobject obj)
Chris@23 19 {
Chris@23 20 PluginLoader *inst = getHandle<PluginLoader>(env, obj);
Chris@23 21 PluginLoader::PluginKeyList plugins = inst->listPlugins();
Chris@23 22 jobjectArray result = env->NewObjectArray
Chris@23 23 (plugins.size(), env->FindClass("java/lang/String"), 0);
Chris@23 24 for (int i = 0; i < plugins.size(); ++i) {
Chris@23 25 env->SetObjectArrayElement(result, i,
Chris@23 26 env->NewStringUTF(plugins[i].c_str()));
Chris@23 27 }
Chris@23 28 return result;
Chris@23 29 }
Chris@23 30
Chris@30 31 JNIEXPORT jlong JNICALL
Chris@0 32 Java_org_vamp_1plugins_PluginLoader_loadPluginNative(JNIEnv *env, jobject obj,
Chris@29 33 jstring key, jfloat rate,
Chris@29 34 jint flags)
Chris@0 35 {
Chris@0 36 PluginLoader *inst = getHandle<PluginLoader>(env, obj);
Chris@0 37 const char *kstr = env->GetStringUTFChars(key, 0);
Chris@29 38 Plugin *p = inst->loadPlugin(kstr, rate, flags);
Chris@0 39 env->ReleaseStringUTFChars(key, kstr);
Chris@0 40 return (jlong)p;
Chris@0 41 }
Chris@0 42
Chris@30 43 JNIEXPORT jobjectArray JNICALL
Chris@24 44 Java_org_vamp_1plugins_PluginLoader_getPluginCategory(JNIEnv *env, jobject obj,
Chris@24 45 jstring key)
Chris@24 46 {
Chris@24 47 PluginLoader *inst = getHandle<PluginLoader>(env, obj);
Chris@24 48 const char *kstr = env->GetStringUTFChars(key, 0);
Chris@24 49 PluginLoader::PluginCategoryHierarchy cat = inst->getPluginCategory(kstr);
Chris@24 50 jobjectArray result = env->NewObjectArray
Chris@24 51 (cat.size(), env->FindClass("java/lang/String"), 0);
Chris@24 52 for (int i = 0; i < cat.size(); ++i) {
Chris@24 53 env->SetObjectArrayElement(result, i,
Chris@24 54 env->NewStringUTF(cat[i].c_str()));
Chris@24 55 }
Chris@24 56 return result;
Chris@24 57 }
Chris@0 58
Chris@23 59