purepd-0.1.1/0000755000076500007650000000000011500454163011465 5ustar hanshanspurepd-0.1.1/^-help.pd0000644000076500007650000000053011466376216013170 0ustar hanshans#N canvas 257 232 450 300 10; #X obj 140 147 ^; #X floatatom 140 179 5 0 0 0 - - -; #X msg 155 118 3; #X msg 120 118 2; #X text 37 48 ^ is the symbol in the C programming language for bitwise XOR (exclusive OR). It is also often used for "to the power of" \, but not in this object.; #X connect 0 0 1 0; #X connect 2 0 0 1; #X connect 3 0 0 0; purepd-0.1.1/^.pd0000644000076500007650000000130711466376216012245 0ustar hanshans#N canvas 62 354 450 300 10; #X obj 131 74 f; #X obj 79 74 f; #X obj 102 46 t b b; #X obj 127 100 t f f; #X obj 74 98 t f f; #X obj 133 190 &; #X obj 74 188 &; #X obj 102 225 |; #X obj 122 132 * -1; #X obj 86 132 * -1; #X obj 122 154 - 1; #X obj 86 156 - 1; #X obj 146 15 inlet; #X obj 87 16 inlet; #X obj 101 261 outlet; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 2 0 1 0; #X connect 2 1 0 0; #X connect 3 0 9 0; #X connect 3 1 5 1; #X connect 4 0 6 0; #X connect 4 1 8 0; #X connect 5 0 7 1; #X connect 6 0 7 0; #X connect 7 0 14 0; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 10 0 5 0; #X connect 11 0 6 1; #X connect 12 0 0 1; #X connect 12 0 2 0; #X connect 13 0 1 1; #X connect 13 0 2 0; purepd-0.1.1/alternate-help.pd0000644000076500007650000000550311357701515014730 0ustar hanshans#N canvas 47 22 568 493 10; #X obj 4 439 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; #X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header alternate 3 12 0 18 -204280 -1 0; #X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlet 15 12 0 13 -228856 -1 0; #N canvas 779 22 498 348 META 0; #X text 12 65 TEMPLATE template-help.pd v0.1; #X text 12 85 PLATFORM windows macosx gnulinux; #X text 12 25 KEYWORDS control alternate; #X text 12 45 LICENSE GPLv2 or later; #X text 12 105 DATATYPE any message; #X text 12 125 LIBRARY markex; #X restore 504 441 pd META; #X obj 3 299 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 15 12 0 13 -228856 -1 0; #X obj 3 389 cnv 3 550 3 empty \$0-pddp.cnv.argument argument 15 12 0 13 -228856 -1 0; #N canvas 309 454 609 478 guts 0; #X obj 117 95 textfile; #X msg 116 24 symbol template-HCS.pd; #X msg 116 54 read \$1 \, rewind \, bang; #X obj 117 141 trigger bang anything; #X obj 58 117 bang; #X obj 240 162 route #X; #X obj 240 183 route text; #X obj 240 250 route DESCRIPTION; #X obj 239 276 print; #X obj 140 277 print TEXT; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 7 0 8 0; #X restore 453 441 pd guts; #X obj 488 -14 alternate; #X obj 437 5 pddp/pddplink http://pdpedia.org/en/markex/alternate -text pdpedia: alternate; #X text 15 6 description: alternates messages between its two outlets ; #X obj 74 351 cnv 17 3 25 empty \$0-pddp.cnv.let.0 1 5 9 0 16 -228856 -162280 0; #X obj 74 321 cnv 17 3 25 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 -162280 0; #X obj 315 152 cnv 10 57 16 empty \$0-pddp.cnv.highlight empty 20 12 0 14 -262126 -66577 0; #X obj 63 115 cnv 10 57 16 empty \$0-pddp.cnv.highlight empty 20 12 0 14 -262126 -66577 0; #X msg 309 56 1; #X obj 315 152 alternate; #X msg 262 55 bang; #X msg 349 123 reset; #X msg 342 56 symbol blah; #X obj 366 174 pddp/print; #X obj 315 201 pddp/print; #X obj 63 115 alternate; #X obj 63 143 bng 25 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 114 143 bng 25 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 63 80 bng 25 250 50 0 empty empty empty 0 -6 0 10 -204786 -1 -1; #X msg 352 83 1 2 3 4; #X text 105 257 any message can be send to [alternate] \, it will just pass it through to the outlets; #X text 102 407 [alternate] ignores all arguments; #X text 105 317 first message that was received on the inlet \, and all following messages that are numbered odd in the sequence; #X text 105 348 second message that was received on the inlet \, and all following messages that are numbered even in the sequence; #X connect 14 0 15 0; #X connect 15 0 20 0; #X connect 15 1 19 0; #X connect 16 0 15 0; #X connect 17 0 15 0; #X connect 18 0 15 0; #X connect 21 0 22 0; #X connect 21 1 23 0; #X connect 24 0 21 0; #X connect 25 0 15 0; purepd-0.1.1/alternate.pd0000644000076500007650000000143510755131316013777 0ustar hanshans#N canvas 317 502 458 438 10; #X obj 86 10 inlet; #X obj 158 244 outlet; #X obj 285 244 outlet; #X obj 158 217 spigot; #X obj 285 217 spigot; #X obj 158 57 trigger anything bang; #X obj 86 34 route reset; #X msg 86 75 0; #X obj 86 54 bang; #X obj 300 108 i; #X obj 300 130 == 0; #X obj 300 150 t f f f; #X text 40 295 (c) 2006 IOhannes m zmoelnig \, licensed under GnuGPL v2.0; #X text 44 318 original abstraction (c) 2005 Hans Christoph Steiner ; #X obj 322 181 == 0; #X connect 0 0 6 0; #X connect 3 0 1 0; #X connect 4 0 2 0; #X connect 5 0 3 0; #X connect 5 0 4 0; #X connect 5 1 9 0; #X connect 6 0 8 0; #X connect 6 1 5 0; #X connect 7 0 9 1; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 11 0 3 1; #X connect 11 1 14 0; #X connect 11 2 9 1; #X connect 14 0 4 1; purepd-0.1.1/any_argument-help.pd0000644000076500007650000000362611051150160015427 0ustar hanshans#N canvas 373 226 558 485 10; #X msg 195 93 bang; #X msg 49 93 bang; #X msg 51 209 bang; #X obj 50 266 print blank; #X msg 46 345 bang; #X msg 241 346 bang; #X obj 49 119 any_argument word; #X obj 51 241 any_argument; #X obj 195 119 any_argument 5; #X obj 46 381 any_argument \$1 default; #X obj 241 382 any_argument \$1 256; #X msg 204 207 bang; #X obj 203 264 print blank; #X obj 204 239 any_argument \$1; #X text 15 12 [any_argument]; #X obj 32 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 185 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 194 145 5 0 0 1 float - -; #X symbolatom 48 146 6 0 0 1 symbol - -; #X text 26 37 This object can take any kind of argument and outputs either a symbol or a float \, depending on whether the argument is numeric or not.; #X text 32 295 If you set a second argument \, it will be used as the default when the argument is blank. An argument of 0 is also ignored. ; #X floatatom 241 412 5 0 0 0 - - -; #X msg 386 346 bang; #X floatatom 386 412 5 0 0 0 - - -; #X obj 386 382 any_argument 0 256; #X symbolatom 46 408 10 0 0 0 - - -; #X msg 322 92 bang; #X obj 322 118 any_argument 255.255.255.255; #X symbolatom 322 144 15 0 0 1 symbol - -; #X msg 362 207 bang; #X obj 361 264 print blank; #X obj 343 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 362 239 any_argument 0; #X text 24 173 If the first argument is blank or 0 \, there is no output (Pd initializes all variables to 0):; #X connect 0 0 8 0; #X connect 1 0 6 0; #X connect 2 0 7 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 6 0 18 0; #X connect 7 0 3 0; #X connect 7 0 15 0; #X connect 8 0 17 0; #X connect 9 0 25 0; #X connect 10 0 21 0; #X connect 11 0 13 0; #X connect 13 0 12 0; #X connect 13 0 16 0; #X connect 22 0 24 0; #X connect 24 0 23 0; #X connect 26 0 27 0; #X connect 27 0 28 0; #X connect 29 0 32 0; #X connect 32 0 30 0; #X connect 32 0 31 0; purepd-0.1.1/any_argument.pd0000644000076500007650000000126011170651723014506 0ustar hanshans#N canvas 160 301 547 413 10; #X obj 323 285 outlet; #X text 18 316 If the argument is not equal to 0 \, use it. Pd init arguments to 0 so unused arguments will be 0; #X obj 73 166 select 0; #X text 17 353 This is useful to have internals inited \, but not reset if there is no argument specified.; #X obj 73 240 select 0; #X text 183 225 if 2nd arg \, then use as default value; #X obj 73 13 inlet; #X obj 73 146 list append \$1; #X obj 73 219 list append \$2; #X obj 74 73 route bang; #X obj 73 48 list; #X connect 2 0 8 0; #X connect 2 1 0 0; #X connect 4 1 0 0; #X connect 6 0 10 0; #X connect 7 0 2 0; #X connect 8 0 4 0; #X connect 9 0 7 0; #X connect 9 1 0 0; #X connect 10 0 9 0; purepd-0.1.1/clip-help.pd0000644000076500007650000000753411357702406013706 0ustar hanshans#N canvas 3 22 569 590 10; #X obj 114 540 pddp/pddplink http://puredata.info/dev/pddp -text pddp; #X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 38 36 INLETS:; #X text 38 51 - LEFT:; #X text 32 230 - RIGHT:; #X text 29 346 OUTLETS:; #X text 13 281 ARGUMENTS:; #X text 20 392 EXAMPLES:; #X text 20 488 SEE ALSO:; #N canvas 58 22 423 272 Related_Objects 0; #X text 25 11 Native Pd Objects; #X text 23 92 Externals and other object libraries; #X obj 45 54 int; #X obj 85 53 f; #X obj 123 53 min; #X obj 166 53 max; #X obj 206 53 clip~; #X obj 260 53 min~; #X obj 308 53 max~; #X text 44 125 - none that I am aware of; #X restore 114 488 pd Related_Objects; #N canvas 57 22 651 632 More_Info 0; #X text 40 187 LOW AND HIGH VALUES; #X text 304 34 Consider the following:; #X floatatom 101 66 5 0 0 0 - - -; #X floatatom 83 147 5 0 0 0 - - -; #X obj 83 121 min 50; #X obj 83 95 max -50; #X text 170 106 same as; #X obj 271 104 clip -50 50; #X floatatom 271 133 5 0 0 0 - - -; #X text 43 18 [clip] is a tool which combines the functionality of [min] and [max] into a single object.; #X text 56 208 [clip] always assumes that the first argument (second inlet) is the low extreme of the range and the second argument (third inlet) is the high extreme. However \, strange behaviour should be expected if you mix these arguments up.; #X obj 64 331 clip -50 50; #X obj 190 325 clip 72 -104; #X floatatom 64 298 5 0 0 0 - - -; #X floatatom 64 360 5 0 0 0 - - -; #X floatatom 190 357 5 0 0 0 - - -; #X text 195 284 Numbers below 72 are clipped to 72; #X text 195 304 Numbers above -104 are clipped to -104; #X text 72 405 This could be used effectively to toggle between two numbers.; #X floatatom 401 383 5 0 0 0 - - -; #X obj 370 360 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 402 352 clip 1 -1024; #X connect 2 0 5 0; #X connect 2 0 7 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 7 0 8 0; #X connect 11 0 14 0; #X connect 12 0 15 0; #X connect 13 0 11 0; #X connect 13 0 12 0; #X connect 20 0 21 0; #X connect 21 0 19 0; #X restore 114 514 pd More_Info; #X obj 57 11 clip; #X text 105 51 Float - A float at the left inlet will be clipped to the low and high values stored in the object.; #X text 105 82 List - A list at the left inlet will be truncated to include only the first three elements. The first element in the list is the number which will be clipped. The second element will update the value stored at the second inlet. The third element will update the value stored at the third inlet.; #X text 25 180 - CENTER:; #X text 105 180 Float - A float at the second inlet is stored for later use. It will be used as either the low or high value at which to clip incoming floats at that left inlet.; #X text 105 231 Float - A float at the third inlet is stored for later use. It will be used as either the low or high value at which to clip incoming floats at that left inlet.; #X text 104 281 Two - [float] accepts two floats as creation arguments which initializes the first values to be stored in the object and duplicate the functions of the second and third inlet.; #X text 108 12 - FORCE A NUMBER INTO A RANGE; #X obj 122 428 clip -50 50; #X floatatom 122 455 5 0 0 0 - - -; #X floatatom 122 404 5 0 0 0 - - -; #X text 181 405 creation arguments; #X obj 411 466 clip; #X floatatom 410 437 5 0 0 0 - - -; #X floatatom 460 437 5 0 0 0 - - -; #X floatatom 510 437 5 0 0 0 - - -; #X floatatom 411 492 5 0 0 0 - - -; #X text 464 468 no arguments; #X text 450 405 list; #X text 158 541 - Dave Sabine \, April 25 \, 2003; #X msg 373 405 42 100 500; #X text 344 565 updated for Pd version 0.38-2; #X text 102 346 One - outputs a float which is limited to a range within the high and low values of the second and third inlet.; #X connect 19 0 20 0; #X connect 21 0 19 0; #X connect 23 0 27 0; #X connect 24 0 23 0; #X connect 25 0 23 1; #X connect 26 0 23 2; #X connect 31 0 23 0; purepd-0.1.1/clip.pd0000644000076500007650000000045411253747754012764 0ustar hanshans#N canvas 671 295 508 363 10; #X obj 24 13 inlet; #X obj 204 10 inlet; #X obj 358 14 inlet; #X text 177 10 min; #X text 329 13 max; #X obj 24 306 outlet; #X obj 24 226 max \$1; #X obj 24 257 min \$2; #X connect 0 0 6 0; #X connect 1 0 6 1; #X connect 2 0 7 1; #X connect 6 0 7 0; #X connect 7 0 5 0; purepd-0.1.1/cosh-help.pd0000644000076500007650000000122111357702467013705 0ustar hanshans#N canvas 217 155 421 323 10; #X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; #X text 21 278 docs based on the MAX/MSP reference (c) cycling'74 ; #X text 20 292 ___________________________________________________ ; #X floatatom 46 216 8 0 0 0 - - -; #X msg 46 83 bang; #X obj 67 152 / 100; #X floatatom 67 132 5 0 0 0 - - -; #X text 123 185 arg sets initial value; #X obj 42 22 cosh 0.2; #X text 108 24 calculate hyperbolic cosine function; #X obj 46 183 cosh 0.2; #X text 95 82 output cosh of current val; #X text 121 130 calculate and output cosh; #X connect 4 0 10 0; #X connect 5 0 10 0; #X connect 6 0 5 0; #X connect 10 0 3 0; purepd-0.1.1/cosh.pd0000644000076500007650000000074511112051614012745 0ustar hanshans#N canvas 208 87 450 300 10; #X obj 88 37 inlet; #X obj 88 87 t a a; #X obj 88 223 outlet; #X obj 120 116 * -1; #X obj 120 136 exp; #X obj 88 136 exp; #X obj 88 199 * 0.5; #X text 323 133 2; #X obj 88 174 +; #X text 272 105 exp(x) + exp(-x); #X text 223 117 cosh = ----------------; #X obj 88 64 f \$1; #X connect 0 0 11 0; #X connect 1 0 5 0; #X connect 1 1 3 0; #X connect 3 0 4 0; #X connect 4 0 8 1; #X connect 5 0 8 0; #X connect 6 0 2 0; #X connect 8 0 6 0; #X connect 11 0 1 0; purepd-0.1.1/delta-help.pd0000644000076500007650000000110111357701734014033 0ustar hanshans#N canvas 328 264 466 318 12; #X floatatom 54 217 5 0 0; #X floatatom 54 108 5 0 0; #X msg 23 83 bang; #X text 69 82 calculate and output result now; #X obj 54 172 delta; #X obj 54 133 * 3; #X floatatom 127 218 5 0 0; #X floatatom 127 109 5 0 0; #X obj 127 134 * 3; #X obj 127 173 delta 2; #X text 53 259 use creation arguments to set order (1st or 2nd); #X text 39 20 delta :: calculate 1st or 2nd order difference; #X connect 1 0 5 0; #X connect 2 0 4 0; #X connect 4 0 0 0; #X connect 5 0 4 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 6 0; purepd-0.1.1/delta.pd0000644000076500007650000000177010755131316013113 0ustar hanshans#N canvas 634 304 437 438 10; #X obj 114 136 f; #X obj 114 114 f; #X obj 85 71 t f b; #X obj 84 136 f; #X obj 97 166 -; #X obj 84 45 inlet; #X obj 135 381 outlet; #X obj 183 111 f \$1; #X obj 183 85 loadbang; #X obj 183 130 sel 2; #X text 228 117 go into 2nd order mode; #X obj 203 303 f; #X obj 203 281 f; #X obj 174 238 t f b; #X obj 173 303 f; #X obj 186 333 -; #X obj 97 212 spigot 1; #X obj 174 212 spigot 0; #X msg 147 183 0; #X msg 224 182 1; #X text 19 10 replacement for maxlib's [delta] written in Pd; #X connect 0 0 4 1; #X connect 1 0 0 0; #X connect 2 0 1 1; #X connect 2 0 3 0; #X connect 2 1 1 0; #X connect 3 0 4 0; #X connect 4 0 16 0; #X connect 4 0 17 0; #X connect 5 0 2 0; #X connect 7 0 9 0; #X connect 8 0 7 0; #X connect 9 0 19 0; #X connect 9 0 18 0; #X connect 11 0 15 1; #X connect 12 0 11 0; #X connect 13 0 12 1; #X connect 13 0 14 0; #X connect 13 1 12 0; #X connect 14 0 15 0; #X connect 15 0 6 0; #X connect 16 0 6 0; #X connect 17 0 13 0; #X connect 18 0 16 1; #X connect 19 0 17 1; purepd-0.1.1/delta~-help.pd0000644000076500007650000000117511051150157014230 0ustar hanshans#N canvas 611 272 450 300 10; #X text 88 22 sample difference; #X obj 67 202 env~; #X floatatom 67 230 5 0 0 0 - - -; #X floatatom 67 124 5 0 0 0 - - -; #X obj 67 147 osc~ 0.11; #X text 34 62 outputs the difference between current input and the ; #X text 35 73 previous sample \, i.e. (3 \, 1 \, 0 -> 3 \, 2 \, -1): ; #X text 35 300 cyclone is (c) Miller Puckette and others; #X text 34 316 docs based on the MAX/MSP reference (c) cycling'74; #X text 33 330 ___________________________________________________ ; #X obj 20 21 delta~; #X obj 68 175 delta~; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 4 0 11 0; #X connect 11 0 1 0; purepd-0.1.1/delta~.pd0000644000076500007650000000021210755131316013277 0ustar hanshans#N canvas 0 0 450 300 10; #X obj 138 152 rzero~ 1; #X obj 137 128 inlet~; #X obj 137 183 outlet~; #X connect 0 0 2 0; #X connect 1 0 0 0; purepd-0.1.1/fifo-help.pd0000644000076500007650000000127511500452500013661 0ustar hanshans#N canvas 285 373 458 308 10; #X msg 29 108 bang; #X obj 81 261 print; #X msg 106 166 1; #X msg 166 166 3; #X msg 136 166 two; #X msg 284 166 5; #X msg 314 166 six; #X text 26 25 A First-In-First-Out ringbuffer for floats and symbols. The argument and cold inlet specify out many elements to store in the fifo.; #X text 65 108 bang to output oldest element; #X text 64 142 floats \, symbols \, and symbolic atoms are stored; #X msg 196 166 symbol four; #X obj 135 261 pddp/print; #X obj 115 207 purepd/fifo 5; #X connect 0 0 12 0; #X connect 2 0 12 0; #X connect 3 0 12 0; #X connect 4 0 12 0; #X connect 5 0 12 0; #X connect 6 0 12 0; #X connect 10 0 12 0; #X connect 12 0 1 0; #X connect 12 0 11 0; purepd-0.1.1/fifo.pd0000644000076500007650000000160511500452570012737 0ustar hanshans#N canvas 467 131 544 480 10; #X obj 32 29 inlet; #X obj 253 30 inlet; #X obj 285 52 loadbang; #X obj 97 183 list append; #X obj 97 204 list split; #X obj 32 71 route bang; #X obj 33 150 list; #X obj 33 238 trigger anything anything; #X obj 202 288 list length; #X obj 202 309 - 1; #X obj 33 334 list split; #X obj 253 82 float_argument \$1 1; #X obj 64 370 route bang; #X text 158 371 filter out the blank lists/bangs; #X obj 130 428 outlet; #X obj 56 129 list; #X obj 202 268 list; #X connect 0 0 5 0; #X connect 1 0 11 0; #X connect 2 0 11 0; #X connect 3 0 4 0; #X connect 4 0 15 0; #X connect 4 2 15 0; #X connect 5 0 6 0; #X connect 5 1 3 0; #X connect 6 0 7 0; #X connect 7 0 10 0; #X connect 7 1 16 0; #X connect 8 0 9 0; #X connect 9 0 10 1; #X connect 10 0 15 0; #X connect 10 1 12 0; #X connect 11 0 4 1; #X connect 12 1 14 0; #X connect 15 0 6 1; #X connect 15 0 3 1; #X connect 16 0 8 0; purepd-0.1.1/float_argument-help.pd0000644000076500007650000000312111051150160015733 0ustar hanshans#N canvas 187 55 517 466 10; #X msg 49 73 bang; #X msg 51 189 bang; #X obj 50 246 print blank; #X msg 36 326 bang; #X msg 241 326 bang; #X msg 204 187 bang; #X obj 203 244 print blank; #X obj 32 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 185 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 48 126 6 0 0 1 float - -; #X floatatom 36 389 10 0 0 0 - - -; #X msg 202 72 bang; #X floatatom 202 124 15 0 0 1 float - -; #X msg 362 187 bang; #X obj 361 244 print blank; #X obj 343 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 24 153 If the first argument is blank or 0 \, there is no output (Pd initializes all variables to 0):; #X floatatom 241 391 10 0 0 0 - - -; #X text 32 275 If you set a second argument \, it will be used as the default when the first argument is blank. Also if the first argument is numeric \, the default will be used.; #X obj 51 221 float_argument; #X obj 362 219 float_argument 0; #X obj 204 219 float_argument \$1; #X text 25 21 This object can takes a numeric atom as an argument and outputs a float message.; #X obj 202 98 float_argument 255; #X obj 49 99 float_argument -1.34; #X obj 36 362 float_argument \$1 10; #X obj 242 362 float_argument 44 10; #X connect 0 0 24 0; #X connect 1 0 19 0; #X connect 3 0 25 0; #X connect 4 0 26 0; #X connect 5 0 21 0; #X connect 11 0 23 0; #X connect 13 0 20 0; #X connect 19 0 2 0; #X connect 19 0 7 0; #X connect 20 0 14 0; #X connect 20 0 15 0; #X connect 21 0 6 0; #X connect 21 0 8 0; #X connect 23 0 12 0; #X connect 24 0 9 0; #X connect 25 0 10 0; #X connect 26 0 17 0; purepd-0.1.1/float_argument.pd0000644000076500007650000000145511500453225015024 0ustar hanshans#N canvas 554 317 506 356 10; #X obj 214 233 outlet; #X text 40 248 If the argument is not equal to 0 \, use it. Pd init arguments to 0 so unused arguments will be 0; #X obj 63 116 select 0; #X text 39 285 This is useful to have internals inited \, but not reset if there is no argument specified.; #X obj 63 190 select 0; #X obj 63 169 float \$2; #X obj 63 96 float \$1; #X text 211 191 if 2nd arg \, then use as default value; #X obj 63 14 inlet; #X obj 211 138 purepd_error float_argument; #X obj 211 92 bang; #X obj 64 49 route bang float; #X msg 211 114 wrong data type on inlet; #X connect 2 0 5 0; #X connect 2 1 0 0; #X connect 4 1 0 0; #X connect 5 0 4 0; #X connect 6 0 2 0; #X connect 8 0 11 0; #X connect 10 0 12 0; #X connect 11 0 6 0; #X connect 11 1 0 0; #X connect 11 2 10 0; #X connect 12 0 9 0; purepd-0.1.1/for++-help.pd0000644000076500007650000000413011051150160013641 0ustar hanshans#N canvas 359 334 702 405 10; #X text 9 235 (c) musil@iem.kug.ac.at; #X text 51 248 IEM KUG; #X text 26 260 graz \, austria 2001; #X obj 25 52 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X obj 64 186 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X floatatom 64 61 4 0 0 0 - - -; #X floatatom 121 88 4 0 0 0 - - -; #X floatatom 64 163 4 0 0 0 - - -; #X floatatom 178 110 4 0 0 0 - - -; #X text 7 8 for++; #X obj 111 166 print; #X msg 25 71 start; #X msg 25 91 stop; #X text 63 47 first number; #X text 121 72 last number; #X obj 237 213 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X floatatom 237 190 4 0 0 0 - - -; #X obj 280 186 print; #X obj 237 143 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X text 235 44 2.arg: last number; #X text 235 32 1.arg: first number; #X obj 165 166 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X obj 337 193 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X text 67 9 counter in time-intervals; #X text 163 181 finished; #X text 336 208 finished; #X obj 237 264 print finished; #X obj 509 141 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X obj 629 184 bng 15 250 50 0 empty empty empty 8 -8 0 10 -262144 -1 -1; #X text 628 199 finished; #X obj 509 208 timer; #X obj 509 183 sel 0 1000; #X floatatom 509 231 5 0 0 1 1234? - -; #X text 235 56 3.arg: increment-delay in ms; #X text 172 92 increment-delay in ms; #X text 40 19 increment-step-size is allways 1 or -1; #X obj 64 132 for++ 10 20 200; #X obj 237 161 for++ 50 40 100; #X obj 509 160 for++ 0 1000 1.234; #X connect 3 0 36 0; #X connect 5 0 36 0; #X connect 6 0 36 1; #X connect 7 0 4 0; #X connect 8 0 36 2; #X connect 11 0 36 0; #X connect 12 0 36 0; #X connect 16 0 15 0; #X connect 18 0 37 0; #X connect 21 0 26 0; #X connect 22 0 26 0; #X connect 27 0 38 0; #X connect 30 0 32 0; #X connect 31 0 30 0; #X connect 31 1 30 1; #X connect 36 0 7 0; #X connect 36 0 10 0; #X connect 36 1 21 0; #X connect 37 0 16 0; #X connect 37 0 17 0; #X connect 37 1 22 0; #X connect 38 0 31 0; #X connect 38 1 28 0; purepd-0.1.1/for++.pd0000644000076500007650000000267010755131316012736 0ustar hanshans#N canvas 280 169 721 581 10; #X obj 28 35 inlet; #X obj 390 35 inlet; #X obj 505 39 inlet; #X obj 243 322 + 1; #X obj 28 61 route bang start stop; #X obj 28 205 float \$1; #X obj 304 137 int \$1; #X obj 390 140 int \$2; #X obj 162 334 select \$2; #X obj 58 436 outlet; #X msg 243 258 clear; #X obj 162 357 t b b; #X obj 192 397 outlet; #X obj 304 36 loadbang; #X obj 243 294 pipe \$3; #X obj 304 64 t b b; #X obj 28 235 t a a; #X text 247 401 finished; #X text 108 436 output; #N canvas 0 0 450 300 up-or-down 0; #X obj 127 96 t b a; #X msg 127 176 -1; #X obj 127 128 <; #X obj 127 151 select 0; #X obj 127 57 inlet; #X obj 79 56 inlet; #X obj 127 218 outlet; #X connect 0 0 2 0; #X connect 0 1 2 1; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 3 1 6 0; #X connect 4 0 0 0; #X connect 5 0 2 0; #X restore 304 165 pd up-or-down; #X obj 28 89 t b b b; #X connect 0 0 4 0; #X connect 1 0 7 0; #X connect 2 0 14 1; #X connect 3 0 5 0; #X connect 4 0 20 0; #X connect 4 1 20 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 5 0 16 0; #X connect 6 0 5 1; #X connect 6 0 19 0; #X connect 7 0 19 1; #X connect 7 0 8 1; #X connect 8 0 11 0; #X connect 8 1 14 0; #X connect 10 0 14 0; #X connect 11 0 10 0; #X connect 11 1 12 0; #X connect 13 0 15 0; #X connect 14 0 3 0; #X connect 15 0 6 0; #X connect 15 1 7 0; #X connect 16 0 8 0; #X connect 16 1 9 0; #X connect 19 0 3 1; #X connect 20 0 5 0; #X connect 20 1 10 0; #X connect 20 2 6 0; purepd-0.1.1/gt2~-help.pd0000644000076500007650000000077111116314203013630 0ustar hanshans#N canvas 368 92 486 336 10; #X obj 71 235 snapshot~; #X obj 131 175 loadbang; #X floatatom 71 275 9 0 0 0 - - -; #X floatatom 71 75 5 0 0 0 - - -; #X obj 71 105 sig~; #X obj 131 205 metro 100; #X msg 59 28 -1.5; #X msg 99 28 -1.49; #X obj 113 104 sig~ -1.5; #X obj 71 135 gt2~; #X obj 339 252 gt~; #X text 267 251 also see; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 3 0 4 0; #X connect 4 0 9 0; #X connect 5 0 0 0; #X connect 6 0 3 0; #X connect 7 0 3 0; #X connect 8 0 9 1; #X connect 9 0 0 0; purepd-0.1.1/gt2~.pd0000644000076500007650000000075111116314203012700 0ustar hanshans#N canvas 608 437 450 300 10; #X obj 23 26 inlet~; #X obj 23 193 outlet~; #X obj 161 24 loadbang; #X obj 23 156 tabread~ \$0-lookup; #X obj 161 156 table \$0-lookup 2; #X msg 251 26 version 1.0.0; #X obj 89 25 inlet~; #X msg 161 55 0 1 0; #X obj 161 76 s \$0-lookup; #X obj 22 80 *~ -1; #X obj 89 95 +~ 1; #X obj 23 126 +~; #X connect 0 0 9 0; #X connect 2 0 7 0; #X connect 3 0 1 0; #X connect 6 0 10 0; #X connect 7 0 8 0; #X connect 9 0 11 0; #X connect 10 0 11 1; #X connect 11 0 3 0; purepd-0.1.1/gt~-help.pd0000644000076500007650000000101111116314203013532 0ustar hanshans#N canvas 368 92 486 336 10; #X obj 71 235 snapshot~; #X obj 131 175 loadbang; #X floatatom 71 275 9 0 0 0 - - -; #X floatatom 71 75 5 0 0 0 - - -; #X obj 71 105 sig~; #X obj 131 205 metro 100; #X msg 59 28 -1.5; #X text 267 251 also see; #X obj 71 135 gt~ -1.5; #X floatatom 124 111 5 0 0 0 - - -; #X obj 339 252 gt2~; #X msg 99 28 -1.49; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 3 0 4 0; #X connect 4 0 8 0; #X connect 5 0 0 0; #X connect 6 0 3 0; #X connect 8 0 0 0; #X connect 9 0 8 1; #X connect 11 0 3 0; purepd-0.1.1/gt~.pd0000644000076500007650000000112611116314203012613 0ustar hanshans#N canvas 391 35 388 318 10; #X obj 23 26 inlet~; #X obj 23 243 outlet~; #X obj 161 26 loadbang; #X obj 23 206 tabread~ \$0-lookup; #X obj 161 176 table \$0-lookup 2; #X obj 161 106 f \$0; #X msg 161 56 bang; #X obj 89 85 f \$1; #X obj 23 115 *~ -1; #X msg 161 136 \; \$1-lookup 0 1 0; #X obj 23 156 +~; #X obj 89 115 + 1; #X msg 251 26 version 1.0.1; #X obj 89 25 inlet; #X connect 0 0 8 0; #X connect 2 0 6 0; #X connect 3 0 1 0; #X connect 5 0 9 0; #X connect 6 0 5 0; #X connect 6 0 7 0; #X connect 7 0 11 0; #X connect 8 0 10 0; #X connect 10 0 3 0; #X connect 11 0 10 1; #X connect 13 0 7 0; purepd-0.1.1/inv-help.pd0000644000076500007650000000045311357702153013543 0ustar hanshans#N canvas 141 276 450 300 10; #X obj 165 115 inv; #X floatatom 165 164 5 0 0 0 - - -; #X text 41 32 perform 1/x using float from inlet; #X obj 166 77 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 1500 1; #X msg 126 77 5; #X connect 0 0 1 0; #X connect 3 0 0 0; #X connect 4 0 0 0; purepd-0.1.1/inv.pd0000644000076500007650000000034710755131316012615 0ustar hanshans#N canvas 682 147 454 304 10; #X obj 139 34 inlet; #X obj 152 255 outlet; #X obj 153 133 /; #X obj 140 88 t b f; #X msg 140 109 1; #X connect 0 0 3 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 3 1 2 1; #X connect 4 0 2 0; purepd-0.1.1/LICENSE.txt0000644000076500007650000003574511357701121013325 0ustar hanshansGNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS purepd-0.1.1/log10-help.pd0000644000076500007650000000044511137412772013673 0ustar hanshans#N canvas 0 0 704 342 10; #X obj 180 148 log10; #X floatatom 180 128 5 0 0 0 - - -; #X floatatom 180 173 5 0 0 0 - - -; #X text 65 71 log10 returns the base 10 logarithm of its input. Input has to be positive.; #X text 107 221 log10(n) == ln(n)/ln(10); #X connect 0 0 2 0; #X connect 1 0 0 0; purepd-0.1.1/log10.pd0000644000076500007650000000051611137412772012744 0ustar hanshans#N canvas 0 0 450 300 10; #X obj 127 128 log; #X msg 171 130 10; #X obj 171 155 log; #X obj 127 182 /; #X obj 171 107 loadbang; #X obj 127 214 outlet; #X obj 127 81 inlet; #X text 242 186 log10(n) == ln(n)/ln(10); #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 2 0 3 1; #X connect 3 0 5 0; #X connect 4 0 1 0; #X connect 6 0 0 0; purepd-0.1.1/lt2~-help.pd0000644000076500007650000000076711116314203013642 0ustar hanshans#N canvas 368 92 486 336 10; #X obj 171 175 loadbang; #X floatatom 71 75 5 0 0 0 - - -; #X obj 71 105 sig~; #X obj 171 205 metro 100; #X obj 71 235 snapshot~; #X floatatom 71 275 9 0 0 0 - - -; #X msg 71 28 1.49; #X msg 109 28 1.5; #X obj 71 135 lt2~; #X obj 120 104 sig~ 1.5; #X text 245 247 also see; #X obj 317 247 lt~; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 2 0 8 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X connect 8 0 4 0; #X connect 9 0 8 1; purepd-0.1.1/lt2~.pd0000644000076500007650000000067111116314203012706 0ustar hanshans#N canvas 0 0 450 300 10; #X obj 23 26 inlet~; #X obj 23 193 outlet~; #X obj 161 24 loadbang; #X obj 23 156 tabread~ \$0-lookup; #X obj 161 156 table \$0-lookup 2; #X obj 23 126 -~; #X msg 251 26 version 1.0.0; #X obj 89 95 -~ 1; #X obj 89 25 inlet~; #X msg 161 55 0 1 0; #X obj 161 76 s \$0-lookup; #X connect 0 0 5 0; #X connect 2 0 9 0; #X connect 3 0 1 0; #X connect 5 0 3 0; #X connect 7 0 5 1; #X connect 8 0 7 0; #X connect 9 0 10 0; purepd-0.1.1/lt~-help.pd0000644000076500007650000000075411116314203013554 0ustar hanshans#N canvas 368 92 486 336 10; #X obj 171 175 loadbang; #X floatatom 71 75 5 0 0 0 - - -; #X obj 71 105 sig~; #X obj 171 205 metro 100; #X obj 71 235 snapshot~; #X floatatom 71 275 9 0 0 0 - - -; #X obj 71 135 lt~ 1.5; #X msg 71 28 1.49; #X msg 109 28 1.5; #X floatatom 117 107 5 0 0 0 - - -; #X obj 305 266 lt2~; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 6 0 4 0; #X connect 7 0 1 0; #X connect 8 0 1 0; #X connect 9 0 6 1; purepd-0.1.1/lt~.pd0000644000076500007650000000105111116314203012615 0ustar hanshans#N canvas 692 87 385 251 10; #X obj 23 26 inlet~; #X obj 23 193 outlet~; #X obj 161 26 loadbang; #X obj 23 156 tabread~ \$0-lookup; #X obj 161 156 table \$0-lookup 2; #X obj 161 86 f \$0; #X msg 161 46 bang; #X msg 161 116 \; \$1-lookup 0 1 0; #X obj 89 75 f \$1; #X obj 89 95 - 1; #X obj 23 126 -~; #X msg 251 26 version 1.0.0; #X obj 89 25 inlet; #X connect 0 0 10 0; #X connect 2 0 6 0; #X connect 3 0 1 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 6 0 8 0; #X connect 8 0 9 0; #X connect 9 0 10 1; #X connect 10 0 3 0; #X connect 12 0 8 0; purepd-0.1.1/Makefile0000644000076500007650000002677711500452662013152 0ustar hanshans## Pd library template version 1.0.6 # For instructions on how to use this template, see: # http://puredata.info/docs/developer/MakefileTemplate LIBRARY_NAME = purepd # add your .c source files, one object per file, to the SOURCES # variable, help files will be included automatically SOURCES = # list all pd objects (i.e. myobject.pd) files here, and their helpfiles will # be included automatically PDOBJECTS = ^.pd alternate.pd any_argument.pd clip.pd cosh.pd delta.pd delta~.pd fifo.pd float_argument.pd for++.pd gt2~.pd gt~.pd inv.pd log10.pd lt2~.pd lt~.pd moses.pd once.pd oneshot.pd purepd_error.pd sgn~.pd sinh.pd symbol_argument.pd tanh.pd uzi.pd velocity.pd # example patches and related files, in the 'examples' subfolder EXAMPLES = # manuals and related files, in the 'manual' subfolder MANUAL = # if you want to include any other files in the source and binary tarballs, # list them here. This can be anything from header files, test patches, # documentation, etc. README.txt and LICENSE.txt are required and therefore # automatically included EXTRA_DIST = #------------------------------------------------------------------------------# # # things you might need to edit if you are using other C libraries # #------------------------------------------------------------------------------# # -I"$(PD_INCLUDE)/pd" supports the header location for 0.43 CFLAGS = -I"$(PD_INCLUDE)/pd" -Wall -W -g LDFLAGS = LIBS = #------------------------------------------------------------------------------# # # you shouldn't need to edit anything below here, if we did it right :) # #------------------------------------------------------------------------------# # get library version from meta file LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd) CFLAGS += -DPD -DVERSION='"$(LIBRARY_VERSION)"' PD_INCLUDE = $(PD_PATH)/include # where to install the library, overridden below depending on platform prefix = /usr/local libdir = $(prefix)/lib pkglibdir = $(libdir)/pd-externals objectsdir = $(pkglibdir) INSTALL = install INSTALL_PROGRAM = $(INSTALL) -p -m 644 INSTALL_DATA = $(INSTALL) -p -m 644 INSTALL_DIR = $(INSTALL) -p -m 755 -d ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \ $(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows) DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION) ORIGDIR=pd-$(LIBRARY_NAME:~=)_$(LIBRARY_VERSION) UNAME := $(shell uname -s) ifeq ($(UNAME),Darwin) CPU := $(shell uname -p) ifeq ($(CPU),arm) # iPhone/iPod Touch SOURCES += $(SOURCES_iphoneos) EXTENSION = pd_darwin OS = iphoneos PD_PATH = /Applications/Pd-extended.app/Contents/Resources 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 DISTBINDIR=$(DISTDIR)-$(OS) else # Mac OS X SOURCES += $(SOURCES_macosx) EXTENSION = pd_darwin OS = macosx PD_PATH = /Applications/Pd-extended.app/Contents/Resources OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast # build universal 32-bit on 10.4 and 32/64 on newer ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8) FAT_FLAGS = -arch ppc -arch i386 -mmacosx-version-min=10.4 else FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4 SOURCES += $(SOURCES_iphoneos) endif 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 DISTBINDIR=$(DISTDIR)-$(OS) # install into ~/Library/Pd on Mac OS X since /usr/local isn't used much pkglibdir=$(HOME)/Library/Pd endif endif ifeq ($(UNAME),Linux) CPU := $(shell uname -m) SOURCES += $(SOURCES_linux) EXTENSION = pd_linux OS = linux PD_PATH = /usr 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 DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m) endif ifeq ($(UNAME),GNU) # GNU/Hurd, should work like GNU/Linux for basically all externals CPU := $(shell uname -m) SOURCES += $(SOURCES_linux) EXTENSION = pd_linux OS = linux PD_PATH = /usr 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 DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m) endif ifeq ($(UNAME),GNU/kFreeBSD) # Debian GNU/kFreeBSD, should work like GNU/Linux for basically all externals CPU := $(shell uname -m) SOURCES += $(SOURCES_linux) EXTENSION = pd_linux OS = linux PD_PATH = /usr 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 DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m) endif ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) CPU := $(shell uname -m) SOURCES += $(SOURCES_cygwin) EXTENSION = dll OS = cygwin PD_PATH = $(cygpath $(PROGRAMFILES))/pd OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer CFLAGS += LDFLAGS += -Wl,--export-dynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" LIBS += -lc -lpd STRIP = strip --strip-unneeded -R .note -R .comment DISTBINDIR=$(DISTDIR)-$(OS) endif ifeq (MINGW,$(findstring MINGW,$(UNAME))) CPU := $(shell uname -m) SOURCES += $(SOURCES_windows) EXTENSION = dll OS = windows PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd) OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer CFLAGS += -mms-bitfields 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 DISTBINDIR=$(DISTDIR)-$(OS) endif # in case somebody manually set the HELPPATCHES above HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.pd=-help.pd) CFLAGS += $(OPT_CFLAGS) .PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags $(LIBRARY_NAME) 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-manual $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) $(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd \ $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) test -z "$(strip $(SOURCES))" || (\ $(INSTALL_PROGRAM) $(SOURCES:.c=.$(EXTENSION)) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) && \ $(STRIP) $(addprefix $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/,$(SOURCES:.c=.$(EXTENSION)))) test -z "$(strip $(PDOBJECTS))" || \ $(INSTALL_DATA) $(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_PROGRAM) $(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) $(PDOBJECTS))" || \ $(INSTALL_DATA) $(HELPPATCHES) \ $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME) $(INSTALL_DATA) README.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/README.txt $(INSTALL_DATA) LICENSE.txt $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/LICENSE.txt install-examples: test -z "$(strip $(EXAMPLES))" || \ $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples && \ for file in $(EXAMPLES); do \ $(INSTALL_DATA) examples/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/examples; \ done install-manual: test -z "$(strip $(MANUAL))" || \ $(INSTALL_DIR) $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual && \ for file in $(MANUAL); do \ $(INSTALL_DATA) manual/$$file $(DESTDIR)$(objectsdir)/$(LIBRARY_NAME)/manual; \ done clean: -rm -f -- $(SOURCES:.c=.o) $(SOURCES_LIB:.c=.o) -rm -f -- $(SOURCES:.c=.$(EXTENSION)) -rm -f -- $(LIBRARY_NAME).o -rm -f -- $(LIBRARY_NAME).$(EXTENSION) distclean: clean -rm -f -- $(DISTBINDIR).tar.gz -rm -rf -- $(DISTBINDIR) -rm -f -- $(DISTDIR).tar.gz -rm -rf -- $(DISTDIR) -rm -f -- $(ORIGDIR).tar.gz -rm -rf -- $(ORIGDIR) $(DISTBINDIR): $(INSTALL_DIR) $(DISTBINDIR) libdir: all $(DISTBINDIR) $(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd $(DISTBINDIR) $(INSTALL_DATA) $(SOURCES) $(DISTBINDIR) $(INSTALL_DATA) $(HELPPATCHES) $(DISTBINDIR) test -z "$(strip $(EXTRA_DIST))" || \ $(INSTALL_DATA) $(EXTRA_DIST) $(DISTBINDIR) # tar --exclude-vcs -czpf $(DISTBINDIR).tar.gz $(DISTBINDIR) $(DISTDIR): $(INSTALL_DIR) $(DISTDIR) $(ORIGDIR): $(INSTALL_DIR) $(ORIGDIR) dist: $(DISTDIR) $(INSTALL_DATA) Makefile $(DISTDIR) $(INSTALL_DATA) README.txt $(DISTDIR) $(INSTALL_DATA) LICENSE.txt $(DISTDIR) $(INSTALL_DATA) $(LIBRARY_NAME)-meta.pd $(DISTDIR) test -z "$(strip $(ALLSOURCES))" || \ $(INSTALL_DATA) $(ALLSOURCES) $(DISTDIR) test -z "$(strip $(PDOBJECTS))" || \ $(INSTALL_DATA) $(PDOBJECTS) $(DISTDIR) test -z "$(strip $(HELPPATCHES))" || \ $(INSTALL_DATA) $(HELPPATCHES) $(DISTDIR) test -z "$(strip $(EXTRA_DIST))" || \ $(INSTALL_DATA) $(EXTRA_DIST) $(DISTDIR) test -z "$(strip $(EXAMPLES))" || \ $(INSTALL_DIR) $(DISTDIR)/examples && \ for file in $(EXAMPLES); do \ $(INSTALL_DATA) examples/$$file $(DISTDIR)/examples; \ done test -z "$(strip $(MANUAL))" || \ $(INSTALL_DIR) $(DISTDIR)/manual && \ for file in $(MANUAL); do \ $(INSTALL_DATA) manual/$$file $(DISTDIR)/manual; \ done tar --exclude-vcs -czpf $(DISTDIR).tar.gz $(DISTDIR) # make a Debian source package dpkg-source: debclean make distclean dist mv $(DISTDIR) $(ORIGDIR) tar --exclude-vcs -czpf ../$(ORIGDIR).orig.tar.gz $(ORIGDIR) rm -f -- $(DISTDIR).tar.gz rm -rf -- $(DISTDIR) $(ORIGDIR) cd .. && dpkg-source -b $(LIBRARY_NAME) etags: etags *.h $(SOURCES) ../../pd/src/*.[ch] /usr/include/*.h /usr/include/*/*.h showsetup: @echo "CFLAGS: $(CFLAGS)" @echo "LDFLAGS: $(LDFLAGS)" @echo "LIBS: $(LIBS)" @echo "PD_INCLUDE: $(PD_INCLUDE)" @echo "PD_PATH: $(PD_PATH)" @echo "objectsdir: $(objectsdir)" @echo "LIBRARY_NAME: $(LIBRARY_NAME)" @echo "LIBRARY_VERSION: $(LIBRARY_VERSION)" @echo "SOURCES: $(SOURCES)" @echo "PDOBJECTS: $(PDOBJECTS)" @echo "ALLSOURCES: $(ALLSOURCES)" @echo "UNAME: $(UNAME)" @echo "CPU: $(CPU)" @echo "pkglibdir: $(pkglibdir)" @echo "DISTDIR: $(DISTDIR)" @echo "ORIGDIR: $(ORIGDIR)" purepd-0.1.1/moses-help.pd0000644000076500007650000000113111357702316014070 0ustar hanshans#N canvas 0 0 624 300 12; #X obj 72 196 moses 10; #X floatatom 72 164 4 0 0; #X floatatom 139 167 4 0 0; #X floatatom 72 229 4 0 0; #X floatatom 139 230 4 0 0; #X obj 63 24 moses; #X text 118 23 - part a stream of numbers; #X text 303 235 updated for Pd version 0.33; #X text 24 64 Moses takes numbers and outputs them at left if they're less than a control value \, and at right if they're greater or equal to it. The creation argument initializes the control value (10 in this example) and the right inlet changes it.; #X connect 0 0 3 0; #X connect 0 1 4 0; #X connect 1 0 0 0; #X connect 2 0 0 1; purepd-0.1.1/moses.pd0000644000076500007650000000107611500453203013136 0ustar hanshans#N canvas 0 22 458 308 10; #X obj 38 17 inlet; #X obj 35 277 outlet; #X obj 239 18 inlet; #X obj 336 273 outlet; #X obj 240 61 float_argument \$1 0; #X obj 36 242 spigot; #X obj 334 239 spigot; #X obj 224 111 >=; #X obj 38 63 trigger float float; #X msg 152 184 1 \$1; #X obj 152 205 -; #X obj 313 18 loadbang; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 4 0 7 1; #X connect 5 0 1 0; #X connect 6 0 3 0; #X connect 7 0 9 0; #X connect 7 0 6 1; #X connect 8 0 5 0; #X connect 8 0 6 0; #X connect 8 1 7 0; #X connect 9 0 10 0; #X connect 10 0 5 1; #X connect 11 0 4 0; purepd-0.1.1/once-help.pd0000644000076500007650000000173011357701563013676 0ustar hanshans#N canvas 231 172 401 466 10; #X obj 66 326 print; #X msg 66 133 1; #X obj 301 113 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 66 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 66 197 11 22; #X msg 66 153 symbol foo; #X msg 66 175 set; #X msg 66 218 list aaa 123; #X msg 66 241 jkl 555 uuu; #X obj 66 272 once; #X text 13 7 once; #X text 69 6 only the first message passes through; #X text 48 86 message in; #X text 80 292 message out (only once); #X text 239 92 anything to init once; #X text 115 408 IEM KUG; #X text 99 396 musil; #X text 129 396 @; #X text 135 396 iem.at; #X text 50 385 (c) Thomas Musil 2000 - 2005; #X text 98 418 Graz \, Austria; #X text 122 372 @; #X text 128 372 iem.at; #X text 50 372 (c) zmoelnig; #X connect 1 0 9 0; #X connect 2 0 9 1; #X connect 3 0 9 0; #X connect 4 0 9 0; #X connect 5 0 9 0; #X connect 6 0 9 0; #X connect 7 0 9 0; #X connect 8 0 9 0; #X connect 9 0 0 0; purepd-0.1.1/once.pd0000644000076500007650000000115010755131316012736 0ustar hanshans#N canvas 353 206 431 322 10; #X obj 58 65 inlet; #X obj 58 251 outlet; #X obj 262 73 bang; #X msg 262 92 1; #X obj 58 176 spigot; #X msg 230 93 0; #X text 13 289 (c) 2006 IOhannes m zmoelnig \, licensed under GnuGPL v2.0; #X obj 262 53 inlet reset; #X text 48 12 [once]: better than [oneshot]; #X obj 200 133 int 1; #X obj 58 94 trigger anything bang; #X obj 58 202 trigger anything bang; #X connect 0 0 10 0; #X connect 2 0 3 0; #X connect 3 0 9 1; #X connect 4 0 11 0; #X connect 5 0 9 1; #X connect 7 0 2 0; #X connect 9 0 4 1; #X connect 10 0 4 0; #X connect 10 1 9 0; #X connect 11 0 1 0; #X connect 11 1 5 0; purepd-0.1.1/oneshot-help.pd0000644000076500007650000000052211357701645014430 0ustar hanshans#N canvas 151 485 600 500 10; #X text 124 68 GEM object; #X obj 123 298 print out1; #X msg 123 155 bang; #X text 138 23 oneshot; #X obj 123 219 oneshot; #X msg 188 154 clear; #X text 61 385 oneshot blocks after the initial bang \, until a clear message is received.; #X connect 2 0 4 0; #X connect 4 0 1 0; #X connect 5 0 4 0; purepd-0.1.1/oneshot.pd0000644000076500007650000000064310755131316013477 0ustar hanshans#N canvas 233 201 475 294 10; #X obj 149 40 inlet; #X obj 221 176 outlet; #X text 10 7 [oneshot]; #X text 249 98 reset; #X obj 149 75 route clear; #X text 271 175 whatever; #X text 40 215 (c) 2006 IOhannes m zmoelnig \, licensed under GnuGPL v2.0; #X text 44 238 original abstraction (c) 2005 Hans Christoph Steiner ; #X obj 221 113 once; #X connect 0 0 4 0; #X connect 4 0 8 1; #X connect 4 1 8 0; #X connect 8 0 1 0; purepd-0.1.1/purepd-meta.pd0000644000076500007650000000045311500452600014231 0ustar hanshans#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 purepd; #X text 10 50 LICENSE GNU GPL; #X text 10 70 DESCRIPTION existing objects reimplemented in Pd; #X text 10 90 VERSION 0.1.1; #X restore 10 10 pd META; purepd-0.1.1/purepd_error-help.pd0000644000076500007650000000020511051150160015434 0ustar hanshans#N canvas 118 57 454 304 10; #X msg 136 95 this is my error message; #X obj 135 143 purepd_error my_object_name; #X connect 0 0 1 0; purepd-0.1.1/purepd_error.pd0000644000076500007650000000030610755131316014524 0ustar hanshans#N canvas 577 79 466 316 10; #X obj 168 52 inlet; #X obj 168 186 print error; #X obj 168 124 list prepend \$1:; #X obj 168 156 list trim; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 1 0; purepd-0.1.1/README.txt0000644000076500007650000000114711357701107013171 0ustar hanshans PurePd is a library of objects are written purely in Pd. The idea is to replace standard externals with Pd objects so that Pd its more and more a language written in Pd. WARNING! This library is a place for development of ideas. Anything is up for change given a good reason. But be courteous: If you do change the interface of an object in this collection, make sure that you print a warning to the Pd window. If you want a static, unchanging interfaces, please include it elsewhere. If you want a place to freely explore implementing things in Pd, please include it in the purepd library. purepd-0.1.1/sgn~-help.pd0000644000076500007650000000106111116314203013714 0ustar hanshans#N canvas 609 82 344 363 10; #X obj 71 235 snapshot~; #X obj 173 132 loadbang; #X floatatom 71 275 9 0 0 0 - - -; #X floatatom 71 75 5 0 0 0 - - -; #X obj 71 105 sig~; #X obj 173 162 metro 100; #X msg 29 28 -1.5; #X msg 193 28 1.5; #X obj 71 135 sgn~; #X msg 153 28 0.01; #X msg 69 28 -0.01; #X msg 115 28 0; #X msg 198 275 version 1.0.0; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 3 0 4 0; #X connect 4 0 8 0; #X connect 5 0 0 0; #X connect 6 0 3 0; #X connect 7 0 3 0; #X connect 8 0 0 0; #X connect 9 0 3 0; #X connect 10 0 3 0; #X connect 11 0 3 0; purepd-0.1.1/sgn~.pd0000644000076500007650000000066511116314203012777 0ustar hanshans#N canvas 761 36 303 300 10; #X obj 23 26 inlet~; #X obj 23 243 outlet~; #X obj 26 115 lt~ 0; #X obj 88 117 gt~ 0; #X obj 26 137 *~ -1; #X msg 173 26 version 1.0.0; #N canvas 0 22 246 156 abslist 0; #X msg 35 70 lt~; #X msg 35 100 gt~; #X msg 85 70 lt~-help; #X msg 85 100 gt~-help; #X msg 35 40 sgn~-help; #X restore 175 52 pd abslist; #X connect 0 0 3 0; #X connect 0 0 2 0; #X connect 2 0 4 0; #X connect 3 0 1 0; #X connect 4 0 1 0; purepd-0.1.1/sinh-help.pd0000644000076500007650000000121711357702463013713 0ustar hanshans#N canvas 217 155 421 323 10; #X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; #X text 21 278 docs based on the MAX/MSP reference (c) cycling'74 ; #X text 20 292 ___________________________________________________ ; #X floatatom 46 216 8 0 0 0 - - -; #X msg 46 83 bang; #X obj 67 152 / 100; #X floatatom 67 132 5 0 0 0 - - -; #X text 123 185 arg sets initial value; #X text 121 130 calculate and output cosh; #X obj 42 22 sinh 0.2; #X text 108 25 calculate hyperbolic sine function; #X obj 46 183 sinh 0.2; #X text 95 82 output sinh of current val; #X connect 4 0 11 0; #X connect 5 0 11 0; #X connect 6 0 5 0; #X connect 11 0 3 0; purepd-0.1.1/sinh.pd0000644000076500007650000000074211112051614012747 0ustar hanshans#N canvas 0 0 450 300 10; #X obj 88 37 inlet; #X obj 88 87 t a a; #X obj 88 223 outlet; #X obj 120 116 * -1; #X obj 120 136 exp; #X obj 88 136 exp; #X obj 88 174 -; #X obj 88 199 * 0.5; #X text 313 133 2; #X text 272 105 exp(x) - exp(-x); #X text 223 117 sinh = ----------------; #X obj 88 64 f \$1; #X connect 0 0 11 0; #X connect 1 0 5 0; #X connect 1 1 3 0; #X connect 3 0 4 0; #X connect 4 0 6 1; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 7 0 2 0; #X connect 11 0 1 0; purepd-0.1.1/symbol_argument-help.pd0000644000076500007650000000316511051150160016143 0ustar hanshans#N canvas 68 255 517 466 10; #X msg 49 73 bang; #X msg 51 189 bang; #X obj 50 246 print blank; #X msg 36 326 bang; #X msg 241 326 bang; #X msg 204 187 bang; #X obj 203 244 print blank; #X obj 32 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 185 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X symbolatom 48 126 6 0 0 1 symbol - -; #X symbolatom 36 389 10 0 0 0 - - -; #X msg 202 72 bang; #X symbolatom 202 124 15 0 0 1 symbol - -; #X msg 362 187 bang; #X obj 361 244 print blank; #X obj 343 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 24 153 If the first argument is blank or 0 \, there is no output (Pd initializes all variables to 0):; #X symbolatom 241 391 10 0 0 0 - - -; #X text 32 275 If you set a second argument \, it will be used as the default when the first argument is blank. Also if the first argument is numeric \, the default will be used.; #X obj 202 98 symbol_argument 255.255.255.255; #X obj 49 99 symbol_argument word; #X obj 51 221 symbol_argument; #X obj 362 219 symbol_argument 0; #X obj 36 362 symbol_argument \$1 default; #X obj 204 219 symbol_argument \$1; #X obj 242 362 symbol_argument 44 default; #X text 25 21 This object can takes a symbolic atom as an argument and outputs a symbol message.; #X connect 0 0 20 0; #X connect 1 0 21 0; #X connect 3 0 23 0; #X connect 4 0 25 0; #X connect 5 0 24 0; #X connect 11 0 19 0; #X connect 13 0 22 0; #X connect 19 0 12 0; #X connect 20 0 9 0; #X connect 21 0 2 0; #X connect 21 0 7 0; #X connect 22 0 14 0; #X connect 22 0 15 0; #X connect 23 0 10 0; #X connect 24 0 6 0; #X connect 24 0 8 0; #X connect 25 0 17 0; purepd-0.1.1/symbol_argument.pd0000644000076500007650000000146611500453216015226 0ustar hanshans#N canvas 525 268 583 441 10; #X obj 37 175 trigger bang bang; #X obj 151 195 symbol; #X obj 37 221 select symbol; #X obj 37 195 symbol \$1; #X obj 413 389 outlet; #X obj 38 13 inlet; #X obj 248 108 bang; #X obj 249 154 purepd_error symbol_argument; #X obj 37 285 trigger bang bang; #X obj 151 305 symbol; #X obj 37 331 select symbol; #X obj 37 305 symbol \$2; #X obj 38 74 route bang symbol; #X obj 38 51 list; #X msg 248 130 only accepts symbols; #X connect 0 0 3 0; #X connect 0 1 1 0; #X connect 1 0 2 1; #X connect 2 0 8 0; #X connect 2 1 4 0; #X connect 3 0 2 0; #X connect 5 0 13 0; #X connect 6 0 14 0; #X connect 8 0 11 0; #X connect 8 1 9 0; #X connect 9 0 10 1; #X connect 10 1 4 0; #X connect 11 0 10 0; #X connect 12 0 0 0; #X connect 12 1 4 0; #X connect 12 2 6 0; #X connect 13 0 12 0; #X connect 14 0 7 0; purepd-0.1.1/tanh-help.pd0000644000076500007650000000122211357702473013701 0ustar hanshans#N canvas 217 155 421 323 10; #X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; #X text 21 278 docs based on the MAX/MSP reference (c) cycling'74 ; #X text 20 292 ___________________________________________________ ; #X floatatom 46 216 8 0 0 0 - - -; #X msg 46 83 bang; #X obj 67 152 / 100; #X floatatom 67 132 5 0 0 0 - - -; #X text 123 185 arg sets initial value; #X obj 42 22 tanh 0.2; #X text 95 82 output tanh of current val; #X text 121 130 calculate and output tanh; #X obj 46 183 tanh 0.2; #X text 108 25 calculate hyperbolic tangent function; #X connect 4 0 11 0; #X connect 5 0 11 0; #X connect 6 0 5 0; #X connect 11 0 3 0; purepd-0.1.1/tanh.pd0000644000076500007650000000075111112051614012740 0ustar hanshans#N canvas 129 16 457 303 10; #X obj 105 29 inlet; #X obj 105 119 t a a; #X obj 105 73 * 2; #X obj 105 94 exp; #X obj 105 172 / 1; #X obj 105 199 outlet; #X obj 105 148 - 1; #X obj 137 148 + 1; #X text 289 97 exp(2x) - 1; #X text 290 125 exp(2x) + 1; #X text 240 109 tanh = -----------; #X obj 105 51 f \$1; #X connect 0 0 11 0; #X connect 1 0 6 0; #X connect 1 1 7 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 5 0; #X connect 6 0 4 0; #X connect 7 0 4 1; #X connect 11 0 2 0; purepd-0.1.1/uzi-help.pd0000644000076500007650000000213211112051614013536 0ustar hanshans#N canvas 309 202 633 494 10; #X floatatom 207 259 5 0 0 1 set_number_of_bangs - -; #X obj 144 383 print BANG; #X obj 163 340 print LAST; #X obj 183 308 print NUM; #X msg 144 125 bang; #X obj 255 176 select 5; #X msg 255 202 pause; #X msg 192 123 continue; #X obj 326 177 select 8; #X msg 326 203 break; #X msg 262 123 resume; #X obj 255 154 spigot; #X obj 308 153 tgl 15 0 empty empty test_pause 17 7 1 10 -262144 -1 -1 0 1; #X text 141 62 send a specified nr of bangs as fast as possible; #X text 141 34 clone of Max' [uzi]; #X text 384 204 pause the loop; #X text 329 123 resume the loop; #X text 273 308 number of current bang; #X floatatom 183 291 5 0 0 0 - - -; #X text 264 342 bang after last bang; #X text 235 386 current bang; #X obj 144 257 uzi 10; #X obj 93 33 uzi; #X connect 0 0 21 1; #X connect 4 0 21 0; #X connect 5 0 6 0; #X connect 5 1 8 0; #X connect 6 0 21 0; #X connect 7 0 21 0; #X connect 8 0 9 0; #X connect 9 0 21 0; #X connect 10 0 21 0; #X connect 11 0 5 0; #X connect 12 0 11 1; #X connect 18 0 3 0; #X connect 21 0 1 0; #X connect 21 1 2 0; #X connect 21 2 11 0; #X connect 21 2 18 0; purepd-0.1.1/uzi.pd0000644000076500007650000000266711112051614012625 0ustar hanshans#N canvas 530 136 725 594 10; #N canvas 214 258 450 300 countup 0; #X obj 139 133 + 1; #X obj 110 73 inlet; #X obj 163 71 inlet; #X obj 110 101 b; #X obj 110 168 outlet; #X msg 163 92 1; #X obj 110 132 f 1; #X connect 0 0 6 1; #X connect 1 0 3 0; #X connect 2 0 5 0; #X connect 3 0 6 0; #X connect 5 0 6 1; #X connect 6 0 0 0; #X connect 6 0 4 0; #X restore 92 303 pd countup; #X obj 463 116 inlet; #X obj 92 51 inlet; #X obj 92 266 until; #X obj 92 241 max 0; #X obj 356 457 outlet; #X obj 92 387 swap \$1; #X obj 92 421 -; #X obj 88 541 outlet; #X obj 143 543 outlet; #X obj 143 505 select 0; #X text 220 506 send last bang when we reach 0; #X text 411 458 nr. of bangs; #X obj 197 233 b; #X obj 92 446 t a b a; #X obj 249 138 b; #X obj 92 119 f \$1; #X obj 92 144 t a b; #X obj 92 85 route bang pause break continue resume; #X obj 92 327 t float float; #X text 154 446 store remainder above; #X obj 92 216 f; #X connect 0 0 19 0; #X connect 1 0 6 1; #X connect 1 0 16 1; #X connect 2 0 18 0; #X connect 3 0 0 0; #X connect 4 0 3 0; #X connect 6 0 7 0; #X connect 6 1 7 1; #X connect 7 0 14 0; #X connect 10 0 9 0; #X connect 13 0 3 1; #X connect 14 0 10 0; #X connect 14 1 8 0; #X connect 14 2 21 1; #X connect 15 0 21 0; #X connect 16 0 17 0; #X connect 17 0 21 0; #X connect 17 1 0 1; #X connect 18 0 16 0; #X connect 18 1 13 0; #X connect 18 2 13 0; #X connect 18 3 15 0; #X connect 18 4 15 0; #X connect 19 0 6 0; #X connect 19 1 5 0; #X connect 21 0 4 0; purepd-0.1.1/velocity-help.pd0000644000076500007650000000076311357701663014616 0ustar hanshans#N canvas 239 183 454 304 12; #X text 30 16 velocity :: get velocity of digits per second; #X obj 50 137 velocity; #X floatatom 50 72 5 0 0; #X floatatom 50 187 8 0 0; #X text 150 77 sending a float every second would; #X text 151 95 result in a velocity of 1 \, higher; #X text 151 114 rates produce higher velocities; #X msg 65 102 bang; #X text 151 148 originally written for Max by; #X text 151 164 Trond Lossius \, BEK; #X connect 1 0 3 0; #X connect 2 0 1 0; #X connect 7 0 1 0; purepd-0.1.1/velocity.pd0000644000076500007650000000043010755131316013650 0ustar hanshans#N canvas 136 458 454 304 10; #X obj 177 14 inlet; #X obj 177 268 outlet; #X obj 177 64 t b b; #X obj 178 115 timer; #X msg 178 159 1000 \$1; #X obj 178 186 /; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 2 1 3 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 0;