Mercurial > hg > jvamp
diff src/RealTime.cpp @ 21:0a91d898acc3
Finish implementation of RealTime; add dispose() calls
author | Chris Cannam |
---|---|
date | Thu, 09 Feb 2012 16:18:33 +0000 |
parents | cf6c69871f9c |
children | 02db37c2301b |
line wrap: on
line diff
--- a/src/RealTime.cpp Wed Feb 08 15:22:48 2012 +0000 +++ b/src/RealTime.cpp Thu Feb 09 16:18:33 2012 +0000 @@ -60,21 +60,39 @@ jobject Java_org_vamp_1plugins_RealTime_fromSeconds(JNIEnv *env, jclass cls, jdouble s) { - + jclass rtClass = env->FindClass("org/vamp_plugins/RealTime"); + jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V"); + RealTime rt = RealTime::fromSeconds(s); + return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec); } -jobject Java_org_vamp_1plugins_RealTime_fromMilliseconds - (JNIEnv *env, jclass cls, jint); - -jobject Java_org_vamp_1plugins_RealTime_frame2RealTime - (JNIEnv *env, jclass cls, jlong, jint); - -jlong Java_org_vamp_1plugins_RealTime_realTime2Frame - (JNIEnv *env, jclass cls, jobject, jint); - -void Java_org_vamp_1plugins_RealTime_init(JNIEnv *env, jobject obj, jint sec, jint nsec) +jobject Java_org_vamp_1plugins_RealTime_fromMilliseconds(JNIEnv *env, jclass cls, jint ms) { + jclass rtClass = env->FindClass("org/vamp_plugins/RealTime"); + jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V"); + RealTime rt = RealTime::fromMilliseconds(ms); + return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec); } +jobject Java_org_vamp_1plugins_RealTime_frame2RealTime(JNIEnv *env, jclass cls, jlong frame, jint sampleRate) +{ + jclass rtClass = env->FindClass("org/vamp_plugins/RealTime"); + jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V"); + RealTime rt = RealTime::frame2RealTime(frame, sampleRate); + return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec); +} +jlong Java_org_vamp_1plugins_RealTime_realTime2Frame(JNIEnv *env, jclass cls, jobject obj, jint sampleRate) +{ + RealTime *rt = getHandle<RealTime>(env, obj); + return RealTime::realTime2Frame(*rt, sampleRate); +} +void Java_org_vamp_1plugins_RealTime_initialise(JNIEnv *env, jobject obj, jint sec, jint nsec) +{ + RealTime *rt = new RealTime(sec, nsec); + setHandle(env, obj, rt); +} + + +