diff options
36 files changed, 1543 insertions, 0 deletions
diff --git a/abstractions/README b/abstractions/README new file mode 100644 index 0000000..f4cf5bf --- /dev/null +++ b/abstractions/README @@ -0,0 +1,28 @@ +********************************************************************** + +a set of useful and useless abstractions and py/pyext scripts, that i'm +using in my daily work + +some of them are cleanly written, some even have documentation +they require a number of externals, but no exotic ones ... + +Copyright (C) 2005 Tim Blechmann, TimBlechmann@gmx.net + +********************************************************************** + +This program 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. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +********************************************************************** diff --git a/abstractions/_pan~math.pd b/abstractions/_pan~math.pd new file mode 100644 index 0000000..a759253 --- /dev/null +++ b/abstractions/_pan~math.pd @@ -0,0 +1,55 @@ +#N canvas 356 113 633 535 10; +#X obj 47 21 inlet; +#X obj 47 72 clip -45 45; +#X obj 47 93 deg2rad; +#X obj 47 115 t b b f f; +#X obj 105 136 sin; +#X obj 105 157 v \$0-sin; +#X obj 85 196 v \$0-cos; +#X obj 85 176 cos; +#X obj 66 215 t b b; +#X obj 66 234 v \$0-cos; +#X obj 66 270 +; +#X obj 47 342 t b b; +#X obj 47 361 v \$0-cos; +#X obj 47 416 *; +#X obj 301 55 expr sqrt(2) / 2; +#X obj 271 14 loadbang; +#X obj 66 289 *; +#X obj 66 308 outlet; +#X obj 47 435 outlet; +#X text 43 465 as discribed in http://www.csounds.com/ezine/autumn1999/beginners/ +; +#X obj 271 34 t b b; +#X obj 96 253 v \$0-sin; +#X obj 77 380 v \$0-sin; +#X obj 47 397 -; +#X text 43 503 (c) Tim Blechmann 2005 \, $Id: _pan~math.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 271 55 \$1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 3 1 8 0; +#X connect 3 2 7 0; +#X connect 3 3 4 0; +#X connect 4 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 8 1 21 0; +#X connect 9 0 10 0; +#X connect 10 0 16 0; +#X connect 11 0 12 0; +#X connect 11 1 22 0; +#X connect 12 0 23 0; +#X connect 13 0 18 0; +#X connect 14 0 13 1; +#X connect 14 0 16 1; +#X connect 15 0 20 0; +#X connect 16 0 17 0; +#X connect 20 0 25 0; +#X connect 20 1 14 0; +#X connect 21 0 10 1; +#X connect 22 0 23 1; +#X connect 23 0 13 0; +#X connect 25 0 1 0; diff --git a/abstractions/bpe.py b/abstractions/bpe.py new file mode 100644 index 0000000..7a54b2c --- /dev/null +++ b/abstractions/bpe.py @@ -0,0 +1,91 @@ +# $Id: bpe.py,v 1.2 2005-12-17 17:52:01 timblech Exp $ +# +# Copyright (C) 2005 Tim Blechmann +# +# This program 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + + +import pyext + +def parse_arguments(*args): + duration = args[0] + if duration == 0: + return args[1:] + + length = len(args) + durations = [] + breakpoints = [] + for i in range(1,length): + if i % 2 == 0: + durations.append(args[i]) + else: + breakpoints.append(args[i]) + duration_factor = duration / reduce(lambda x,y: x + y, durations) + + durations = map(lambda x: x*duration_factor, durations) + + ret = [] + + for i in range(len(durations)): + ret.append(breakpoints[i]) + ret.append(durations[i]) + ret[-2] = ret[0] + return ret + +class Bpe(pyext._class): + _inlets = 1 + _outlets = 1 + + def list_1(self, *args): + if args[0] != 0: + self._outlet(1,parse_arguments(*args)) + +class VolBpe(pyext._class): + _inlets = 3 + _outlets = 1 + + def __init__(self, dollar1): + try: + self.duration = 1000 / dollar1 + except: + self.duration = 1000 + self._detach = 1 + self._priority(-20) + + self.bpe = [] + self.running = False + + def list_1(self, *args): + arglist = list(args) + arguments = [self.duration] + arglist + self.bpe = arglist + self._outlet(1,parse_arguments(*arguments)) + if not self.running: + self._outlet(1, None) + self.running = True + + def float_2(self, freq): + self.duration = 1000 / freq; + arguments = self.duration + self.bpe + self._outlet(1,parse_arguments(*arguments)) + + + def float_3(self, switch): + if switch == 0: + self._outlet(1, self.bpe[0], 0, self.bpe[0], self.duration) + else: + self._outlet(1, self.bpe) + diff --git a/abstractions/dacer~.pd b/abstractions/dacer~.pd new file mode 100644 index 0000000..dc57667 --- /dev/null +++ b/abstractions/dacer~.pd @@ -0,0 +1,21 @@ +#N canvas 222 205 333 242 10; +#X obj 4 91 inlet~; +#X obj 109 91 inlet~; +#X obj 4 129 volctl~ 0 100; +#X obj 109 129 volctl~ 0 100; +#X obj 34 180 dac~; +#X floatatom 17 20 5 0 0 0 - - -; +#X obj 4 110 hip~ 5; +#X obj 109 110 hip~ 5; +#X obj 47 67 dbtorms; +#X text 11 217 (c) Tim Blechmann 2005 \, $Id: dacer~.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 6 0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 4 1; +#X connect 5 0 8 0; +#X connect 6 0 2 0; +#X connect 7 0 3 0; +#X connect 8 0 2 1; +#X connect 8 0 3 1; +#X coords 0 0 1 1 60 40 1 0 0; diff --git a/abstractions/exp4~.pd b/abstractions/exp4~.pd new file mode 100644 index 0000000..2d7af0a --- /dev/null +++ b/abstractions/exp4~.pd @@ -0,0 +1,35 @@ +#N canvas 458 85 450 300 10; +#X obj 16 227 outlet~; +#X obj 16 204 +~ 1; +#X text 17 272 (c) Tim Blechmann 2005 \, $Id: exp4~.pd 221 2005-12-17 +18:31:17Z tim $; +#X text 17 252 4th order taylor approximation of exp(x); +#X obj 16 8 inlet~; +#X obj 33 46 *~; +#X obj 33 70 *~ 0.5; +#X obj 101 46 *~; +#X obj 196 46 *~; +#X obj 100 105 *~ 0; +#X obj 123 67 faculty 3; +#X obj 123 86 !/ 1; +#X obj 196 108 *~ 0; +#X obj 219 89 !/ 1; +#X obj 219 70 faculty 4; +#X connect 1 0 0 0; +#X connect 4 0 5 0; +#X connect 4 0 5 1; +#X connect 4 0 7 1; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 5 0 8 1; +#X connect 6 0 1 0; +#X connect 7 0 9 0; +#X connect 8 0 12 0; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 11 0 9 1; +#X connect 12 0 1 0; +#X connect 13 0 12 1; +#X connect 14 0 13 0; diff --git a/abstractions/exp6~.pd b/abstractions/exp6~.pd new file mode 100644 index 0000000..260bb4f --- /dev/null +++ b/abstractions/exp6~.pd @@ -0,0 +1,55 @@ +#N canvas 324 188 561 309 10; +#X obj 16 8 inlet~; +#X obj 16 227 outlet~; +#X obj 16 204 +~ 1; +#X obj 33 46 *~; +#X obj 33 70 *~ 0.5; +#X obj 101 46 *~; +#X obj 196 46 *~; +#X text 17 272 (c) Tim Blechmann 2005 \, $Id: exp6~.pd 221 2005-12-17 +18:31:17Z tim $; +#X text 17 252 6th order taylor approximation of exp(x); +#X obj 100 105 *~ 0; +#X obj 123 67 faculty 3; +#X obj 123 86 !/ 1; +#X obj 196 108 *~ 0; +#X obj 219 89 !/ 1; +#X obj 219 70 faculty 4; +#X obj 298 48 *~; +#X obj 299 110 *~ 0; +#X obj 322 91 !/ 1; +#X obj 322 72 faculty 5; +#X obj 410 44 *~; +#X obj 411 106 *~ 0; +#X obj 434 87 !/ 1; +#X obj 434 68 faculty 6; +#X connect 0 0 3 0; +#X connect 0 0 3 1; +#X connect 0 0 2 0; +#X connect 0 0 5 1; +#X connect 0 0 15 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 2 0; +#X connect 5 0 9 0; +#X connect 5 0 19 0; +#X connect 5 0 19 1; +#X connect 6 0 12 0; +#X connect 6 0 15 0; +#X connect 9 0 2 0; +#X connect 10 0 11 0; +#X connect 11 0 9 1; +#X connect 12 0 2 0; +#X connect 13 0 12 1; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 17 0 16 1; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 20 0 2 0; +#X connect 21 0 20 1; +#X connect 22 0 21 0; diff --git a/abstractions/exp8~.pd b/abstractions/exp8~.pd new file mode 100644 index 0000000..c270b05 --- /dev/null +++ b/abstractions/exp8~.pd @@ -0,0 +1,75 @@ +#N canvas 0 0 808 341 10; +#X obj 16 8 inlet~; +#X obj 16 227 outlet~; +#X obj 16 204 +~ 1; +#X obj 33 46 *~; +#X obj 33 70 *~ 0.5; +#X obj 101 46 *~; +#X obj 196 46 *~; +#X text 17 272 (c) Tim Blechmann 2005 \, $Id: exp6~.pd 221 2005-12-17 +18:31:17Z tim $; +#X obj 100 105 *~ 0; +#X obj 123 67 faculty 3; +#X obj 123 86 !/ 1; +#X obj 196 108 *~ 0; +#X obj 219 89 !/ 1; +#X obj 219 70 faculty 4; +#X obj 298 48 *~; +#X obj 299 110 *~ 0; +#X obj 322 91 !/ 1; +#X obj 322 72 faculty 5; +#X obj 410 44 *~; +#X obj 411 106 *~ 0; +#X obj 434 87 !/ 1; +#X obj 434 68 faculty 6; +#X text 17 252 8th order taylor approximation of exp(x); +#X obj 530 50 *~; +#X obj 531 112 *~ 0; +#X obj 554 93 !/ 1; +#X obj 642 46 *~; +#X obj 643 108 *~ 0; +#X obj 666 89 !/ 1; +#X obj 554 74 faculty 7; +#X obj 666 70 faculty 8; +#X connect 0 0 3 0; +#X connect 0 0 3 1; +#X connect 0 0 2 0; +#X connect 0 0 5 1; +#X connect 0 0 14 1; +#X connect 0 0 23 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 5 0 18 0; +#X connect 5 0 18 1; +#X connect 6 0 11 0; +#X connect 6 0 14 0; +#X connect 6 0 26 0; +#X connect 6 0 26 1; +#X connect 8 0 2 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 11 0 2 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 2 0; +#X connect 16 0 15 1; +#X connect 17 0 16 0; +#X connect 18 0 19 0; +#X connect 18 0 23 0; +#X connect 19 0 2 0; +#X connect 20 0 19 1; +#X connect 21 0 20 0; +#X connect 23 0 24 0; +#X connect 24 0 2 0; +#X connect 25 0 24 1; +#X connect 26 0 27 0; +#X connect 27 0 2 0; +#X connect 28 0 27 1; +#X connect 29 0 25 0; +#X connect 30 0 28 0; diff --git a/abstractions/faculty.pd b/abstractions/faculty.pd new file mode 100644 index 0000000..90d224c --- /dev/null +++ b/abstractions/faculty.pd @@ -0,0 +1,40 @@ +#N canvas 399 222 427 326 10; +#X obj 24 38 int; +#X obj 43 104 until; +#X obj 62 128 f; +#X obj 92 178 f; +#X obj 92 111 - 1; +#X obj 62 152 t f f; +#X obj 24 62 t b f f b; +#X obj 24 217 f; +#X obj 62 200 t f f; +#X obj 24 238 outlet; +#X obj 24 14 inlet; +#X obj 62 178 *; +#X obj 82 86 f 1; +#X obj 43 84 - 1; +#X text 22 287 (c) Tim Blechmann 2005 \, $Id: faculty.pd 222 2005-12-17 +18:32:31Z tim $; +#X text 22 265 faculty patch; +#X obj 115 1 init \$1; +#X obj 115 21 sel 0; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 11 1; +#X connect 4 0 2 1; +#X connect 5 0 11 0; +#X connect 5 1 4 0; +#X connect 6 0 7 0; +#X connect 6 1 13 0; +#X connect 6 2 2 0; +#X connect 6 3 12 0; +#X connect 7 0 9 0; +#X connect 8 0 7 1; +#X connect 8 1 3 0; +#X connect 10 0 0 0; +#X connect 11 0 8 0; +#X connect 12 0 3 0; +#X connect 13 0 1 0; +#X connect 16 0 17 0; +#X connect 17 1 0 0; diff --git a/abstractions/find_hid-help.pd b/abstractions/find_hid-help.pd new file mode 100644 index 0000000..f645fa6 --- /dev/null +++ b/abstractions/find_hid-help.pd @@ -0,0 +1,12 @@ +#N canvas 0 0 450 300 10; +#X obj 51 100 py find_hid find; +#X obj 51 122 print; +#X msg 51 65 reload; +#X text 53 239 (c) Tim Blechmann 2005 \, $Id: find_hid-help.pd 221 2005-12-17 18:31:17Z tim $ +; +#X text 49 153 find device in linux udevfs; +#X msg 158 69 "manufacturer=Logitech" "product=USB-PS/2 Optical Mouse" +; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 5 0 0 1; diff --git a/abstractions/find_hid.py b/abstractions/find_hid.py new file mode 100644 index 0000000..93800c1 --- /dev/null +++ b/abstractions/find_hid.py @@ -0,0 +1,75 @@ +# Python script to search the udev file system for devices +# Copyright (C) 2005 Tim Blechmann +# +# This program 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# $Id: find_hid.py,v 1.3 2005-12-17 17:52:01 timblech Exp $ +# + +from os import popen, listdir + +def parse_device(event, rules): + pipe = popen('udevinfo -a -p /sys/class/input/%s' % event) + + line = pipe.readline() + while line: + line.strip() + if '==' in line: + setting, value = line.split('==') + setting = setting.strip() + if '{' in setting: + setting = setting.split('{')[1].split('}')[0] + value = value.strip().strip('"') + + if setting in rules: + if rules [setting] == value: + # we matched one rule, so we remove it from the pending rules + del rules[setting] + + line = pipe.readline() + + if len(rules) == 0: + pipe.close() + print event + return float(event.strip("event")) + + pipe.close() + return -1 + +def find (*args): + name = "" + for token in args: + name+=" " + str(token) + + name = name.strip() + rules = name.split('" "') + rules = map (lambda x: x.strip('"'), rules) + + ruledict = dict() + + for rule in rules: + setting, value = rule.split('=',1) + ruledict[setting] = value + rules = ruledict + + events = filter(lambda x: "event" in x, listdir('/sys/class/input/')) + + for event in events: + ret = parse_device(event, dict(rules)) + if ret != -1: + return int(ret) + + return -1 diff --git a/abstractions/ftanh~.pd b/abstractions/ftanh~.pd new file mode 100644 index 0000000..dfd923f --- /dev/null +++ b/abstractions/ftanh~.pd @@ -0,0 +1,18 @@ +#N canvas 572 83 570 197 10; +#X obj 41 10 inlet~; +#X obj 41 129 outlet~; +#X text 44 162 (c) Tim Blechmann 2005 \, $Id: ftanh~.pd 223 2005-12-17 18:51:09Z tim $; +#X obj 42 33 *~ 2; +#X obj 74 77 +~ 1; +#X obj 42 77 -~ 1; +#X obj 42 103 /~; +#X obj 42 55 exp8~; +#X text 120 43 a fast tanh interpolation \, accurate to about 55 db +in the range [-1 \, 1]; +#X connect 0 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 6 1; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 4 0; +#X connect 7 0 5 0; diff --git a/abstractions/le3dp.pd b/abstractions/le3dp.pd new file mode 100644 index 0000000..35d19dc --- /dev/null +++ b/abstractions/le3dp.pd @@ -0,0 +1,135 @@ +#N canvas 163 335 546 315 10; +#X obj 8 10 init 1; +#N canvas 95 25 450 300 axis 0; +#X obj -80 4 inlet; +#X obj 117 121 zmap_lin 255 0 0 1; +#X obj 117 187 s le3dp-throttle; +#X obj -80 41 route abs_x abs_y abs_rz abs_throttle abs_hat0x abs_hat0y +; +#X obj 182 61 s le3dp-hatx; +#X obj 248 81 s le3dp-haty; +#X obj 314 61 assert; +#N canvas 498 328 450 300 z 0; +#X obj 24 15 inlet; +#X obj 24 164 s le3dp-z; +#X obj 24 45 moses 128; +#X obj 82 65 moses 144; +#X obj 82 85 b; +#X obj 82 104 0; +#X obj 24 141 zmap_lin 0 128 -1 0; +#X obj 140 85 zmap_lin 144 255 0 1; +#X connect 0 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 7 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X restore 51 109 pd z; +#N canvas 496 358 450 300 x 0; +#X obj -70 11 inlet; +#X obj -70 145 s le3dp-x; +#X obj -70 31 moses 508; +#X obj -12 50 moses 520; +#X obj -12 69 b; +#X obj -12 88 0; +#X obj -70 126 zmap_lin 0 508 -1 0; +#X obj 46 69 zmap_lin 520 1023 0 1; +#X connect 0 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 7 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X restore -80 80 pd x; +#N canvas 496 358 450 300 y 0; +#X obj -70 11 inlet; +#X obj -12 69 b; +#X obj -12 88 0; +#X obj -70 145 s le3dp-y; +#X obj -70 31 moses 486; +#X obj -12 50 moses 512; +#X obj -70 126 zmap_lin 0 486 -1 0; +#X obj 46 69 zmap_lin 512 1023 0 1; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 6 0; +#X connect 4 1 5 0; +#X connect 5 0 1 0; +#X connect 5 1 7 0; +#X connect 6 0 3 0; +#X connect 7 0 3 0; +#X restore -15 82 pd y; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 3 0 8 0; +#X connect 3 1 9 0; +#X connect 3 2 7 0; +#X connect 3 3 1 0; +#X connect 3 4 4 0; +#X connect 3 5 5 0; +#X connect 3 6 6 0; +#X restore 8 245 pd axis; +#X obj 8 221 route abs key; +#N canvas 0 0 450 300 buttons 0; +#X obj 12 10 inlet; +#X obj 12 32 route btn_0 btn_1 btn_2 btn_3 btn_4 btn_5 btn_6 btn_7 +btn_8 btn_9 btn_10 btn_11; +#X obj 12 68 s le3dp-b1; +#X obj 386 186 s le3dp-b12; +#X obj 352 166 s le3dp-b11; +#X obj 318 146 s le3dp-b10; +#X obj 284 126 s le3dp-b9; +#X obj 250 106 s le3dp-b8; +#X obj 216 86 s le3dp-b7; +#X obj 182 190 s le3dp-b6; +#X obj 148 165 s le3dp-b5; +#X obj 114 138 s le3dp-b4; +#X obj 80 116 s le3dp-b3; +#X obj 46 92 s le3dp-b2; +#X obj 420 70 assert; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 13 0; +#X connect 1 2 12 0; +#X connect 1 3 11 0; +#X connect 1 4 10 0; +#X connect 1 5 9 0; +#X connect 1 6 8 0; +#X connect 1 7 7 0; +#X connect 1 8 6 0; +#X connect 1 9 5 0; +#X connect 1 10 4 0; +#X connect 1 11 3 0; +#X connect 1 12 14 0; +#X restore 51 266 pd buttons; +#X obj 38 172 prepend open; +#X obj 38 84 py find_hid; +#X obj 8 39 t f b; +#X obj 8 199 hid; +#X obj 38 106 route -1; +#X obj 38 126 0; +#X obj 8 148 spigot 1; +#X text 12 294 (c) Tim Blechmann 2005 \, $Id: le3dp.pd 221 2005-12-17 18:31:17Z tim $; +#X text 116 220 abstraction to use a Logitech Extreme 3D Joystick with +hid under linux; +#X msg 38 60 find "product=Logitech Extreme 3D"; +#X connect 0 0 6 0; +#X connect 2 0 1 0; +#X connect 2 1 3 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 10 0; +#X connect 6 1 13 0; +#X connect 7 0 2 0; +#X connect 8 0 9 0; +#X connect 8 1 4 0; +#X connect 9 0 10 1; +#X connect 10 0 7 0; +#X connect 13 0 5 1; diff --git a/abstractions/msg_queue-help.pd b/abstractions/msg_queue-help.pd new file mode 100644 index 0000000..2bd7671 --- /dev/null +++ b/abstractions/msg_queue-help.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 386 215 10; +#X obj 28 98 msg_queue; +#X obj 28 131 print; +#X msg 86 23 123; +#X msg 86 43 234; +#X msg 86 63 345; +#X obj 28 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 30 169 (c) Tim Blechmann 2005 \, $Id: msg_queue-help.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 1 0; +#X connect 2 0 0 1; +#X connect 3 0 0 1; +#X connect 4 0 0 1; +#X connect 5 0 0 0; diff --git a/abstractions/msg_queue.pd b/abstractions/msg_queue.pd new file mode 100644 index 0000000..899c9ad --- /dev/null +++ b/abstractions/msg_queue.pd @@ -0,0 +1,18 @@ +#N canvas 418 284 367 172 10; +#X obj 18 9 inlet dump; +#X obj 44 29 inlet add; +#X obj 18 72 fifop; +#X obj 18 31 b; +#X text 21 149 (c) Tim Blechmann 2005 \, $Id: msg_queue.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 18 91 t b a; +#X obj 48 129 outlet; +#X obj 44 48 prepend list; +#X obj 48 110 list trim; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 5 0 2 0; +#X connect 5 1 8 0; +#X connect 7 0 2 0; +#X connect 8 0 6 0; diff --git a/abstractions/panS~-help.pd b/abstractions/panS~-help.pd new file mode 100644 index 0000000..bd45349 --- /dev/null +++ b/abstractions/panS~-help.pd @@ -0,0 +1,20 @@ +#N canvas 599 324 443 253 10; +#X obj 35 176 dacer~; +#X obj 54 16 osc~ 440; +#X obj 69 35 osc~ 444; +#X obj 53 90 panS~; +#X obj 198 35 osc~ 440; +#X obj 199 73 pan~; +#X obj 179 177 dacer~; +#X floatatom 83 63 5 0 0 0 - - -; +#X floatatom 222 57 5 0 0 0 - - -; +#X text 36 233 (c) Tim Blechmann 2005 \, $Id: panS~-help.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 0 0; +#X connect 3 1 0 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 7 0 3 2; +#X connect 8 0 5 1; diff --git a/abstractions/panS~.pd b/abstractions/panS~.pd new file mode 100644 index 0000000..f51badd --- /dev/null +++ b/abstractions/panS~.pd @@ -0,0 +1,24 @@ +#N canvas 162 192 507 282 10; +#X obj 35 13 inlet~; +#X obj 132 14 inlet~; +#X obj 196 15 inlet pan; +#X obj 35 131 volctl~ 0 100; +#X obj 132 131 volctl~ 0 100; +#X obj 35 150 outlet~; +#X obj 132 150 outlet~; +#X text 365 190 \$1: pan; +#X text 365 210 \$2: ramp; +#X text 33 249 (c) Tim Blechmann 2005 \, $Id: panS~.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 391 43 init \$2; +#X obj 391 65 moses 0; +#X obj 196 64 _pan~math \$1; +#X connect 0 0 3 0; +#X connect 1 0 4 0; +#X connect 2 0 12 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 10 0 11 0; +#X connect 11 1 4 2; +#X connect 11 1 3 2; +#X connect 12 0 3 1; +#X connect 12 1 4 1; diff --git a/abstractions/pan~.pd b/abstractions/pan~.pd new file mode 100644 index 0000000..b413a8d --- /dev/null +++ b/abstractions/pan~.pd @@ -0,0 +1,22 @@ +#N canvas 685 294 476 248 10; +#X obj 35 23 inlet~; +#X obj 131 23 inlet pan; +#X obj 35 113 volctl~ 0 100; +#X obj 146 113 volctl~ 0 100; +#X obj 35 132 outlet~; +#X obj 146 132 outlet~; +#X text 40 182 (c) Tim Blechmann 2005 \, $Id: pan~.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 315 33 init \$2; +#X obj 315 55 moses 0; +#X text 311 126 \$1: pan; +#X text 311 146 \$2: ramp; +#X obj 131 80 _pan~math \$1; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 11 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 7 0 8 0; +#X connect 8 1 3 2; +#X connect 11 0 2 1; +#X connect 11 1 3 1; diff --git a/abstractions/pre_switch.pd b/abstractions/pre_switch.pd new file mode 100644 index 0000000..50193de --- /dev/null +++ b/abstractions/pre_switch.pd @@ -0,0 +1,28 @@ +#N canvas 0 0 450 300 10; +#X obj 36 116 t b b; +#X obj 105 193 0; +#X obj 66 137 zl reg stop; +#X obj 36 192 1; +#X obj 36 91 sel 1 0; +#X obj 105 170 delay \$1; +#X obj 36 39 inlet switch; +#X obj 36 231 outlet switch~; +#X text 38 17 \$1: switch delay; +#X obj 36 69 change; +#X obj 197 38 inlet delay; +#X obj 197 59 moses 0; +#X obj 197 79 assert; +#X text 35 265 (c) Tim Blechmann 2005 \, $Id: pre_switch.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 3 0; +#X connect 0 1 2 0; +#X connect 1 0 7 0; +#X connect 2 0 5 0; +#X connect 3 0 7 0; +#X connect 4 0 0 0; +#X connect 4 1 5 0; +#X connect 5 0 1 0; +#X connect 6 0 9 0; +#X connect 9 0 4 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 1 5 1; diff --git a/abstractions/sender-help.pd b/abstractions/sender-help.pd new file mode 100644 index 0000000..54aca0c --- /dev/null +++ b/abstractions/sender-help.pd @@ -0,0 +1,10 @@ +#N canvas 640 296 387 142 10; +#X obj 29 68 sender; +#X obj 154 16 r sendname; +#X floatatom 154 39 5 0 0 0 - - -; +#X msg 29 15 sendname 1; +#X msg 29 41 sendname 2; +#X text 23 92 (c) Tim Blechmann 2005 \, $Id: sender-help.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 1 0 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; diff --git a/abstractions/sender.pd b/abstractions/sender.pd new file mode 100644 index 0000000..65a886f --- /dev/null +++ b/abstractions/sender.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 378 221 10; +#X obj 30 59 zl slice 1; +#X obj 30 98 buddy 2; +#X obj 30 149 forward; +#X obj 74 117 prepend send; +#X obj 30 18 inlet; +#X text 31 170 (c) Tim Blechmann 2005 \, $Id: sender.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 30 38 list trim; +#X connect 0 0 1 1; +#X connect 0 1 1 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 6 0 0 0; diff --git a/abstractions/sigmoid_booster~.pd b/abstractions/sigmoid_booster~.pd new file mode 100644 index 0000000..68b0401 --- /dev/null +++ b/abstractions/sigmoid_booster~.pd @@ -0,0 +1,35 @@ +#N canvas 488 227 567 322 10; +#X obj 69 40 dbtorms; +#X obj 69 21 inlet pregain; +#X obj 26 1 inlet~; +#X obj 26 78 *~ -5; +#X obj 26 135 pow~; +#X obj 26 154 +~ 1; +#X obj 26 222 -~ 1; +#X obj 123 216 dbtorms; +#X obj 123 197 inlet postgain; +#X obj 26 262 outlet~; +#X obj 26 59 volctl~ \$1 10; +#X obj 26 241 volctl~ \$2 10; +#X obj 49 97 init 1; +#X obj 49 116 exp; +#X text 203 21 direct port of TAP Sigmoid Booster by Tom Szilagyi \, +except that it's using pd's db scaling instead of tap's; +#X obj 26 181 sig~ 2; +#X obj 26 203 /~; +#X text 28 287 (c) Tim Blechmann 2005 \, $Id: sigmoid_booster~.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 10 1; +#X connect 1 0 0 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 16 1; +#X connect 6 0 11 0; +#X connect 7 0 11 1; +#X connect 8 0 7 0; +#X connect 10 0 3 0; +#X connect 11 0 9 0; +#X connect 12 0 13 0; +#X connect 13 0 4 1; +#X connect 15 0 16 0; +#X connect 16 0 6 0; diff --git a/abstractions/switcher.pd b/abstractions/switcher.pd new file mode 100644 index 0000000..96fc6fe --- /dev/null +++ b/abstractions/switcher.pd @@ -0,0 +1,14 @@ +#N canvas 567 330 438 173 10; +#X obj 36 15 inlet switch; +#X obj 36 79 outlet factor; +#X obj 66 118 outlet switch~; +#X obj 36 60 t f f; +#X text 220 18 \$1: switch delay; +#X obj 36 38 change; +#X obj 66 99 pre_switch \$1; +#X text 42 155 (c) Tim Blechmann 2005 \, $Id: switcher.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 3 1 6 0; +#X connect 5 0 3 0; +#X connect 6 0 2 0; diff --git a/abstractions/tbEnvify~-help.pd b/abstractions/tbEnvify~-help.pd new file mode 100644 index 0000000..4b438f6 --- /dev/null +++ b/abstractions/tbEnvify~-help.pd @@ -0,0 +1,27 @@ +#N canvas 394 35 818 634 10; +#X obj 21 324 tbEnvify~; +#X obj 291 185 Scope~ 456 390 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 21 366 dacer~; +#X msg 173 40 1000 sine 1 0.1; +#X msg 151 9 1000 triangle 1 0.1; +#X msg 183 64 1000 hanning 1 0.1; +#X msg 193 85 1000 bpe 0 0 1 1 0.2 1 0 1; +#X obj 20 272 osc~ 440; +#X msg 204 109 1000 bpe-smooth 0 0 1 1 0.2 1 0 1 2000 8000; +#X msg 214 133 1000 bpe-slide 0 0 1 1 0.2 1 0 1 4000 8000; +#X text 344 36 (c) Tim Blechmann 2005 \, $Id: tbEnvify~-help.pd 221 2005-12-17 18:31:17Z tim $; +#X text 344 17 a simple envelope generator; +#X obj 99 351 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 0 0 2 1; +#X connect 0 1 12 0; +#X connect 3 0 0 1; +#X connect 4 0 0 1; +#X connect 5 0 0 1; +#X connect 6 0 0 1; +#X connect 7 0 0 0; +#X connect 8 0 0 1; +#X connect 9 0 0 1; diff --git a/abstractions/tbEnvify~.pd b/abstractions/tbEnvify~.pd new file mode 100644 index 0000000..83282be --- /dev/null +++ b/abstractions/tbEnvify~.pd @@ -0,0 +1,85 @@ +#N canvas 599 226 536 134 10; +#X obj 28 19 inlet~; +#X obj 28 81 outlet~; +#N canvas 171 233 452 345 controls 0; +#X obj 54 13 inlet; +#X obj 54 255 s \$0-triangle; +#X text 96 13 duration type (arguments); +#X text 105 217 type duration (arguments); +#X obj 54 139 zl slice 2; +#X obj 54 194 zl join; +#X obj 54 165 zl rev; +#X obj 84 57 zl len; +#X obj 54 36 t a a; +#X obj 84 79 <= 2; +#X obj 54 104 demux; +#X obj 147 166 zl rev; +#X obj 107 274 s \$0-sine; +#X obj 160 293 s \$0-hanning; +#X obj 213 313 s \$0-bpe; +#X obj 285 264 s \$0-bpe_rampsmooth; +#X obj 54 236 route triangle sine hanning bpe bpe-smooth bpe-slide +; +#X obj 302 313 s \$0-bpe_slide; +#X connect 0 0 8 0; +#X connect 4 0 6 0; +#X connect 4 1 5 1; +#X connect 5 0 16 0; +#X connect 6 0 5 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 8 1 7 0; +#X connect 9 0 10 1; +#X connect 10 0 4 0; +#X connect 10 1 11 0; +#X connect 11 0 16 0; +#X connect 16 0 1 0; +#X connect 16 1 12 0; +#X connect 16 2 13 0; +#X connect 16 3 14 0; +#X connect 16 4 15 0; +#X connect 16 5 17 0; +#X restore 142 41 pd controls; +#N canvas 138 140 450 300 envelopes 0; +#X obj 170 8 r \$0-triangle; +#X obj 142 50 r \$0-sine; +#X obj 14 69 ./tbEnvify~/sine \$0; +#X obj 163 90 r \$0-hanning; +#X obj 14 109 ./tbEnvify~/hanning \$0; +#X obj 14 7 inlet~; +#X obj 14 266 outlet~; +#X text 223 42 ugly but fast and no latency; +#X obj 135 133 r \$0-bpe; +#X obj 212 173 r \$0-bpe_rampsmooth; +#X obj 179 213 r \$0-bpe_slide; +#X obj 14 159 ./tbEnvify~/bpe \$0; +#X obj 14 193 ./tbEnvify~/bpe_rampsmooth \$0; +#X obj 14 233 ./tbEnvify~/bpe_slide \$0; +#X obj 14 27 ./tbEnvify~/triangle \$0; +#X connect 0 0 14 1; +#X connect 1 0 2 1; +#X connect 2 0 6 0; +#X connect 3 0 4 1; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 0 4 0; +#X connect 5 0 11 0; +#X connect 5 0 12 0; +#X connect 5 0 13 0; +#X connect 5 0 14 0; +#X connect 8 0 11 1; +#X connect 9 0 12 1; +#X connect 10 0 13 1; +#X connect 11 0 6 0; +#X connect 12 0 6 0; +#X connect 13 0 6 0; +#X connect 14 0 6 0; +#X restore 28 45 pd envelopes; +#X obj 142 17 inlet duration_type_volume_(arguments); +#X text 31 105 (c) Tim Blechmann 2005 \, $Id: tbEnvify~.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 252 84 outlet done; +#X obj 252 62 r \$0-done; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 7 0 6 0; diff --git a/abstractions/tbEnvify~/_bpe_stuff.pd b/abstractions/tbEnvify~/_bpe_stuff.pd new file mode 100644 index 0000000..a8ad161 --- /dev/null +++ b/abstractions/tbEnvify~/_bpe_stuff.pd @@ -0,0 +1,34 @@ +#N canvas 0 0 631 540 10; +#X obj 204 21 inlet control; +#X obj 455 328 1; +#X obj 413 286 delay; +#X obj 413 307 0; +#X obj 455 198 t b b; +#X obj 485 219 zl reg stop; +#X obj 413 350 pre_switch 10; +#X obj 55 131 t b a; +#X obj 55 250 bpe ---; +#X obj 413 267 10; +#X obj 204 42 t a b; +#X obj 413 399 outlet switch~; +#X obj 55 286 outlet factor; +#X obj 77 309 outlet time; +#X obj 55 80 py bpe parse_arguments @detach 0; +#X text 47 460 (c) Tim Blechmann 2005 \, $Id: _bpe_stuff.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 10 0; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 4 1 5 0; +#X connect 5 0 2 0; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 7 1 8 0; +#X connect 8 0 12 0; +#X connect 8 1 13 0; +#X connect 8 2 9 0; +#X connect 9 0 2 0; +#X connect 10 0 14 1; +#X connect 10 1 4 0; +#X connect 14 0 7 0; diff --git a/abstractions/tbEnvify~/_env_lookup~.pd b/abstractions/tbEnvify~/_env_lookup~.pd new file mode 100644 index 0000000..37d63e7 --- /dev/null +++ b/abstractions/tbEnvify~/_env_lookup~.pd @@ -0,0 +1,31 @@ +#N canvas 518 105 575 385 10; +#X obj 45 31 inlet duration; +#X obj 148 31 inlet peak_time; +#X obj 45 98 *; +#X obj 45 61 t f f; +#X obj 45 215 t b f; +#X obj 67 148 delay; +#X obj 45 119 t f f f; +#X obj 89 169 !-; +#X obj 67 193 pack 0 f; +#X obj 45 276 line~; +#X text 339 80 \$1 max_scaling; +#X obj 45 246 pack \$1 f; +#X obj 45 299 outlet~; +#X text 101 300 outlet function; +#X text 47 329 (c) Tim Blechmann 2005 \, $Id: _env_lookup~.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 3 0; +#X connect 1 0 2 1; +#X connect 2 0 6 0; +#X connect 3 0 2 0; +#X connect 3 1 7 1; +#X connect 4 0 11 0; +#X connect 4 1 11 1; +#X connect 5 0 8 0; +#X connect 6 0 4 0; +#X connect 6 1 5 0; +#X connect 6 2 7 0; +#X connect 7 0 8 1; +#X connect 8 0 9 0; +#X connect 9 0 12 0; +#X connect 11 0 9 0; diff --git a/abstractions/tbEnvify~/bpe.pd b/abstractions/tbEnvify~/bpe.pd new file mode 100644 index 0000000..dc3b093 --- /dev/null +++ b/abstractions/tbEnvify~/bpe.pd @@ -0,0 +1,21 @@ +#N canvas 365 133 534 216 10; +#X obj 13 5 volctl~ 0 0; +#X obj 198 -39 inlet control; +#X obj 13 -43 inlet~; +#X obj 13 26 outlet~; +#X text 298 -40 duration [bp time] * n; +#X obj 198 -12 _bpe_stuff; +#X text 17 99 (c) Tim Blechmann 2005 \, $Id: bpe.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 263 75 switch~; +#X obj 263 10 t f f; +#X obj 293 31 sel 0; +#X obj 293 52 s \$1-done; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 5 0 0 1; +#X connect 5 1 0 2; +#X connect 5 2 8 0; +#X connect 8 0 7 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; diff --git a/abstractions/tbEnvify~/bpe_rampsmooth.pd b/abstractions/tbEnvify~/bpe_rampsmooth.pd new file mode 100644 index 0000000..11cb56e --- /dev/null +++ b/abstractions/tbEnvify~/bpe_rampsmooth.pd @@ -0,0 +1,49 @@ +#N canvas 20 105 625 441 10; +#X obj 204 15 inlet control; +#X obj 19 11 inlet~; +#X obj 19 379 outlet~; +#X text 304 14 duration [bp time] * n; +#X obj 204 92 _bpe_stuff; +#X obj 204 47 zl ecils 2; +#X obj 19 360 *~; +#X obj 36 164 pack f f; +#X obj 36 188 line~; +#X obj 36 231 rampsmooth~; +#X obj 162 131 unpack f f; +#X obj 162 193 prepend rampup; +#X obj 227 214 prepend rampdown; +#X obj 72 262 edge~; +#X obj 102 282 0; +#X text 21 407 (c) Tim Blechmann 2005 \, $Id: bpe_rampsmooth.pd 195 2005-11-20 01:25:43Z tim +$; +#X obj 269 243 sel 1; +#X obj 269 264 1; +#X obj 269 299 pre_switch 10; +#X obj 269 384 switch~; +#X obj 269 319 t f f; +#X obj 299 340 sel 0; +#X obj 299 361 s \$1-done; +#X connect 0 0 5 0; +#X connect 1 0 6 0; +#X connect 4 0 7 0; +#X connect 4 1 7 1; +#X connect 4 2 16 0; +#X connect 5 0 4 0; +#X connect 5 1 10 0; +#X connect 6 0 2 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 6 1; +#X connect 9 0 13 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 9 0; +#X connect 12 0 9 0; +#X connect 13 1 14 0; +#X connect 14 0 18 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 20 0 19 0; +#X connect 20 1 21 0; +#X connect 21 0 22 0; diff --git a/abstractions/tbEnvify~/bpe_slide.pd b/abstractions/tbEnvify~/bpe_slide.pd new file mode 100644 index 0000000..9352fec --- /dev/null +++ b/abstractions/tbEnvify~/bpe_slide.pd @@ -0,0 +1,48 @@ +#N canvas 84 183 625 441 10; +#X obj 204 15 inlet control; +#X obj 19 11 inlet~; +#X obj 19 379 outlet~; +#X text 304 14 duration [bp time] * n; +#X obj 204 92 _bpe_stuff; +#X obj 204 47 zl ecils 2; +#X obj 19 360 *~; +#X obj 36 164 pack f f; +#X obj 36 188 line~; +#X obj 162 124 unpack f f; +#X obj 162 152 t f f; +#X obj 227 152 t f f; +#X obj 269 242 sel 1; +#X obj 269 263 1; +#X obj 121 261 edge~; +#X obj 37 231 slide~; +#X obj 151 281 0; +#X text 21 417 (c) Tim Blechmann 2005 \, $Id: bpe_slide.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 269 298 pre_switch 10; +#X obj 269 383 switch~; +#X obj 269 318 t f f; +#X obj 299 339 sel 0; +#X obj 299 360 s \$1-done; +#X connect 0 0 5 0; +#X connect 1 0 6 0; +#X connect 4 0 7 0; +#X connect 4 1 7 1; +#X connect 4 2 12 0; +#X connect 5 0 4 0; +#X connect 5 1 9 0; +#X connect 6 0 2 0; +#X connect 7 0 8 0; +#X connect 8 0 15 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 15 1; +#X connect 11 0 15 2; +#X connect 12 0 13 0; +#X connect 13 0 18 0; +#X connect 14 1 16 0; +#X connect 15 0 6 1; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 18 0 20 0; +#X connect 20 0 19 0; +#X connect 20 1 21 0; +#X connect 21 0 22 0; diff --git a/abstractions/tbEnvify~/hanning.pd b/abstractions/tbEnvify~/hanning.pd new file mode 100644 index 0000000..d02d5e6 --- /dev/null +++ b/abstractions/tbEnvify~/hanning.pd @@ -0,0 +1,54 @@ +#N canvas 121 117 559 504 10; +#X obj 177 15 inlet control; +#X obj 177 40 t a b; +#X text 277 14 duration peak peak_time; +#X obj 177 65 unpack f f f; +#X obj 19 378 *~ 0; +#X obj 20 359 *~; +#X obj 365 268 1; +#X obj 323 226 delay; +#X obj 323 247 0; +#X obj 323 204 + 10; +#X obj 365 138 t b b; +#X obj 395 159 zl reg stop; +#X obj 323 290 pre_switch 10; +#X obj 56 335 +~ 1; +#X obj 216 361 * 0.5; +#X obj 177 92 t f f; +#X obj 55 288 cos~; +#X obj 56 312 *~ -1; +#X obj 19 11 inlet~; +#X obj 19 399 outlet~; +#X obj 55 268 _env_lookup~ 0.5; +#X text 21 433 (c) Tim Blechmann 2005 \, $Id: hanning.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 323 379 switch~; +#X obj 323 314 t f f; +#X obj 353 335 sel 0; +#X obj 353 356 s \$1-done; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 10 0; +#X connect 3 0 15 0; +#X connect 3 1 14 0; +#X connect 3 2 20 1; +#X connect 4 0 19 0; +#X connect 5 0 4 0; +#X connect 6 0 12 0; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 9 0 7 0; +#X connect 10 0 6 0; +#X connect 10 1 11 0; +#X connect 11 0 7 0; +#X connect 12 0 23 0; +#X connect 13 0 5 1; +#X connect 14 0 4 1; +#X connect 15 0 20 0; +#X connect 15 1 9 0; +#X connect 16 0 17 0; +#X connect 17 0 13 0; +#X connect 18 0 5 0; +#X connect 20 0 16 0; +#X connect 23 0 22 0; +#X connect 23 1 24 0; +#X connect 24 0 25 0; diff --git a/abstractions/tbEnvify~/sine.pd b/abstractions/tbEnvify~/sine.pd new file mode 100644 index 0000000..1c23e90 --- /dev/null +++ b/abstractions/tbEnvify~/sine.pd @@ -0,0 +1,48 @@ +#N canvas 0 0 555 438 10; +#X obj 177 15 inlet control; +#X obj 177 40 t a b; +#X text 277 14 duration peak peak_time; +#X obj 177 65 unpack f f f; +#X obj 55 288 sinx~; +#X obj 19 338 *~ 0; +#X obj 20 315 *~; +#X obj 365 268 1; +#X obj 323 226 delay; +#X obj 323 247 0; +#X obj 323 204 + 10; +#X obj 365 138 t b b; +#X obj 395 159 zl reg stop; +#X obj 323 290 pre_switch 10; +#X obj 55 268 _env_lookup~ 1.5708; +#X obj 177 92 t f f; +#X obj 19 11 inlet~; +#X obj 19 359 outlet~; +#X text 19 405 (c) Tim Blechmann 2005 \, $Id: sine.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 323 375 switch~; +#X obj 323 310 t f f; +#X obj 353 331 sel 0; +#X obj 353 352 s \$1-done; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 11 0; +#X connect 3 0 15 0; +#X connect 3 1 5 1; +#X connect 3 2 14 1; +#X connect 4 0 6 1; +#X connect 5 0 17 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 8 0; +#X connect 11 0 7 0; +#X connect 11 1 12 0; +#X connect 12 0 8 0; +#X connect 13 0 20 0; +#X connect 14 0 4 0; +#X connect 15 0 14 0; +#X connect 15 1 10 0; +#X connect 16 0 6 0; +#X connect 20 0 19 0; +#X connect 20 1 21 0; +#X connect 21 0 22 0; diff --git a/abstractions/tbEnvify~/triangle.pd b/abstractions/tbEnvify~/triangle.pd new file mode 100644 index 0000000..8b6b55c --- /dev/null +++ b/abstractions/tbEnvify~/triangle.pd @@ -0,0 +1,65 @@ +#N canvas 569 176 587 435 10; +#X obj 19 292 volctl~ 0 0; +#X obj 177 15 inlet control; +#X obj 413 369 switch~; +#X obj 177 40 t a b; +#X obj 455 258 1; +#X obj 413 226 delay; +#X obj 413 247 0; +#X obj 177 120 *; +#X obj 55 156 t b f; +#X obj 199 168 delay; +#X obj 177 139 t f f f; +#X obj 221 189 !-; +#X obj 177 92 t f f f; +#X obj 199 212 t b b; +#X obj 229 238 f; +#X obj 199 238 0; +#X text 277 14 duration peak peak_time; +#X obj 177 65 unpack f f f; +#X obj 55 176 f; +#X obj 413 204 + 10; +#X obj 455 138 t b b; +#X obj 485 159 zl reg stop; +#X obj 413 280 pre_switch 10; +#X obj 19 11 inlet~; +#X obj 19 313 outlet~; +#X obj 413 304 t f f; +#X obj 443 325 sel 0; +#X obj 443 346 s \$1-done; +#X text 23 391 (c) Tim Blechmann 2005 \, $Id: triangle.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 24 0; +#X connect 1 0 3 0; +#X connect 3 0 17 0; +#X connect 3 1 20 0; +#X connect 4 0 22 0; +#X connect 5 0 6 0; +#X connect 6 0 22 0; +#X connect 7 0 10 0; +#X connect 8 0 18 0; +#X connect 8 1 0 2; +#X connect 9 0 13 0; +#X connect 10 0 8 0; +#X connect 10 1 9 0; +#X connect 10 2 11 0; +#X connect 11 0 14 1; +#X connect 12 0 7 0; +#X connect 12 1 11 1; +#X connect 12 2 19 0; +#X connect 13 0 15 0; +#X connect 13 1 14 0; +#X connect 14 0 0 2; +#X connect 15 0 0 1; +#X connect 17 0 12 0; +#X connect 17 1 18 1; +#X connect 17 2 7 1; +#X connect 18 0 0 1; +#X connect 19 0 5 0; +#X connect 20 0 4 0; +#X connect 20 1 21 0; +#X connect 21 0 5 0; +#X connect 22 0 25 0; +#X connect 23 0 0 0; +#X connect 25 0 2 0; +#X connect 25 1 26 0; +#X connect 26 0 27 0; diff --git a/abstractions/volctl~.pd b/abstractions/volctl~.pd new file mode 100644 index 0000000..b4122fb --- /dev/null +++ b/abstractions/volctl~.pd @@ -0,0 +1,22 @@ +#N canvas 428 171 462 309 10; +#X obj 28 13 inlet~; +#X obj 28 219 outlet~; +#X obj 28 179 *~; +#X obj 44 160 line~; +#X obj 44 139 pack \$1 \$2; +#X obj 109 115 inlet ramp_time; +#X obj 44 53 loadbang; +#X text 143 42 \$1: initial gain; +#X text 143 62 \$2: initial ramp time; +#X text 27 245 for all the people \, who are afraid to use devel or +my volctl~ external; +#X obj 44 75 inlet factor; +#X text 27 275 (c) Tim Blechmann 2005 \, $Id: volctl~.pd 219 2005-12-17 +18:21:06Z tim $; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 10 0 4 0; diff --git a/abstractions/xfade-help.pd b/abstractions/xfade-help.pd new file mode 100644 index 0000000..a0bd368 --- /dev/null +++ b/abstractions/xfade-help.pd @@ -0,0 +1,68 @@ +#N canvas 151 330 809 334 10; +#X obj 62 74 xfade 0 100; +#X obj 98 102 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 134 104 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#N canvas 0 0 450 300 sig1 0; +#X obj 38 99 osc~ 440; +#X obj 38 123 outlet~; +#X obj 162 119 switch~; +#X obj 162 99 inlet switch~; +#X connect 0 0 1 0; +#X connect 3 0 2 0; +#X restore 62 18 pd sig1; +#N canvas 0 0 450 300 sig2 0; +#X obj 38 123 outlet~; +#X obj 162 119 switch~; +#X obj 162 99 inlet switch~; +#X obj 38 99 osc~ 220; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X restore 98 48 pd sig2; +#X obj 62 144 dacer~; +#X floatatom 150 76 5 0 0 0 - - -; +#X text 69 212 (c) Tim Blechmann 2005 \, $Id: xfade-help.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 348 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 375 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#N canvas 0 0 450 300 sig1 0; +#X obj 38 99 osc~ 440; +#X obj 38 123 outlet~; +#X obj 162 119 switch~; +#X obj 162 99 inlet switch~; +#X connect 0 0 1 0; +#X connect 3 0 2 0; +#X restore 296 34 pd sig1; +#N canvas 0 0 450 300 sig2 0; +#X obj 38 123 outlet~; +#X obj 162 119 switch~; +#X obj 162 99 inlet switch~; +#X obj 38 99 osc~ 220; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X restore 334 58 pd sig2; +#X obj 296 160 dacer~; +#X floatatom 408 90 5 0 0 0 - - -; +#X obj 296 90 xfadeS 0 100; +#X connect 0 0 5 0; +#X connect 0 0 5 1; +#X connect 0 1 1 0; +#X connect 0 2 2 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 6 0 0 2; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 14 0; +#X connect 10 0 14 1; +#X connect 11 0 14 2; +#X connect 11 0 14 3; +#X connect 13 0 14 4; +#X connect 14 0 12 0; +#X connect 14 1 12 1; +#X connect 14 2 8 0; +#X connect 14 3 9 0; diff --git a/abstractions/xfade.pd b/abstractions/xfade.pd new file mode 100644 index 0000000..a1fb280 --- /dev/null +++ b/abstractions/xfade.pd @@ -0,0 +1,68 @@ +#N canvas 399 50 792 461 10; +#X obj 35 24 inlet~; +#X obj 187 24 inlet~; +#X obj 35 366 outlet~; +#X text 456 26 0 bis 100; +#X text 36 4 0; +#X text 169 5 100; +#X obj 380 25 inlet fade; +#X obj 380 180 t f f; +#X obj 380 160 * 0.01; +#X obj 380 204 !- 1; +#X obj 380 48 clip 0 100; +#X obj 410 223 sqrt; +#X obj 380 244 sqrt; +#N canvas 5 26 523 273 init 0; +#X obj 9 21 init \$1; +#X obj 187 20 init \$2; +#X obj 187 83 10; +#X obj 187 63 b; +#X obj 187 40 moses 0; +#X obj 231 63 sel 0; +#X obj 9 43 outlet initial_state; +#X obj 187 112 outlet fade_time; +#X connect 0 0 6 0; +#X connect 1 0 4 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 4 1 5 0; +#X connect 5 0 2 0; +#X connect 5 1 7 0; +#X restore 241 73 pd init; +#X text 521 82 \$1: initial value; +#X obj 380 328 != 0; +#X obj 380 366 outlet switch~_1; +#X obj 500 328 != 0; +#X obj 500 366 outlet switch~_2; +#X obj 380 347 pre_switch 20; +#X obj 187 342 volctl~ 0 \$2; +#X obj 35 342 volctl~ 1 \$2; +#X text 521 102 \$2: interpolation time; +#X obj 586 273 + 10; +#X text 36 426 (c) Tim Blechmann 2005 \, $Id: xfade.pd 221 2005-12-17 18:31:17Z tim $; +#X obj 500 347 pre_switch 20; +#X connect 0 0 21 0; +#X connect 1 0 20 0; +#X connect 6 0 10 0; +#X connect 7 0 9 0; +#X connect 7 1 11 0; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 10 0 8 0; +#X connect 11 0 17 0; +#X connect 11 0 20 1; +#X connect 12 0 15 0; +#X connect 12 0 21 1; +#X connect 13 0 8 0; +#X connect 13 1 21 2; +#X connect 13 1 20 2; +#X connect 13 1 23 0; +#X connect 15 0 19 0; +#X connect 17 0 25 0; +#X connect 19 0 16 0; +#X connect 20 0 2 0; +#X connect 21 0 2 0; +#X connect 23 0 19 1; +#X connect 23 0 25 1; +#X connect 25 0 18 0; diff --git a/abstractions/xfadeS.pd b/abstractions/xfadeS.pd new file mode 100644 index 0000000..ac26b5f --- /dev/null +++ b/abstractions/xfadeS.pd @@ -0,0 +1,83 @@ +#N canvas 0 0 949 473 10; +#X obj 45 24 inlet~; +#X obj 357 24 inlet~; +#X obj 45 416 outlet~; +#X text 626 26 0 bis 100; +#X text 46 4 0; +#X text 358 6 100; +#X obj 550 25 inlet fade; +#X obj 550 180 t f f; +#X obj 550 160 * 0.01; +#X obj 550 204 !- 1; +#X obj 550 48 clip 0 100; +#X obj 580 223 sqrt; +#X obj 550 244 sqrt; +#N canvas 5 26 523 273 init 0; +#X obj 9 21 init \$1; +#X obj 187 20 init \$2; +#X obj 187 83 10; +#X obj 187 63 b; +#X obj 187 40 moses 0; +#X obj 231 63 sel 0; +#X obj 9 43 outlet initial_state; +#X obj 187 112 outlet fade_time; +#X connect 0 0 6 0; +#X connect 1 0 4 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 4 1 5 0; +#X connect 5 0 2 0; +#X connect 5 1 7 0; +#X restore 409 69 pd init; +#X text 691 82 \$1: initial value; +#X obj 550 328 != 0; +#X obj 550 366 outlet switch~_1; +#X obj 670 328 != 0; +#X obj 670 366 outlet switch~_2; +#X obj 670 347 pre_switch 20; +#X obj 550 347 pre_switch 20; +#X obj 357 342 volctl~ 0 \$2; +#X obj 45 342 volctl~ 1 \$2; +#X text 691 102 \$2: interpolation time; +#X obj 135 24 inlet~; +#X obj 135 416 outlet~; +#X text 136 4 0; +#X obj 135 342 volctl~ 1 \$2; +#X obj 237 24 inlet~; +#X obj 237 342 volctl~ 0 \$2; +#X text 238 6 100; +#X obj 756 283 + 10; +#X text 45 447 (c) Tim Blechmann 2005 \, $Id: xfadeS.pd 221 2005-12-17 18:31:17Z tim $; +#X connect 0 0 22 0; +#X connect 1 0 21 0; +#X connect 6 0 10 0; +#X connect 7 0 9 0; +#X connect 7 1 11 0; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 10 0 8 0; +#X connect 11 0 17 0; +#X connect 11 0 21 1; +#X connect 11 0 29 1; +#X connect 12 0 15 0; +#X connect 12 0 22 1; +#X connect 12 0 27 1; +#X connect 13 0 8 0; +#X connect 13 1 22 2; +#X connect 13 1 21 2; +#X connect 13 1 27 2; +#X connect 13 1 29 2; +#X connect 13 1 31 1; +#X connect 15 0 20 0; +#X connect 17 0 19 0; +#X connect 19 0 18 0; +#X connect 20 0 16 0; +#X connect 21 0 25 0; +#X connect 22 0 2 0; +#X connect 24 0 27 0; +#X connect 27 0 25 0; +#X connect 28 0 29 0; +#X connect 29 0 2 0; +#X connect 31 0 20 1; +#X connect 31 0 19 1; |