Chris@20
|
1 #include "org_vamp_plugins_RealTime.h"
|
Chris@20
|
2
|
Chris@20
|
3 #include <vamp-hostsdk/RealTime.h>
|
Chris@20
|
4
|
Chris@20
|
5 #include "handle.h"
|
Chris@20
|
6
|
Chris@20
|
7 using Vamp::RealTime;
|
Chris@20
|
8 using std::string;
|
Chris@20
|
9
|
Chris@30
|
10 JNIEXPORT void JNICALL
|
Chris@20
|
11 Java_org_vamp_1plugins_RealTime_dispose(JNIEnv *env, jobject obj)
|
Chris@20
|
12 {
|
Chris@20
|
13 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
14 setHandle<RealTime>(env, obj, 0);
|
Chris@20
|
15 delete rt;
|
Chris@20
|
16 }
|
Chris@20
|
17
|
Chris@30
|
18 JNIEXPORT jint JNICALL
|
Chris@20
|
19 Java_org_vamp_1plugins_RealTime_sec(JNIEnv *env, jobject obj)
|
Chris@20
|
20 {
|
Chris@20
|
21 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
22 return rt->sec;
|
Chris@20
|
23 }
|
Chris@20
|
24
|
Chris@30
|
25 JNIEXPORT jint JNICALL
|
Chris@20
|
26 Java_org_vamp_1plugins_RealTime_nsec(JNIEnv *env, jobject obj)
|
Chris@20
|
27 {
|
Chris@20
|
28 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
29 return rt->nsec;
|
Chris@20
|
30 }
|
Chris@20
|
31
|
Chris@30
|
32 JNIEXPORT jint JNICALL
|
Chris@20
|
33 Java_org_vamp_1plugins_RealTime_usec(JNIEnv *env, jobject obj)
|
Chris@20
|
34 {
|
Chris@20
|
35 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
36 return rt->usec();
|
Chris@20
|
37 }
|
Chris@20
|
38
|
Chris@30
|
39 JNIEXPORT jint JNICALL
|
Chris@20
|
40 Java_org_vamp_1plugins_RealTime_msec(JNIEnv *env, jobject obj)
|
Chris@20
|
41 {
|
Chris@20
|
42 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
43 return rt->msec();
|
Chris@20
|
44 }
|
Chris@20
|
45
|
Chris@30
|
46 JNIEXPORT jstring JNICALL
|
Chris@20
|
47 Java_org_vamp_1plugins_RealTime_toString(JNIEnv *env, jobject obj)
|
Chris@20
|
48 {
|
Chris@20
|
49 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
50 return env->NewStringUTF(rt->toString().c_str());
|
Chris@20
|
51 }
|
Chris@20
|
52
|
Chris@30
|
53 JNIEXPORT jstring JNICALL
|
Chris@20
|
54 Java_org_vamp_1plugins_RealTime_toText(JNIEnv *env, jobject obj)
|
Chris@20
|
55 {
|
Chris@20
|
56 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@20
|
57 return env->NewStringUTF(rt->toText().c_str());
|
Chris@20
|
58 }
|
Chris@20
|
59
|
Chris@30
|
60 JNIEXPORT jobject JNICALL
|
Chris@20
|
61 Java_org_vamp_1plugins_RealTime_fromSeconds(JNIEnv *env, jclass cls, jdouble s)
|
Chris@20
|
62 {
|
Chris@21
|
63 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
|
Chris@21
|
64 jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V");
|
Chris@21
|
65 RealTime rt = RealTime::fromSeconds(s);
|
Chris@21
|
66 return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec);
|
Chris@20
|
67 }
|
Chris@20
|
68
|
Chris@30
|
69 JNIEXPORT jobject JNICALL
|
Chris@30
|
70 Java_org_vamp_1plugins_RealTime_fromMilliseconds(JNIEnv *env, jclass cls, jint ms)
|
Chris@20
|
71 {
|
Chris@21
|
72 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
|
Chris@21
|
73 jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V");
|
Chris@21
|
74 RealTime rt = RealTime::fromMilliseconds(ms);
|
Chris@21
|
75 return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec);
|
Chris@20
|
76 }
|
Chris@20
|
77
|
Chris@30
|
78 JNIEXPORT jobject JNICALL
|
Chris@30
|
79 Java_org_vamp_1plugins_RealTime_frame2RealTime(JNIEnv *env, jclass cls, jlong frame, jint sampleRate)
|
Chris@21
|
80 {
|
Chris@21
|
81 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
|
Chris@21
|
82 jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V");
|
Chris@21
|
83 RealTime rt = RealTime::frame2RealTime(frame, sampleRate);
|
Chris@21
|
84 return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec);
|
Chris@21
|
85 }
|
Chris@20
|
86
|
Chris@30
|
87 JNIEXPORT jlong JNICALL
|
Chris@30
|
88 Java_org_vamp_1plugins_RealTime_realTime2Frame(JNIEnv *env, jclass cls, jobject obj, jint sampleRate)
|
Chris@21
|
89 {
|
Chris@21
|
90 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@21
|
91 return RealTime::realTime2Frame(*rt, sampleRate);
|
Chris@21
|
92 }
|
Chris@20
|
93
|
Chris@30
|
94 JNIEXPORT void JNICALL
|
Chris@30
|
95 Java_org_vamp_1plugins_RealTime_initialise(JNIEnv *env, jobject obj, jint sec, jint nsec)
|
Chris@21
|
96 {
|
Chris@21
|
97 RealTime *rt = new RealTime(sec, nsec);
|
Chris@21
|
98 setHandle(env, obj, rt);
|
Chris@21
|
99 }
|
Chris@21
|
100
|
Chris@21
|
101
|
Chris@21
|
102
|