shithub: aubio

Download patch

ref: 90a59c388f1b4b366936e3afa8a71be5819e0a7f
parent: 055d674eaede56459ac5bfecd01fbe8188cfb4a5
author: Paul Brossier <piem@piem.org>
date: Wed Feb 6 11:28:31 EST 2008

java/: added first draft for a java interface to aubio, includes simple test

--- a/.bzrignore
+++ b/.bzrignore
@@ -26,6 +26,12 @@
 **/cachegrind.out.[0-9]*
 **/callgrind.out.[0-9]*
 
+# swig and java stuff
+**/*.class
+java/**/SWIG*.java
+java/**/aubio*.java
+java/**/midi_*.java
+
 # autoreconf -f -i will create these
 INSTALL
 aclocal.m4
--- a/configure.ac
+++ b/configure.ac
@@ -257,6 +257,8 @@
     swig/Makefile
     python/Makefile
     python/aubio/Makefile
+    java/Makefile
+    java/aubio/Makefile
     plugins/Makefile
     plugins/audacity/Makefile
     plugins/audacity/plug-ins/Makefile
--- /dev/null
+++ b/java/Makefile.am
@@ -1,0 +1,1 @@
+SUBDIRS = aubio
--- /dev/null
+++ b/java/aubio/Makefile.am
@@ -1,0 +1,32 @@
+NOWARN_CFLAGS = -Wno-strict-aliasing
+
+AM_CFLAGS = @AUBIO_CFLAGS@ $(NOWARN_CFLAGS) $(SWCFLAGS) \
+	-I$(top_builddir)/src -I$(top_srcdir)/src -I$(top_srcdir)/ext \
+	-I/usr/lib/jvm/java-6-sun-1.6.0.04/include \
+	-I${prefix}/lib/jvm/java-6-sun-1.6.0.04/include \
+	-I/usr/lib/jvm/java-6-sun-1.6.0.04/include/linux \
+	-I${prefix}/lib/jvm/java-6-sun-1.6.0.04/include/linux \
+	-I/usr/include \
+	-I${prefix}/include
+
+SWLDFLAGS = -shared
+
+AUBIO_LDFLAGS = $(SWLDFLAGS) \
+	-L$(top_builddir)/ext -laubioext \
+	-L$(top_builddir)/src -laubio
+
+pkgjavadir = /usr/local/lib/java/aubio 
+
+pkgjava_LTLIBRARIES = libaubiowrapper.la
+
+libaubiowrapper_la_LDFLAGS = -module -avoid-version $(AUBIO_LDFLAGS) 
+libaubiowrapper_la_SOURCES = aubio_wrap.c
+
+aubio_wrap.c:
+	$(SWIG) -outdir . -o aubio_wrap.c -java $(top_srcdir)/swig/aubio.i
+
+CLEANFILES = aubio_* SWIGTYPE_* *aubiowrapper* midi_* 
+
+simple_test:
+	javac *.java
+	LD_LIBRARY_PATH=.libs java main 
--- /dev/null
+++ b/java/aubio/main.java
@@ -1,0 +1,19 @@
+// main.java
+
+public class main {
+  static {
+    System.loadLibrary("aubiowrapper");
+  }
+
+  public static void main(String argv[]) {
+    float freq = (float)440.;
+    float midi = aubiowrapper.aubio_freqtomidi( (float)440.);
+    if (midi != (float) 69.0) {
+      throw new Error((String) "Error: aubio_freqtomidi(440.) != 69.", null);
+    }
+    System.out.print(freq);
+    System.out.print(" Hz corresponds to midi note ");
+    System.out.println(midi);
+  }
+}
+