- Reestructuración de ficheros y directorios general

- merge v0.01 --> Añadido fileselector
- Añadidas fuentes de Gem y Pure Data
- pix2jpg incluído en Gem. Archivos de construcción de Gem modificados.
- Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
Santi Noreña 2013-02-04 18:00:17 +01:00
parent c9adfd020b
commit e85d191b46
3100 changed files with 775434 additions and 3073 deletions

View file

@ -0,0 +1,10 @@
SUBDIRS=bonk~ choice expr~ fiddle~ loop~ lrshift~ pd~ pique sigmund~ stdout
DIST_SUBDIRS=$(SUBDIRS)
PATCHES =complex-mod~.pd hilbert~.pd rev1-final.pd rev1~.pd rev1-stage.pd rev2~.pd rev3~.pd
HELPPATCHES=complex-mod~-help.pd hilbert~-help.pd rev1~-help.pd rev2~-help.pd rev3~-help.pd
libpdextradir = $(pkglibdir)/extra
dist_libpdextra_DATA = $(PATCHES) $(HELPPATCHES)

661
pd-0.44-2/extra/Makefile.in Normal file
View file

@ -0,0 +1,661 @@
# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = extra
DIST_COMMON = $(dist_libpdextra_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(libpdextradir)"
DATA = $(dist_libpdextra_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = bonk~ choice expr~ fiddle~ loop~ lrshift~ pd~ pique sigmund~ stdout
DIST_SUBDIRS = $(SUBDIRS)
PATCHES = complex-mod~.pd hilbert~.pd rev1-final.pd rev1~.pd rev1-stage.pd rev2~.pd rev3~.pd
HELPPATCHES = complex-mod~-help.pd hilbert~-help.pd rev1~-help.pd rev2~-help.pd rev3~-help.pd
libpdextradir = $(pkglibdir)/extra
dist_libpdextra_DATA = $(PATCHES) $(HELPPATCHES)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu extra/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu extra/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_libpdextraDATA: $(dist_libpdextra_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_libpdextra_DATA)'; test -n "$(libpdextradir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libpdextradir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libpdextradir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libpdextradir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(libpdextradir)" || exit $$?; \
done
uninstall-dist_libpdextraDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_libpdextra_DATA)'; test -n "$(libpdextradir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(libpdextradir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(libpdextradir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-dist_libpdextraDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-dist_libpdextraDATA
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
ctags ctags-recursive distclean 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-dist_libpdextraDATA 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 \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-dist_libpdextraDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,30 @@
This is the README file for the "extras" library, consisting of Pd
objects which are too specialized or otherwise non-canonical for
inclusion into Pd proper. These files are open source; see
LICENSE.txt in this distribution for details.
Note however that "expr" is GPL (the rest is all BSD).
This package should run in Pd under linux, MSW, or Mac OSX.
You can additionally compile fiddle~. bonk~, and paf~ for Max/MSP.
contents:
externs:
fiddle~ -- pitch tracker
bonk~ - percussion detector
choose - find the "best fit" of incoming vector with stored profiles
paf~ -- phase aligned formant generator
loop~ -- sample looper
expr -- arithmetic expression evaluation (Shahrokh Yadegari)
pique - fft-based peak finder
lrshift~ - left or right shift an audio vector
abstractions:
hilbert~ - Hilbert transform for SSB modulation
complex-mod~ - ring modulation for complex (real+imaginary) audio signals
rev1~, etc. - reverberators
These objects are part of the regular Pd distribution as of Pd version
0.30. Macintosh versions of fiddle~, bonk~, and paf~ are available
from http://www.crca.ucsd.edu/~tapel
- msp@ucsd.edu

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=bonk~
external_LTLIBRARIES = bonk~.la
SOURCES = bonk~.c
PATCHES = bonk~-help.pd
OTHERDATA = templates.txt
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/bonk~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
bonk__la_LIBADD =
bonk__la_SOURCES = bonk~.c
bonk__la_OBJECTS = bonk~.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = bonk~.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = bonk~
external_LTLIBRARIES = bonk~.la
SOURCES = bonk~.c
PATCHES = bonk~-help.pd
OTHERDATA = templates.txt
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/bonk~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/bonk~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
bonk~.la: $(bonk__la_OBJECTS) $(bonk__la_DEPENDENCIES) $(EXTRA_bonk__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(bonk__la_OBJECTS) $(bonk__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bonk~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,209 @@
#N canvas 0 0 1052 581 12;
#X obj 382 492 spigot;
#X msg 484 293 bang;
#X obj 483 454 bonk~;
#X msg 483 357 print;
#X obj 435 428 adc~;
#X msg 637 506 \; pd dsp 1;
#X obj 300 492 spigot;
#N canvas 366 126 604 404 synth 0;
#X obj 112 24 r bonk-cooked;
#X obj 112 49 unpack;
#X obj 112 99 * 12;
#X obj 112 124 div 7;
#X obj 112 74 + 1;
#X obj 112 174 mtof;
#X obj 112 224 osc~;
#X obj 112 249 cos~;
#X obj 112 149 + 47;
#X obj 209 247 line~;
#X obj 209 272 *~;
#X obj 209 297 lop~ 500;
#X obj 112 274 *~;
#X obj 103 361 dac~;
#X obj 253 165 dbtorms;
#X obj 253 115 * 0.5;
#X obj 253 140 + 50;
#X obj 211 189 f;
#X msg 173 159 bang;
#X obj 258 83 inlet;
#X obj 111 307 hip~ 5;
#X msg 34 24 0 60;
#X obj 112 199 sig~;
#X msg 209 222 \$1 \, 0 200;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 2 0;
#X connect 5 0 18 0;
#X connect 5 0 22 0;
#X connect 6 0 7 0;
#X connect 7 0 12 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 11 0;
#X connect 11 0 12 1;
#X connect 12 0 20 0;
#X connect 14 0 17 1;
#X connect 15 0 16 0;
#X connect 16 0 14 0;
#X connect 17 0 23 0;
#X connect 18 0 17 0;
#X connect 19 0 15 0;
#X connect 20 0 13 1;
#X connect 20 0 13 0;
#X connect 21 0 1 0;
#X connect 22 0 6 0;
#X connect 23 0 9 0;
#X restore 869 523 pd synth;
#X floatatom 869 500 0 0 0 0 - - -;
#X msg 869 470 0;
#X msg 900 470 90;
#X text 625 472 click here;
#X text 626 485 to start DSP;
#X text 5 285 In this patch \, after starting DSP \, you can print
out the raw or cooked output using the two "spigots" or listen to a
synthesizer output by raising its volume.;
#X text 770 469 output volume;
#X text 784 487 (0-100);
#X msg 483 138 mask 4 0.7;
#X text 578 120 Describes how energy in each frequency band masks later
energy in the band. Here the masking is total for 4 analysis periods
and then drops by 0.7 each period.;
#X text 528 286 Poll the current spectrum via "raw" outlet \, You can
set a very high threshold if you don't want attacks mixed in.;
#X msg 483 331 debug 0;
#X text 561 331 turn debugging on or off.;
#X obj 349 493 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 431 493 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 382 522 print cooked;
#X obj 300 522 print raw;
#X text 162 491 enable printout:;
#X text 560 202 Minimum "velocity" to output (quieter notes are ignored.)
;
#X obj 485 481 s bonk-cooked;
#X text 8 145 Bonk's two outputs are the raw spectrum of the attack
(provided as a list of 11 numbers giving the signal "loudness" in the
11 frequency bands used) \, and the "cooked" output which gives only
an instrument number (counting up from zero) and a "velocity". This
"velocity" is the sum of the square roots of the amplitudes of the
bands \, normalized so that 100 is an attack of amplitude of about
1 The instrument number is significant only if Bonk has a "template
set" in memory.;
#X text 580 35 Set low and high thresholds. Signal growth must exceed
the high one and then fall to the low one to make an attack. The unit
is the sum of the proportional growth in the 11 filter bands. Proportional
growth is essentially the logarithmic time derivative.;
#X msg 483 384 print 1;
#X text 551 386 print out filterbank settings;
#X text 9 33 The Bonk object takes an audio signal input and looks
for "attacks" defined as sharp changes in the spectral envelope of
the incoming sound. Optionally \, and less reliably \, you can have
Bonk check the attack against a collection of stored templates to try
to guess which of two or more instruments was hit. Bonk is described
theoretically in the 1998 ICMC proceedings \, reprinted on crca.ucsd.edu/~msp
.;
#N canvas 0 0 699 717 creation-arguments 1;
#X text 228 14 creation arguments for bonk~;
#X text 70 272 -npts 256;
#X text 44 244 default value:;
#X text 70 308 -hop 128;
#X text 70 342 -nfilters 11;
#X text 68 380 -halftones 6;
#X text 76 514 -overlap 1;
#X text 79 567 -firstbin 1;
#X text 71 454 -minbandwidth 1.5;
#X text 122 147 All frequency parameters are specified in 'bins'. One
bin is the sample rate divided by the window size. The minimum possible
bandwidth is 1.5 bins. Higher bandwidths give numerically more robust
outputs.;
#X text 43 229 Arguments and;
#X text 212 270 window size in points;
#X text 210 306 analysis period ("hop size") in points;
#X text 212 340 number of filters to use;
#X text 212 379 desired bandwidth of filters in halftones \, effective
in the exponentially spaced region. (At lower center frequencies the
bandwidth is supported by the "minbandwidth" parameter below).;
#X text 212 511 overlap factor between filters. If 1 \, the filters
are spaced to line up at their half-power points. Other values specify
more or fewer filters proportionally.;
#X text 121 49 bonk~ uses a filterbank whose center frequencies are
spaced equally at low frequencies and proportionally at high ones -
i.e. \, they increase linearly \, then exponentially. They are determined
by the filters' bandwidths and overlap. The bandwidths are specified
proportionally to frequency but bounded below by a specified minimum.
;
#X text 210 455 minimum bandwidth in bins. If the bandwidth specified
by "halftones" is smaller than this \, this value is used. This must
be at least 1.5.;
#X text 212 567 center frequency \, in bins \, of the lowest filter.
The others are computed from this.;
#X restore 147 414 pd creation-arguments;
#N canvas 660 173 579 589 templates 0;
#X msg 76 197 learn 0;
#X msg 76 227 forget;
#X msg 76 257 write templates.txt;
#X msg 76 287 read templates.txt;
#X msg 76 107 debounce 0;
#X msg 76 137 learn 10;
#X obj 62 431 outlet;
#X text 155 133 Forget all templates and start learning new ones. The
argument gives the number of times you will hit each instrument (10
recommended.) Turn on the output volume above for audible feedback
as you train Bonk. "Learn 0" exits learn mode.;
#X text 155 217 Forget the last template. In Learn mode \, use "forget"
to erase and record over a template.;
#X text 220 253 Write templates to a file in text-editable format.
;
#X text 221 283 Read templates from a file.;
#X text 157 104 Minimum time (msec) between attacks in learn mode;
#X connect 0 0 6 0;
#X connect 1 0 6 0;
#X connect 2 0 6 0;
#X connect 3 0 6 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X restore 500 421 pd templates;
#X msg 483 68 thresh 2.5 5;
#X msg 483 173 attack-frames 1;
#X text 608 174 number of frames over which to measure growth;
#X text 605 422 more messages for managing templates;
#X msg 483 201 minvel 7;
#X msg 483 228 spew 0;
#X text 550 230 Turn spew mode on/off;
#X msg 483 255 useloudness 0;
#X text 597 254 experimental: use alternative loudness units;
#X text 212 9 BONK~ - attack detection and spectral envelope measurement
;
#X text 734 552 Updated for Pd version 0.42;
#X text 5 344 By default bonk's analysis is carried out on a 256-point
window (6 msec at 44.1 kHz) and the analysis period is 128 samples.
These and other parameters may be overridden using creation arguments
as shown in the subpatch below:;
#X text 552 356 Print out settings and templates.;
#X connect 0 0 23 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 2 1 0 0;
#X connect 2 1 27 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 6 0 24 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 10 0 8 0;
#X connect 16 0 2 0;
#X connect 19 0 2 0;
#X connect 21 0 6 1;
#X connect 22 0 0 1;
#X connect 30 0 2 0;
#X connect 34 0 2 0;
#X connect 35 0 2 0;
#X connect 36 0 2 0;
#X connect 39 0 2 0;
#X connect 40 0 2 0;
#X connect 42 0 2 0;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
NAME=bonk~
CSYM=bonk_tilde
include ../makefile.subdir

View file

@ -0,0 +1,4 @@
10.47 9.65 14.95 23.77 28.32 38.84 53.21 41.20 31.25 21.70 16.48
6.52 13.93 27.82 58.05 24.11 35.26 35.98 37.78 22.54 13.56 10.75
30.45 28.86 29.42 21.94 29.92 35.70 38.49 32.01 28.19 27.38 22.10
66.77 46.27 28.82 25.95 22.84 20.61 20.33 14.18 6.86 8.92 7.37

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=choice
external_LTLIBRARIES = choice.la
SOURCES = choice.c
PATCHES = choice-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/choice
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
choice_la_LIBADD =
choice_la_SOURCES = choice.c
choice_la_OBJECTS = choice.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = choice.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = choice
external_LTLIBRARIES = choice.la
SOURCES = choice.c
PATCHES = choice-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/choice/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/choice/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
choice.la: $(choice_la_OBJECTS) $(choice_la_DEPENDENCIES) $(EXTRA_choice_la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(choice_la_OBJECTS) $(choice_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/choice.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,58 @@
#N canvas 16 5 609 600 12;
#X obj 8 195 choice;
#X msg 41 86 print;
#X msg 29 63 clear;
#X msg 8 34 add 1 0 0 \, add 0 1 0 \, add 0 0 1 \, add 1 1 1 \, add
1 1 0;
#X obj 77 171 pack 0 0 0;
#X floatatom 182 125 0 0 0 0 - - -;
#X floatatom 148 125 0 0 0 0 - - -;
#X floatatom 115 125 0 0 0 0 - - -;
#X obj 77 147 f;
#X msg 77 125 bang;
#X floatatom 8 216 0 0 0 0 - - -;
#X obj 71 196 choice 1;
#X floatatom 71 217 0 0 0 0 - - -;
#X obj 76 4 choice;
#X text 135 3 - search for a best match to an incoming list;
#X text 19 243 The choice object holds a list of vectors \, each having
up to ten elements. When sent a list of numbers \, it outputs the index
of the known vector that matches most closely. The quality of the match
is the dot product of the two vectors after normalizing them \, i.e.
\, the vector whose direction is closest to that of the input wins.
;
#X text 19 340 If given a nonzero creation argument \, choice tries
to avoid repetitious outputs by weighting less recently output vectors
preferentially.;
#X text 20 389 You can use this to choose interactively between a number
of behaviors depending on their attributes. For example \, you might
have stored a number of melodies \, of which some are syncopated \,
some chromatic \, some are more than 100 years old \, some are bugle
calls \, and some are Christmas carols. You could then ask to find
a syncopated bugle call (1 \, 0 \, 0 \, 1 \, 0) and you'll get the
thing most closely matching the request.;
#X text 19 514 You can use numbers other than 0 and 1 to indicate relative
strengths of the attributes \, or even use negative numbers to indicate
opposites \, either in the incoming lists or in the stored ones.;
#X text 320 572 updated for Pd version-0.30;
#X text 79 62 delete all stored vectors;
#X text 498 34 add vectors;
#X text 94 84 debugging printout;
#X text 69 104 tweak the numbers and hit "bang" to input a list;
#X text 151 197 creation argument to avoid repeated outout;
#X text 108 219 output is the index of best match \, counting from
zero;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 2 0 11 0;
#X connect 3 0 0 0;
#X connect 3 0 11 0;
#X connect 4 0 0 0;
#X connect 4 0 11 0;
#X connect 5 0 4 2;
#X connect 6 0 4 1;
#X connect 7 0 8 1;
#X connect 8 0 4 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;

View file

@ -0,0 +1,128 @@
/* choice -- match incoming list against a collection of stored templates. */
/* Copyright 1999 Miller Puckette.
Permission is granted to use this software for any purpose provided you
keep this copyright notice intact.
THE AUTHOR AND HIS EMPLOYERS MAKE NO WARRANTY, EXPRESS OR IMPLIED,
IN CONNECTION WITH THIS SOFTWARE.
This file is downloadable from http://www.crca.ucsd.edu/~msp .
*/
#include "m_pd.h"
#include <math.h>
static t_class *choice_class;
#define DIMENSION 10
typedef struct _elem
{
t_float e_age;
t_float e_weight[DIMENSION];
} t_elem;
typedef struct _choice
{
t_object x_obj;
t_elem *x_vec;
int x_n;
int x_nonrepeat;
} t_choice;
static void *choice_new(t_float fnonrepeat)
{
t_choice *x = (t_choice *)pd_new(choice_class);
outlet_new(&x->x_obj, gensym("float"));
x->x_vec = (t_elem *)getbytes(0);
x->x_n = 0;
x->x_nonrepeat = (fnonrepeat != 0);
return (x);
}
static void choice_clear(t_choice *x)
{
x->x_vec = (t_elem *)resizebytes(x->x_vec, x->x_n * sizeof(t_elem), 0);
x->x_n = 0;
}
static void choice_print(t_choice *x)
{
int j;
for (j = 0; j < x->x_n; j++)
{
t_elem *e = x->x_vec + j;
t_float *w = e->e_weight;
post("%2d age %2d \
w %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f",
j, (int)(e->e_age), w[0], w[1], w[2], w[3], w[4], w[5],
w[6], w[7], w[8], w[9]);
}
}
static void choice_add(t_choice *x, t_symbol *s, int argc, t_atom *argv)
{
int oldn = x->x_n, newn = oldn + 1, i;
t_elem *e;
t_float sum, normal;
x->x_vec = (t_elem *)resizebytes(x->x_vec, oldn * sizeof(t_elem),
newn * sizeof(t_elem));
x->x_n = newn;
e = x->x_vec + oldn;
e->e_age = 2;
for (i = 0, sum = 0; i < DIMENSION; i++)
{
t_float f = atom_getfloatarg(i, argc, argv);
e->e_weight[i] = f;
sum += f*f;
}
normal = (t_float)(sum > 0 ? 1./sqrt(sum) : 1);
for (i = 0; i < DIMENSION; i++)
e->e_weight[i] *= normal;
}
static void choice_list(t_choice *x, t_symbol *s, int argc, t_atom *argv)
{
int i, j;
t_float bestsum = 0;
int bestindex = -1;
t_float invec[DIMENSION];
for (i = 0; i < DIMENSION; i++)
invec[i] = atom_getfloatarg(i, argc, argv);
for (j = 0; j < x->x_n; j++)
{
t_elem *e = x->x_vec + j;
t_float sum;
for (i = 0, sum = 0; i < DIMENSION; i++)
sum += e->e_weight[i] * invec[i];
if (x->x_nonrepeat) sum *= (t_float)(log(e->e_age));
if (sum > bestsum)
{
bestsum = sum;
sum = 1;
bestindex = j;
}
}
if (bestindex >= 0)
{
for (j = 0; j < x->x_n; j++)
x->x_vec[j].e_age += 1.;
x->x_vec[bestindex].e_age = 1;
}
outlet_float(x->x_obj.ob_outlet, (t_float)bestindex);
}
static void choice_free(t_choice *x)
{
freebytes(x->x_vec, x->x_n * sizeof(t_elem));
}
void choice_setup(void)
{
choice_class = class_new(gensym("choice"), (t_newmethod)choice_new,
(t_method)choice_free, sizeof(t_choice), 0, A_DEFFLOAT, 0);
class_addmethod(choice_class, (t_method)choice_add, gensym("add"), A_GIMME, 0);
class_addmethod(choice_class, (t_method)choice_clear, gensym("clear"), 0);
class_addmethod(choice_class, (t_method)choice_print, gensym("print"), 0);
class_addlist(choice_class, choice_list);
}

View file

@ -0,0 +1,4 @@
NAME=choice
CSYM=choice
include ../makefile.subdir

View file

@ -0,0 +1,26 @@
#N canvas 136 85 600 480 12;
#X graph graph1 0 -1 882 1 279 209 579 39;
#X array mod-output 882 float;
#X pop;
#X msg 84 256 bang \; pd dsp 1;
#X floatatom 67 56;
#X obj 67 186 complex-mod~;
#X obj 67 84 phasor~ 440;
#X obj 67 115 cos~;
#X obj 106 138 cos~;
#X obj 106 114 -~ 0.25;
#X floatatom 145 152;
#X text 93 351 The complex modulator takes two signals in which it considers to be the real and imaginary part of a complex-valued signal. It then does a complex multiplication by a sinusoud to shift all frequencies up or down by any frequency shift in Hz. See also hilbert~.;
#X obj 69 298 tabwrite~ mod-output;
#X text 149 204 right outlet;
#X text 151 220 gives the other;
#X text 149 236 sideband;
#X connect 1 0 10 0;
#X connect 2 0 4 0;
#X connect 3 0 10 0;
#X connect 4 0 5 0;
#X connect 4 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 6 0;
#X connect 8 0 3 2;

View file

@ -0,0 +1,30 @@
#N canvas 206 108 428 341 12;
#X obj 142 87 inlet~;
#X obj 315 166 cos~;
#X obj 351 144 +~ -0.25;
#X obj 351 166 cos~;
#X obj 225 87 inlet~;
#X obj 142 215 *~;
#X obj 225 216 *~;
#X obj 142 251 -~;
#X obj 142 284 outlet~;
#X obj 212 285 outlet~;
#X obj 212 252 +~;
#X text 140 310 positive;
#X text 213 311 negative;
#X obj 315 114 phasor~;
#X obj 315 88 inlet~;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 2 0 3 0;
#X connect 3 0 6 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 5 0 10 0;
#X connect 6 0 7 1;
#X connect 6 0 10 1;
#X connect 7 0 8 0;
#X connect 10 0 9 0;
#X connect 13 0 2 0;
#X connect 13 0 1 0;
#X connect 14 0 13 0;

View file

@ -0,0 +1,497 @@
#N canvas 165 94 1012 579 12;
#X text 66 10 expression evaluation family - expr \, expr~ \, fexpr~
;
#X text 63 239 Syntyax:;
#X text 64 311 $f#: float input variable;
#X text 65 326 $s#: symbol input variable;
#X text 553 90 Used for expr~ only:;
#X text 553 105 $v#: signal (vector) input (vector by vector evaluation)
;
#X text 550 164 Used for fexpr~ only:;
#X text 550 220 $y[n]: the output value indexed by n where n has to
satisfy 0 > n >= -vector size.;
#X text 550 248 (the vector size can be changed by the "block~" object.)
;
#X text 550 179 $x#[n]: the sample from inlet # indexed by n where
n has to satisfy 0 => n >= -vector size \, ($x# is a shorthand for
$x#[0] \, specifying the current sample);
#X text 63 151 expr~ is used for expression evaluaion of signal data
on the vector by vector basis;
#X text 63 136 expr is used for expression evaluaion of control data
;
#X text 67 39 For a more detailed documentaion refer to http://www.crca.ucsd.edu/~yadegari/expr.html
;
#X text 64 254 The syntax is very close to how expressions are written
in C. Variables are specified as follows where the '#' stands for the
inlet number:;
#X text 65 297 $i#: integer input variable;
#X text 63 179 fexpr~ is used for expression evaluaion on sample level
data \; i.e. \, filter design. Warning: fexpr~ is very cpu intensive.
;
#X text 633 12 updated for Pd 0.35 test 26 and expr* 0.4;
#X text 67 85 you can define multiple expressoins in the same object.
semicolon is used to separates the expressions.;
#X text 635 294 $y -> $y1[-1];
#X text 550 263 Shorthands: $x -> $x1[0];
#X text 635 279 $x1 -> $x1[0] $x2 -> $x2[0] .....;
#X text 635 309 $y1 -> $y1[-1] $y2 -> $y2[-1] .....;
#N canvas 0 0 828 385 Examples 0;
#X obj 33 151 expr 1;
#X floatatom 197 119 0 0 0 0 - - -;
#X floatatom 33 181 0 0 0 0 - - -;
#X msg 33 123 bang;
#X obj 101 149 expr 2 + 3;
#X msg 101 122 bang;
#X floatatom 101 177 0 0 0 0 - - -;
#X floatatom 196 177 0 0 0 0 - - -;
#X obj 196 149 expr 2+$f1;
#X floatatom 34 220 0 0 0 0 - - -;
#X floatatom 34 277 0 0 0 0 - - -;
#X obj 34 249 expr $f1 * $f2;
#X floatatom 113 220 0 0 0 0 - - -;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array1 10 float 0;
#X coords 0 10 10 0 200 150 1;
#X restore 584 180 graph;
#X floatatom 35 315 0 0 0 0 - - -;
#X floatatom 35 371 0 0 0 0 - - -;
#X floatatom 194 219 0 0 0 0 - - -;
#X floatatom 194 276 0 0 0 0 - - -;
#X obj 194 248 expr $s2[$f1];
#X msg 267 220 symbol array1;
#X obj 35 343 expr sin(2 * 3.14159 * $f1 / 360);
#X msg 330 281 \; array1 1 4 2 8 5 6 1 4 2 8 5 6;
#X floatatom 310 184 5 0 0 0 - - -;
#X floatatom 395 186 5 0 0 0 - - -;
#X floatatom 480 184 5 0 0 0 - - -;
#X floatatom 310 105 5 0 0 0 - - -;
#X obj 310 132 expr $f1 \; if ($f1 > 0 \, $f1 * 2 \, 0) \; if ($f1
<= 0 \, $f1 / 2 \, 0);
#X text 34 56 Examples of expr object;
#X text 304 88 an example of multiple expressions and the use of 'if'
;
#X connect 0 0 2 0;
#X connect 1 0 8 0;
#X connect 3 0 0 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 8 0 7 0;
#X connect 9 0 11 0;
#X connect 11 0 10 0;
#X connect 12 0 11 1;
#X connect 14 0 20 0;
#X connect 16 0 18 0;
#X connect 18 0 17 0;
#X connect 19 0 18 1;
#X connect 20 0 15 0;
#X connect 25 0 26 0;
#X connect 26 0 22 0;
#X connect 26 1 23 0;
#X connect 26 2 24 0;
#X restore 307 398 pd Examples of expr;
#N canvas 23 24 882 676 Examples 0;
#X text -88 101 expr~ examples:;
#X obj -24 355 print~;
#X msg 13 334 bang;
#X obj -24 276 sig~ 440;
#X floatatom 49 293 0 0 0 0 - - -;
#X floatatom -24 253 0 0 0 0 - - -;
#X obj -24 316 expr~ $v1*$f2;
#X obj 85 356 print~;
#X msg 101 335 bang;
#X floatatom 85 268 0 0 0 0 - - -;
#X floatatom 158 270 0 0 0 0 - - -;
#X floatatom 357 291 0 0 0 0 - - -;
#X floatatom 244 267 0 0 0 0 - - -;
#X obj 244 294 osc~;
#X msg 369 47 \; pd dsp 0;
#X msg 291 49 \; pd dsp 1;
#X text 294 26 audio on;
#X text 377 25 audio off;
#X text -45 236 vector times scalar;
#X text 87 236 vector;
#X obj 243 354 dac~;
#X text 241 245 frequency;
#X text 373 273 amplitude;
#X obj 85 315 expr~ $v1*$v2;
#X floatatom 207 471 5 0 0 0 - - -;
#X obj -40 520 tabsend~ a1;
#N canvas 0 0 450 300 (subpatch) 0;
#X array a1 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore -39 542 graph;
#X obj -40 497 expr~ max(min($v1 \, $f2/10) \, -$f2/10);
#X text -38 123 NOTES: the first inlet of expr~ cannot be a $f1 or
$i1 \, this may change in later releases;
#X text -87 420 A simple limiter example;
#X obj 356 158 vsl 15 128 0 127 0 0 empty empty empty 20 8 0 8 -262144
-1 -1 0 1;
#X obj 243 315 expr~ $v1*$f2/128;
#X text -82 28 make sure you turn on audio for the expr~ examples;
#X obj -40 473 osc~ 2756.25;
#X text 122 436 Move the value below between 0 and 10;
#X text 126 451 to change the limiter threshold;
#X obj 417 522 tabsend~ a2;
#X obj 580 518 tabsend~ a3;
#X obj 417 439 osc~ 2756.25;
#N canvas 0 0 450 300 (subpatch) 0;
#X array a2 64 float 1;
#A 0 -0.797042 -0.728354 -0.551199 -0.29486 -5.74798e-08 0.28779 0.525076
0.677165 0.723186 0.658973 0.49724 0.265198 -5.86755e-06 -0.257244
-0.467812 -0.601285 -0.639938 -0.581051 -0.436842 -0.232108 -4.49318e-08
0.223344 0.404462 0.517604 0.548393 0.495593 0.370771 0.195993 -4.2964e-06
-0.186556 -0.335875 -0.427214 -0.449737 -0.4037 -0.299884 -0.157342
-3.00576e-08 0.14734 0.262927 0.331275 0.34523 0.306564 0.225106 0.116645
-2.503e-06 -0.106219 -0.186565 -0.231035 -0.236249 -0.205455 -0.147412
-0.0744387 -1.36289e-08 0.0637127 0.10778 0.127799 0.124205 0.101679
0.0677997 0.0312617 -5.8003e-07 -0.0203835 -0.0275998 -0.0229047;
#X coords 0 1 63 -1 200 140 1;
#X restore 347 554 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array a3 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore 569 554 graph;
#X obj 417 473 expr~ $v1 *$v2 \; if ($v2 > 0 \, 0 \, $v1*$v2);
#X obj 580 439 osc~ 100;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 6 1;
#X connect 5 0 3 0;
#X connect 6 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 23 0;
#X connect 10 0 23 1;
#X connect 11 0 31 1;
#X connect 12 0 13 0;
#X connect 13 0 31 0;
#X connect 23 0 7 0;
#X connect 24 0 27 1;
#X connect 27 0 25 0;
#X connect 30 0 11 0;
#X connect 31 0 20 0;
#X connect 31 0 20 1;
#X connect 33 0 27 0;
#X connect 38 0 41 0;
#X connect 41 0 36 0;
#X connect 41 1 37 0;
#X connect 42 0 41 1;
#X restore 307 433 pd Examples of expr~;
#X text 40 399 For expr examples click here ->;
#X text 41 433 For expr~ examples click here ->;
#X text 40 471 For fexpr~ examples click here ->;
#N canvas 0 0 1059 688 examples 0;
#X msg 519 84 \; pd dsp 0;
#X msg 428 84 \; pd dsp 1;
#X text 426 64 audio on;
#X text 518 65 audio off;
#X floatatom 126 304 0 0 0 0 - - -;
#X floatatom 259 323 0 0 0 0 - - -;
#X msg 226 283 -10;
#X text 53 103 fexpr~ examples:;
#X obj 125 571 print~;
#X msg 247 552 bang;
#X floatatom 125 475 0 0 0 0 - - -;
#X obj 126 347 fexpr~ ($x1[$f2]+$x1)/2;
#X obj 125 532 fexpr~ $x1+$y[-1];
#X floatatom 635 366 0 0 0 0 - - -;
#X floatatom 795 387 0 0 0 0 - - -;
#X obj 630 456 dac~;
#X obj 632 407 fexpr~ ($x1[$f2/1000]+$x1)/2;
#X msg 864 317 0 10000;
#X obj 795 368 line 0;
#X msg 798 318 -10000;
#X obj 120 389 dac~;
#X text 96 227 Simple FIR filter;
#X text 557 134 Simple FIR filter using fractional offset;
#X msg 704 318 -10000 10000;
#X obj 635 387 osc~ 2205;
#X msg 644 343 1102.5;
#X msg 862 342 0 10000;
#X msg 796 343 -20000;
#X msg 702 343 -20000 10000;
#X msg 635 318 2205;
#X msg 548 312 start;
#X msg 550 334 stop;
#X msg 57 284 start;
#X msg 56 309 stop;
#X msg 75 469 start;
#X msg 74 494 stop;
#X obj 491 335 loadbang;
#X obj 18 495 loadbang;
#X obj 1 309 loadbang;
#X text 617 291 frequency;
#X text 707 300 of the simple filter;
#X msg 293 282 -20;
#X obj 126 325 osc~ 2205;
#X msg 156 281 1102.5;
#X msg 110 281 2205;
#X msg 260 282 0;
#X text 123 445 simple accumulator defined as and an IIR filter;
#X text 52 148 NOTE: fexpr~ could use lots of CPU power \, by default
fexpr~ is on when it is loaded. In this page we are turning them off
with loadbang \, so to hear them you have to turn them on explicitly.
You can use the "start" and "stop" messages to start and stop fexpr~
and expr~;
#X text 706 288 index defining the frequency;
#X text 95 240 -10 offset will fully filter audio frequency of 2205
\, and -20 offset will filter audio at frequency of 1102.5;
#X text 559 215 Thus \, the offset -10000 will filter audio at frequency
of 2205 and the offset value -20000 will filter the audio at frequency
of 1102.5.;
#X text 558 161 When fractional offset is used \, fexpr~ determines
indexed by linear interpolation. In the following example the offset
value is divided by 1000 \, thus we can continuously change the offset
without an audible click in the output.;
#X text 288 318 If you change this value you;
#X text 290 330 hear a click;
#X text 51 87 make sure you turn on audio for the fexpr~ examples;
#X text 55 -323 Used for fexpr~ only:;
#X text 55 -267 $y[n]: the output value indexed by n where n has to
satisfy 0 > n >= -vector size.;
#X text 55 -239 (the vector size can be changed by the "block~" object.)
;
#X text 55 -308 $x#[n]: the sample from inlet # indexed by n where
n has to satisfy 0 => n >= -vector size \, ($x# is a shorthand for
$x#[0] \, specifying the current sample);
#X text 140 -193 $y -> $y1[-1];
#X text 55 -224 Shorthands: $x -> $x1[0];
#X text 140 -208 $x1 -> $x1[0] $x2 -> $x2[0] .....;
#X text 140 -178 $y1 -> $y1[-1] $y2 -> $y2[-1] .....;
#X text 64 -125 fexpr~ responds to the following methods;
#X text 66 -106 clear - clears all the previous input and output buffers
;
#X text 65 -92 clear x# - clears the previous values of the #th input
;
#X text 66 -79 clear y# - clears the previous values of the #th output
;
#X text 66 -33 set x# val-1 val-2 ... - sets the as many supplied values
of the #th input;
#X text 513 -22 e.g. \, set x2 3.4 0.4 sets x2[-1]=3.4 and x2[-2]=0.4
;
#X text 66 -2 set y# val-1 val-2 ... - sets the as many supplied values
of the #th input;
#X text 514 4 e.g. \, set y3 1.1 3.3 4.5 sets y3[-1]=1.1 y3[-2]=3.3
and y3[-3]=4.5;
#X text 64 -54 set val val ... - sets the first past values of each
output;
#X text 513 -59 e.g. \, set 0.1 2.2 0.4 sets y1[-1]=0.1 y2[-1]=2.2
\, and y3[-1]=0.4;
#X msg 244 475 set 4000;
#X obj 125 504 sig~ 0.001;
#X msg 245 498 clear;
#X text 22 442 comment;
#X text 14 431 1 first click the start button;
#X text 307 494 2 click the set or the clear button;
#X text 304 547 3 then click bang to see how set and clear work;
#X connect 4 0 42 0;
#X connect 5 0 11 1;
#X connect 6 0 5 0;
#X connect 9 0 8 0;
#X connect 10 0 74 0;
#X connect 11 0 20 0;
#X connect 11 0 20 1;
#X connect 12 0 8 0;
#X connect 13 0 24 0;
#X connect 14 0 16 1;
#X connect 16 0 15 0;
#X connect 16 0 15 1;
#X connect 17 0 18 0;
#X connect 18 0 14 0;
#X connect 19 0 18 0;
#X connect 23 0 18 0;
#X connect 24 0 16 0;
#X connect 25 0 13 0;
#X connect 26 0 18 0;
#X connect 27 0 18 0;
#X connect 28 0 18 0;
#X connect 29 0 13 0;
#X connect 30 0 16 0;
#X connect 31 0 16 0;
#X connect 32 0 11 0;
#X connect 33 0 11 0;
#X connect 34 0 12 0;
#X connect 35 0 12 0;
#X connect 36 0 31 0;
#X connect 37 0 35 0;
#X connect 38 0 33 0;
#X connect 41 0 5 0;
#X connect 42 0 11 0;
#X connect 43 0 4 0;
#X connect 44 0 4 0;
#X connect 45 0 5 0;
#X connect 73 0 12 0;
#X connect 74 0 12 0;
#X connect 75 0 12 0;
#X restore 306 472 pd examples of fexpr~;
#X text 42 504 For using fexpr~ for solving;
#X text 43 520 differential equations click here ->;
#N canvas 112 22 944 449 lorenz 0;
#X obj 176 67 v pr;
#X obj 307 68 v r;
#X obj 233 69 v b;
#X floatatom 176 38 5 0 0 0 - - -;
#X floatatom 307 40 5 0 0 0 - - -;
#X msg 177 13 10;
#X obj 231 10 expr 8./3;
#X msg 128 136 set 1.2 2.3 4.4;
#X floatatom 233 39 7 0 0 0 - - -;
#X msg 75 46 stop;
#X msg 75 67 start;
#X floatatom 399 40 5 0 0 0 - - -;
#X obj 399 69 v dt;
#X msg 310 12 18;
#X msg 395 13 0.01;
#X obj 68 296 dac~;
#X obj 128 -41 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X text 201 -41 <- turn audio on and bang here;
#X text 463 42 <- experiment with these numbers;
#X text 472 72 if you hear a buzz \, you have probably gone unstable
bang on the top again;
#X obj 489 15 line;
#X obj 128 241 /~ 20;
#X obj 234 238 /~ 20;
#X obj 340 237 /~ 20;
#X msg 484 -11 0.01 \, 0.04 5000;
#X obj 128 185 fexpr~ $y1+(pr*$y2-pr*$y1)*dt \; $y2 +(-$y1*$y3 + r*$y1-$y2)*dt
\; $y3+($y1*$y2 - b*$y3)*dt;
#X obj 14 65 loadbang;
#X text 113 -100 This is an example of how fexpr~ could be used for
solving differential equations \, in this case the lorenz equations
which generate chotic signals;
#X text 361 182 Note the following shorthands:;
#X text 360 198 $y1 -> $y1[-1] \, $y2 -> $y2[-1] \, .....;
#X text 248 136 the 'set' commands sets the initial previous values
;
#X obj 128 298 tabsend~ lorenz1a;
#X obj 234 278 tabsend~ lorenz2a;
#X obj 339 259 tabsend~ lorenz3a;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz1a 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore 73 437 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz2a 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore 331 435 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz3a 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore 592 436 graph;
#X text 301 315 You can see the graphs if you scroll down;
#X text 301 328 but the redrawings may cause clicks in the audio;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 7 0 25 0;
#X connect 8 0 2 0;
#X connect 9 0 25 0;
#X connect 10 0 25 0;
#X connect 11 0 12 0;
#X connect 13 0 4 0;
#X connect 14 0 11 0;
#X connect 16 0 5 0;
#X connect 16 0 6 0;
#X connect 16 0 13 0;
#X connect 16 0 14 0;
#X connect 16 0 7 0;
#X connect 16 0 10 0;
#X connect 20 0 11 0;
#X connect 21 0 31 0;
#X connect 21 0 15 0;
#X connect 21 0 15 1;
#X connect 22 0 32 0;
#X connect 23 0 33 0;
#X connect 24 0 20 0;
#X connect 25 0 21 0;
#X connect 25 1 22 0;
#X connect 25 2 23 0;
#X connect 26 0 9 0;
#X restore 308 518 pd lorenz equations for audition;
#N canvas 97 36 978 656 lorenz 0;
#X obj 176 67 v pr;
#X obj 307 68 v r;
#X obj 233 69 v b;
#X floatatom 176 38 5 0 0 0 - - -;
#X floatatom 307 40 5 0 0 0 - - -;
#X msg 177 13 10;
#X obj 231 10 expr 8./3;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz1 2048 float 0;
#X coords 0 -1 2047 1 200 140 1;
#X restore 82 357 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz2 2048 float 0;
#X coords 0 -1 2047 1 200 140 1;
#X restore 327 353 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array lorenz3 2048 float 0;
#X coords 0 -1 2047 1 200 140 1;
#X restore 570 347 graph;
#X msg 128 136 set 1.2 2.3 4.4;
#X floatatom 233 39 7 0 0 0 - - -;
#X msg 75 46 stop;
#X msg 75 67 start;
#X floatatom 399 40 5 0 0 0 - - -;
#X obj 399 69 v dt;
#X msg 310 12 18;
#X msg 395 13 0.01;
#X obj 128 -41 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X text 201 -41 <- turn audio on and bang here;
#X text 463 42 <- experiment with these numbers;
#X text 472 72 if you hear a buzz \, you have probably gone unstable
bang on the top again;
#X obj 489 15 line;
#X obj 128 241 /~ 20;
#X obj 234 238 /~ 20;
#X obj 340 237 /~ 20;
#X msg 484 -11 0.01 \, 0.04 5000;
#X obj 14 65 loadbang;
#X text 113 -100 This is an example of how fexpr~ could be used for
solving differential equations \, in this case the lorenz equations
which generate chotic signals;
#X text 361 182 Note the following shorthands:;
#X text 360 198 $y1 -> $y1[-1] \, $y2 -> $y2[-1] \, .....;
#X text 248 136 the 'set' commands sets the initial previous values
;
#X obj 128 298 tabsend~ lorenz1;
#X obj 234 278 tabsend~ lorenz2;
#X obj 339 259 tabsend~ lorenz3;
#X obj 627 280 block~ 2048;
#X text 669 133 Lorenz Equations;
#X obj 128 185 fexpr~ $y1+pr * ($y2-$y1)*dt \; $y2 +(-$y1*$y3 + r*$y1-$y2)*dt
\; $y3+($y1*$y2 - b*$y3)*dt;
#X text 672 197 dZ/dt = -bZ;
#X text 669 167 dX/dt = pr * (X - Y);
#X text 668 147 written with 3 state variable X \, Y \, and Z;
#X text 670 182 dY/dt = -XZ + rX - y;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 11 0;
#X connect 10 0 37 0;
#X connect 11 0 2 0;
#X connect 12 0 37 0;
#X connect 13 0 37 0;
#X connect 14 0 15 0;
#X connect 16 0 4 0;
#X connect 17 0 14 0;
#X connect 18 0 5 0;
#X connect 18 0 6 0;
#X connect 18 0 16 0;
#X connect 18 0 17 0;
#X connect 18 0 10 0;
#X connect 18 0 13 0;
#X connect 22 0 14 0;
#X connect 23 0 32 0;
#X connect 24 0 33 0;
#X connect 25 0 34 0;
#X connect 26 0 22 0;
#X connect 27 0 12 0;
#X connect 37 0 23 0;
#X connect 37 1 24 0;
#X connect 37 2 25 0;
#X restore 308 541 pd lorenz equations for visualization;
#X text 68 24 by Shahrokh Yadegari;

View file

@ -0,0 +1,50 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=expr~
external_LTLIBRARIES = expr~.la
expr__la_SOURCES = vexp.c vexp_fun.c vexp_if.c
PATCHES = ../expr-help.pd
OTHERDATA = LICENSE.txt README.txt
dist_external_DATA = $(PATCHES) $(OTHERDATA)
noinst_HEADERS = fts_to_pd.h vexp.h
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
# install-exec-hook seems to be called before $(DESTDIR)$(externaldir) is created...
# so we install everything in the install-data-hook
install-data-hook:
cd $(DESTDIR)$(externaldir) && ( \
$(LN_S) expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
$(LN_S) expr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
cd ..; \
$(LN_S) $(NAME)/expr.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/expr~.@EXTERNAL_EXTENSION@ expr~.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/fexpr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/expr-help.pd expr-help.pd; \
$(LN_S) $(NAME)/expr-help.pd expr~-help.pd; \
$(LN_S) $(NAME)/expr-help.pd fexpr~-help.pd; \
)
uninstall-hook:
cd $(DESTDIR)$(externaldir) && ( \
rm -f expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
cd ..; \
rm -f expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
rm -f expr-help.pd expr~-help.pd fexpr~-help.pd; \
)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,644 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/expr~
DIST_COMMON = $(dist_external_DATA) $(noinst_HEADERS) \
$(srcdir)/GNUmakefile.am $(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
expr__la_LIBADD =
am_expr__la_OBJECTS = vexp.lo vexp_fun.lo vexp_if.lo
expr__la_OBJECTS = $(am_expr__la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(expr__la_SOURCES)
DIST_SOURCES = $(expr__la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = expr~
external_LTLIBRARIES = expr~.la
expr__la_SOURCES = vexp.c vexp_fun.c vexp_if.c
PATCHES = ../expr-help.pd
OTHERDATA = LICENSE.txt README.txt
dist_external_DATA = $(PATCHES) $(OTHERDATA)
noinst_HEADERS = fts_to_pd.h vexp.h
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/expr~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/expr~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
expr~.la: $(expr__la_OBJECTS) $(expr__la_DEPENDENCIES) $(EXTRA_expr__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(expr__la_OBJECTS) $(expr__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vexp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vexp_fun.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vexp_if.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
.MAKE: install-am install-data-am install-strip uninstall-am
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-data-hook install-dist_externalDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES uninstall-hook
# install-exec-hook seems to be called before $(DESTDIR)$(externaldir) is created...
# so we install everything in the install-data-hook
install-data-hook:
cd $(DESTDIR)$(externaldir) && ( \
$(LN_S) expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
$(LN_S) expr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
cd ..; \
$(LN_S) $(NAME)/expr.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/expr~.@EXTERNAL_EXTENSION@ expr~.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/fexpr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
$(LN_S) $(NAME)/expr-help.pd expr-help.pd; \
$(LN_S) $(NAME)/expr-help.pd expr~-help.pd; \
$(LN_S) $(NAME)/expr-help.pd fexpr~-help.pd; \
)
uninstall-hook:
cd $(DESTDIR)$(externaldir) && ( \
rm -f expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
cd ..; \
rm -f expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
rm -f expr-help.pd expr~-help.pd fexpr~-help.pd; \
)
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View file

@ -0,0 +1,97 @@
You can get more information on the expr object at
http://www.crca.ucsd.edu/~yadegari/expr.html
-----------
New if Version 0.4
-access to variables (made by value object)
-multiple expression separated by ;
-added the following shorthands:
$y or $y1 = $y1[-1] and $y2 = $y2[-1]
-new functions:
if - conditional evaluation
cbrt - cube root
erf - error function
erfc - complementary error function
expm1 - exponential minus 1,
log1p - logarithm of 1 plus
isinf - is the value infinite,
finite - is the value finite
isnan -- is the resut a nan (Not a number)
copysign - copy sign of a number
ldexp - multiply floating-point number by integral power of 2
imodf - get signed integral value from floating-point number
modf - get signed fractional value from floating-point number
drem - floating-point remainder function
Thanks to Orm Finnendahl for adding the following functions:
fmod - floating-point remainder function
ceil - ceiling function: smallest integral value not less than argument
floor - largest integral value not greater than argument
------------
New in Version 0.3
-Full function functionality
------------
The object "expr" is used for expression evaluaion of control data.
Expr~ and fexpr~ are extentions to the expr object to work with vectors.
The expr~ object is designed to efficiently combine signal and control
stream processing by vector operations on the basis of the block size of
the environment.
fexpr~ object provides a flexible mechanism for building FIR and
IIR filters by evaluating expressions on a sample by sample basis
and providing access to prior samples of the input and output audio
streams. When fractional offset is used, fexpr~ uses linear interpolation
to determine the value of the indexed sample. fexpr~ evaluates the
expression for every single sample and at every evaluation previous
samples (limited by the audio vector size) can be accessed. $x is used to
denote a singnal input whose samples we would like to access. The syntax
is $x followed by the inlet number and indexed by brackets, for example
$x1[-1] specifies the previous sample of the first inlet. Therefore,
if we are to build a simple filter which replaces every sample by
the average of that sample and its previous one, we would use "fexpr~
($x1[0]+$x1[-1])/2 ". For ease of when the brackets are omitted, the
current sample is implied, so we can right the previous filter expression
as follows: " fexpr~ ($x1+$x1[-1])/2". To build IIR filters $y is used
to access the previous samples of the output stream.
The three objects expr, expr~, and fexpr~ are implemented in the same object
so the files expr~.pd_linux and fexpr~.pd_linux are links to expr.pd_linux
This release has been compiled and tested on Linux 6.0.
--------
Here are some syntax information: (refer to help-expr.pd for examples)
Syntyax:
The syntax is very close to how expression are written in
C. Variables are specified as follows where the '#' stands
for the inlet number:
$i#: integer input variable
$f#: float input variable
$s#: symbol input variable
Used for expr~ only:
$v#: signal (vector) input (vector by vector evaluation)
Used for fexpr~ only:
$x#[n]: the sample from inlet # indexed by n, where n has to
satisfy 0 => n >= -vector size,
($x# is a shorthand for $x#[0], specifying the current sample)
$y#[n]: the output value indexed by n, where n has to
satisfy 0 > n >= -vector size,
$y[n] is a shorthand for $y1[n]
I'll appreciate hearing about bugs, comments, suggestions, ...
Shahrokh Yadegari (sdy@ucsd.edu)
7/10/02

View file

@ -0,0 +1,41 @@
/* fts_to_pd.h -- alias some fts names to compile in Pd.
copyright 1999 Miller Puckette;
permission is granted to use this file for any purpose.
*/
#define fts_malloc malloc
#define fts_calloc calloc
#define fts_free free
#define fts_realloc realloc
#define fts_atom_t t_atom
#define fts_object_t t_object
typedef t_symbol *fts_symbol_t;
#ifdef MSP
#define t_atom Atom
#define t_symbol Symbol
#define pd_new(x) newobject(x);
#define pd_free(x) freeobject(x);
#define t_outlet void
#define t_binbuf void
typedef t_class *t_pd;
typedef float t_floatarg;
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
void pd_error(void *object, char *fmt, ...);
#endif /* MSP */
#define post_error pd_error
#define fts_is_floatg(x) ((x)->a_type == A_FLOAT)
#define fts_new_symbol_copy gensym
#define fts_symbol_name(x) ((x)->s_name)

View file

@ -0,0 +1,157 @@
current: expr.pd_linux expr~.pd_linux fexpr~.pd_linux \
../expr.pd_linux ../expr~.pd_linux ../fexpr~.pd_linux
install: install_linux
clean: clean_linux
PDEXTERN=/usr/local/lib/pd/extra
# ----------------------- Microsoft Visual C -----------------------
MSCC = cl
MSLN = link
COPY = copy
DELETE = del
.SUFFIXES:.obj
pd_nt: expr.dll
NTOBJ = vexp.obj vexp_fun.obj vexp_if.obj
PDNTCFLAGS = /W3 /DNT /DPD /nologo
VC = "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC"
VSTK = "C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A"
PDNTINCLUDE = /I. /I..\\..\\src /I$(VC)\\include
PDNTLDIR = $(VC)\\lib
PDNTLIB = /NODEFAULTLIB:libcmt /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel32 \
$(PDNTLDIR)\\libcmt.lib $(PDNTLDIR)\\oldnames.lib \
$(VSTK)\\lib\\kernel32.lib \
..\\..\\bin\\pd.lib
.c.obj:
$(MSCC) $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
expr.dll: $(NTOBJ)
$(MSLN) /dll /export:expr_setup /export:expr_tilde_setup \
/export:fexpr_tilde_setup /OUT:expr.dll $(NTOBJ) $(PDNTLIB)
$(COPY) expr.dll ..\expr.dll
$(COPY) expr.dll ..\expr~.dll
$(COPY) expr.dll ..\fexpr~.dll
# ----------------------- LINUX i386 -----------------------
LINUXOBJ = vexp.pd_linux_o vexp_fun.pd_linux_o vexp_if.pd_linux_o
.SUFFIXES: .pd_linux_o
LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC \
-fno-strict-aliasing -Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch
LINUXINCLUDE = -I../../src
.c.pd_linux_o:
$(CC) -g $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.pd_linux_o -c $*.c
expr.pd_linux: $(LINUXOBJ)
$(CC) -shared -o expr.pd_linux $(LINUXOBJ) -lc -lm
expr~.pd_linux: expr.pd_linux
-ln -s expr.pd_linux expr~.pd_linux
fexpr~.pd_linux: expr.pd_linux
-ln -s expr.pd_linux fexpr~.pd_linux
../expr.pd_linux: expr.pd_linux
-ln -s expr~/expr.pd_linux ../expr.pd_linux
../expr~.pd_linux: expr.pd_linux
-ln -s expr~/expr.pd_linux ../expr~.pd_linux
../fexpr~.pd_linux: expr.pd_linux
-ln -s expr~/expr.pd_linux ../fexpr~.pd_linux
install_linux:
install expr.pd_linux $(PDEXTERN)
rm -f $(PDEXTERN)/expr~.pd_linux
rm -f $(PDEXTERN)/fexpr~.pd_linux
cd $(PDEXTERN); ln -s expr.pd_linux expr~.pd_linux
cd $(PDEXTERN); ln -s expr.pd_linux fexpr~.pd_linux
clean_linux:
rm -f *.pd_linux_o *.o
# ----------------------- MAC OSX -----------------------
MACOSXOBJ3 = vexp.d_ppc_o vexp_fun.d_ppc_o vexp_if.d_ppc_o
MACOSXOBJ = vexp.d_fat_o vexp_fun.d_fat_o vexp_if.d_fat_o
.SUFFIXES: .d_ppc_o .d_fat_o
MACOSXCFLAGS = -DMACOSX -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch
MACOSXINCLUDE = -I../../src
d_ppc: expr.d_ppc expr~.d_ppc fexpr~.d_ppc
.c.d_ppc_o:
$(CC) -g $(MACOSXCFLAGS) $(MACOSXINCLUDE) -o $*.d_ppc_o -c $*.c
expr.d_ppc: $(MACOSXOBJ3)
$(CC) -bundle -undefined suppress -flat_namespace \
-o expr.d_ppc $(MACOSXOBJ3) -lm
rm -f ../expr.d_ppc
-ln -s expr~/expr.d_ppc ..
expr~.d_ppc: expr.d_ppc
-ln -s expr.d_ppc expr~.d_ppc
rm -f ../expr~.d_ppc
-ln -s expr~/expr~.d_ppc ..
fexpr~.d_ppc: expr.d_ppc
-ln -s expr.d_ppc fexpr~.d_ppc
rm -f ../fexpr~.d_ppc
-ln -s expr~/fexpr~.d_ppc ..
install_d_fat:
install expr.d_fat $(PDEXTERN)
rm -f $(PDEXTERN)/expr~.d_fat
rm -f $(PDEXTERN)/fexpr~.d_fat
cd $(PDEXTERN); \
-ln -s expr.d_fat expr~.d_fat; \
-ln -s expr.d_fat fexpr~.d_fat
d_fat: expr.d_fat expr~.d_fat fexpr~.d_fat
.c.d_fat_o:
$(CC) -g $(MACOSXCFLAGS) $(MACOSXINCLUDE) -arch i386 -arch ppc \
-o $*.d_fat_o -c $*.c
expr.d_fat: $(MACOSXOBJ)
$(CC) -arch i386 -arch ppc -bundle -undefined suppress -flat_namespace \
-o expr.d_fat $(MACOSXOBJ) -lm
rm -f ../expr.d_fat
-ln -s expr~/expr.d_fat ..
expr~.d_fat: expr.d_fat
-ln -s expr.d_fat expr~.d_fat
rm -f ../expr~.d_fat
-ln -s expr~/expr~.d_fat ..
fexpr~.d_fat: expr.d_fat
-ln -s expr.d_fat fexpr~.d_fat
rm -f ../fexpr~.d_fat
-ln -s expr~/fexpr~.d_fat ..
install_d_ppc:
install expr.d_ppc $(PDEXTERN)
rm -f $(PDEXTERN)/expr~.d_ppc
rm -f $(PDEXTERN)/fexpr~.d_ppc
cd $(PDEXTERN); \
-ln -s expr.d_ppc expr~.d_ppc; \
-ln -s expr.d_ppc fexpr~.d_ppc
clean_d_ppc:
rm -f *.d_ppc_o *.o

2142
pd-0.44-2/extra/expr~/vexp.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,234 @@
/*
* jMax
* Copyright (C) 1994, 1995, 1998, 1999 by IRCAM-Centre Georges Pompidou, Paris, France.
*
* This is licensed under LGPL -- see the file, LICENSE.txt in this directory.
*
* Based on Max/ISPW by Miller Puckette.
*
* Authors: Maurizio De Cecco, Francois Dechelle, Enzo Maggi, Norbert Schnell.
*
*/
/* "expr" was written by Shahrokh Yadegari c. 1989. -msp */
/* "expr~" and "fexpr~" conversion by Shahrokh Yadegari c. 1999,2000 */
#define MSP
#ifdef PD
#undef MSP
#endif
#ifdef PD
#include "m_pd.h"
#else /* MSP */
#include "ext.h"
#include "z_dsp.h"
#endif
#include "fts_to_pd.h"
/* This is put in fts_to_pd.h
#ifdef MSP
#define t_atom Atom
#define t_symbol Symbol
#define pd_new(x) newobject(x);
#define t_outlet void
#endif
*/
/*
* Currently the maximum number of variables (inlets) that are supported
* is 10.
*/
#define MAX_VARS 9
#define MINODES 10 /* was 200 */
/* terminal defines */
/*
* operations
* (x<<16|y) x defines the level of precedence,
* the lower the number the lower the precedence
* separators are defines as operators just for convenience
*/
#define OP_SEMI ((long)(1<<16|1)) /* ; */
#define OP_COMMA ((long)(2<<16|2)) /* , */
#define OP_LOR ((long)(3<<16|3)) /* || */
#define OP_LAND ((long)(4<<16|4)) /* && */
#define OP_OR ((long)(5<<16|5)) /* | */
#define OP_XOR ((long)(6<<16|6)) /* ^ */
#define OP_AND ((long)(7<<16|7)) /* & */
#define OP_NE ((long)(8<<16|8)) /* != */
#define OP_EQ ((long)(8<<16|9)) /* == */
#define OP_GE ((long)(9<<16|10)) /* >= */
#define OP_GT ((long)(9<<16|11)) /* > */
#define OP_LE ((long)(9<<16|12)) /* <= */
#define OP_LT ((long)(9<<16|13)) /* < */
#define OP_SR ((long)(10<<16|14)) /* >> */
#define OP_SL ((long)(10<<16|15)) /* << */
#define OP_SUB ((long)(11<<16|16)) /* - */
#define OP_ADD ((long)(11<<16|17)) /* + */
#define OP_MOD ((long)(12<<16|18)) /* % */
#define OP_DIV ((long)(12<<16|19)) /* / */
#define OP_MUL ((long)(12<<16|20)) /* * */
#define OP_UMINUS ((long)(13<<16|21)) /* - unary minus */
#define OP_NEG ((long)(13<<16|22)) /* ~ one complement */
#define OP_NOT ((long)(13<<16|23)) /* ! */
#define OP_RB ((long)(14<<16|24)) /* ] */
#define OP_LB ((long)(14<<16|25)) /* [ */
#define OP_RP ((long)(14<<16|26)) /* ) */
#define OP_LP ((long)(14<<16|27)) /* ( */
#define OP_STORE ((long)(15<<16|28)) /* = */
#define HI_PRE ((long)(100<<16)) /* infinite precedence */
#define PRE_MASK ((long)0xffff0000) /* precedence level mask */
struct ex_ex;
#define name_ok(c) (((c)=='_') || ((c)>='a' && (c)<='z') || \
((c)>='A' && (c)<='Z') || ((c) >= '0' && (c) <= '9'))
#define unary_op(x) ((x) == OP_NOT || (x) == OP_NEG || (x) == OP_UMINUS)
struct ex_ex {
union {
long v_int;
t_float v_flt;
t_float *v_vec; /* this is an for allocated vector */
long op;
char *ptr;
} ex_cont; /* content */
#define ex_int ex_cont.v_int
#define ex_flt ex_cont.v_flt
#define ex_vec ex_cont.v_vec
#define ex_op ex_cont.op
#define ex_ptr ex_cont.ptr
long ex_type; /* type of the node */
};
#define exNULL ((struct ex_ex *)0)
/* defines for ex_type */
#define ET_INT 1 /* an int */
#define ET_FLT 2 /* a float */
#define ET_OP 3 /* operator */
#define ET_STR 4 /* string */
#define ET_TBL 5 /* a table, the content is a pointer */
#define ET_FUNC 6 /* a function */
#define ET_SYM 7 /* symbol ("string") */
#define ET_VSYM 8 /* variable symbol ("$s?") */
/* we treat parenthesis and brackets */
/* special to keep a pointer to their */
/* match in the content */
#define ET_LP 9 /* left parenthesis */
#define ET_LB 10 /* left bracket */
#define ET_II 11 /* and integer inlet */
#define ET_FI 12 /* float inlet */
#define ET_SI 13 /* string inlet */
#define ET_VI 14 /* signal inlet */
#define ET_VEC 15 /* allocated signal vector */
/* special types for fexpr~ */
#define ET_YO 16 /* vector output for fexpr~ */
#define ET_YOM1 17 /* shorthand for $y?[-1] */
#define ET_XI 18 /* vector input for fexpr~ */
#define ET_XI0 20 /* shorthand for $x?[0] */
#define ET_VAR 21 /* variable */
/* defines for ex_flags */
#define EF_TYPE_MASK 0x07 /* first three bits define the type of expr */
#define EF_EXPR 0x01 /* expr - control in and out */
#define EF_EXPR_TILDE 0x02 /* expr~ signal and control in, signal out */
#define EF_FEXPR_TILDE 0x04 /* fexpr~ filter expression */
#define EF_STOP 0x08 /* is it stopped used for expr~ and fexpr~ */
#define EF_VERBOSE 0x10 /* verbose mode */
#define IS_EXPR(x) ((((x)->exp_flags&EF_TYPE_MASK)|EF_EXPR) == EF_EXPR)
#define IS_EXPR_TILDE(x) \
((((x)->exp_flags&EF_TYPE_MASK)|EF_EXPR_TILDE)==EF_EXPR_TILDE)
#define IS_FEXPR_TILDE(x) \
((((x)->exp_flags&EF_TYPE_MASK)|EF_FEXPR_TILDE)==EF_FEXPR_TILDE)
#define SET_EXPR(x) (x)->exp_flags |= EF_EXPR; \
(x)->exp_flags &= ~EF_EXPR_TILDE; \
(x)->exp_flags &= ~EF_FEXPR_TILDE;
#define SET_EXPR_TILDE(x) (x)->exp_flags &= ~EF_EXPR; \
(x)->exp_flags |= EF_EXPR_TILDE; \
(x)->exp_flags &= ~EF_FEXPR_TILDE;
#define SET_FEXPR_TILDE(x) (x)->exp_flags &= ~EF_EXPR; \
(x)->exp_flags &= ~EF_EXPR_TILDE; \
(x)->exp_flags |= EF_FEXPR_TILDE;
/*
* defines for expr_error
*/
#define EE_DZ 0x01 /* divide by zero error */
#define EE_BI_OUTPUT 0x02 /* Bad output index */
#define EE_BI_INPUT 0x04 /* Bad input index */
#define EE_NOTABLE 0x08 /* NO TABLE */
#define EE_NOVAR 0x10 /* NO VARIABLE */
typedef struct expr {
#ifdef PD
t_object exp_ob;
#else /* MSP */
t_pxobject exp_ob;
#endif
int exp_flags; /* are we expr~, fexpr~, or expr */
int exp_error; /* reported errors */
int exp_nexpr; /* number of expressions */
char *exp_string; /* the full expression string */
char *exp_str; /* current parsing position */
t_outlet *exp_outlet[MAX_VARS];
#ifdef PD
struct _exprproxy *exp_proxy;
#else /* MAX */
void *exp_proxy[MAX_VARS];
long exp_proxy_id;
#endif
struct ex_ex *exp_stack[MAX_VARS];
struct ex_ex exp_var[MAX_VARS];
struct ex_ex exp_res[MAX_VARS]; /* the evluation result */
t_float *exp_p_var[MAX_VARS];
t_float *exp_p_res[MAX_VARS]; /* the previous evaluation result */
t_float *exp_tmpres[MAX_VARS]; /* temporty result for fexpr~ */
int exp_vsize; /* the size of the signal vector */
int exp_nivec; /* # of vector inlets */
t_float exp_f; /* control value to be transformed to signal */
} t_expr;
typedef struct ex_funcs {
char *f_name; /* function name */
void (*f_func)(t_expr *, long, struct ex_ex *, struct ex_ex *);
/* the real function performing the function (void, no return!!!) */
long f_argc; /* number of arguments */
} t_ex_func;
/* function prototypes for pd-related functions called withing vexp.h */
extern int max_ex_tab(struct expr *expr, t_symbol *s, struct ex_ex *arg, struct ex_ex *optr);
extern int max_ex_var(struct expr *expr, t_symbol *s, struct ex_ex *optr);
extern int ex_getsym(char *p, t_symbol **s);
extern const char *ex_symname(t_symbol *s);
void ex_mkvector(t_float *fp, t_float x, int size);
extern void ex_size(t_expr *expr, long int argc, struct ex_ex *argv,
struct ex_ex *optr);
extern void ex_sum(t_expr *expr, long int argc, struct ex_ex *argv, struct ex_ex *optr);
extern void ex_Sum(t_expr *expr, long int argc, struct ex_ex *argv, struct ex_ex *optr);
extern void ex_avg(t_expr *expr, long int argc, struct ex_ex *argv, struct ex_ex *optr);
extern void ex_Avg(t_expr *expr, long int argc, struct ex_ex *argv, struct ex_ex *optr);
extern void ex_store(t_expr *expr, long int argc, struct ex_ex *argv, struct ex_ex *optr);
int value_getonly(t_symbol *s, t_float *f);
/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
#ifdef _MSC_VER
#pragma warning (disable: 4305 4244)
#endif
#ifdef _WIN32
#define abort ABORT
void ABORT(void);
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=fiddle~
external_LTLIBRARIES = fiddle~.la
SOURCES = fiddle~.c
PATCHES = fiddle~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/fiddle~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
fiddle__la_LIBADD =
fiddle__la_SOURCES = fiddle~.c
fiddle__la_OBJECTS = fiddle~.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = fiddle~.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = fiddle~
external_LTLIBRARIES = fiddle~.la
SOURCES = fiddle~.c
PATCHES = fiddle~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/fiddle~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/fiddle~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
fiddle~.la: $(fiddle__la_OBJECTS) $(fiddle__la_DEPENDENCIES) $(EXTRA_fiddle__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(fiddle__la_OBJECTS) $(fiddle__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fiddle~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,142 @@
#N canvas 93 26 980 745 10;
#X obj 262 522 phasor~;
#X obj 531 616 unpack;
#X floatatom 531 666 0 0 0 0 - - -;
#X msg 437 449 print;
#X obj 262 500 sig~;
#X floatatom 262 478 0 0 0 0 - - -;
#X obj 262 456 mtof;
#X floatatom 262 434 0 0 0 0 - - -;
#X floatatom 545 643 0 0 0 0 - - -;
#X obj 531 576 route 1 2 3 4;
#X obj 614 616 unpack;
#X floatatom 614 666 0 0 0 0 - - -;
#X floatatom 628 643 0 0 0 0 - - -;
#X obj 698 616 unpack;
#X floatatom 698 666 0 0 0 0 - - -;
#X floatatom 712 643 0 0 0 0 - - -;
#X obj 389 616 unpack;
#X floatatom 389 666 0 0 0 0 - - -;
#X floatatom 403 643 0 0 0 0 - - -;
#X obj 334 545 *~;
#X obj 322 394 loadbang;
#X obj 353 522 sig~;
#X floatatom 353 500 0 0 0 0 - - -;
#X msg 322 478 1;
#X msg 353 478 0;
#X floatatom 466 666 0 0 0 0 - - -;
#X obj 281 666 print attack;
#X obj 190 666 print pitch;
#X msg 555 45 \; pd dsp 1;
#X text 460 39 click here;
#X text 460 61 to start DSP;
#X text 226 4 FIDDLE - pitch estimator and sinusoidal peak finder;
#X text 8 70 The Fiddle object estimates the pitch and amplitude of
an incoming sound \, both continuously and as a stream of discrete
"note" events. Fiddle optionally outputs a list of detected sinusoidal
peaks used to make the pitch determination. Fiddle is described theoretically
in the 1998 ICMC proceedings \, reprinted on http://man104nfs.ucsd.edu/~mpuckett.
;
#X text 8 170 Fiddle's creation arguments specify an analysis window
size \, the maximum polyphony (i.e. \, the number of simultaneous "pitches"
to try to find) \, the number of peaks in the spectrum to consider
\, and the number of peaks \, if any \, to output "raw." The outlets
give discrete pitch (a number) \, detected attacks in the amplitude
envelope (a bang) \, one or more voices of continuous pitch and amplitude
\, overall amplitude \, and optionally a sequence of messages with
the peaks.;
#X text 8 296 The analysis hop size is half the window size so in the
example shown here \, one analysis is done every 512 samples (11.6
msec at 44K1) \, and the analysis uses the most recent 1024 samples
(23.2 msec at 44K1). The minimum frequency that Fiddle will report
is 2-1/2 cycles per analysis windows \, or about 108 Hz. (just below
MIDI 45.);
#X text 669 535 number of pitch outlets (1-3 \, default 1);
#X text 669 557 number of peaks to find (1-100 \, default 20);
#X text 669 579 number of peaks to output (default 0.);
#X msg 441 107 amp-range 40 50;
#X msg 439 227 reattack 100 10;
#X msg 438 282 npartial 7;
#X msg 438 170 vibrato 50 0.5;
#X text 560 91 a low and high amplitude threshold: if signal amplitude
is below the low threshold \, no pitches or peaks are output. The high
threshold is a minimum at which "cooked" outputs may appear.;
#X text 560 152 A period in milliseconds (50) over which the raw pitch
may not deviate more than an interval in half-tones (0.5) from the
average pitch to report it as a note to the "cooked" pitch outlet.
;
#X text 560 213 A period in milliseconds (100) over which a re-attack
is reported if the amplitude rises more than (1) dB. The re-attack
will result in a "bang" in the attack outlet and may give rise to repeated
notes in the cooked pitch output.;
#X text 142 432 test input pitch;
#X text 330 444 test input;
#X text 330 457 amplitude;
#X obj 410 545 fiddle~ 1024 1 20 3;
#X text 538 690 individual sinusoidal components;
#X text 466 688 amplitude;
#X text 476 703 (dB);
#X text 389 688 raw pitch;
#X text 376 712 and amplitude;
#X text 364 729 (up to 3 outputs);
#X text 287 686 bang on;
#X text 287 708 attack;
#X text 185 686 cooked pitch;
#X text 202 703 output;
#X text 545 545 ------ arguments:;
#X msg 262 412 57;
#X msg 440 331 auto 1;
#X msg 440 353 auto 0;
#X msg 439 418 bang;
#X text 561 416 poll current values --- useful if not in auto mode
\,;
#X text 560 274 Higher partials are weighed less strongly than lower
ones in determining the pitch. This specifies the number of the partial
(7) which will be weighted half as strongly as the fundamental.;
#X text 560 335 start and stop "auto" mode (on by default.) If off
\, output only appears on "bang" (poll mode).;
#X text 561 448 print out all settings;
#X text 669 513 window size (128-2048 \, default 1024);
#X msg 440 375 npoints 2048;
#X text 562 384 number of points in analysis window (power of 2 \,
128-2048);
#X msg 439 396 npoints 1024;
#X connect 0 0 19 0;
#X connect 1 0 2 0;
#X connect 1 1 8 0;
#X connect 3 0 48 0;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
#X connect 9 0 1 0;
#X connect 9 1 10 0;
#X connect 9 2 13 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 13 0 14 0;
#X connect 13 1 15 0;
#X connect 16 0 17 0;
#X connect 16 1 18 0;
#X connect 19 0 48 0;
#X connect 20 0 60 0;
#X connect 20 0 23 0;
#X connect 21 0 19 1;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 24 0 22 0;
#X connect 38 0 48 0;
#X connect 39 0 48 0;
#X connect 40 0 48 0;
#X connect 41 0 48 0;
#X connect 48 0 27 0;
#X connect 48 1 26 0;
#X connect 48 2 16 0;
#X connect 48 3 25 0;
#X connect 48 4 9 0;
#X connect 60 0 7 0;
#X connect 61 0 48 0;
#X connect 62 0 48 0;
#X connect 63 0 48 0;
#X connect 69 0 48 0;
#X connect 71 0 48 0;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
NAME=fiddle~
CSYM=fiddle_tilde
include ../makefile.subdir

View file

@ -0,0 +1,18 @@
#N canvas 156 234 600 488 12;
#X obj 67 124 hilbert~;
#X obj 66 85 osc~ 440;
#X graph graph1 0 -1 882 1 279 209 579 39;
#X array out-left 882 float;
#X array out-right 882 float;
#X pop;
#X obj 67 274 tabwrite~ out-left;
#X obj 118 248 tabwrite~ out-right;
#X msg 137 188 bang \; pd dsp 1;
#X floatatom 66 57;
#X text 71 319 The Hilbert transform (the name is abused here according to computer music tradition) puts out a phase quadrature version of the input signal suitable for signal sideband modulation via complex-mod~.;
#X connect 0 0 3 0;
#X connect 0 1 4 0;
#X connect 1 0 0 0;
#X connect 5 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 1 0;

View file

@ -0,0 +1,27 @@
#N canvas 269 0 593 306 12;
#X obj 105 92 biquad~ 0.83774 -0.06338 0.06338 -0.83774 1;
#X obj 105 66 biquad~ 1.94632 -0.94657 0.94657 -1.94632 1;
#X obj 86 149 biquad~ -0.02569 0.260502 -0.260502 0.02569 1;
#X obj 86 175 biquad~ 1.8685 -0.870686 0.870686 -1.8685 1;
#X obj 86 39 inlet~;
#X obj 105 121 outlet~;
#X obj 86 202 outlet~;
#X text 34 232 This is a pair of 4th-order all-pass filters whose outputs
somehow manage to be about 90 degrees out of phase from each other.
Both have different phases from the original. Adapted from a 4X patch
by Emmanuel Favreau \, circa 1982;
#X obj 502 39 inlet;
#X text 461 13 bang to clear;
#X text 80 16 signal in;
#X msg 502 112 clear;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 1 0;
#X connect 4 0 2 0;
#X connect 8 0 11 0;
#X connect 11 0 1 0;
#X connect 11 0 0 0;
#X connect 11 0 2 0;
#X connect 11 0 3 0;

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=loop~
external_LTLIBRARIES = loop~.la
SOURCES = loop~.c
PATCHES = loop~-help.pd test-loop~.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/loop~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
loop__la_LIBADD =
loop__la_SOURCES = loop~.c
loop__la_OBJECTS = loop~.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = loop~.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = loop~
external_LTLIBRARIES = loop~.la
SOURCES = loop~.c
PATCHES = loop~-help.pd test-loop~.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/loop~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/loop~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
loop~.la: $(loop__la_OBJECTS) $(loop__la_DEPENDENCIES) $(EXTRA_loop__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(loop__la_OBJECTS) $(loop__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,74 @@
#N canvas 234 90 647 662 12;
#X floatatom 41 204 0 0 0 0 - - -;
#X obj 254 382 print~;
#X msg 254 347 bang;
#X obj 41 338 loop~;
#X floatatom 66 279 0 0 0 0 - - -;
#X msg 55 252 bang;
#X obj 183 382 print~;
#X msg 183 347 bang;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array2 150000 float 0;
#X coords 0 1 150000 -1 200 150 1;
#X restore 393 464 graph;
#X msg 393 622 \; array2 resize 150000;
#X obj 25 613 soundfiler;
#X obj 16 453 tabread4~ array2;
#X obj 16 407 *~;
#X obj 16 522 dac~;
#X obj 16 499 hip~ 5;
#X obj 62 411 samphold~;
#X obj 16 430 +~;
#X floatatom 96 303 0 0 0 0 - - -;
#X obj 96 326 *~ 1000;
#X msg 43 568 read ../doc/sound/bell.aiff array2;
#X msg 47 229 set 0.5;
#X text 95 196 left signal input is transposition (1 is normal \, 2
is up an octave \, etc);
#X text 82 4 loop~ - phase generator for looping samplers;
#X text 116 228 set phase (0 to 1);
#X text 104 253 reset phase to 0;
#X text 104 278 right signal input is window size in samples;
#X text 134 302 here's how to handle onsets;
#X obj 16 476 *~;
#X floatatom 167 432 0 0 0 0 - - -;
#X obj 167 501 line~;
#X obj 167 455 dbtorms;
#X obj 167 478 pack 0 50;
#X text 201 431 output level 0-100;
#X text 187 326 print outputs;
#X text 33 32 loop~ takes input signals to set a window size and transposition
\, and outputs a phase and a sampled window size. The window size only
changes at phase zero crossings and the phase output is adjusted so
that changing window size doesn't change the transposition.;
#X text 33 112 You can send "bang" or "set" message to force the phase
to zero--you should mute the output before doing so. This may be desirable
if you've set a large window size but then want to decrease it without
waiting for the next phase crossing.;
#X msg 43 591 read ../doc/sound/voice.wav array2;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 3 0 12 0;
#X connect 3 0 15 1;
#X connect 3 1 1 0;
#X connect 3 1 12 1;
#X connect 4 0 3 1;
#X connect 5 0 3 0;
#X connect 7 0 6 0;
#X connect 11 0 27 0;
#X connect 12 0 16 0;
#X connect 14 0 13 0;
#X connect 14 0 13 1;
#X connect 15 0 16 1;
#X connect 16 0 11 0;
#X connect 17 0 18 0;
#X connect 18 0 15 0;
#X connect 19 0 10 0;
#X connect 20 0 3 0;
#X connect 27 0 14 0;
#X connect 28 0 30 0;
#X connect 29 0 27 1;
#X connect 30 0 31 0;
#X connect 31 0 29 0;
#X connect 36 0 10 0;

View file

@ -0,0 +1,169 @@
/* loop~ -- loop generator for sampling */
/* Copyright 1997-1999 Miller Puckette.
Permission is granted to use this software for any purpose provided you
keep this copyright notice intact.
THE AUTHOR AND HIS EMPLOYERS MAKE NO WARRANTY, EXPRESS OR IMPLIED,
IN CONNECTION WITH THIS SOFTWARE.
This file is downloadable from http://www.crca.ucsd.edu/~msp .
*/
#ifdef PD
#include "m_pd.h"
#else
#define t_sample float
#define t_float float
#endif
typedef struct _loopctl
{
double l_phase;
t_sample l_invwindow;
t_sample l_window;
int l_resync;
} t_loopctl;
static void loopctl_run(t_loopctl *x, t_sample *transposein,
t_sample *windowin, t_sample *rawout, t_sample *windowout, int n)
{
t_sample window, invwindow;
double phase = x->l_phase;
if (x->l_resync)
{
window = *windowin;
if (window < 0)
{
if (window > -1)
window = -1;
invwindow = -1/window;
}
else
{
if (window < 1)
window = 1;
invwindow = 1/window;
}
x->l_resync = 0;
}
else
{
window = x->l_window;
phase = x->l_phase;
invwindow = x->l_invwindow;
}
while (n--)
{
double phaseinc = invwindow * *transposein++;
double newphase;
t_sample nwind = *windowin++;
if (phaseinc >= 1 || phaseinc < 0)
phaseinc = 0;
newphase = phase + phaseinc;
if (newphase >= 1)
{
window = nwind;
if (window < 0)
{
if (window > -1)
window = -1;
invwindow = -1/window;
}
else
{
if (window < 1)
window = 1;
invwindow = 1/window;
}
newphase -= 1.;
}
phase = newphase;
*rawout++ = (t_sample)phase;
*windowout++ = window;
}
x->l_invwindow = invwindow;
x->l_window = window;
x->l_phase = phase;
}
static void loopctl_init(t_loopctl *x)
{
x->l_window = 1;
x->l_invwindow = 1;
x->l_phase = 0;
}
static void loopctl_set(t_loopctl *x, t_float val)
{
if (val < 0 || val > 1)
val = 0;
x->l_phase = val;
x->l_resync = 1;
}
#ifdef PD
typedef struct _loop
{
t_object x_obj;
t_float x_f;
t_loopctl x_loopctl;
} t_loop;
static t_class *loop_class;
static void *loop_new(void)
{
t_loop *x = (t_loop *)pd_new(loop_class);
loopctl_init(&x->x_loopctl);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
outlet_new(&x->x_obj, gensym("signal"));
outlet_new(&x->x_obj, gensym("signal"));
return (x);
}
static t_int *loop_perform(t_int *w)
{
t_loopctl *ctl = (t_loopctl *)(w[1]);
t_sample *in1 = (t_sample *)(w[2]);
t_sample *in2 = (t_sample *)(w[3]);
t_sample *out1 = (t_sample *)(w[4]);
t_sample *out2 = (t_sample *)(w[5]);
int n = (int)(w[6]);
loopctl_run(ctl, in1, in2, out1, out2, n);
return (w+7);
}
static void loop_dsp(t_loop *x, t_signal **sp)
{
dsp_add(loop_perform, 6,
&x->x_loopctl, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec,
sp[0]->s_n);
}
static void loop_set(t_loop *x, t_floatarg val)
{
loopctl_set(&x->x_loopctl, val);
}
static void loop_bang(t_loop *x)
{
loopctl_set(&x->x_loopctl, 0);
}
void loop_tilde_setup(void)
{
loop_class = class_new(gensym("loop~"), (t_newmethod)loop_new, 0,
sizeof(t_loop), 0, 0);
class_addmethod(loop_class, (t_method)loop_dsp, gensym("dsp"), A_CANT, 0);
CLASS_MAINSIGNALIN(loop_class, t_loop, x_f);
class_addmethod(loop_class, (t_method)loop_set, gensym("set"),
A_DEFFLOAT, 0);
class_addbang(loop_class, loop_bang);
}
#endif /* PD */

View file

@ -0,0 +1,4 @@
NAME=loop~
CSYM=loop_tilde
include ../makefile.subdir

View file

@ -0,0 +1,58 @@
#N canvas 33 0 680 609 12;
#X floatatom 52 262 0 0 0 0 - - -;
#X obj 261 346 print~;
#X msg 47 373 bang;
#X msg 274 313 bang;
#X obj 52 306 loop~;
#X floatatom 102 245 0 0 0 0 - - -;
#N canvas 0 0 450 300 graph1 0;
#X array array1 44100 float 0;
#X coords 0 10 44100 0 200 150 1;
#X restore 65 17 graph;
#X msg 43 204 \; array1 resize 44100;
#X obj 25 401 tabwrite~ array1;
#X msg 208 371 bang;
#X obj 176 402 tabwrite~ array1;
#X msg 194 261 bang;
#X obj 204 347 print~;
#X msg 217 314 bang;
#N canvas 0 0 450 300 graph1 0;
#X array array2 150000 float 0;
#X coords 0 1 150000 -1 200 150 1;
#X restore 332 398 graph;
#X msg 326 274 \; array2 resize 150000;
#X obj 103 529 tabread4~ array2;
#X obj 64 481 *~;
#X obj 107 581 dac~;
#X obj 105 552 hip~ 5;
#X obj 123 482 samphold~;
#X obj 102 506 +~;
#X floatatom 106 430 0 0 0 0 - - -;
#X obj 108 453 *~ 1000;
#X obj 312 215 soundfiler;
#X msg 330 170 read ../doc/sound/bell.aiff array2;
#X msg 330 193 read ../doc/sound/vocal.aiff array2;
#X connect 0 0 4 0;
#X connect 2 0 8 0;
#X connect 3 0 1 0;
#X connect 4 0 12 0;
#X connect 4 0 17 0;
#X connect 4 0 8 0;
#X connect 4 0 20 1;
#X connect 4 1 10 0;
#X connect 4 1 1 0;
#X connect 4 1 17 1;
#X connect 5 0 4 1;
#X connect 9 0 10 0;
#X connect 11 0 4 0;
#X connect 13 0 12 0;
#X connect 16 0 19 0;
#X connect 17 0 21 0;
#X connect 19 0 18 0;
#X connect 19 0 18 1;
#X connect 20 0 21 1;
#X connect 21 0 16 0;
#X connect 22 0 23 0;
#X connect 23 0 20 0;
#X connect 25 0 24 0;
#X connect 26 0 24 0;

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=lrshift~
external_LTLIBRARIES = lrshift~.la
SOURCES = lrshift~.c
PATCHES = lrshift~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/lrshift~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
lrshift__la_LIBADD =
lrshift__la_SOURCES = lrshift~.c
lrshift__la_OBJECTS = lrshift~.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = lrshift~.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = lrshift~
external_LTLIBRARIES = lrshift~.la
SOURCES = lrshift~.c
PATCHES = lrshift~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/lrshift~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/lrshift~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
lrshift~.la: $(lrshift__la_OBJECTS) $(lrshift__la_DEPENDENCIES) $(EXTRA_lrshift__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(lrshift__la_OBJECTS) $(lrshift__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lrshift~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,33 @@
#N canvas 143 0 673 325 12;
#X msg 268 277 bang;
#X obj 244 303 print~;
#X msg 185 278 bang;
#X obj 161 304 print~;
#X text 53 117 click here first;
#X msg 72 270 bang;
#X obj 48 296 print~;
#X text 162 222 shift left;
#X text 243 224 shift right;
#X obj 161 252 lrshift~ 1;
#X obj 244 251 lrshift~ -1;
#X text 39 37 Acting at whatever vector size the window is running
at \, lrshift~ shifts samples to the left (toward the beginning sample)
or to the right. The argument gives the direction and the amount of
the shift. The rightmost (or leftmost) samples are set to zero.;
#N canvas 0 0 450 300 (subpatch) 0;
#X array shiftin 64 float 0;
#X coords 0 1 63 0 200 140 1;
#X restore 448 118 graph;
#X text 115 11 -- shift signal vector elements left or right;
#X msg 54 138 \; pd dsp 1 \; shiftin 1 1;
#X obj 48 204 tabreceive~ shiftin;
#X text 525 308 Updated for Pd 0.31.;
#X obj 47 11 lrshift~;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 5 0 6 0;
#X connect 9 0 3 0;
#X connect 10 0 1 0;
#X connect 15 0 6 0;
#X connect 15 0 9 0;
#X connect 15 0 10 0;

View file

@ -0,0 +1,76 @@
#include "m_pd.h"
/* ------------------------ lrshift~ ----------------------------- */
static t_class *lrshift_tilde_class;
typedef struct _lrshift_tilde
{
t_object x_obj;
int x_n;
t_float x_f;
} t_lrshift_tilde;
static t_int *leftshift_perform(t_int *w)
{
t_sample *in = (t_sample *)(w[1]);
t_sample *out= (t_sample *)(w[2]);
int n = (int)(w[3]);
int shift = (int)(w[4]);
in += shift;
n -= shift;
while (n--)
*out++ = *in++;
while (shift--)
*out++ = 0;
return (w+5);
}
static t_int *rightshift_perform(t_int *w)
{
t_sample *in = (t_sample *)(w[1]);
t_sample *out= (t_sample *)(w[2]);
int n = (int)(w[3]);
int shift = (int)(w[4]);
n -= shift;
in -= shift;
while (n--)
*--out = *--in;
while (shift--)
*--out = 0;
return (w+5);
}
static void lrshift_tilde_dsp(t_lrshift_tilde *x, t_signal **sp)
{
int n = sp[0]->s_n;
int shift = x->x_n;
if (shift > n)
shift = n;
if (shift < -n)
shift = -n;
if (shift < 0)
dsp_add(rightshift_perform, 4,
sp[0]->s_vec + n, sp[1]->s_vec + n, n, -shift);
else dsp_add(leftshift_perform, 4,
sp[0]->s_vec, sp[1]->s_vec, n, shift);
}
static void *lrshift_tilde_new(t_floatarg f)
{
t_lrshift_tilde *x = (t_lrshift_tilde *)pd_new(lrshift_tilde_class);
x->x_n = f;
x->x_f = 0;
outlet_new(&x->x_obj, gensym("signal"));
return (x);
}
void lrshift_tilde_setup(void)
{
lrshift_tilde_class = class_new(gensym("lrshift~"),
(t_newmethod)lrshift_tilde_new, 0, sizeof(t_lrshift_tilde), 0,
A_DEFFLOAT, 0);
CLASS_MAINSIGNALIN(lrshift_tilde_class, t_lrshift_tilde, x_f);
class_addmethod(lrshift_tilde_class, (t_method)lrshift_tilde_dsp,
gensym("dsp"), 0);
}

View file

@ -0,0 +1,4 @@
NAME=lrshift~
CSYM=lrshift_tilde
include ../makefile.subdir

View file

@ -0,0 +1,83 @@
# this is the UNIX-style complicated layout dir, simple goes to $(prefix)/pd
prefix = /usr/local
libpddir = $(prefix)/lib/pd
.PHONY:
current: pd_linux
# ----------------------- Microsoft Visual C -----------------------
MSCC = cl
MSLN = link
pd_nt: $(NAME).dll
.SUFFIXES: .dll
PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -D_CRT_SECURE_NO_WARNINGS \
-D_CRT_NONSTDC_NO_DEPRECATE
VC = "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC"
VSTK = "C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A"
PDNTINCLUDE = /I. /I..\\..\\src /I$(VC)\\include
PDNTLDIR = $(VC)\\lib
PDNTLIB = /NODEFAULTLIB:libcmt /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel32 \
$(PDNTLDIR)\\libcmt.lib $(PDNTLDIR)\\oldnames.lib \
$(VSTK)\\lib\\kernel32.lib \
..\\..\\bin\\pd.lib
.c.dll:
$(MSCC) $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
$(MSLN) /nologo /dll /export:$(CSYM)_setup $*.obj $(PDNTLIB)
# ----------------------- LINUX i386 -----------------------
pd_linux: $(NAME).pd_linux
.SUFFIXES: .pd_linux
LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC \
-Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch $(CFLAGS)
LINUXINCLUDE = -I../../src
.c.pd_linux:
$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -shared -o $*.pd_linux $*.o -lc -lm
rm -f $*.o
# ----------------------- Mac OSX -----------------------
d_ppc: $(NAME).d_ppc
d_fat: $(NAME).d_fat
.SUFFIXES: .d_ppc .d_fat
DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch
.c.d_ppc:
$(CC) $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o
rm -f $*.o
.c.d_fat:
$(CC) -arch i386 -arch ppc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -arch i386 -arch ppc -bundle -undefined suppress -flat_namespace \
-o $*.d_fat $*.o
rm -f $*.o
# ----------------------------------------------------------
distclean clean: clean-externals
rm -f *.o *.pd_* *.l_* *.d_* *.m_* so_locations
# ----------------------------------------------------------
# ----------------------------------------------------------
install:
install -d $(DESTDIR)$(libpddir)/extra/$(NAME)
install -m644 -p *.*_* $(DESTDIR)$(libpddir)/extra/$(NAME)
install -m644 -p *.pd $(DESTDIR)$(libpddir)/extra/$(NAME)

View file

@ -0,0 +1,31 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=pd~
PATCHES = pd~-help.pd pd~-subprocess.pd
OTHERDATA =
pd__la_SOURCES = pd~.c
pdsched_la_SOURCES = pdsched.c
external_LTLIBRARIES = pd~.la pdsched.la
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,621 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/pd~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
pdsched_la_LIBADD =
am_pdsched_la_OBJECTS = pdsched.lo
pdsched_la_OBJECTS = $(am_pdsched_la_OBJECTS)
pd__la_LIBADD =
am_pd__la_OBJECTS = pd~.lo
pd__la_OBJECTS = $(am_pd__la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(pdsched_la_SOURCES) $(pd__la_SOURCES)
DIST_SOURCES = $(pdsched_la_SOURCES) $(pd__la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = pd~
PATCHES = pd~-help.pd pd~-subprocess.pd
OTHERDATA =
pd__la_SOURCES = pd~.c
pdsched_la_SOURCES = pdsched.c
external_LTLIBRARIES = pd~.la pdsched.la
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/pd~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/pd~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
pdsched.la: $(pdsched_la_OBJECTS) $(pdsched_la_DEPENDENCIES) $(EXTRA_pdsched_la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(pdsched_la_OBJECTS) $(pdsched_la_LIBADD) $(LIBS)
pd~.la: $(pd__la_OBJECTS) $(pd__la_DEPENDENCIES) $(EXTRA_pd__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(pd__la_OBJECTS) $(pd__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdsched.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pd~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,14 @@
NAME=pd~
CSYM=pd_tilde
include ../makefile.subdir
pd_linux: pdsched.pd_linux
d_fat: pdsched.d_fat
d_ppc: pdsched.d_ppc
pdsched.pd_linux: pdsched.c
$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -shared -o $*.pd_linux $*.o -lc -lm
rm -f $*.o

View file

@ -0,0 +1,8 @@
pd -schedlib `pwd`/pdsched
dolist:
pd~ to delay starting subproc until asked
figure out about setting nchannels from command line
fix maximum nchannels in and out

View file

@ -0,0 +1,106 @@
/* Copyright 2008 Miller Puckette. Berkeley license; see the
file LICENSE.txt in this distribution. */
/* A plug-in scheduler that turns Pd into a filter that inputs and
outputs audio and messages. */
/* todo:
fix schedlib code to use extent2
figure out about if (sys_externalschedlib) { return; } in s_audio.c
make buffer size ynamically growable
*/
#include "m_pd.h"
#include "s_stuff.h"
#include <stdio.h>
#define BUFSIZE 65536
static char inbuf[BUFSIZE];
#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
void glob_watchdog(t_pd *dummy);
static void pollwatchdog( void)
{
static int sched_diddsp, sched_nextpingtime;
sched_diddsp++;
if (sys_nogui && sys_hipriority && (sched_diddsp - sched_nextpingtime > 0))
{
glob_watchdog(0);
/* ping every 2 seconds */
sched_nextpingtime = sched_diddsp +
2 * (int)(sys_dacsr /(double)sys_schedblocksize);
}
}
#endif
int pd_extern_sched(char *flags)
{
int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV];
int naudiooutdev, audiooutdev[MAXAUDIOOUTDEV], choutdev[MAXAUDIOOUTDEV];
int i, j, rate, advance, callback, chin, chout, fill = 0, c, blocksize;
t_binbuf *b = binbuf_new();
sys_get_audio_params(&naudioindev, audioindev, chindev,
&naudiooutdev, audiooutdev, choutdev, &rate, &advance, &callback,
&blocksize);
chin = (naudioindev < 1 ? 0 : chindev[0]);
chout = (naudiooutdev < 1 ? 0 : choutdev[0]);
/* fprintf(stderr, "Pd plug-in scheduler called, chans %d %d, sr %d\n",
chin, chout, (int)rate); */
sys_setchsr(chin, chout, rate);
sys_audioapi = API_NONE;
while ((c = getchar()) != EOF)
{
if (c == ';')
{
int n;
t_atom *ap;
binbuf_text(b, inbuf, fill);
n = binbuf_getnatom(b);
ap = binbuf_getvec(b);
fill = 0;
if (n > 0 && ap[0].a_type == A_FLOAT)
{
/* a list -- take it as incoming signals. */
int chan, nchan = n/DEFDACBLKSIZE;
t_sample *fp;
for (i = chan = 0, fp = sys_soundin; chan < nchan; chan++)
for (j = 0; j < DEFDACBLKSIZE; j++)
*fp++ = atom_getfloat(ap++);
for (; chan < chin; chan++)
for (j = 0; j < DEFDACBLKSIZE; j++)
*fp++ = 0;
sched_tick(sys_time+sys_time_per_dsp_tick);
sys_pollgui();
#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
pollwatchdog();
#endif
printf(";\n");
for (i = chout*DEFDACBLKSIZE, fp = sys_soundout; i--; fp++)
{
printf("%g\n", *fp);
*fp = 0;
}
printf(";\n");
fflush(stdout);
}
else if (n > 1 && ap[0].a_type == A_SYMBOL)
{
t_pd *whom = ap[0].a_w.w_symbol->s_thing;
if (!whom)
error("%s: no such object", ap[0].a_w.w_symbol->s_name);
else if (ap[1].a_type == A_SYMBOL)
typedmess(whom, ap[1].a_w.w_symbol, n-2, ap+2);
else pd_list(whom, 0, n-1, ap+1);
}
}
else if (fill < BUFSIZE)
inbuf[fill++] = c;
else if (fill == BUFSIZE)
fprintf(stderr, "pd-extern: input buffer overflow\n");
}
return (0);
}

View file

@ -0,0 +1,75 @@
#N canvas 12 0 566 872 12;
#X msg 31 406 foo bar baz;
#X obj 189 466 osc~ 440;
#X obj 127 645 env~ 8192;
#X floatatom 127 694 5 0 0 0 - - -;
#X msg 434 807 \; pd dsp 1;
#X msg 24 332 pd~ stop;
#X obj 127 670 i;
#X obj 241 643 env~ 8192;
#X floatatom 241 693 5 0 0 0 - - -;
#X obj 241 669 i;
#X obj 123 489 *~;
#X obj 158 490 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 189 490 *~;
#X obj 224 491 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 434 781 loadbang;
#X obj 14 691 print x;
#X msg 15 309 pd~ start pd~-subprocess.pd;
#X obj 14 532 pd~ -ninsig 2 -noutsig 2 -fifo 20;
#X obj 37 20 pd~;
#X text 69 22 - run a pd sub-process;
#X text 27 57 The pd~ object starts and manages a Pd sub-process that
can communicate with the super-process (this one) via audio channels
and/or Pd messages. In this way you can take advantage of multi-core
CPUs \, and/or use Pd features from within Max (if you're using the
Max version of pd~).;
#X text 24 251 Sending a new "start" message will stop the sub-process
and start a new one. If you just want to stop the sub-process \, send
"stop".;
#X text 33 353 Any message besides "pd~" is sent to the sub-process.
For instance \, the message below sends "bar baz" to any object in
the sub-process named "foo" \, such as a "receive" object.;
#X text 43 430 Audio signals appear in adc~ objects in the sub-process.
The sub-process doesn't open real audio devices.;
#X text 281 473 Creation args:;
#X text 265 490 -insig <n> sets input audio channels;
#X text 266 508 -outsig <n> sets output channels;
#X text 269 542 -fifo <n> sets round-trip delay in blocks;
#X text 272 559 -pddir <s> sets Pd directory \, e.g. \,;
#X text 299 574 .../Pd-0.42.app/Contents/Resources;
#X text 272 590 -scheddir <s> sets scheduler dir \, e.g. \,;
#X text 297 607 .../.../Resources/extra/pd~;
#X text 267 524 -sr <n> sets sample rate;
#X text 20 716 The first outlet reports messages the sub-process sends
us via "stdout" objects. Any other outlets are signals corresponding
to "dac~" objects in the sub-process.;
#X text 10 784 ATTENTION: DSP must be running in this process for the
sub-process to run. This is because its clock is slaved to audio I/O
it gets from us!;
#X text 359 849 Updated for Pd version 0.42.;
#X text 24 138 Messages with "pd~" selector control the sub-process.
"pd~ start" takes as arguments any startup arguments you wish to send
the sub-process. For example \, specify "-nogui" to stop the sub-process's
GUI from appearing. You don't have to specify the number of channels
in and out \, since that's set by creation arguments below. Audio config
arguments arguments (-audiobuf \, -audiodev \, etc.) are ignored.;
#X connect 0 0 17 0;
#X connect 1 0 10 0;
#X connect 1 0 12 0;
#X connect 2 0 6 0;
#X connect 5 0 17 0;
#X connect 6 0 3 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 17 0;
#X connect 11 0 10 1;
#X connect 12 0 17 1;
#X connect 13 0 12 1;
#X connect 14 0 4 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 17 1 2 0;
#X connect 17 2 7 0;

View file

@ -0,0 +1,60 @@
#N canvas 577 21 563 559 12;
#X obj 202 395 r foo;
#X obj 202 423 print foo;
#X obj 87 174 adc~;
#X obj 72 442 stdout;
#X msg 72 364 a b c;
#X msg 455 441 \; pd dsp 1;
#X obj 87 201 env~ 8192;
#X floatatom 87 250 5 0 0 0 - - -;
#X obj 87 226 i;
#X obj 263 253 dac~;
#X obj 262 185 osc~ 440;
#X obj 262 219 *~;
#X obj 297 220 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 332 186 osc~ 440;
#X obj 332 220 *~;
#X obj 367 221 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 86 411 bang;
#X obj 455 417 loadbang;
#X obj 160 201 env~ 8192;
#X floatatom 160 250 5 0 0 0 - - -;
#X obj 160 226 i;
#X msg 86 388 4;
#X text 62 8 This is a test patch to demonstrate the Pd~ object. It's
intended as the patch to run in the sub-process. The sub-process (which
is a separate instance of Pd) can be called from a Max or Pd super-process.
;
#X text 63 73 Audio inlets and outlets on the Pd~ object (in the super-process)
talk to adc~ and dac~ objects here - so \, for instance \, the first
adc~ here is the first inlet of the pd~ object \, and the first chanel
of dac~ goes to the second outlet of pd~ (because the first one is
for messages \, as shown further below.);
#X text 58 283 Any message sent to a stdout object in this sub-process
(below) appears on the first \, message outlet of the pd~ object in
the super-process. The super-process can send messages to any "receive"
object in this sub-process.;
#X text 137 478 We turn DSP on at load for convenience - control objects
in this patch will still work without it (unlike in the super-process
\, where DSP must be on for time to move forward in the sub-process.)
;
#X text 351 538 Updated for Pd version 0.42.;
#X connect 0 0 1 0;
#X connect 2 0 6 0;
#X connect 2 1 18 0;
#X connect 4 0 3 0;
#X connect 6 0 8 0;
#X connect 8 0 7 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 14 0;
#X connect 14 0 9 1;
#X connect 15 0 14 1;
#X connect 16 0 3 0;
#X connect 17 0 5 0;
#X connect 18 0 20 0;
#X connect 20 0 19 0;
#X connect 21 0 3 0;

771
pd-0.44-2/extra/pd~/pd~.c Normal file
View file

@ -0,0 +1,771 @@
/*
pd~.c - embed a Pd process within Pd or Max.
Copyright 2008 Miller Puckette
BSD license; see README.txt in this distribution for details.
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <fcntl.h>
#ifdef _MSC_VER
#pragma warning (disable: 4305 4244)
#endif
#ifdef MSP
#include "ext.h"
#include "z_dsp.h"
#include "math.h"
#include "ext_support.h"
#include "ext_proto.h"
#include "ext_obex.h"
typedef double t_floatarg;
#define w_symbol w_sym
#define A_SYMBOL A_SYM
#define getbytes t_getbytes
#define freebytes t_freebytes
#define ERROR error(
void *pd_tilde_class;
#define MAXPDSTRING 4096
#define DEFDACBLKSIZE 64
#endif /* MSP */
#ifdef PD
#include "m_pd.h"
#include "s_stuff.h"
static t_class *pd_tilde_class;
char *class_gethelpdir(t_class *c);
#define ERROR pd_error(x,
#endif
#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
#ifdef __x86_64__
static char pd_tilde_dllextent[] = ".l_ia64",
pd_tilde_dllextent2[] = ".pd_linux";
#else
static char pd_tilde_dllextent[] = ".l_i386",
pd_tilde_dllextent2[] = ".pd_linux";
#endif
#endif
#ifdef __APPLE__
static char pd_tilde_dllextent[] = ".d_fat",
pd_tilde_dllextent2[] = ".pd_darwin";
#endif
#if defined(_WIN32) || defined(__CYGWIN__)
static char pd_tilde_dllextent[] = ".m_i386", pd_tilde_dllextent2[] = ".dll";
#endif
/* ------------------------ pd_tilde~ ----------------------------- */
#define MSGBUFSIZE 65536
typedef struct _pd_tilde
{
#ifdef PD
t_object x_obj;
t_clock *x_clock;
t_outlet *x_outlet1; /* for messages back from subproc */
t_canvas *x_canvas;
#endif /* PD */
#ifdef MSP
t_pxobject x_obj;
void *x_outlet1;
void *x_clock;
#endif /* MSP */
FILE *x_infd;
FILE *x_outfd;
char *x_msgbuf;
int x_msgbufsize;
int x_infill;
int x_childpid;
int x_ninsig;
int x_noutsig;
int x_fifo;
t_float x_sr;
t_symbol *x_pddir;
t_symbol *x_schedlibdir;
t_sample **x_insig;
t_sample **x_outsig;
} t_pd_tilde;
#ifdef MSP
static void *pd_tilde_new(t_symbol *s, long ac, t_atom *av);
static void pd_tilde_tick(t_pd_tilde *x);
static t_int *pd_tilde_perform(t_int *w);
static void pd_tilde_dsp(t_pd_tilde *x, t_signal **sp);
void pd_tilde_assist(t_pd_tilde *x, void *b, long m, long a, char *s);
static void pd_tilde_free(t_pd_tilde *x);
void pd_tilde_setup(void);
int main();
void pd_tilde_minvel_set(t_pd_tilde *x, void *attr, long ac, t_atom *av);
char *strcpy(char *s1, const char *s2);
#endif
static void pd_tilde_tick(t_pd_tilde *x);
static void pd_tilde_close(t_pd_tilde *x)
{
if (x->x_outfd)
fclose(x->x_outfd);
if (x->x_infd)
fclose(x->x_infd);
if (x->x_childpid > 0)
waitpid(x->x_childpid, 0, 0);
if (x->x_msgbuf)
free(x->x_msgbuf);
x->x_infd = x->x_outfd = 0;
x->x_childpid = -1;
x->x_msgbuf = 0;
x->x_msgbufsize = 0;
}
static void pd_tilde_readmessages(t_pd_tilde *x)
{
int gotsomething = 0, setclock = 0, wasempty = (x->x_infill == 0);
FILE *infd = x->x_infd;
while (1)
{
int c = getc(infd);
if (c == EOF)
{
ERROR "pd~: %s", strerror(errno));
pd_tilde_close(x);
break;
}
if (x->x_infill >= x->x_msgbufsize)
{
char *z = realloc(x->x_msgbuf, x->x_msgbufsize+MSGBUFSIZE);
if (!z)
{
ERROR "pd~: failed to grow input buffer");
pd_tilde_close(x);
break;
}
x->x_msgbuf = z;
x->x_msgbufsize += MSGBUFSIZE;
}
x->x_msgbuf[x->x_infill++] = c;
if (c == ';')
{
if (!gotsomething)
break;
gotsomething = 0;
}
else if (!isspace(c))
gotsomething = setclock = 1;
}
if (setclock)
clock_delay(x->x_clock, 0);
else if (wasempty)
x->x_infill = 0;
}
static void pd_tilde_donew(t_pd_tilde *x, char *pddir, char *schedlibdir,
char *patchdir, char *pdargs, int ninsig, int noutsig, int fifo,
t_float samplerate)
{
int i, pid, pipe1[2], pipe2[2];
char cmdbuf[MAXPDSTRING], pdexecbuf[MAXPDSTRING], schedbuf[MAXPDSTRING];
struct stat statbuf;
x->x_infd = x->x_outfd = 0;
x->x_childpid = -1;
snprintf(pdexecbuf, MAXPDSTRING, "%s/bin/pd", pddir);
if (stat(pdexecbuf, &statbuf) < 0)
{
snprintf(pdexecbuf, MAXPDSTRING, "%s/../../../bin/pd", pddir);
if (stat(pdexecbuf, &statbuf) < 0)
{
snprintf(pdexecbuf, MAXPDSTRING, "%s/pd", pddir);
if (stat(pdexecbuf, &statbuf) < 0)
{
ERROR "pd~: can't stat %s", pdexecbuf);
goto fail1;
}
}
}
snprintf(schedbuf, MAXPDSTRING, "%s/pdsched%s", schedlibdir,
pd_tilde_dllextent);
if (stat(schedbuf, &statbuf) < 0)
{
snprintf(schedbuf, MAXPDSTRING, "%s/pdsched%s", schedlibdir,
pd_tilde_dllextent2);
if (stat(schedbuf, &statbuf) < 0)
{
ERROR "pd~: can't stat %s", schedbuf);
goto fail1;
}
}
snprintf(cmdbuf, MAXPDSTRING,
"'%s' -schedlib '%s'/pdsched -path '%s' -inchannels %d -outchannels %d -r %g %s\n",
pdexecbuf, schedlibdir, patchdir, ninsig, noutsig, samplerate, pdargs);
#if 0
#ifdef PD
fprintf(stderr, "%s", cmdbuf);
#endif
post("cmd: %s", cmdbuf);
#endif
if (pipe(pipe1) < 0)
{
ERROR "pd~: can't create pipe");
goto fail1;
}
if (pipe(pipe2) < 0)
{
ERROR "pd~: can't create pipe");
goto fail2;
}
if ((pid = fork()) < 0)
{
ERROR "pd~: can't fork");
goto fail3;
}
else if (pid == 0)
{
/* child process */
if (pipe2[1] == 0)
{
dup2(pipe2[1], 20);
close(pipe2[1]);
pipe2[1] = 20;
}
dup2(pipe1[0], 0);
dup2(pipe2[1], 1);
if (pipe1[0] >= 2)
close(pipe1[0]);
if (pipe1[1] >= 2)
close(pipe1[1]);
if (pipe2[0] >= 2)
close(pipe2[0]);
if (pipe2[1] >= 2)
close(pipe2[1]);
execl("/bin/sh", "sh", "-c", cmdbuf, (char*)0);
_exit(1);
}
/* OK, we're parent */
close(pipe1[0]);
close(pipe2[1]);
fcntl(pipe1[1], F_SETFD, FD_CLOEXEC);
fcntl(pipe2[0], F_SETFD, FD_CLOEXEC);
x->x_outfd = fdopen(pipe1[1], "w");
x->x_infd = fdopen(pipe2[0], "r");
x->x_childpid = pid;
for (i = 0; i < fifo; i++)
fprintf(x->x_outfd, "%s", ";\n0;\n");
fflush(x->x_outfd);
if (!(x->x_msgbuf = calloc(MSGBUFSIZE, 1)))
{
ERROR "pd~: can't allocate message buffer");
goto fail3;
}
x->x_msgbufsize = MSGBUFSIZE;
x->x_infill = 0;
/* fprintf(stderr, "read...\n"); */
pd_tilde_readmessages(x);
/* fprintf(stderr, "... done.\n"); */
return;
fail3:
close(pipe2[0]);
close(pipe2[1]);
if (x->x_childpid > 0)
waitpid(x->x_childpid, 0, 0);
fail2:
close(pipe1[0]);
close(pipe1[1]);
fail1:
x->x_infd = x->x_outfd = 0;
x->x_childpid = -1;
return;
}
static t_int *pd_tilde_perform(t_int *w)
{
t_pd_tilde *x = (t_pd_tilde *)(w[1]);
int n = (int)(w[2]), i, j, numbuffill = 0, c;
char numbuf[80];
FILE *infd = x->x_infd;
if (!infd)
goto zeroit;
fprintf(x->x_outfd, ";\n");
if (!x->x_ninsig)
fprintf(x->x_outfd, "0\n");
else for (i = 0; i < x->x_ninsig; i++)
{
t_sample *fp = x->x_insig[i];
for (j = 0; j < n; j++)
fprintf(x->x_outfd, "%g\n", *fp++);
for (; j < DEFDACBLKSIZE; j++)
fprintf(x->x_outfd, "0\n");
}
fprintf(x->x_outfd, ";\n");
fflush(x->x_outfd);
i = j = 0;
while (1)
{
while (1)
{
c = getc(infd);
if (c == EOF)
{
if (errno)
ERROR "pd~: %s", strerror(errno));
else ERROR "pd~: subprocess exited");
pd_tilde_close(x);
goto zeroit;
}
else if (!isspace(c) && c != ';')
{
if (numbuffill < (80-1))
numbuf[numbuffill++] = c;
}
else
{
t_sample z;
if (numbuffill)
{
numbuf[numbuffill] = 0;
if (sscanf(numbuf, "%f", &z) < 1)
continue;
if (i < x->x_noutsig)
x->x_outsig[i][j] = z;
if (++j >= DEFDACBLKSIZE)
j = 0, i++;
}
numbuffill = 0;
break;
}
}
/* message terminated */
if (c == ';')
break;
}
for (; i < x->x_noutsig; i++, j = 0)
{
for (; j < DEFDACBLKSIZE; j++)
x->x_outsig[i][j] = 0;
}
pd_tilde_readmessages(x);
return (w+3);
zeroit:
for (i = 0; i < x->x_noutsig; i++)
{
for (j = 0; j < DEFDACBLKSIZE; j++)
x->x_outsig[i][j] = 0;
}
return (w+3);
}
static void pd_tilde_dsp(t_pd_tilde *x, t_signal **sp)
{
int i, n = (x->x_ninsig || x->x_noutsig ? sp[0]->s_n : 1);
t_sample **g;
for (i = 0, g = x->x_insig; i < x->x_ninsig; i++, g++)
*g = (*(sp++))->s_vec;
for (i = 0, g = x->x_outsig; i < x->x_noutsig; i++, g++)
*g = (*(sp++))->s_vec;
dsp_add(pd_tilde_perform, 2, x, n);
}
static void pd_tilde_pdtilde(t_pd_tilde *x, t_symbol *s,
int argc, t_atom *argv)
{
t_symbol *sel = ((argc > 0 && argv->a_type == A_SYMBOL) ?
argv->a_w.w_symbol : gensym("?")), *schedlibdir;
char *patchdir;
if (sel == gensym("start"))
{
char pdargstring[MAXPDSTRING];
if (x->x_infd)
pd_tilde_close(x);
pdargstring[0] = 0;
argc--; argv++;
#ifdef PD
while (argc--)
{
atom_string(argv++, pdargstring + strlen(pdargstring),
MAXPDSTRING - strlen(pdargstring));
if (strlen(pdargstring) < MAXPDSTRING-1)
strcat(pdargstring, " ");
}
patchdir = canvas_getdir(x->x_canvas)->s_name;
#endif
#ifdef MSP
while (argc--)
{
/* because Mac pathnames sometimes have an evil preceeding
colon character, we test for and silently eat them */
if (argv->a_type == A_SYM)
strncat(pdargstring, (*argv->a_w.w_sym->s_name == ':'?
argv->a_w.w_sym->s_name+1 : argv->a_w.w_sym->s_name),
MAXPDSTRING - strlen(pdargstring)-3);
else if (argv->a_type == A_LONG)
snprintf(pdargstring+strlen(pdargstring),
MAXPDSTRING - strlen(pdargstring)-3, "%ld",
argv->a_w.w_long);
else if (argv->a_type == A_FLOAT)
snprintf(pdargstring+strlen(pdargstring),
MAXPDSTRING - strlen(pdargstring)-3, "%f",
argv->a_w.w_float);
strcat(pdargstring, " ");
argv++;
}
patchdir = ".";
#endif
schedlibdir = x->x_schedlibdir;
if (schedlibdir == gensym(".") && x->x_pddir != gensym("."))
{
char *pds = x->x_pddir->s_name, scheddirstring[MAXPDSTRING];
int l = strlen(pds);
if (l >= 4 && (!strcmp(pds+l-3, "bin") || !strcmp(pds+l-4, "bin/")))
snprintf(scheddirstring, MAXPDSTRING, "%s/../extra/pd~", pds);
else snprintf(scheddirstring, MAXPDSTRING, "%s/extra/pd~", pds);
schedlibdir = gensym(scheddirstring);
}
pd_tilde_donew(x, x->x_pddir->s_name, schedlibdir->s_name,
patchdir, pdargstring, x->x_ninsig, x->x_noutsig, x->x_fifo,
x->x_sr);
}
else if (sel == gensym("stop"))
{
if (x->x_infd)
pd_tilde_close(x);
}
else if (sel == gensym("pddir"))
{
if ((argc > 1) && argv[1].a_type == A_SYMBOL)
{
t_symbol *sym = argv[1].a_w.w_symbol;
#ifdef MSP
if (sym->s_name[0] == ':')
sym = gensym(s->s_name+1);
#endif
x->x_pddir = sym;
}
else ERROR "pd~ pddir: needs symbol argument");
}
else ERROR "pd~: unknown control message: %s", sel->s_name);
}
static void pd_tilde_free(t_pd_tilde *x)
{
#ifdef MSP
dsp_free((t_pxobject *)x);
#endif
pd_tilde_close(x);
clock_free(x->x_clock);
}
/* -------------------------- Pd glue ------------------------- */
#ifdef PD
static void pd_tilde_tick(t_pd_tilde *x)
{
int messstart = 0, i, n;
t_atom *vec;
t_binbuf *b;
if (!x->x_msgbuf)
return;
b = binbuf_new();
binbuf_text(b, x->x_msgbuf, x->x_infill);
/* binbuf_print(b); */
n = binbuf_getnatom(b);
vec = binbuf_getvec(b);
for (i = 0; i < n; i++)
{
if (vec[i].a_type == A_SEMI)
{
if (i > messstart && vec[messstart].a_type == A_SYMBOL)
outlet_anything(x->x_outlet1, vec[messstart].a_w.w_symbol,
i-(messstart+1), vec+(messstart+1));
else if (i > messstart)
outlet_list(x->x_outlet1, 0, i-messstart, vec+messstart);
messstart = i+1;
}
}
binbuf_free(b);
x->x_infill = 0;
}
static void pd_tilde_anything(t_pd_tilde *x, t_symbol *s,
int argc, t_atom *argv)
{
char msgbuf[MAXPDSTRING];
if (!x->x_outfd)
return;
fprintf(x->x_outfd, "%s ", s->s_name);
while (argc--)
{
atom_string(argv++, msgbuf, MAXPDSTRING);
fprintf(x->x_outfd, "%s ", msgbuf);
}
fprintf(x->x_outfd, ";\n");
}
static void *pd_tilde_new(t_symbol *s, int argc, t_atom *argv)
{
t_pd_tilde *x = (t_pd_tilde *)pd_new(pd_tilde_class);
int ninsig = 2, noutsig = 2, j, fifo = 5;
t_float sr = sys_getsr();
t_sample **g;
t_symbol *pddir = sys_libdir,
*scheddir = gensym(class_gethelpdir(pd_tilde_class));
/* fprintf(stderr, "pd %s, sched %s\n", pddir->s_name, scheddir->s_name); */
while (argc > 0)
{
t_symbol *firstarg = atom_getsymbolarg(0, argc, argv);
if (!strcmp(firstarg->s_name, "-sr") && argc > 1)
{
sr = atom_getfloatarg(1, argc, argv);
argc -= 2; argv += 2;
}
else if (!strcmp(firstarg->s_name, "-ninsig") && argc > 1)
{
ninsig = atom_getfloatarg(1, argc, argv);
argc -= 2; argv += 2;
}
else if (!strcmp(firstarg->s_name, "-noutsig") && argc > 1)
{
noutsig = atom_getfloatarg(1, argc, argv);
argc -= 2; argv += 2;
}
else if (!strcmp(firstarg->s_name, "-fifo") && argc > 1)
{
fifo = atom_getfloatarg(1, argc, argv);
argc -= 2; argv += 2;
}
else if (!strcmp(firstarg->s_name, "-pddir") && argc > 1)
{
pddir = atom_getsymbolarg(1, argc, argv);
argc -= 2; argv += 2;
}
else if (!strcmp(firstarg->s_name, "-scheddir") && argc > 1)
{
scheddir = atom_getsymbolarg(1, argc, argv);
argc -= 2; argv += 2;
}
else break;
}
if (argc)
{
pd_error(x,
"usage: pd~ [-sr #] [-ninsig #] [-noutsig #] [-fifo #] [-pddir <>]");
post(
"... [-scheddir <>]");
}
x->x_clock = clock_new(x, (t_method)pd_tilde_tick);
x->x_insig = (t_sample **)getbytes(ninsig * sizeof(*x->x_insig));
x->x_outsig = (t_sample **)getbytes(noutsig * sizeof(*x->x_outsig));
x->x_ninsig = ninsig;
x->x_noutsig = noutsig;
x->x_fifo = fifo;
x->x_sr = sr;
x->x_pddir = pddir;
x->x_schedlibdir = scheddir;
x->x_infd = 0;
x->x_outfd = 0;
x->x_outfd = 0;
x->x_childpid = -1;
x->x_msgbuf = 0;
x->x_canvas = canvas_getcurrent();
for (j = 1, g = x->x_insig; j < ninsig; j++, g++)
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
x->x_outlet1 = outlet_new(&x->x_obj, 0);
for (j = 0, g = x->x_outsig; j < noutsig; j++, g++)
outlet_new(&x->x_obj, &s_signal);
signal(SIGPIPE, SIG_IGN);
return (x);
}
void pd_tilde_setup(void)
{
pd_tilde_class = class_new(gensym("pd~"), (t_newmethod)pd_tilde_new,
(t_method)pd_tilde_free, sizeof(t_pd_tilde), 0, A_GIMME, 0);
class_addmethod(pd_tilde_class, nullfn, gensym("signal"), 0);
class_addmethod(pd_tilde_class, (t_method)pd_tilde_dsp, gensym("dsp"), 0);
class_addmethod(pd_tilde_class, (t_method)pd_tilde_pdtilde, gensym("pd~"), A_GIMME, 0);
class_addanything(pd_tilde_class, pd_tilde_anything);
post("pd~ version 0.2");
}
#endif
/* -------------------------- MSP glue ------------------------- */
#ifdef MSP
#define LOTS 10000
static void pd_tilde_tick(t_pd_tilde *x)
{
int messstart = 0, i, n = 0;
t_atom vec[LOTS];
long z1 = 0, z2 = 0;
void *b;
if (!x->x_msgbuf)
return;
b = binbuf_new();
binbuf_text(b, &x->x_msgbuf, x->x_infill);
/* binbuf_print(b); */
while (!binbuf_getatom(b, &z1, &z2, vec+n))
if (++n >= LOTS)
break;
for (i = 0; i < n; i++)
{
if (vec[i].a_type == A_SEMI)
{
if (i > messstart + 1)
{
void *whom;
if (vec[messstart].a_type == A_SYM)
outlet_anything(x->x_outlet1, vec[messstart].a_w.w_sym,
i-messstart-1, vec+(messstart+1));
else if (vec[messstart].a_type == A_FLOAT && i == messstart+1)
outlet_float(x->x_outlet1, vec[messstart].a_w.w_float);
else if (vec[messstart].a_type == A_LONG && i == messstart+1)
outlet_int(x->x_outlet1, vec[messstart].a_w.w_long);
else outlet_list(x->x_outlet1, gensym("list"),
i-messstart, vec+(messstart));
}
messstart = i+1;
}
}
binbuf_free(b);
x->x_infill = 0;
}
static void pd_tilde_anything(t_pd_tilde *x, t_symbol *s,
long ac, t_atom *av)
{
char msgbuf[MAXPDSTRING], *sp, *ep = msgbuf+MAXPDSTRING;
if (!x->x_outfd)
return;
msgbuf[0] = 0;
strncpy(msgbuf, s->s_name, MAXPDSTRING);
msgbuf[MAXPDSTRING-1] = 0;
sp = msgbuf + strlen(msgbuf);
while (ac--)
{
if (sp < ep-1)
sp[0] = ' ', sp[1] = 0, sp++;
if (sp < ep - 80)
{
if (av->a_type == A_SYM && strlen(av->a_w.w_sym->s_name) < ep - sp-20)
strcpy(sp, av->a_w.w_sym->s_name);
else if (av->a_type == A_LONG)
sprintf(sp, "%ld" ,av->a_w.w_long);
else if (av->a_type == A_FLOAT)
sprintf(sp, "%g" ,av->a_w.w_float);
}
sp += strlen(sp);
av++;
}
fprintf(x->x_outfd, "%s;\n", msgbuf);
}
int main()
{
t_class *c;
c = class_new("pd_tilde~", (method)pd_tilde_new, (method)pd_tilde_free, sizeof(t_pd_tilde), (method)0L, A_GIMME, 0);
class_addmethod(c, (method)pd_tilde_dsp, "dsp", A_CANT, 0);
class_addmethod(c, (method)pd_tilde_assist, "assist", A_CANT, 0);
class_addmethod(c, (method)pd_tilde_pdtilde, "pd~", A_GIMME, 0);
class_addmethod(c, (method)pd_tilde_anything, "anything", A_GIMME, 0);
class_dspinit(c);
class_register(CLASS_BOX, c);
pd_tilde_class = c;
post("pd~ version 0.2");
return (0);
}
static void *pd_tilde_new(t_symbol *s, long ac, t_atom *av)
{
int ninsig = 2, noutsig = 2, fifo = 5, j;
t_float sr = sys_getsr();
t_symbol *pddir = gensym("."), *scheddir = gensym(".");
t_pd_tilde *x;
if (x = (t_pd_tilde *)object_alloc(pd_tilde_class))
{
while (ac > 0 && av[0].a_type == A_SYM)
{
char *flag = av[0].a_w.w_sym->s_name;
if (!strcmp(flag, "-sr") && ac > 1)
{
sr = (av[1].a_type == A_FLOAT ? av[1].a_w.w_float :
(av[1].a_type == A_LONG ? av[1].a_w.w_long : 0));
ac -= 2; av += 2;
}
else if (!strcmp(flag, "-ninsig") && ac > 1)
{
ninsig = (av[1].a_type == A_FLOAT ? av[1].a_w.w_float :
(av[1].a_type == A_LONG ? av[1].a_w.w_long : 0));
ac -= 2; av += 2;
}
else if (!strcmp(flag, "-noutsig") && ac > 1)
{
noutsig = (av[1].a_type == A_FLOAT ? av[1].a_w.w_float :
(av[1].a_type == A_LONG ? av[1].a_w.w_long : 0));
ac -= 2; av += 2;
}
else if (!strcmp(flag, "-fifo") && ac > 1)
{
fifo = (av[1].a_type == A_FLOAT ? av[1].a_w.w_float :
(av[1].a_type == A_LONG ? av[1].a_w.w_long : 0));
ac -= 2; av += 2;
}
else if (!strcmp(flag, "-pddir") && ac > 1)
{
pddir = (av[1].a_type == A_SYM ? av[1].a_w.w_sym : gensym("."));
ac -= 2; av += 2;
}
else if (!strcmp(flag, "-scheddir") && ac > 1)
{
scheddir = (av[1].a_type == A_SYM ? av[1].a_w.w_sym : gensym("."));
ac -= 2; av += 2;
}
else break;
}
if (ac)
post("pd~: warning: ignoring extra arguments");
dsp_setup((t_pxobject *)x, ninsig);
x->x_outlet1 = outlet_new(&x->x_obj, 0);
for (j = 0; j < noutsig; j++)
outlet_new((t_pxobject *)x, "signal");
x->x_clock = clock_new(x, (method)pd_tilde_tick);
x->x_insig = (t_sample **)getbytes(ninsig * sizeof(*x->x_insig));
x->x_outsig = (t_sample **)getbytes(noutsig * sizeof(*x->x_outsig));
x->x_ninsig = ninsig;
x->x_noutsig = noutsig;
x->x_fifo = fifo;
x->x_sr = sr;
x->x_pddir = pddir;
x->x_schedlibdir = scheddir;
x->x_infd = 0;
x->x_outfd = 0;
x->x_outfd = 0;
x->x_childpid = -1;
x->x_msgbuf = 0;
}
return (x);
}
void pd_tilde_assist(t_pd_tilde *x, void *b, long m, long a, char *s)
{
}
#endif /* MSP */

15
pd-0.44-2/extra/pd~/z.pd Normal file
View file

@ -0,0 +1,15 @@
#N canvas 686 241 450 300 10;
#X obj 65 58 r foo;
#X obj 62 100 print foo;
#X obj 244 59 adc~;
#X obj 238 102 env~ 8192;
#X floatatom 236 140 5 0 0 0 - - -;
#X obj 155 234 dac~;
#X obj 155 191 osc~ 440;
#X obj 287 204 stdout;
#X msg 307 153 a b c;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 6 0 5 0;
#X connect 8 0 7 0;

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=pique
external_LTLIBRARIES = pique.la
SOURCES = pique.c
PATCHES = pique-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/pique
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
pique_la_LIBADD =
pique_la_SOURCES = pique.c
pique_la_OBJECTS = pique.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = pique.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = pique
external_LTLIBRARIES = pique.la
SOURCES = pique.c
PATCHES = pique-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/pique/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/pique/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
pique.la: $(pique_la_OBJECTS) $(pique_la_DEPENDENCIES) $(EXTRA_pique_la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(pique_la_OBJECTS) $(pique_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pique.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,4 @@
NAME=pique
CSYM=pique
include ../makefile.subdir

View file

@ -0,0 +1,33 @@
#N canvas 143 0 729 407 12;
#X obj 47 11 pique;
#X text 105 12 -- find peaks in an FFT spectrum;
#X obj 214 174 rfft~;
#X obj 131 129 osc~ 2000;
#X graph graph2 0 -64 63 64 519 179 719 39;
#X array fft-real 64 float;
#X pop;
#X graph graph3 0 -64 63 64 519 327 719 187;
#X array fft-imag 64 float;
#X pop;
#X obj 214 215 tabwrite~ fft-real;
#X obj 245 240 tabwrite~ fft-imag;
#X obj 315 158 metro 1000;
#X obj 315 116 loadbang;
#X msg 315 138 1;
#X obj 91 349 pique;
#X msg 91 322 64 fft-real fft-imag 10;
#X obj 91 376 print;
#X obj 205 132 osc~ 5000;
#X text 25 37 pique takes unwindowed FFT analyses as input (they should be stored in arrays) and outputs a list of peaks \, giving their peak number \, frequency \, amplitude \, and phase (as a cosine/sine pair.);
#X text 13 289 message argumnets: number of FFT points \, fft real part \, fft imaginary part \, maximum number of peaks to report.;
#X text 578 387 updated for Pd 0.31.;
#X connect 2 0 6 0;
#X connect 2 1 7 0;
#X connect 3 0 2 0;
#X connect 8 0 6 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 14 0 2 0;

View file

@ -0,0 +1,243 @@
/* Copyright (c) 1999 Miller Puckette. The
contents of this file are free for any use, but BOTH THE AUTHOR AND UCSD
DISCLAIM ALL WARRANTIES related to it. Although not written in Java, this
still should not be used to control any machinery containing a sharp blade or
combustible materiel, or as part of any life support system or weapon. */
#include "m_pd.h"
#include <math.h>
#include <stdio.h>
/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
#ifdef _MSC_VER
#pragma warning( disable : 4244 )
#pragma warning( disable : 4305 )
#endif
static t_class *pique_class;
typedef struct _pique
{
t_object x_obj;
int x_n;
t_float x_errthresh;
t_float *x_freq;
t_float *x_amp;
t_float *x_ampre;
t_float *x_ampim;
} t_pique;
static void *pique_new(t_floatarg f)
{
int n = f;
t_pique *x = (t_pique *)pd_new(pique_class);
if (n < 1) n = 100;
x->x_n = n;
x->x_errthresh = 0;
x->x_freq = t_getbytes(n * sizeof(*x->x_freq));
x->x_amp = t_getbytes(n * sizeof(*x->x_amp));
x->x_ampre = t_getbytes(n * sizeof(*x->x_ampre));
x->x_ampim = t_getbytes(n * sizeof(*x->x_ampim));
outlet_new(&x->x_obj, &s_list);
return (x);
}
static t_float hanning(t_float pidetune, t_float sinpidetune)
{
t_float pi = 3.141592653589793;
if (pidetune < 0.01 && pidetune > -0.01) return (1);
else if (pidetune > 3.14 && pidetune < 3.143) return (0.5);
else if (pidetune < -3.14 && pidetune > -3.143) return (0.5);
else return (sinpidetune/pidetune - 0.5 *
(sinpidetune/(pidetune+pi) + sinpidetune/(pidetune-pi)));
}
static t_float peakerror(t_word *fpreal, t_word *fpimag, t_float pidetune,
t_float norm, t_float peakreal, t_float peakimag)
{
t_float sinpidetune = sin(pidetune);
t_float cospidetune = cos(pidetune);
t_float windowshould = hanning(pidetune, sinpidetune);
t_float realshould = windowshould * (
peakreal * cospidetune + peakimag * sinpidetune);
t_float imagshould = windowshould * (
peakimag * cospidetune - peakreal * sinpidetune);
t_float realgot = norm * (fpreal[0].w_float -
0.5 * (fpreal[1].w_float + fpreal[-1].w_float));
t_float imaggot = norm * (fpimag[0].w_float -
0.5 * (fpimag[1].w_float + fpimag[-1].w_float));
t_float realdev = realshould - realgot, imagdev = imagshould - imaggot;
/* post("real %f->%f; imag %f->%f", realshould, realgot,
imagshould, imaggot); */
return (realdev * realdev + imagdev * imagdev);
}
static void pique_doit(int npts, t_word *fpreal, t_word *fpimag,
int npeak, int *nfound, t_float *fpfreq, t_float *fpamp,
t_float *fpampre, t_float *fpampim, t_float errthresh)
{
t_float srate = sys_getsr(); /* not sure how to get this correctly */
t_float oneovern = 1.0/ (t_float)npts;
t_float fperbin = srate * oneovern;
t_float pow1, pow2 = 0, pow3 = 0, pow4 = 0, pow5 = 0;
t_float re1, re2 = 0, re3 = fpreal->w_float;
t_float im1, im2 = 0, im3 = 0, powthresh, relativeerror;
int count, peakcount = 0, n2 = (npts >> 1);
t_float *fp1, *fp2;
t_word *wp1, *wp2;
for (count = n2, wp1 = fpreal, wp2 = fpimag, powthresh = 0;
count--; wp1++, wp2++)
powthresh += (wp1->w_float) * (wp1->w_float) +
(wp2->w_float) * (wp2->w_float) ;
powthresh *= 0.00001;
for (count = 1; count < n2; count++)
{
t_float windreal, windimag, pi = 3.141592653589793;
t_float detune, pidetune, sinpidetune, cospidetune,
ampcorrect, freqout, ampout, ampoutreal, ampoutimag;
t_float rpeak, rpeaknext, rpeakprev;
t_float ipeak, ipeaknext, ipeakprev;
t_float errleft, errright;
fpreal++;
fpimag++;
re1 = re2;
re2 = re3;
re3 = fpreal->w_float;
im1 = im2;
im2 = im3;
im3 = fpimag->w_float;
if (count < 2) continue;
pow1 = pow2;
pow2 = pow3;
pow3 = pow4;
pow4 = pow5;
/* get Hanning-windowed spectrum by convolution */
windreal = re2 - 0.5 * (re1 + re3);
windimag = im2 - 0.5 * (im1 + im3);
pow5 = windreal * windreal + windimag * windimag;
/* if (count < 30) post("power %f", pow5); */
if (count < 5) continue;
/* check for a peak. The actual bin is count-3. */
if (pow3 <= pow2 || pow3 <= pow4 || pow3 <= pow1 || pow3 <= pow5
|| pow3 < powthresh)
continue;
/* go back for the raw FFT values around the peak. */
rpeak = fpreal[-3].w_float;
rpeaknext = fpreal[-2].w_float;
rpeakprev = fpreal[-4].w_float;
ipeak = fpimag[-3].w_float;
ipeaknext = fpimag[-2].w_float;
ipeakprev = fpimag[-4].w_float;
/* recalculate Hanning-windowed spectrum by convolution */
windreal = rpeak - 0.5 * (rpeaknext + rpeakprev);
windimag = ipeak - 0.5 * (ipeaknext + ipeakprev);
detune = ((rpeakprev - rpeaknext) *
(2.0 * rpeak - rpeakprev - rpeaknext) +
(ipeakprev - ipeaknext) *
(2.0 * ipeak - ipeakprev - ipeaknext)) /
(4.0 * pow3);
/* if (count < 30) post("detune %f", detune); */
if (detune > 0.7 || detune < -0.7) continue;
/* the frequency is the sum of the bin frequency and detuning */
freqout = fperbin * ((t_float)(count-3) + detune);
pidetune = pi * detune;
sinpidetune = sin(pidetune);
cospidetune = cos(pidetune);
ampcorrect = 1.0 / hanning(pidetune, sinpidetune);
/* Multiply by 2 to get real-sinusoid peak amplitude
and divide by N to normalize FFT */
ampcorrect *= 2. * oneovern;
/* amplitude is peak height, corrected for Hanning window shape */
ampout = ampcorrect * sqrt(pow3);
ampoutreal = ampcorrect *
(windreal * cospidetune - windimag * sinpidetune);
ampoutimag = ampcorrect *
(windreal * sinpidetune + windimag * cospidetune);
if (errthresh > 0)
{
/* post("peak %f %f", freqout, ampout); */
errleft = peakerror(fpreal-4, fpimag-4, pidetune+pi,
2. * oneovern, ampoutreal, ampoutimag);
errright = peakerror(fpreal-2, fpimag-2, pidetune-pi,
2. * oneovern, ampoutreal, ampoutimag);
relativeerror = (errleft + errright)/(ampout * ampout);
if (relativeerror > errthresh) continue;
}
/* post("power %f, error %f, relative %f",
pow3, errleft + errright, relativeerror); */
*fpfreq++ = freqout;
*fpamp++ = ampout;
*fpampre++ = ampoutreal;
*fpampim++ = ampoutimag;
if (++peakcount == npeak) break;
}
*nfound = peakcount;
}
static void pique_list(t_pique *x, t_symbol *s, int argc, t_atom *argv)
{
int npts = atom_getintarg(0, argc, argv);
t_symbol *symreal = atom_getsymbolarg(1, argc, argv);
t_symbol *symimag = atom_getsymbolarg(2, argc, argv);
int npeak = atom_getintarg(3, argc, argv);
int n;
t_garray *a;
t_word *fpreal, *fpimag;
if (npts < 8 || npeak < 1) error("pique: bad npoints or npeak");
if (npeak > x->x_n) npeak = x->x_n;
if (!(a = (t_garray *)pd_findbyclass(symreal, garray_class)) ||
!garray_getfloatwords(a, &n, &fpreal) ||
n < npts)
error("%s: missing or bad array", symreal->s_name);
else if (!(a = (t_garray *)pd_findbyclass(symimag, garray_class)) ||
!garray_getfloatwords(a, &n, &fpimag) ||
n < npts)
error("%s: missing or bad array", symimag->s_name);
else
{
int nfound, i;
t_float *fpfreq = x->x_freq;
t_float *fpamp = x->x_amp;
t_float *fpampre = x->x_ampre;
t_float *fpampim = x->x_ampim;
pique_doit(npts, fpreal, fpimag, npeak,
&nfound, fpfreq, fpamp, fpampre, fpampim, x->x_errthresh);
for (i = 0; i < nfound; i++, fpamp++, fpfreq++, fpampre++, fpampim++)
{
t_atom at[5];
SETFLOAT(at, (t_float)i);
SETFLOAT(at+1, *fpfreq);
SETFLOAT(at+2, *fpamp);
SETFLOAT(at+3, *fpampre);
SETFLOAT(at+4, *fpampim);
outlet_list(x->x_obj.ob_outlet, &s_list, 5, at);
}
}
}
static void pique_errthresh(t_pique *x, t_floatarg f)
{
x->x_errthresh = f;
}
static void pique_free(t_pique *x)
{
int n = x->x_n;
t_freebytes(x->x_freq, n * sizeof(*x->x_freq));
t_freebytes(x->x_amp, n * sizeof(*x->x_amp));
t_freebytes(x->x_ampre, n * sizeof(*x->x_ampre));
t_freebytes(x->x_ampim, n * sizeof(*x->x_ampim));
}
void pique_setup(void)
{
pique_class = class_new(gensym("pique"), (t_newmethod)pique_new,
(t_method)pique_free, sizeof(t_pique),0, A_DEFFLOAT, 0);
class_addlist(pique_class, pique_list);
class_addmethod(pique_class, (t_method)pique_errthresh,
gensym("errthresh"), A_FLOAT, 0);
post("pique 0.1 for PD version 23");
}

View file

@ -0,0 +1,106 @@
#N canvas 133 53 729 468 10;
#X obj 72 240 inlet~;
#X obj 347 28 loadbang;
#X obj 90 376 +~;
#X obj 52 408 +~;
#X obj 52 437 outlet~;
#X obj 409 96 pow;
#X obj 372 118 *;
#X floatatom 372 159;
#X obj 82 264 *~ 0;
#X obj 177 175 pow;
#X text 386 140 delay \, msec;
#X floatatom 201 237;
#X obj 190 150 * 0.001;
#X text 206 220 gain for this stage;
#X obj 103 327 *~ 0;
#X obj 201 202 *;
#X text 25 13 Allpass filter for mono reverberator. Arg 1 = delay name \, arg2 = stage number \, arg 3 = delay time;
#X obj 373 76 8;
#X obj 409 75 1.79;
#X obj 114 175 0.7;
#X obj 363 50 t b b b b;
#X obj 177 108 0;
#X obj 372 207 abs;
#X obj 372 229 moses 0.01;
#X obj 443 229 print wrong-delay-time;
#X obj 233 391 inlet~;
#X obj 219 419 +~;
#X obj 219 443 outlet~;
#X text 74 83 decay after;
#X text 85 98 1 second;
#X obj 83 119 r \$1-decay;
#X obj 327 262 r \$1-clear;
#X obj 240 298 0;
#X obj 327 281 t b;
#X obj 327 344 delay;
#X obj 327 322 + 5;
#X obj 158 279 delread~ \$2 \$4;
#X obj 90 397 delwrite~ \$2 \$4;
#X obj 327 302 f \$4;
#X obj 371 184 - \$4;
#X obj 446 75 float \$3;
#X obj 241 318 1;
#X obj 158 300 *~ 1;
#X obj 52 298 *~ 0;
#X obj 10 209 t b f f;
#X obj 28 233 *;
#X obj 10 256 -;
#X obj 41 258 * -1;
#X obj 11 297 *~ 0;
#X obj 214 181 sqrt;
#X connect 0 0 8 0;
#X connect 1 0 20 0;
#X connect 2 0 37 0;
#X connect 3 0 4 0;
#X connect 3 0 26 0;
#X connect 5 0 6 1;
#X connect 6 0 7 0;
#X connect 6 0 12 0;
#X connect 7 0 39 0;
#X connect 8 0 43 0;
#X connect 8 0 48 0;
#X connect 9 0 15 0;
#X connect 9 0 14 1;
#X connect 12 0 9 1;
#X connect 14 0 2 1;
#X connect 14 0 3 1;
#X connect 15 0 11 0;
#X connect 15 0 8 1;
#X connect 17 0 6 0;
#X connect 18 0 5 0;
#X connect 18 0 49 0;
#X connect 19 0 44 0;
#X connect 19 0 47 0;
#X connect 20 0 21 0;
#X connect 20 0 19 0;
#X connect 20 1 17 0;
#X connect 20 2 18 0;
#X connect 20 3 40 0;
#X connect 21 0 9 0;
#X connect 22 0 23 0;
#X connect 23 1 24 0;
#X connect 25 0 26 1;
#X connect 26 0 27 0;
#X connect 30 0 9 0;
#X connect 31 0 33 0;
#X connect 32 0 42 1;
#X connect 33 0 32 0;
#X connect 33 0 38 0;
#X connect 34 0 41 0;
#X connect 35 0 34 0;
#X connect 36 0 42 0;
#X connect 38 0 35 0;
#X connect 39 0 22 0;
#X connect 40 0 5 1;
#X connect 41 0 42 1;
#X connect 42 0 14 0;
#X connect 43 0 3 0;
#X connect 44 0 46 0;
#X connect 44 1 45 0;
#X connect 44 2 45 1;
#X connect 45 0 46 1;
#X connect 46 0 48 1;
#X connect 47 0 43 1;
#X connect 48 0 2 0;
#X connect 49 0 15 1;

View file

@ -0,0 +1,99 @@
#N canvas 86 133 729 452 10;
#X obj 27 238 inlet~;
#X obj 347 28 loadbang;
#X obj 171 281 * -1;
#X obj 36 353 +~;
#X obj 69 395 +~;
#X obj 69 424 outlet~;
#X obj 409 96 pow;
#X obj 372 118 *;
#X floatatom 372 159;
#X obj 37 262 *~ 0;
#X obj 177 175 pow;
#X text 408 162 delay \, msec;
#X floatatom 177 238;
#X obj 190 150 * 0.001;
#X text 182 221 gain for this stage;
#X obj 49 332 *~ 0;
#X obj 47 375 *~ 0;
#X obj 177 203 *;
#X floatatom 409 119;
#X text 25 13 Allpass filter for mono reverberator. Arg 1 = delay name \, arg2 = stage number \, arg 3 = delay time;
#X obj 373 76 8;
#X obj 409 75 1.79;
#X obj 68 185 0.7;
#X obj 363 50 t b b b b;
#X obj 177 108 0;
#X obj 372 207 abs;
#X obj 372 229 moses 0.01;
#X obj 443 229 print wrong-delay-time;
#X obj 233 391 inlet~;
#X obj 219 419 +~;
#X obj 219 443 outlet~;
#X text 74 83 decay after;
#X text 85 98 1 second;
#X obj 83 119 r \$1-decay;
#X obj 259 256 r \$1-clear;
#X obj 206 301 0;
#X obj 259 275 t b;
#X obj 259 338 delay;
#X obj 259 316 + 5;
#X obj 79 280 delread~ \$2 \$4;
#X obj 36 447 delwrite~ \$2 \$4;
#X obj 259 296 f \$4;
#X obj 371 184 - \$4;
#X obj 446 75 float \$3;
#X obj 207 321 1;
#X obj 79 301 *~ 1;
#X obj 207 188 sqrt;
#X floatatom 35 148;
#X connect 0 0 9 0;
#X connect 1 0 23 0;
#X connect 2 0 16 1;
#X connect 3 0 16 0;
#X connect 3 0 40 0;
#X connect 4 0 5 0;
#X connect 4 0 29 0;
#X connect 6 0 7 1;
#X connect 6 0 18 0;
#X connect 7 0 8 0;
#X connect 7 0 13 0;
#X connect 8 0 42 0;
#X connect 9 0 3 0;
#X connect 10 0 17 0;
#X connect 13 0 10 1;
#X connect 15 0 3 1;
#X connect 16 0 4 0;
#X connect 17 0 12 0;
#X connect 17 0 9 1;
#X connect 20 0 7 0;
#X connect 21 0 6 0;
#X connect 21 0 46 0;
#X connect 22 0 2 0;
#X connect 22 0 15 1;
#X connect 23 0 24 0;
#X connect 23 0 22 0;
#X connect 23 1 20 0;
#X connect 23 2 21 0;
#X connect 23 3 43 0;
#X connect 24 0 10 0;
#X connect 25 0 26 0;
#X connect 26 1 27 0;
#X connect 28 0 29 1;
#X connect 29 0 30 0;
#X connect 33 0 10 0;
#X connect 33 0 47 0;
#X connect 34 0 36 0;
#X connect 35 0 45 1;
#X connect 36 0 35 0;
#X connect 36 0 41 0;
#X connect 37 0 44 0;
#X connect 38 0 37 0;
#X connect 39 0 45 0;
#X connect 41 0 38 0;
#X connect 42 0 25 0;
#X connect 43 0 6 1;
#X connect 44 0 45 1;
#X connect 45 0 15 0;
#X connect 45 0 4 1;
#X connect 46 0 17 1;

View file

@ -0,0 +1,119 @@
#N canvas 55 21 1008 526 12;
#X obj 148 439 dac~;
#X obj 58 72 line~;
#X msg 58 49 0 \, 10000 5;
#X obj 58 118 cos~;
#X msg 146 70 1;
#X obj 146 47 loadbang;
#X obj 58 95 clip~ 0 0.25;
#X floatatom 173 264 0 0 0;
#X obj 251 134 line~;
#X obj 251 157 cos~;
#X msg 324 54 -0.25 \, 0.25 100;
#X obj 251 8 loadbang;
#X msg 251 31 -0.25;
#X obj 251 203 *~;
#X obj 58 140 hip~ 5;
#X floatatom 162 328 0 0 0;
#X obj 162 373 pack 0 100;
#X obj 162 396 line~;
#X obj 148 416 *~;
#X obj 162 350 dbtorms;
#X msg 324 77 -0.25 \, 0.25 400;
#X floatatom 324 145 0 0 0;
#X obj 324 191 osc~ 440;
#X obj 324 168 mtof;
#X msg 324 31 -0.25 \, 0.25 20;
#X obj 251 180 *~ 0.1;
#X msg 324 100 -0.25 \, 0.25 1000;
#X msg 324 122 -0.25 \, 0.25 2000;
#X obj 324 226 *~;
#X obj 342 252 *~;
#X obj 58 439 dac~;
#X floatatom 68 323 0 0 0;
#X obj 68 368 pack 0 100;
#X obj 68 391 line~;
#X obj 58 416 *~;
#X obj 68 346 dbtorms;
#X msg 324 8 0;
#X obj 308 257 *~;
#X obj 58 26 metro 2000;
#X floatatom 58 4 0 0 0;
#X msg 220 265 bang;
#X obj 284 322 env~ 32768;
#X floatatom 284 344 0 0 0;
#X text 166 244 1 sec;
#X text 143 226 dB after;
#X text 220 245 clear;
#X text 1 51 impulse;
#X text 362 7 tone;
#X text 484 31 beeps;
#X text 428 167 This is an experimental reverberator design composed
of a series of allpass filters with exponentially growing delay times.
Each allpass filter has a gain of 0.7. The reverb time is adjusted
by adjusting the input gains of the allpass filters. The last unit
is modified so that its first two "echos" mimic those of an allpass
but its loop gain depends on reverb time.;
#X text 430 299 Reverb time is controlled by specifying the dB gain
(100 normal) after one second \, so that 100 corresponds to infinite
reverb time \, 70 to two seconds \, 40 to one second \, and 0 to 0
;
#X text 671 499 modified for Pd version 0.30.;
#X msg 560 34 \; pd dsp 1;
#X text 427 475 The rev1~ module eats about 18% of my 300mHz P2 machine.
;
#X obj 148 289 rev1~;
#X text 428 381 The "clear" button impolitely clears out all the delay
lines \, You may immediately resume pumping the reverberator \, but
the input signal should be cleanly enveloped. The output \, too \,
must be enveloped and may not be opened until 5 msec after the "clear"
message is sent.;
#X connect 1 0 6 0;
#X connect 2 0 1 0;
#X connect 3 0 14 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
#X connect 7 0 54 1;
#X connect 8 0 9 0;
#X connect 9 0 25 0;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 12 0 8 0;
#X connect 13 0 14 0;
#X connect 14 0 34 0;
#X connect 14 0 54 0;
#X connect 15 0 19 0;
#X connect 16 0 17 0;
#X connect 17 0 18 1;
#X connect 18 0 0 0;
#X connect 19 0 16 0;
#X connect 20 0 8 0;
#X connect 21 0 23 0;
#X connect 22 0 13 1;
#X connect 22 0 28 0;
#X connect 22 0 28 1;
#X connect 22 0 29 0;
#X connect 23 0 22 0;
#X connect 24 0 8 0;
#X connect 25 0 13 0;
#X connect 26 0 8 0;
#X connect 27 0 8 0;
#X connect 28 0 29 1;
#X connect 28 0 13 1;
#X connect 28 0 37 0;
#X connect 28 0 37 1;
#X connect 29 0 13 1;
#X connect 31 0 35 0;
#X connect 32 0 33 0;
#X connect 33 0 34 1;
#X connect 34 0 30 0;
#X connect 35 0 32 0;
#X connect 36 0 8 0;
#X connect 37 0 13 1;
#X connect 38 0 2 0;
#X connect 39 0 38 0;
#X connect 40 0 54 2;
#X connect 41 0 42 0;
#X connect 54 0 18 0;
#X connect 54 0 41 0;

64
pd-0.44-2/extra/rev1~.pd Normal file
View file

@ -0,0 +1,64 @@
#N canvas 66 116 512 312 10;
#X obj 345 154 dbtorms;
#X obj 316 120 min 100;
#X obj 316 100 inlet;
#X obj 45 16 inlet~;
#X obj 254 298 outlet~;
#X obj 432 106 inlet;
#X obj 432 130 t b;
#X obj 269 145 t b f;
#X obj 281 185 -;
#X obj 282 254 line~;
#X obj 282 233 pack 0 100;
#X obj 269 166 105;
#X obj 256 276 *~;
#X obj 282 210 * 0.01;
#X text 282 65 reverb decay speed;
#X text 278 79 (dB left after 1 sec);
#X text 425 84 bang to clear;
#X obj 44 41 rev1-stage \$0 \$0-del1 0 8;
#X obj 44 64 rev1-stage \$0 \$0-del2 1 14.32;
#X obj 44 87 rev1-stage \$0 \$0-del3 2 25.6328;
#X obj 44 110 rev1-stage \$0 \$0-del4 3 45.8827;
#X obj 44 133 rev1-stage \$0 \$0-del5 4 82.1301;
#X obj 44 156 rev1-stage \$0 \$0-del6 5 147.013;
#X obj 44 179 rev1-stage \$0 \$0-del7 6 263.153;
#X obj 44 202 rev1-stage \$0 \$0-del8 7 471.044;
#X obj 44 225 rev1-stage \$0 \$0-del9 8 843.168;
#X obj 44 248 rev1-final \$0 \$0-del10 9 1509.27;
#X obj 346 177 s \$0-decay;
#X obj 432 153 s \$0-clear;
#X connect 0 0 27 0;
#X connect 1 0 0 0;
#X connect 1 0 7 0;
#X connect 2 0 1 0;
#X connect 3 0 17 0;
#X connect 5 0 6 0;
#X connect 6 0 28 0;
#X connect 7 0 11 0;
#X connect 7 1 8 1;
#X connect 8 0 13 0;
#X connect 9 0 12 1;
#X connect 10 0 9 0;
#X connect 11 0 8 0;
#X connect 12 0 4 0;
#X connect 13 0 10 0;
#X connect 17 0 18 0;
#X connect 17 1 18 1;
#X connect 18 0 19 0;
#X connect 18 1 19 1;
#X connect 19 0 20 0;
#X connect 19 1 20 1;
#X connect 20 0 21 0;
#X connect 20 1 21 1;
#X connect 21 0 22 0;
#X connect 21 1 22 1;
#X connect 22 0 23 0;
#X connect 22 1 23 1;
#X connect 23 0 24 0;
#X connect 23 1 24 1;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 26 0;
#X connect 25 1 26 1;
#X connect 26 1 12 0;

View file

@ -0,0 +1,134 @@
#N canvas 167 160 766 354 12;
#X floatatom 73 185 0 0 120 0 - - -;
#X floatatom 106 323 0 0 120 0 - - -;
#N canvas 0 0 539 448 tests 0;
#X obj 67 33 inlet;
#X obj 309 189 inlet;
#X obj 235 207 line~;
#X obj 235 230 cos~;
#X obj 235 68 loadbang;
#X msg 235 91 -0.25;
#X obj 235 276 *~;
#X obj 186 309 hip~ 5;
#X floatatom 308 218 0 0 0 0 - - -;
#X obj 308 264 osc~ 440;
#X obj 308 241 mtof;
#X obj 235 253 *~ 0.1;
#X obj 308 299 *~;
#X obj 326 325 *~;
#X obj 292 330 *~;
#X msg 279 150 -0.25 \, 0.25 \$1;
#X obj 41 148 biquad~ 0 0 1 -1 0;
#X obj 63 70 t b;
#X obj 104 72 del 3;
#X obj 57 101 1;
#X obj 96 101 0;
#X obj 41 355 outlet~;
#X obj 279 126 inlet;
#X obj 40 175 *~;
#X connect 0 0 17 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 21 0;
#X connect 8 0 10 0;
#X connect 9 0 6 1;
#X connect 9 0 12 0;
#X connect 9 0 12 1;
#X connect 9 0 13 0;
#X connect 10 0 9 0;
#X connect 11 0 6 0;
#X connect 12 0 13 1;
#X connect 12 0 6 1;
#X connect 12 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 6 1;
#X connect 14 0 6 1;
#X connect 15 0 2 0;
#X connect 16 0 23 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 18 0 20 0;
#X connect 19 0 16 0;
#X connect 19 0 23 1;
#X connect 20 0 16 0;
#X connect 20 0 23 1;
#X connect 22 0 15 0;
#X connect 23 0 21 0;
#X restore 17 154 pd tests;
#X msg 56 35 10;
#X msg 54 62 20;
#X msg 53 90 100;
#X msg 52 115 500;
#X obj 17 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 37 9 impulse;
#N canvas 0 0 450 300 output 0;
#X obj 54 202 dac~;
#X obj 132 119 pack 0 100;
#X obj 132 142 line~;
#X obj 54 165 *~;
#X obj 132 97 dbtorms;
#X obj 33 42 inlet~;
#X obj 177 42 inlet;
#X obj 177 74 clip 0 120;
#X msg 257 133 \; pd dsp 1;
#X obj 98 42 inlet~;
#X obj 94 168 *~;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 2 0 10 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
#X connect 9 0 10 0;
#X connect 10 0 0 1;
#X restore 18 324 pd output;
#X floatatom 97 127 0 0 0 0 - - -;
#X text 136 96 tone;
#X text 135 112 pitch;
#X text 114 185 level \, dB;
#X floatatom 117 209 0 0 100 0 - - -;
#X text 158 209 liveness \, 0-100;
#X text 505 330 modified for Pd version 0.37;
#X floatatom 161 235 0 0 120 0 - - -;
#X floatatom 205 259 0 0 120 0 - - -;
#X text 192 235 crossover frequency \, Hz.;
#X text 238 260 HF damping \, percent;
#X obj 30 290 rev2~ 100 90 3000 20;
#X text 141 324 output level \, dB;
#X text 281 8 REV2~ - a simple 1-in \, 4-out reverberator;
#X text 95 35 tone;
#X text 96 52 bursts;
#X text 231 37 The creation arguments (level \, liveness \, crossover
frequency \, HF damping) may also be supplied in four inlets as shown.
The "liveness" (actually the internal feedback percentage) should be
100 for infinite reverb \, 90 for longish \, and 80 for short. The
crossover frequency and HF damping work together: at frequencies above
crossover \, the feedback is diminished by the "damping" as a percentage.
So zero HF damping means equal reverb time at all frequencies \, and
100% damping means almost nothing above the crossover frequency gets
through.;
#X text 132 130 (60 for;
#X text 115 150 middle C);
#X connect 0 0 21 1;
#X connect 1 0 9 2;
#X connect 2 0 9 0;
#X connect 2 0 21 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 2 1;
#X connect 6 0 2 1;
#X connect 7 0 2 0;
#X connect 10 0 2 2;
#X connect 14 0 21 2;
#X connect 17 0 21 3;
#X connect 18 0 21 4;
#X connect 21 0 9 0;
#X connect 21 1 9 1;

237
pd-0.44-2/extra/rev2~.pd Normal file
View file

@ -0,0 +1,237 @@
#N canvas 333 147 832 664 12;
#X obj 161 497 +~;
#X obj 520 105 inlet;
#X obj 184 407 *~;
#X obj 486 412 *~;
#X obj 285 412 *~;
#X obj 387 412 *~;
#X obj 443 546 -~;
#X obj 364 545 -~;
#X obj 239 537 +~;
#X obj 161 534 +~;
#X obj 162 444 +~;
#X obj 262 440 +~;
#X obj 464 501 -~;
#X obj 387 499 +~;
#X obj 239 500 -~;
#X obj 452 105 inlet;
#X obj 609 429 line~;
#X obj 509 374 line~;
#X obj 16 121 delread~ \$0-del1 58.6435;
#X obj 94 143 delread~ \$0-del2 69.4325;
#X obj 176 165 delread~ \$0-del3 74.5234;
#X obj 258 189 delread~ \$0-del4 86.1244;
#X obj 530 500 *~;
#X obj 599 501 *~;
#X obj 161 641 delwrite~ \$0-del1 58.6435;
#X obj 240 617 delwrite~ \$0-del2 69.4325;
#X obj 365 595 delwrite~ \$0-del3 74.5234;
#X obj 444 573 delwrite~ \$0-del4 86.1244;
#X obj 609 357 dbtorms;
#X obj 609 403 pack 0 30;
#X obj 520 211 pack 0 50;
#X obj 9 390 inlet~;
#X obj 530 525 outlet~;
#X obj 599 525 outlet~;
#X obj 520 187 / 200;
#X obj 520 162 clip 0 100;
#X obj 52 236 lop~;
#X obj 452 137 f \$1;
#X obj 520 138 f \$2;
#X obj 625 143 f \$3;
#X obj 696 143 f \$4;
#X obj 367 106 loadbang;
#X obj 667 500 *~;
#X obj 735 501 *~;
#X obj 667 525 outlet~;
#X obj 735 525 outlet~;
#X obj 625 167 moses 1;
#X msg 631 193 3000;
#X obj 705 193 clip 0 100;
#N canvas 345 88 355 597 early-reflect 0;
#X obj 119 477 delread~ \$0-ref6 13.645;
#X obj 119 453 delwrite~ \$0-ref6 13.645;
#X obj 106 400 delread~ \$0-ref5 16.364;
#X obj 106 376 delwrite~ \$0-ref5 16.364;
#X obj 102 324 delread~ \$0-ref4 19.392;
#X obj 102 300 delwrite~ \$0-ref4 19.392;
#X obj 106 247 delread~ \$0-ref3 25.796;
#X obj 106 223 delwrite~ \$0-ref3 25.796;
#X obj 107 169 delread~ \$0-ref2 43.5337;
#X obj 107 145 delwrite~ \$0-ref2 43.5337;
#X obj 110 90 delread~ \$0-ref1 75.2546;
#X obj 84 119 -~;
#X obj 49 119 +~;
#X obj 50 195 +~;
#X obj 85 196 -~;
#X obj 84 275 -~;
#X obj 49 274 +~;
#X obj 82 349 -~;
#X obj 48 350 +~;
#X obj 83 428 -~;
#X obj 49 428 +~;
#X obj 65 7 inlet~;
#X obj 110 66 delwrite~ \$0-ref1 75.2546;
#X obj 49 508 outlet~;
#X obj 119 507 outlet~;
#X connect 0 0 24 0;
#X connect 2 0 20 1;
#X connect 2 0 19 1;
#X connect 4 0 18 1;
#X connect 4 0 17 1;
#X connect 6 0 16 1;
#X connect 6 0 15 1;
#X connect 8 0 13 1;
#X connect 8 0 14 1;
#X connect 10 0 12 1;
#X connect 10 0 11 1;
#X connect 11 0 9 0;
#X connect 12 0 14 0;
#X connect 12 0 13 0;
#X connect 13 0 16 0;
#X connect 13 0 15 0;
#X connect 14 0 7 0;
#X connect 15 0 5 0;
#X connect 16 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 3 0;
#X connect 18 0 20 0;
#X connect 18 0 19 0;
#X connect 19 0 1 0;
#X connect 20 0 23 0;
#X connect 21 0 12 0;
#X connect 21 0 11 0;
#X connect 21 0 22 0;
#X restore 9 416 pd early-reflect;
#X obj 618 216 f;
#X obj 618 105 inlet;
#X obj 696 109 inlet;
#X obj 705 216 f;
#X obj 705 239 * 0.01;
#X obj 705 263 pack 0 50;
#X obj 705 287 line~;
#X obj 29 269 -~;
#X obj 28 300 *~;
#X obj 16 331 +~;
#X obj 132 240 lop~;
#X obj 106 274 -~;
#X obj 105 309 *~;
#X obj 95 333 +~;
#X obj 214 245 lop~;
#X obj 188 273 -~;
#X obj 187 314 *~;
#X obj 176 339 +~;
#X obj 308 249 lop~;
#X obj 281 274 -~;
#X obj 281 318 *~;
#X obj 258 342 +~;
#X obj 609 379 * 0.125;
#X text 403 10 control inlets:;
#X text 9 9 rev2 - simple \, cheap reverberator with;
#X text 400 29 1: output level \, dB \, 0-100;
#X text 8 30 one signal inlet and four signal outlets.;
#X text 399 79 4: high frequency damping \, 0-100;
#X text 400 62 3: crossover frequency in Hz. (3000 default);
#X text 400 45 2: liveness \, 0-100 \, usually between 85 and 100;
#X connect 0 0 9 0;
#X connect 0 0 7 0;
#X connect 1 0 38 0;
#X connect 2 0 10 1;
#X connect 3 0 12 1;
#X connect 3 0 13 1;
#X connect 3 0 43 0;
#X connect 4 0 11 1;
#X connect 5 0 13 0;
#X connect 5 0 12 0;
#X connect 5 0 42 0;
#X connect 6 0 27 0;
#X connect 7 0 26 0;
#X connect 8 0 25 0;
#X connect 9 0 24 0;
#X connect 10 0 14 0;
#X connect 10 0 0 0;
#X connect 10 0 22 0;
#X connect 11 0 0 1;
#X connect 11 0 14 1;
#X connect 11 0 23 0;
#X connect 12 0 8 1;
#X connect 12 0 6 1;
#X connect 13 0 9 1;
#X connect 13 0 7 1;
#X connect 14 0 8 0;
#X connect 14 0 6 0;
#X connect 15 0 37 0;
#X connect 16 0 22 1;
#X connect 16 0 23 1;
#X connect 16 0 42 1;
#X connect 16 0 43 1;
#X connect 17 0 4 1;
#X connect 17 0 2 1;
#X connect 17 0 5 1;
#X connect 17 0 3 1;
#X connect 18 0 36 0;
#X connect 18 0 57 1;
#X connect 18 0 59 0;
#X connect 19 0 60 0;
#X connect 19 0 61 1;
#X connect 19 0 63 0;
#X connect 20 0 67 0;
#X connect 20 0 64 0;
#X connect 20 0 65 1;
#X connect 21 0 71 0;
#X connect 21 0 69 1;
#X connect 21 0 68 0;
#X connect 22 0 32 0;
#X connect 23 0 33 0;
#X connect 28 0 72 0;
#X connect 29 0 16 0;
#X connect 30 0 17 0;
#X connect 31 0 49 0;
#X connect 34 0 30 0;
#X connect 35 0 34 0;
#X connect 36 0 57 0;
#X connect 37 0 28 0;
#X connect 38 0 35 0;
#X connect 39 0 46 0;
#X connect 40 0 48 0;
#X connect 41 0 37 0;
#X connect 41 0 38 0;
#X connect 41 0 39 0;
#X connect 41 0 40 0;
#X connect 42 0 44 0;
#X connect 43 0 45 0;
#X connect 46 0 47 0;
#X connect 46 1 50 0;
#X connect 47 0 50 0;
#X connect 48 0 53 0;
#X connect 49 0 10 0;
#X connect 49 1 11 0;
#X connect 50 0 36 1;
#X connect 50 0 60 1;
#X connect 50 0 64 1;
#X connect 50 0 68 1;
#X connect 51 0 50 0;
#X connect 52 0 40 0;
#X connect 53 0 54 0;
#X connect 54 0 55 0;
#X connect 55 0 56 0;
#X connect 56 0 58 1;
#X connect 56 0 62 1;
#X connect 56 0 66 1;
#X connect 56 0 70 1;
#X connect 57 0 58 0;
#X connect 58 0 59 1;
#X connect 59 0 2 0;
#X connect 60 0 61 0;
#X connect 61 0 62 0;
#X connect 62 0 63 1;
#X connect 63 0 4 0;
#X connect 64 0 65 0;
#X connect 65 0 66 0;
#X connect 66 0 67 1;
#X connect 67 0 5 0;
#X connect 68 0 69 0;
#X connect 69 0 70 0;
#X connect 70 0 71 1;
#X connect 71 0 3 0;
#X connect 72 0 29 0;

View file

@ -0,0 +1,136 @@
#N canvas 70 263 765 380 12;
#X floatatom 99 212 0 0 120 0 - - -;
#X floatatom 105 340 0 0 120 0 - - -;
#N canvas 0 0 539 448 tests 0;
#X obj 67 33 inlet;
#X obj 309 189 inlet;
#X obj 235 207 line~;
#X obj 235 230 cos~;
#X obj 235 68 loadbang;
#X msg 235 91 -0.25;
#X obj 235 276 *~;
#X obj 186 309 hip~ 5;
#X floatatom 308 218 0 0 0 0 - - -;
#X obj 308 264 osc~ 440;
#X obj 308 241 mtof;
#X obj 235 253 *~ 0.1;
#X obj 308 299 *~;
#X obj 326 325 *~;
#X obj 292 330 *~;
#X msg 279 150 -0.25 \, 0.25 \$1;
#X obj 41 148 biquad~ 0 0 1 -1 0;
#X obj 63 70 t b;
#X obj 104 72 del 3;
#X obj 57 101 1;
#X obj 96 101 0;
#X obj 41 355 outlet~;
#X obj 279 126 inlet;
#X obj 51 192 *~;
#X connect 0 0 17 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 21 0;
#X connect 8 0 10 0;
#X connect 9 0 6 1;
#X connect 9 0 12 0;
#X connect 9 0 12 1;
#X connect 9 0 13 0;
#X connect 10 0 9 0;
#X connect 11 0 6 0;
#X connect 12 0 13 1;
#X connect 12 0 6 1;
#X connect 12 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 6 1;
#X connect 14 0 6 1;
#X connect 15 0 2 0;
#X connect 16 0 23 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 18 0 20 0;
#X connect 19 0 16 0;
#X connect 19 0 23 1;
#X connect 20 0 16 0;
#X connect 20 0 23 1;
#X connect 22 0 15 0;
#X connect 23 0 21 0;
#X restore 16 171 pd tests;
#X msg 55 52 10;
#X msg 53 79 20;
#X msg 52 107 100;
#X msg 51 132 500;
#X obj 16 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 36 26 impulse;
#N canvas 0 0 450 300 output 0;
#X obj 54 202 dac~;
#X obj 132 119 pack 0 100;
#X obj 132 142 line~;
#X obj 54 165 *~;
#X obj 132 97 dbtorms;
#X obj 33 42 inlet~;
#X obj 177 42 inlet;
#X obj 177 74 clip 0 120;
#X msg 257 133 \; pd dsp 1;
#X obj 98 42 inlet~;
#X obj 94 168 *~;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 2 0 10 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
#X connect 9 0 10 0;
#X connect 10 0 0 1;
#X restore 17 340 pd output;
#X floatatom 96 144 0 0 0 0 - - -;
#X text 135 113 tone;
#X text 134 129 pitch;
#X text 140 212 level \, dB;
#X floatatom 134 234 0 0 100 0 - - -;
#X text 175 234 liveness \, 0-100;
#X floatatom 169 258 4 0 5000 0 - - -;
#X floatatom 204 281 0 0 100 0 - - -;
#X text 217 256 crossover frequency \, Hz.;
#X text 240 283 HF damping \, percent;
#X text 140 341 output level \, dB;
#X text 94 52 tone;
#X text 95 69 bursts;
#X text 131 147 (60 for;
#X text 114 167 middle C);
#X obj 29 307 rev3~ 100 90 3000 20;
#X text 263 4 REV3~ - hard-core \, 2-in \, 4-out reverberator;
#X text 236 56 The creation arguments (level \, liveness \, crossover
frequency \, HF damping) may also be supplied in four inlets as shown.
The "liveness" (actually the internal feedback percentage) should be
100 for infinite reverb \, 90 for longish \, and 80 for short. The
crossover frequency and HF damping work together: at frequencies above
crossover \, the feedback is diminished by the "damping" as a percentage.
So zero HF damping means equal reverb time at all frequencies \, and
100% damping means almost nothing above the crossover frequency gets
through.;
#X text 236 29 (A more expensive \, presumably better \, one than rev2~.)
;
#X text 470 352 modified for Pd version 0.37-1;
#X connect 0 0 25 2;
#X connect 1 0 9 2;
#X connect 2 0 9 0;
#X connect 2 0 25 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 2 1;
#X connect 6 0 2 1;
#X connect 7 0 2 0;
#X connect 10 0 2 2;
#X connect 14 0 25 3;
#X connect 16 0 25 4;
#X connect 17 0 25 5;
#X connect 25 0 9 0;
#X connect 25 1 9 1;

439
pd-0.44-2/extra/rev3~.pd Normal file
View file

@ -0,0 +1,439 @@
#N canvas 220 79 810 570 12;
#X obj 520 105 inlet;
#X obj 452 105 inlet;
#X obj 370 335 line~;
#X obj 232 394 *~;
#X obj 301 395 *~;
#X obj 370 284 dbtorms;
#X obj 370 309 pack 0 30;
#X obj 520 211 pack 0 50;
#X obj 232 419 outlet~;
#X obj 301 419 outlet~;
#X obj 520 162 clip 0 100;
#X obj 452 137 f \$1;
#X obj 520 138 f \$2;
#X obj 625 143 f \$3;
#X obj 696 143 f \$4;
#X obj 367 106 loadbang;
#X obj 369 394 *~;
#X obj 437 395 *~;
#X obj 369 419 outlet~;
#X obj 437 419 outlet~;
#X obj 625 167 moses 1;
#X msg 631 193 3000;
#X obj 705 193 clip 0 100;
#X obj 616 218 f;
#X obj 618 105 inlet;
#X obj 696 109 inlet;
#X obj 705 216 f;
#X obj 705 239 * 0.01;
#X obj 705 263 pack 0 50;
#X text 403 10 control inlets:;
#X text 400 29 1: output level \, dB \, 0-100;
#X text 399 79 4: high frequency damping \, 0-100;
#X text 400 62 3: crossover frequency in Hz. (3000 default);
#X text 400 45 2: liveness \, 0-100 \, usually between 85 and 100;
#X obj 616 242 s \$0-lop;
#N canvas 169 94 919 805 doit 0;
#X obj 218 386 *~;
#X obj 341 396 *~;
#X obj 267 389 *~;
#X obj 305 392 *~;
#X obj 28 175 lop~;
#X obj 27 204 -~;
#X obj 27 291 *~;
#X obj 16 319 +~;
#X obj 75 182 lop~;
#X obj 76 214 -~;
#X obj 77 294 *~;
#X obj 67 318 +~;
#X obj 124 187 lop~;
#X obj 124 214 -~;
#X obj 125 297 *~;
#X obj 116 322 +~;
#X obj 176 191 lop~;
#X obj 175 218 -~;
#X obj 175 301 *~;
#X obj 168 326 +~;
#X obj 15 372 *~;
#X obj 169 383 *~;
#X obj 67 376 *~;
#X obj 115 380 *~;
#X obj 207 160 r \$0-lop;
#X obj 183 246 r \$0-damp;
#X obj 183 271 line~;
#X obj 17 14 delread~ \$0-del1 10;
#X obj 117 56 delread~ \$0-del3 13.4567;
#X obj 68 35 delread~ \$0-del2 11.6356;
#X obj 171 77 delread~ \$0-del4 16.7345;
#X obj 524 407 *~;
#X obj 631 409 *~;
#X obj 560 408 *~;
#X obj 595 409 *~;
#X obj 377 399 *~;
#X obj 488 406 *~;
#X obj 414 402 *~;
#X obj 451 405 *~;
#X obj 654 354 line~;
#X obj 708 387 r \$0-fb;
#X obj 218 100 delread~ \$0-del5 20.1862;
#X obj 267 121 delread~ \$0-del6 25.7417;
#X obj 304 142 delread~ \$0-del7 31.4693;
#X obj 341 163 delread~ \$0-del8 38.2944;
#X obj 376 184 delread~ \$0-del9 46.6838;
#X obj 414 205 delread~ \$0-del10 55.4567;
#X obj 488 247 delread~ \$0-del12 76.8243;
#X obj 524 268 delread~ \$0-del13 88.5623;
#X obj 561 289 delread~ \$0-del14 101.278;
#X obj 595 310 delread~ \$0-del15 115.397;
#X obj 632 331 delread~ \$0-del16 130.502;
#X obj 25 346 inlet~;
#X obj 87 346 inlet~;
#X obj 69 440 +~;
#X obj 105 440 -~;
#X obj 141 440 +~;
#X obj 177 440 -~;
#X obj 214 440 +~;
#X obj 250 440 -~;
#X obj 286 440 +~;
#X obj 322 440 -~;
#X obj 359 440 +~;
#X obj 395 440 -~;
#X obj 431 440 +~;
#X obj 467 440 -~;
#X obj 504 440 +~;
#X obj 540 440 -~;
#X obj 576 440 +~;
#X obj 612 440 -~;
#X obj 69 474 +~;
#X obj 177 474 -~;
#X obj 105 474 +~;
#X obj 141 474 -~;
#X obj 214 474 +~;
#X obj 322 474 -~;
#X obj 250 474 +~;
#X obj 286 474 -~;
#X obj 359 474 +~;
#X obj 467 474 -~;
#X obj 395 474 +~;
#X obj 431 474 -~;
#X obj 504 474 +~;
#X obj 612 474 -~;
#X obj 540 474 +~;
#X obj 576 474 -~;
#X obj 69 518 +~;
#X obj 105 518 +~;
#X obj 322 518 -~;
#X obj 286 518 -~;
#X obj 141 518 +~;
#X obj 177 518 +~;
#X obj 214 518 -~;
#X obj 250 518 -~;
#X obj 360 518 +~;
#X obj 396 518 +~;
#X obj 613 518 -~;
#X obj 577 518 -~;
#X obj 432 518 +~;
#X obj 468 518 +~;
#X obj 505 518 -~;
#X obj 541 518 -~;
#X obj 70 575 +~;
#X obj 106 575 +~;
#X obj 469 575 -~;
#X obj 433 575 -~;
#X obj 142 575 +~;
#X obj 178 575 +~;
#X obj 361 575 -~;
#X obj 397 575 -~;
#X obj 215 575 +~;
#X obj 251 575 +~;
#X obj 287 575 +~;
#X obj 323 575 +~;
#X obj 614 575 -~;
#X obj 578 575 -~;
#X obj 506 575 -~;
#X obj 542 575 -~;
#X obj 628 606 outlet~;
#X obj 698 606 outlet~;
#X obj 768 607 outlet~;
#X obj 838 607 outlet~;
#X obj 451 226 delread~ \$0-del11 65.1755;
#X obj 614 629 delwrite~ \$0-del16 130.502;
#X obj 361 776 delwrite~ \$0-del9 46.6838;
#X obj 398 755 delwrite~ \$0-del10 55.4567;
#X obj 434 734 delwrite~ \$0-del11 65.1755;
#X obj 470 713 delwrite~ \$0-del12 76.8243;
#X obj 506 692 delwrite~ \$0-del13 88.5623;
#X obj 542 671 delwrite~ \$0-del14 101.278;
#X obj 579 650 delwrite~ \$0-del15 115.397;
#X obj 323 606 delwrite~ \$0-del8 38.2944;
#X obj 287 628 delwrite~ \$0-del7 31.4693;
#X obj 252 650 delwrite~ \$0-del6 25.7417;
#X obj 215 672 delwrite~ \$0-del5 20.1862;
#X obj 71 761 delwrite~ \$0-del1 10;
#X obj 106 737 delwrite~ \$0-del2 11.6356;
#X obj 141 715 delwrite~ \$0-del3 13.4567;
#X obj 179 693 delwrite~ \$0-del4 16.7345;
#X connect 0 0 58 0;
#X connect 0 0 59 0;
#X connect 1 0 60 1;
#X connect 1 0 61 1;
#X connect 2 0 58 1;
#X connect 2 0 59 1;
#X connect 3 0 60 0;
#X connect 3 0 61 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 1;
#X connect 7 0 20 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 1;
#X connect 11 0 22 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 1;
#X connect 15 0 23 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 1;
#X connect 19 0 21 0;
#X connect 20 0 54 0;
#X connect 20 0 55 0;
#X connect 21 0 56 1;
#X connect 21 0 57 1;
#X connect 22 0 55 1;
#X connect 22 0 54 1;
#X connect 23 0 56 0;
#X connect 23 0 57 0;
#X connect 24 0 16 1;
#X connect 24 0 12 1;
#X connect 24 0 8 1;
#X connect 24 0 4 1;
#X connect 25 0 26 0;
#X connect 26 0 18 1;
#X connect 26 0 14 1;
#X connect 26 0 10 1;
#X connect 26 0 6 1;
#X connect 27 0 4 0;
#X connect 27 0 5 1;
#X connect 27 0 7 0;
#X connect 28 0 15 0;
#X connect 28 0 12 0;
#X connect 28 0 13 1;
#X connect 29 0 8 0;
#X connect 29 0 9 1;
#X connect 29 0 11 0;
#X connect 30 0 19 0;
#X connect 30 0 17 1;
#X connect 30 0 16 0;
#X connect 31 0 66 0;
#X connect 31 0 67 0;
#X connect 32 0 68 1;
#X connect 32 0 69 1;
#X connect 33 0 66 1;
#X connect 33 0 67 1;
#X connect 34 0 68 0;
#X connect 34 0 69 0;
#X connect 35 0 62 0;
#X connect 35 0 63 0;
#X connect 36 0 64 1;
#X connect 36 0 65 1;
#X connect 37 0 62 1;
#X connect 37 0 63 1;
#X connect 38 0 64 0;
#X connect 38 0 65 0;
#X connect 39 0 2 1;
#X connect 39 0 0 1;
#X connect 39 0 3 1;
#X connect 39 0 1 1;
#X connect 39 0 21 1;
#X connect 39 0 23 1;
#X connect 39 0 22 1;
#X connect 39 0 20 1;
#X connect 39 0 35 1;
#X connect 39 0 38 1;
#X connect 39 0 36 1;
#X connect 39 0 31 1;
#X connect 39 0 33 1;
#X connect 39 0 34 1;
#X connect 39 0 32 1;
#X connect 39 0 37 1;
#X connect 40 0 39 0;
#X connect 41 0 0 0;
#X connect 42 0 2 0;
#X connect 43 0 3 0;
#X connect 44 0 1 0;
#X connect 45 0 35 0;
#X connect 46 0 37 0;
#X connect 47 0 36 0;
#X connect 48 0 31 0;
#X connect 49 0 33 0;
#X connect 50 0 34 0;
#X connect 51 0 32 0;
#X connect 52 0 20 0;
#X connect 53 0 22 0;
#X connect 54 0 70 0;
#X connect 54 0 73 0;
#X connect 55 0 72 0;
#X connect 55 0 71 0;
#X connect 56 0 70 1;
#X connect 56 0 73 1;
#X connect 57 0 72 1;
#X connect 57 0 71 1;
#X connect 58 0 74 0;
#X connect 58 0 77 0;
#X connect 59 0 76 0;
#X connect 59 0 75 0;
#X connect 60 0 74 1;
#X connect 60 0 77 1;
#X connect 61 0 76 1;
#X connect 61 0 75 1;
#X connect 62 0 78 0;
#X connect 62 0 81 0;
#X connect 63 0 80 0;
#X connect 63 0 79 0;
#X connect 64 0 78 1;
#X connect 64 0 81 1;
#X connect 65 0 80 1;
#X connect 65 0 79 1;
#X connect 66 0 82 0;
#X connect 66 0 85 0;
#X connect 67 0 84 0;
#X connect 67 0 83 0;
#X connect 68 0 82 1;
#X connect 68 0 85 1;
#X connect 69 0 84 1;
#X connect 69 0 83 1;
#X connect 70 0 86 0;
#X connect 70 0 92 0;
#X connect 71 0 91 0;
#X connect 71 0 88 0;
#X connect 72 0 87 0;
#X connect 72 0 93 0;
#X connect 73 0 90 0;
#X connect 73 0 89 0;
#X connect 74 0 86 1;
#X connect 74 0 92 1;
#X connect 75 0 91 1;
#X connect 75 0 88 1;
#X connect 76 0 87 1;
#X connect 76 0 93 1;
#X connect 77 0 90 1;
#X connect 77 0 89 1;
#X connect 78 0 94 0;
#X connect 78 0 100 0;
#X connect 79 0 99 0;
#X connect 79 0 96 0;
#X connect 80 0 95 0;
#X connect 80 0 101 0;
#X connect 81 0 98 0;
#X connect 81 0 97 0;
#X connect 82 0 94 1;
#X connect 82 0 100 1;
#X connect 83 0 99 1;
#X connect 83 0 96 1;
#X connect 84 0 95 1;
#X connect 84 0 101 1;
#X connect 85 0 98 1;
#X connect 85 0 97 1;
#X connect 86 0 102 0;
#X connect 86 0 108 0;
#X connect 87 0 103 0;
#X connect 87 0 109 0;
#X connect 88 0 113 0;
#X connect 88 0 114 0;
#X connect 89 0 112 0;
#X connect 89 0 115 0;
#X connect 90 0 106 0;
#X connect 90 0 105 0;
#X connect 91 0 107 0;
#X connect 91 0 104 0;
#X connect 92 0 110 0;
#X connect 92 0 116 0;
#X connect 93 0 111 0;
#X connect 93 0 117 0;
#X connect 94 0 108 1;
#X connect 94 0 102 1;
#X connect 95 0 109 1;
#X connect 95 0 103 1;
#X connect 96 0 114 1;
#X connect 96 0 113 1;
#X connect 97 0 115 1;
#X connect 97 0 112 1;
#X connect 98 0 105 1;
#X connect 98 0 106 1;
#X connect 99 0 104 1;
#X connect 99 0 107 1;
#X connect 100 0 116 1;
#X connect 100 0 110 1;
#X connect 101 0 117 1;
#X connect 101 0 111 1;
#X connect 102 0 135 0;
#X connect 103 0 136 0;
#X connect 104 0 127 0;
#X connect 105 0 126 0;
#X connect 106 0 137 0;
#X connect 107 0 138 0;
#X connect 108 0 124 0;
#X connect 109 0 125 0;
#X connect 110 0 134 0;
#X connect 111 0 133 0;
#X connect 112 0 132 0;
#X connect 113 0 131 0;
#X connect 114 0 121 0;
#X connect 114 0 123 0;
#X connect 115 0 120 0;
#X connect 115 0 130 0;
#X connect 116 0 118 0;
#X connect 116 0 128 0;
#X connect 117 0 119 0;
#X connect 117 0 129 0;
#X connect 122 0 38 0;
#X restore 164 317 pd doit;
#X obj 165 255 inlet~;
#X obj 222 255 inlet~;
#X obj 520 241 s \$0-fb;
#X obj 705 290 s \$0-damp;
#X text 57 490 rev3 - 16-delay reverberator. Like rev2~ but presumably
higher-quality and takes two audio inputs.;
#X obj 520 187 / 400;
#X connect 0 0 12 0;
#X connect 1 0 11 0;
#X connect 2 0 3 1;
#X connect 2 0 4 1;
#X connect 2 0 16 1;
#X connect 2 0 17 1;
#X connect 3 0 8 0;
#X connect 4 0 9 0;
#X connect 5 0 6 0;
#X connect 6 0 2 0;
#X connect 7 0 38 0;
#X connect 10 0 41 0;
#X connect 11 0 5 0;
#X connect 12 0 10 0;
#X connect 13 0 20 0;
#X connect 14 0 22 0;
#X connect 15 0 11 0;
#X connect 15 0 12 0;
#X connect 15 0 13 0;
#X connect 15 0 14 0;
#X connect 16 0 18 0;
#X connect 17 0 19 0;
#X connect 20 0 21 0;
#X connect 20 1 23 0;
#X connect 21 0 23 0;
#X connect 22 0 26 0;
#X connect 23 0 34 0;
#X connect 24 0 23 0;
#X connect 25 0 14 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 28 0 39 0;
#X connect 35 0 3 0;
#X connect 35 1 4 0;
#X connect 35 2 16 0;
#X connect 35 3 17 0;
#X connect 36 0 35 0;
#X connect 37 0 35 1;
#X connect 41 0 7 0;

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=sigmund~
external_LTLIBRARIES = sigmund~.la
SOURCES = sigmund~.c
PATCHES = sigmund~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/sigmund~
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
sigmund__la_LIBADD =
sigmund__la_SOURCES = sigmund~.c
sigmund__la_OBJECTS = sigmund~.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = sigmund~.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = sigmund~
external_LTLIBRARIES = sigmund~.la
SOURCES = sigmund~.c
PATCHES = sigmund~-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/sigmund~/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/sigmund~/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
sigmund~.la: $(sigmund__la_OBJECTS) $(sigmund__la_DEPENDENCIES) $(EXTRA_sigmund__la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(sigmund__la_OBJECTS) $(sigmund__la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigmund~.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,4 @@
NAME=sigmund~
CSYM=sigmund_tilde
include ../makefile.subdir

View file

@ -0,0 +1,194 @@
#N canvas 167 -7 580 617 12;
#X text 42 4 sigmund~ - sinusoidal analysis and pitch tracking;
#N canvas 432 117 573 597 using-with-tables 0;
#X obj 29 368 print peak;
#N canvas 0 0 450 300 (subpatch) 0;
#X array insignal 1024 float 2;
#X coords 0 1 1023 -1 200 140 1;
#X restore 83 426 graph;
#X obj 314 513 phasor~;
#X obj 294 429 loadbang;
#X obj 314 461 440;
#X floatatom 313 488 5 0 0 0 - - -;
#X obj 305 544 tabwrite~ insignal;
#X obj 290 516 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 114 11 Using sigmund~ on arrays;
#X text 42 33 If invoked with the "-t" flag (as a creation argument)
\, sigmund~ analyzes waveforms stored in arrays. Instead of an incoming
signal \, feed it "list" messages with the following arguments:;
#X text 37 118 table name (a symbol);
#X text 38 137 number of points;
#X obj 29 342 sigmund~ -t -npeak 10 -maxfreq 5000 peaks;
#X msg 29 316 list insignal 1024 0 44100 0;
#X text 37 158 index of first point;
#X text 39 179 sample rate;
#X text 38 200 debug flag (print debugging info if nonzero);
#X text 23 232 In this mode \, only the "env" \, "pitch" \, and "peaks"
outputs are meaningful.;
#X text 31 294 click here to test:;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 0 7 0;
#X connect 7 0 6 0;
#X connect 12 0 0 0;
#X connect 13 0 12 0;
#X restore 330 553 pd using-with-tables;
#X obj 40 512 phasor~;
#X obj 40 425 loadbang;
#X floatatom 40 471 5 0 120 0 - - -;
#X floatatom 39 561 5 0 0 0 - - -;
#X floatatom 245 563 5 0 0 0 - - -;
#X obj 40 490 mtof;
#X obj 40 448 69;
#X text 38 579 pitch;
#X text 222 582 envelope;
#X text 13 28 Sigmund~ analyzes an incoming sound into sinusoidal components
\, which may be reported individually or combined to form a pitch estimate.
Possible outputs are specified as creation arguments:;
#X text 56 95 pitch - output pitch continuously;
#N canvas 518 74 588 728 setting-parameters 0;
#X msg 182 66 print;
#X floatatom 192 92 5 0 0 0 - - -;
#X msg 192 113 minpower \$1;
#X obj 182 139 sigmund~ -minpower 40;
#X text 39 14 You can set parameters either by creation arguments \,
or else using messages. The "print" message gives you the current values
of all the parameters:;
#X text 28 169 npts: number of points used in an analysis. Must be
a power of two \, at least 128 The minimum frequency that can be tracked
is about 2(sample_rate)/npts.;
#X text 26 219 hop: number of points between analyses. Must be a power
of two \, at least the DSP vector size (usually 64). This regulates
the number of analyses done per unit of time.;
#X text 28 271 npeak: maximum number of sinusoidal peaks to look for.
The computation time is quadratic in the number of peaks actually found
(this number only sets an upper limit). Use it to balance CPU time
with quality of results.;
#X text 30 336 maxfreq: maximum frequency of sinusoidal peaks to look
for. This can be useful in situations where background noise creates
high-frequency \, spurious peaks..;
#X text 37 388 vibrato: maximum deviation from "pitch" to accept as
normal vibrato (affects "notes" output only). If the value is too small.
vibratos will appear as trills. If too large \, very small melodic
intervals may not be reported as new notes.;
#X text 33 457 stabletime: time period to wait before reporting a note
(affects "notes" output only). The "pitch" must be present and must
not vary more than "vibrato" for this entire period to report a note.
If too large \, the "notes" will be unnecessarily delayed. If too small
\, spurious notes get output.;
#X text 31 551 minpower: minimum measured RMS level to report a pitch
(affects "pitch" and "notes" output only). Signals quieter than this
will be assumed to be crosstalk and ignored.;
#X text 32 602 growth: minimum measured RMS growth to report a new
note (affects "notes" output only). The RMS level must rise by this
many dB (within a time period given by "stabletime") to report a repetition
of a note at or near the previously output pitch.;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X restore 330 531 pd setting-parameters;
#N canvas 67 29 641 815 sinusoid-tracking 0;
#X obj 124 267 sigmund~ -npeak 10 peaks;
#X obj 124 214 phasor~;
#X obj 124 144 loadbang;
#X floatatom 124 190 5 0 120 0 - - -;
#X obj 124 295 route 0 1 2 3 4 5 6 7 8 9;
#X obj 82 339 unpack 0 0 0 0;
#X floatatom 82 461 5 0 0 0 - - -;
#X floatatom 122 431 5 0 0 0 - - -;
#X floatatom 162 406 5 0 0 0 - - -;
#X obj 124 167 440;
#X floatatom 203 380 5 0 0 0 - - -;
#X obj 322 349 unpack 0 0 0 0;
#X floatatom 322 471 5 0 0 0 - - -;
#X floatatom 362 441 5 0 0 0 - - -;
#X floatatom 402 416 5 0 0 0 - - -;
#X floatatom 443 390 5 0 0 0 - - -;
#X text 385 475 frequency (Hz.);
#X text 419 442 peak amplitude (linear);
#X text 464 416 cosine component;
#X text 499 390 sine component;
#X text 79 505 loudest partial;
#X text 332 508 quietest partial;
#X text 36 4 You can ask for sinusoidal peaks in decreasing order of
amplitude or arranged into maximally continuous tracks for resynthesis.
(Or you can ask for both.) If you ask for peaks \, out come lists of
five numbers \, one for each sinusoid at each analysis period. The
first is the index number of the sinusoid (so you can use "route" to
claw them apart). The other four are as shown:;
#X obj 204 611 osc~ 440;
#X obj 204 635 *~;
#X obj 205 689 unpack 0 0 0 0;
#X floatatom 205 782 5 0 0 0 - - -;
#X floatatom 245 760 5 0 0 0 - - -;
#X floatatom 285 737 5 0 0 0 - - -;
#X floatatom 326 713 5 0 0 0 - - -;
#X obj 246 638 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 43 535 If you ask for "tracks" \, the output is four numbers:
index \, frequency \, and amplitude as before \, and finally a flag
which is one for a new track \, zero for a continuation \, minus one
for an empty track.;
#X obj 205 662 sigmund~ -npts 16384 -hop 8192 -npeak 1 tracks;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 9 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 4 9 11 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 5 2 8 0;
#X connect 5 3 10 0;
#X connect 9 0 3 0;
#X connect 11 0 12 0;
#X connect 11 1 13 0;
#X connect 11 2 14 0;
#X connect 11 3 15 0;
#X connect 23 0 24 0;
#X connect 24 0 32 0;
#X connect 25 0 26 0;
#X connect 25 1 27 0;
#X connect 25 2 28 0;
#X connect 25 3 29 0;
#X connect 30 0 24 1;
#X connect 32 0 25 0;
#X restore 330 508 pd sinusoid-tracking;
#X text 52 165 tracks - output sinusoidal peaks organized into tracks
;
#X text 56 111 notes - output pitch at the beginning of notes;
#X text 339 485 more details:;
#X text 10 184 Parameters you may set (in creation arguments or messages):
;
#X text 60 207 npts - number of points in each analysis window (1024)
;
#X text 60 225 hop - number of points between each analysis (512);
#X text 60 242 npeak - number of sinusoidal peaks (20);
#X text 61 279 vibrato - depth of vibrato to expect in 1/2-tones (1)
;
#X text 60 298 stabletime - time (msec) to wait to report notes (50)
;
#X obj 39 535 sigmund~ -hop 4096 pitch env;
#X text 62 316 minpower - minimum power (dB) to report a pitch (50)
;
#X text 62 335 growth - growth (dB) to report a new note (7);
#X text 54 147 peaks - output all sinusoidal peaks in order of amplitude
;
#X text 11 356 The npts and hop parameters are in samples \, and are
powers of two. The example below specifies a huge hop of 4096 (to slow
the output down) and to output "pitch" and "env". (Those are the default
outputs.);
#X text 61 260 maxfreq - maximum sinusoid frequency in Hz. (1000000)
;
#X text 55 128 env - output amplitude continuously;
#X text 380 596 updated for Pd v0.41;
#X connect 2 0 24 0;
#X connect 3 0 8 0;
#X connect 4 0 7 0;
#X connect 7 0 2 0;
#X connect 8 0 4 0;
#X connect 24 0 5 0;
#X connect 24 1 6 0;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,28 @@
## Makefile.am -- Process this file with automake to produce Makefile.in
NAME=stdout
external_LTLIBRARIES = stdout.la
SOURCES = stdout.c
PATCHES = stdout-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
if MINGW
AM_LIBS += -lpd
endif
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck

View file

@ -0,0 +1,616 @@
# GNUmakefile.in generated by automake 1.11.6 from GNUmakefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@MINGW_TRUE@am__append_1 = -lpd
subdir = extra/stdout
DIST_COMMON = $(dist_external_DATA) $(srcdir)/GNUmakefile.am \
$(srcdir)/GNUmakefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/android.m4 \
$(top_srcdir)/m4/iphone.m4 $(top_srcdir)/m4/universal.m4 \
$(top_srcdir)/m4/generated/libtool.m4 \
$(top_srcdir)/m4/generated/ltoptions.m4 \
$(top_srcdir)/m4/generated/ltsugar.m4 \
$(top_srcdir)/m4/generated/ltversion.m4 \
$(top_srcdir)/m4/generated/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(externaldir)" \
"$(DESTDIR)$(externaldir)"
LTLIBRARIES = $(external_LTLIBRARIES)
stdout_la_LIBADD =
stdout_la_SOURCES = stdout.c
stdout_la_OBJECTS = stdout.lo
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/m4/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DIST_SOURCES = stdout.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_external_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALSA_LIBS = @ALSA_LIBS@
AMTAR = @AMTAR@
AR = @AR@
ARCH_CFLAGS = @ARCH_CFLAGS@
ARCH_LDFLAGS = @ARCH_LDFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTERNAL_CFLAGS = @EXTERNAL_CFLAGS@
EXTERNAL_EXTENSION = @EXTERNAL_EXTENSION@
EXTERNAL_LDFLAGS = @EXTERNAL_LDFLAGS@
EXTERNTARGET = @EXTERNTARGET@
FGREP = @FGREP@
GREP = @GREP@
HAVE_MSGFMT = @HAVE_MSGFMT@
INCLUDES = @INCLUDES@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JACK_LIBS = @JACK_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NAME = stdout
external_LTLIBRARIES = stdout.la
SOURCES = stdout.c
PATCHES = stdout-help.pd
OTHERDATA =
###############################
# you shouldn't need to add anything below here
dist_external_DATA = $(PATCHES) $(OTHERDATA)
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
AM_CFLAGS = @ARCH_CFLAGS@
AM_LIBS = $(LIBM) $(am__append_1)
AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
externaldir = $(pkglibdir)/extra/$(NAME)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/GNUmakefile.in: $(srcdir)/GNUmakefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extra/stdout/GNUmakefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign extra/stdout/GNUmakefile
.PRECIOUS: GNUmakefile
GNUmakefile: $(srcdir)/GNUmakefile.in $(top_builddir)/config.status
@case '$?' in \
*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);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-externalLTLIBRARIES: $(external_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(externaldir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(externaldir)"; \
}
uninstall-externalLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(external_LTLIBRARIES)'; test -n "$(externaldir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(externaldir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(externaldir)/$$f"; \
done
clean-externalLTLIBRARIES:
-test -z "$(external_LTLIBRARIES)" || rm -f $(external_LTLIBRARIES)
@list='$(external_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
stdout.la: $(stdout_la_OBJECTS) $(stdout_la_DEPENDENCIES) $(EXTRA_stdout_la_DEPENDENCIES)
$(LINK) -rpath $(externaldir) $(stdout_la_OBJECTS) $(stdout_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdout.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_externalDATA: $(dist_external_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(externaldir)'"; \
$(MKDIR_P) "$(DESTDIR)$(externaldir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(externaldir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(externaldir)" || exit $$?; \
done
uninstall-dist_externalDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_external_DATA)'; test -n "$(externaldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(externaldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: GNUmakefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(externaldir)" "$(DESTDIR)$(externaldir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-externalLTLIBRARIES clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_externalDATA install-externalLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f GNUmakefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-externalLTLIBRARIES clean-generic clean-libtool ctags \
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-dist_externalDATA install-dvi \
install-dvi-am install-exec install-exec-am \
install-externalLTLIBRARIES 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 \
tags uninstall uninstall-am uninstall-dist_externalDATA \
uninstall-externalLTLIBRARIES
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,4 @@
NAME=stdout
CSYM=stdout
include ../makefile.subdir

View file

@ -0,0 +1,19 @@
#N canvas 121 60 488 321 12;
#X msg 126 203 walk the dog;
#X msg 117 156 1;
#X obj 117 240 stdout;
#X text 269 287 updated for Pd version 0.42;
#X obj 14 13 stdout;
#X text 67 14 - write messages to standard output;
#X msg 122 179 1 2;
#X obj 119 291 pd~;
#X text 44 291 see also:;
#X text 34 39 Sends messages to Pd's standard output. This is useful
in conjunction with the pd~ object \, which starts a pd sub-process.
Messages sent to the sub-process standard output appear on the output
of the pd~ object in the owning process. This might also be useful
in other situations. Note that there's no corresponding "stdin" object
- there seems to be no one canonical way such a thing should act.;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 6 0 2 0;

View file

@ -0,0 +1,50 @@
/* stdout -- write messages to standard output.
Copyright 2008 Miller Puckette
BSD license; see README.txt in this distribution for details.
*/
#include "m_pd.h"
#include <stdio.h>
#include <string.h>
static t_class *stdout_class;
typedef struct _stdout
{
t_object x_obj;
} t_stdout;
static void *stdout_new(t_float fnonrepeat)
{
t_stdout *x = (t_stdout *)pd_new(stdout_class);
return (x);
}
static void stdout_anything(t_stdout *x, t_symbol *s, int argc, t_atom *argv)
{
char msgbuf[MAXPDSTRING], *sp, *ep = msgbuf+MAXPDSTRING;
msgbuf[0] = 0;
strncpy(msgbuf, s->s_name, MAXPDSTRING);
msgbuf[MAXPDSTRING-1] = 0;
sp = msgbuf + strlen(msgbuf);
while (argc--)
{
if (sp < ep-1)
sp[0] = ' ', sp[1] = 0, sp++;
atom_string(argv++, sp, ep-sp);
sp += strlen(sp);
}
printf("%s;\n", msgbuf);
}
static void stdout_free(t_stdout *x)
{
fflush(stdout);
}
void stdout_setup(void)
{
stdout_class = class_new(gensym("stdout"), (t_newmethod)stdout_new,
(t_method)stdout_free, sizeof(t_stdout), 0, 0);
class_addanything(stdout_class, stdout_anything);
}