/** VisInput.inputNew() */ JNIEXPORT jint JNICALL Java_org_libvisual_android_VisInput_inputNew(JNIEnv * env, jobject obj, jstring name) { LOGI("VisInput.inputNew()"); /* result */ VisInput *i = NULL; /* get name string */ jboolean isCopy; const char *inputName = (*env)->GetStringUTFChars(env, name, &isCopy); /* plugin valid ? */ if(!(visual_plugin_registry_has_plugin(VISUAL_PLUGIN_TYPE_INPUT, inputName))) { LOGE("Invalid input-plugin: \"%s\"", inputName); goto _vin_exit; } /* create new input */ i = visual_input_new(inputName); _vin_exit: (*env)->ReleaseStringUTFChars(env, name, inputName); return (jint) i; }
/** VisMorph.morphNew() */ JNIEXPORT jint JNICALL Java_org_libvisual_android_VisMorph_morphNew(JNIEnv * env, jobject obj, jstring name) { LOGI("VisMorph.morphNew()"); /* result */ VisMorph *m = NULL; /* get name string */ jboolean isCopy; const char *morphName = env->GetStringUTFChars(name, &isCopy); /* plugin valid ? */ //if(!visual_actor_valid_by_name(morphName)) if(!(visual_plugin_registry_has_plugin(VISUAL_PLUGIN_TYPE_MORPH, morphName))) { LOGE("Invalid morph-plugin: \"%s\"", morphName); goto _vin_exit; } /* create new morph */ m = visual_morph_new(morphName); _vin_exit: env->ReleaseStringUTFChars(name, morphName); return (jint) m; }
/** VisActor.actorNew() */ JNIEXPORT jint JNICALL Java_org_libvisual_android_VisActor_actorNew(JNIEnv * env, jobject obj, jstring name) { LOGI("VisActor.actorNew()"); /* result */ VisActor *a = NULL; /* get name string */ jboolean isCopy; const char *actorName = (*env)->GetStringUTFChars(env, name, &isCopy); /* actor valid ? */ if(!(visual_plugin_registry_has_plugin(VISUAL_PLUGIN_TYPE_ACTOR, actorName))) { LOGE("Invalid actor-plugin: \"%s\"", actorName); goto _van_exit; } /* create new actor */ a = visual_actor_new(actorName); /* set random seed */ VisPluginData *plugin_data = visual_actor_get_plugin(a); VisRandomContext *r_context = visual_plugin_get_random_context (plugin_data); visual_random_context_set_seed(r_context, time(NULL)); _van_exit: (*env)->ReleaseStringUTFChars(env, name, actorName); return (jint) a; }