Index: head/audio/Makefile =================================================================== --- head/audio/Makefile +++ head/audio/Makefile @@ -696,6 +696,7 @@ SUBDIR += rosegarden SUBDIR += rplay SUBDIR += rsynth + SUBDIR += rtmidi SUBDIR += rubberband SUBDIR += ruby-smf SUBDIR += ruby-taglib Index: head/audio/rtmidi/Makefile =================================================================== --- head/audio/rtmidi/Makefile +++ head/audio/rtmidi/Makefile @@ -0,0 +1,24 @@ +# Created by: Yuri Victorovich +# $FreeBSD$ + +PORTNAME= rtmidi +DISTVERSION= 2.1.1-38 +DISTVERSIONSUFFIX= -g907a94c +CATEGORIES= audio + +MAINTAINER= yuri@rawbw.com +COMMENT= Set of C++ classes that provide a common API for realtime MIDI I/O + +LICENSE= MIT + +LIB_DEPENDS= libjack.so:audio/jack + +USES= autoreconf localbase libtool +GNU_CONFIGURE= yes +USE_GITHUB= yes +GH_ACCOUNT= thestk +CONFIGURE_ARGS= --with-jack +USE_LDCONFIG= yes +INSTALL_TARGET= install-strip + +.include Index: head/audio/rtmidi/distinfo =================================================================== --- head/audio/rtmidi/distinfo +++ head/audio/rtmidi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1503103513 +SHA256 (thestk-rtmidi-2.1.1-38-g907a94c_GH0.tar.gz) = 6906d2ac6405eff4a0183307d16c9cf2fd6d9ec1958384d2195e4b47eb309de7 +SIZE (thestk-rtmidi-2.1.1-38-g907a94c_GH0.tar.gz) = 80635 Index: head/audio/rtmidi/files/patch-configure.ac =================================================================== --- head/audio/rtmidi/files/patch-configure.ac +++ head/audio/rtmidi/files/patch-configure.ac @@ -0,0 +1,58 @@ +--- configure.ac.orig 2017-04-21 15:27:54 UTC ++++ configure.ac +@@ -65,7 +65,7 @@ AC_MSG_CHECKING(whether to compile debug + AC_ARG_ENABLE(debug, + [ --enable-debug = enable various debug output], + [AC_SUBST( cppflag, [-D__RTMIDI_DEBUG__] ) AC_SUBST( cxxflag, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)], +- [AC_SUBST( cppflag, [] ) AC_SUBST( cxxflag, [-O3] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)]) ++ [AC_SUBST( cppflag, [] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)]) + + # Set paths if prefix is defined + if test "x$prefix" != "x" && test "x$prefix" != "xNONE"; then +@@ -78,7 +78,7 @@ CPPFLAGS="$CPPFLAGS $cppflag" + + # For debugging and optimization ... overwrite default because it has both -g and -O2 + #CXXFLAGS="$CXXFLAGS $cxxflag" +-CXXFLAGS="$cxxflag" ++CXXFLAGS+="$cxxflag" + + # Check compiler and use -Wall if gnu. + if [test $GXX = "yes" ;] then +@@ -105,25 +105,25 @@ AC_SUBST( api, [""] ) + AC_SUBST( req, [""] ) + AC_MSG_CHECKING(for MIDI API) + case $host in +- *-*-linux*) ++ *-*-freebsd*) + AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)], [ + api="$api -D__UNIX_JACK__" + AC_MSG_RESULT(using JACK) + AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))], ) + + # Look for ALSA flag +- AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA sequencer API support (linux only)], [ +- api="$api -D__LINUX_ALSA__" +- req="$req alsa" +- AC_MSG_RESULT(using ALSA) +- AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], ) ++ #AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA sequencer API support (linux only)], [ ++ # api="$api -D__LINUX_ALSA__" ++ # req="$req alsa" ++ # AC_MSG_RESULT(using ALSA) ++ # AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], ) + +- if [test "$api" == "";] then +- AC_MSG_RESULT(using ALSA) +- AC_SUBST( api, [-D__LINUX_ALSA__] ) +- req="$req alsa" +- AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA sequencer support requires the asound library!)) +- fi ++ #if [test "$api" == "";] then ++ # AC_MSG_RESULT(using ALSA) ++ # AC_SUBST( api, [-D__LINUX_ALSA__] ) ++ # req="$req alsa" ++ # AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA sequencer support requires the asound library!)) ++ #fi + + # Checks for pthread library. + AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtMidi requires the pthread library!)) Index: head/audio/rtmidi/pkg-descr =================================================================== --- head/audio/rtmidi/pkg-descr +++ head/audio/rtmidi/pkg-descr @@ -0,0 +1,12 @@ +RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific classes) +that provide a common API (Application Programming Interface) for realtime MIDI +input/output across Linux (ALSA, JACK), Macintosh OS X (CoreMIDI, JACK), and +Windows (Multimedia Library) operating systems. RtMidi significantly simplifies +the process of interacting with computer MIDI hardware and software. It was +designed with the following goals: +* object oriented C++ design +* simple, common API across all supported platforms +* only one header and one source file for easy inclusion in programming projects +* MIDI device enumeration + +WWW: https://github.com/thestk/rtmidi Index: head/audio/rtmidi/pkg-plist =================================================================== --- head/audio/rtmidi/pkg-plist +++ head/audio/rtmidi/pkg-plist @@ -0,0 +1,7 @@ +include/rtmidi/RtMidi.h +include/rtmidi/rtmidi_c.h +lib/librtmidi.a +lib/librtmidi.so +lib/librtmidi.so.3 +lib/librtmidi.so.3.0.0 +libdata/pkgconfig/rtmidi.pc