Here's the start of ALSA MIDI provider code. MIDI IN ports basically work. You can read and print events from a MIDI keyboard using the standard interfaces. It's not perfect, but it's a start.
OK? AG 2005-10-02 Anthony Green <[EMAIL PROTECTED]> * native/jni/Makefile.am: Maybe build ALSA code. * gnu/javax/sound/midi/alsa/AlsaPortDevice.java, gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.java gnu/javax/sound/midi/alsa/AlsaInputPortDevice.java gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.java gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java: Rebuilt. native/jni/gnu-javax-sound-midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c, native/jni/gnu-javax-sound-midi-alsa/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c, native/jni/gnu-javax-sound-midi-alsa/gnu_javax_sound_midi_alsa_AlsaSequencerDevice.c, resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider, native/jni/gnu-javax-sound-midi-alsa/Makefile.am: New files. * include/Makefile.am: Add sound header files. * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, include/gnu_javax_sound_midi_alsa_AlsaSequencerDevice.h: New files. * configure.ac (AC_CONFIG_FILES): Add native/jni/gnu-javax-sound-midi-alsa/Makefile. Index: native/jni/Makefile.am =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/Makefile.am,v retrieving revision 1.15 diff -u -r1.15 Makefile.am --- native/jni/Makefile.am 5 Sep 2005 18:41:33 -0000 1.15 +++ native/jni/Makefile.am 2 Oct 2005 07:56:32 -0000 @@ -4,6 +4,10 @@ JNIDIRS = java-io java-lang java-net java-nio java-util endif +if CREATE_ALSA_LIBRARIES + ALSADIR = gnu-javax-sound-midi-alsa +endif + if CREATE_GTK_PEER_LIBRARIES GTKDIR = gtk-peer endif @@ -16,9 +20,10 @@ XMLJDIR = xmlj endif -SUBDIRS = classpath $(JNIDIRS) $(GTKDIR) $(CLASSPATH_QT_PEER_DIR) $(XMLJDIR) +SUBDIRS = classpath $(JNIDIRS) \ + $(ALSADIR) $(GTKDIR) $(CLASSPATH_QT_PEER_DIR) $(XMLJDIR) DIST_SUBDIRS = classpath java-io java-lang java-net java-nio java-util \ - gtk-peer qt-peer xmlj + gtk-peer qt-peer xmlj gnu-javax-sound-midi-alsa all-local: cd $(top_srcdir) && $(SHELL) ./scripts/check_jni_methods.sh Index: configure.ac =================================================================== RCS file: /cvsroot/classpath/classpath/configure.ac,v retrieving revision 1.108 diff -u -r1.108 configure.ac --- configure.ac 17 Sep 2005 21:19:35 -0000 1.108 +++ configure.ac 2 Oct 2005 07:56:32 -0000 @@ -103,6 +103,22 @@ AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes) dnl ----------------------------------------------------------- +dnl ALSA code (enabled by default) +dnl ----------------------------------------------------------- +AC_ARG_ENABLE([alsa], + [AS_HELP_STRING(--disable-alsa,compile ALSA providers (disabled by --disable-alsa) [default=yes])], + [case "${enableval}" in + yes) COMPILE_ALSA=yes ;; + no) COMPILE_ALSA=no ;; + *) COMPILE_ALSA=yes ;; + esac], + [COMPILE_ALSA=yes]) +if test "x$COMPILE_ALSA" = "xyes"; then + AC_CHECK_HEADERS([alsa/asoundlib.h],,COMPILE_ALSA=no) +fi +AM_CONDITIONAL(CREATE_ALSA_LIBRARIES, test "x${COMPILE_ALSA}" = xyes) + +dnl ----------------------------------------------------------- dnl GTK native peer (enabled by default) dnl ----------------------------------------------------------- AC_ARG_ENABLE([gtk-peer], @@ -489,6 +505,7 @@ native/jni/gtk-peer/Makefile native/jni/qt-peer/Makefile native/jni/xmlj/Makefile +native/jni/gnu-javax-sound-midi-alsa/Makefile native/target/Makefile native/target/Linux/Makefile native/target/generic/Makefile Index: include/Makefile.am =================================================================== RCS file: /cvsroot/classpath/classpath/include/Makefile.am,v retrieving revision 1.48 diff -u -r1.48 Makefile.am --- include/Makefile.am 5 Sep 2005 08:31:03 -0000 1.48 +++ include/Makefile.am 2 Oct 2005 07:56:32 -0000 @@ -6,6 +6,11 @@ ARG_CLASSPATH_JAVAH = -bootclasspath JAVAH = $(USER_JAVAH) $(ARG_JNI_JAVAH) $(ARG_CLASSPATH_JAVAH) ../lib:$(USER_CLASSLIB) +SOUND_H_FILES = \ +$(top_srcdir)/include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h \ +$(top_srcdir)/include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h \ +$(top_srcdir)/include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h + XMLJ_H_FILES = \ $(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeDocument.h \ $(top_srcdir)/include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h \ @@ -105,6 +110,7 @@ $(top_srcdir)/include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h H_FILES = \ +$(SOUND_H_FILES) \ $(XMLJ_H_FILES) \ $(GTKPEER_H_FILES) \ $(QTPEER_H_FILES) \ @@ -148,6 +154,9 @@ $(top_srcdir)/include/gnu_java_awt_peer_qt_%.h: $(top_builddir)/lib/gnu/java/awt/peer/qt/%.class $(JAVAH) -o $@ gnu.java.awt.peer.qt.$* + +$(top_srcdir)/include/gnu_javax_sound_midi_alsa_%.h: $(top_builddir)/lib/gnu/javax/sound/midi/alsa/%.class + $(JAVAH) -o $@ gnu.javax.sound.midi.alsa.$* $(top_srcdir)/include/gnu_java_net_PlainDatagramSocketImpl.h: $(top_srcdir)/gnu/java/net/PlainDatagramSocketImpl.java $(JAVAH) -o $@ gnu.java.net.PlainDatagramSocketImpl
alsa-new-files.tar.gz
Description: application/compressed-tar
_______________________________________________ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches