ports/164642: New port: audio/sooperlooper: a live looping sampler capable of immediate loop Xrecording, overdubbing, multiplying, reversing and more
Mathias Picker
Mathias.Picker at gmx.de
Mon Jan 30 16:20:13 UTC 2012
>Number: 164642
>Category: ports
>Synopsis: New port: audio/sooperlooper: a live looping sampler capable of immediate loop Xrecording, overdubbing, multiplying, reversing and more
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Jan 30 16:20:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Mathias Picker
>Release:
>Organization:
>Environment:
>Description:
Port of audio/sooperlooper, a live looping sampler. This works fine on my 9-stable amd64 machine.
This needs audio/vamp-plugin-sdk and audio/rubberband to build, see previous pr.
No midi, sadly, and since there is no --without-alsa in the configure script I just yanked all the alsa stuff out of it, so it works fine even with alsa installed. Otherwise, it would crash with "no /dev/snd/seq".
I wanted to use a live looping sampler, there was none on FreeBSD and sooperlooper proved easy to port.
I can't officially maintain this, as I have a heart condition which might stop me any day, but I will probably use this for at least a year and so keep it up to date.
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# sooperlooper
# sooperlooper/pkg-plist
# sooperlooper/Makefile
# sooperlooper/distinfo
# sooperlooper/files
# sooperlooper/files/patch-configure
# sooperlooper/files/patch-src-plugin.cc
# sooperlooper/files/patch-libs-midi-configure
# sooperlooper/files/patch-libs-pbd-ftw.cc
# sooperlooper/pkg-descr
#
echo c - sooperlooper
mkdir -p sooperlooper > /dev/null 2>&1
echo x - sooperlooper/pkg-plist
sed 's/^X//' >sooperlooper/pkg-plist << 'a22e420ba6e0a2da96264bc7128c9e80'
Xbin/slconsole
Xbin/slgui
Xbin/slregister
Xbin/sooperlooper
Xshare/licenses/sooperlooper-1.6.18/GPLv2
Xshare/licenses/sooperlooper-1.6.18/LICENSE
Xshare/licenses/sooperlooper-1.6.18/catalog.mk
Xshare/sooperlooper/presets/bcf2000.slb
Xshare/sooperlooper/presets/edp4.slb
Xshare/sooperlooper/presets/midiwizard.slb
Xshare/sooperlooper/presets/oxy8.slb
X at dirrm share/sooperlooper/presets
X at dirrm share/sooperlooper
X at dirrm share/licenses/sooperlooper-1.6.18
X at dirrm share/licenses
a22e420ba6e0a2da96264bc7128c9e80
echo x - sooperlooper/Makefile
sed 's/^X//' >sooperlooper/Makefile << 'aa20dc93a36b1117b8668f261da9dbce'
X# New ports collection makefile for: rubberband
X# Date created: 2012-01-08
X# Whom: mathias.picker at gmx.de
X#
X# $FreeBSD$
X#
X
XPORTNAME= sooperlooper
XPORTVERSION= 1.6.18
XCATEGORIES= audio
XMASTER_SITES= http://essej.net/sooperlooper/
X
XMAINTAINER= ports at freebsd.org
XCOMMENT= Vamp audio analysis plugin SDK
X
XLICENSE=GPLv2
XLICENSE_FILE=${WRKSRC}/COPYING
X
XBUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
XLIB_DEPENDS= fftw3.6:${PORTSDIR}/math/fftw3 \
X jack.0:${PORTSDIR}/audio/jack \
X lo.7:${PORTSDIR}/audio/liblo \
X rubberband.2:${PORTSDIR}/audio/rubberband \
X samplerate.1:${PORTSDIR}/audio/libsamplerate \
X sigc-1.2.5:${PORTSDIR}/devel/libsigc++12 \
X sndfile.1:${PORTSDIR}/audio/libsndfile \
X vamp-sdk.2:${PORTSDIR}/audio/vamp-plugin-sdk
XRUN_DEPENDS= ${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
X
XGNU_CONFIGURE= yes
XUSE_GMAKE= yes
XUSE_WX= 2.6+
XWX_UNICODE= yes
XCONFIGURE_ARGS= --with-wxconfig-path=${WX_CONFIG}
XUSE_LDCONFIG= yes
X
XCFLAGS+= -I${LOCALBASE}/include
XCPPFLAGS+= -I${LOCALBASE}/include
XLDFLAGS+= -L${LOCALBASE}/lib
X
XUSE_GNOME= pkgconfig libxml2
X
X.include <bsd.port.mk>
aa20dc93a36b1117b8668f261da9dbce
echo x - sooperlooper/distinfo
sed 's/^X//' >sooperlooper/distinfo << '7a8e2dd27e2e299a60b2557ffdc89a36'
XSHA256 (sooperlooper-1.6.18.tar.gz) = 087a52186fefb138ac16deebc1ed4b9ff4945ffb4fe3e2170f60fcf97a3a8c38
XSIZE (sooperlooper-1.6.18.tar.gz) = 705462
7a8e2dd27e2e299a60b2557ffdc89a36
echo c - sooperlooper/files
mkdir -p sooperlooper/files > /dev/null 2>&1
echo x - sooperlooper/files/patch-configure
sed 's/^X//' >sooperlooper/files/patch-configure << '33fc318ed217c4aff68b6d5faa463fab'
X--- configure-dist 2012-01-18 23:51:22.886747138 +0100
X+++ configure 2012-01-18 23:51:03.153741729 +0100
X@@ -6869,152 +6869,9 @@
X ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
X ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
X
X-
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- { echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5
X-echo $ECHO_N "checking for alsa/asoundlib.h... $ECHO_C" >&6; }
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- echo $ECHO_N "(cached) $ECHO_C" >&6
X-fi
X-{ echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5
X-echo "${ECHO_T}$ac_cv_header_alsa_asoundlib_h" >&6; }
X-else
X- # Is the header compilable?
X-{ echo "$as_me:$LINENO: checking alsa/asoundlib.h usability" >&5
X-echo $ECHO_N "checking alsa/asoundlib.h usability... $ECHO_C" >&6; }
X-cat >conftest.$ac_ext <<_ACEOF
X-/* confdefs.h. */
X-_ACEOF
X-cat confdefs.h >>conftest.$ac_ext
X-cat >>conftest.$ac_ext <<_ACEOF
X-/* end confdefs.h. */
X-$ac_includes_default
X-#include <alsa/asoundlib.h>
X-_ACEOF
X-rm -f conftest.$ac_objext
X-if { (ac_try="$ac_compile"
X-case "(($ac_try" in
X- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
X- *) ac_try_echo=$ac_try;;
X-esac
X-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
X- (eval "$ac_compile") 2>conftest.er1
X- ac_status=$?
X- grep -v '^ *+' conftest.er1 >conftest.err
X- rm -f conftest.er1
X- cat conftest.err >&5
X- echo "$as_me:$LINENO: \$? = $ac_status" >&5
X- (exit $ac_status); } && {
X- test -z "$ac_cxx_werror_flag" ||
X- test ! -s conftest.err
X- } && test -s conftest.$ac_objext; then
X- ac_header_compiler=yes
X-else
X- echo "$as_me: failed program was:" >&5
X-sed 's/^/| /' conftest.$ac_ext >&5
X-
X- ac_header_compiler=no
X-fi
X-
X-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
X-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
X-echo "${ECHO_T}$ac_header_compiler" >&6; }
X-
X-# Is the header present?
X-{ echo "$as_me:$LINENO: checking alsa/asoundlib.h presence" >&5
X-echo $ECHO_N "checking alsa/asoundlib.h presence... $ECHO_C" >&6; }
X-cat >conftest.$ac_ext <<_ACEOF
X-/* confdefs.h. */
X-_ACEOF
X-cat confdefs.h >>conftest.$ac_ext
X-cat >>conftest.$ac_ext <<_ACEOF
X-/* end confdefs.h. */
X-#include <alsa/asoundlib.h>
X-_ACEOF
X-if { (ac_try="$ac_cpp conftest.$ac_ext"
X-case "(($ac_try" in
X- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
X- *) ac_try_echo=$ac_try;;
X-esac
X-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
X- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
X- ac_status=$?
X- grep -v '^ *+' conftest.er1 >conftest.err
X- rm -f conftest.er1
X- cat conftest.err >&5
X- echo "$as_me:$LINENO: \$? = $ac_status" >&5
X- (exit $ac_status); } >/dev/null && {
X- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
X- test ! -s conftest.err
X- }; then
X- ac_header_preproc=yes
X-else
X- echo "$as_me: failed program was:" >&5
X-sed 's/^/| /' conftest.$ac_ext >&5
X-
X- ac_header_preproc=no
X-fi
X-
X-rm -f conftest.err conftest.$ac_ext
X-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
X-echo "${ECHO_T}$ac_header_preproc" >&6; }
X-
X-# So? What about this header?
X-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
X- yes:no: )
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&2;}
X- ac_header_preproc=yes
X- ;;
X- no:yes:* )
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&2;}
X-
X- ;;
X-esac
X-{ echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5
X-echo $ECHO_N "checking for alsa/asoundlib.h... $ECHO_C" >&6; }
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- echo $ECHO_N "(cached) $ECHO_C" >&6
X-else
X- ac_cv_header_alsa_asoundlib_h=$ac_header_preproc
X-fi
X-{ echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5
X-echo "${ECHO_T}$ac_cv_header_alsa_asoundlib_h" >&6; }
X-
X-fi
X-if test $ac_cv_header_alsa_asoundlib_h = yes; then
X- use_alsa_midi=yes
X- AUDIO_LIBS=-lasound
X-
X-cat >>confdefs.h <<\_ACEOF
X-#define WITH_ALSA 1
X-_ACEOF
X-
X-else
X- use_alsa_midi=no
X-fi
X-
X-
X- if test x$use_alsa_midi = xyes; then
X- WITH_ALSA_TRUE=
X- WITH_ALSA_FALSE='#'
X-else
X- WITH_ALSA_TRUE='#'
X- WITH_ALSA_FALSE=
X-fi
X+# FreeBSD: unset alsa
X+WITH_ALSA_TRUE='#'
X+WITH_ALSA_FALSE=
X
X
X { echo "$as_me:$LINENO: checking for /System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h" >&5
33fc318ed217c4aff68b6d5faa463fab
echo x - sooperlooper/files/patch-src-plugin.cc
sed 's/^X//' >sooperlooper/files/patch-src-plugin.cc << 'b4960a272c6461c4ddbcf6dd78df1901'
X--- src/plugin.cc-dist 2012-01-18 12:40:15.870419356 +0100
X+++ src/plugin.cc 2012-01-18 13:28:16.760422152 +0100
X@@ -44,6 +44,13 @@
X
X using namespace SooperLooper;
X
X+#if __FreeBSD__ >= 2
X+#include <osreldate.h>
X+# if __FreeBSD_version < 900500
X+ /* not defined before FreeBSD 9 */
X+# define log2(x) (log(x) / M_LN2)
X+# endif /* __FreeBSD_version < 900500 */
X+#endif /* __FreeBSD__ */
X
X /*****************************************************************************/
X //#define LOOPDEBUG
b4960a272c6461c4ddbcf6dd78df1901
echo x - sooperlooper/files/patch-libs-midi-configure
sed 's/^X//' >sooperlooper/files/patch-libs-midi-configure << '3ea2c7a8e5e44d28156c1619c0e46d19'
X--- libs/midi++/configure-dist 2012-01-18 23:48:59.738744056 +0100
X+++ libs/midi++/configure 2012-01-18 23:49:55.386738098 +0100
X@@ -5100,151 +5100,9 @@
X done
X
X
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- { echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5
X-echo $ECHO_N "checking for alsa/asoundlib.h... $ECHO_C" >&6; }
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- echo $ECHO_N "(cached) $ECHO_C" >&6
X-fi
X-{ echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5
X-echo "${ECHO_T}$ac_cv_header_alsa_asoundlib_h" >&6; }
X-else
X- # Is the header compilable?
X-{ echo "$as_me:$LINENO: checking alsa/asoundlib.h usability" >&5
X-echo $ECHO_N "checking alsa/asoundlib.h usability... $ECHO_C" >&6; }
X-cat >conftest.$ac_ext <<_ACEOF
X-/* confdefs.h. */
X-_ACEOF
X-cat confdefs.h >>conftest.$ac_ext
X-cat >>conftest.$ac_ext <<_ACEOF
X-/* end confdefs.h. */
X-$ac_includes_default
X-#include <alsa/asoundlib.h>
X-_ACEOF
X-rm -f conftest.$ac_objext
X-if { (ac_try="$ac_compile"
X-case "(($ac_try" in
X- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
X- *) ac_try_echo=$ac_try;;
X-esac
X-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
X- (eval "$ac_compile") 2>conftest.er1
X- ac_status=$?
X- grep -v '^ *+' conftest.er1 >conftest.err
X- rm -f conftest.er1
X- cat conftest.err >&5
X- echo "$as_me:$LINENO: \$? = $ac_status" >&5
X- (exit $ac_status); } && {
X- test -z "$ac_cxx_werror_flag" ||
X- test ! -s conftest.err
X- } && test -s conftest.$ac_objext; then
X- ac_header_compiler=yes
X-else
X- echo "$as_me: failed program was:" >&5
X-sed 's/^/| /' conftest.$ac_ext >&5
X-
X- ac_header_compiler=no
X-fi
X-
X-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
X-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
X-echo "${ECHO_T}$ac_header_compiler" >&6; }
X-
X-# Is the header present?
X-{ echo "$as_me:$LINENO: checking alsa/asoundlib.h presence" >&5
X-echo $ECHO_N "checking alsa/asoundlib.h presence... $ECHO_C" >&6; }
X-cat >conftest.$ac_ext <<_ACEOF
X-/* confdefs.h. */
X-_ACEOF
X-cat confdefs.h >>conftest.$ac_ext
X-cat >>conftest.$ac_ext <<_ACEOF
X-/* end confdefs.h. */
X-#include <alsa/asoundlib.h>
X-_ACEOF
X-if { (ac_try="$ac_cpp conftest.$ac_ext"
X-case "(($ac_try" in
X- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
X- *) ac_try_echo=$ac_try;;
X-esac
X-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
X- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
X- ac_status=$?
X- grep -v '^ *+' conftest.er1 >conftest.err
X- rm -f conftest.er1
X- cat conftest.err >&5
X- echo "$as_me:$LINENO: \$? = $ac_status" >&5
X- (exit $ac_status); } >/dev/null && {
X- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
X- test ! -s conftest.err
X- }; then
X- ac_header_preproc=yes
X-else
X- echo "$as_me: failed program was:" >&5
X-sed 's/^/| /' conftest.$ac_ext >&5
X-
X- ac_header_preproc=no
X-fi
X-
X-rm -f conftest.err conftest.$ac_ext
X-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
X-echo "${ECHO_T}$ac_header_preproc" >&6; }
X-
X-# So? What about this header?
X-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
X- yes:no: )
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&2;}
X- ac_header_preproc=yes
X- ;;
X- no:yes:* )
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&2;}
X- { echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&5
X-echo "$as_me: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&2;}
X-
X- ;;
X-esac
X-{ echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5
X-echo $ECHO_N "checking for alsa/asoundlib.h... $ECHO_C" >&6; }
X-if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then
X- echo $ECHO_N "(cached) $ECHO_C" >&6
X-else
X- ac_cv_header_alsa_asoundlib_h=$ac_header_preproc
X-fi
X-{ echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5
X-echo "${ECHO_T}$ac_cv_header_alsa_asoundlib_h" >&6; }
X-
X-fi
X-if test $ac_cv_header_alsa_asoundlib_h = yes; then
X- use_alsa_midi=yes
X- AUDIO_LIBS=-lasound
X-
X-cat >>confdefs.h <<\_ACEOF
X-#define WITH_ALSA 1
X-_ACEOF
X-
X-else
X- use_alsa_midi=no
X-fi
X-
X-
X- if test x$use_alsa_midi = xyes; then
X- WITH_ALSA_TRUE=
X- WITH_ALSA_FALSE='#'
X-else
X- WITH_ALSA_TRUE='#'
X- WITH_ALSA_FALSE=
X-fi
X+# FreeBSD: unset alsa
X+WITH_ALSA_TRUE='#'
X+WITH_ALSA_FALSE=
X
X
X { echo "$as_me:$LINENO: checking for /System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h" >&5
3ea2c7a8e5e44d28156c1619c0e46d19
echo x - sooperlooper/files/patch-libs-pbd-ftw.cc
sed 's/^X//' >sooperlooper/files/patch-libs-pbd-ftw.cc << 'c4c120984134270535cdd28b2a69512f'
X--- libs/pbd/ftw.cc-dist 2012-01-08 20:15:45.901151819 +0100
X+++ libs/pbd/ftw.cc 2012-01-08 20:15:58.904148109 +0100
X@@ -33,7 +33,7 @@
X #include <sys/types.h> /* Because fts(3) says so */
X #include <sys/stat.h>
X #include <fts.h>
X-#include <alloca.h>
X+#include <stdlib.h>
X
X #include <unistd.h> /* We want strcpy */
X
c4c120984134270535cdd28b2a69512f
echo x - sooperlooper/pkg-descr
sed 's/^X//' >sooperlooper/pkg-descr << '7d9be0a3b7236916403ffe778209bc26'
XSooperLooper is a live looping sampler capable of immediate loop
Xrecording, overdubbing, multiplying, reversing and more. It allows
Xfor multiple simultaneous multi-channel loops limited only by
Xyour computer's available memory.
XSince FreeBSD does not emulate alsa-midi, this port has no midi features.
7d9be0a3b7236916403ffe778209bc26
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list