mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-29 23:29:41 +02:00
Update LV2 host
This greatly improves the LV2 host to the point where all (non-midi) plugins distributed with Ubuntu 18.04 and Fedora 30 are supported.
This commit is contained in:
parent
be336797b3
commit
ccfd2f1c80
69
Makefile.in
69
Makefile.in
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -166,7 +166,8 @@ am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
|
||||
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__maybe_remake_depfiles = depfiles
|
||||
am__depfiles_remade = ./$(DEPDIR)/audacity.Po
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
@ -237,7 +238,7 @@ am__recursive_targets = \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
cscope distdir distdir-am dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
@ -510,7 +511,6 @@ pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
@ -633,8 +633,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -701,7 +701,13 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity.Po@am__quote@ # am--include-marker
|
||||
|
||||
$(am__depfiles_remade):
|
||||
@$(MKDIR_P) $(@D)
|
||||
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||
|
||||
am--depfiles: $(am__depfiles_remade)
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@ -908,7 +914,10 @@ distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
@ -1140,7 +1149,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f ./$(DEPDIR)/audacity.Po
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags
|
||||
@ -1189,7 +1198,7 @@ installcheck-am:
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f ./$(DEPDIR)/audacity.Po
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
@ -1212,25 +1221,25 @@ uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \
|
||||
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||
am--refresh check check-am clean clean-binPROGRAMS \
|
||||
clean-cscope clean-generic clean-libtool cscope cscopelist-am \
|
||||
ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \
|
||||
dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
|
||||
distclean-compile distclean-generic distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-binPROGRAMS install-data install-data-am \
|
||||
install-dist_docDATA install-dist_pkgdataDATA install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-nobase_dist_pkgdataDATA install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
|
||||
uninstall-dist_docDATA uninstall-dist_pkgdataDATA \
|
||||
uninstall-nobase_dist_pkgdataDATA
|
||||
am--depfiles am--refresh check check-am clean \
|
||||
clean-binPROGRAMS clean-cscope clean-generic clean-libtool \
|
||||
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distcleancheck distdir \
|
||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||
install install-am install-binPROGRAMS install-data \
|
||||
install-data-am install-dist_docDATA install-dist_pkgdataDATA \
|
||||
install-dvi install-dvi-am install-exec install-exec-am \
|
||||
install-html install-html-am install-info install-info-am \
|
||||
install-man install-nobase_dist_pkgdataDATA install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs installdirs-am \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
|
||||
uninstall-binPROGRAMS uninstall-dist_docDATA \
|
||||
uninstall-dist_pkgdataDATA uninstall-nobase_dist_pkgdataDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
248
configure
vendored
248
configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for audacity 2.3.3.
|
||||
# Generated by GNU Autoconf 2.69 for audacity 2.4.0.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='audacity'
|
||||
PACKAGE_TARNAME='audacity'
|
||||
PACKAGE_VERSION='2.3.3'
|
||||
PACKAGE_STRING='audacity 2.3.3'
|
||||
PACKAGE_VERSION='2.4.0'
|
||||
PACKAGE_STRING='audacity 2.4.0'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
@ -833,7 +833,6 @@ am__nodep
|
||||
AMDEPBACKSLASH
|
||||
AMDEP_FALSE
|
||||
AMDEP_TRUE
|
||||
am__quote
|
||||
am__include
|
||||
DEPDIR
|
||||
OBJEXT
|
||||
@ -902,7 +901,6 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@ -921,7 +919,8 @@ PACKAGE_VERSION
|
||||
PACKAGE_TARNAME
|
||||
PACKAGE_NAME
|
||||
PATH_SEPARATOR
|
||||
SHELL'
|
||||
SHELL
|
||||
am__quote'
|
||||
ac_subst_files=''
|
||||
ac_user_opts='
|
||||
enable_option_checking
|
||||
@ -1086,7 +1085,6 @@ datadir='${datarootdir}'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
@ -1339,15 +1337,6 @@ do
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
@ -1485,7 +1474,7 @@ fi
|
||||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir runstatedir
|
||||
libdir localedir mandir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
@ -1598,7 +1587,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures audacity 2.3.3 to adapt to many kinds of systems.
|
||||
\`configure' configures audacity 2.4.0 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1638,7 +1627,6 @@ Fine tuning of the installation directories:
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
@ -1669,7 +1657,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of audacity 2.3.3:";;
|
||||
short | recursive ) echo "Configuration of audacity 2.4.0:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1897,7 +1885,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
audacity configure 2.3.3
|
||||
audacity configure 2.4.0
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@ -2535,7 +2523,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by audacity $as_me 2.3.3, which was
|
||||
It was created by audacity $as_me 2.4.0, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -2918,7 +2906,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
|
||||
|
||||
|
||||
am__api_version='1.15'
|
||||
am__api_version='1.16'
|
||||
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
# so one script is as good as another. But avoid the broken or
|
||||
@ -3404,7 +3392,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='audacity'
|
||||
VERSION='2.3.3'
|
||||
VERSION='2.4.0'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -3434,8 +3422,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
|
||||
|
||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||
# dies out for good. For more background, see:
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||
mkdir_p='$(MKDIR_P)'
|
||||
|
||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||
@ -3602,7 +3590,7 @@ END
|
||||
Aborting the configuration process, to ensure you take notice of the issue.
|
||||
|
||||
You can download and install GNU coreutils to get an 'rm' implementation
|
||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
||||
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||
|
||||
If you want to complete the configuration process using your problematic
|
||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||
@ -3965,45 +3953,45 @@ DEPDIR="${am__leading_dot}deps"
|
||||
|
||||
ac_config_commands="$ac_config_commands depfiles"
|
||||
|
||||
|
||||
am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
|
||||
$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
|
||||
cat > confinc.mk << 'END'
|
||||
am__doit:
|
||||
@echo this is the am__doit target
|
||||
@echo this is the am__doit target >confinc.out
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
|
||||
$as_echo_n "checking for style of include used by $am_make... " >&6; }
|
||||
am__include="#"
|
||||
am__quote=
|
||||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
# Ignore all kinds of additional output from 'make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
# BSD make does it like this.
|
||||
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||
_am_result=no
|
||||
for s in GNU BSD; do
|
||||
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
|
||||
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }
|
||||
case $?:`cat confinc.out 2>/dev/null` in #(
|
||||
'0:this is the am__doit target') :
|
||||
case $s in #(
|
||||
BSD) :
|
||||
am__include='.include' am__quote='"' ;; #(
|
||||
*) :
|
||||
am__include='include' am__quote='' ;;
|
||||
esac ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
|
||||
$as_echo "$_am_result" >&6; }
|
||||
rm -f confinc confmf
|
||||
esac
|
||||
if test "$am__include" != "#"; then
|
||||
_am_result="yes ($s style)"
|
||||
break
|
||||
fi
|
||||
done
|
||||
rm -f confinc.* confmf.*
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
|
||||
$as_echo "${_am_result}" >&6; }
|
||||
|
||||
# Check whether --enable-dependency-tracking was given.
|
||||
if test "${enable_dependency_tracking+set}" = set; then :
|
||||
@ -22240,12 +22228,12 @@ if test -n "$LV2_CFLAGS"; then
|
||||
pkg_cv_LV2_CFLAGS="$LV2_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2") 2>&5
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_LV2_CFLAGS=`$PKG_CONFIG --cflags "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2" 2>/dev/null`
|
||||
pkg_cv_LV2_CFLAGS=`$PKG_CONFIG --cflags "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4" 2>/dev/null`
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
@ -22256,12 +22244,12 @@ if test -n "$LV2_LIBS"; then
|
||||
pkg_cv_LV2_LIBS="$LV2_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2") 2>&5
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_LV2_LIBS=`$PKG_CONFIG --libs "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2" 2>/dev/null`
|
||||
pkg_cv_LV2_LIBS=`$PKG_CONFIG --libs "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4" 2>/dev/null`
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
@ -22279,9 +22267,9 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
LV2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2" 2>&1`
|
||||
LV2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4" 2>&1`
|
||||
else
|
||||
LV2_PKG_ERRORS=`$PKG_CONFIG --print-errors "lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2" 2>&1`
|
||||
LV2_PKG_ERRORS=`$PKG_CONFIG --print-errors "lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$LV2_PKG_ERRORS" >&5
|
||||
@ -22299,7 +22287,6 @@ $as_echo "yes" >&6; }
|
||||
LV2_SYSTEM_AVAILABLE="yes"
|
||||
fi
|
||||
|
||||
|
||||
if test "$LV2_SYSTEM_AVAILABLE" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: LV2 libraries are available as system libraries" >&5
|
||||
$as_echo "$as_me: LV2 libraries are available as system libraries" >&6;}
|
||||
@ -23430,8 +23417,10 @@ $as_echo "#define USE_LIBVORBIS 1" >>confdefs.h
|
||||
|
||||
|
||||
if test "$LV2_USE_LOCAL" = yes; then
|
||||
LV2_CFLAGS='-I$(top_srcdir)/lib-src/lv2/include -I$(top_builddir)/lib-src/lv2/include'
|
||||
LV2_LIBS='$(top_builddir)/lib-src/lv2/liblv2.a'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include/lilv-0'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include/suil-0'
|
||||
LV2_LIBS='$(top_builddir)/lib-src/lv2/build/lib/lib*.a'
|
||||
subdirs="$subdirs lib-src/lv2"
|
||||
|
||||
fi
|
||||
@ -24970,7 +24959,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by audacity $as_me 2.3.3, which was
|
||||
This file was extended by audacity $as_me 2.4.0, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -25036,7 +25025,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
audacity config.status 2.3.3
|
||||
audacity config.status 2.4.0
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
@ -25162,7 +25151,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
# Capture the value of LINGUAS because we need it to compute CATALOGS.
|
||||
LINGUAS="${LINGUAS-%UNSET%}"
|
||||
|
||||
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
||||
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
|
||||
|
||||
|
||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||
@ -26273,29 +26262,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
|
||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
# TODO: see whether this extra hack can be removed once we start
|
||||
# requiring Autoconf 2.70 or later.
|
||||
case $CONFIG_FILES in #(
|
||||
*\'*) :
|
||||
eval set x "$CONFIG_FILES" ;; #(
|
||||
*) :
|
||||
set x $CONFIG_FILES ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
# Used to flag and report bootstrapping failures.
|
||||
am_rc=0
|
||||
for am_mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named 'Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile which includes
|
||||
# dependency-tracking related rules and includes.
|
||||
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`$as_dirname -- "$mf" ||
|
||||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$mf" : 'X\(//\)[^/]' \| \
|
||||
X"$mf" : 'X\(//\)$' \| \
|
||||
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X"$mf" |
|
||||
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||
|| continue
|
||||
am_dirpart=`$as_dirname -- "$am_mf" ||
|
||||
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$am_mf" : 'X\(//\)[^/]' \| \
|
||||
X"$am_mf" : 'X\(//\)$' \| \
|
||||
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X"$am_mf" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
@ -26313,53 +26308,48 @@ $as_echo X"$mf" |
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running 'make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "$am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`$as_dirname -- "$file" ||
|
||||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$file" : 'X\(//\)[^/]' \| \
|
||||
X"$file" : 'X\(//\)$' \| \
|
||||
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X"$file" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
am_filepart=`$as_basename -- "$am_mf" ||
|
||||
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
|
||||
X"$am_mf" : 'X\(//\)$' \| \
|
||||
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X/"$am_mf" |
|
||||
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
/^X\/\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
/^X\/\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
as_dir=$dirpart/$fdir; as_fn_mkdir_p
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
|
||||
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||
| $MAKE -f - am--depfiles" >&5
|
||||
(cd "$am_dirpart" \
|
||||
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||
| $MAKE -f - am--depfiles) >&5 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } || am_rc=$?
|
||||
done
|
||||
if test $am_rc -ne 0; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error $? "Something went wrong bootstrapping makefile fragments
|
||||
for automatic dependency tracking. Try re-running configure with the
|
||||
'--disable-dependency-tracking' option to at least be able to build
|
||||
the package (albeit without support for automatic dependency tracking).
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
fi
|
||||
{ am_dirpart=; unset am_dirpart;}
|
||||
{ am_filepart=; unset am_filepart;}
|
||||
{ am_mf=; unset am_mf;}
|
||||
{ am_rc=; unset am_rc;}
|
||||
rm -f conftest-deps.mk
|
||||
}
|
||||
;;
|
||||
"libtool":C)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -389,7 +389,6 @@ pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
@ -422,8 +421,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -511,7 +510,10 @@ ctags CTAGS:
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -393,7 +393,6 @@ pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
@ -504,8 +503,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -697,7 +696,10 @@ ctags CTAGS:
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -189,7 +189,7 @@ am__recursive_targets = \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
distdir
|
||||
distdir distdir-am
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
@ -434,7 +434,6 @@ pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
@ -984,8 +983,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
$(srcdir)/dist-libsoxr.mk $(srcdir)/dist-libvamp.mk $(srcdir)/dist-portaudio.mk $(am__empty):
|
||||
|
||||
@ -1103,7 +1102,10 @@ cscopelist-am: $(am__tagged_files)
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
@ -168,11 +168,21 @@
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
};
|
||||
buildConfigurationList = 730F235809181A3A00AB638C /* Build configuration list for PBXProject "Ogg" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
English,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* Ogg */;
|
||||
productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D07F2BC0486CC7A007CD1D0 /* Ogg */,
|
||||
734FB2E40B18B33E00D561D7 /* libogg (static) */,
|
||||
|
@ -524,11 +524,21 @@
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
};
|
||||
buildConfigurationList = 730F23F3091827B200AB638C /* Build configuration list for PBXProject "Vorbis" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
English,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* vorbis */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
730F23A1091827B100AB638C /* Vorbis */,
|
||||
738835E30B18F870005C7A69 /* libvorbis (static) */,
|
||||
|
1915
lib-src/lv2/Makefile
1915
lib-src/lv2/Makefile
File diff suppressed because it is too large
Load Diff
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
srcdir=.
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
if [[ "$1" =~ --srcdir=.* ]]
|
||||
then
|
||||
srcdir=${1#*=}
|
||||
break
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
function waf
|
||||
{
|
||||
pkg=$1
|
||||
pushd >/dev/null ${pkg}
|
||||
shift
|
||||
$(which python python2 | tail -1) waf --prefix="." --include="." $@ build || exit 1
|
||||
popd >/dev/null
|
||||
|
||||
. .buildvars
|
||||
|
||||
if [ -e ${pkg}/build/*.a ]
|
||||
then
|
||||
mkdir -p obj
|
||||
pushd obj
|
||||
ar vx ../${pkg}/build/*.a
|
||||
ar vq ../liblv2.a *
|
||||
popd
|
||||
rm -rf obj
|
||||
fi
|
||||
}
|
||||
|
||||
[ -e liblv2.a ] && exit 0
|
||||
|
||||
waf lv2 --no-plugins
|
||||
waf serd --static --no-shared --no-utils
|
||||
waf sord --static --no-shared --no-utils
|
||||
waf sratom --static --no-shared
|
||||
waf lilv --static --no-shared --no-utils
|
||||
waf suil --static --no-shared --no-qt
|
||||
|
||||
exit 0
|
109
lib-src/lv2/configure
vendored
109
lib-src/lv2/configure
vendored
@ -1,13 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Search for python
|
||||
python=$(which python python2 python3 | tail -1)
|
||||
|
||||
# Define the target build directory
|
||||
prefix=$(pwd)/build
|
||||
|
||||
bypass=
|
||||
clean=
|
||||
|
||||
srcdir=.
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
if [[ "$1" =~ --srcdir=.* ]]
|
||||
then
|
||||
srcdir=${1#*=}
|
||||
break
|
||||
fi
|
||||
case "${1}" in
|
||||
--srcdir=*)
|
||||
srcdir=${1#*=}
|
||||
;;
|
||||
|
||||
--build)
|
||||
bypass=":"
|
||||
;;
|
||||
|
||||
--clean)
|
||||
clean="yes"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
@ -15,75 +32,55 @@ function waf
|
||||
{
|
||||
pkg="$1"
|
||||
shift
|
||||
|
||||
mkdir -p ${pkg}
|
||||
pushd >/dev/null ${pkg}
|
||||
|
||||
if [ ! -e "waflib" ]
|
||||
if [ ! -e "waf" ]
|
||||
then
|
||||
cp -a "../${srcdir}/${pkg}"/waflib .
|
||||
cp -pr "../${srcdir}/${pkg}"/{waf,waflib} .
|
||||
fi
|
||||
|
||||
for f in "../${srcdir}/${pkg}"/*
|
||||
do
|
||||
if [ ! -e "${f##*/}" ]
|
||||
then
|
||||
ln -s "${f}"
|
||||
fi
|
||||
[ ! -e "${f##*/}" ] && ln -s "${f}"
|
||||
done
|
||||
|
||||
$(which python python2 | tail -1) waf --prefix="." --include="." $@ configure || exit 1
|
||||
popd >/dev/null
|
||||
export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig"
|
||||
export LDFLAGS="${LDFLAGS} -ldl -lm"
|
||||
|
||||
if [ "${pkg}" == "lv2" ]
|
||||
common="--prefix=${prefix} --out=build --destdir=/"
|
||||
|
||||
if [ "${clean}" = "yes" ]
|
||||
then
|
||||
eval $(sed -e '/^VERSION/!d;s/ //g;s/.*VERSION/version/' ${pkg}/wscript)
|
||||
major=""
|
||||
lib=""
|
||||
${python} waf clean ${common} || exit 1
|
||||
else
|
||||
eval $(sed -e '/^[A-Z]*_VERSION/!d;s/ //g;s/.*VERSION/version/' ${pkg}/wscript)
|
||||
major="-${version%%.*}"
|
||||
lib="-l${pkg}${major}"
|
||||
${bypass} ${python} waf configure ${common} $@ || exit 1
|
||||
|
||||
trap "rm -f .build-timestamp" EXIT
|
||||
touch .build-timestamp
|
||||
|
||||
${python} waf build ${common} $@ || exit 1
|
||||
if [ -n "$(find . -newer .build-timestamp -type f ! -name compile_commands.json)" ]
|
||||
then
|
||||
${python} waf install ${common} $@ || exit 1
|
||||
fi
|
||||
|
||||
rm .build-timestamp
|
||||
trap - EXIT
|
||||
fi
|
||||
|
||||
cat <<EOF >${pkg}/build/${pkg}${major}.pc
|
||||
prefix=$(pwd)/${pkg}
|
||||
exec_prefix=\${prefix}
|
||||
libdir=\${exec_prefix}/lib
|
||||
includedir=.
|
||||
|
||||
Name: ${pkg}
|
||||
Version: ${version}
|
||||
Description: Temporary fake config file
|
||||
Libs: -L\${libdir} ${lib} -ldl -lm
|
||||
Cflags: -I\${includedir}/${pkg}${major}
|
||||
EOF
|
||||
|
||||
export PKG_CONFIG_PATH="$(pwd)/${pkg}/build:${PKG_CONFIG_PATH}"
|
||||
export CFLAGS="-I$(pwd)/${pkg} -I$(pwd)/${pkg}/build ${CFLAGS}"
|
||||
export LDFLAGS="-L$(pwd)/${pkg}/build ${lib} ${LDFLAGS}"
|
||||
|
||||
ln -s ../${pkg}/${pkg} include
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
rm -rf include
|
||||
mkdir -p include
|
||||
|
||||
[ ! -e Makefile ] && ln -s "${srcdir}/Makefile"
|
||||
[ ! -e build ] && ln -s "${srcdir}/build"
|
||||
echo >srcdir.mk "srcdir = ${srcdir}"
|
||||
[ ! -e configure ] && ln -s "${srcdir}/configure"
|
||||
|
||||
waf lv2 --no-plugins
|
||||
waf serd --static --no-shared --no-utils
|
||||
waf sord --static --no-shared --no-utils
|
||||
waf sratom --static --no-shared
|
||||
waf lilv --static --no-shared --no-utils
|
||||
waf suil --static --no-shared --no-qt
|
||||
sed -i'' -e "s@suil/lib/suil-0@suil/build@" suil/build/suil_config.h
|
||||
|
||||
cat >.buildvars <<EOF
|
||||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
|
||||
export CFLAGS="${CFLAGS}"
|
||||
export LDFLAGS="${LDFLAGS}"
|
||||
EOF
|
||||
waf lv2 --no-plugins --no-coverage
|
||||
waf serd --static --no-shared --no-coverage --no-utils --largefile
|
||||
waf sord --static --no-shared --no-coverage --no-utils
|
||||
waf sratom --static --no-shared --no-coverage
|
||||
waf lilv --static --no-shared --no-coverage --no-utils
|
||||
waf suil --static --no-shared
|
||||
|
||||
exit 0
|
||||
|
@ -1,351 +0,0 @@
|
||||
diff -ruN src.orig/serdnode.c src/serdnode.c
|
||||
--- src.orig/serdnode.c 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ src/serdnode.c 2013-10-27 06:02:53.825178800 -0500
|
||||
@@ -0,0 +1,347 @@
|
||||
+/*
|
||||
+ Copyright 2011-2012 David Robillard <http://drobilla.net>
|
||||
+
|
||||
+ Permission to use, copy, modify, and/or distribute this software for any
|
||||
+ purpose with or without fee is hereby granted, provided that the above
|
||||
+ copyright notice and this permission notice appear in all copies.
|
||||
+
|
||||
+ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+*/
|
||||
+
|
||||
+#include "serd_internal.h"
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#include <math.h>
|
||||
+#include <float.h>
|
||||
+
|
||||
+#ifdef _WIN32
|
||||
+# define isnan(x) _isnan(x)
|
||||
+# define isinf(x) (!_finite(x))
|
||||
+#endif
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_from_string(SerdType type, const uint8_t* buf)
|
||||
+{
|
||||
+ if (!buf) {
|
||||
+ return SERD_NODE_NULL;
|
||||
+ }
|
||||
+
|
||||
+ uint32_t flags = 0;
|
||||
+ size_t buf_n_bytes = 0;
|
||||
+ const size_t buf_n_chars = serd_strlen(buf, &buf_n_bytes, &flags);
|
||||
+ SerdNode ret = { buf, buf_n_bytes, buf_n_chars, flags, type };
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_copy(const SerdNode* node)
|
||||
+{
|
||||
+ if (!node || !node->buf) {
|
||||
+ return SERD_NODE_NULL;
|
||||
+ }
|
||||
+
|
||||
+ SerdNode copy = *node;
|
||||
+ uint8_t* buf = (uint8_t*)malloc(copy.n_bytes + 1);
|
||||
+ memcpy(buf, node->buf, copy.n_bytes + 1);
|
||||
+ copy.buf = buf;
|
||||
+ return copy;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+bool
|
||||
+serd_node_equals(const SerdNode* a, const SerdNode* b)
|
||||
+{
|
||||
+ return (a == b)
|
||||
+ || (a->type == b->type
|
||||
+ && a->n_bytes == b->n_bytes
|
||||
+ && a->n_chars == b->n_chars
|
||||
+ && ((a->buf == b->buf) || !memcmp((const char*)a->buf,
|
||||
+ (const char*)b->buf,
|
||||
+ a->n_bytes + 1)));
|
||||
+}
|
||||
+
|
||||
+static size_t
|
||||
+serd_uri_string_length(const SerdURI* uri)
|
||||
+{
|
||||
+ size_t len = uri->path_base.len;
|
||||
+
|
||||
+#define ADD_LEN(field, n_delims) \
|
||||
+ if ((field).len) { len += (field).len + (n_delims); }
|
||||
+
|
||||
+ ADD_LEN(uri->path, 1); // + possible leading `/'
|
||||
+ ADD_LEN(uri->scheme, 1); // + trailing `:'
|
||||
+ ADD_LEN(uri->authority, 2); // + leading `//'
|
||||
+ ADD_LEN(uri->query, 1); // + leading `?'
|
||||
+ ADD_LEN(uri->fragment, 1); // + leading `#'
|
||||
+
|
||||
+ return len + 2; // + 2 for authority `//'
|
||||
+}
|
||||
+
|
||||
+static size_t
|
||||
+string_sink(const void* buf, size_t len, void* stream)
|
||||
+{
|
||||
+ uint8_t** ptr = (uint8_t**)stream;
|
||||
+ memcpy(*ptr, buf, len);
|
||||
+ *ptr += len;
|
||||
+ return len;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_uri_from_node(const SerdNode* uri_node,
|
||||
+ const SerdURI* base,
|
||||
+ SerdURI* out)
|
||||
+{
|
||||
+ return (uri_node->type == SERD_URI)
|
||||
+ ? serd_node_new_uri_from_string(uri_node->buf, base, out)
|
||||
+ : SERD_NODE_NULL;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_uri_from_string(const uint8_t* str,
|
||||
+ const SerdURI* base,
|
||||
+ SerdURI* out)
|
||||
+{
|
||||
+ if (!str || str[0] == '\0') {
|
||||
+ return serd_node_new_uri(base, NULL, out); // Empty URI => Base URI
|
||||
+ }
|
||||
+ SerdURI uri;
|
||||
+ serd_uri_parse(str, &uri);
|
||||
+ return serd_node_new_uri(&uri, base, out); // Resolve/Serialise
|
||||
+}
|
||||
+
|
||||
+static inline bool
|
||||
+is_uri_path_char(const uint8_t c)
|
||||
+{
|
||||
+ if (is_alpha(c) || is_digit(c)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ switch (c) {
|
||||
+ case '-': case '.': case '_': case '~': // unreserved
|
||||
+ case ':': case '@': // pchar
|
||||
+ case '/': // separator
|
||||
+ // sub-delims
|
||||
+ case '!': case '$': case '&': case '\'': case '(': case ')':
|
||||
+ case '*': case '+': case ',': case ';': case '=':
|
||||
+ return true;
|
||||
+ default:
|
||||
+ return false;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_file_uri(const uint8_t* path,
|
||||
+ const uint8_t* hostname,
|
||||
+ SerdURI* out,
|
||||
+ bool escape)
|
||||
+{
|
||||
+ const size_t path_len = strlen((const char*)path);
|
||||
+ const size_t hostname_len = hostname ? strlen((const char*)hostname) : 0;
|
||||
+ const bool evil = is_windows_path(path);
|
||||
+ size_t uri_len = 0;
|
||||
+ uint8_t* uri = NULL;
|
||||
+
|
||||
+ if (path[0] == '/' || is_windows_path(path)) {
|
||||
+ uri_len = strlen("file://") + hostname_len + evil;
|
||||
+ uri = (uint8_t*)malloc(uri_len + 1);
|
||||
+ snprintf((char*)uri, uri_len + 1, "file://%s%s",
|
||||
+ hostname ? (const char*)hostname : "",
|
||||
+ evil ? "/" : "");
|
||||
+ }
|
||||
+
|
||||
+ SerdChunk chunk = { uri, uri_len };
|
||||
+ for (size_t i = 0; i < path_len; ++i) {
|
||||
+ if (evil && path[i] == '\\') {
|
||||
+ serd_chunk_sink("/", 1, &chunk);
|
||||
+ } else if (path[i] == '%') {
|
||||
+ serd_chunk_sink("%%", 2, &chunk);
|
||||
+ } else if (!escape || is_uri_path_char(path[i])) {
|
||||
+ serd_chunk_sink(path + i, 1, &chunk);
|
||||
+ } else {
|
||||
+ char escape_str[4] = { '%', 0, 0, 0 };
|
||||
+ snprintf(escape_str + 1, sizeof(escape_str) - 1, "%X", path[i]);
|
||||
+ serd_chunk_sink(escape_str, 3, &chunk);
|
||||
+ }
|
||||
+ }
|
||||
+ serd_chunk_sink_finish(&chunk);
|
||||
+
|
||||
+ if (out) {
|
||||
+ serd_uri_parse(chunk.buf, out);
|
||||
+ }
|
||||
+
|
||||
+ return serd_node_from_string(SERD_URI, chunk.buf);
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_uri(const SerdURI* uri, const SerdURI* base, SerdURI* out)
|
||||
+{
|
||||
+ SerdURI abs_uri = *uri;
|
||||
+ if (base) {
|
||||
+ serd_uri_resolve(uri, base, &abs_uri);
|
||||
+ }
|
||||
+
|
||||
+ const size_t len = serd_uri_string_length(&abs_uri);
|
||||
+ uint8_t* buf = (uint8_t*)malloc(len + 1);
|
||||
+
|
||||
+ SerdNode node = { buf, len, len, 0, SERD_URI }; // FIXME: UTF-8
|
||||
+
|
||||
+ uint8_t* ptr = buf;
|
||||
+ const size_t actual_len = serd_uri_serialise(&abs_uri, string_sink, &ptr);
|
||||
+
|
||||
+ buf[actual_len] = '\0';
|
||||
+ node.n_bytes = actual_len;
|
||||
+ node.n_chars = actual_len;
|
||||
+
|
||||
+ if (out) {
|
||||
+ serd_uri_parse(buf, out); // TODO: cleverly avoid double parse
|
||||
+ }
|
||||
+
|
||||
+ return node;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_decimal(double d, unsigned frac_digits)
|
||||
+{
|
||||
+ if (isnan(d) || isinf(d)) {
|
||||
+ return SERD_NODE_NULL;
|
||||
+ }
|
||||
+
|
||||
+ const double abs_d = fabs(d);
|
||||
+ const unsigned int_digits = (unsigned)fmax(1.0, ceil(log10(abs_d + 1)));
|
||||
+ char* buf = (char*)calloc(int_digits + frac_digits + 3, 1);
|
||||
+ SerdNode node = { (const uint8_t*)buf, 0, 0, 0, SERD_LITERAL };
|
||||
+ const double int_part = floor(abs_d);
|
||||
+
|
||||
+ // Point s to decimal point location
|
||||
+ char* s = buf + int_digits;
|
||||
+ if (d < 0.0) {
|
||||
+ *buf = '-';
|
||||
+ ++s;
|
||||
+ }
|
||||
+
|
||||
+ // Write integer part (right to left)
|
||||
+ char* t = s - 1;
|
||||
+ uint64_t dec = (uint64_t)int_part;
|
||||
+ do {
|
||||
+ *t-- = '0' + (dec % 10);
|
||||
+ } while ((dec /= 10) > 0);
|
||||
+
|
||||
+ *s++ = '.';
|
||||
+
|
||||
+ // Write fractional part (right to left)
|
||||
+ double frac_part = fabs(d - int_part);
|
||||
+ if (frac_part < DBL_EPSILON) {
|
||||
+ *s++ = '0';
|
||||
+ node.n_bytes = node.n_chars = (s - buf);
|
||||
+ } else {
|
||||
+ uint64_t frac = frac_part * pow(10.0, (int)frac_digits) + 0.5;
|
||||
+ s += frac_digits - 1;
|
||||
+ unsigned i = 0;
|
||||
+
|
||||
+ // Skip trailing zeros
|
||||
+ for (; i < frac_digits - 1 && !(frac % 10); ++i, --s, frac /= 10) {}
|
||||
+
|
||||
+ node.n_bytes = node.n_chars = (s - buf) + 1;
|
||||
+
|
||||
+ // Write digits from last trailing zero to decimal point
|
||||
+ for (; i < frac_digits; ++i) {
|
||||
+ *s-- = '0' + (frac % 10);
|
||||
+ frac /= 10;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return node;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_integer(int64_t i)
|
||||
+{
|
||||
+ int64_t abs_i = (i < 0) ? -i : i;
|
||||
+ const unsigned digits = fmax(1.0, ceil(log10((double)abs_i + 1)));
|
||||
+ char* buf = (char*)calloc(digits + 2, 1);
|
||||
+ SerdNode node = { (const uint8_t*)buf, 0, 0, 0, SERD_LITERAL };
|
||||
+
|
||||
+ // Point s to the end
|
||||
+ char* s = buf + digits - 1;
|
||||
+ if (i < 0) {
|
||||
+ *buf = '-';
|
||||
+ ++s;
|
||||
+ }
|
||||
+
|
||||
+ node.n_bytes = node.n_chars = (s - buf) + 1;
|
||||
+
|
||||
+ // Write integer part (right to left)
|
||||
+ do {
|
||||
+ *s-- = '0' + (abs_i % 10);
|
||||
+ } while ((abs_i /= 10) > 0);
|
||||
+
|
||||
+ return node;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ Base64 encoding table.
|
||||
+ @see <a href="http://tools.ietf.org/html/rfc3548#section-3">RFC3986 S3</a>.
|
||||
+*/
|
||||
+static const uint8_t b64_map[] =
|
||||
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
+
|
||||
+/**
|
||||
+ Encode 3 raw bytes to 4 base64 characters.
|
||||
+*/
|
||||
+static inline void
|
||||
+encode_chunk(uint8_t out[4], const uint8_t in[3], size_t n_in)
|
||||
+{
|
||||
+ out[0] = b64_map[in[0] >> 2];
|
||||
+ out[1] = b64_map[((in[0] & 0x03) << 4) | ((in[1] & 0xF0) >> 4)];
|
||||
+ out[2] = ((n_in > 1)
|
||||
+ ? (b64_map[((in[1] & 0x0F) << 2) | ((in[2] & 0xC0) >> 6)])
|
||||
+ : (uint8_t)'=');
|
||||
+ out[3] = ((n_in > 2) ? b64_map[in[2] & 0x3F] : (uint8_t)'=');
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+SerdNode
|
||||
+serd_node_new_blob(const void* buf, size_t size, bool wrap_lines)
|
||||
+{
|
||||
+ const size_t len = ((size + 2) / 3) * 4 + (wrap_lines ? (size / 57) : 0);
|
||||
+ uint8_t* str = (uint8_t*)calloc(1, len + 2);
|
||||
+ SerdNode node = { str, len, len, 0, SERD_LITERAL };
|
||||
+ for (size_t i = 0, j = 0; i < size; i += 3, j += 4) {
|
||||
+ uint8_t in[4] = { 0, 0, 0, 0 };
|
||||
+ size_t n_in = MIN(3, size - i);
|
||||
+ memcpy(in, (const uint8_t*)buf + i, n_in);
|
||||
+
|
||||
+ if (wrap_lines && i > 0 && (i % 57) == 0) {
|
||||
+ str[j++] = '\n';
|
||||
+ node.flags |= SERD_HAS_NEWLINE;
|
||||
+ }
|
||||
+
|
||||
+ encode_chunk(str + j, in, n_in);
|
||||
+ }
|
||||
+ return node;
|
||||
+}
|
||||
+
|
||||
+SERD_API
|
||||
+void
|
||||
+serd_node_free(SerdNode* node)
|
||||
+{
|
||||
+ if (node->buf) {
|
||||
+ free((uint8_t*)node->buf);
|
||||
+ node->buf = NULL;
|
||||
+ }
|
||||
+}
|
@ -1,15 +1,20 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
for dir in $(find . -type f -name waf); do
|
||||
pushd "${dir%/*}"
|
||||
./waf --help > /dev/null
|
||||
mv .waf-*/* .
|
||||
sed -i '/^#==>$/,$d' waf
|
||||
rmdir .waf-*
|
||||
find waflib -name "*.pyc" -delete
|
||||
popd
|
||||
for waf in $(find . -type f -name waf); do
|
||||
if grep -q '^#==>$' "${waf}"
|
||||
then
|
||||
pushd "${waf%/*}"
|
||||
python3 ./waf --help > /dev/null
|
||||
if [ -e .waf* ]
|
||||
then
|
||||
mv .waf*/* .
|
||||
sed -i '/^#==>$/,$d' waf
|
||||
rmdir .waf*
|
||||
fi
|
||||
find waflib -name "*.pyc" -o -name "__pycache__" | xargs rm -rf
|
||||
popd
|
||||
fi
|
||||
done
|
||||
#find . -name waf | xargs svn propset svn:mime-type "text/x-python"
|
||||
|
||||
echo "All waf scripts extracted successfully."
|
||||
|
@ -1,24 +0,0 @@
|
||||
--- lilv/src/orig_lilv_internal.h 2012-11-23 00:00:15.000000000 -0600
|
||||
+++ lilv/src/lilv_internal.h 2013-10-27 05:18:03.970327900 -0500
|
||||
@@ -30,7 +30,6 @@
|
||||
# include <windows.h>
|
||||
# define dlopen(path, flags) LoadLibrary(path)
|
||||
# define dlclose(lib) FreeLibrary((HMODULE)lib)
|
||||
-# define dlsym GetProcAddress
|
||||
# ifdef _MSC_VER
|
||||
# define __func__ __FUNCTION__
|
||||
# define INFINITY DBL_MAX + DBL_MAX
|
||||
@@ -363,9 +362,13 @@
|
||||
static inline VoidFunc
|
||||
lilv_dlfunc(void* handle, const char* symbol)
|
||||
{
|
||||
+#ifdef _WIN32
|
||||
+ return (VoidFunc)GetProcAddress((HMODULE)handle, symbol);
|
||||
+#else
|
||||
typedef VoidFunc (*VoidFuncGetter)(void*, const char*);
|
||||
VoidFuncGetter dlfunc = (VoidFuncGetter)dlsym;
|
||||
return dlfunc(handle, symbol);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#ifdef LILV_DYN_MANIFEST
|
@ -1,7 +1,6 @@
|
||||
dnl Please increment the serial number below whenever you alter this macro
|
||||
dnl for the benefit of automatic macro update systems
|
||||
# audacity_checklib_lv2.m4 serial 2
|
||||
|
||||
# audacity_checklib_lv2.m4 serial 3
|
||||
|
||||
AC_DEFUN([AUDACITY_CHECKLIB_LV2], [
|
||||
AC_ARG_WITH(lv2,
|
||||
@ -12,11 +11,10 @@ AC_DEFUN([AUDACITY_CHECKLIB_LV2], [
|
||||
|
||||
dnl see if lv2 is installed on the system
|
||||
|
||||
PKG_CHECK_MODULES(LV2, [lv2 lilv-0 >= 0.16 suil-0 >= 0.8.2],
|
||||
PKG_CHECK_MODULES(LV2, [lv2 >= 1.16 lilv-0 >= 0.24.4 suil-0 >= 0.10.4],
|
||||
LV2_SYSTEM_AVAILABLE="yes",
|
||||
LV2_SYSTEM_AVAILABLE="no")
|
||||
|
||||
|
||||
if test "$LV2_SYSTEM_AVAILABLE" = "yes"; then
|
||||
AC_MSG_NOTICE([LV2 libraries are available as system libraries])
|
||||
else
|
||||
@ -39,8 +37,10 @@ AC_DEFUN([AUDACITY_CHECKLIB_LV2], [
|
||||
|
||||
AC_DEFUN([AUDACITY_CONFIG_LV2], [
|
||||
if test "$LV2_USE_LOCAL" = yes; then
|
||||
LV2_CFLAGS='-I$(top_srcdir)/lib-src/lv2/include -I$(top_builddir)/lib-src/lv2/include'
|
||||
LV2_LIBS='$(top_builddir)/lib-src/lv2/liblv2.a'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include/lilv-0'
|
||||
LV2_CFLAGS+=' -I$(top_builddir)/lib-src/lv2/build/include/suil-0'
|
||||
LV2_LIBS='$(top_builddir)/lib-src/lv2/build/lib/lib*.a'
|
||||
AC_CONFIG_SUBDIRS([lib-src/lv2])
|
||||
fi
|
||||
|
||||
|
@ -498,17 +498,6 @@
|
||||
2840CF860AEB83DB00F49FC3 /* ExportMP2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2840CF840AEB83DB00F49FC3 /* ExportMP2.cpp */; };
|
||||
2840CFA80AEB883500F49FC3 /* libtwolame.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2840CF220AEB803C00F49FC3 /* libtwolame.a */; };
|
||||
28456AC20A2C180E00C23C1E /* ThemePrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28456AC00A2C180E00C23C1E /* ThemePrefs.cpp */; };
|
||||
284750541AD4EB84000AD751 /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 2847504D1AD4EB84000AD751 /* common.h */; };
|
||||
284750551AD4EB84000AD751 /* digest.c in Sources */ = {isa = PBXBuildFile; fileRef = 2847504E1AD4EB84000AD751 /* digest.c */; };
|
||||
284750561AD4EB84000AD751 /* digest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2847504F1AD4EB84000AD751 /* digest.h */; };
|
||||
284750571AD4EB84000AD751 /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 284750501AD4EB84000AD751 /* hash.c */; };
|
||||
284750581AD4EB84000AD751 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 284750511AD4EB84000AD751 /* hash.h */; };
|
||||
284750591AD4EB84000AD751 /* tree.c in Sources */ = {isa = PBXBuildFile; fileRef = 284750521AD4EB84000AD751 /* tree.c */; };
|
||||
2847505A1AD4EB84000AD751 /* tree.h in Headers */ = {isa = PBXBuildFile; fileRef = 284750531AD4EB84000AD751 /* tree.h */; };
|
||||
2847505E1AD4EBE1000AD751 /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = 2847505B1AD4EBE1000AD751 /* host.c */; };
|
||||
2847505F1AD4EBE1000AD751 /* suil_instance.c in Sources */ = {isa = PBXBuildFile; fileRef = 2847505C1AD4EBE1000AD751 /* suil_instance.c */; };
|
||||
284750601AD4EBE1000AD751 /* suil_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2847505D1AD4EBE1000AD751 /* suil_internal.h */; };
|
||||
284750621AD4EC28000AD751 /* suil.h in Headers */ = {isa = PBXBuildFile; fileRef = 284750611AD4EC28000AD751 /* suil.h */; };
|
||||
2849A42017F8BEC2005C653F /* KeyView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2849A41E17F8BEC2005C653F /* KeyView.cpp */; };
|
||||
2849B4620A7444BE00ECF12D /* Dependencies.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2849B4600A7444BE00ECF12D /* Dependencies.cpp */; };
|
||||
284A7B920F31571C001D7A67 /* nyx.c in Sources */ = {isa = PBXBuildFile; fileRef = 284A7B8F0F31571B001D7A67 /* nyx.c */; };
|
||||
@ -742,33 +731,6 @@
|
||||
2860BA240E0F0D8600A13878 /* SoundActivatedRecord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2860BA200E0F0D8600A13878 /* SoundActivatedRecord.cpp */; };
|
||||
2860BA250E0F0D8600A13878 /* TimerRecordDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2860BA220E0F0D8600A13878 /* TimerRecordDialog.cpp */; };
|
||||
2860BA280E0F0DD800A13878 /* ExportFFmpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2860BA260E0F0DD800A13878 /* ExportFFmpeg.cpp */; };
|
||||
286229C3181CE51800E1AD1A /* lilv.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229B1181CE51800E1AD1A /* lilv.h */; };
|
||||
286229C4181CE51800E1AD1A /* collections.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B2181CE51800E1AD1A /* collections.c */; };
|
||||
286229C5181CE51800E1AD1A /* instance.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B3181CE51800E1AD1A /* instance.c */; };
|
||||
286229C6181CE51800E1AD1A /* lib.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B4181CE51800E1AD1A /* lib.c */; };
|
||||
286229C7181CE51800E1AD1A /* lilv_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229B5181CE51800E1AD1A /* lilv_internal.h */; };
|
||||
286229C8181CE51800E1AD1A /* node.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B6181CE51800E1AD1A /* node.c */; };
|
||||
286229C9181CE51800E1AD1A /* plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B7181CE51800E1AD1A /* plugin.c */; };
|
||||
286229CA181CE51800E1AD1A /* pluginclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B8181CE51800E1AD1A /* pluginclass.c */; };
|
||||
286229CB181CE51800E1AD1A /* port.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229B9181CE51800E1AD1A /* port.c */; };
|
||||
286229CC181CE51800E1AD1A /* query.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BA181CE51800E1AD1A /* query.c */; };
|
||||
286229CD181CE51800E1AD1A /* scalepoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BB181CE51800E1AD1A /* scalepoint.c */; };
|
||||
286229CE181CE51800E1AD1A /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BC181CE51800E1AD1A /* state.c */; };
|
||||
286229CF181CE51800E1AD1A /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BD181CE51800E1AD1A /* ui.c */; };
|
||||
286229D0181CE51800E1AD1A /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BE181CE51800E1AD1A /* util.c */; };
|
||||
286229D1181CE51800E1AD1A /* world.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229BF181CE51800E1AD1A /* world.c */; };
|
||||
286229DD181CE5EC00E1AD1A /* serd.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229D5181CE5EC00E1AD1A /* serd.h */; };
|
||||
286229DE181CE5EC00E1AD1A /* env.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229D6181CE5EC00E1AD1A /* env.c */; };
|
||||
286229DF181CE5EC00E1AD1A /* node.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229D7181CE5EC00E1AD1A /* node.c */; };
|
||||
286229E0181CE5EC00E1AD1A /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229D8181CE5EC00E1AD1A /* reader.c */; };
|
||||
286229E1181CE5EC00E1AD1A /* serd_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229D9181CE5EC00E1AD1A /* serd_internal.h */; };
|
||||
286229E2181CE5EC00E1AD1A /* string.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229DA181CE5EC00E1AD1A /* string.c */; };
|
||||
286229E3181CE5EC00E1AD1A /* uri.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229DB181CE5EC00E1AD1A /* uri.c */; };
|
||||
286229E4181CE5EC00E1AD1A /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229DC181CE5EC00E1AD1A /* writer.c */; };
|
||||
286229E9181CE62A00E1AD1A /* sord.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229E5181CE62A00E1AD1A /* sord.h */; };
|
||||
286229EA181CE62A00E1AD1A /* sord_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 286229E6181CE62A00E1AD1A /* sord_internal.h */; };
|
||||
286229EB181CE62A00E1AD1A /* sord.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229E7181CE62A00E1AD1A /* sord.c */; };
|
||||
286229EC181CE62A00E1AD1A /* syntax.c in Sources */ = {isa = PBXBuildFile; fileRef = 286229E8181CE62A00E1AD1A /* syntax.c */; };
|
||||
28624C0F181CE65700E1AD1A /* sratom.h in Headers */ = {isa = PBXBuildFile; fileRef = 286243A0181CE65500E1AD1A /* sratom.h */; };
|
||||
28624C10181CE65700E1AD1A /* sratom.c in Sources */ = {isa = PBXBuildFile; fileRef = 286243A1181CE65500E1AD1A /* sratom.c */; };
|
||||
2872DFEA1B5EEC15004385B1 /* hy.po in Sources */ = {isa = PBXBuildFile; fileRef = 28ECC1911A66CC5000EECC53 /* hy.po */; };
|
||||
@ -892,6 +854,55 @@
|
||||
28A96DC10E28642200F3CE01 /* mfmidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 28F3A3FF0E28289500729866 /* mfmidi.h */; };
|
||||
28A96DC20E28642300F3CE01 /* strparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28F3A4000E28289500729866 /* strparse.cpp */; };
|
||||
28A96DC30E28642300F3CE01 /* strparse.h in Headers */ = {isa = PBXBuildFile; fileRef = 28F3A4010E28289500729866 /* strparse.h */; };
|
||||
28AF132623A82F680084A82E /* sord_test.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131723A82F660084A82E /* sord_test.c */; };
|
||||
28AF132723A82F680084A82E /* sordi.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131823A82F660084A82E /* sordi.c */; };
|
||||
28AF132823A82F680084A82E /* sord_validate.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131923A82F660084A82E /* sord_validate.c */; };
|
||||
28AF132923A82F680084A82E /* sordmm_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131A23A82F670084A82E /* sordmm_test.cpp */; };
|
||||
28AF132A23A82F680084A82E /* sord.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131B23A82F670084A82E /* sord.c */; };
|
||||
28AF132B23A82F680084A82E /* btree.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131D23A82F670084A82E /* btree.c */; };
|
||||
28AF132C23A82F680084A82E /* digest.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF131E23A82F670084A82E /* digest.h */; };
|
||||
28AF132D23A82F680084A82E /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF131F23A82F670084A82E /* hash.c */; };
|
||||
28AF132E23A82F680084A82E /* btree.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF132023A82F670084A82E /* btree.h */; };
|
||||
28AF132F23A82F680084A82E /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF132123A82F670084A82E /* common.h */; };
|
||||
28AF133023A82F680084A82E /* digest.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF132223A82F670084A82E /* digest.c */; };
|
||||
28AF133123A82F680084A82E /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF132323A82F670084A82E /* hash.h */; };
|
||||
28AF133223A82F680084A82E /* syntax.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF132423A82F670084A82E /* syntax.c */; };
|
||||
28AF133323A82F680084A82E /* sord_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF132523A82F670084A82E /* sord_internal.h */; };
|
||||
28AF133F23A830120084A82E /* reader.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF133423A830100084A82E /* reader.h */; };
|
||||
28AF134023A830120084A82E /* uri.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133523A830100084A82E /* uri.c */; };
|
||||
28AF134123A830120084A82E /* env.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133623A830100084A82E /* env.c */; };
|
||||
28AF134223A830120084A82E /* string.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133723A830100084A82E /* string.c */; };
|
||||
28AF134323A830120084A82E /* n3.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133823A830100084A82E /* n3.c */; };
|
||||
28AF134423A830120084A82E /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133923A830110084A82E /* writer.c */; };
|
||||
28AF134523A830120084A82E /* serd_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF133A23A830110084A82E /* serd_internal.h */; };
|
||||
28AF134623A830120084A82E /* serdi.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133B23A830110084A82E /* serdi.c */; };
|
||||
28AF134723A830120084A82E /* reader.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133C23A830110084A82E /* reader.c */; };
|
||||
28AF134823A830120084A82E /* node.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133D23A830110084A82E /* node.c */; };
|
||||
28AF134923A830120084A82E /* byte_source.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF133E23A830120084A82E /* byte_source.c */; };
|
||||
28AF135C23A830310084A82E /* lib.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF134A23A8302E0084A82E /* lib.c */; };
|
||||
28AF135D23A830310084A82E /* query.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF134B23A8302E0084A82E /* query.c */; };
|
||||
28AF135E23A830310084A82E /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF134C23A8302E0084A82E /* util.c */; };
|
||||
28AF135F23A830310084A82E /* plugin.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF134D23A8302E0084A82E /* plugin.c */; };
|
||||
28AF136023A830310084A82E /* port.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF134E23A8302F0084A82E /* port.c */; };
|
||||
28AF136123A830310084A82E /* lilv_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF134F23A8302F0084A82E /* lilv_internal.h */; };
|
||||
28AF136223A830310084A82E /* scalepoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135023A8302F0084A82E /* scalepoint.c */; };
|
||||
28AF136323A830310084A82E /* tree.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF135223A8302F0084A82E /* tree.h */; };
|
||||
28AF136423A830310084A82E /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF135323A8302F0084A82E /* common.h */; };
|
||||
28AF136523A830310084A82E /* tree.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135423A8302F0084A82E /* tree.c */; };
|
||||
28AF136623A830310084A82E /* pluginclass.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135523A8302F0084A82E /* pluginclass.c */; };
|
||||
28AF136723A830310084A82E /* node.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135623A830300084A82E /* node.c */; };
|
||||
28AF136823A830310084A82E /* world.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135723A830300084A82E /* world.c */; };
|
||||
28AF136923A830310084A82E /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135823A830300084A82E /* ui.c */; };
|
||||
28AF136A23A830310084A82E /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135923A830300084A82E /* state.c */; };
|
||||
28AF136B23A830310084A82E /* collections.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135A23A830300084A82E /* collections.c */; };
|
||||
28AF136C23A830310084A82E /* instance.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF135B23A830310084A82E /* instance.c */; };
|
||||
28AF136E23A8306B0084A82E /* sord.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF136D23A8306B0084A82E /* sord.h */; };
|
||||
28AF137023A8307E0084A82E /* serd.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF136F23A8307E0084A82E /* serd.h */; };
|
||||
28AF137223A830950084A82E /* lilv.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF137123A830950084A82E /* lilv.h */; };
|
||||
28AF137723A831080084A82E /* suil_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF137323A831070084A82E /* suil_internal.h */; };
|
||||
28AF137823A831080084A82E /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF137423A831070084A82E /* host.c */; };
|
||||
28AF137923A831080084A82E /* instance.c in Sources */ = {isa = PBXBuildFile; fileRef = 28AF137523A831070084A82E /* instance.c */; };
|
||||
28AF137A23A831080084A82E /* suil.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AF137623A831070084A82E /* suil.h */; };
|
||||
28B97B890FBF771A0076CF28 /* VSTEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28B97B850FBF771A0076CF28 /* VSTEffect.cpp */; };
|
||||
28BB98051A15BE6800D1CC80 /* NoiseReduction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28BB98031A15BE6800D1CC80 /* NoiseReduction.cpp */; };
|
||||
28BD8AB1101DF4C700686679 /* BatchEvalCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28BD8AA9101DF4C600686679 /* BatchEvalCommand.cpp */; };
|
||||
@ -2392,17 +2403,6 @@
|
||||
2844163A1B82D6BC0000574D /* WaveTrackLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveTrackLocation.h; sourceTree = "<group>"; };
|
||||
28456AC00A2C180E00C23C1E /* ThemePrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = ThemePrefs.cpp; sourceTree = "<group>"; tabWidth = 3; };
|
||||
28456AC10A2C180E00C23C1E /* ThemePrefs.h */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.c.h; path = ThemePrefs.h; sourceTree = "<group>"; tabWidth = 3; };
|
||||
2847504D1AD4EB84000AD751 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = common.h; path = lv2/sord/src/zix/common.h; sourceTree = "<group>"; };
|
||||
2847504E1AD4EB84000AD751 /* digest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = digest.c; path = lv2/sord/src/zix/digest.c; sourceTree = "<group>"; };
|
||||
2847504F1AD4EB84000AD751 /* digest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = digest.h; path = lv2/sord/src/zix/digest.h; sourceTree = "<group>"; };
|
||||
284750501AD4EB84000AD751 /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hash.c; path = lv2/sord/src/zix/hash.c; sourceTree = "<group>"; };
|
||||
284750511AD4EB84000AD751 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = lv2/sord/src/zix/hash.h; sourceTree = "<group>"; };
|
||||
284750521AD4EB84000AD751 /* tree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tree.c; path = lv2/sord/src/zix/tree.c; sourceTree = "<group>"; };
|
||||
284750531AD4EB84000AD751 /* tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tree.h; path = lv2/sord/src/zix/tree.h; sourceTree = "<group>"; };
|
||||
2847505B1AD4EBE1000AD751 /* host.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = host.c; path = lv2/suil/src/host.c; sourceTree = "<group>"; };
|
||||
2847505C1AD4EBE1000AD751 /* suil_instance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = suil_instance.c; path = lv2/suil/src/suil_instance.c; sourceTree = "<group>"; };
|
||||
2847505D1AD4EBE1000AD751 /* suil_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = suil_internal.h; path = lv2/suil/src/suil_internal.h; sourceTree = "<group>"; };
|
||||
284750611AD4EC28000AD751 /* suil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = suil.h; path = lv2/suil/suil/suil.h; sourceTree = "<group>"; };
|
||||
2849A41E17F8BEC2005C653F /* KeyView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyView.cpp; sourceTree = "<group>"; };
|
||||
2849A41F17F8BEC2005C653F /* KeyView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyView.h; sourceTree = "<group>"; };
|
||||
2849B4600A7444BE00ECF12D /* Dependencies.cpp */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = Dependencies.cpp; sourceTree = "<group>"; tabWidth = 3; };
|
||||
@ -2659,33 +2659,6 @@
|
||||
2860BA230E0F0D8600A13878 /* TimerRecordDialog.h */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.c.h; path = TimerRecordDialog.h; sourceTree = "<group>"; tabWidth = 3; };
|
||||
2860BA260E0F0DD800A13878 /* ExportFFmpeg.cpp */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = ExportFFmpeg.cpp; sourceTree = "<group>"; tabWidth = 3; };
|
||||
286229B0181CE4B600E1AD1A /* liblv2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblv2.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
286229B1181CE51800E1AD1A /* lilv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lilv.h; path = lv2/lilv/lilv/lilv.h; sourceTree = "<group>"; };
|
||||
286229B2181CE51800E1AD1A /* collections.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = collections.c; path = lv2/lilv/src/collections.c; sourceTree = "<group>"; };
|
||||
286229B3181CE51800E1AD1A /* instance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = instance.c; path = lv2/lilv/src/instance.c; sourceTree = "<group>"; };
|
||||
286229B4181CE51800E1AD1A /* lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lib.c; path = lv2/lilv/src/lib.c; sourceTree = "<group>"; };
|
||||
286229B5181CE51800E1AD1A /* lilv_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lilv_internal.h; path = lv2/lilv/src/lilv_internal.h; sourceTree = "<group>"; };
|
||||
286229B6181CE51800E1AD1A /* node.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = node.c; path = lv2/lilv/src/node.c; sourceTree = "<group>"; };
|
||||
286229B7181CE51800E1AD1A /* plugin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = plugin.c; path = lv2/lilv/src/plugin.c; sourceTree = "<group>"; };
|
||||
286229B8181CE51800E1AD1A /* pluginclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pluginclass.c; path = lv2/lilv/src/pluginclass.c; sourceTree = "<group>"; };
|
||||
286229B9181CE51800E1AD1A /* port.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = port.c; path = lv2/lilv/src/port.c; sourceTree = "<group>"; };
|
||||
286229BA181CE51800E1AD1A /* query.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = query.c; path = lv2/lilv/src/query.c; sourceTree = "<group>"; };
|
||||
286229BB181CE51800E1AD1A /* scalepoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scalepoint.c; path = lv2/lilv/src/scalepoint.c; sourceTree = "<group>"; };
|
||||
286229BC181CE51800E1AD1A /* state.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = state.c; path = lv2/lilv/src/state.c; sourceTree = "<group>"; };
|
||||
286229BD181CE51800E1AD1A /* ui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ui.c; path = lv2/lilv/src/ui.c; sourceTree = "<group>"; };
|
||||
286229BE181CE51800E1AD1A /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = lv2/lilv/src/util.c; sourceTree = "<group>"; };
|
||||
286229BF181CE51800E1AD1A /* world.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = world.c; path = lv2/lilv/src/world.c; sourceTree = "<group>"; };
|
||||
286229D5181CE5EC00E1AD1A /* serd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = serd.h; path = lv2/serd/serd/serd.h; sourceTree = "<group>"; };
|
||||
286229D6181CE5EC00E1AD1A /* env.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = env.c; path = lv2/serd/src/env.c; sourceTree = "<group>"; };
|
||||
286229D7181CE5EC00E1AD1A /* node.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = node.c; path = lv2/serd/src/node.c; sourceTree = "<group>"; };
|
||||
286229D8181CE5EC00E1AD1A /* reader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = reader.c; path = lv2/serd/src/reader.c; sourceTree = "<group>"; };
|
||||
286229D9181CE5EC00E1AD1A /* serd_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = serd_internal.h; path = lv2/serd/src/serd_internal.h; sourceTree = "<group>"; };
|
||||
286229DA181CE5EC00E1AD1A /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = string.c; path = lv2/serd/src/string.c; sourceTree = "<group>"; };
|
||||
286229DB181CE5EC00E1AD1A /* uri.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = uri.c; path = lv2/serd/src/uri.c; sourceTree = "<group>"; };
|
||||
286229DC181CE5EC00E1AD1A /* writer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = writer.c; path = lv2/serd/src/writer.c; sourceTree = "<group>"; };
|
||||
286229E5181CE62A00E1AD1A /* sord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sord.h; path = lv2/sord/sord/sord.h; sourceTree = "<group>"; };
|
||||
286229E6181CE62A00E1AD1A /* sord_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sord_internal.h; path = lv2/sord/src/sord_internal.h; sourceTree = "<group>"; };
|
||||
286229E7181CE62A00E1AD1A /* sord.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sord.c; path = lv2/sord/src/sord.c; sourceTree = "<group>"; };
|
||||
286229E8181CE62A00E1AD1A /* syntax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = syntax.c; path = lv2/sord/src/syntax.c; sourceTree = "<group>"; };
|
||||
286243A0181CE65500E1AD1A /* sratom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sratom.h; path = lv2/sratom/sratom/sratom.h; sourceTree = "<group>"; };
|
||||
286243A1181CE65500E1AD1A /* sratom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sratom.c; path = lv2/sratom/src/sratom.c; sourceTree = "<group>"; };
|
||||
2862CECE1AD3900000A53194 /* test.lsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = test.lsp; path = ../nyquist/test.lsp; sourceTree = SOURCE_ROOT; };
|
||||
@ -2843,6 +2816,55 @@
|
||||
28AA281E0F267A2D008AED9E /* SilenceMarker.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = SilenceMarker.ny; path = "../plug-ins/SilenceMarker.ny"; sourceTree = SOURCE_ROOT; };
|
||||
28AA281F0F267A2D008AED9E /* tremolo.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = tremolo.ny; path = "../plug-ins/tremolo.ny"; sourceTree = SOURCE_ROOT; };
|
||||
28AA28210F267A2D008AED9E /* vocoder.ny */ = {isa = PBXFileReference; explicitFileType = file; fileEncoding = 5; name = vocoder.ny; path = "../plug-ins/vocoder.ny"; sourceTree = SOURCE_ROOT; };
|
||||
28AF131723A82F660084A82E /* sord_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sord_test.c; path = lv2/sord/src/sord_test.c; sourceTree = "<group>"; };
|
||||
28AF131823A82F660084A82E /* sordi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sordi.c; path = lv2/sord/src/sordi.c; sourceTree = "<group>"; };
|
||||
28AF131923A82F660084A82E /* sord_validate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sord_validate.c; path = lv2/sord/src/sord_validate.c; sourceTree = "<group>"; };
|
||||
28AF131A23A82F670084A82E /* sordmm_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sordmm_test.cpp; path = lv2/sord/src/sordmm_test.cpp; sourceTree = "<group>"; };
|
||||
28AF131B23A82F670084A82E /* sord.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sord.c; path = lv2/sord/src/sord.c; sourceTree = "<group>"; };
|
||||
28AF131D23A82F670084A82E /* btree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = btree.c; sourceTree = "<group>"; };
|
||||
28AF131E23A82F670084A82E /* digest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = digest.h; sourceTree = "<group>"; };
|
||||
28AF131F23A82F670084A82E /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash.c; sourceTree = "<group>"; };
|
||||
28AF132023A82F670084A82E /* btree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btree.h; sourceTree = "<group>"; };
|
||||
28AF132123A82F670084A82E /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
|
||||
28AF132223A82F670084A82E /* digest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = digest.c; sourceTree = "<group>"; };
|
||||
28AF132323A82F670084A82E /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; };
|
||||
28AF132423A82F670084A82E /* syntax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = syntax.c; path = lv2/sord/src/syntax.c; sourceTree = "<group>"; };
|
||||
28AF132523A82F670084A82E /* sord_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sord_internal.h; path = lv2/sord/src/sord_internal.h; sourceTree = "<group>"; };
|
||||
28AF133423A830100084A82E /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reader.h; path = lv2/serd/src/reader.h; sourceTree = "<group>"; };
|
||||
28AF133523A830100084A82E /* uri.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = uri.c; path = lv2/serd/src/uri.c; sourceTree = "<group>"; };
|
||||
28AF133623A830100084A82E /* env.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = env.c; path = lv2/serd/src/env.c; sourceTree = "<group>"; };
|
||||
28AF133723A830100084A82E /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = string.c; path = lv2/serd/src/string.c; sourceTree = "<group>"; };
|
||||
28AF133823A830100084A82E /* n3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = n3.c; path = lv2/serd/src/n3.c; sourceTree = "<group>"; };
|
||||
28AF133923A830110084A82E /* writer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = writer.c; path = lv2/serd/src/writer.c; sourceTree = "<group>"; };
|
||||
28AF133A23A830110084A82E /* serd_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = serd_internal.h; path = lv2/serd/src/serd_internal.h; sourceTree = "<group>"; };
|
||||
28AF133B23A830110084A82E /* serdi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = serdi.c; path = lv2/serd/src/serdi.c; sourceTree = "<group>"; };
|
||||
28AF133C23A830110084A82E /* reader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = reader.c; path = lv2/serd/src/reader.c; sourceTree = "<group>"; };
|
||||
28AF133D23A830110084A82E /* node.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = node.c; path = lv2/serd/src/node.c; sourceTree = "<group>"; };
|
||||
28AF133E23A830120084A82E /* byte_source.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = byte_source.c; path = lv2/serd/src/byte_source.c; sourceTree = "<group>"; };
|
||||
28AF134A23A8302E0084A82E /* lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lib.c; path = lv2/lilv/src/lib.c; sourceTree = "<group>"; };
|
||||
28AF134B23A8302E0084A82E /* query.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = query.c; path = lv2/lilv/src/query.c; sourceTree = "<group>"; };
|
||||
28AF134C23A8302E0084A82E /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = lv2/lilv/src/util.c; sourceTree = "<group>"; };
|
||||
28AF134D23A8302E0084A82E /* plugin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = plugin.c; path = lv2/lilv/src/plugin.c; sourceTree = "<group>"; };
|
||||
28AF134E23A8302F0084A82E /* port.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = port.c; path = lv2/lilv/src/port.c; sourceTree = "<group>"; };
|
||||
28AF134F23A8302F0084A82E /* lilv_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lilv_internal.h; path = lv2/lilv/src/lilv_internal.h; sourceTree = "<group>"; };
|
||||
28AF135023A8302F0084A82E /* scalepoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scalepoint.c; path = lv2/lilv/src/scalepoint.c; sourceTree = "<group>"; };
|
||||
28AF135223A8302F0084A82E /* tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree.h; sourceTree = "<group>"; };
|
||||
28AF135323A8302F0084A82E /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
|
||||
28AF135423A8302F0084A82E /* tree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tree.c; sourceTree = "<group>"; };
|
||||
28AF135523A8302F0084A82E /* pluginclass.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pluginclass.c; path = lv2/lilv/src/pluginclass.c; sourceTree = "<group>"; };
|
||||
28AF135623A830300084A82E /* node.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = node.c; path = lv2/lilv/src/node.c; sourceTree = "<group>"; };
|
||||
28AF135723A830300084A82E /* world.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = world.c; path = lv2/lilv/src/world.c; sourceTree = "<group>"; };
|
||||
28AF135823A830300084A82E /* ui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ui.c; path = lv2/lilv/src/ui.c; sourceTree = "<group>"; };
|
||||
28AF135923A830300084A82E /* state.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = state.c; path = lv2/lilv/src/state.c; sourceTree = "<group>"; };
|
||||
28AF135A23A830300084A82E /* collections.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = collections.c; path = lv2/lilv/src/collections.c; sourceTree = "<group>"; };
|
||||
28AF135B23A830310084A82E /* instance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = instance.c; path = lv2/lilv/src/instance.c; sourceTree = "<group>"; };
|
||||
28AF136D23A8306B0084A82E /* sord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sord.h; path = lv2/sord/sord/sord.h; sourceTree = "<group>"; };
|
||||
28AF136F23A8307E0084A82E /* serd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = serd.h; path = lv2/serd/serd/serd.h; sourceTree = "<group>"; };
|
||||
28AF137123A830950084A82E /* lilv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lilv.h; path = lv2/lilv/lilv/lilv.h; sourceTree = "<group>"; };
|
||||
28AF137323A831070084A82E /* suil_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = suil_internal.h; path = lv2/suil/src/suil_internal.h; sourceTree = "<group>"; };
|
||||
28AF137423A831070084A82E /* host.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = host.c; path = lv2/suil/src/host.c; sourceTree = "<group>"; };
|
||||
28AF137523A831070084A82E /* instance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = instance.c; path = lv2/suil/src/instance.c; sourceTree = "<group>"; };
|
||||
28AF137623A831070084A82E /* suil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = suil.h; path = lv2/suil/suil/suil.h; sourceTree = "<group>"; };
|
||||
28B97B850FBF771A0076CF28 /* VSTEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; name = VSTEffect.cpp; path = VST/VSTEffect.cpp; sourceTree = "<group>"; tabWidth = 3; };
|
||||
28B97B860FBF771A0076CF28 /* VSTEffect.h */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.c.h; name = VSTEffect.h; path = VST/VSTEffect.h; sourceTree = "<group>"; tabWidth = 3; };
|
||||
28BB98031A15BE6800D1CC80 /* NoiseReduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NoiseReduction.cpp; sourceTree = "<group>"; };
|
||||
@ -5303,28 +5325,14 @@
|
||||
2847504B1AD4EB41000AD751 /* suil */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
284750611AD4EC28000AD751 /* suil.h */,
|
||||
2847505B1AD4EBE1000AD751 /* host.c */,
|
||||
2847505C1AD4EBE1000AD751 /* suil_instance.c */,
|
||||
2847505D1AD4EBE1000AD751 /* suil_internal.h */,
|
||||
28AF137423A831070084A82E /* host.c */,
|
||||
28AF137523A831070084A82E /* instance.c */,
|
||||
28AF137323A831070084A82E /* suil_internal.h */,
|
||||
28AF137623A831070084A82E /* suil.h */,
|
||||
);
|
||||
name = suil;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2847504C1AD4EB5A000AD751 /* zix */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2847504D1AD4EB84000AD751 /* common.h */,
|
||||
2847504E1AD4EB84000AD751 /* digest.c */,
|
||||
2847504F1AD4EB84000AD751 /* digest.h */,
|
||||
284750501AD4EB84000AD751 /* hash.c */,
|
||||
284750511AD4EB84000AD751 /* hash.h */,
|
||||
284750521AD4EB84000AD751 /* tree.c */,
|
||||
284750531AD4EB84000AD751 /* tree.h */,
|
||||
);
|
||||
name = zix;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
284A7B8E0F3156B4001D7A67 /* nyquist */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -5782,21 +5790,22 @@
|
||||
28622999181CE37800E1AD1A /* lilv */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
286229B1181CE51800E1AD1A /* lilv.h */,
|
||||
286229B2181CE51800E1AD1A /* collections.c */,
|
||||
286229B3181CE51800E1AD1A /* instance.c */,
|
||||
286229B4181CE51800E1AD1A /* lib.c */,
|
||||
286229B5181CE51800E1AD1A /* lilv_internal.h */,
|
||||
286229B6181CE51800E1AD1A /* node.c */,
|
||||
286229B7181CE51800E1AD1A /* plugin.c */,
|
||||
286229B8181CE51800E1AD1A /* pluginclass.c */,
|
||||
286229B9181CE51800E1AD1A /* port.c */,
|
||||
286229BA181CE51800E1AD1A /* query.c */,
|
||||
286229BB181CE51800E1AD1A /* scalepoint.c */,
|
||||
286229BC181CE51800E1AD1A /* state.c */,
|
||||
286229BD181CE51800E1AD1A /* ui.c */,
|
||||
286229BE181CE51800E1AD1A /* util.c */,
|
||||
286229BF181CE51800E1AD1A /* world.c */,
|
||||
28AF135A23A830300084A82E /* collections.c */,
|
||||
28AF135B23A830310084A82E /* instance.c */,
|
||||
28AF134A23A8302E0084A82E /* lib.c */,
|
||||
28AF137123A830950084A82E /* lilv.h */,
|
||||
28AF134F23A8302F0084A82E /* lilv_internal.h */,
|
||||
28AF135623A830300084A82E /* node.c */,
|
||||
28AF134D23A8302E0084A82E /* plugin.c */,
|
||||
28AF135523A8302F0084A82E /* pluginclass.c */,
|
||||
28AF134E23A8302F0084A82E /* port.c */,
|
||||
28AF134B23A8302E0084A82E /* query.c */,
|
||||
28AF135023A8302F0084A82E /* scalepoint.c */,
|
||||
28AF135923A830300084A82E /* state.c */,
|
||||
28AF135823A830300084A82E /* ui.c */,
|
||||
28AF134C23A8302E0084A82E /* util.c */,
|
||||
28AF135723A830300084A82E /* world.c */,
|
||||
28AF135123A8302F0084A82E /* zix */,
|
||||
);
|
||||
name = lilv;
|
||||
sourceTree = "<group>";
|
||||
@ -5804,14 +5813,18 @@
|
||||
2862299A181CE3AE00E1AD1A /* serd */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
286229D5181CE5EC00E1AD1A /* serd.h */,
|
||||
286229D6181CE5EC00E1AD1A /* env.c */,
|
||||
286229D7181CE5EC00E1AD1A /* node.c */,
|
||||
286229D8181CE5EC00E1AD1A /* reader.c */,
|
||||
286229D9181CE5EC00E1AD1A /* serd_internal.h */,
|
||||
286229DA181CE5EC00E1AD1A /* string.c */,
|
||||
286229DB181CE5EC00E1AD1A /* uri.c */,
|
||||
286229DC181CE5EC00E1AD1A /* writer.c */,
|
||||
28AF133E23A830120084A82E /* byte_source.c */,
|
||||
28AF133623A830100084A82E /* env.c */,
|
||||
28AF133823A830100084A82E /* n3.c */,
|
||||
28AF133D23A830110084A82E /* node.c */,
|
||||
28AF133C23A830110084A82E /* reader.c */,
|
||||
28AF133423A830100084A82E /* reader.h */,
|
||||
28AF133A23A830110084A82E /* serd_internal.h */,
|
||||
28AF136F23A8307E0084A82E /* serd.h */,
|
||||
28AF133B23A830110084A82E /* serdi.c */,
|
||||
28AF133723A830100084A82E /* string.c */,
|
||||
28AF133523A830100084A82E /* uri.c */,
|
||||
28AF133923A830110084A82E /* writer.c */,
|
||||
);
|
||||
name = serd;
|
||||
sourceTree = "<group>";
|
||||
@ -5819,11 +5832,15 @@
|
||||
2862299B181CE3B400E1AD1A /* sord */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2847504C1AD4EB5A000AD751 /* zix */,
|
||||
286229E5181CE62A00E1AD1A /* sord.h */,
|
||||
286229E6181CE62A00E1AD1A /* sord_internal.h */,
|
||||
286229E7181CE62A00E1AD1A /* sord.c */,
|
||||
286229E8181CE62A00E1AD1A /* syntax.c */,
|
||||
28AF132523A82F670084A82E /* sord_internal.h */,
|
||||
28AF131723A82F660084A82E /* sord_test.c */,
|
||||
28AF131923A82F660084A82E /* sord_validate.c */,
|
||||
28AF131B23A82F670084A82E /* sord.c */,
|
||||
28AF136D23A8306B0084A82E /* sord.h */,
|
||||
28AF131823A82F660084A82E /* sordi.c */,
|
||||
28AF131A23A82F670084A82E /* sordmm_test.cpp */,
|
||||
28AF132423A82F670084A82E /* syntax.c */,
|
||||
28AF131C23A82F670084A82E /* zix */,
|
||||
);
|
||||
name = sord;
|
||||
sourceTree = "<group>";
|
||||
@ -6039,6 +6056,32 @@
|
||||
name = nyquist;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
28AF131C23A82F670084A82E /* zix */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
28AF131D23A82F670084A82E /* btree.c */,
|
||||
28AF131E23A82F670084A82E /* digest.h */,
|
||||
28AF131F23A82F670084A82E /* hash.c */,
|
||||
28AF132023A82F670084A82E /* btree.h */,
|
||||
28AF132123A82F670084A82E /* common.h */,
|
||||
28AF132223A82F670084A82E /* digest.c */,
|
||||
28AF132323A82F670084A82E /* hash.h */,
|
||||
);
|
||||
name = zix;
|
||||
path = lv2/sord/src/zix;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
28AF135123A8302F0084A82E /* zix */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
28AF135223A8302F0084A82E /* tree.h */,
|
||||
28AF135323A8302F0084A82E /* common.h */,
|
||||
28AF135423A8302F0084A82E /* tree.c */,
|
||||
);
|
||||
name = zix;
|
||||
path = lv2/lilv/src/zix;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
28B97B800FBF77030076CF28 /* vst */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -7164,19 +7207,22 @@
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
286229C3181CE51800E1AD1A /* lilv.h in Headers */,
|
||||
286229C7181CE51800E1AD1A /* lilv_internal.h in Headers */,
|
||||
286229DD181CE5EC00E1AD1A /* serd.h in Headers */,
|
||||
286229E1181CE5EC00E1AD1A /* serd_internal.h in Headers */,
|
||||
286229E9181CE62A00E1AD1A /* sord.h in Headers */,
|
||||
286229EA181CE62A00E1AD1A /* sord_internal.h in Headers */,
|
||||
28AF137023A8307E0084A82E /* serd.h in Headers */,
|
||||
28AF132F23A82F680084A82E /* common.h in Headers */,
|
||||
28AF137723A831080084A82E /* suil_internal.h in Headers */,
|
||||
28AF133123A82F680084A82E /* hash.h in Headers */,
|
||||
28AF137223A830950084A82E /* lilv.h in Headers */,
|
||||
28AF133F23A830120084A82E /* reader.h in Headers */,
|
||||
28AF132E23A82F680084A82E /* btree.h in Headers */,
|
||||
28AF136323A830310084A82E /* tree.h in Headers */,
|
||||
28AF136423A830310084A82E /* common.h in Headers */,
|
||||
28AF137A23A831080084A82E /* suil.h in Headers */,
|
||||
28624C0F181CE65700E1AD1A /* sratom.h in Headers */,
|
||||
284750541AD4EB84000AD751 /* common.h in Headers */,
|
||||
284750561AD4EB84000AD751 /* digest.h in Headers */,
|
||||
284750581AD4EB84000AD751 /* hash.h in Headers */,
|
||||
2847505A1AD4EB84000AD751 /* tree.h in Headers */,
|
||||
284750601AD4EBE1000AD751 /* suil_internal.h in Headers */,
|
||||
284750621AD4EC28000AD751 /* suil.h in Headers */,
|
||||
28AF133323A82F680084A82E /* sord_internal.h in Headers */,
|
||||
28AF132C23A82F680084A82E /* digest.h in Headers */,
|
||||
28AF136E23A8306B0084A82E /* sord.h in Headers */,
|
||||
28AF136123A830310084A82E /* lilv_internal.h in Headers */,
|
||||
28AF134523A830120084A82E /* serd_internal.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -7650,6 +7696,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 286229AB181CE4B600E1AD1A /* Build configuration list for PBXNativeTarget "lv2" */;
|
||||
buildPhases = (
|
||||
28AF137C23A832AC0084A82E /* Run Script */,
|
||||
2862299F181CE4B600E1AD1A /* Headers */,
|
||||
286229A0181CE4B600E1AD1A /* Sources */,
|
||||
);
|
||||
@ -8060,6 +8107,25 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/install_manual.sh\"";
|
||||
};
|
||||
28AF137C23A832AC0084A82E /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"$(SRCROOT)/newInputFile",
|
||||
);
|
||||
name = "Run Script";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/bash;
|
||||
shellScript = "LV2=\"${CONFIGURATION_BUILD_DIR}/include/lv2/lv2plug.in/ns\"\n[ -e \"${LV2}\" ] && exit 0\n\nTOP=\"${SRCROOT}/${TOPLEVEL}\"\nmkdir -p \"${LV2}\"/{ext,extensions,lv2core}\n\npushd \"${LV2}/ext\"\nfor src in \"${TOP}\"/lib-src/lv2/lv2/lv2/*\ndo\n ln -s \"${src}\"\ndone\npopd\n \npushd \"${LV2}/extensions\"\nfor src in \"${TOP}\"/lib-src/lv2/lv2/lv2/{ui,units}\ndo\n ln -s \"${src}\"\ndone\npopd\n \npushd \"${LV2}/lv2core\"\nfor src in \"${TOP}\"/lib-src/lv2/lv2/lv2/core/*.h\ndo\n ln -s \"${src}\"\ndone\npopd\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@ -9038,33 +9104,41 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
286229C4181CE51800E1AD1A /* collections.c in Sources */,
|
||||
286229C5181CE51800E1AD1A /* instance.c in Sources */,
|
||||
286229C6181CE51800E1AD1A /* lib.c in Sources */,
|
||||
286229C8181CE51800E1AD1A /* node.c in Sources */,
|
||||
286229C9181CE51800E1AD1A /* plugin.c in Sources */,
|
||||
286229CA181CE51800E1AD1A /* pluginclass.c in Sources */,
|
||||
286229CB181CE51800E1AD1A /* port.c in Sources */,
|
||||
286229CC181CE51800E1AD1A /* query.c in Sources */,
|
||||
286229CD181CE51800E1AD1A /* scalepoint.c in Sources */,
|
||||
286229CE181CE51800E1AD1A /* state.c in Sources */,
|
||||
286229CF181CE51800E1AD1A /* ui.c in Sources */,
|
||||
286229D0181CE51800E1AD1A /* util.c in Sources */,
|
||||
286229D1181CE51800E1AD1A /* world.c in Sources */,
|
||||
286229DE181CE5EC00E1AD1A /* env.c in Sources */,
|
||||
286229DF181CE5EC00E1AD1A /* node.c in Sources */,
|
||||
286229E0181CE5EC00E1AD1A /* reader.c in Sources */,
|
||||
286229E2181CE5EC00E1AD1A /* string.c in Sources */,
|
||||
286229E3181CE5EC00E1AD1A /* uri.c in Sources */,
|
||||
286229E4181CE5EC00E1AD1A /* writer.c in Sources */,
|
||||
286229EB181CE62A00E1AD1A /* sord.c in Sources */,
|
||||
286229EC181CE62A00E1AD1A /* syntax.c in Sources */,
|
||||
28AF136023A830310084A82E /* port.c in Sources */,
|
||||
28AF135F23A830310084A82E /* plugin.c in Sources */,
|
||||
28AF136223A830310084A82E /* scalepoint.c in Sources */,
|
||||
28AF136923A830310084A82E /* ui.c in Sources */,
|
||||
28AF136523A830310084A82E /* tree.c in Sources */,
|
||||
28AF134623A830120084A82E /* serdi.c in Sources */,
|
||||
28AF136723A830310084A82E /* node.c in Sources */,
|
||||
28AF134123A830120084A82E /* env.c in Sources */,
|
||||
28AF135D23A830310084A82E /* query.c in Sources */,
|
||||
28AF134223A830120084A82E /* string.c in Sources */,
|
||||
28AF134823A830120084A82E /* node.c in Sources */,
|
||||
28AF135E23A830310084A82E /* util.c in Sources */,
|
||||
28AF136A23A830310084A82E /* state.c in Sources */,
|
||||
28AF134923A830120084A82E /* byte_source.c in Sources */,
|
||||
28AF137923A831080084A82E /* instance.c in Sources */,
|
||||
28AF136C23A830310084A82E /* instance.c in Sources */,
|
||||
28AF134723A830120084A82E /* reader.c in Sources */,
|
||||
28AF134323A830120084A82E /* n3.c in Sources */,
|
||||
28AF132923A82F680084A82E /* sordmm_test.cpp in Sources */,
|
||||
28AF136B23A830310084A82E /* collections.c in Sources */,
|
||||
28AF132723A82F680084A82E /* sordi.c in Sources */,
|
||||
28AF134023A830120084A82E /* uri.c in Sources */,
|
||||
28AF132823A82F680084A82E /* sord_validate.c in Sources */,
|
||||
28AF135C23A830310084A82E /* lib.c in Sources */,
|
||||
28AF133023A82F680084A82E /* digest.c in Sources */,
|
||||
28AF132623A82F680084A82E /* sord_test.c in Sources */,
|
||||
28AF132A23A82F680084A82E /* sord.c in Sources */,
|
||||
28624C10181CE65700E1AD1A /* sratom.c in Sources */,
|
||||
284750551AD4EB84000AD751 /* digest.c in Sources */,
|
||||
284750571AD4EB84000AD751 /* hash.c in Sources */,
|
||||
284750591AD4EB84000AD751 /* tree.c in Sources */,
|
||||
2847505E1AD4EBE1000AD751 /* host.c in Sources */,
|
||||
2847505F1AD4EBE1000AD751 /* suil_instance.c in Sources */,
|
||||
28AF133223A82F680084A82E /* syntax.c in Sources */,
|
||||
28AF136823A830310084A82E /* world.c in Sources */,
|
||||
28AF132B23A82F680084A82E /* btree.c in Sources */,
|
||||
28AF134423A830120084A82E /* writer.c in Sources */,
|
||||
28AF137823A831080084A82E /* host.c in Sources */,
|
||||
28AF132D23A82F680084A82E /* hash.c in Sources */,
|
||||
28AF136623A830310084A82E /* pluginclass.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -9375,7 +9449,6 @@
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom",
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom/src/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/build/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/src/**",
|
||||
);
|
||||
PRODUCT_NAME = lv2;
|
||||
@ -9401,7 +9474,6 @@
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom",
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom/src/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/build/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/src/**",
|
||||
);
|
||||
PRODUCT_NAME = lv2;
|
||||
@ -10424,7 +10496,6 @@
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom",
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom/src/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/build/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/src/**",
|
||||
);
|
||||
PRODUCT_NAME = lv2;
|
||||
@ -10887,7 +10958,6 @@
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom",
|
||||
"$(TOPLEVEL)/lib-src/lv2/sratom/src/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/build/**",
|
||||
"$(TOPLEVEL)/lib-src/lv2/suil/src/**",
|
||||
);
|
||||
PRODUCT_NAME = lv2;
|
||||
|
@ -3,15 +3,18 @@
|
||||
#ifndef W_LILV_CONFIG_H_WAF
|
||||
#define W_LILV_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_SORD 1
|
||||
#define HAVE_SRATOM 1
|
||||
#define LILV_NEW_LV2 1
|
||||
/* #undef HAVE_FLOCK */
|
||||
/* #undef HAVE_FILENO */
|
||||
/* #undef HAVE_CLOCK_GETTIME */
|
||||
#define LILV_VERSION "0.20.0"
|
||||
#define HAVE_SNDFILE 1
|
||||
#define HAVE_LSTAT 1
|
||||
#define HAVE_FLOCK 1
|
||||
#define HAVE_FILENO 1
|
||||
#define HAVE_CLOCK_GETTIME 1
|
||||
#define HAVE_LIBDL 1
|
||||
#define LILV_VERSION "0.24.6"
|
||||
#define LILV_PATH_SEP ":"
|
||||
#define LILV_DIR_SEP "/"
|
||||
#define LILV_DEFAULT_LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2"
|
||||
|
@ -3,10 +3,10 @@
|
||||
#ifndef W_SERD_CONFIG_H_WAF
|
||||
#define W_SERD_CONFIG_H_WAF
|
||||
|
||||
#define HAVE_FMAX 1
|
||||
#define HAVE_POSIX_MEMALIGN 1
|
||||
/* #undef HAVE_POSIX_FADVISE */
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_FILENO 1
|
||||
#define SERD_VERSION "0.20.0"
|
||||
/* #undef HAVE_POSIX_FADVISE */
|
||||
#define HAVE_POSIX_MEMALIGN 1
|
||||
#define SERD_VERSION "0.30.2"
|
||||
|
||||
#endif /* W_SERD_CONFIG_H_WAF */
|
||||
|
@ -3,8 +3,9 @@
|
||||
#ifndef W_SORD_CONFIG_H_WAF
|
||||
#define W_SORD_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_PCRE 1
|
||||
#define SORD_VERSION "0.12.2"
|
||||
/* #undef HAVE_PCRE */
|
||||
#define SORD_VERSION "0.16.4"
|
||||
|
||||
#endif /* W_SORD_CONFIG_H_WAF */
|
||||
|
@ -3,9 +3,10 @@
|
||||
#ifndef W_SRATOM_CONFIG_H_WAF
|
||||
#define W_SRATOM_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_SORD 1
|
||||
#define SRATOM_VERSION "0.4.6"
|
||||
#define SRATOM_VERSION "0.6.4"
|
||||
|
||||
#endif /* W_SRATOM_CONFIG_H_WAF */
|
||||
|
@ -3,14 +3,17 @@
|
||||
#ifndef W_SUIL_CONFIG_H_WAF
|
||||
#define W_SUIL_CONFIG_H_WAF
|
||||
|
||||
#define SUIL_VERSION "0.10.6"
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_LV2_1_6_0 1
|
||||
/* #undef HAVE_LIBDL */
|
||||
#define SUIL_VERSION "0.8.2"
|
||||
#define SUIL_MODULE_DIR "/Users/yam/o/audacity/lib-src/lv2/suil/build"
|
||||
#define HAVE_X11 1
|
||||
/* #undef HAVE_QMACCOCOAVIEWCONTAINER */
|
||||
#define HAVE_LIBDL 1
|
||||
#define SUIL_MODULE_DIR "/usr/local/lib/suil-0"
|
||||
#define SUIL_DIR_SEP "/"
|
||||
#define SUIL_GTK2_LIB_NAME "libgtk-x11-2.0.so.0"
|
||||
#define SUIL_GTK3_LIB_NAME "libgtk-x11-3.0.so.0"
|
||||
#define SUIL_WITH_X11 1
|
||||
#define SUIL_MODULE_PREFIX "lib"
|
||||
#define SUIL_MODULE_EXT ".so"
|
||||
#define SUIL_MODULE_EXT ".dylib"
|
||||
|
||||
#endif /* W_SUIL_CONFIG_H_WAF */
|
@ -3,15 +3,18 @@
|
||||
#ifndef W_LILV_CONFIG_H_WAF
|
||||
#define W_LILV_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_SORD 1
|
||||
#define HAVE_SRATOM 1
|
||||
#define LILV_NEW_LV2 1
|
||||
#define HAVE_SNDFILE 1
|
||||
#define HAVE_LSTAT 1
|
||||
#define HAVE_FLOCK 1
|
||||
#define HAVE_FILENO 1
|
||||
/* #undef HAVE_CLOCK_GETTIME */
|
||||
#define LILV_VERSION "0.20.0"
|
||||
#define HAVE_CLOCK_GETTIME 1
|
||||
#define HAVE_LIBDL 1
|
||||
#define LILV_VERSION "0.24.4"
|
||||
#define LILV_PATH_SEP ":"
|
||||
#define LILV_DIR_SEP "/"
|
||||
#define LILV_DEFAULT_LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2"
|
||||
|
@ -3,10 +3,10 @@
|
||||
#ifndef W_SERD_CONFIG_H_WAF
|
||||
#define W_SERD_CONFIG_H_WAF
|
||||
|
||||
#define HAVE_FMAX 1
|
||||
#define HAVE_POSIX_MEMALIGN 1
|
||||
/* #undef HAVE_POSIX_FADVISE */
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_FILENO 1
|
||||
#define SERD_VERSION "0.20.0"
|
||||
/* #undef HAVE_POSIX_FADVISE */
|
||||
#define HAVE_POSIX_MEMALIGN 1
|
||||
#define SERD_VERSION "0.30.0"
|
||||
|
||||
#endif /* W_SERD_CONFIG_H_WAF */
|
||||
|
@ -3,8 +3,9 @@
|
||||
#ifndef W_SORD_CONFIG_H_WAF
|
||||
#define W_SORD_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_PCRE 1
|
||||
#define SORD_VERSION "0.12.2"
|
||||
/* #undef HAVE_PCRE */
|
||||
#define SORD_VERSION "0.16.2"
|
||||
|
||||
#endif /* W_SORD_CONFIG_H_WAF */
|
||||
|
@ -3,9 +3,10 @@
|
||||
#ifndef W_SRATOM_CONFIG_H_WAF
|
||||
#define W_SRATOM_CONFIG_H_WAF
|
||||
|
||||
/* #undef HAVE_GCOV */
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_SERD 1
|
||||
#define HAVE_SORD 1
|
||||
#define SRATOM_VERSION "0.4.6"
|
||||
#define SRATOM_VERSION "0.6.2"
|
||||
|
||||
#endif /* W_SRATOM_CONFIG_H_WAF */
|
||||
|
@ -3,14 +3,17 @@
|
||||
#ifndef W_SUIL_CONFIG_H_WAF
|
||||
#define W_SUIL_CONFIG_H_WAF
|
||||
|
||||
#define SUIL_VERSION "0.10.4"
|
||||
#define HAVE_LV2 1
|
||||
#define HAVE_LV2_1_6_0 1
|
||||
/* #undef HAVE_LIBDL */
|
||||
#define SUIL_VERSION "0.8.2"
|
||||
#define SUIL_MODULE_DIR "/Users/yam/o/audacity/lib-src/lv2/suil/build"
|
||||
#define HAVE_X11 1
|
||||
/* #undef HAVE_QMACCOCOAVIEWCONTAINER */
|
||||
#define HAVE_LIBDL 1
|
||||
#define SUIL_MODULE_DIR "/usr/local/lib/suil-0"
|
||||
#define SUIL_DIR_SEP "/"
|
||||
#define SUIL_GTK2_LIB_NAME "libgtk-x11-2.0.so.0"
|
||||
#define SUIL_GTK3_LIB_NAME "libgtk-x11-3.0.so.0"
|
||||
#define SUIL_WITH_X11 1
|
||||
#define SUIL_MODULE_PREFIX "lib"
|
||||
#define SUIL_MODULE_EXT ".so"
|
||||
#define SUIL_MODULE_EXT ".dylib"
|
||||
|
||||
#endif /* W_SUIL_CONFIG_H_WAF */
|
@ -895,6 +895,11 @@ audacity_SOURCES += \
|
||||
effects/lv2/LoadLV2.h \
|
||||
effects/lv2/LV2Effect.cpp \
|
||||
effects/lv2/LV2Effect.h \
|
||||
effects/lv2/NativeWindow.h \
|
||||
effects/lv2/lv2_external_ui.h \
|
||||
effects/lv2/zix/common.h \
|
||||
effects/lv2/zix/ring.cpp \
|
||||
effects/lv2/zix/ring.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
|
2153
src/Makefile.in
2153
src/Makefile.in
File diff suppressed because it is too large
Load Diff
2783
src/effects/lv2/LV2Effect.cpp
Normal file → Executable file
2783
src/effects/lv2/LV2Effect.cpp
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
461
src/effects/lv2/LV2Effect.h
Normal file → Executable file
461
src/effects/lv2/LV2Effect.h
Normal file → Executable file
@ -18,26 +18,38 @@ class wxArrayString;
|
||||
#include <vector>
|
||||
|
||||
#include <wx/event.h> // to inherit
|
||||
#include <wx/msgqueue.h>
|
||||
#include <wx/thread.h>
|
||||
#include <wx/timer.h>
|
||||
|
||||
#include "lv2/lv2plug.in/ns/ext/atom/forge.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/data-access/data-access.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/options/options.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/uri-map/uri-map.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
|
||||
#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"
|
||||
#include "lv2/atom/forge.h"
|
||||
#include "lv2/data-access/data-access.h"
|
||||
#include "lv2/log/log.h"
|
||||
#include "lv2/midi/midi.h"
|
||||
#include "lv2/options/options.h"
|
||||
#include "lv2/state/state.h"
|
||||
#include "lv2/time/time.h"
|
||||
#include "lv2/uri-map/uri-map.h"
|
||||
#include "lv2/urid/urid.h"
|
||||
#include "lv2/worker/worker.h"
|
||||
#include "lv2/ui/ui.h"
|
||||
|
||||
#include <lilv/lilv.h>
|
||||
#include <suil/suil.h>
|
||||
|
||||
#include "../../ShuttleGui.h"
|
||||
#include "../../SampleFormat.h"
|
||||
|
||||
#include "LoadLV2.h"
|
||||
#include "NativeWindow.h"
|
||||
|
||||
#include "lv2_external_ui.h"
|
||||
#include "zix/ring.h"
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
class wxSlider;
|
||||
class wxTextCtrl;
|
||||
|
||||
class NumericTextCtrl;
|
||||
|
||||
#define LV2EFFECTS_VERSION wxT("1.0.0.0")
|
||||
@ -45,63 +57,200 @@ class NumericTextCtrl;
|
||||
"Linux Audio Developer's Simple Plugin API (LADSPA) version 2" */
|
||||
#define LV2EFFECTS_FAMILY XO("LV2")
|
||||
|
||||
/** A structure that contains information about a single LV2 plugin port. */
|
||||
// DECLARE_LOCAL_EVENT_TYPE(EVT_SIZEWINDOW, -1);
|
||||
|
||||
class LV2Port
|
||||
{
|
||||
public:
|
||||
LV2Port()
|
||||
LV2Port(const LilvPort *port,
|
||||
int index,
|
||||
bool isInput,
|
||||
const wxString & symbol,
|
||||
const wxString & name,
|
||||
const wxString & group)
|
||||
: mPort(port),
|
||||
mIndex(index),
|
||||
mIsInput(isInput),
|
||||
mSymbol(symbol),
|
||||
mName(name),
|
||||
mGroup(group)
|
||||
{
|
||||
mInput = false;
|
||||
};
|
||||
LV2Port(const LV2Port &) = default;
|
||||
LV2Port &operator = (const LV2Port &) = default;
|
||||
|
||||
const LilvPort *mPort;
|
||||
|
||||
uint32_t mIndex;
|
||||
bool mIsInput;
|
||||
|
||||
wxString mSymbol;
|
||||
wxString mName;
|
||||
wxString mGroup;
|
||||
};
|
||||
|
||||
class LV2AudioPort : public LV2Port
|
||||
{
|
||||
public:
|
||||
LV2AudioPort(const LilvPort *port,
|
||||
int index,
|
||||
bool isInput,
|
||||
const wxString & symbol,
|
||||
const wxString & name,
|
||||
const wxString & group)
|
||||
: LV2Port(port, index, isInput, symbol, name, group)
|
||||
{
|
||||
}
|
||||
};
|
||||
using LV2AudioPortPtr = std::shared_ptr<LV2AudioPort>;
|
||||
using LV2AudioPortArray = std::vector<LV2AudioPortPtr>;
|
||||
|
||||
class LV2AtomPort : public LV2Port
|
||||
{
|
||||
public:
|
||||
LV2AtomPort(const LilvPort *port,
|
||||
int index,
|
||||
bool isInput,
|
||||
const wxString & symbol,
|
||||
const wxString & name,
|
||||
const wxString & group)
|
||||
: LV2Port(port, index, isInput, symbol, name, group)
|
||||
{
|
||||
|
||||
mIsMidi = false;
|
||||
mWantsPosition = false;
|
||||
mMinimumSize = 1024;
|
||||
mRing = NULL;
|
||||
}
|
||||
virtual ~LV2AtomPort()
|
||||
{
|
||||
if (mRing)
|
||||
{
|
||||
zix_ring_free(mRing);
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t mMinimumSize;
|
||||
bool mIsMidi;
|
||||
bool mWantsPosition;
|
||||
|
||||
std::vector<uint8_t> mBuffer;
|
||||
ZixRing *mRing;
|
||||
};
|
||||
using LV2AtomPortPtr = std::shared_ptr<LV2AtomPort>;
|
||||
using LV2AtomPortArray = std::vector<LV2AtomPortPtr>;
|
||||
|
||||
class LV2CVPort : public LV2Port
|
||||
{
|
||||
public:
|
||||
LV2CVPort(const LilvPort *port,
|
||||
int index,
|
||||
bool isInput,
|
||||
const wxString & symbol,
|
||||
const wxString & name,
|
||||
const wxString & group)
|
||||
: LV2Port(port, index, isInput, symbol, name, group)
|
||||
{
|
||||
mMin = 0.0;
|
||||
mMax = 1.0;
|
||||
mDef = 0.0;
|
||||
mHasLo = false;
|
||||
mHasHi = false;
|
||||
};
|
||||
|
||||
float mMin;
|
||||
float mMax;
|
||||
float mDef;
|
||||
bool mHasLo;
|
||||
bool mHasHi;
|
||||
|
||||
Floats mBuffer;
|
||||
};
|
||||
using LV2CVPortPtr = std::shared_ptr<LV2CVPort>;
|
||||
using LV2CVPortArray = std::vector<LV2CVPortPtr>;
|
||||
|
||||
class LV2EffectMeter;
|
||||
|
||||
/** A structure that contains information about a single LV2 plugin port. */
|
||||
class LV2ControlPort : public LV2Port
|
||||
{
|
||||
public:
|
||||
LV2ControlPort(const LilvPort *port,
|
||||
int index,
|
||||
bool isInput,
|
||||
const wxString & symbol,
|
||||
const wxString & name,
|
||||
const wxString & group)
|
||||
: LV2Port(port, index, isInput, symbol, name, group)
|
||||
{
|
||||
mMin = 0.0;
|
||||
mMax = 0.0;
|
||||
mDef = 0.0;
|
||||
mVal = 0.0;
|
||||
mLst = 0.0;
|
||||
mTmp = 0.0;
|
||||
mDmy = 0.0;
|
||||
mLo = 0.0;
|
||||
mHi = 0.0;
|
||||
mHasLo = false;
|
||||
mHasHi = false;
|
||||
mToggle = false;
|
||||
mTrigger = false;
|
||||
mInteger = false;
|
||||
mSampleRate = false;
|
||||
mEnumeration = false;
|
||||
mLogarithmic = false;
|
||||
mHasLo = false;
|
||||
mHasHi = false;
|
||||
}
|
||||
LV2Port( const LV2Port & ) = default;
|
||||
LV2Port& operator = ( const LV2Port & ) = default;
|
||||
//LV2Port( LV2Port && ) = default;
|
||||
//LV2Port& operator = ( LV2Port && ) = default;
|
||||
|
||||
uint32_t mIndex;
|
||||
wxString mSymbol;
|
||||
wxString mName;
|
||||
wxString mGroup;
|
||||
mNotOnGui = false;
|
||||
mCtrl.button = NULL;
|
||||
mText = NULL;
|
||||
};
|
||||
|
||||
wxString mUnits;
|
||||
float mMin;
|
||||
float mMax;
|
||||
float mDef;
|
||||
float mVal;
|
||||
float mLst;
|
||||
float mTmp;
|
||||
float mDmy;
|
||||
float mLo;
|
||||
float mHi;
|
||||
bool mHasLo;
|
||||
bool mHasHi;
|
||||
bool mInput;
|
||||
bool mToggle;
|
||||
bool mTrigger;
|
||||
bool mInteger;
|
||||
bool mSampleRate;
|
||||
bool mEnumeration;
|
||||
bool mLogarithmic;
|
||||
|
||||
LilvPort *mPort;
|
||||
bool mNotOnGui;
|
||||
|
||||
// ScalePoints
|
||||
std::vector<double> mScaleValues;
|
||||
wxArrayString mScaleLabels;
|
||||
};
|
||||
|
||||
using LV2GroupMap = std::unordered_map<wxString, std::vector<int>>;
|
||||
// UI
|
||||
wxTextCtrl *mText;
|
||||
union
|
||||
{
|
||||
wxButton *button;
|
||||
wxCheckBox *checkbox;
|
||||
wxChoice *choice;
|
||||
LV2EffectMeter *meter;
|
||||
wxSlider *slider;
|
||||
} mCtrl;
|
||||
};
|
||||
using LV2ControlPortPtr = std::shared_ptr<LV2ControlPort>;
|
||||
using LV2ControlPortArray = std::vector<LV2ControlPortPtr>;
|
||||
|
||||
class LV2EffectSettingsDialog;
|
||||
class LV2Wrapper;
|
||||
|
||||
using URIDMap = std::vector<MallocString<>>;
|
||||
|
||||
class LV2Effect final : public wxEvtHandler,
|
||||
public EffectClientInterface,
|
||||
public EffectUIClientInterface
|
||||
public EffectClientInterface,
|
||||
public EffectUIClientInterface
|
||||
{
|
||||
public:
|
||||
LV2Effect(const LilvPlugin *plug);
|
||||
@ -153,10 +302,7 @@ public:
|
||||
bool RealtimeSuspend() override;
|
||||
bool RealtimeResume() override;
|
||||
bool RealtimeProcessStart() override;
|
||||
size_t RealtimeProcess(int group,
|
||||
float **inbuf,
|
||||
float **outbuf,
|
||||
size_t numSamples) override;
|
||||
size_t RealtimeProcess(int group, float **inbuf, float **outbuf, size_t numSamples) override;
|
||||
bool RealtimeProcessEnd() override;
|
||||
|
||||
bool ShowInterface(wxWindow *parent, bool forceModal = false) override;
|
||||
@ -190,21 +336,18 @@ public:
|
||||
// LV2Effect implementation
|
||||
|
||||
private:
|
||||
bool Load();
|
||||
void Unload();
|
||||
|
||||
bool LoadParameters(const RegistryPath & group);
|
||||
bool SaveParameters(const RegistryPath & group);
|
||||
|
||||
LilvInstance *InitInstance(float sampleRate);
|
||||
void FreeInstance(LilvInstance *handle);
|
||||
LV2Wrapper *InitInstance(float sampleRate);
|
||||
void FreeInstance(LV2Wrapper *wrapper);
|
||||
|
||||
static uint32_t uri_to_id(LV2_URI_Map_Callback_Data callback_data,
|
||||
const char *map,
|
||||
const char *uri);
|
||||
|
||||
static LV2_URID urid_map(LV2_URID_Map_Handle handle, const char *uri);
|
||||
LV2_URID URID_Map(const char *uri);
|
||||
static LV2_URID Lookup_URI(URIDMap & map, const char *uri, bool add = true);
|
||||
|
||||
static const char *urid_unmap(LV2_URID_Unmap_Handle handle, LV2_URID urid);
|
||||
const char *URID_Unmap(LV2_URID urid);
|
||||
@ -212,15 +355,32 @@ private:
|
||||
static int ui_resize(LV2UI_Feature_Handle handle, int width, int height);
|
||||
int UIResize(int width, int height);
|
||||
|
||||
size_t AddOption(const char *key, uint32_t size, const char *type, void *value);
|
||||
static void ui_closed(LV2UI_Controller controller);
|
||||
void UIClosed();
|
||||
|
||||
static int log_printf(LV2_Log_Handle handle, LV2_URID type, const char *fmt, ...);
|
||||
static int log_vprintf(LV2_Log_Handle handle, LV2_URID type, const char *fmt, va_list ap);
|
||||
int LogVPrintf(LV2_URID type, const char *fmt, va_list ap);
|
||||
|
||||
#if defined(__WXGTK__)
|
||||
static void size_request(GtkWidget *widget, GtkRequisition *requisition, LV2Effect *win);
|
||||
void SizeRequest(GtkWidget *widget, GtkRequisition *requisition);
|
||||
#endif
|
||||
|
||||
size_t AddOption(LV2_URID, uint32_t size, LV2_URID, const void *value);
|
||||
bool ValidateOptions(const LilvNode *subject);
|
||||
bool CheckOptions(const LilvNode *subject, const LilvNode *predicate, bool required);
|
||||
|
||||
LV2_Feature *AddFeature(const char *uri, void *data);
|
||||
bool ValidateFeatures(const LilvNode *subject);
|
||||
bool CheckFeatures(const LilvNode *subject, const LilvNode *predicate, bool required);
|
||||
|
||||
bool BuildFancy();
|
||||
bool BuildPlain();
|
||||
|
||||
bool TransferDataToWindow() /* not override */;
|
||||
bool TransferDataFromWindow() /* not override */;
|
||||
void SetSlider(wxSlider *slider, const LV2Port & ctrl);
|
||||
void SetSlider(const LV2ControlPortPtr & port);
|
||||
|
||||
void OnTrigger(wxCommandEvent & evt);
|
||||
void OnToggle(wxCommandEvent & evt);
|
||||
@ -228,98 +388,170 @@ private:
|
||||
void OnText(wxCommandEvent & evt);
|
||||
void OnSlider(wxCommandEvent & evt);
|
||||
|
||||
void OnTimer(wxTimerEvent & evt);
|
||||
void OnIdle(wxIdleEvent & evt);
|
||||
void OnSize(wxSizeEvent & evt);
|
||||
void OnSizeWindow(wxCommandEvent & evt);
|
||||
|
||||
static void suil_write_func(SuilController controller,
|
||||
uint32_t port_index,
|
||||
uint32_t buffer_size,
|
||||
uint32_t protocol,
|
||||
const void *buffer);
|
||||
static void suil_port_write_func(SuilController controller,
|
||||
uint32_t port_index,
|
||||
uint32_t buffer_size,
|
||||
uint32_t protocol,
|
||||
const void *buffer);
|
||||
void SuilPortWrite(uint32_t port_index,
|
||||
uint32_t buffer_size,
|
||||
uint32_t protocol,
|
||||
const void *buffer);
|
||||
|
||||
void UIWrite(uint32_t port_index,
|
||||
uint32_t buffer_size,
|
||||
uint32_t protocol,
|
||||
const void *buffer);
|
||||
static uint32_t suil_port_index_func(SuilController controller,
|
||||
const char *port_symbol);
|
||||
uint32_t SuilPortIndex(const char *port_symbol);
|
||||
|
||||
static const void *get_value_func(const char *port_symbol,
|
||||
void *user_data,
|
||||
uint32_t *size,
|
||||
uint32_t *type);
|
||||
const void *GetPortValue(const char *port_symbol,
|
||||
uint32_t *size,
|
||||
uint32_t *type);
|
||||
|
||||
static void set_value_func(const char *port_symbol,
|
||||
void *user_data,
|
||||
void *user_data,
|
||||
const void *value,
|
||||
uint32_t size,
|
||||
uint32_t type);
|
||||
|
||||
uint32_t size,
|
||||
uint32_t type);
|
||||
void SetPortValue(const char *port_symbol,
|
||||
const void *value,
|
||||
uint32_t size,
|
||||
uint32_t type);
|
||||
uint32_t size,
|
||||
uint32_t type);
|
||||
|
||||
private:
|
||||
// Declare the static URI nodes
|
||||
#undef URI
|
||||
#define URI(n, u) static LilvNode *n;
|
||||
URILIST
|
||||
|
||||
// Declare the global and local URI maps
|
||||
static URIDMap gURIDMap;
|
||||
URIDMap mURIDMap;
|
||||
|
||||
// Declare the static LILV URI nodes
|
||||
#undef NODE
|
||||
#define NODE(n, u) static LilvNode *node_##n;
|
||||
NODELIST
|
||||
|
||||
// Declare the static URIDs
|
||||
#undef URID
|
||||
#define URID(n, u) static LV2_URID urid_##n;
|
||||
URIDLIST
|
||||
|
||||
const LilvPlugin *mPlug;
|
||||
|
||||
EffectHostInterface *mHost;
|
||||
|
||||
size_t mBlockSize;
|
||||
double mSampleRate;
|
||||
float mSampleRate;
|
||||
int mBlockSize;
|
||||
int mSeqSize;
|
||||
|
||||
wxLongToLongHashMap mControlsMap;
|
||||
std::vector<LV2Port> mControls;
|
||||
std::vector<int> mAudioInputs;
|
||||
std::vector<int> mAudioOutputs;
|
||||
int mMinBlockSize;
|
||||
int mMaxBlockSize;
|
||||
int mUserBlockSize;
|
||||
|
||||
LV2GroupMap mGroupMap;
|
||||
std::unordered_map<uint32_t, LV2ControlPortPtr> mControlPortMap;
|
||||
LV2ControlPortArray mControlPorts;
|
||||
|
||||
LV2AudioPortArray mAudioPorts;
|
||||
unsigned mAudioIn;
|
||||
unsigned mAudioOut;
|
||||
|
||||
LV2AtomPortArray mAtomPorts;
|
||||
LV2AtomPortPtr mControlIn;
|
||||
LV2AtomPortPtr mControlOut;
|
||||
unsigned mMidiIn;
|
||||
unsigned mMidiOut;
|
||||
|
||||
LV2CVPortArray mCVPorts;
|
||||
unsigned mCVIn;
|
||||
unsigned mCVOut;
|
||||
|
||||
std::unordered_map<wxString, std::vector<int>> mGroupMap;
|
||||
wxArrayString mGroups;
|
||||
|
||||
bool mWantsOptionsInterface;
|
||||
bool mWantsStateInterface;
|
||||
bool mWantsWorkerInterface;
|
||||
bool mNoResize;
|
||||
|
||||
bool mUseLatency;
|
||||
int mLatencyPort;
|
||||
bool mLatencyDone;
|
||||
float mLatency;
|
||||
bool mRolling;
|
||||
bool mActivated;
|
||||
|
||||
LilvInstance *mMaster;
|
||||
LilvInstance *mProcess;
|
||||
std::vector<LilvInstance*> mSlaves;
|
||||
LV2Wrapper *mMaster;
|
||||
LV2Wrapper *mProcess;
|
||||
std::vector<LV2Wrapper *> mSlaves;
|
||||
|
||||
FloatBuffers mMasterIn, mMasterOut;
|
||||
size_t mNumSamples;
|
||||
size_t mFramePos;
|
||||
|
||||
FloatBuffers mCVInBuffers;
|
||||
FloatBuffers mCVOutBuffers;
|
||||
|
||||
// Position info
|
||||
float mPositionSpeed;
|
||||
float mPositionFrame;
|
||||
|
||||
double mLength;
|
||||
|
||||
wxTimer mTimer;
|
||||
|
||||
wxDialog *mDialog;
|
||||
wxWindow *mParent;
|
||||
EffectUIHostInterface *mUIHost;
|
||||
|
||||
bool mUseGUI;
|
||||
|
||||
std::vector< std::unique_ptr<char, freer> > mURIMap;
|
||||
|
||||
// Features we support
|
||||
LV2_URI_Map_Feature mUriMapFeature;
|
||||
LV2_URID_Map mURIDMapFeature;
|
||||
LV2_URID_Unmap mURIDUnmapFeature;
|
||||
LV2UI_Resize mUIResizeFeature;
|
||||
LV2_Extension_Data_Feature mExtDataFeature;
|
||||
LV2_Log_Log mLogFeature;
|
||||
LV2_Extension_Data_Feature mExtensionDataFeature;
|
||||
|
||||
LV2_External_UI_Host mExternalUIHost;
|
||||
LV2_External_UI_Widget* mExternalWidget;
|
||||
bool mExternalUIClosed;
|
||||
|
||||
LV2_Atom_Forge mForge;
|
||||
|
||||
std::vector<LV2_Options_Option> mOptions;
|
||||
size_t mBlockSizeOption;
|
||||
size_t mSampleRateOption;
|
||||
|
||||
LV2_Options_Interface *mOptionsInterface;
|
||||
std::vector<LV2_Options_Option> mOptions;
|
||||
bool mSupportsNominalBlockLength;
|
||||
bool mSupportsSampleRate;
|
||||
|
||||
std::vector<std::unique_ptr<LV2_Feature>> mFeatures;
|
||||
|
||||
LV2_Feature *mInstanceAccessFeature;
|
||||
LV2_Feature *mParentFeature;
|
||||
LV2_Feature *mWorkerScheduleFeature;
|
||||
|
||||
const LV2UI_Idle_Interface *mIdleFeature;
|
||||
bool mFreewheeling;
|
||||
|
||||
SuilHost *mSuilHost;
|
||||
SuilInstance *mSuilInstance;
|
||||
|
||||
NativeWindow *mNativeWin;
|
||||
wxSize mNativeWinInitialSize;
|
||||
wxSize mNativeWinLastSize;
|
||||
bool mResizing;
|
||||
#if defined(__WXGTK__)
|
||||
bool mResized;
|
||||
#endif
|
||||
|
||||
LV2UI_Idle_Interface *mUIIdleInterface;
|
||||
LV2UI_Show_Interface *mUIShowInterface;
|
||||
|
||||
NumericTextCtrl *mDuration;
|
||||
ArrayOf<wxSlider*> mSliders;
|
||||
ArrayOf<wxTextCtrl*> mFields;
|
||||
|
||||
bool mFactoryPresetsLoaded;
|
||||
RegistryPaths mFactoryPresetNames;
|
||||
@ -327,6 +559,7 @@ private:
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
friend class LV2Wrapper;
|
||||
friend class LV2EffectSettingsDialog;
|
||||
friend class LV2EffectsModule;
|
||||
};
|
||||
@ -347,5 +580,73 @@ inline wxString LilvString(LilvNode *node, bool free)
|
||||
return str;
|
||||
};
|
||||
|
||||
class LV2Wrapper : public wxThreadHelper
|
||||
{
|
||||
public:
|
||||
typedef struct LV2Work
|
||||
{
|
||||
uint32_t size;
|
||||
const void *data;
|
||||
} LV2Work;
|
||||
|
||||
public:
|
||||
LV2Wrapper(LV2Effect *effect);
|
||||
virtual ~LV2Wrapper();
|
||||
|
||||
LilvInstance *Instantiate(const LilvPlugin *plugin,
|
||||
double sampleRrate,
|
||||
std::vector<std::unique_ptr<LV2_Feature>> & features);
|
||||
|
||||
void *Entry();
|
||||
|
||||
LilvInstance *GetInstance();
|
||||
|
||||
LV2_Handle GetHandle();
|
||||
|
||||
float GetLatency();
|
||||
|
||||
void SetFreeWheeling(bool enable);
|
||||
|
||||
void SetSampleRate();
|
||||
|
||||
void SetBlockSize();
|
||||
|
||||
void ConnectPorts(float **inbuf, float **outbuf);
|
||||
|
||||
void SendResponses();
|
||||
|
||||
static LV2_Worker_Status schedule_work(LV2_Worker_Schedule_Handle handle,
|
||||
uint32_t size,
|
||||
const void *data);
|
||||
LV2_Worker_Status ScheduleWork(uint32_t size, const void *data);
|
||||
|
||||
static LV2_Worker_Status respond(LV2_Worker_Respond_Handle handle,
|
||||
uint32_t size,
|
||||
const void *data);
|
||||
|
||||
LV2_Worker_Status Respond(uint32_t size, const void *data);
|
||||
|
||||
private:
|
||||
LV2Effect *mEffect;
|
||||
LilvInstance *mInstance;
|
||||
LV2_Handle mHandle;
|
||||
|
||||
wxMessageQueue<LV2Work> mRequests;
|
||||
wxMessageQueue<LV2Work> mResponses;
|
||||
|
||||
// Options extension
|
||||
LV2_Options_Interface *mOptionsInterface;
|
||||
|
||||
// State extension
|
||||
LV2_State_Interface *mStateInterface;
|
||||
|
||||
// Worker extension
|
||||
LV2_Worker_Interface *mWorkerInterface;
|
||||
LV2_Worker_Schedule mWorkerSchedule;
|
||||
|
||||
float mLatency;
|
||||
bool mFreeWheeling;
|
||||
bool mStopWorker;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
63
src/effects/lv2/LoadLV2.cpp
Normal file → Executable file
63
src/effects/lv2/LoadLV2.cpp
Normal file → Executable file
@ -17,6 +17,11 @@ Functions that find and load all LV2 plugins on the system.
|
||||
#include "../../Audacity.h" // for USE_* macros
|
||||
|
||||
#if defined(USE_LV2)
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic ignored "-Wparentheses"
|
||||
#endif
|
||||
|
||||
#include "LoadLV2.h"
|
||||
|
||||
#include <cstdio>
|
||||
@ -33,12 +38,12 @@ Functions that find and load all LV2 plugins on the system.
|
||||
#include "../../Internat.h"
|
||||
|
||||
#include "LV2Effect.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/event/event.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/instance-access/instance-access.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/port-groups/port-groups.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/port-props/port-props.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/uri-map/uri-map.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/presets/presets.h"
|
||||
#include "lv2/event/event.h"
|
||||
#include "lv2/instance-access/instance-access.h"
|
||||
#include "lv2/port-groups/port-groups.h"
|
||||
#include "lv2/port-props/port-props.h"
|
||||
#include "lv2/uri-map/uri-map.h"
|
||||
#include "lv2/presets/presets.h"
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
@ -130,9 +135,14 @@ bool LV2EffectsModule::Initialize()
|
||||
}
|
||||
|
||||
// Create LilvNodes for each of the URIs we need
|
||||
#undef URI
|
||||
#define URI(n, u) LV2Effect::n = lilv_new_uri(gWorld, u);
|
||||
URILIST
|
||||
#undef NODE
|
||||
#define NODE(n, u) LV2Effect::node_##n = lilv_new_uri(gWorld, u);
|
||||
NODELIST
|
||||
|
||||
// Generatre URIDs
|
||||
#undef URID
|
||||
#define URID(n, u) LV2Effect::urid_##n = LV2Effect::Lookup_URI(LV2Effect::gURIDMap, u);
|
||||
URIDLIST
|
||||
|
||||
wxString newVar;
|
||||
|
||||
@ -166,12 +176,13 @@ bool LV2EffectsModule::Initialize()
|
||||
libdir.AppendDir(wxT("lv2"));
|
||||
|
||||
newVar += wxT(":$HOME/.lv2");
|
||||
newVar += wxT(":/usr/local/lib/lv2");
|
||||
newVar += wxT(":/usr/lib/lv2");
|
||||
#if defined(__LP64__)
|
||||
newVar += wxT(":/usr/local/lib64/lv2");
|
||||
newVar += wxT(":/usr/lib64/lv2");
|
||||
#endif
|
||||
newVar += wxT(":/usr/local/lib/lv2");
|
||||
newVar += wxT(":/usr/lib/lv2");
|
||||
newVar += wxT(":") + libdir.GetPath();
|
||||
|
||||
#endif
|
||||
|
||||
// Start with the LV2_PATH environment variable (if any)
|
||||
@ -188,7 +199,6 @@ bool LV2EffectsModule::Initialize()
|
||||
}
|
||||
|
||||
wxSetEnv(wxT("LV2_PATH"), pathVar);
|
||||
|
||||
lilv_world_load_all(gWorld);
|
||||
|
||||
return true;
|
||||
@ -197,9 +207,10 @@ bool LV2EffectsModule::Initialize()
|
||||
void LV2EffectsModule::Terminate()
|
||||
{
|
||||
// Free the LilvNodes for each of the URIs we need
|
||||
#undef URI
|
||||
#define URI(n, u) lilv_node_free(LV2Effect::n);
|
||||
URILIST
|
||||
#undef NODE
|
||||
#define NODE(n, u) \
|
||||
lilv_node_free(LV2Effect::node_##n);
|
||||
NODELIST
|
||||
|
||||
lilv_world_free(gWorld);
|
||||
gWorld = NULL;
|
||||
@ -237,11 +248,25 @@ PluginPaths LV2EffectsModule::FindPluginPaths(PluginManagerInterface & WXUNUSED(
|
||||
LILV_FOREACH(plugins, i, plugs)
|
||||
{
|
||||
const LilvPlugin *plug = lilv_plugins_get(plugs, i);
|
||||
const LilvNode *cls = lilv_plugin_class_get_uri(lilv_plugin_get_class(plug));
|
||||
const LilvNode *name = lilv_plugin_get_name(plug);
|
||||
|
||||
// Bypass Instrument (MIDI) plugins for now
|
||||
const LilvPluginClass *cls = lilv_plugin_get_class(plug);
|
||||
if (lilv_node_equals(lilv_plugin_class_get_uri(cls), LV2Effect::gInstrument))
|
||||
// Bypass unsupported plugin types
|
||||
if (lilv_node_equals(cls, LV2Effect::node_InstrumentPlugin) ||
|
||||
lilv_node_equals(cls, LV2Effect::node_MIDIPlugin) ||
|
||||
lilv_node_equals(cls, LV2Effect::node_MathConstants) ||
|
||||
lilv_node_equals(cls, LV2Effect::node_MathFunctions))
|
||||
{
|
||||
wxLogInfo(wxT("LV2 plugin '%s' has unsupported type '%s'"), lilv_node_as_string(lilv_plugin_get_uri(plug)), lilv_node_as_string(cls));
|
||||
printf("LV2 plugin '%s' has unsupported type '%s'\n", lilv_node_as_string(lilv_plugin_get_uri(plug)), lilv_node_as_string(cls));
|
||||
continue;
|
||||
}
|
||||
|
||||
// If it doesn't have a name or has no ports, then it's not valid
|
||||
if (!name || !lilv_plugin_get_port_by_index(plug, 0))
|
||||
{
|
||||
wxLogInfo(wxT("LV2 plugin '%s' is invalid"), lilv_node_as_string(lilv_plugin_get_uri(plug)));
|
||||
printf("LV2 plugin '%s' is invalid\n", lilv_node_as_string(lilv_plugin_get_uri(plug)));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
171
src/effects/lv2/LoadLV2.h
Normal file → Executable file
171
src/effects/lv2/LoadLV2.h
Normal file → Executable file
@ -14,52 +14,145 @@
|
||||
|
||||
#include "../../MemoryX.h"
|
||||
|
||||
#include <lilv/lilv.h>
|
||||
#include "lilv/lilv.h"
|
||||
|
||||
#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/data-access/data-access.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/instance-access/instance-access.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/port-groups/port-groups.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/port-props/port-props.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/presets/presets.h"
|
||||
#include "lv2/lv2plug.in/ns/ext/uri-map/uri-map.h"
|
||||
#include "lv2/lv2plug.in/ns/extensions/units/units.h"
|
||||
#include "lv2/core/lv2.h"
|
||||
#include "lv2/buf-size/buf-size.h"
|
||||
#include "lv2/data-access/data-access.h"
|
||||
#include "lv2/event/event.h"
|
||||
#include "lv2/instance-access/instance-access.h"
|
||||
#include "lv2/midi/midi.h"
|
||||
#include "lv2/parameters/parameters.h"
|
||||
#include "lv2/port-groups/port-groups.h"
|
||||
#include "lv2/port-props/port-props.h"
|
||||
#include "lv2/presets/presets.h"
|
||||
#include "lv2/resize-port/resize-port.h"
|
||||
#include "lv2/time/time.h"
|
||||
#include "lv2/uri-map/uri-map.h"
|
||||
#include "lv2/units/units.h"
|
||||
|
||||
#include "audacity/ModuleInterface.h"
|
||||
#include "audacity/EffectInterface.h"
|
||||
#include "audacity/PluginInterface.h"
|
||||
|
||||
#undef URI
|
||||
#define URI(n, u)
|
||||
#include "lv2_external_ui.h"
|
||||
|
||||
// Define the list of URIs that we will use
|
||||
#undef URILIST
|
||||
#define URILIST \
|
||||
URI( gBool, LV2_ATOM__Bool ) \
|
||||
URI( gDouble, LV2_ATOM__Double ) \
|
||||
URI( gFloat, LV2_ATOM__Float ) \
|
||||
URI( gInt, LV2_ATOM__Int ) \
|
||||
URI( gLong, LV2_ATOM__Long ) \
|
||||
URI( gAudio, LV2_CORE__AudioPort ) \
|
||||
URI( gControl, LV2_CORE__ControlPort ) \
|
||||
URI( gInput, LV2_CORE__InputPort ) \
|
||||
URI( gInstrument, LV2_CORE__InstrumentPlugin ) \
|
||||
URI( gOutput, LV2_CORE__OutputPort ) \
|
||||
URI( gOptional, LV2_CORE__connectionOptional ) \
|
||||
URI( gEnumeration, LV2_CORE__enumeration ) \
|
||||
URI( gInteger, LV2_CORE__integer ) \
|
||||
URI( gName, LV2_CORE__name ) \
|
||||
URI( gLatency, LV2_CORE__reportsLatency ) \
|
||||
URI( gSampleRate, LV2_CORE__sampleRate ) \
|
||||
URI( gToggled, LV2_CORE__toggled ) \
|
||||
URI( gGroup, LV2_PORT_GROUPS__group ) \
|
||||
URI( gSubGroupOf, LV2_PORT_GROUPS__subGroupOf ) \
|
||||
URI( gLogarithmic, LV2_PORT_PROPS__logarithmic ) \
|
||||
URI( gTrigger, LV2_PORT_PROPS__trigger ) \
|
||||
URI( gPreset, LV2_PRESETS__Preset ) \
|
||||
URI( gUnit, LV2_UNITS__unit ) \
|
||||
URI( gUnitSymbol, LV2_UNITS__symbol ) \
|
||||
URI( gLabel, LILV_NS_RDFS "label" )
|
||||
#if !defined(LV2_CORE__MIDIPlugin)
|
||||
#define LV2_CORE__MIDIPlugin LV2_CORE_PREFIX "MIDIPlugin"
|
||||
#endif
|
||||
|
||||
#if !defined(LV2_CORE__Enabled)
|
||||
#define LV2_CORE__enabled LV2_CORE_PREFIX "enabled"
|
||||
#endif
|
||||
|
||||
#if !defined(LV2_UI__makeResident)
|
||||
#define LV2_UI__makeResident LV2_UI_PREFIX "makeResident"
|
||||
#endif
|
||||
|
||||
#if !defined(LV2_BUF_SIZE__nominalBlockLength)
|
||||
#define LV2_BUF_SIZE__nominalBlockLength LV2_BUF_SIZE_PREFIX "nominalBlockLength"
|
||||
#endif
|
||||
|
||||
// The "ll-plugin" package includes math functions that appear as plugins
|
||||
// and the best way to exclude them is by their class URI.
|
||||
#define LL_NAMESPACE "http://ll-plugins.nongnu.org/lv2/namespace#"
|
||||
#define LL_MATH_CONSTANTS LL_NAMESPACE "MathConstantPlugin"
|
||||
#define LL_MATH_FUNCTIONS LL_NAMESPACE "MathFunctionPlugin"
|
||||
|
||||
// Define the list of URIs that need an LilvNode created
|
||||
#undef NODE
|
||||
#define NODE(n, u)
|
||||
|
||||
#undef NODELIST
|
||||
#define NODELIST \
|
||||
NODE( AtomPort, LV2_ATOM__AtomPort ) \
|
||||
NODE( MaxBlockLength, LV2_BUF_SIZE__maxBlockLength ) \
|
||||
NODE( MinBlockLength, LV2_BUF_SIZE__minBlockLength ) \
|
||||
NODE( AudioPort, LV2_CORE__AudioPort ) \
|
||||
NODE( ControlPort, LV2_CORE__ControlPort ) \
|
||||
NODE( CVPort, LV2_CORE__CVPort ) \
|
||||
NODE( Designation, LV2_CORE__designation ) \
|
||||
NODE( InputPort, LV2_CORE__InputPort ) \
|
||||
NODE( InstrumentPlugin, LV2_CORE__InstrumentPlugin ) \
|
||||
NODE( MIDIPlugin, LV2_CORE__MIDIPlugin ) \
|
||||
NODE( OutputPort, LV2_CORE__OutputPort ) \
|
||||
NODE( Control, LV2_CORE__control ) \
|
||||
NODE( Enumeration, LV2_CORE__enumeration ) \
|
||||
NODE( Integer, LV2_CORE__integer ) \
|
||||
NODE( Name, LV2_CORE__name ) \
|
||||
NODE( OptionalFeature, LV2_CORE__optionalFeature ) \
|
||||
NODE( RequiredFeature, LV2_CORE__requiredFeature ) \
|
||||
NODE( SampleRate, LV2_CORE__sampleRate ) \
|
||||
NODE( Toggled, LV2_CORE__toggled ) \
|
||||
NODE( ExternalUI, LV2_EXTERNAL_UI__Widget ) \
|
||||
NODE( ExternalUIOld, LV2_EXTERNAL_UI_DEPRECATED_URI ) \
|
||||
NODE( MidiEvent, LV2_MIDI__MidiEvent ) \
|
||||
NODE( SupportedOption, LV2_OPTIONS__supportedOption ) \
|
||||
NODE( RequiredOption, LV2_OPTIONS__requiredOption ) \
|
||||
NODE( Group, LV2_PORT_GROUPS__group ) \
|
||||
NODE( Logarithmic, LV2_PORT_PROPS__logarithmic ) \
|
||||
NODE( Trigger, LV2_PORT_PROPS__trigger ) \
|
||||
NODE( Preset, LV2_PRESETS__Preset ) \
|
||||
NODE( MinimumSize, LV2_RESIZE_PORT__minimumSize ) \
|
||||
NODE( Position, LV2_TIME__Position ) \
|
||||
NODE( Gtk, LV2_UI__GtkUI ) \
|
||||
NODE( Gtk3, LV2_UI__Gtk3UI ) \
|
||||
NODE( Unit, LV2_UNITS__unit ) \
|
||||
NODE( Comment, LILV_NS_RDFS "comment" ) \
|
||||
NODE( Label, LILV_NS_RDFS "label" ) \
|
||||
NODE( MathConstants, LL_MATH_CONSTANTS ) \
|
||||
NODE( MathFunctions, LL_MATH_FUNCTIONS )
|
||||
|
||||
// Define the list of URIs that need a URID registered
|
||||
#undef URID
|
||||
#define URID(n, u)
|
||||
|
||||
#undef URIDLIST
|
||||
#define URIDLIST \
|
||||
URID( Blank, LV2_ATOM__Blank ) \
|
||||
URID( Bool, LV2_ATOM__Bool ) \
|
||||
URID( Chunk, LV2_ATOM__Chunk ) \
|
||||
URID( Double, LV2_ATOM__Double ) \
|
||||
URID( Float, LV2_ATOM__Float ) \
|
||||
URID( Int, LV2_ATOM__Int ) \
|
||||
URID( Literal, LV2_ATOM__Literal ) \
|
||||
URID( Long, LV2_ATOM__Long ) \
|
||||
URID( Object, LV2_ATOM__Object ) \
|
||||
URID( Path, LV2_ATOM__Path ) \
|
||||
URID( Property, LV2_ATOM__Property ) \
|
||||
URID( Resource, LV2_ATOM__Resource ) \
|
||||
URID( Sequence, LV2_ATOM__Sequence ) \
|
||||
URID( String, LV2_ATOM__String ) \
|
||||
URID( Tuple, LV2_ATOM__Tuple ) \
|
||||
URID( Uri, LV2_ATOM__URI ) \
|
||||
URID( Urid, LV2_ATOM__URID ) \
|
||||
URID( Vector, LV2_ATOM__Vector ) \
|
||||
URID( EventTransfer, LV2_ATOM__eventTransfer ) \
|
||||
URID( AtomSupports, LV2_ATOM__supports ) \
|
||||
URID( MaxBlockLength, LV2_BUF_SIZE__maxBlockLength ) \
|
||||
URID( MinBlockLength, LV2_BUF_SIZE__minBlockLength ) \
|
||||
URID( NominalBlockLength, LV2_BUF_SIZE__nominalBlockLength ) \
|
||||
URID( SequenceSize, LV2_BUF_SIZE__sequenceSize ) \
|
||||
URID( InstrumentPlugin, LV2_CORE__InstrumentPlugin ) \
|
||||
URID( MIDIPlugin, LV2_CORE__MIDIPlugin ) \
|
||||
URID( Toggled, LV2_CORE__toggled ) \
|
||||
URID( ExternalUI, LV2_EXTERNAL_UI__Widget ) \
|
||||
URID( ExternalUIOld, LV2_EXTERNAL_UI_DEPRECATED_URI ) \
|
||||
URID( Error, LV2_LOG__Error ) \
|
||||
URID( Note, LV2_LOG__Note ) \
|
||||
URID( Trace, LV2_LOG__Trace ) \
|
||||
URID( Warning, LV2_LOG__Warning ) \
|
||||
URID( MidiEvent, LV2_MIDI__MidiEvent ) \
|
||||
URID( RequiredOption, LV2_OPTIONS__requiredOption ) \
|
||||
URID( SampleRate, LV2_PARAMETERS__sampleRate ) \
|
||||
URID( RangeSteps, LV2_PORT_PROPS__rangeSteps ) \
|
||||
URID( NotOnGUI, LV2_PORT_PROPS__notOnGUI ) \
|
||||
URID( Expensive, LV2_PORT_PROPS__expensive ) \
|
||||
URID( CausesArtifacts, LV2_PORT_PROPS__causesArtifacts ) \
|
||||
URID( NotAutomatic, LV2_PORT_PROPS__notAutomatic ) \
|
||||
URID( Position, LV2_TIME__Position ) \
|
||||
URID( Speed, LV2_TIME__speed ) \
|
||||
URID( Frame, LV2_TIME__frame )
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
120
src/effects/lv2/NativeWindow.h
Executable file
120
src/effects/lv2/NativeWindow.h
Executable file
@ -0,0 +1,120 @@
|
||||
/**********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
NativeWindow.h
|
||||
|
||||
Audacity(R) is copyright (c) 1999-2008 Audacity Team.
|
||||
License: GPL v2. See License.txt.
|
||||
|
||||
NOTE: Mostly copied from wxWidgets 3.1.1
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#ifndef NATIVEWINDOW_H
|
||||
#define NATIVEWINDOW_H
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include <wx/msw/private.h>
|
||||
#elif defined(__WXMAC__)
|
||||
#include <wx/osx/private.h>
|
||||
#elif defined(__WXGTK__)
|
||||
#include <gtk/gtk.h>
|
||||
#endif
|
||||
|
||||
class NativeWindow : public wxWindow
|
||||
{
|
||||
public:
|
||||
NativeWindow()
|
||||
{
|
||||
}
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
|
||||
virtual ~NativeWindow()
|
||||
{
|
||||
UnsubclassWin();
|
||||
}
|
||||
|
||||
bool Create(wxWindow* parent, WXWidget hwnd)
|
||||
{
|
||||
const wxRect r = wxRectFromRECT(wxGetWindowRect((HWND)hwnd));
|
||||
|
||||
// Skip wxWindow::Create() which would try to create a new HWND, we don't
|
||||
// want this as we already have one.
|
||||
if (!CreateBase(parent,
|
||||
wxID_ANY,
|
||||
r.GetPosition(),
|
||||
r.GetSize(),
|
||||
0,
|
||||
wxDefaultValidator,
|
||||
wxS("nativewindow")))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
parent->AddChild(this);
|
||||
|
||||
SubclassWin(hwnd);
|
||||
|
||||
|
||||
InheritAttributes();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#elif defined(__WXMAC__)
|
||||
|
||||
virtual ~NativeWindow()
|
||||
{
|
||||
GetPeer()->RemoveFromParent();
|
||||
m_peer = NULL;
|
||||
}
|
||||
|
||||
bool Create(wxWindow* parent, WXWidget view)
|
||||
{
|
||||
DontCreatePeer();
|
||||
|
||||
if (!wxWindow::Create(parent, wxID_ANY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
SetPeer(new wxWidgetCocoaImpl(this, view));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#elif defined(__WXGTK__)
|
||||
|
||||
virtual ~NativeWindow()
|
||||
{
|
||||
}
|
||||
|
||||
bool Create(wxWindow* parent, WXWidget widget)
|
||||
{
|
||||
if (!CreateBase(parent, wxID_ANY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
m_widget = widget;
|
||||
g_object_ref(m_widget);
|
||||
|
||||
parent->DoAddChild(this);
|
||||
|
||||
PostCreation();
|
||||
|
||||
// Ensure that the best (and minimal) size is set to fully display the
|
||||
// widget.
|
||||
GtkRequisition req;
|
||||
gtk_widget_size_request(widget, &req);
|
||||
SetInitialSize(wxSize(req.width, req.height));
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
109
src/effects/lv2/lv2_external_ui.h
Executable file
109
src/effects/lv2/lv2_external_ui.h
Executable file
@ -0,0 +1,109 @@
|
||||
/*
|
||||
LV2 External UI extension
|
||||
This work is in public domain.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
If you have questions, contact Filipe Coelho (aka falkTX) <falktx@falktx.com>
|
||||
or ask in #lad channel, FreeNode IRC network.
|
||||
*/
|
||||
|
||||
/**
|
||||
@file lv2_external_ui.h
|
||||
C header for the LV2 External UI extension <http://kxstudio.sf.net/ns/lv2ext/external-ui>.
|
||||
*/
|
||||
|
||||
#ifndef LV2_EXTERNAL_UI_H
|
||||
#define LV2_EXTERNAL_UI_H
|
||||
|
||||
#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"
|
||||
|
||||
#define LV2_EXTERNAL_UI_URI "http://kxstudio.sf.net/ns/lv2ext/external-ui"
|
||||
#define LV2_EXTERNAL_UI_PREFIX LV2_EXTERNAL_UI_URI "#"
|
||||
|
||||
#define LV2_EXTERNAL_UI__Host LV2_EXTERNAL_UI_PREFIX "Host"
|
||||
#define LV2_EXTERNAL_UI__Widget LV2_EXTERNAL_UI_PREFIX "Widget"
|
||||
|
||||
/** This extension used to be defined by a lv2plug.in URI */
|
||||
#define LV2_EXTERNAL_UI_DEPRECATED_URI "http://lv2plug.in/ns/extensions/ui#external"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* When LV2_EXTERNAL_UI__Widget UI is instantiated, the returned
|
||||
* LV2UI_Widget handle must be cast to pointer to LV2_External_UI_Widget.
|
||||
* UI is created in invisible state.
|
||||
*/
|
||||
typedef struct _LV2_External_UI_Widget {
|
||||
/**
|
||||
* Host calls this function regulary. UI library implementing the
|
||||
* callback may do IPC or redraw the UI.
|
||||
*
|
||||
* @param _this_ the UI context
|
||||
*/
|
||||
void (*run)(struct _LV2_External_UI_Widget * _this_);
|
||||
|
||||
/**
|
||||
* Host calls this function to make the plugin UI visible.
|
||||
*
|
||||
* @param _this_ the UI context
|
||||
*/
|
||||
void (*show)(struct _LV2_External_UI_Widget * _this_);
|
||||
|
||||
/**
|
||||
* Host calls this function to make the plugin UI invisible again.
|
||||
*
|
||||
* @param _this_ the UI context
|
||||
*/
|
||||
void (*hide)(struct _LV2_External_UI_Widget * _this_);
|
||||
|
||||
} LV2_External_UI_Widget;
|
||||
|
||||
#define LV2_EXTERNAL_UI_RUN(ptr) (ptr)->run(ptr)
|
||||
#define LV2_EXTERNAL_UI_SHOW(ptr) (ptr)->show(ptr)
|
||||
#define LV2_EXTERNAL_UI_HIDE(ptr) (ptr)->hide(ptr)
|
||||
|
||||
/**
|
||||
* On UI instantiation, host must supply LV2_EXTERNAL_UI__Host feature.
|
||||
* LV2_Feature::data must be pointer to LV2_External_UI_Host.
|
||||
*/
|
||||
typedef struct _LV2_External_UI_Host {
|
||||
/**
|
||||
* Callback that plugin UI will call when UI (GUI window) is closed by user.
|
||||
* This callback will be called during execution of LV2_External_UI_Widget::run()
|
||||
* (i.e. not from background thread).
|
||||
*
|
||||
* After this callback is called, UI is defunct. Host must call LV2UI_Descriptor::cleanup().
|
||||
* If host wants to make the UI visible again, the UI must be reinstantiated.
|
||||
*
|
||||
* @note When using the depreated URI LV2_EXTERNAL_UI_DEPRECATED_URI,
|
||||
* some hosts will not call LV2UI_Descriptor::cleanup() as they should,
|
||||
* and may call show() again without re-initialization.
|
||||
*
|
||||
* @param controller Host context associated with plugin UI, as
|
||||
* supplied to LV2UI_Descriptor::instantiate().
|
||||
*/
|
||||
void (*ui_closed)(LV2UI_Controller controller);
|
||||
|
||||
/**
|
||||
* Optional (may be NULL) "user friendly" identifier which the UI
|
||||
* may display to allow a user to easily associate this particular
|
||||
* UI instance with the correct plugin instance as it is represented
|
||||
* by the host (e.g. "track 1" or "channel 4").
|
||||
*
|
||||
* If supplied by host, the string will be referenced only during
|
||||
* LV2UI_Descriptor::instantiate()
|
||||
*/
|
||||
const char * plugin_human_id;
|
||||
|
||||
} LV2_External_UI_Host;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* LV2_EXTERNAL_UI_H */
|
@ -1,38 +0,0 @@
|
||||
// Ubuntu (and probably others) do not ship this file
|
||||
// and we need it to embed the LV2 GUIs into a wxWindow.
|
||||
|
||||
/* ///////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/private/win_gtk.h
|
||||
// Purpose: native GTK+ widget for wxWindow
|
||||
// Author: Robert Roebling
|
||||
// Copyright: (c) 1998 Robert Roebling
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////// */
|
||||
|
||||
#ifndef _WX_GTK_PIZZA_H_
|
||||
#define _WX_GTK_PIZZA_H_
|
||||
|
||||
#define WX_PIZZA(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, wxPizza::type(), wxPizza)
|
||||
#define WX_IS_PIZZA(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, wxPizza::type())
|
||||
|
||||
struct WXDLLIMPEXP_CORE wxPizza
|
||||
{
|
||||
// borders styles which can be used with wxPizza
|
||||
enum { BORDER_STYLES =
|
||||
wxBORDER_SIMPLE | wxBORDER_RAISED | wxBORDER_SUNKEN | wxBORDER_THEME };
|
||||
|
||||
static GtkWidget* New(long windowStyle = 0);
|
||||
static GType type();
|
||||
void move(GtkWidget* widget, int x, int y, int width, int height);
|
||||
void put(GtkWidget* widget, int x, int y, int width, int height);
|
||||
void scroll(int dx, int dy);
|
||||
void get_border(GtkBorder& border);
|
||||
|
||||
GtkFixed m_fixed;
|
||||
GList* m_children;
|
||||
int m_scroll_x;
|
||||
int m_scroll_y;
|
||||
int m_windowStyle;
|
||||
};
|
||||
|
||||
#endif // _WX_GTK_PIZZA_H_
|
103
src/effects/lv2/zix/common.h
Executable file
103
src/effects/lv2/zix/common.h
Executable file
@ -0,0 +1,103 @@
|
||||
/*
|
||||
Copyright 2011 David Robillard <http://drobilla.net>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef ZIX_COMMON_H
|
||||
#define ZIX_COMMON_H
|
||||
|
||||
/**
|
||||
@addtogroup zix
|
||||
@{
|
||||
*/
|
||||
|
||||
/** @cond */
|
||||
#ifdef ZIX_SHARED
|
||||
# ifdef _WIN32
|
||||
# define ZIX_LIB_IMPORT __declspec(dllimport)
|
||||
# define ZIX_LIB_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define ZIX_LIB_IMPORT __attribute__((visibility("default")))
|
||||
# define ZIX_LIB_EXPORT __attribute__((visibility("default")))
|
||||
# endif
|
||||
# ifdef ZIX_INTERNAL
|
||||
# define ZIX_API ZIX_LIB_EXPORT
|
||||
# else
|
||||
# define ZIX_API ZIX_LIB_IMPORT
|
||||
# endif
|
||||
# define ZIX_PRIVATE static
|
||||
#elif defined(ZIX_INLINE)
|
||||
# define ZIX_API static inline
|
||||
# define ZIX_PRIVATE static inline
|
||||
#else
|
||||
# define ZIX_API
|
||||
# define ZIX_PRIVATE static
|
||||
#endif
|
||||
/** @endcond */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#else
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
ZIX_STATUS_SUCCESS,
|
||||
ZIX_STATUS_ERROR,
|
||||
ZIX_STATUS_NO_MEM,
|
||||
ZIX_STATUS_NOT_FOUND,
|
||||
ZIX_STATUS_EXISTS,
|
||||
ZIX_STATUS_BAD_ARG,
|
||||
ZIX_STATUS_BAD_PERMS,
|
||||
} ZixStatus;
|
||||
|
||||
static inline const char*
|
||||
zix_strerror(const ZixStatus status)
|
||||
{
|
||||
switch (status) {
|
||||
case ZIX_STATUS_SUCCESS: return "Success";
|
||||
case ZIX_STATUS_ERROR: return "Unknown error";
|
||||
case ZIX_STATUS_NO_MEM: return "Out of memory";
|
||||
case ZIX_STATUS_NOT_FOUND: return "Not found";
|
||||
case ZIX_STATUS_EXISTS: return "Exists";
|
||||
case ZIX_STATUS_BAD_ARG: return "Bad argument";
|
||||
case ZIX_STATUS_BAD_PERMS: return "Bad permissions";
|
||||
}
|
||||
return "Unknown error";
|
||||
}
|
||||
|
||||
/**
|
||||
Function for comparing two elements.
|
||||
*/
|
||||
typedef int (*ZixComparator)(const void* a, const void* b, void* user_data);
|
||||
|
||||
/**
|
||||
Function for testing equality of two elements.
|
||||
*/
|
||||
typedef bool (*ZixEqualFunc)(const void* a, const void* b);
|
||||
|
||||
/**
|
||||
Function to destroy an element.
|
||||
*/
|
||||
typedef void (*ZixDestroyFunc)(void* ptr);
|
||||
|
||||
/**
|
||||
@}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* ZIX_COMMON_H */
|
222
src/effects/lv2/zix/ring.cpp
Executable file
222
src/effects/lv2/zix/ring.cpp
Executable file
@ -0,0 +1,222 @@
|
||||
/*
|
||||
Copyright 2011 David Robillard <http://drobilla.net>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef HAVE_MLOCK
|
||||
# include <sys/mman.h>
|
||||
# define ZIX_MLOCK(ptr, size) mlock((ptr), (size))
|
||||
#elif defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# define ZIX_MLOCK(ptr, size) VirtualLock((ptr), (size))
|
||||
#else
|
||||
# pragma message("warning: No memory locking, possible RT violations")
|
||||
# define ZIX_MLOCK(ptr, size)
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
# include <libkern/OSAtomic.h>
|
||||
# define ZIX_FULL_BARRIER() OSMemoryBarrier()
|
||||
#elif defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# define ZIX_FULL_BARRIER() MemoryBarrier()
|
||||
#elif (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
|
||||
# define ZIX_FULL_BARRIER() __sync_synchronize()
|
||||
#else
|
||||
# pragma message("warning: No memory barriers, possible SMP bugs")
|
||||
# define ZIX_FULL_BARRIER()
|
||||
#endif
|
||||
|
||||
/* No support for any systems with separate read and write barriers */
|
||||
#define ZIX_READ_BARRIER() ZIX_FULL_BARRIER()
|
||||
#define ZIX_WRITE_BARRIER() ZIX_FULL_BARRIER()
|
||||
|
||||
#include "ring.h"
|
||||
|
||||
struct ZixRingImpl {
|
||||
uint32_t write_head; ///< Read index into buf
|
||||
uint32_t read_head; ///< Write index into buf
|
||||
uint32_t size; ///< Size (capacity) in bytes
|
||||
uint32_t size_mask; ///< Mask for fast modulo
|
||||
char* buf; ///< Contents
|
||||
};
|
||||
|
||||
static inline uint32_t
|
||||
next_power_of_two(uint32_t size)
|
||||
{
|
||||
// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||
size--;
|
||||
size |= size >> 1;
|
||||
size |= size >> 2;
|
||||
size |= size >> 4;
|
||||
size |= size >> 8;
|
||||
size |= size >> 16;
|
||||
size++;
|
||||
return size;
|
||||
}
|
||||
|
||||
ZixRing*
|
||||
zix_ring_new(uint32_t size)
|
||||
{
|
||||
ZixRing* ring = (ZixRing*)malloc(sizeof(ZixRing));
|
||||
ring->write_head = 0;
|
||||
ring->read_head = 0;
|
||||
ring->size = next_power_of_two(size);
|
||||
ring->size_mask = ring->size - 1;
|
||||
ring->buf = (char*)malloc(ring->size);
|
||||
return ring;
|
||||
}
|
||||
|
||||
void
|
||||
zix_ring_free(ZixRing* ring)
|
||||
{
|
||||
free(ring->buf);
|
||||
free(ring);
|
||||
}
|
||||
|
||||
void
|
||||
zix_ring_mlock(ZixRing* ring)
|
||||
{
|
||||
ZIX_MLOCK(ring, sizeof(ZixRing));
|
||||
ZIX_MLOCK(ring->buf, ring->size);
|
||||
}
|
||||
|
||||
void
|
||||
zix_ring_reset(ZixRing* ring)
|
||||
{
|
||||
ring->write_head = 0;
|
||||
ring->read_head = 0;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
read_space_internal(const ZixRing* ring, uint32_t r, uint32_t w)
|
||||
{
|
||||
if (r < w) {
|
||||
return w - r;
|
||||
} else {
|
||||
return (w - r + ring->size) & ring->size_mask;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_read_space(const ZixRing* ring)
|
||||
{
|
||||
return read_space_internal(ring, ring->read_head, ring->write_head);
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
write_space_internal(const ZixRing* ring, uint32_t r, uint32_t w)
|
||||
{
|
||||
if (r == w) {
|
||||
return ring->size - 1;
|
||||
} else if (r < w) {
|
||||
return ((r - w + ring->size) & ring->size_mask) - 1;
|
||||
} else {
|
||||
return (r - w) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_write_space(const ZixRing* ring)
|
||||
{
|
||||
return write_space_internal(ring, ring->read_head, ring->write_head);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_capacity(const ZixRing* ring)
|
||||
{
|
||||
return ring->size - 1;
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
peek_internal(const ZixRing* ring, uint32_t r, uint32_t w,
|
||||
uint32_t size, void* dst)
|
||||
{
|
||||
if (read_space_internal(ring, r, w) < size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (r + size < ring->size) {
|
||||
memcpy(dst, &ring->buf[r], size);
|
||||
} else {
|
||||
const uint32_t first_size = ring->size - r;
|
||||
memcpy(dst, &ring->buf[r], first_size);
|
||||
memcpy((char*)dst + first_size, &ring->buf[0], size - first_size);
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_peek(ZixRing* ring, void* dst, uint32_t size)
|
||||
{
|
||||
return peek_internal(ring, ring->read_head, ring->write_head, size, dst);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_read(ZixRing* ring, void* dst, uint32_t size)
|
||||
{
|
||||
const uint32_t r = ring->read_head;
|
||||
const uint32_t w = ring->write_head;
|
||||
|
||||
if (peek_internal(ring, r, w, size, dst)) {
|
||||
ZIX_READ_BARRIER();
|
||||
ring->read_head = (r + size) & ring->size_mask;
|
||||
return size;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_skip(ZixRing* ring, uint32_t size)
|
||||
{
|
||||
const uint32_t r = ring->read_head;
|
||||
const uint32_t w = ring->write_head;
|
||||
if (read_space_internal(ring, r, w) < size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ZIX_READ_BARRIER();
|
||||
ring->read_head = (r + size) & ring->size_mask;
|
||||
return size;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
zix_ring_write(ZixRing* ring, const void* src, uint32_t size)
|
||||
{
|
||||
const uint32_t r = ring->read_head;
|
||||
const uint32_t w = ring->write_head;
|
||||
if (write_space_internal(ring, r, w) < size) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (w + size <= ring->size) {
|
||||
memcpy(&ring->buf[w], src, size);
|
||||
ZIX_WRITE_BARRIER();
|
||||
ring->write_head = (w + size) & ring->size_mask;
|
||||
} else {
|
||||
const uint32_t this_size = ring->size - w;
|
||||
memcpy(&ring->buf[w], src, this_size);
|
||||
memcpy(&ring->buf[0], (const char*)src + this_size, size - this_size);
|
||||
ZIX_WRITE_BARRIER();
|
||||
ring->write_head = size - this_size;
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
130
src/effects/lv2/zix/ring.h
Executable file
130
src/effects/lv2/zix/ring.h
Executable file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
Copyright 2011-2014 David Robillard <http://drobilla.net>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef ZIX_RING_H
|
||||
#define ZIX_RING_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
@addtogroup zix
|
||||
@{
|
||||
@name Ring
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
A lock-free ring buffer.
|
||||
|
||||
Thread-safe with a single reader and single writer, and realtime safe
|
||||
on both ends.
|
||||
*/
|
||||
typedef struct ZixRingImpl ZixRing;
|
||||
|
||||
/**
|
||||
Create a new ring.
|
||||
@param size Size in bytes (note this may be rounded up).
|
||||
|
||||
At most `size` - 1 bytes may be stored in the ring at once.
|
||||
*/
|
||||
ZixRing*
|
||||
zix_ring_new(uint32_t size);
|
||||
|
||||
/**
|
||||
Destroy a ring.
|
||||
*/
|
||||
void
|
||||
zix_ring_free(ZixRing* ring);
|
||||
|
||||
/**
|
||||
Lock the ring data into physical memory.
|
||||
|
||||
This function is NOT thread safe or real-time safe, but it should be called
|
||||
after zix_ring_new() to lock all ring memory to avoid page faults while
|
||||
using the ring (i.e. this function MUST be called first in order for the
|
||||
ring to be truly real-time safe).
|
||||
|
||||
*/
|
||||
void
|
||||
zix_ring_mlock(ZixRing* ring);
|
||||
|
||||
/**
|
||||
Reset (empty) a ring.
|
||||
|
||||
This function is NOT thread-safe, it may only be called when there are no
|
||||
readers or writers.
|
||||
*/
|
||||
void
|
||||
zix_ring_reset(ZixRing* ring);
|
||||
|
||||
/**
|
||||
Return the number of bytes of space available for reading.
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_read_space(const ZixRing* ring);
|
||||
|
||||
/**
|
||||
Return the number of bytes of space available for writing.
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_write_space(const ZixRing* ring);
|
||||
|
||||
/**
|
||||
Return the capacity (i.e. total write space when empty).
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_capacity(const ZixRing* ring);
|
||||
|
||||
/**
|
||||
Read from the ring without advancing the read head.
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_peek(ZixRing* ring, void* dst, uint32_t size);
|
||||
|
||||
/**
|
||||
Read from the ring and advance the read head.
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_read(ZixRing* ring, void* dst, uint32_t size);
|
||||
|
||||
/**
|
||||
Skip data in the ring (advance read head without reading).
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_skip(ZixRing* ring, uint32_t size);
|
||||
|
||||
/**
|
||||
Write data to the ring.
|
||||
*/
|
||||
uint32_t
|
||||
zix_ring_write(ZixRing* ring, const void* src, uint32_t size);
|
||||
|
||||
/**
|
||||
@}
|
||||
@}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* ZIX_RING_H */
|
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -165,7 +165,9 @@ am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
|
||||
depcomp = $(SHELL) $(top_srcdir)/autotools/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__maybe_remake_depfiles = depfiles
|
||||
am__depfiles_remade = ./$(DEPDIR)/SequenceTest-SequenceTest.Po \
|
||||
./$(DEPDIR)/SimpleBlockFileTest-SimpleBlockFileTest.Po
|
||||
am__mv = mv -f
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
@ -616,7 +618,6 @@ pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
@ -666,8 +667,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -702,8 +703,14 @@ mostlyclean-compile:
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequenceTest-SequenceTest.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SimpleBlockFileTest-SimpleBlockFileTest.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SequenceTest-SequenceTest.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SimpleBlockFileTest-SimpleBlockFileTest.Po@am__quote@ # am--include-marker
|
||||
|
||||
$(am__depfiles_remade):
|
||||
@$(MKDIR_P) $(@D)
|
||||
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||
|
||||
am--depfiles: $(am__depfiles_remade)
|
||||
|
||||
.cpp.o:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@ -935,7 +942,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
|
||||
fi; \
|
||||
$$success || exit 1
|
||||
|
||||
check-TESTS:
|
||||
check-TESTS: $(check_PROGRAMS)
|
||||
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
|
||||
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
|
||||
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
||||
@ -985,7 +992,10 @@ SimpleBlockFileTest.log: SimpleBlockFileTest$(EXEEXT)
|
||||
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
|
||||
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
@ -1060,7 +1070,8 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f ./$(DEPDIR)/SequenceTest-SequenceTest.Po
|
||||
-rm -f ./$(DEPDIR)/SimpleBlockFileTest-SimpleBlockFileTest.Po
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
@ -1106,7 +1117,8 @@ install-ps-am:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f ./$(DEPDIR)/SequenceTest-SequenceTest.Po
|
||||
-rm -f ./$(DEPDIR)/SimpleBlockFileTest-SimpleBlockFileTest.Po
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
@ -1127,16 +1139,16 @@ uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
|
||||
clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
|
||||
check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
|
||||
cscopelist-am ctags ctags-am distclean distclean-compile \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
recheck tags tags-am uninstall uninstall-am
|
||||
|
@ -55,7 +55,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>$(WXWIN)\lib\vc_dll\mswu;$(WXWIN)\include;..\..;..\..\..\include;..\..\..\src;..\..\..\lib-src\expat\lib;..\..\..\lib-src\FileDialog;..\..\..\lib-src\FileDialog\win;..\..\..\lib-src\ffmpeg\win32;..\..\..\lib-src\ffmpeg;..\..\..\lib-src\lib-widget-extra;..\..\..\lib-src\libflac\include;..\..\..\lib-src\libid3tag;..\..\..\lib-src\libmad\msvc++;..\..\..\lib-src\libmad;..\..\..\lib-src\libnyquist;..\..\..\lib-src\libogg\include;..\..\..\lib-src\libscorealign;..\libsndfile;..\..\..\lib-src\libsoxr\src;..\..\..\lib-src\libvamp;..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portsmf;..\..\..\lib-src\sbsms\include;..\..\..\lib-src\soundtouch\include;..\..\..\lib-src\twolame\libtwolame;..\..\..\lib-src\portmidi\pm_common;..\..\..\lib-src\portmidi\pm_win;..\..\..\lib-src\portmidi\porttime;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\suil;..\..\..\lib-src\lame;$(GSTREAMER_SDK)\include\gstreamer-1.0;$(GSTREAMER_SDK)\include\glib-2.0;$(GSTREAMER_SDK)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(WXWIN)\lib\vc_dll\mswu;$(WXWIN)\include;..\..;..\..\..\include;..\..\..\src;..\..\..\lib-src\expat\lib;..\..\..\lib-src\FileDialog;..\..\..\lib-src\FileDialog\win;..\..\..\lib-src\ffmpeg\win32;..\..\..\lib-src\ffmpeg;..\..\..\lib-src\lib-widget-extra;..\..\..\lib-src\libflac\include;..\..\..\lib-src\libid3tag;..\..\..\lib-src\libmad\msvc++;..\..\..\lib-src\libmad;..\..\..\lib-src\libnyquist;..\..\..\lib-src\libogg\include;..\..\..\lib-src\libscorealign;..\libsndfile;..\..\..\lib-src\libsoxr\src;..\..\..\lib-src\libvamp;..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portsmf;..\..\..\lib-src\sbsms\include;..\..\..\lib-src\soundtouch\include;..\..\..\lib-src\twolame\libtwolame;..\..\..\lib-src\portmidi\pm_common;..\..\..\lib-src\portmidi\pm_win;..\..\..\lib-src\portmidi\porttime;$(OutDir)\include;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\suil;..\..\..\lib-src\lame;$(GSTREAMER_SDK)\include\gstreamer-1.0;$(GSTREAMER_SDK)\include\glib-2.0;$(GSTREAMER_SDK)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>BUILDING_AUDACITY;FLAC__NO_DLL;XML_STATIC;__STDC_CONSTANT_MACROS;WXINTL_NO_GETTEXT_MACRO;WXUSINGDLL;__WXMSW__;wxDEBUG_LEVEL=0;NDEBUG;WIN32;STRICT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@ -86,7 +86,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(WXWIN)\lib\vc_dll\mswud;$(WXWIN)\include;..\..;..\..\..\include;..\..\..\src;..\..\..\lib-src\expat\lib;..\..\..\lib-src\FileDialog;..\..\..\lib-src\FileDialog\win;..\..\..\lib-src\ffmpeg\win32;..\..\..\lib-src\ffmpeg;..\..\..\lib-src\lib-widget-extra;..\..\..\lib-src\libflac\include;..\..\..\lib-src\libid3tag;..\..\..\lib-src\libmad\msvc++;..\..\..\lib-src\libmad;..\..\..\lib-src\libnyquist;..\..\..\lib-src\libogg\include;..\..\..\lib-src\libscorealign;..\libsndfile;..\..\..\lib-src\libsoxr\src;..\..\..\lib-src\libvamp;..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portsmf;..\..\..\lib-src\sbsms\include;..\..\..\lib-src\soundtouch\include;..\..\..\lib-src\twolame\libtwolame;..\..\..\lib-src\portmidi\pm_common;..\..\..\lib-src\portmidi\pm_win;..\..\..\lib-src\portmidi\porttime;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\suil;..\..\..\lib-src\lame;$(GSTREAMER_SDK)\include\gstreamer-1.0;$(GSTREAMER_SDK)\include\glib-2.0;$(GSTREAMER_SDK)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(WXWIN)\lib\vc_dll\mswud;$(WXWIN)\include;..\..;..\..\..\include;..\..\..\src;..\..\..\lib-src\expat\lib;..\..\..\lib-src\FileDialog;..\..\..\lib-src\FileDialog\win;..\..\..\lib-src\ffmpeg\win32;..\..\..\lib-src\ffmpeg;..\..\..\lib-src\lib-widget-extra;..\..\..\lib-src\libflac\include;..\..\..\lib-src\libid3tag;..\..\..\lib-src\libmad\msvc++;..\..\..\lib-src\libmad;..\..\..\lib-src\libnyquist;..\..\..\lib-src\libogg\include;..\..\..\lib-src\libscorealign;..\libsndfile;..\..\..\lib-src\libsoxr\src;..\..\..\lib-src\libvamp;..\..\..\lib-src\libvorbis\include;..\..\..\lib-src\portaudio-v19\include;..\..\..\lib-src\portmixer\include;..\..\..\lib-src\portsmf;..\..\..\lib-src\sbsms\include;..\..\..\lib-src\soundtouch\include;..\..\..\lib-src\twolame\libtwolame;..\..\..\lib-src\portmidi\pm_common;..\..\..\lib-src\portmidi\pm_win;..\..\..\lib-src\portmidi\porttime;$(OutDir)\include;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\suil;..\..\..\lib-src\lame;$(GSTREAMER_SDK)\include\gstreamer-1.0;$(GSTREAMER_SDK)\include\glib-2.0;$(GSTREAMER_SDK)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>BUILDING_AUDACITY;FLAC__NO_DLL;XML_STATIC;__STDC_CONSTANT_MACROS;WXINTL_NO_GETTEXT_MACRO;WXUSINGDLL;__WXMSW__;__WXDEBUG__;_DEBUG;WIN32;STRICT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -162,6 +162,7 @@
|
||||
<ClCompile Include="..\..\..\src\effects\Distortion.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\EffectRack.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\Equalization48x.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\lv2\zix\ring.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\NoiseReduction.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\Phaser.cpp" />
|
||||
<ClCompile Include="..\..\..\src\effects\VST\VSTControlMSW.cpp" />
|
||||
@ -561,6 +562,8 @@
|
||||
<ClInclude Include="..\..\..\src\effects\Distortion.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\EffectRack.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\Equalization48x.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\lv2\zix\common.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\lv2\zix\ring.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\NoiseReduction.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\Phaser.h" />
|
||||
<ClInclude Include="..\..\..\src\effects\VST\VSTControlMSW.h" />
|
||||
|
@ -108,6 +108,9 @@
|
||||
<Filter Include="src\menus">
|
||||
<UniqueIdentifier>{86457c18-e1ec-4e2a-9790-f4ceaf6380a3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="src\effects\lv2\zix">
|
||||
<UniqueIdentifier>{fa7108aa-5bf5-4e48-b33a-6af62340e5a1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\src\AboutDialog.cpp">
|
||||
@ -1253,6 +1256,9 @@
|
||||
<ClCompile Include="..\..\..\src\tracks\ui\TrackView.cpp">
|
||||
<Filter>src\tracks\ui</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\src\effects\lv2\zix\ring.cpp">
|
||||
<Filter>src\effects\lv2\zix</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\src\AboutDialog.h">
|
||||
@ -2443,6 +2449,12 @@
|
||||
<ClInclude Include="..\..\..\src\TrackPanelDrawable.h">
|
||||
<Filter>src</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\effects\lv2\zix\common.h">
|
||||
<Filter>src\effects\lv2\zix</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\src\effects\lv2\zix\ring.h">
|
||||
<Filter>src\effects\lv2\zix</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="..\..\audacity.ico">
|
||||
|
0
win/Projects/Audacity/Directory.Build.props
Normal file → Executable file
0
win/Projects/Audacity/Directory.Build.props
Normal file → Executable file
@ -47,11 +47,12 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\lib-src\lv2\windows;..\..\..\lib-src\lv2\sord\src;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\serd;..\..\..\lib-src\lv2\sord;..\..\..\lib-src\lv2\sratom;..\..\..\lib-src\lv2\suil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\lib-src\lv2\windows;..\..\..\lib-src\lv2\include;..\..\..\lib-src\lv2\sord\src;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lilv\src;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\serd;..\..\..\lib-src\lv2\sord;..\..\..\lib-src\lv2\sratom;..\..\..\lib-src\lv2\suil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;$(AudacityConditionalSnprintf);HAVE_FMAX;LILV_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@ -61,11 +62,27 @@
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<PreBuildEvent>
|
||||
<Command>echo "$(OutDir)\include\lv2"
|
||||
ECHO ON
|
||||
IF EXIST "$(OutDir)\include\lv2" GOTO done
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\ext"
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\extensions"
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\lv2core"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2" "$(OutDir)\include\lv2"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\core\lv2.h" "$(OutDir)\include\lv2"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2" "$(OutDir)\include\lv2\lv2plug.in\ns\ext"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\ui\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\extensions\ui"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\units\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\extensions\units"
|
||||
XCOPY /IE "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\core\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\lv2core"
|
||||
:done
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\lib-src\lv2\windows;..\..\..\lib-src\lv2\sord\src;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\serd;..\..\..\lib-src\lv2\sord;..\..\..\lib-src\lv2\sratom;..\..\..\lib-src\lv2\suil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(OutDir)\include;..\..\..\lib-src\lv2\windows;..\..\..\lib-src\lv2\sord\src;..\..\..\lib-src\lv2\lilv;..\..\..\lib-src\lv2\lilv\src;..\..\..\lib-src\lv2\lv2;..\..\..\lib-src\lv2\serd;..\..\..\lib-src\lv2\sord;..\..\..\lib-src\lv2\sratom;..\..\..\lib-src\lv2\suil;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;$(AudacityConditionalSnprintf);HAVE_FMAX;LILV_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -83,16 +100,37 @@
|
||||
<Lib>
|
||||
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
|
||||
</Lib>
|
||||
<PreBuildEvent>
|
||||
<Command>IF EXIST "$(OutDir)\include\lv2" GOTO done
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\ext"
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\extensions"
|
||||
MKDIR "$(OutDir)\include\lv2\lv2plug.in\ns\lv2core"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2" "$(OutDir)\include\lv2"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\core\lv2.h" "$(OutDir)\include"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2" "$(OutDir)\include\lv2\lv2plug.in\ns\ext"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\ui\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\extensions\ui"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\units\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\extensions\units"
|
||||
XCOPY /I /E /Q "$(SolutionDir)\..\lib-src\lv2\lv2\lv2\core\*.h" "$(OutDir)\include\lv2\lv2plug.in\ns\lv2core"
|
||||
:done
|
||||
</Command>
|
||||
<Message>Performing Custom Build Step</Message>
|
||||
</PreBuildEvent>
|
||||
<CustomBuildStep>
|
||||
<Command>RD /S /Q "$(OutDir)/include"</Command>
|
||||
<Outputs>dummy</Outputs>
|
||||
<Message>Performing Custom Clean Step</Message>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\collections.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\collections.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\instance.c">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)\lilv_instance.obj</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)\lilv_instance.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\instance.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\lib.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\node.c">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)lilv-node.obj</ObjectFileName>
|
||||
<XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)lilv-node.obj</XMLDocumentationFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)\lilv_node.obj</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)\lilv_node.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\plugin.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\pluginclass.c" />
|
||||
@ -103,33 +141,78 @@
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\ui.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\util.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\world.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\zix\tree.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\byte_source.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\env.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\n3.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\node.c">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)\serd_node.obj</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)\serd_node.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\reader.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\serdnode.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\serdi.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\string.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\uri.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\writer.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sord.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sordi.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sord_validate.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\syntax.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\btree.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\digest.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\hash.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\tree.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sratom\src\sratom.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\host.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\suil_instance.c" />
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\instance.c">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)\suil_instance.obj</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)\suil_instance.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\lilv\lilv.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\lilv_internal.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\zix\common.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\zix\tree.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\atom.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\forge.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\util.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\buf-size\buf-size.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\attributes.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\lv2.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\lv2_util.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\data-access\data-access.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\dynmanifest\dynmanifest.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\event\event-helpers.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\event\event.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\instance-access\instance-access.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\log\log.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\midi\midi.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\morph\morph.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\options\options.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\parameters\parameters.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\patch\patch.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\port-groups\port-groups.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\port-props\port-props.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\presets\presets.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\resize-port\resize-port.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\state\state.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\time\time.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\ui\ui.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\units\units.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\uri-map\uri-map.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\urid\urid.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\worker\worker.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\serd\serd.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\src\reader.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\src\serd_internal.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\sord\sord.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\sord_internal.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\btree.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\common.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\digest.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\hash.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\tree.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sratom\sratom\sratom.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\suil\src\suil_internal.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\suil\suil\suil.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\windows\lilv_config.h" />
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\windows\serd_config.h" />
|
||||
|
@ -64,8 +64,89 @@
|
||||
<Filter Include="sord\Header Files\zix">
|
||||
<UniqueIdentifier>{aff2e7d6-f42d-4c74-8fcc-afc61eb173e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2">
|
||||
<UniqueIdentifier>{71ea567f-2ee0-48e8-9fd2-0bbeb3ad5793}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers">
|
||||
<UniqueIdentifier>{71dc7ddf-2c35-4c85-a240-fc1727bc2972}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\atom">
|
||||
<UniqueIdentifier>{b50c6bd7-f653-4f29-9cdb-51bffa4ec599}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\buf-size">
|
||||
<UniqueIdentifier>{4ad29d4d-bc79-4024-865d-9628aa9a4a90}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\core">
|
||||
<UniqueIdentifier>{9bfa79df-8c29-4906-9074-68e4d05020ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\data-access">
|
||||
<UniqueIdentifier>{77249059-9994-4c8d-94cf-7009fb706698}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\dynmanifest">
|
||||
<UniqueIdentifier>{cbaf795c-ff65-4836-a7b0-ee3edee1cf0f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\event">
|
||||
<UniqueIdentifier>{3e45f6b0-a278-4e32-9fc5-0e41e07c94c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\instance-access">
|
||||
<UniqueIdentifier>{62b5e770-a1cf-4f94-ae04-efaf851c3228}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\log">
|
||||
<UniqueIdentifier>{e2a699da-e36d-49db-acde-b14ed23134b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\midi">
|
||||
<UniqueIdentifier>{92bfcd2c-9d6e-4ac4-90f6-f49196b43b04}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\morph">
|
||||
<UniqueIdentifier>{ff62d40e-6042-41bd-9180-e7ade240c11d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\options">
|
||||
<UniqueIdentifier>{d658a88d-f3d6-42a3-a0a2-8aada0e62787}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\parameters">
|
||||
<UniqueIdentifier>{f2b769e1-6536-4be2-892a-c4dfc43a74c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\patch">
|
||||
<UniqueIdentifier>{8ffcf542-361f-4d88-9e10-e489b8a34a52}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\port-groups">
|
||||
<UniqueIdentifier>{48107c6a-a9f7-4f53-a838-e56b09ce010f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\port-props">
|
||||
<UniqueIdentifier>{4421b238-9f7b-45ad-9a96-c6963c4d81af}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\presets">
|
||||
<UniqueIdentifier>{b376e2bb-4a92-47d9-85af-bf02aa327854}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\resize-port">
|
||||
<UniqueIdentifier>{98b89324-dd5b-4e96-9ba1-82abb48b1ae4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\state">
|
||||
<UniqueIdentifier>{c39f617d-2530-4143-940f-2152a5869d62}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\time">
|
||||
<UniqueIdentifier>{d63d6499-2cfc-47c8-8f39-778e92dfb738}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\ui">
|
||||
<UniqueIdentifier>{ec7611c0-ecd5-4b1c-83c9-fc14edf76c77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\units">
|
||||
<UniqueIdentifier>{aba9e39f-7c42-4937-b295-a21d4d075067}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\uri-map">
|
||||
<UniqueIdentifier>{5099e59f-7172-43bf-a8b0-e1d4317d927f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\worker">
|
||||
<UniqueIdentifier>{8622d246-048d-453b-9cd5-ffbd14bc044c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="lv2\Headers\urid">
|
||||
<UniqueIdentifier>{57ac3edf-02f0-429e-89c3-26578f0fc119}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\zix\tree.c">
|
||||
<Filter>lilv\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\collections.c">
|
||||
<Filter>lilv\Source Files</Filter>
|
||||
</ClCompile>
|
||||
@ -105,13 +186,19 @@
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\lilv\src\world.c">
|
||||
<Filter>lilv\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\byte_source.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\env.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\n3.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\reader.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\serdnode.c">
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\serdi.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\string.c">
|
||||
@ -123,9 +210,24 @@
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\writer.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\btree.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\digest.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\hash.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sord.c">
|
||||
<Filter>sord\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sord_validate.c">
|
||||
<Filter>sord\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\sordi.c">
|
||||
<Filter>sord\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\syntax.c">
|
||||
<Filter>sord\Source Files</Filter>
|
||||
</ClCompile>
|
||||
@ -135,17 +237,11 @@
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\host.c">
|
||||
<Filter>suil\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\suil_instance.c">
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\suil\src\instance.c">
|
||||
<Filter>suil\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\digest.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\hash.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\sord\src\zix\tree.c">
|
||||
<Filter>sord\Source Files\zix</Filter>
|
||||
<ClCompile Include="..\..\..\lib-src\lv2\serd\src\node.c">
|
||||
<Filter>serd\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -155,24 +251,6 @@
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\lilv_internal.h">
|
||||
<Filter>lilv\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\serd\serd.h">
|
||||
<Filter>serd\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\src\serd_internal.h">
|
||||
<Filter>serd\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\sord\sord.h">
|
||||
<Filter>sord\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\sord_internal.h">
|
||||
<Filter>sord\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sratom\sratom\sratom.h">
|
||||
<Filter>sratom\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\suil\suil\suil.h">
|
||||
<Filter>suil\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\windows\lilv_config.h">
|
||||
<Filter>windows\Header Fiels</Filter>
|
||||
</ClInclude>
|
||||
@ -188,6 +266,21 @@
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\windows\suil_config.h">
|
||||
<Filter>windows\Header Fiels</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\zix\common.h">
|
||||
<Filter>lilv\Header Files\zix</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lilv\src\zix\tree.h">
|
||||
<Filter>lilv\Header Files\zix</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\src\reader.h">
|
||||
<Filter>serd\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\src\serd_internal.h">
|
||||
<Filter>serd\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\btree.h">
|
||||
<Filter>sord\Header Files\zix</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\common.h">
|
||||
<Filter>sord\Header Files\zix</Filter>
|
||||
</ClInclude>
|
||||
@ -197,8 +290,110 @@
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\hash.h">
|
||||
<Filter>sord\Header Files\zix</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\zix\tree.h">
|
||||
<Filter>sord\Header Files\zix</Filter>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\src\sord_internal.h">
|
||||
<Filter>sord\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sratom\sratom\sratom.h">
|
||||
<Filter>sratom\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\sord\sord\sord.h">
|
||||
<Filter>sord\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\serd\serd\serd.h">
|
||||
<Filter>serd\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\suil\suil\suil.h">
|
||||
<Filter>suil\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\suil\src\suil_internal.h">
|
||||
<Filter>suil\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\atom.h">
|
||||
<Filter>lv2\Headers\atom</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\forge.h">
|
||||
<Filter>lv2\Headers\atom</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\atom\util.h">
|
||||
<Filter>lv2\Headers\atom</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\buf-size\buf-size.h">
|
||||
<Filter>lv2\Headers\buf-size</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\attributes.h">
|
||||
<Filter>lv2\Headers\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\lv2.h">
|
||||
<Filter>lv2\Headers\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\core\lv2_util.h">
|
||||
<Filter>lv2\Headers\core</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\data-access\data-access.h">
|
||||
<Filter>lv2\Headers\data-access</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\dynmanifest\dynmanifest.h">
|
||||
<Filter>lv2\Headers\dynmanifest</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\event\event.h">
|
||||
<Filter>lv2\Headers\event</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\event\event-helpers.h">
|
||||
<Filter>lv2\Headers\event</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\instance-access\instance-access.h">
|
||||
<Filter>lv2\Headers\instance-access</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\log\log.h">
|
||||
<Filter>lv2\Headers\log</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\midi\midi.h">
|
||||
<Filter>lv2\Headers\midi</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\morph\morph.h">
|
||||
<Filter>lv2\Headers\morph</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\state\state.h">
|
||||
<Filter>lv2\Headers\state</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\time\time.h">
|
||||
<Filter>lv2\Headers\time</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\ui\ui.h">
|
||||
<Filter>lv2\Headers\ui</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\units\units.h">
|
||||
<Filter>lv2\Headers\units</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\uri-map\uri-map.h">
|
||||
<Filter>lv2\Headers\uri-map</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\urid\urid.h">
|
||||
<Filter>lv2\Headers\urid</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\worker\worker.h">
|
||||
<Filter>lv2\Headers\worker</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\options\options.h">
|
||||
<Filter>lv2\Headers\options</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\parameters\parameters.h">
|
||||
<Filter>lv2\Headers\parameters</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\patch\patch.h">
|
||||
<Filter>lv2\Headers\patch</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\port-groups\port-groups.h">
|
||||
<Filter>lv2\Headers\port-groups</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\port-props\port-props.h">
|
||||
<Filter>lv2\Headers\port-props</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\presets\presets.h">
|
||||
<Filter>lv2\Headers\presets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\lib-src\lv2\lv2\lv2\resize-port\resize-port.h">
|
||||
<Filter>lv2\Headers\resize-port</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
x
Reference in New Issue
Block a user