diff options
-rw-r--r-- | Makefile | 235 | ||||
-rw-r--r-- | SMLib-help.pd (renamed from help/SMLib-help.pd) | 202 | ||||
-rw-r--r-- | SMLib.c (renamed from source/SMLib.c) | 0 | ||||
-rwxr-xr-x | SMLib.dsp (renamed from source/SMLib.dsp) | 0 | ||||
-rwxr-xr-x | SMLib.dsw (renamed from source/SMLib.dsw) | 0 | ||||
-rwxr-xr-x | SMLib.opt (renamed from source/SMLib.opt) | bin | 48640 -> 48640 bytes | |||
-rwxr-xr-x | SMLib.plg (renamed from source/SMLib.plg) | 0 | ||||
-rw-r--r-- | bp-help.pd (renamed from help/bp-help.pd) | 0 | ||||
-rw-r--r-- | bp.c (renamed from source/bp.c) | 0 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 16 | ||||
-rw-r--r-- | debian/copyright | 13 | ||||
-rwxr-xr-x | debian/rules | 16 | ||||
-rw-r--r-- | decimator.c (renamed from source/decimator.c) | 0 | ||||
-rw-r--r-- | defines.h (renamed from source/defines.h) | 3 | ||||
-rw-r--r-- | deltas-help.pd (renamed from help/deltas-help.pd) | 0 | ||||
-rw-r--r-- | deltas.c (renamed from source/deltas.c) | 0 | ||||
-rw-r--r-- | hip-help.pd (renamed from help/hip-help.pd) | 0 | ||||
-rw-r--r-- | hip.c (renamed from source/hip.c) | 0 | ||||
-rw-r--r-- | hist-help.pd (renamed from help/hist-help.pd) | 0 | ||||
-rw-r--r-- | hist.c (renamed from source/hist.c) | 0 | ||||
-rw-r--r-- | itov-help.pd (renamed from help/itov-help.pd) | 0 | ||||
-rw-r--r-- | itov.c (renamed from source/itov.c) | 0 | ||||
-rw-r--r-- | lavg-help.pd (renamed from help/lavg-help.pd) | 0 | ||||
-rw-r--r-- | lavg.c (renamed from source/lavg.c) | 0 | ||||
-rw-r--r-- | lhist-help.pd (renamed from help/lhist-help.pd) | 0 | ||||
-rw-r--r-- | lhist.c (renamed from source/lhist.c) | 0 | ||||
-rw-r--r-- | lhisti-help.pd (renamed from help/lhisti-help.pd) | 0 | ||||
-rw-r--r-- | lhisti.c (renamed from source/lhisti.c) | 0 | ||||
-rw-r--r-- | linspace-help.pd (renamed from help/linspace-help.pd) | 0 | ||||
-rw-r--r-- | linspace.c (renamed from source/linspace.c) | 0 | ||||
-rw-r--r-- | lmax-help.pd (renamed from help/lmax-help.pd) | 0 | ||||
-rw-r--r-- | lmax.c (renamed from source/lmax.c) | 0 | ||||
-rw-r--r-- | lmin-help.pd (renamed from help/lmin-help.pd) | 0 | ||||
-rw-r--r-- | lmin.c (renamed from source/lmin.c) | 0 | ||||
-rw-r--r-- | lrange-help.pd (renamed from help/lrange-help.pd) | 0 | ||||
-rw-r--r-- | lrange.c (renamed from source/lrange.c) | 0 | ||||
-rw-r--r-- | lstd-help.pd | 9 | ||||
-rw-r--r-- | lstd.c (renamed from source/lstd.c) | 0 | ||||
-rw-r--r-- | prevl-help.pd (renamed from help/prevl-help.pd) | 0 | ||||
-rw-r--r-- | prevl.c (renamed from source/prevl.c) | 0 | ||||
-rw-r--r-- | smlib-meta.pd | 16 | ||||
-rw-r--r-- | threshold-help.pd (renamed from help/threshold-help.pd) | 0 | ||||
-rw-r--r-- | threshold.c (renamed from source/threshold.c) | 0 | ||||
-rw-r--r-- | vabs-help.pd (renamed from help/vabs-help.pd) | 0 | ||||
-rw-r--r-- | vabs.c (renamed from source/vabs.c) | 0 | ||||
-rw-r--r-- | vclip-help.pd (renamed from help/vclip-help.pd) | 0 | ||||
-rw-r--r-- | vclip.c (renamed from source/vclip.c) | 0 | ||||
-rw-r--r-- | vcog-help.pd (renamed from help/vcog-help.pd) | 0 | ||||
-rw-r--r-- | vcog.c (renamed from source/vcog.c) | 0 | ||||
-rw-r--r-- | vdbtorms-help.pd (renamed from help/vdbtorms-help.pd) | 0 | ||||
-rw-r--r-- | vdbtorms.c (renamed from source/vdbtorms.c) | 0 | ||||
-rw-r--r-- | vdelta-help.pd (renamed from help/vdelta-help.pd) | 0 | ||||
-rw-r--r-- | vdelta.c (renamed from source/vdelta.c) | 0 | ||||
-rw-r--r-- | vfmod-help.pd (renamed from help/vfmod-help.pd) | 0 | ||||
-rw-r--r-- | vfmod.c (renamed from source/vfmod.c) | 0 | ||||
-rw-r--r-- | vftom-help.pd (renamed from help/vftom-help.pd) | 0 | ||||
-rw-r--r-- | vftom.c (renamed from source/vftom.c) | 0 | ||||
-rw-r--r-- | vlavg-help.pd (renamed from help/vlavg-help.pd) | 0 | ||||
-rw-r--r-- | vlavg.c (renamed from source/vlavg.c) | 0 | ||||
-rw-r--r-- | vlmax-help.pd (renamed from help/vlmax-help.pd) | 0 | ||||
-rw-r--r-- | vlmax.c (renamed from source/vlmax.c) | 0 | ||||
-rw-r--r-- | vlmin-help.pd (renamed from help/vlmin-help.pd) | 0 | ||||
-rw-r--r-- | vlmin.c (renamed from source/vlmin.c) | 0 | ||||
-rw-r--r-- | vlrange-help.pd | 9 | ||||
-rw-r--r-- | vlrange.c (renamed from source/vlrange.c) | 0 | ||||
-rw-r--r-- | vmax-help.pd (renamed from help/vmax-help.pd) | 0 | ||||
-rw-r--r-- | vmax.c (renamed from source/vmax.c) | 0 | ||||
-rw-r--r-- | vmin-help.pd (renamed from help/vmin-help.pd) | 0 | ||||
-rw-r--r-- | vmin.c (renamed from source/vmin.c) | 0 | ||||
-rw-r--r-- | vmtof-help.pd (renamed from help/vmtof-help.pd) | 18 | ||||
-rw-r--r-- | vmtof.c (renamed from source/vmtof.c) | 0 | ||||
-rw-r--r-- | vnmax-help.pd | 9 | ||||
-rw-r--r-- | vnmax.c (renamed from source/vnmax.c) | 0 | ||||
-rw-r--r-- | vpow-help.pd (renamed from help/vpow-help.pd) | 0 | ||||
-rw-r--r-- | vpow.c (renamed from source/vpow.c) | 0 | ||||
-rw-r--r-- | vrms-help.pd (renamed from help/vrms-help.pd) | 0 | ||||
-rw-r--r-- | vrms.c (renamed from source/vrms.c) | 0 | ||||
-rw-r--r-- | vrmstodb-help.pd (renamed from help/vrmstodb-help.pd) | 0 | ||||
-rw-r--r-- | vrmstodb.c (renamed from source/vrmstodb.c) | 0 | ||||
-rw-r--r-- | vstd-help.pd (renamed from help/vstd-help.pd) | 0 | ||||
-rw-r--r-- | vstd.c (renamed from source/vstd.c) | 0 | ||||
-rw-r--r-- | vsum-help.pd (renamed from help/vsum-help.pd) | 0 | ||||
-rw-r--r-- | vsum.c (renamed from source/vsum.c) | 0 | ||||
-rw-r--r-- | vthreshold-help.pd | 9 | ||||
-rw-r--r-- | vthreshold.c (renamed from source/vthreshold.c) | 0 | ||||
-rw-r--r-- | vvconv-help.pd (renamed from help/vvconv-help.pd) | 0 | ||||
-rw-r--r-- | vvconv.c (renamed from source/vvconv.c) | 0 | ||||
-rw-r--r-- | vvminus-help.pd (renamed from help/vvminus-help.pd) | 0 | ||||
-rw-r--r-- | vvminus.c (renamed from source/vvminus.c) | 2 | ||||
-rw-r--r-- | vvplus-help.pd (renamed from help/vvplus-help.pd) | 0 | ||||
-rw-r--r-- | vvplus.c (renamed from source/vvplus.c) | 0 |
93 files changed, 448 insertions, 115 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..deecc5d --- /dev/null +++ b/Makefile @@ -0,0 +1,235 @@ +# To use this Makefile for your project, first put the name of your library in +# LIBRARY_NAME variable. The folder for your project should have the same name +# as your library. +LIBRARY_NAME = smlib +LIBRARY_VERSION = 0.12.1 + +# Next, add your .c source files to the SOURCES variable. The help files will +# be included automatically +SOURCES = bp.c decimator.c deltas.c hip.c hist.c itov.c lavg.c lhist.c lhisti.c linspace.c lmax.c lmin.c lrange.c lstd.c prevl.c threshold.c vabs.c vclip.c vcog.c vdbtorms.c vdelta.c vfmod.c vftom.c vlavg.c vlmax.c vlmin.c vlrange.c vmax.c vmin.c vmtof.c vnmax.c vpow.c vrms.c vrmstodb.c vstd.c vsum.c vthreshold.c vvconv.c vvminus.c vvplus.c + + +# For objects that only build on certain platforms, add those to the SOURCES +# line for the right platforms. +SOURCES_android = +SOURCES_cygwin = +SOURCES_macosx = +SOURCES_iphoneos = +SOURCES_linux = +SOURCES_windows = + +# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will +# be included automatically +PDOBJECTS = + +# if you want to include any other files in the source and binary tarballs, +# list them here. This can be anything from header files, READMEs, example +# patches, documentation, etc. +EXTRA_DIST = readme.txt SMLib.c SMLib-help.pd SMLib.dsp SMLib.dsw SMLib.opt SMLib.plg + + +#------------------------------------------------------------------------------# +# +# you shouldn't need to edit anything below here, if we did it right :) +# +#------------------------------------------------------------------------------# + +# where Pd lives +PD_PATH = ../../pd +# where to install the library +prefix = /usr/local +libdir = $(prefix)/lib +pkglibdir = $(libdir)/pd-externals +objectsdir = $(pkglibdir) + + +INSTALL = install +INSTALL_FILE = $(INSTALL) -p -m 644 +INSTALL_DIR = $(INSTALL) -p -m 755 -d + +CFLAGS = -DPD -I$(PD_PATH)/src -Wall -W -g +LDFLAGS = +LIBS = +ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \ + $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows) + +UNAME := $(shell uname -s) +ifeq ($(UNAME),Darwin) + CPU := $(shell uname -p) + ifeq ($(CPU),arm) # iPhone/iPod Touch + SOURCES += $(SOURCES_macosx) + EXTENSION = pd_darwin + OS = iphoneos + IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin + CC=$(IPHONE_BASE)/gcc + CPP=$(IPHONE_BASE)/cpp + CXX=$(IPHONE_BASE)/g++ + ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk + IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6 + OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer + CFLAGS := $(IPHONE_CFLAGS) $(OPT_CFLAGS) $(CFLAGS) + LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT) + LIBS += -lc + STRIP = strip -x + DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) + DISTBINDIR=$(DISTDIR)-$(OS) + else # Mac OS X + SOURCES += $(SOURCES_macosx) + EXTENSION = pd_darwin + OS = macosx + OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast + FAT_FLAGS = -arch i386 -arch ppc -mmacosx-version-min=10.4 + CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include + LDFLAGS += $(FAT_FLAGS) -bundle -undefined dynamic_lookup -L/sw/lib + # if the 'pd' binary exists, check the linking against it to aid with stripping + LDFLAGS += $(shell test -e $(PD_PATH)/bin/pd && echo -bundle_loader $(PD_PATH)/bin/pd) + LIBS += -lc + STRIP = strip -x + DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) + DISTBINDIR=$(DISTDIR)-$(OS) + endif +endif +ifeq ($(UNAME),Linux) + SOURCES += $(SOURCES_linux) + EXTENSION = pd_linux + OS = linux + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += -fPIC + LDFLAGS += -Wl,--export-dynamic -shared -fPIC + LIBS += -lc + STRIP = strip --strip-unneeded -R .note -R .comment + DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) + DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m) +endif +ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) + SOURCES += $(SOURCES_cygwin) + EXTENSION = dll + OS = cygwin + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += + LDFLAGS += -Wl,--export-dynamic -shared -L$(PD_PATH)/src + LIBS += -lc -lpd + STRIP = strip --strip-unneeded -R .note -R .comment + DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) + DISTBINDIR=$(DISTDIR)-$(OS) +endif +ifeq (MINGW,$(findstring MINGW,$(UNAME))) + SOURCES += $(SOURCES_windows) + EXTENSION = dll + OS = windows + OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -march=i686 -mtune=pentium4 + WINDOWS_HACKS = -D'O_NONBLOCK=1' + CFLAGS += -mms-bitfields $(WINDOWS_HACKS) + LDFLAGS += -s -shared -Wl,--enable-auto-import + LIBS += -L$(PD_PATH)/src -L$(PD_PATH)/bin -L$(PD_PATH)/obj -lpd -lwsock32 -lkernel32 -luser32 -lgdi32 + STRIP = strip --strip-unneeded -R .note -R .comment + DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) + DISTBINDIR=$(DISTDIR)-$(OS) +endif + +CFLAGS += $(OPT_CFLAGS) + + +.PHONY = install libdir_install single_install install-doc install-exec clean dist etags + +all: $(SOURCES:.c=.$(EXTENSION)) + +%.o: %.c + $(CC) $(CFLAGS) -o "$*.o" -c "$*.c" + +%.$(EXTENSION): %.o + $(CC) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS) + chmod a-x "$*.$(EXTENSION)" + +# this links everything into a single binary file +$(LIBRARY_NAME): $(SOURCES:.c=.o) $(LIBRARY_NAME).o + $(CC) $(LDFLAGS) -o $(LIBRARY_NAME).$(EXTENSION) $(SOURCES:.c=.o) $(LIBRARY_NAME).o $(LIBS) + chmod a-x $(LIBRARY_NAME).$(EXTENSION) + + +install: libdir_install + +# The meta and help files are explicitly installed to make sure they are +# actually there. Those files are not optional, then need to be there. +libdir_install: $(SOURCES:.c=.$(EXTENSION)) install-doc + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(SOURCES)" || (\ + $(INSTALL_FILE) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \ + $(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION)))) + test -z "$(PDOBJECTS)" || \ + $(INSTALL_FILE) $(OBJECTS) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + +# install library linked as single binary +single_install: $(LIBRARY_NAME) install-doc install-exec + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) $(LIBRARY_NAME).$(EXTENSION) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(STRIP) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/$(LIBRARY_NAME).$(EXTENSION) + +install-doc: + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(SOURCES)" || \ + $(INSTALL_FILE) $(SOURCES:.c=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(PDOBJECTS)" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) readme.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/readme.txt + + +clean: + -rm -f -- $(SOURCES:.c=.o) + -rm -f -- $(SOURCES:.c=.$(EXTENSION)) + -rm -f -- $(LIBRARY_NAME).$(EXTENSION) + +distclean: clean + -rm -f -- $(DISTBINDIR).tar.gz + -rm -rf -- $(DISTBINDIR) + -rm -f -- $(DISTDIR).tar.gz + -rm -rf -- $(DISTDIR) + + +$(DISTBINDIR): + $(INSTALL_DIR) $(DISTBINDIR) + +libdir: all $(DISTBINDIR) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTBINDIR) + $(INSTALL_FILE) $(SOURCES) $(DISTBINDIR) + $(INSTALL_FILE) $(SOURCES:.c=-help.pd) $(DISTBINDIR) + test -z "$(EXTRA_DIST)" || \ + $(INSTALL_FILE) $(EXTRA_DIST) $(DISTBINDIR) +# tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR) + +$(DISTDIR): + $(INSTALL_DIR) $(DISTDIR) + +dist: $(DISTDIR) + $(INSTALL_FILE) Makefile $(DISTDIR) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd $(DISTDIR) + test -z "$(ALLSOURCES)" || \ + $(INSTALL_FILE) $(ALLSOURCES) $(DISTDIR) + test -z "$(ALLSOURCES)" || \ + $(INSTALL_FILE) $(ALLSOURCES:.c=-help.pd) $(DISTDIR) + test -z "$(PDOBJECTS)" || \ + $(INSTALL_FILE) $(PDOBJECTS) $(DISTDIR) + test -z "$(PDOBJECTS)" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) $(DISTDIR) + test -z "$(EXTRA_DIST)" || \ + $(INSTALL_FILE) $(EXTRA_DIST) $(DISTDIR) + tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR) + + +etags: + etags *.h $(SOURCES) ../../pd/src/*.[ch] /usr/include/*.h /usr/include/*/*.h + +showpaths: + @echo "PD_PATH: $(PD_PATH)" + @echo "objectsdir: $(objectsdir)" + @echo "LIBRARY_NAME: $(LIBRARY_NAME)" + @echo "SOURCES: $(SOURCES)" + @echo "ALLSOURCES: $(ALLSOURCES)" + @echo "UNAME: $(UNAME)" + @echo "CPU: $(CPU)" + diff --git a/help/SMLib-help.pd b/SMLib-help.pd index ea87988..d7be596 100644 --- a/help/SMLib-help.pd +++ b/SMLib-help.pd @@ -1,103 +1,99 @@ -#N canvas 97 25 525 422 10;
-#X obj 31 188 lmax;
-#X obj 31 211 lmin;
-#X obj 31 234 lrange;
-#X obj 31 165 lavg;
-#X obj 9 317 threshold;
-#X text 89 188 leaky maximum;
-#X text 89 213 leaky minimum;
-#X text 90 237 leaky range;
-#X text 89 164 leaky average;
-#X text 92 316 hysteresis;
-#X obj 31 257 lstd;
-#X text 90 260 leaky standard deviation;
-#X obj 26 421 hist;
-#X text 88 421 histogram;
-#X obj 26 444 lhist;
-#X text 88 445 leaky histogram;
-#X obj 9 293 decimator;
-#X text 94 291 decimator;
-#X obj 32 352 hip;
-#X obj 32 375 bp;
-#X obj 25 751 vv+;
-#X text 83 751 vector addition;
-#X text 83 774 vector substraction;
-#X obj 25 797 vvconv;
-#X text 83 797 vector convolution;
-#X obj 24 590 vsum;
-#X text 85 592 sum of elements;
-#X obj 24 613 vcog;
-#X text 85 613 center of gravity;
-#X obj 24 636 vmax;
-#X text 86 637 maximum and its location;
-#X text 86 659 minimum and its location;
-#X obj 24 659 vmin;
-#X obj 27 1129 vlavg;
-#X text 87 1131 leaky averages;
-#X text 3 4 SMLib means Signal processing for Mapping;
-#X text 435 1264 j#|@2002;
-#X text 249 121 johannes.taelman@rug.ac.be;
-#X text 283 102 enjoy!;
-#X obj 27 1152 vlmax;
-#X text 87 1154 leaky maxima;
-#X obj 27 1175 vlmin;
-#X text 87 1177 leaky minima;
-#X obj 27 1198 vlrange;
-#X text 87 1200 leaky ranges;
-#X obj 27 1221 vdelta;
-#X text 88 1223 differences between succesive vectors;
-#X obj 25 820 vclip;
-#X text 84 821 clip elements;
-#X text 96 352 high pass filter;
-#X text 97 375 band pass filter;
-#X text 3 29 Its a collection of objects for the analysis of float
-streams (for taking temporal context into account) \, vectors (lists
-of floats) and vector streams (temporal context...). It is complementary
-to the zexy and gem/markex library \, so have a look at those too.
-;
-#X obj 25 774 vv-;
-#X obj 24 683 vrms;
-#X text 84 686 root mean square;
-#X obj 24 706 vstd;
-#X text 83 708 standard deviation;
-#X text 22 1044 there is also a [Clip] in cyclone (identical to vclip)
-;
-#X text 0 398 analyzing stream of floats (context) (vector output)
-;
-#X text 1 142 processing stream of floats (context) (float output)
-;
-#X text -3 567 immediate vector analysis (float output);
-#X text -6 730 immediate vector processing (vector output);
-#X text 22 1010 cfr. [.] in zexy;
-#X text 22 1027 cfr. [v+] \, [v-] \, [v*] \, [v/] \, [vabs] in GEM/MarkEx
-;
-#X text -2 1108 vector stream processing (context) (vector output)
-;
-#X obj 25 843 vfmod;
-#X text 83 845 floating point modulo;
-#X obj 23 918 vmtof;
-#X text 81 918 midi to frequency;
-#X text 21 897 unit conversions;
-#X obj 23 941 vftom;
-#X text 81 941 frequency to midi;
-#X obj 23 964 vdbtorms;
-#X text 99 964 db to rms;
-#X obj 23 987 vrmstodb;
-#X text 99 987 rms to db;
-#X obj 25 866 vpow;
-#X obj 25 546 deltas;
-#X text 83 867 power;
-#X obj 26 466 lhisti;
-#X text 88 467 leaky histogram without clipping input;
-#X text 88 546 difference between current input and past inputs;
-#X obj 455 1243 SMLib-help;
-#X obj 472 1224 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144
--1 -1;
-#X obj 26 520 prevl;
-#X text 89 520 previous input values in a list;
-#X text -3 1064 vector synthesis;
-#X obj 23 1085 linspace;
-#X text 98 1085 generates a vector with linear spaced floats;
-#X obj 44 492 itov;
-#X text 90 491 index to value (for histogram bins);
-#X connect 83 0 82 0;
+#N canvas 103 71 525 422 10; +#X obj 31 188 lmax; +#X obj 31 211 lmin; +#X obj 31 234 lrange; +#X obj 31 165 lavg; +#X obj 9 317 threshold; +#X text 89 188 leaky maximum; +#X text 89 213 leaky minimum; +#X text 90 237 leaky range; +#X text 89 164 leaky average; +#X text 92 316 hysteresis; +#X obj 31 257 lstd; +#X text 90 260 leaky standard deviation; +#X obj 26 421 hist; +#X text 88 421 histogram; +#X obj 26 444 lhist; +#X text 88 445 leaky histogram; +#X obj 9 293 decimator; +#X text 94 291 decimator; +#X obj 32 352 hip; +#X obj 32 375 bp; +#X text 83 751 vector addition; +#X text 83 774 vector substraction; +#X obj 25 797 vvconv; +#X text 83 797 vector convolution; +#X obj 24 590 vsum; +#X text 85 592 sum of elements; +#X obj 24 613 vcog; +#X text 85 613 center of gravity; +#X obj 24 636 vmax; +#X text 86 637 maximum and its location; +#X text 86 659 minimum and its location; +#X obj 24 659 vmin; +#X obj 27 1129 vlavg; +#X text 87 1131 leaky averages; +#X text 3 4 SMLib means Signal processing for Mapping; +#X text 435 1264 j#|@2002; +#X text 249 121 johannes.taelman@rug.ac.be; +#X text 283 102 enjoy!; +#X obj 27 1152 vlmax; +#X text 87 1154 leaky maxima; +#X obj 27 1175 vlmin; +#X text 87 1177 leaky minima; +#X obj 27 1198 vlrange; +#X text 87 1200 leaky ranges; +#X obj 27 1221 vdelta; +#X text 88 1223 differences between succesive vectors; +#X obj 25 820 vclip; +#X text 84 821 clip elements; +#X text 96 352 high pass filter; +#X text 97 375 band pass filter; +#X text 3 29 Its a collection of objects for the analysis of float +streams (for taking temporal context into account) \, vectors (lists +of floats) and vector streams (temporal context...). It is complementary +to the zexy and gem/markex library \, so have a look at those too. +; +#X obj 24 683 vrms; +#X text 84 686 root mean square; +#X obj 24 706 vstd; +#X text 83 708 standard deviation; +#X text 22 1044 there is also a [Clip] in cyclone (identical to vclip) +; +#X text 0 398 analyzing stream of floats (context) (vector output) +; +#X text 1 142 processing stream of floats (context) (float output) +; +#X text -3 567 immediate vector analysis (float output); +#X text -6 730 immediate vector processing (vector output); +#X text 22 1010 cfr. [.] in zexy; +#X text 22 1027 cfr. [v+] \, [v-] \, [v*] \, [v/] \, [vabs] in GEM/MarkEx +; +#X text -2 1108 vector stream processing (context) (vector output) +; +#X obj 25 843 vfmod; +#X text 83 845 floating point modulo; +#X obj 23 918 vmtof; +#X text 81 918 midi to frequency; +#X text 21 897 unit conversions; +#X obj 23 941 vftom; +#X text 81 941 frequency to midi; +#X obj 23 964 vdbtorms; +#X text 99 964 db to rms; +#X obj 23 987 vrmstodb; +#X text 99 987 rms to db; +#X obj 25 866 vpow; +#X obj 25 546 deltas; +#X text 83 867 power; +#X obj 26 466 lhisti; +#X text 88 467 leaky histogram without clipping input; +#X text 88 546 difference between current input and past inputs; +#X obj 26 520 prevl; +#X text 89 520 previous input values in a list; +#X text -3 1064 vector synthesis; +#X obj 23 1085 linspace; +#X text 98 1085 generates a vector with linear spaced floats; +#X obj 44 492 itov; +#X text 90 491 index to value (for histogram bins); +#X obj 25 751 vvplus; +#X obj 25 774 vvminus; diff --git a/source/SMLib.dsp b/SMLib.dsp index 35c2ab8..35c2ab8 100755 --- a/source/SMLib.dsp +++ b/SMLib.dsp diff --git a/source/SMLib.dsw b/SMLib.dsw index 0428bd3..0428bd3 100755 --- a/source/SMLib.dsw +++ b/SMLib.dsw diff --git a/source/SMLib.opt b/SMLib.opt Binary files differindex 685315a..685315a 100755 --- a/source/SMLib.opt +++ b/SMLib.opt diff --git a/source/SMLib.plg b/SMLib.plg index c75a641..c75a641 100755 --- a/source/SMLib.plg +++ b/SMLib.plg diff --git a/help/bp-help.pd b/bp-help.pd index eedc01a..eedc01a 100644 --- a/help/bp-help.pd +++ b/bp-help.pd diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..c241b9c --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pd-smlib (0.12-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> + + -- Hans-Christoph Steiner <hans@eds.org> Thu, 21 Jan 2010 23:27:04 -0500 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..c60a1e7 --- /dev/null +++ b/debian/control @@ -0,0 +1,16 @@ +Source: pd-smlib +Section: sound +Priority: optional +Maintainer: Paul Brossier <piem@debian.org> +Build-Depends: debhelper (>= 7.0.50~), puredata +Standards-Version: 3.8.3 +Homepage: http://puredata.info + +Package: pd-smlib +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, pd +Description: signal processing library for mapping + SMLib is an external objects library for PD (pure data). It complements PD + with a set of objects for vector processing, vector analysis, vector + synthesis, number stream analysis, number stream filters. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..8572e83 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,13 @@ +Debianized-By: Hans-Christoph Steiner <hans@eds.org> +Debianized-Date: Tue, 9 Feb 2010 17:14:25 -0400 +Files: * +Copyright: Copyright 2002 Johannes Taelman + +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in file "/usr/share/common-licenses/GPL-2". diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7505a39 --- /dev/null +++ b/debian/rules @@ -0,0 +1,16 @@ +#!/usr/bin/make -f + +LIBRARY_NAME = smlib +PACKAGE = pd-$(LIBRARY_NAME) +pkglibdir = /usr/lib/pd/extra + +%: + dh $@ + +override_dh_auto_install: + make DESTDIR=$(CURDIR)/debian/$(PACKAGE) pkglibdir=$(pkglibdir) install + +override_dh_shlibdeps: + dpkg-shlibdeps $(CURDIR)/debian/$(PACKAGE)$(pkglibdir)/$(LIBRARY_NAME)/*.pd_linux \ + -T$(CURDIR)/debian/$(PACKAGE).substvars + diff --git a/source/decimator.c b/decimator.c index d7f93f3..d7f93f3 100644 --- a/source/decimator.c +++ b/decimator.c diff --git a/source/defines.h b/defines.h index ecc208b..093a477 100644 --- a/source/defines.h +++ b/defines.h @@ -1,11 +1,10 @@ #include <m_pd.h>
-#include "m_imp.h"
#include <math.h>
#define MAXFLOAT 1e18f;
#define LOGTEN 2.302585092994
/* NT and OSX don't appear to have single-precision ANSI math */
-#if defined(WIN32) || defined(__APPLE__)
+#if defined(_WIN32) || defined(__APPLE__)
#define sinf sin
#define cosf cos
#define atanf atan
diff --git a/help/deltas-help.pd b/deltas-help.pd index 9034308..9034308 100644 --- a/help/deltas-help.pd +++ b/deltas-help.pd diff --git a/source/deltas.c b/deltas.c index edc3cb0..edc3cb0 100644 --- a/source/deltas.c +++ b/deltas.c diff --git a/help/hip-help.pd b/hip-help.pd index 49587c5..49587c5 100644 --- a/help/hip-help.pd +++ b/hip-help.pd diff --git a/help/hist-help.pd b/hist-help.pd index fd3984a..fd3984a 100644 --- a/help/hist-help.pd +++ b/hist-help.pd diff --git a/help/itov-help.pd b/itov-help.pd index 280b20f..280b20f 100644 --- a/help/itov-help.pd +++ b/itov-help.pd diff --git a/help/lavg-help.pd b/lavg-help.pd index e34e589..e34e589 100644 --- a/help/lavg-help.pd +++ b/lavg-help.pd diff --git a/help/lhist-help.pd b/lhist-help.pd index e917047..e917047 100644 --- a/help/lhist-help.pd +++ b/lhist-help.pd diff --git a/help/lhisti-help.pd b/lhisti-help.pd index c770a45..c770a45 100644 --- a/help/lhisti-help.pd +++ b/lhisti-help.pd diff --git a/source/lhisti.c b/lhisti.c index 826cce4..826cce4 100644 --- a/source/lhisti.c +++ b/lhisti.c diff --git a/help/linspace-help.pd b/linspace-help.pd index 5496259..5496259 100644 --- a/help/linspace-help.pd +++ b/linspace-help.pd diff --git a/source/linspace.c b/linspace.c index c3af9c2..c3af9c2 100644 --- a/source/linspace.c +++ b/linspace.c diff --git a/help/lmax-help.pd b/lmax-help.pd index 22819dd..22819dd 100644 --- a/help/lmax-help.pd +++ b/lmax-help.pd diff --git a/help/lmin-help.pd b/lmin-help.pd index b173bd1..b173bd1 100644 --- a/help/lmin-help.pd +++ b/lmin-help.pd diff --git a/help/lrange-help.pd b/lrange-help.pd index 270e0d5..270e0d5 100644 --- a/help/lrange-help.pd +++ b/lrange-help.pd diff --git a/source/lrange.c b/lrange.c index 8f5b296..8f5b296 100644 --- a/source/lrange.c +++ b/lrange.c diff --git a/lstd-help.pd b/lstd-help.pd new file mode 100644 index 0000000..8178315 --- /dev/null +++ b/lstd-help.pd @@ -0,0 +1,9 @@ +#N canvas 559 356 441 199 10; +#X text 353 169 j#|@2002; +#X obj 375 147 SMLib-help; +#X floatatom 74 115 5 0 0 0 - - -; +#X obj 74 85 lstd; +#X obj 76 47 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X connect 3 0 2 0; +#X connect 4 0 3 0; diff --git a/help/prevl-help.pd b/prevl-help.pd index 29991a5..29991a5 100644 --- a/help/prevl-help.pd +++ b/prevl-help.pd diff --git a/smlib-meta.pd b/smlib-meta.pd new file mode 100644 index 0000000..0f3f90a --- /dev/null +++ b/smlib-meta.pd @@ -0,0 +1,16 @@ +#N canvas 10 10 200 200 10; +#N canvas 20 20 420 300 META 0; +#X text 10 10 META this is a prototype of a libdir meta file; +#X text 10 30 NAME smlib; +#X text 10 50 AUTHOR Johannes Taelman <johannes.taelman@rug.ac.be>; +#X text 10 70 LICENSE GNU GPL; +#X text 10 90 DESCRIPTION vector processing, vector analysis, vector synthesis, number stream analysis, number stream filters; +#X restore 10 10 pd META; +#N canvas 10 10 200 200 10; +#N canvas 20 20 420 300 META 0; +#X text 10 10 META this is a prototype of a libdir meta file; +#X text 10 30 NAME smlib; +#X text 10 50 AUTHOR Johannes Taelman <johannes.taelman@rug.ac.be>; +#X text 10 70 LICENSE GNU GPL; +#X text 10 90 DESCRIPTION vector processing, vector analysis, vector synthesis, number stream analysis, number stream filters; +#X restore 10 10 pd META; diff --git a/help/threshold-help.pd b/threshold-help.pd index 07f27c6..07f27c6 100644 --- a/help/threshold-help.pd +++ b/threshold-help.pd diff --git a/source/threshold.c b/threshold.c index 2d99e03..2d99e03 100644 --- a/source/threshold.c +++ b/threshold.c diff --git a/help/vabs-help.pd b/vabs-help.pd index 79914c7..79914c7 100644 --- a/help/vabs-help.pd +++ b/vabs-help.pd diff --git a/help/vclip-help.pd b/vclip-help.pd index e182755..e182755 100644 --- a/help/vclip-help.pd +++ b/vclip-help.pd diff --git a/help/vcog-help.pd b/vcog-help.pd index 0e8d67f..0e8d67f 100644 --- a/help/vcog-help.pd +++ b/vcog-help.pd diff --git a/help/vdbtorms-help.pd b/vdbtorms-help.pd index 695fdc6..695fdc6 100644 --- a/help/vdbtorms-help.pd +++ b/vdbtorms-help.pd diff --git a/source/vdbtorms.c b/vdbtorms.c index ab954f6..ab954f6 100644 --- a/source/vdbtorms.c +++ b/vdbtorms.c diff --git a/help/vdelta-help.pd b/vdelta-help.pd index bda6821..bda6821 100644 --- a/help/vdelta-help.pd +++ b/vdelta-help.pd diff --git a/source/vdelta.c b/vdelta.c index cc809db..cc809db 100644 --- a/source/vdelta.c +++ b/vdelta.c diff --git a/help/vfmod-help.pd b/vfmod-help.pd index fb7d7a9..fb7d7a9 100644 --- a/help/vfmod-help.pd +++ b/vfmod-help.pd diff --git a/help/vftom-help.pd b/vftom-help.pd index cdaf679..cdaf679 100644 --- a/help/vftom-help.pd +++ b/vftom-help.pd diff --git a/help/vlavg-help.pd b/vlavg-help.pd index 764e598..764e598 100644 --- a/help/vlavg-help.pd +++ b/vlavg-help.pd diff --git a/help/vlmax-help.pd b/vlmax-help.pd index b8a40d2..b8a40d2 100644 --- a/help/vlmax-help.pd +++ b/vlmax-help.pd diff --git a/help/vlmin-help.pd b/vlmin-help.pd index 2234cef..2234cef 100644 --- a/help/vlmin-help.pd +++ b/vlmin-help.pd diff --git a/vlrange-help.pd b/vlrange-help.pd new file mode 100644 index 0000000..1cab3c3 --- /dev/null +++ b/vlrange-help.pd @@ -0,0 +1,9 @@ +#N canvas 406 191 400 214 10; +#X text 192 79 j#|@2002; +#X obj 214 59 SMLib-help; +#X obj 15 57 vmtof; +#X text 10 6 midi to frequency on a vector; +#X msg 15 33 69 70 81; +#X obj 15 80 print vmtof; +#X connect 2 0 5 0; +#X connect 4 0 2 0; diff --git a/source/vlrange.c b/vlrange.c index 07b383f..07b383f 100644 --- a/source/vlrange.c +++ b/vlrange.c diff --git a/help/vmax-help.pd b/vmax-help.pd index d615216..d615216 100644 --- a/help/vmax-help.pd +++ b/vmax-help.pd diff --git a/help/vmin-help.pd b/vmin-help.pd index a6bc097..a6bc097 100644 --- a/help/vmin-help.pd +++ b/vmin-help.pd diff --git a/help/vmtof-help.pd b/vmtof-help.pd index e0b277b..1cab3c3 100644 --- a/help/vmtof-help.pd +++ b/vmtof-help.pd @@ -1,9 +1,9 @@ -#N canvas 606 355 279 114 10;
-#X text 192 79 j#|@2002;
-#X obj 214 59 SMLib-help;
-#X obj 15 57 vmtof;
-#X text 10 6 midi to frequency on a vector;
-#X msg 15 33 69 70 81;
-#X obj 15 80 print vmtof;
-#X connect 2 0 5 0;
-#X connect 4 0 2 0;
+#N canvas 406 191 400 214 10; +#X text 192 79 j#|@2002; +#X obj 214 59 SMLib-help; +#X obj 15 57 vmtof; +#X text 10 6 midi to frequency on a vector; +#X msg 15 33 69 70 81; +#X obj 15 80 print vmtof; +#X connect 2 0 5 0; +#X connect 4 0 2 0; diff --git a/vnmax-help.pd b/vnmax-help.pd new file mode 100644 index 0000000..1cab3c3 --- /dev/null +++ b/vnmax-help.pd @@ -0,0 +1,9 @@ +#N canvas 406 191 400 214 10; +#X text 192 79 j#|@2002; +#X obj 214 59 SMLib-help; +#X obj 15 57 vmtof; +#X text 10 6 midi to frequency on a vector; +#X msg 15 33 69 70 81; +#X obj 15 80 print vmtof; +#X connect 2 0 5 0; +#X connect 4 0 2 0; diff --git a/help/vpow-help.pd b/vpow-help.pd index 7809a54..7809a54 100644 --- a/help/vpow-help.pd +++ b/vpow-help.pd diff --git a/help/vrms-help.pd b/vrms-help.pd index dce1a77..dce1a77 100644 --- a/help/vrms-help.pd +++ b/vrms-help.pd diff --git a/help/vrmstodb-help.pd b/vrmstodb-help.pd index 2651d44..2651d44 100644 --- a/help/vrmstodb-help.pd +++ b/vrmstodb-help.pd diff --git a/source/vrmstodb.c b/vrmstodb.c index d375bf9..d375bf9 100644 --- a/source/vrmstodb.c +++ b/vrmstodb.c diff --git a/help/vstd-help.pd b/vstd-help.pd index 32dce16..32dce16 100644 --- a/help/vstd-help.pd +++ b/vstd-help.pd diff --git a/help/vsum-help.pd b/vsum-help.pd index 31ab009..31ab009 100644 --- a/help/vsum-help.pd +++ b/vsum-help.pd diff --git a/vthreshold-help.pd b/vthreshold-help.pd new file mode 100644 index 0000000..1cab3c3 --- /dev/null +++ b/vthreshold-help.pd @@ -0,0 +1,9 @@ +#N canvas 406 191 400 214 10; +#X text 192 79 j#|@2002; +#X obj 214 59 SMLib-help; +#X obj 15 57 vmtof; +#X text 10 6 midi to frequency on a vector; +#X msg 15 33 69 70 81; +#X obj 15 80 print vmtof; +#X connect 2 0 5 0; +#X connect 4 0 2 0; diff --git a/source/vthreshold.c b/vthreshold.c index 106cf72..106cf72 100644 --- a/source/vthreshold.c +++ b/vthreshold.c diff --git a/help/vvconv-help.pd b/vvconv-help.pd index 3ad20a3..3ad20a3 100644 --- a/help/vvconv-help.pd +++ b/vvconv-help.pd diff --git a/source/vvconv.c b/vvconv.c index 5541705..5541705 100644 --- a/source/vvconv.c +++ b/vvconv.c diff --git a/help/vvminus-help.pd b/vvminus-help.pd index 48c626b..48c626b 100644 --- a/help/vvminus-help.pd +++ b/vvminus-help.pd diff --git a/source/vvminus.c b/vvminus.c index b8b7246..191850c 100644 --- a/source/vvminus.c +++ b/vvminus.c @@ -133,7 +133,7 @@ void vvminus_setup(void) {
vvminus_class = class_new(gensym("vvminus"), (t_newmethod)vvminus_new,
(t_method)vvminus_free, sizeof(t_vvminus), 0, A_GIMME, 0);
- class_addcreator((t_newmethod)vvplus_new, gensym("vv-"), A_GIMME, 0);
+ class_addcreator((t_newmethod)vvminus_new, gensym("vv-"), A_GIMME, 0);
class_addlist(vvminus_class, vvminus_lst);
class_addmethod (vvminus_class, (t_method)vvminus_lst2, gensym(""), A_GIMME, 0);
vvminus_scal_class = class_new(gensym("vv-"), 0, (t_method)vvminus_free,
diff --git a/help/vvplus-help.pd b/vvplus-help.pd index 04c3065..04c3065 100644 --- a/help/vvplus-help.pd +++ b/vvplus-help.pd diff --git a/source/vvplus.c b/vvplus.c index a49ce39..a49ce39 100644 --- a/source/vvplus.c +++ b/vvplus.c |