From 5c120425ea6e9cfb24c5b78b9d9cda7e35cdc898 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 1 Apr 2010 13:43:29 +0000 Subject: ported to the template Makefile svn path=/trunk/externals/hcs/pan/; revision=13355 --- Makefile | 242 ++++++++++++++++++++++++++++++++++++++++++ equal_power_pan~-help.pd | 27 +++++ gogins_pan~-help.pd | 31 ++++++ gpan~-help.pd | 29 +++++ help/equal_power_pan~-help.pd | 27 ----- help/gogins_pan~-help.pd | 31 ------ help/gpan~-help.pd | 29 ----- help/linear_pan~-help.pd | 25 ----- help/square_root_pan~-help.pd | 27 ----- linear_pan~-help.pd | 25 +++++ pan-meta.pd | 9 ++ pan_core~-help.pd | 51 +++++++++ square_root_pan~-help.pd | 27 +++++ 13 files changed, 441 insertions(+), 139 deletions(-) create mode 100644 Makefile create mode 100644 equal_power_pan~-help.pd create mode 100644 gogins_pan~-help.pd create mode 100644 gpan~-help.pd delete mode 100644 help/equal_power_pan~-help.pd delete mode 100644 help/gogins_pan~-help.pd delete mode 100644 help/gpan~-help.pd delete mode 100644 help/linear_pan~-help.pd delete mode 100644 help/square_root_pan~-help.pd create mode 100644 linear_pan~-help.pd create mode 100644 pan-meta.pd create mode 100644 pan_core~-help.pd create mode 100644 square_root_pan~-help.pd diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f3daf21 --- /dev/null +++ b/Makefile @@ -0,0 +1,242 @@ +# 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 = pan +LIBRARY_VERSION = 0.1 + +# Next, add your .c source files to the SOURCES variable. The help files will +# be included automatically +SOURCES = + +# 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 = equal_power_pan~.pd gogins_pan~.pd gpan~.pd linear_pan~.pd pan_core~.pd square_root_pan~.pd + +# 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 = TODO + + +#------------------------------------------------------------------------------# +# +# 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) \ + -I/Applications/Pd-extended.app/Contents/Resources/include + 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 \ + -I/Applications/Pd-extended.app/Contents/Resources/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 install-examples 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-examples + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + $(INSTALL_FILE) $(LIBRARY_NAME)-meta.pd \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(strip $(SOURCES))" || (\ + $(INSTALL_FILE) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \ + $(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION)))) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS) \ + $(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 "$(strip $(SOURCES))" || \ + $(INSTALL_FILE) $(SOURCES:.c=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) \ + $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) +# this is the only bit not really handled well... +# $(INSTALL_FILE) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/ + +install-examples: + test ! -d examples || (\ + $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \ + $(INSTALL_FILE) examples/*.* $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples) + + +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 "$(strip $(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 "$(strip $(ALLSOURCES))" || \ + $(INSTALL_FILE) $(ALLSOURCES) $(DISTDIR) + test -z "$(strip $(ALLSOURCES))" || \ + $(INSTALL_FILE) $(ALLSOURCES:.c=-help.pd) $(DISTDIR) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS) $(DISTDIR) + test -z "$(strip $(PDOBJECTS))" || \ + $(INSTALL_FILE) $(PDOBJECTS:.pd=-help.pd) $(DISTDIR) + test -z "$(strip $(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/equal_power_pan~-help.pd b/equal_power_pan~-help.pd new file mode 100644 index 0000000..2d0cdab --- /dev/null +++ b/equal_power_pan~-help.pd @@ -0,0 +1,27 @@ +#N canvas 219 32 485 328 10; +#X declare -lib pan; +#X obj 5 2 cnv 15 450 20 empty empty equal_power_pan~ 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 244 284 released under the GNU GPL; +#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 +-262131 -1 -1 0 0; +#X obj 113 131 osc~ 250; +#X obj 113 152 *~ 0.5; +#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; +#X msg 362 218 \; pd dsp \$1; +#X text 16 71 The left inlet takes the audio signal and the right inlet +takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. +; +#X text 16 37 Pan a mono signal using square root panning to smooth +out the dead spot in the middle somewhat.; +#X obj 141 234 dac~ 1 2; +#X obj 113 187 equal_power_pan~; +#X connect 4 0 12 1; +#X connect 5 0 6 0; +#X connect 6 0 12 0; +#X connect 7 0 8 0; +#X connect 12 0 11 0; +#X connect 12 1 11 1; diff --git a/gogins_pan~-help.pd b/gogins_pan~-help.pd new file mode 100644 index 0000000..18266fd --- /dev/null +++ b/gogins_pan~-help.pd @@ -0,0 +1,31 @@ +#N canvas 7 59 519 390 10; +#X declare -lib pan; +#X obj 5 2 cnv 15 450 20 empty empty gogins_pan~ 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 +-262131 -1 -1 1100 0; +#X obj 113 131 osc~ 250; +#X obj 113 152 *~ 0.5; +#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; +#X msg 362 218 \; pd dsp \$1; +#X text 17 82 The left inlet takes the audio signal and the right inlet +takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. +; +#X obj 122 231 dac~ 1 2; +#X obj 114 187 gogins_pan~; +#X text 15 36 Pan a mono signal using an algorithm posted by Michael +Gogins to the Csound list. The aim is to have the pan feel like its +wrapping around more.; +#X text 27 350 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 244 364 released under the GNU GPL; +#X text 40 277 [gogins_pan~] implements an algorithm conceived by Michael +Gogins and described here: ; +#X obj 22 324 pddp/pddplink http://www.csounds.com/ezine/autumn1999/beginners/; +#X connect 2 0 9 1; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 9 0 8 0; +#X connect 9 1 8 1; diff --git a/gpan~-help.pd b/gpan~-help.pd new file mode 100644 index 0000000..2ec25dc --- /dev/null +++ b/gpan~-help.pd @@ -0,0 +1,29 @@ +#N canvas 168 428 470 338 10; +#X declare -lib pan; +#X obj 77 187 gpan~; +#X obj 54 155 osc~ 300; +#X obj 114 155 osc~ 400; +#X obj 129 246 dac~; +#X obj 5 2 cnv 15 450 20 empty empty gpan~ 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X msg 190 101 0; +#X msg 239 101 0.5; +#X msg 284 101 1; +#X text 18 43 A stereo pan object with a built-in slider to control +and display the status.; +#X text 188 86 left; +#X text 229 86 center; +#X text 283 86 right; +#X obj 361 203 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; +#X msg 361 235 \; pd dsp \$1; +#X text 201 299 released under the GNU GPL; +#X text 37 284 (C) Copyright 2003 Marc Lavalee; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 6 0 0 2; +#X connect 7 0 0 2; +#X connect 8 0 0 2; +#X connect 13 0 14 0; diff --git a/help/equal_power_pan~-help.pd b/help/equal_power_pan~-help.pd deleted file mode 100644 index 2d0cdab..0000000 --- a/help/equal_power_pan~-help.pd +++ /dev/null @@ -1,27 +0,0 @@ -#N canvas 219 32 485 328 10; -#X declare -lib pan; -#X obj 5 2 cnv 15 450 20 empty empty equal_power_pan~ 2 11 1 18 -233017 --66577 0; -#X msg 422 3 pddp; -#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner -; -#X text 244 284 released under the GNU GPL; -#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 --262131 -1 -1 0 0; -#X obj 113 131 osc~ 250; -#X obj 113 152 *~ 0.5; -#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; -#X msg 362 218 \; pd dsp \$1; -#X text 16 71 The left inlet takes the audio signal and the right inlet -takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. -; -#X text 16 37 Pan a mono signal using square root panning to smooth -out the dead spot in the middle somewhat.; -#X obj 141 234 dac~ 1 2; -#X obj 113 187 equal_power_pan~; -#X connect 4 0 12 1; -#X connect 5 0 6 0; -#X connect 6 0 12 0; -#X connect 7 0 8 0; -#X connect 12 0 11 0; -#X connect 12 1 11 1; diff --git a/help/gogins_pan~-help.pd b/help/gogins_pan~-help.pd deleted file mode 100644 index 18266fd..0000000 --- a/help/gogins_pan~-help.pd +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 7 59 519 390 10; -#X declare -lib pan; -#X obj 5 2 cnv 15 450 20 empty empty gogins_pan~ 2 11 1 18 -233017 --66577 0; -#X msg 422 3 pddp; -#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 --262131 -1 -1 1100 0; -#X obj 113 131 osc~ 250; -#X obj 113 152 *~ 0.5; -#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; -#X msg 362 218 \; pd dsp \$1; -#X text 17 82 The left inlet takes the audio signal and the right inlet -takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. -; -#X obj 122 231 dac~ 1 2; -#X obj 114 187 gogins_pan~; -#X text 15 36 Pan a mono signal using an algorithm posted by Michael -Gogins to the Csound list. The aim is to have the pan feel like its -wrapping around more.; -#X text 27 350 (C) Copyright 2004 Hans-Christoph Steiner -; -#X text 244 364 released under the GNU GPL; -#X text 40 277 [gogins_pan~] implements an algorithm conceived by Michael -Gogins and described here: ; -#X obj 22 324 pddp/pddplink http://www.csounds.com/ezine/autumn1999/beginners/; -#X connect 2 0 9 1; -#X connect 3 0 4 0; -#X connect 4 0 9 0; -#X connect 5 0 6 0; -#X connect 9 0 8 0; -#X connect 9 1 8 1; diff --git a/help/gpan~-help.pd b/help/gpan~-help.pd deleted file mode 100644 index 2ec25dc..0000000 --- a/help/gpan~-help.pd +++ /dev/null @@ -1,29 +0,0 @@ -#N canvas 168 428 470 338 10; -#X declare -lib pan; -#X obj 77 187 gpan~; -#X obj 54 155 osc~ 300; -#X obj 114 155 osc~ 400; -#X obj 129 246 dac~; -#X obj 5 2 cnv 15 450 20 empty empty gpan~ 2 11 1 18 -233017 -66577 -0; -#X msg 422 3 pddp; -#X msg 190 101 0; -#X msg 239 101 0.5; -#X msg 284 101 1; -#X text 18 43 A stereo pan object with a built-in slider to control -and display the status.; -#X text 188 86 left; -#X text 229 86 center; -#X text 283 86 right; -#X obj 361 203 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; -#X msg 361 235 \; pd dsp \$1; -#X text 201 299 released under the GNU GPL; -#X text 37 284 (C) Copyright 2003 Marc Lavalee; -#X connect 0 0 3 0; -#X connect 0 1 3 1; -#X connect 1 0 0 0; -#X connect 2 0 0 1; -#X connect 6 0 0 2; -#X connect 7 0 0 2; -#X connect 8 0 0 2; -#X connect 13 0 14 0; diff --git a/help/linear_pan~-help.pd b/help/linear_pan~-help.pd deleted file mode 100644 index 3aefefc..0000000 --- a/help/linear_pan~-help.pd +++ /dev/null @@ -1,25 +0,0 @@ -#N canvas 503 335 477 320 10; -#X declare -lib pan; -#X obj 5 2 cnv 15 450 20 empty empty linearpan~ 2 11 1 18 -233017 --66577 0; -#X msg 422 3 pddp; -#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner -; -#X text 244 284 released under the GNU GPL; -#X obj 134 225 dac~; -#X obj 181 145 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 --262131 -1 -1 6350 0; -#X text 16 37 Pan a mono signal using linear panning. The left inlet -takes the audio signal and the right inlet takes the control signal -with 0 = left \, 1 = right \, and 0.5 = center.; -#X obj 84 131 osc~ 250; -#X obj 84 152 *~ 0.5; -#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 1 1; -#X msg 362 218 \; pd dsp \$1; -#X obj 113 187 linearpan~; -#X connect 5 0 11 1; -#X connect 7 0 8 0; -#X connect 8 0 11 0; -#X connect 9 0 10 0; -#X connect 11 0 4 0; -#X connect 11 1 4 1; diff --git a/help/square_root_pan~-help.pd b/help/square_root_pan~-help.pd deleted file mode 100644 index 261d6f5..0000000 --- a/help/square_root_pan~-help.pd +++ /dev/null @@ -1,27 +0,0 @@ -#N canvas 360 90 481 324 10; -#X declare -lib pan; -#X obj 5 2 cnv 15 450 20 empty empty square_root_pan~ 2 11 1 18 -233017 --66577 0; -#X msg 422 3 pddp; -#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner -; -#X text 244 284 released under the GNU GPL; -#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 --262131 -1 -1 6350 0; -#X obj 113 131 osc~ 250; -#X obj 113 152 *~ 0.5; -#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; -#X msg 362 218 \; pd dsp \$1; -#X text 16 71 The left inlet takes the audio signal and the right inlet -takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. -; -#X text 16 37 Pan a mono signal using square root panning to smooth -out the dead spot in the middle somewhat.; -#X obj 113 187 square_root_pan~; -#X obj 141 234 dac~ 1 2; -#X connect 4 0 11 1; -#X connect 5 0 6 0; -#X connect 6 0 11 0; -#X connect 7 0 8 0; -#X connect 11 0 12 0; -#X connect 11 1 12 1; diff --git a/linear_pan~-help.pd b/linear_pan~-help.pd new file mode 100644 index 0000000..3aefefc --- /dev/null +++ b/linear_pan~-help.pd @@ -0,0 +1,25 @@ +#N canvas 503 335 477 320 10; +#X declare -lib pan; +#X obj 5 2 cnv 15 450 20 empty empty linearpan~ 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 244 284 released under the GNU GPL; +#X obj 134 225 dac~; +#X obj 181 145 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 +-262131 -1 -1 6350 0; +#X text 16 37 Pan a mono signal using linear panning. The left inlet +takes the audio signal and the right inlet takes the control signal +with 0 = left \, 1 = right \, and 0.5 = center.; +#X obj 84 131 osc~ 250; +#X obj 84 152 *~ 0.5; +#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 1 1; +#X msg 362 218 \; pd dsp \$1; +#X obj 113 187 linearpan~; +#X connect 5 0 11 1; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 11 0 4 0; +#X connect 11 1 4 1; diff --git a/pan-meta.pd b/pan-meta.pd new file mode 100644 index 0000000..7e9aee0 --- /dev/null +++ b/pan-meta.pd @@ -0,0 +1,9 @@ +#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 pan; +#X text 10 50 AUTHOR Hans-Christoph Steiner ; +#X text 10 70 DESCRIPTION A library of panning algoritms; +#X text 10 90 LICENSE GNU GPL; +#X text 10 110 VERSION ; +#X restore 10 10 pd META; diff --git a/pan_core~-help.pd b/pan_core~-help.pd new file mode 100644 index 0000000..cf4a65d --- /dev/null +++ b/pan_core~-help.pd @@ -0,0 +1,51 @@ +#N canvas 405 25 454 576 10; +#X obj 11 96 inlet~; +#X obj 216 116 inlet; +#X obj 70 443 *~; +#X obj 70 472 outlet~; +#X obj 200 442 *~; +#X obj 200 471 outlet~; +#X text 77 492 left; +#X text 203 491 right; +#X text 130 518 (C) Copyright 2004 Hans-Christoph Steiner; +#X text 234 534 released under the GNU GPL; +#X obj 216 418 line~; +#X obj 86 418 line~; +#X obj 307 183 loadbang; +#X floatatom 315 244 7 0 0 3 blocksize_in_ms - -; +#X obj 290 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 216 337 t f b; +#X obj 246 356 f; +#X obj 216 379 pack f f; +#X msg 216 399 \$1 \$2; +#X obj 86 337 t f b; +#X obj 116 356 f; +#X obj 86 379 pack f f; +#X msg 86 399 \$1 \$2; +#X obj 307 215 hcs/blocksize_in_ms; +#X obj 86 117 inlet; +#X text 10 17 [pan_core~]; +#X connect 0 0 2 0; +#X connect 0 0 4 0; +#X connect 1 0 15 0; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X connect 10 0 4 1; +#X connect 11 0 2 1; +#X connect 12 0 23 0; +#X connect 14 0 23 0; +#X connect 15 0 17 0; +#X connect 15 1 16 0; +#X connect 16 0 17 1; +#X connect 17 0 18 0; +#X connect 18 0 10 0; +#X connect 19 0 21 0; +#X connect 19 1 20 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 22 0 11 0; +#X connect 23 0 13 0; +#X connect 23 0 16 1; +#X connect 23 0 20 1; +#X connect 24 0 19 0; diff --git a/square_root_pan~-help.pd b/square_root_pan~-help.pd new file mode 100644 index 0000000..261d6f5 --- /dev/null +++ b/square_root_pan~-help.pd @@ -0,0 +1,27 @@ +#N canvas 360 90 481 324 10; +#X declare -lib pan; +#X obj 5 2 cnv 15 450 20 empty empty square_root_pan~ 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 244 284 released under the GNU GPL; +#X obj 224 149 hsl 128 20 0 1 0 1 empty empty pan_position 6 10 1 11 +-262131 -1 -1 6350 0; +#X obj 113 131 osc~ 250; +#X obj 113 152 *~ 0.5; +#X obj 362 186 tgl 25 0 empty empty DSP 3 12 1 9 -24198 -1 -1 0 1; +#X msg 362 218 \; pd dsp \$1; +#X text 16 71 The left inlet takes the audio signal and the right inlet +takes the control signal with 0 = left \, 1 = right \, and 0.5 = center. +; +#X text 16 37 Pan a mono signal using square root panning to smooth +out the dead spot in the middle somewhat.; +#X obj 113 187 square_root_pan~; +#X obj 141 234 dac~ 1 2; +#X connect 4 0 11 1; +#X connect 5 0 6 0; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 11 0 12 0; +#X connect 11 1 12 1; -- cgit v1.2.1