Hi!

Sean, thanks a lot for ghostess!
Take a look at the patches if you have time.

-execlp patch fixes things on 64-bit architectures: execlp() expects
its arglist to end with NULL, not 0. And on 64-bit architectures they
are different (0 is 32-bit int, and NULL is 64-bit pointer).

-configure and -jackmidi patches are from gentoo proaudio overlay and
are included for completeness.


Regards,
Dmitry.
diff -r 5678f72103c5 src/ghostess.c
--- a/src/ghostess.c	Mon Oct 16 01:06:53 2006 +0400
+++ b/src/ghostess.c	Mon Oct 16 01:05:06 2006 +0400
@@ -1034,7 +1034,7 @@ start_ui(d3h_instance_t *instance)
                  * figure out which fds to close before the exec.... */
                 if ((pid = fork()) == 0) {
                     if (fork() == 0) {
-                        execlp(filename, filename, osc_url, dllName, label, tag, 0);
+                        execlp(filename, filename, osc_url, dllName, label, tag, NULL);
                         ghss_debug(GDB_ERROR, ": exec of UI failed: %s", strerror(errno));
                     }
                     _exit(1);
@@ -1107,7 +1107,7 @@ start_ui(d3h_instance_t *instance)
                  * figure out which fds to close before the exec.... */
                 if ((pid = fork()) == 0) {
                     if (fork() == 0) {
-                        execlp(filename, filename, osc_url, dllName, label, tag, 0);
+                        execlp(filename, filename, osc_url, dllName, label, tag, NULL);
                         ghss_debug(GDB_ERROR, ": exec of universal GUI failed: %s", strerror(errno));
                     }
                     exit(1);
diff -r 5678f72103c5 configure.ac
--- a/configure.ac	Mon Oct 16 01:06:53 2006 +0400
+++ b/configure.ac	Mon Oct 16 01:05:06 2006 +0400
@@ -43,7 +43,6 @@ darwin*)
 *)
   darwin=no
   PKG_CHECK_MODULES(ALSA, alsa >= 0.9.0)
-  AC_DEFINE(MIDI_ALSA, 1, [Define for ALSA MIDI support on Linux])
   ;;
 esac
 AM_CONDITIONAL(DARWIN, test x$darwin = xyes)
@@ -57,10 +56,17 @@ AC_SUBST(JACK_LIBS)
 AC_SUBST(JACK_LIBS)
 
 dnl Check for JACK MIDI support
+AC_ARG_WITH(jackmidi,AC_HELP_STRING([--with-jackmidi], [default=yes]),
+	[ if test $withval = "yes";then with_jack_midi=yes;
+		else with_jack_midi=no; fi ])
+if test x${with_jack_midi} = 'xyes'; then
 AC_CHECK_LIB(jack, jack_midi_port_get_info,
              [with_jack_midi=yes
               AC_DEFINE(MIDI_JACK, 1, [Define for JACK MIDI support])],
              with_jack_midi=no, $JACK_LIBS)
+else if test x${darwin} = 'xno'; then
+	AC_DEFINE(MIDI_ALSA, 1, [Define for ALSA MIDI support on Linux])
+fi fi
 AM_CONDITIONAL(MIDI_JACK, test x$with_jack_midi = xyes)
 
 dnl Use lotsa flags if we have gcc.
diff -r 5678f72103c5 src/ghostess.c
--- a/src/ghostess.c	Mon Oct 16 01:06:53 2006 +0400
+++ b/src/ghostess.c	Mon Oct 16 01:05:06 2006 +0400
@@ -226,7 +226,7 @@ audio_callback(jack_nframes_t nframes, v
     unsigned int last_tick_offset = 0;
 #ifdef MIDI_JACK
     void* midi_port_buf = jack_port_get_buffer(midi_input_port, nframes);
-    jack_default_midi_event_t jack_midi_event;
+    jack_midi_event_t jack_midi_event;
     jack_nframes_t jack_midi_event_index = 0;
     jack_nframes_t jack_midi_event_count = jack_midi_port_get_info(midi_port_buf, nframes)->event_count;
     static snd_seq_event_t jack_seq_event_holder[3];
@@ -253,7 +253,7 @@ audio_callback(jack_nframes_t nframes, v
 
             int count;
 
-            jack_midi_get_event_n(&jack_midi_event, midi_port_buf, jack_midi_event_index, nframes);
+            jack_midi_event_get(&jack_midi_event, midi_port_buf, jack_midi_event_index, nframes);
             jack_midi_event_index++;
 
             jack_seq_event = jack_seq_event_holder;

Reply via email to