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@20
|
10 void
|
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@20
|
18 jint
|
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@20
|
25 jint
|
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@20
|
32 jint
|
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@20
|
39 jint
|
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@20
|
46 jstring
|
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@20
|
53 jstring
|
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@20
|
60 jobject
|
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@21
|
69 jobject Java_org_vamp_1plugins_RealTime_fromMilliseconds(JNIEnv *env, jclass cls, jint ms)
|
Chris@20
|
70 {
|
Chris@21
|
71 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
|
Chris@21
|
72 jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V");
|
Chris@21
|
73 RealTime rt = RealTime::fromMilliseconds(ms);
|
Chris@21
|
74 return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec);
|
Chris@20
|
75 }
|
Chris@20
|
76
|
Chris@21
|
77 jobject Java_org_vamp_1plugins_RealTime_frame2RealTime(JNIEnv *env, jclass cls, jlong frame, jint sampleRate)
|
Chris@21
|
78 {
|
Chris@21
|
79 jclass rtClass = env->FindClass("org/vamp_plugins/RealTime");
|
Chris@21
|
80 jmethodID rtCtor = env->GetMethodID(rtClass, "<init>", "(II)V");
|
Chris@21
|
81 RealTime rt = RealTime::frame2RealTime(frame, sampleRate);
|
Chris@21
|
82 return env->NewObject(rtClass, rtCtor, rt.sec, rt.nsec);
|
Chris@21
|
83 }
|
Chris@20
|
84
|
Chris@21
|
85 jlong Java_org_vamp_1plugins_RealTime_realTime2Frame(JNIEnv *env, jclass cls, jobject obj, jint sampleRate)
|
Chris@21
|
86 {
|
Chris@21
|
87 RealTime *rt = getHandle<RealTime>(env, obj);
|
Chris@21
|
88 return RealTime::realTime2Frame(*rt, sampleRate);
|
Chris@21
|
89 }
|
Chris@20
|
90
|
Chris@21
|
91 void Java_org_vamp_1plugins_RealTime_initialise(JNIEnv *env, jobject obj, jint sec, jint nsec)
|
Chris@21
|
92 {
|
Chris@21
|
93 RealTime *rt = new RealTime(sec, nsec);
|
Chris@21
|
94 setHandle(env, obj, rt);
|
Chris@21
|
95 }
|
Chris@21
|
96
|
Chris@21
|
97
|
Chris@21
|
98
|