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;