- 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,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