denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] The 1.0 release


From: Jeremiah Benham
Subject: Re: [Denemo-devel] The 1.0 release
Date: Sun, 20 Jan 2013 08:07:50 -0600
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2

On 01/20/2013 05:44 AM, Richard Shann wrote:
On Sun, 2013-01-20 at 00:27 -0600, Jeremiah Benham wrote:
Yes. Can you check to see if portmidi is working for the mingw build.
I downloaded rc7 mingw.exe this morning and ran it on a windows vista
machine - once more only "none" appears in the MIDI Backend selector,
and the message about PortMidi not being linked in appears.

I am not sure what is happening here. I have been spinning my wheels and getting frustrated with it. Here is 0.9.6 configure.ac excerpt:

AC_ARG_ENABLE(
  win32portmidi,
AC_HELP_STRING([--enable-win32portmidi], [use PORTMIDI @<:@default=no@:>@]),
  [
    if test "x$enableval" != "xno"; then
      usewin32portmidi=yes
    fi
  ])

AM_CONDITIONAL(HAVE_PORTMIDI, [test x$usewin32portmidi = xyes])

if test "x$usewin32portmidi" = "xyes"; then
CFLAGS="$CFLAGS -D_HAVE_PORTMIDI_ -DWIN32 -D_WINDOWS -D_DEBUG -DPM_CHECK_ERRORS=1 -DDEBUG"
  LIBS="$LIBS -D_HAVE_PORTMIDI_"
  WHICH_PORTMIDI='portmidi'
  PORTMIDI_LDD='../portmidi/libportmidi.a'
  PORTMIDI_INCLUDE='-I$(top_srcdir)/portmidi'
else
  WHICH_PORTMIDI=''
  PORTMIDI_LDD=''
  PORTMIDI_INCLUDE=''
fi
  AC_SUBST([WHICH_PORTMIDI])
  AC_SUBST([PORTMIDI_LDD])
  AC_SUBST([PORTMIDI_INCLUDE])

Here is what is in the mingw branch:
AC_ARG_ENABLE(
  staticportmidi,
AC_HELP_STRING([--enable-static-portmidi]. [use PORTMIDI @<:@default=no@:>@]),
  [
    if test "x$enableval" != "xno"; then
      usestaticportmidi=yes
    fi
  ])

AM_CONDITIONAL(HAVE_PORTMIDI, [test x$usestaticportmidi = xyes])

if test "x$usestaticportmidi" = "xyes"; then
CFLAGS="$CFLAGS -D_HAVE_PORTMIDI_ -DWIN32 -D_WINDOWS -D_DEBUG -DPM_CHECK_ERRORS=0 -DDEBUG"
  LIBS="$LIBS -D_HAVE_PORTMIDI_"
  WHICH_PORTMIDI='portmidi'
  PORTMIDI_LDD='../portmidi/libportmidi.a'
PORTMIDI_INCLUDE='-I$(top_srcdir)/portmidi -D_HAVE_PORTMIDI_ -DWIN32 -D_WINDOWS -D_DEBUG -DPM_CHECK_ERRORS=0 -DDEBUG'
else
  WHICH_PORTMIDI=''
  PORTMIDI_LDD=''
  PORTMIDI_INCLUDE=''
fi
  AC_SUBST([WHICH_PORTMIDI])
  AC_SUBST([PORTMIDI_LDD])
  AC_SUBST([PORTMIDI_INCLUDE])


This section has changed in src/Makefile.am 0.9.6:
localedir = $(datadir)/locale
INCLUDES = -I../intl -I$(top_srcdir)/intl -I$(top_srcdir)/include \
 $(SMF_INCLUDE) \
 $(PORTMIDI_INCLUDE) \
-I$(top_srcdir)/pixmaps \
-DLOCALEDIR=\"$(localedir)\" \
-DSYSCONFDIR=\"$(sysconfdir)/\" \
-DPKGDATADIR=\"$(pkgdatadir)/\" \
-DDATAROOTDIR=\"$(datarootdir)/\" \
-DPKGNAME=\"denemo\"


denemo_LDADD = $(INTLLIBS) $(SMF_LDD) libaudiobackend.a $(PORTMIDI_LDD)
AM_CPPFLAGS = $(BINRELOC_CFLAGS)

****Here is the mingw branch code ******:
localedir = $(datadir)/locale
AM_CPPFLAGS = -I../intl -I$(top_srcdir)/intl -I$(top_srcdir)/include \
 $(BINRELOC_CFLAGS) \
 $(SMF_INCLUDE) \
 $(PORTMIDI_INCLUDE) \
-I$(top_srcdir)/libsffile \
-I$(top_srcdir)/pixmaps \
-DPREFIX=\"$(prefix)\" \
-DBINDIR=\"$(exec_prefix)/bin\" \
-DLOCALEDIR=\"$(localedir)\" \
-DSYSCONFDIR=\"$(sysconfdir)/\" \
-DPKGDATADIR=\"$(pkgdatadir)/\" \
-DDATAROOTDIR=\"$(datarootdir)/\" \
-DPKGNAME=\"denemo\"


denemo_LDADD = $(INTLLIBS) $(SMF_LDD) libaudiobackend.a $(PORTMIDI_LDD) ../libsffile/libsffile.a

I am not sure how this got changed and why. Perhaps this is the only change that is needed. The portmidi/Makefile is virtually the same -DPM_CHECK_ERRORS=0 instead of =1;

Once I noticed that _HAVE_PORTMIDI_ was not being defined to these files in src/:
portmidibackend.c portmidibackend.h portmidiutil.c portmidiutil.h


Denemo compiles using gub in debian stable. It is probably more efficient if you build and test yourself. I don't have win32 and feel like I am moving in the dark a bit. I also know next to nothing about correcting linking issues. I could revert the posted section of src/Makefile.am and gub up another mingw if you think this will correct it.

Last night I was also able to compile the linux version using debian stable. I have not tested it yet though.

Jeremiah





(I don't
have an actual MIDI controller attached, but looking at the source code
it is clear that message only appears if the portmidi code is not linked
in).

Richard






reply via email to

[Prev in Thread] Current Thread [Next in Thread]