diff --git a/0.info.pd b/0.info.pd new file mode 100644 index 0000000..e24c6cb --- /dev/null +++ b/0.info.pd @@ -0,0 +1,85 @@ +#N canvas 513 87 777 652 10; +#X declare -lib pdmtl; +#X declare -lib xsample; +#X text 389 17 A collection of abstractions made by Montreal pd users. +; +#N canvas 0 0 493 414 open 0; +#X obj 64 80 inlet; +#X obj 117 258 file.path.top; +#X msg 77 319 \; pd open \$1 \$2; +#X obj 65 284 pack s s; +#X obj 72 127 t a b; +#X obj 69 178 symbol; +#X connect 0 0 4 0; +#X connect 1 0 3 1; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 4 1 1 0; +#X connect 5 0 3 0; +#X restore 26 251 pd open; +#X text 390 94 Website: http://wiki.dataflow.ws/PdMtlAbstractions; +#X text 158 427 -- iemlib --; +#X text 25 374 -- zexy --; +#X text 25 324 -- cyclone --; +#X text 26 425 -- Gem --; +#X text 158 324 -- ggee --; +#X text 286 323 -- iemmatrix --; +#X text 286 375 -- maxlib --; +#X text 157 375 -- hcs --; +#X text 393 193 Please check out the installation instructions at: +http://wiki.dataflow.ws/PdMtlAbstractions/Installation; +#X text 393 154 -- REQUIREMENTS --; +#X obj 194 84 image medias/pdmtl_logo.gif; +#X msg 26 205 1.browser.pd; +#X msg 40 227 2.popup.pd; +#X text 292 577 -- xsample --; +#X text 388 40 This collection of abstractions is maintained by tof@danslchamp.org +\, puredata@11h11.com and alexandre@quessy.net.; +#X text 432 390 -- not part of a library (i.e. flatspace) --; +#X text 435 440 -- creb --; +#X text 286 422 -- ext13 --; +#X text 432 323 -- pdstring(moocow) --; +#X obj 117 598 pyext include/process sub; +#X text 29 470 -- tof --; +#X text 281 473 -- oscx --; +#X text 389 110 Version: 2009-04-11; +#X text 391 125 Release: 2.2; +#X text 393 173 Pd version 0.40.3-extended or Pd Vanilla (using libdir) +; +#X text 23 182 Browse the pdmtl abstractions:; +#X obj 31 494 tof/folderpanel; +#X obj 28 395 zexy/msgfile; +#X obj 27 345 cyclone/MouseState; +#X obj 160 346 ggee/getdir; +#X obj 159 396 hcs/folder_list; +#X obj 160 448 iemlib/dollarg; +#X obj 288 343 iemmatrix/mtx_mul; +#X obj 287 396 maxlib/dist; +#X obj 288 446 ext13/catch13~; +#X obj 285 495 oscx/sendOSC; +#X obj 437 461 creb/ead~; +#X obj 29 447 gemhead; +#X text 114 577 -- pyext --; +#X text 540 552 * not included in pd-extended; +#X text 392 234 -- USING --; +#X text 392 259 Simply; +#X obj 439 260 import pdmtl; +#X text 521 259 in your patch; +#X text 24 296 ------------------------ REQUIRED ---------------------- +; +#X text 361 296 ----------------------------------------------------------- +; +#X text 24 543 ------------------------ OPTIONNAL ------------------------- +; +#X text 385 542 ------------------------------------------------------- +; +#X text 26 577 -- lua --; +#X obj 31 599 lua; +#X obj 295 596 import xsample; +#X obj 389 596 xgroove~; +#X text 448 596 for sample.groove~; +#X obj 434 343 moocow/any2string; +#X obj 434 365 moocow/string2any; +#X obj 435 412 arraysize/arraysize; +#X connect 14 0 1 0; +#X connect 15 0 1 0; diff --git a/1.browser.pd b/1.browser.pd new file mode 100644 index 0000000..213fdfd --- /dev/null +++ b/1.browser.pd @@ -0,0 +1,216 @@ +#N canvas 3 677 399 160 10; +#N canvas 219 144 583 520 CODE 0; +#N canvas 102 310 999 691 patch 0; +#X obj 289 16 inlet; +#X obj 249 35 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 396 171 clear \, label pdmtl; +#X obj 261 440 r \$0abs_sel; +#X obj 466 252 r \$0cat_sel; +#X obj 3 507 s \$0categories; +#X obj 213 91 t b b b b; +#X msg 579 156 clear \, label abstractions; +#X obj 745 528 loadbang; +#X obj 648 761 print pdmtl_help_browser; +#X obj 617 4 inlet; +#X msg 49 167 dump.categories; +#N canvas 547 235 610 533 append_abs_qty 0; +#X obj 118 253 list prepend; +#X obj 169 322 convert.list2symbol none; +#X obj 50 155 makefilename (%d); +#X obj 244 152 t a a; +#X obj 169 356 list append; +#X obj 50 59 inlet; +#X obj 282 69 inlet; +#X obj 165 409 outlet; +#X obj 181 211 scale.symbol -1; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 0 0; +#X connect 3 0 8 0; +#X connect 3 1 4 1; +#X connect 4 0 7 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 8 0 0 1; +#X restore 7 452 pd append_abs_qty; +#X msg 518 412 dump.category \$1; +#X msg 788 333 clear; +#X msg 664 450 label \$1; +#X obj 581 485 s \$0abstractions; +#X obj 553 356 t b a a b; +#X obj 524 313 symbol; +#X obj 133 28 loadbang; +#X obj 252 60 t b b; +#X obj 661 407 scale.symbol -1; +#X obj 17 218 t a; +#X obj 467 282 route *(all); +#X obj 45 92 t b b; +#X msg -250 371 symbol *(all); +#X obj -41 350 demultiplex 0 1; +#X msg 353 274 1; +#X msg 310 273 0; +#X obj 219 383 symbol; +#X obj 272 321 f; +#X obj 94 350 demultiplex 0 1; +#X msg 218 412 dump.category \$1; +#X obj 421 345 t b b; +#X msg 475 492 label *(all); +#X obj 442 323 t b b b b b; +#X obj 283 558 del 500; +#X obj 260 474 spigot 1; +#X msg 398 482 0; +#X msg 213 578 1; +#X obj 287 533 t b b a; +#X obj 7 268 pdmtl.lister; +#X msg 738 587 Version 12; +#X connect 0 0 1 0; +#X connect 1 0 20 0; +#X connect 2 0 5 0; +#X connect 3 0 37 0; +#X connect 4 0 23 0; +#X connect 6 0 5 0; +#X connect 6 1 24 0; +#X connect 6 2 2 0; +#X connect 6 3 7 0; +#X connect 7 0 16 0; +#X connect 8 0 42 0; +#X connect 10 0 2 0; +#X connect 10 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 5 0; +#X connect 13 0 22 0; +#X connect 14 0 16 0; +#X connect 15 0 16 0; +#X connect 17 0 16 0; +#X connect 17 1 13 0; +#X connect 17 2 21 0; +#X connect 17 3 14 0; +#X connect 18 0 17 0; +#X connect 19 0 6 0; +#X connect 20 0 6 0; +#X connect 20 1 22 0; +#X connect 21 0 15 0; +#X connect 22 0 41 0; +#X connect 23 0 35 0; +#X connect 23 1 18 0; +#X connect 24 0 11 0; +#X connect 24 1 25 0; +#X connect 25 0 5 0; +#X connect 26 0 12 0; +#X connect 27 0 30 0; +#X connect 28 0 30 0; +#X connect 29 0 32 0; +#X connect 30 0 26 1; +#X connect 30 0 31 1; +#X connect 31 0 12 1; +#X connect 31 1 29 0; +#X connect 32 0 41 0; +#X connect 33 0 16 0; +#X connect 33 1 28 0; +#X connect 34 0 16 0; +#X connect 35 0 33 0; +#X connect 35 1 11 0; +#X connect 35 2 27 0; +#X connect 35 3 34 0; +#X connect 35 4 14 0; +#X connect 36 0 39 0; +#X connect 37 0 40 0; +#X connect 38 0 37 1; +#X connect 39 0 37 1; +#X connect 40 0 36 0; +#X connect 40 1 38 0; +#X connect 40 2 41 1; +#X connect 41 0 26 0; +#X connect 41 1 31 0; +#X connect 41 2 16 0; +#X connect 42 0 9 0; +#X restore 143 375 pd patch; +#X obj 92 76 r \$0categories; +#X obj 6 140 s \$0cat_sel; +#X obj 341 43 r \$0abstractions; +#X obj 259 137 s \$0abs_sel; +#X msg 194 10 clear; +#X obj 298 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 21 106 gui.browser \$0; +#X obj 143 255 b; +#X obj 143 219 r \$0refresh; +#X obj 251 112 gui.browser \$0_; +#X msg 391 172 text.font 0 \$1; +#X obj 450 89 sel 0 1 2; +#X msg 430 126 8; +#X msg 465 128 10; +#X msg 507 130 12; +#X obj 401 283 loadbang; +#X obj 491 7 r \$0text.size; +#X msg 401 305 1; +#X obj 401 327 s \$0text.sizer; +#X connect 1 0 7 1; +#X connect 3 0 10 1; +#X connect 5 0 7 1; +#X connect 5 0 10 1; +#X connect 6 0 0 1; +#X connect 7 0 2 0; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 10 0 4 0; +#X connect 11 0 10 1; +#X connect 11 0 7 1; +#X connect 12 0 13 0; +#X connect 12 1 14 0; +#X connect 12 2 15 0; +#X connect 13 0 11 0; +#X connect 14 0 11 0; +#X connect 15 0 11 0; +#X connect 16 0 18 0; +#X connect 17 0 12 0; +#X connect 18 0 19 0; +#X restore 228 2 pd CODE; +#X obj 183 24 vsl 15 131 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 13000 0; +#X obj 1 38 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r *(all) 2 8 0 10 -1 +-1 -262140 0; +#X obj 1 53 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r 2d(4) 2 8 0 10 -1 +-1 -262140 0; +#X obj 1 68 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r 3d(12) 2 8 0 10 -1 +-1 -262140 0; +#X obj 1 83 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r ambi(31) 2 8 0 10 +-1 -1 -262140 0; +#X obj 1 98 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r anal(7) 2 8 0 10 -1 +-1 -262140 0; +#X obj 1 113 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r convert(43) 2 8 0 +10 -1 -1 -262140 0; +#X obj 1 128 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r count(5) 2 8 0 10 +-1 -1 -262140 0; +#X obj 1 143 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r data(5) 2 8 0 10 +-1 -1 -262140 0; +#X obj 1 22 cnv 15 180 15 empty \$0hider pdmtl 3 9 0 8 -128992 -262144 +0; +#X obj 382 24 vsl 15 131 0 175 0 0 \$0_slider_s \$0_slider_r empty +0 -8 0 8 -1 -262144 -1 0 0; +#X obj 200 38 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 53 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 68 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 83 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 98 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 113 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 128 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 143 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 200 22 cnv 15 180 15 empty \$0_hider abstractions 3 9 0 8 -128992 +-262144 0; +#X obj 1 0 hradio 20 1 0 9 \$0refresh empty pdmtl.help.browser 4 10 +0 8 -1 -1 -262144 0; +#X obj 182 0 cnv 15 215 20 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 378 3 nbx 1 14 0 2 0 0 \$0text.size \$0text.sizer text.size +-48 7 0 8 -1 -262144 -262144 1 256; +#X coords 0 0 1 1 398 158 0; diff --git a/2.popup.pd b/2.popup.pd new file mode 100644 index 0000000..3e7954a --- /dev/null +++ b/2.popup.pd @@ -0,0 +1,104 @@ +#N canvas 595 364 361 64 10; +#X obj 92 21 s \$0cats; +#X obj 105 14 s \$0abss; +#X obj 102 4 r \$0cat; +#X obj 181 4 r \$0abs; +#X obj 0 0 cnv 15 358 60 empty empty pdmtl 4 6 0 10 -1 -262144 0; +#X obj 2 20 popup 150 20 grey90 ...; +#X obj 155 20 popup 200 20 grey90 ...; +#N canvas 0 0 1012 734 patch 0; +#X msg 185 148 append \$1; +#X msg 177 454 append \$1; +#X obj 226 -20 loadbang; +#X obj 321 495 s \$0abs; +#X obj 305 178 s \$0cat; +#X obj 266 220 r \$0cats; +#X obj 708 140 r \$0abss; +#X obj 463 11 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 228 24 t b b b; +#X obj 929 595 loadbang; +#X obj 331 800 print pdmtl_help_popup; +#N canvas 0 0 581 461 DELAY_VS_POPUP_BUG 0; +#X obj 61 32 inlet; +#X obj 152 177 spigot 1; +#X msg 253 251 0; +#X obj 196 311 delay 10; +#X msg 287 133 1; +#X obj 132 316 outlet; +#X obj 154 262 t a b b; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 4 0 1 1; +#X connect 6 0 5 0; +#X connect 6 1 3 0; +#X connect 6 2 2 0; +#X restore 171 250 pd DELAY_VS_POPUP_BUG; +#X msg 81 658 Checking abstractions in folder \$1; +#X msg 19 43 dump.categories; +#X obj 309 -8 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 63 410 dump.category \$1; +#X obj 191 274 symbol; +#X msg 304 343 options \, name ...; +#X msg 518 244 name ...; +#X obj 272 292 t a b; +#N canvas 0 0 581 461 DELAY_VS_POPUP_BUG 0; +#X obj 61 32 inlet; +#X obj 152 177 spigot 1; +#X msg 253 251 0; +#X obj 196 311 delay 10; +#X msg 287 133 1; +#X obj 132 316 outlet; +#X obj 154 262 t a b b; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 4 0 1 1; +#X connect 6 0 5 0; +#X connect 6 1 3 0; +#X connect 6 2 2 0; +#X restore 607 246 pd DELAY_VS_POPUP_BUG; +#X msg 259 127 options \, name ...; +#X obj 187 387 symbol; +#X obj 66 167 pdmtl.lister; +#X msg 922 654 Version 12; +#X obj 567 334 t a b; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X connect 2 0 8 0; +#X connect 5 0 11 0; +#X connect 6 0 20 0; +#X connect 7 0 21 0; +#X connect 7 0 17 0; +#X connect 8 0 13 0; +#X connect 8 1 21 0; +#X connect 8 2 17 0; +#X connect 9 0 24 0; +#X connect 11 0 16 0; +#X connect 12 0 10 0; +#X connect 13 0 23 0; +#X connect 14 0 8 0; +#X connect 15 0 23 0; +#X connect 16 0 19 0; +#X connect 17 0 3 0; +#X connect 18 0 4 0; +#X connect 19 0 15 0; +#X connect 19 1 17 0; +#X connect 20 0 25 0; +#X connect 21 0 4 0; +#X connect 22 0 1 0; +#X connect 23 1 0 0; +#X connect 23 2 22 0; +#X connect 24 0 10 0; +#X connect 25 0 23 1; +#X connect 25 1 18 0; +#X restore 3 41 pd patch; +#X connect 2 0 5 0; +#X connect 3 0 6 0; +#X connect 5 1 0 0; +#X connect 6 1 1 0; +#X coords 0 0 1 1 352 37 0; diff --git a/2d.angle-help.pd b/2d.angle-help.pd new file mode 100644 index 0000000..5ce0ad5 --- /dev/null +++ b/2d.angle-help.pd @@ -0,0 +1,82 @@ +#N canvas 423 154 749 478 10; +#X floatatom 39 184 5 0 0 0 - - -; +#X msg 39 79 0 1; +#X msg 126 78 9 5; +#X msg 157 78 1 0; +#X msg 73 79 -2 6; +#X text 36 56 Target point.; +#X text 124 56 Reference point.; +#X text 86 182 Angle in degrees.; +#X msg 189 78 0 -1; +#X obj 39 141 2d.angle; +#X text 35 4 Description: Returns the angle in degrees between two +2d points.; +#X text 301 48 -- GEM EXAMPLE --; +#X obj 308 217 gemhead; +#X obj 308 305 circle 0.3; +#X obj 308 277 colorRGB 1 0 0; +#X obj 383 193 cos; +#X obj 432 193 sin; +#X obj 308 250 translateXYZ 0 0 0; +#X floatatom 364 218 5 0 0 0 - - -; +#X floatatom 419 222 5 0 0 0 - - -; +#X obj 477 271 2d.angle; +#X obj 418 169 t f f; +#X obj 463 249 pack; +#X floatatom 477 319 5 0 0 0 - - -; +#X obj 417 317 gemhead; +#X obj 417 417 curve 2; +#X msg 436 392 0 0 0; +#X msg 477 391 1 0 0; +#X obj 417 343 rotateXYZ; +#X obj 418 97 metro 1000; +#X obj 418 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 418 122 random.f 0 6; +#X obj 418 54 loadbang; +#X obj 436 364 loadbang; +#X text 460 222 x y position of red circle.; +#X text 486 295 angle between 0 0 and x y of circle; +#X msg 531 166 3; +#X msg 531 142 4; +#X msg 530 119 6; +#X msg 532 188 0.1; +#X obj 304 97 gems.win; +#X msg 304 71 1; +#X msg 335 70 0; +#X connect 1 0 9 0; +#X connect 2 0 9 1; +#X connect 3 0 9 1; +#X connect 4 0 9 0; +#X connect 8 0 9 1; +#X connect 9 0 0 0; +#X connect 12 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 18 0; +#X connect 16 0 19 0; +#X connect 17 0 14 0; +#X connect 18 0 17 1; +#X connect 18 0 22 0; +#X connect 19 0 17 2; +#X connect 19 0 22 1; +#X connect 20 0 23 0; +#X connect 21 0 15 0; +#X connect 21 1 16 0; +#X connect 22 0 20 0; +#X connect 23 0 28 3; +#X connect 24 0 28 0; +#X connect 26 0 25 1; +#X connect 27 0 25 2; +#X connect 28 0 25 0; +#X connect 29 0 31 0; +#X connect 30 0 29 0; +#X connect 31 0 21 0; +#X connect 32 0 30 0; +#X connect 33 0 26 0; +#X connect 33 0 27 0; +#X connect 36 0 21 0; +#X connect 37 0 21 0; +#X connect 38 0 21 0; +#X connect 39 0 21 0; +#X connect 41 0 40 0; +#X connect 42 0 40 0; diff --git a/2d.angle.line-help.pd b/2d.angle.line-help.pd new file mode 100644 index 0000000..eb14868 --- /dev/null +++ b/2d.angle.line-help.pd @@ -0,0 +1,39 @@ +#N canvas 362 58 648 394 10; +#X text 278 38 -- GEM EXAMPLE --; +#X text 36 6 Description: A ramp between two angles that takes the +quickest route.; +#X text 34 96 Inlet_1: The target angle.; +#X text 34 136 Inlet_3: Set the current angle.; +#X text 34 116 Inlet_2: Set the ramp time.; +#X text 34 165 Argument_1: The ramp time.; +#X text 34 183 Argument_2: The initial angle.; +#X obj 285 83 gems.win; +#X msg 285 59 1; +#X obj 286 124 gemhead; +#X obj 286 172 translateXYZ; +#X obj 309 146 unpack; +#X obj 285 286 rectangle 0.1 1; +#X obj 426 107 t a a a; +#X obj 427 129 2d.angle; +#X obj 285 235 rotateXYZ; +#X obj 393 217 + 90; +#X obj 285 262 translateXYZ 0 1 0; +#X msg 339 60 0; +#X obj 426 84 gems.mouse; +#X obj 427 153 2d.angle.line 100; +#X obj 38 61 2d.angle.line 5; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 15 0; +#X connect 11 0 10 1; +#X connect 11 1 10 2; +#X connect 13 0 14 1; +#X connect 13 1 14 0; +#X connect 13 2 11 0; +#X connect 14 0 20 0; +#X connect 15 0 17 0; +#X connect 16 0 15 3; +#X connect 17 0 12 0; +#X connect 18 0 7 0; +#X connect 19 0 13 0; +#X connect 20 0 16 0; diff --git a/2d.angle.line.pd b/2d.angle.line.pd new file mode 100644 index 0000000..ea96a7c --- /dev/null +++ b/2d.angle.line.pd @@ -0,0 +1,72 @@ +#N canvas 362 123 799 765 10; +#X obj 371 32 inlet current_angle; +#X obj 25 10 inlet target_angle; +#X obj 314 627 line; +#X obj 229 667 t f f; +#X obj 228 713 outlet; +#X obj 247 20 inlet time; +#X obj 474 79 loadbang; +#X obj 394 110 f \$2; +#X obj 456 351 moses 0; +#X obj 537 397 moses 180; +#X obj 430 388 moses -180; +#X msg 488 423 0; +#X obj 401 462 demultiplex 0 1 2; +#X obj 98 253 -; +#X obj 25 67 moses 0; +#X obj 178 125 mod 360; +#X obj 77 306 f 0; +#X obj 126 212 f 0; +#X obj 78 181 t b f b f; +#X obj 45 156 t f f; +#X msg 430 412 1; +#X msg 595 427 2; +#X obj 542 508 expr 360+$f1; +#X obj 443 504 expr $f1-360; +#X msg 385 165 \$1 0; +#X obj 441 543 t f f; +#X obj 289 528 pack f \$1; +#X msg 277 569 \$1 \$2; +#X msg 431 569 \$1 0; +#X obj 8 106 expr (($f1*(-1))%360)*(-1); +#X connect 0 0 7 0; +#X connect 1 0 14 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 1 16 1; +#X connect 3 1 17 1; +#X connect 5 0 26 1; +#X connect 6 0 7 0; +#X connect 7 0 24 0; +#X connect 8 0 10 0; +#X connect 8 1 9 0; +#X connect 9 0 11 0; +#X connect 9 1 21 0; +#X connect 10 0 20 0; +#X connect 10 1 11 0; +#X connect 11 0 12 1; +#X connect 12 1 23 0; +#X connect 12 2 22 0; +#X connect 13 0 8 0; +#X connect 14 0 29 0; +#X connect 14 1 15 0; +#X connect 15 0 19 0; +#X connect 16 0 12 0; +#X connect 17 0 13 1; +#X connect 18 0 16 0; +#X connect 18 1 13 0; +#X connect 18 2 17 0; +#X connect 19 0 26 0; +#X connect 19 1 18 0; +#X connect 20 0 12 1; +#X connect 21 0 12 1; +#X connect 22 0 25 0; +#X connect 23 0 25 0; +#X connect 24 0 2 0; +#X connect 25 0 28 0; +#X connect 25 1 16 1; +#X connect 25 1 17 1; +#X connect 26 0 27 0; +#X connect 27 0 2 0; +#X connect 28 0 2 0; +#X connect 29 0 19 0; diff --git a/2d.angle.pd b/2d.angle.pd new file mode 100644 index 0000000..9a40fa2 --- /dev/null +++ b/2d.angle.pd @@ -0,0 +1,93 @@ +#N canvas 0 22 1012 720 10; +#X obj 284 457 atan; +#X obj 165 182 inlet; +#X obj 316 177 inlet; +#X text 203 184 x y; +#X obj 178 211 unpack; +#X obj 294 208 unpack; +#X obj 208 253 - \$1; +#X obj 287 252 - \$2; +#X obj 281 436 /; +#X obj 288 411 swap; +#X obj 364 387 < 0; +#X obj 275 366 t f f; +#X obj 427 558 *; +#X obj 480 571 +; +#X obj 420 403 pack; +#X obj 372 354 t f f; +#X obj 422 373 > 0; +#X obj 449 427 route 1; +#X obj 448 455 sel 0 1; +#X obj 427 598 *; +#X obj 238 278 pack; +#X obj 292 334 unpack; +#X obj 238 302 route 0; +#X obj 168 343 moses 0; +#X obj 348 679 outlet; +#X obj 378 639 * 57.2958; +#X obj 197 374 number.pi; +#X obj 202 407 / 2; +#X obj 99 387 number.pi; +#X obj 104 420 / -2; +#X obj 567 439 t b b; +#X obj 383 476 t b b; +#X msg 560 462 1; +#X msg 605 461 0; +#X msg 379 499 -1; +#X obj 431 501 number.pi; +#X obj 589 516 number.pi; +#X msg 526 512 1; +#X obj 516 491 t b b; +#X connect 0 0 12 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 6 0; +#X connect 4 1 7 0; +#X connect 5 0 6 1; +#X connect 5 1 7 1; +#X connect 6 0 20 0; +#X connect 7 0 20 1; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 9 1 8 1; +#X connect 10 0 14 0; +#X connect 11 0 9 0; +#X connect 11 1 10 0; +#X connect 12 0 13 0; +#X connect 13 0 19 0; +#X connect 14 0 17 0; +#X connect 15 0 9 1; +#X connect 15 1 16 0; +#X connect 16 0 14 1; +#X connect 17 0 18 0; +#X connect 17 1 30 0; +#X connect 18 0 31 0; +#X connect 18 1 38 0; +#X connect 19 0 25 0; +#X connect 20 0 22 0; +#X connect 21 0 11 0; +#X connect 21 1 15 0; +#X connect 22 0 23 0; +#X connect 22 1 21 0; +#X connect 23 0 28 0; +#X connect 23 1 26 0; +#X connect 25 0 24 0; +#X connect 26 0 27 0; +#X connect 27 0 25 0; +#X connect 28 0 29 0; +#X connect 29 0 25 0; +#X connect 30 0 32 0; +#X connect 30 1 33 0; +#X connect 31 0 34 0; +#X connect 31 1 35 0; +#X connect 32 0 12 1; +#X connect 32 0 19 1; +#X connect 33 0 13 1; +#X connect 34 0 12 1; +#X connect 34 0 19 1; +#X connect 35 0 13 1; +#X connect 36 0 13 1; +#X connect 37 0 12 1; +#X connect 37 0 19 1; +#X connect 38 0 37 0; +#X connect 38 1 36 0; diff --git a/2d.distance-help.pd b/2d.distance-help.pd new file mode 100644 index 0000000..e0afb1a --- /dev/null +++ b/2d.distance-help.pd @@ -0,0 +1,88 @@ +#N canvas 68 170 706 354 10; +#X floatatom 232 238 5 0 0 0 - - -; +#X obj 31 112 cnv 15 127 127 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 69 120 cnv 15 15 15 empty c1 empty 20 12 0 14 -258699 -66577 +0; +#X obj 132 203 cnv 15 15 15 empty c2 empty 20 12 0 14 -62784 -66577 +0; +#X obj 13 110 vsl 15 128 0 112 0 1 rv empty empty 0 -8 0 8 -258699 +-1 -1 10400 1; +#X obj 31 93 hsl 128 15 0 112 0 1 rh empty empty -2 -6 0 8 -258699 +-1 -1 4500 1; +#X obj 162 111 vsl 15 128 0 112 0 1 bv empty empty 0 -8 0 8 -62784 +-1 -1 1000 1; +#X obj 31 242 hsl 128 15 0 112 0 1 bh empty empty -2 -6 0 8 -62784 +-1 -1 11600 1; +#N canvas 0 22 482 332 graphics.guts 0; +#X obj 100 157 pack; +#X obj 84 130 t b f; +#X msg 79 186 \; c1 pos \$1 \$2; +#X msg 246 185 \; c2 pos \$1 \$2; +#X obj 248 166 pack; +#X obj 54 121 -; +#X obj 241 80 -; +#X msg 55 99 112 \$1; +#X msg 240 61 112 \$1; +#X obj 242 137 t b b f; +#X obj 190 133 t b f; +#X obj 192 114 r bh; +#X obj 264 38 r bv; +#X obj 122 116 r rh; +#X obj 58 46 r rv; +#X obj 94 231 s red_position; +#X obj 242 236 s blue_position; +#X obj 241 105 + 100; +#X obj 36 148 + 100; +#X connect 0 0 2 0; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 4 0 3 0; +#X connect 4 0 16 0; +#X connect 5 0 18 0; +#X connect 6 0 17 0; +#X connect 7 0 5 0; +#X connect 8 0 6 0; +#X connect 9 0 0 0; +#X connect 9 1 4 0; +#X connect 9 2 4 1; +#X connect 10 0 0 0; +#X connect 10 1 4 0; +#X connect 11 0 10 0; +#X connect 12 0 8 0; +#X connect 13 0 0 0; +#X connect 14 0 7 0; +#X connect 17 0 9 0; +#X connect 18 0 1 0; +#X restore 46 266 pd graphics.guts; +#X obj 207 109 r red_position; +#X obj 334 111 r blue_position; +#X obj 334 132 unpack; +#X obj 331 172 pack; +#X floatatom 334 153 5 0 0 0 - - -; +#X floatatom 390 153 5 0 0 0 - - -; +#X obj 207 130 unpack; +#X obj 207 170 pack; +#X floatatom 207 151 5 0 0 0 - - -; +#X floatatom 250 151 5 0 0 0 - - -; +#X obj 232 204 2d.distance; +#X text 5 19 Description: Calculates the 2d distance between 2 points. +; +#X text 2 52 Drag the sliders to move the squares.; +#X text 322 199 Both inlets expect a pair of x y coordinates.; +#X text 277 238 Distance in pixels between the blue and red square. +; +#X connect 9 0 15 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 11 1 14 0; +#X connect 12 0 19 1; +#X connect 13 0 12 0; +#X connect 14 0 12 1; +#X connect 15 0 17 0; +#X connect 15 1 18 0; +#X connect 16 0 19 0; +#X connect 17 0 16 0; +#X connect 18 0 16 1; +#X connect 19 0 0 0; diff --git a/2d.distance.pd b/2d.distance.pd new file mode 100644 index 0000000..2a94c50 --- /dev/null +++ b/2d.distance.pd @@ -0,0 +1,32 @@ +#N canvas 0 22 486 336 10; +#X obj 82 25 inlet; +#X obj 216 26 inlet; +#X text 120 27 x y; +#X text 253 27 x y; +#X obj 95 54 unpack; +#X obj 211 51 unpack; +#X obj 182 192 +; +#X obj 183 226 sqrt; +#X obj 186 264 outlet; +#X obj 124 93 - \$1; +#X obj 212 89 - \$2; +#X obj 123 149 *; +#X obj 221 149 *; +#X obj 123 119 t f f; +#X obj 215 112 t f f; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 4 0 9 0; +#X connect 4 1 10 0; +#X connect 5 0 9 1; +#X connect 5 1 10 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 9 0 13 0; +#X connect 10 0 14 0; +#X connect 11 0 6 0; +#X connect 12 0 6 1; +#X connect 13 0 11 0; +#X connect 13 1 11 1; +#X connect 14 0 12 0; +#X connect 14 1 12 1; diff --git a/2d.ratio-help.pd b/2d.ratio-help.pd new file mode 100644 index 0000000..89bcc00 --- /dev/null +++ b/2d.ratio-help.pd @@ -0,0 +1,16 @@ +#N canvas 1 47 420 238 10; +#X obj 31 108 2d.ratio; +#X msg 31 60 640 480; +#X msg 87 60 320 240; +#X msg 142 60 256 256; +#X obj 31 141 print; +#X text 29 12 Description: Returns the ratio of two values between +each other.; +#X obj 84 143 /; +#X floatatom 84 172 5 0 0 0 - - -; +#X connect 0 0 4 0; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 6 0 7 0; diff --git a/2d.ratio.pd b/2d.ratio.pd new file mode 100644 index 0000000..1a905fd --- /dev/null +++ b/2d.ratio.pd @@ -0,0 +1,34 @@ +#N canvas 0 0 619 400 10; +#X obj 166 198 /; +#X obj 208 200 /; +#X obj 200 32 inlet; +#X obj 182 274 outlet; +#X obj 199 60 t l l; +#X obj 182 132 unpack; +#X obj 188 240 pack; +#X obj 324 281 outlet; +#X obj 322 221 /; +#X obj 364 223 /; +#X obj 155 160 t f f; +#X obj 207 160 t f f; +#X obj 328 248 pack; +#X obj 259 145 list.min.max; +#X connect 0 0 6 0; +#X connect 1 0 6 1; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 13 0; +#X connect 5 0 10 0; +#X connect 5 1 11 0; +#X connect 6 0 3 0; +#X connect 8 0 12 0; +#X connect 9 0 12 1; +#X connect 10 0 0 0; +#X connect 10 1 8 0; +#X connect 11 0 1 0; +#X connect 11 1 9 0; +#X connect 12 0 7 0; +#X connect 13 0 8 1; +#X connect 13 0 9 1; +#X connect 13 1 0 1; +#X connect 13 1 1 1; diff --git a/3.readme.txt b/3.readme.txt new file mode 100644 index 0000000..3f174d0 --- /dev/null +++ b/3.readme.txt @@ -0,0 +1,2 @@ +Goto http://wiki.dataflow.ws/PdMtlAbstractions for installation and usage instructions. + diff --git a/3d.add-help.pd b/3d.add-help.pd new file mode 100644 index 0000000..68dc7d1 --- /dev/null +++ b/3d.add-help.pd @@ -0,0 +1,24 @@ +#N canvas 129 119 460 293 10; +#X msg 41 90 2 1 0; +#X msg 103 92 3 4 5; +#X obj 27 162 unpack f f f; +#X floatatom 27 185 5 0 0 0 - - -; +#X floatatom 66 185 5 0 0 0 - - -; +#X floatatom 106 186 5 0 0 0 - - -; +#X text 89 22 - adds two vectors; +#X msg 15 67 1 2 3; +#X text 187 68 args: ; +#X text 185 98 1st inlet: accepts list of 3 floats; +#X text 185 118 2nd inlet: accepts list of 3 floats; +#X text 187 158 outlet: list of 3 floats; +#X obj 27 22 3d.add; +#X text 283 244 Version: 2007-12-09; +#X text 284 263 Author: Roman Haefeli; +#X obj 27 128 3d.add 0 1 2; +#X connect 0 0 15 0; +#X connect 1 0 15 1; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 5 0; +#X connect 7 0 15 0; +#X connect 15 0 2 0; diff --git a/3d.add.pd b/3d.add.pd new file mode 100644 index 0000000..d267632 --- /dev/null +++ b/3d.add.pd @@ -0,0 +1,32 @@ +#N canvas 78 84 498 265 10; +#X obj 35 48 unpack f f f; +#X obj 35 153 pack f f f; +#X text 211 153 V =; +#X obj 168 49 unpack f f f; +#X text 128 10 A; +#X text 263 12 B; +#X text 135 181 V; +#X obj 35 9 inlet vector; +#X obj 168 12 inlet vector; +#X obj 35 178 outlet vector; +#X text 245 137 | Ax+Bx |; +#X text 245 153 | Ay+By |; +#X text 245 169 | Ay+By |; +#X text 318 154 = A + B; +#X obj 35 121 + \$1; +#X obj 74 122 + \$2; +#X obj 114 122 + \$3; +#X text 292 225 Version: 2007-12-09; +#X text 293 244 Author: Roman Haefeli; +#X connect 0 0 14 0; +#X connect 0 1 15 0; +#X connect 0 2 16 0; +#X connect 1 0 9 0; +#X connect 3 0 14 1; +#X connect 3 1 15 1; +#X connect 3 2 16 1; +#X connect 7 0 0 0; +#X connect 8 0 3 0; +#X connect 14 0 1 0; +#X connect 15 0 1 1; +#X connect 16 0 1 2; diff --git a/3d.angle-help.pd b/3d.angle-help.pd new file mode 100644 index 0000000..61b1e16 --- /dev/null +++ b/3d.angle-help.pd @@ -0,0 +1,24 @@ +#N canvas 350 238 488 294 10; +#X msg 127 92 1 0 0; +#X text 194 70 args: ; +#X text 192 100 1st inlet: accepts list of 3 floats; +#X text 192 120 2nd inlet: accepts list of 3 floats; +#X floatatom 24 232 5 0 0 0 - - -; +#X msg 50 67 0 -1 0; +#X text 80 28 - computes the angle between both incoming vectors; +#X text 191 160 outlet: float ; +#X msg 62 92 -1 0 0; +#X msg 9 89 1 1 0; +#X msg 130 114 0 1 0; +#X obj 13 26 3d.angle; +#X obj 24 139 3d.angle 0 1 0; +#X text 310 246 Version: 2007-12-09; +#X text 311 265 Author: Roman Haefeli; +#X obj 24 184 convert.radian2degree; +#X connect 0 0 12 1; +#X connect 5 0 12 0; +#X connect 8 0 12 0; +#X connect 9 0 12 0; +#X connect 10 0 12 1; +#X connect 12 0 15 0; +#X connect 15 0 4 0; diff --git a/3d.angle.pd b/3d.angle.pd new file mode 100644 index 0000000..f42a824 --- /dev/null +++ b/3d.angle.pd @@ -0,0 +1,46 @@ +#N canvas 110 65 471 385 10; +#X obj 23 228 expr acos($f1); +#X obj 23 21 inlet vector; +#X obj 234 22 inlet vector; +#X obj 23 170 /; +#X obj 23 200 /; +#X obj 23 273 outlet float; +#X text 118 23 A; +#X text 328 24 B; +#X text 257 195 .; +#X text 151 198 rho = arccos((A; +#X text 266 198 B)/(|A|*|B|)); +#X text 118 273 rho; +#X text 25 308 computes the angle (radian) between both incoming vectors +; +#X obj 352 27 loadbang; +#X obj 352 50 t b b b; +#X obj 352 73 \$1; +#X obj 384 73 \$2; +#X obj 417 74 \$3; +#X obj 352 96 pack f f f; +#X obj 234 150 3d.magnitude; +#X obj 144 119 3d.magnitude; +#X obj 23 119 3d.dot \$1 \$2 \$3; +#X text 291 344 Version: 2007-12-09; +#X text 292 363 Author: Roman Haefeli; +#X obj 23 50 t a a; +#X connect 0 0 5 0; +#X connect 1 0 24 0; +#X connect 2 0 19 0; +#X connect 2 0 21 1; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 14 1 16 0; +#X connect 14 2 17 0; +#X connect 15 0 18 0; +#X connect 16 0 18 1; +#X connect 17 0 18 2; +#X connect 18 0 19 0; +#X connect 19 0 4 1; +#X connect 20 0 3 1; +#X connect 21 0 3 0; +#X connect 24 0 21 0; +#X connect 24 1 20 0; diff --git a/3d.cross-help.pd b/3d.cross-help.pd new file mode 100644 index 0000000..381bde4 --- /dev/null +++ b/3d.cross-help.pd @@ -0,0 +1,30 @@ +#N canvas 94 150 476 313 10; +#X obj 24 177 unpack f f f; +#X floatatom 24 202 5 0 0 0 - - -; +#X floatatom 63 202 5 0 0 0 - - -; +#X floatatom 103 202 5 0 0 0 - - -; +#X text 89 29 - computes the cross product of two vectors; +#X msg 9 89 1 0 0; +#X msg 50 67 0 1 0; +#X msg 62 92 0 0 1; +#X msg 128 96 1 0 0; +#X msg 131 118 0 0 1; +#X text 26 233 the outcoming vector is orthogonal to both incoming +vectors; +#X text 195 81 args: ; +#X text 193 111 1st inlet: accepts list of 3 floats; +#X text 193 131 2nd inlet: accepts list of 3 floats; +#X text 195 171 outlet: list of 3 floats; +#X obj 24 139 3d.cross 0 1 0; +#X text 279 263 Version: 2007-12-09; +#X text 280 282 Author: Roman Haefeli; +#X obj 22 27 3d.cross; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 3 0; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 7 0 15 0; +#X connect 8 0 15 1; +#X connect 9 0 15 1; +#X connect 15 0 0 0; diff --git a/3d.cross.pd b/3d.cross.pd new file mode 100644 index 0000000..3cfd101 --- /dev/null +++ b/3d.cross.pd @@ -0,0 +1,60 @@ +#N canvas 213 104 543 353 10; +#X obj 65 58 unpack f f f; +#X obj 35 267 pack f f f; +#X text 316 250 V =; +#X obj 244 62 unpack f f f; +#X obj 51 213 -; +#X obj 146 221 -; +#X obj 267 216 -; +#X obj 35 238 f; +#X obj 146 194 f; +#X obj 202 167 t b f; +#X text 350 230 | Ay*Bz-Az*By |; +#X text 128 10 A; +#X text 339 13 B; +#X text 350 248 | Az*Bx-Ax*Bz |; +#X text 350 266 | Ax*By-Ay*Bx |; +#X text 460 249 = A x B; +#X text 134 293 V; +#X obj 35 9 inlet vector; +#X obj 244 13 inlet vector; +#X obj 35 292 outlet vector; +#X obj 35 34 t b l; +#X obj 162 144 * \$1; +#X obj 307 145 * \$1; +#X obj 91 144 * \$2; +#X obj 267 145 * \$2; +#X obj 202 144 * \$3; +#X obj 51 142 * \$3; +#X text 344 307 Version: 2007-12-09; +#X text 345 326 Author: Roman Haefeli; +#X connect 0 0 24 0; +#X connect 0 0 25 0; +#X connect 0 1 22 0; +#X connect 0 1 26 0; +#X connect 0 2 21 0; +#X connect 0 2 23 0; +#X connect 1 0 19 0; +#X connect 3 0 21 1; +#X connect 3 0 22 1; +#X connect 3 1 23 1; +#X connect 3 1 24 1; +#X connect 3 2 25 1; +#X connect 3 2 26 1; +#X connect 4 0 7 1; +#X connect 5 0 1 1; +#X connect 6 0 1 2; +#X connect 7 0 1 0; +#X connect 8 0 5 0; +#X connect 9 0 8 0; +#X connect 9 1 5 1; +#X connect 17 0 20 0; +#X connect 18 0 3 0; +#X connect 20 0 7 0; +#X connect 20 1 0 0; +#X connect 21 0 8 1; +#X connect 22 0 6 1; +#X connect 23 0 4 1; +#X connect 24 0 6 0; +#X connect 25 0 9 0; +#X connect 26 0 4 0; diff --git a/3d.distance-help.pd b/3d.distance-help.pd new file mode 100644 index 0000000..c54d46f --- /dev/null +++ b/3d.distance-help.pd @@ -0,0 +1,16 @@ +#N canvas 378 442 450 300 10; +#X msg 28 90 0 1 4; +#X text 30 73 x y z; +#X text 245 72 x y z; +#X msg 244 93 5 -3 4; +#X obj 130 144 3d.distance 3 -7 0; +#X text 27 21 Description: Returns the distance between two 3d points. +; +#X floatatom 137 189 5 0 0 0 - - -; +#X msg 126 89 3 -7 0; +#X msg 308 92 3 -7 0; +#X connect 0 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 6 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; diff --git a/3d.distance.pd b/3d.distance.pd new file mode 100644 index 0000000..238575d --- /dev/null +++ b/3d.distance.pd @@ -0,0 +1,43 @@ +#N canvas 0 0 478 328 12; +#X obj 82 25 inlet; +#X obj 216 26 inlet; +#X obj 175 192 +; +#X obj 179 249 sqrt; +#X obj 174 278 outlet; +#X obj 124 93 - \$1; +#X obj 212 89 - \$2; +#X text 132 25 x y z; +#X text 274 27 x y z; +#X obj 95 54 unpack f f f; +#X obj 208 220 +; +#X obj 304 89 - \$3; +#X obj 126 122 t f f; +#X obj 211 121 t f f; +#X obj 296 127 t f f; +#X obj 126 160 *; +#X obj 198 152 *; +#X obj 280 165 *; +#X obj 211 51 unpack \$1 \$2 \$3; +#X connect 0 0 9 0; +#X connect 1 0 18 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 5 0 12 0; +#X connect 6 0 13 0; +#X connect 9 0 5 0; +#X connect 9 1 6 0; +#X connect 9 2 11 0; +#X connect 10 0 3 0; +#X connect 11 0 14 0; +#X connect 12 0 15 0; +#X connect 12 1 15 1; +#X connect 13 0 16 0; +#X connect 13 1 16 1; +#X connect 14 0 17 0; +#X connect 14 1 17 1; +#X connect 15 0 2 0; +#X connect 16 0 2 1; +#X connect 17 0 10 1; +#X connect 18 0 5 1; +#X connect 18 1 6 1; +#X connect 18 2 11 1; diff --git a/3d.dot-help.pd b/3d.dot-help.pd new file mode 100644 index 0000000..fce7f99 --- /dev/null +++ b/3d.dot-help.pd @@ -0,0 +1,26 @@ +#N canvas 144 191 482 404 10; +#X msg 9 89 1 0 0; +#X msg 127 92 1 0 0; +#X msg 130 114 0 0 1; +#X text 195 81 args: ; +#X text 193 111 1st inlet: accepts list of 3 floats; +#X text 193 131 2nd inlet: accepts list of 3 floats; +#X text 68 27 - computes the dot product of two vectors; +#X text 192 169 outlet: float ; +#X floatatom 24 185 5 0 0 0 - - -; +#X msg 50 67 0 -1 0; +#X msg 62 92 0 0 -1; +#X text 22 228 the dot product is the same as: |A|*|B|*cos(rho); +#X text 25 248 where rho is the angle between the vectors A and B; +#X text 314 354 Version: 2007-12-09; +#X text 315 373 Author: Roman Haefeli; +#X obj 17 27 3d.dot; +#X obj 24 139 3d.dot 0 1 0; +#X text 23 277 don't know for what it could be useful besides computing +the angle.; +#X connect 0 0 16 0; +#X connect 1 0 16 1; +#X connect 2 0 16 1; +#X connect 9 0 16 0; +#X connect 10 0 16 0; +#X connect 16 0 8 0; diff --git a/3d.dot.pd b/3d.dot.pd new file mode 100644 index 0000000..bba2c60 --- /dev/null +++ b/3d.dot.pd @@ -0,0 +1,33 @@ +#N canvas 59 4 508 268 10; +#X obj 16 21 inlet vector; +#X text 113 23 A; +#X obj 168 22 inlet vector; +#X text 265 24 B; +#X obj 168 53 unpack f f f; +#X obj 16 54 unpack f f f; +#X obj 16 119 * \$1; +#X obj 55 119 * \$2; +#X obj 95 120 * \$3; +#X obj 16 152 +; +#X obj 16 182 +; +#X obj 16 220 outlet float; +#X text 139 158 A; +#X text 151 155 .; +#X text 163 158 B = Ax*Bx+Ay*By+Az*Bz = |A|*|B|*cos(rho); +#X text 138 187 where rho is the angle between the vectors A and B +; +#X text 310 220 Version: 2007-12-09; +#X text 311 239 Author: Roman Haefeli; +#X connect 0 0 5 0; +#X connect 2 0 4 0; +#X connect 4 0 6 1; +#X connect 4 1 7 1; +#X connect 4 2 8 1; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 5 2 8 0; +#X connect 6 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; diff --git a/3d.magnitude-help.pd b/3d.magnitude-help.pd new file mode 100644 index 0000000..330b162 --- /dev/null +++ b/3d.magnitude-help.pd @@ -0,0 +1,17 @@ +#N canvas 144 150 448 298 10; +#X text 134 35 - computes the magnitude of a vector; +#X text 184 79 args: none; +#X text 182 109 inlet: accepts list of 3 floats; +#X text 180 143 outlet: float ; +#X floatatom 32 188 5 0 0 0 - - -; +#X msg 62 79 3 1 2; +#X msg 100 98 0 0 7; +#X text 278 249 Version: 2007-12-09; +#X text 279 268 Author: Roman Haefeli; +#X obj 24 33 3d.magnitude; +#X obj 32 149 3d.magnitude; +#X msg 15 99 1 1 0; +#X connect 5 0 10 0; +#X connect 6 0 10 0; +#X connect 10 0 4 0; +#X connect 11 0 10 0; diff --git a/3d.magnitude.pd b/3d.magnitude.pd new file mode 100644 index 0000000..be80003 --- /dev/null +++ b/3d.magnitude.pd @@ -0,0 +1,35 @@ +#N canvas 139 64 481 270 10; +#X obj 21 39 unpack f f f; +#X obj 21 104 *; +#X obj 76 104 *; +#X obj 131 103 *; +#X obj 21 127 +; +#X obj 21 148 +; +#X obj 21 169 sqrt; +#X obj 21 198 outlet float; +#X obj 21 14 inlet vector; +#X text 115 14 A; +#X text 115 199 m; +#X text 179 173 m = (Ax^2+Ay^2+Az^2)^(1/2); +#X text 129 143 computes the magnitude of the incoming vector; +#X obj 21 82 t f f; +#X obj 76 82 t f f; +#X obj 131 81 t f f; +#X text 301 226 Version: 2007-12-09; +#X text 302 245 Author: Roman Haefeli; +#X connect 0 0 13 0; +#X connect 0 1 14 0; +#X connect 0 2 15 0; +#X connect 1 0 4 0; +#X connect 2 0 4 1; +#X connect 3 0 5 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 8 0 0 0; +#X connect 13 0 1 0; +#X connect 13 1 1 1; +#X connect 14 0 2 0; +#X connect 14 1 2 1; +#X connect 15 0 3 0; +#X connect 15 1 3 1; diff --git a/3d.move-help.pd b/3d.move-help.pd new file mode 100644 index 0000000..206ab30 --- /dev/null +++ b/3d.move-help.pd @@ -0,0 +1,33 @@ +#N canvas 145 173 557 352 10; +#X obj 24 177 unpack f f f; +#X floatatom 24 202 5 0 0 0 - - -; +#X floatatom 63 202 5 0 0 0 - - -; +#X floatatom 103 202 5 0 0 0 - - -; +#X text 221 166 2nd inlet: accepts list of 3 floats; +#X text 222 265 outlet: list of 3 floats; +#X text 88 26 - moves a vector in the given direction on each step +; +#X msg 88 107 2 2 2; +#X obj 24 100 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 167 114 4 3 5; +#X msg 152 92 1 1 1; +#X text 243 70 args: ; +#X text 287 88 startpoint and direction; +#X text 221 120 1st inlet: accepts bangs; +#X text 220 216 3rd inlet: accepts list of 3 floats; +#X text 295 186 sets the startpoint; +#X text 297 233 sets the direction; +#X text 295 136 trigger; +#X text 390 312 Version: 2007-12-09; +#X text 391 331 Author: Roman Haefeli; +#X obj 23 24 3d.move; +#X obj 24 139 3d.move 0 0 0 1 2 4; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 3 0; +#X connect 7 0 21 1; +#X connect 8 0 21 0; +#X connect 9 0 21 2; +#X connect 10 0 21 2; +#X connect 21 0 0 0; diff --git a/3d.move.pd b/3d.move.pd new file mode 100644 index 0000000..44e01c4 --- /dev/null +++ b/3d.move.pd @@ -0,0 +1,44 @@ +#N canvas 145 82 431 344 10; +#X obj 112 26 inlet vector; +#X obj 112 69 unpack f f f; +#X obj 233 25 inlet vector; +#X obj 233 68 unpack f f f; +#X text 326 25 D; +#X text 205 26 L; +#X obj 9 25 inlet bang; +#X text 57 47 step; +#X obj 9 80 t b b b; +#X obj 10 197 pack f f f; +#X obj 10 241 outlet vector; +#X text 113 241 V; +#X text 70 270 moves a vector L in direction D on each step; +#X obj 49 142 \$1; +#X obj 88 142 \$2; +#X obj 128 142 \$3; +#X obj 123 197 + \$4; +#X obj 162 197 + \$5; +#X obj 202 197 + \$6; +#X text 267 306 Version: 2007-12-09; +#X text 268 325 Author: Roman Haefeli; +#X connect 0 0 1 0; +#X connect 1 0 13 1; +#X connect 1 1 14 1; +#X connect 1 2 15 1; +#X connect 2 0 3 0; +#X connect 3 0 16 1; +#X connect 3 1 17 1; +#X connect 3 2 18 1; +#X connect 6 0 8 0; +#X connect 8 0 13 0; +#X connect 8 1 14 0; +#X connect 8 2 15 0; +#X connect 9 0 10 0; +#X connect 13 0 9 0; +#X connect 13 0 16 0; +#X connect 14 0 9 1; +#X connect 14 0 17 0; +#X connect 15 0 9 2; +#X connect 15 0 18 0; +#X connect 16 0 13 1; +#X connect 17 0 14 1; +#X connect 18 0 15 1; diff --git a/3d.normalize-help.pd b/3d.normalize-help.pd new file mode 100644 index 0000000..0399c54 --- /dev/null +++ b/3d.normalize-help.pd @@ -0,0 +1,28 @@ +#N canvas 195 179 463 360 10; +#X text 199 90 args: none; +#X text 197 120 inlet: accepts list of 3 floats; +#X text 195 143 outlet: list of 3 floats ; +#X text 119 32 - normalizes the incoming vector; +#X msg 17 92 7 0 0; +#X msg 67 70 2 1 3; +#X msg 68 109 13.23 3.1 9.86; +#X obj 44 176 unpack f f f; +#X floatatom 44 201 5 0 0 0 - - -; +#X floatatom 83 201 5 0 0 0 - - -; +#X floatatom 123 201 5 0 0 0 - - -; +#X floatatom 24 256 5 0 0 0 - - -; +#X text 77 258 the magnitude of the output vector is always 1; +#X obj 22 30 3d.normalize; +#X text 300 306 Version: 2007-12-09; +#X text 301 325 Author: Roman Haefeli; +#X obj 24 225 3d.magnitude; +#X obj 24 139 3d.normalize; +#X connect 4 0 17 0; +#X connect 5 0 17 0; +#X connect 6 0 17 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 7 2 10 0; +#X connect 16 0 11 0; +#X connect 17 0 7 0; +#X connect 17 0 16 0; diff --git a/3d.normalize.pd b/3d.normalize.pd new file mode 100644 index 0000000..ce65327 --- /dev/null +++ b/3d.normalize.pd @@ -0,0 +1,61 @@ +#N canvas 223 126 515 348 10; +#X obj 21 39 unpack f f f; +#X obj 21 82 t f f f; +#X obj 43 107 *; +#X obj 76 82 t f f f; +#X obj 98 107 *; +#X obj 131 81 t f f f; +#X obj 153 106 *; +#X obj 43 130 +; +#X obj 43 151 +; +#X obj 43 172 sqrt; +#X obj 21 266 /; +#X obj 60 266 /; +#X obj 115 269 /; +#X obj 21 293 pack f f f; +#X text 195 135 V =; +#X obj 60 245 f; +#X obj 115 248 f; +#X obj 60 218 t b f; +#X obj 115 220 t b f; +#X obj 21 14 inlet vector; +#X obj 21 318 outlet vector; +#X text 123 319 V; +#X text 117 13 A; +#X text 176 41 normalizes the incomimg vector A to ||V|| = 1; +#X text 228 119 | Ax/((x^2+y^2+z^2)^(1/2)) |; +#X text 227 135 | Ay/((x^2+y^2+z^2)^(1/2)) |; +#X text 227 152 | Az/((x^2+y^2+z^2)^(1/2)) |; +#X text 300 306 Version: 2007-12-09; +#X text 301 325 Author: Roman Haefeli; +#X connect 0 0 1 0; +#X connect 0 1 3 0; +#X connect 0 2 5 0; +#X connect 1 0 10 0; +#X connect 1 1 2 0; +#X connect 1 2 2 1; +#X connect 2 0 7 0; +#X connect 3 0 15 1; +#X connect 3 1 4 0; +#X connect 3 2 4 1; +#X connect 4 0 7 1; +#X connect 5 0 16 1; +#X connect 5 1 6 0; +#X connect 5 2 6 1; +#X connect 6 0 8 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 1; +#X connect 9 0 17 0; +#X connect 9 0 18 0; +#X connect 10 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 13 2; +#X connect 13 0 20 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X connect 17 0 15 0; +#X connect 17 1 11 1; +#X connect 18 0 16 0; +#X connect 18 1 12 1; +#X connect 19 0 0 0; diff --git a/3d.pan.tilt-help.pd b/3d.pan.tilt-help.pd new file mode 100644 index 0000000..05eb3a4 --- /dev/null +++ b/3d.pan.tilt-help.pd @@ -0,0 +1,78 @@ +#N canvas 1406 210 1027 725 10; +#X obj 77 163 gems.win; +#X obj 77 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 517 25 input.grid_; +#X obj 519 187 unpack; +#X obj 513 221 * 5.33; +#X obj 534 268 pack f f f; +#X obj 636 20 vsl 15 128 -1 8 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 5200 1; +#X obj 517 156 pack; +#X obj 626 184 t b f; +#X obj 518 478 sphere; +#X obj 518 424 translateXYZ; +#X obj 518 376 gemhead; +#X obj 589 370 unpack f f f; +#X obj 92 333 gemhead; +#X obj 93 543 cube; +#X obj 166 167 gems.light; +#X obj 166 130 gemhead; +#X floatatom 204 406 5 0 0 0 - - -; +#X floatatom 244 435 5 0 0 0 - - -; +#X obj 93 409 rotateXYZ; +#X obj 93 451 rotateXYZ; +#X obj 93 480 translateXYZ 1 0 0; +#X obj 93 514 scaleXYZ 1 0.1 0.1; +#X obj 517 451 colorRGB 1 0 0; +#X text 57 -41 Description: Calculate the pan and tilt between two +3D coordinates.; +#X text 476 -17 Move the red ball with the following:; +#X text 29 256 Note how both rotateXYZ are used to transfer the pan +& tilt angles to Gem angles.; +#X text 100 313 The rectangle pointer.; +#X text 539 328 The sphere.; +#X text 36 6 Inlet_1: First set of 3D coordinates.; +#X text 34 31 Inlet_2: Reference set of 3D coordinates.; +#X text 514 7 x and y; +#X text 636 -2 z; +#X obj 561 221 * 4; +#X obj 636 157 * -1; +#X text 36 53 Outlet_1: Pan angle.; +#X text 33 72 Outlet_2: Tilt angle.; +#X text 35 90 The angles are imagined with a top down perspective of +the standard Gem window.; +#X obj 226 360 3d.pan.tilt 0 0 0; +#X msg 683 36 2.6; +#X obj 682 13 loadbang; +#X connect 1 0 0 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 3 1 33 0; +#X connect 4 0 5 0; +#X connect 5 0 12 0; +#X connect 5 0 38 0; +#X connect 6 0 34 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 8 1 5 2; +#X connect 10 0 23 0; +#X connect 11 0 10 0; +#X connect 12 0 10 1; +#X connect 12 1 10 2; +#X connect 12 2 10 3; +#X connect 13 0 19 0; +#X connect 16 0 15 0; +#X connect 17 0 19 3; +#X connect 18 0 20 2; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 14 0; +#X connect 23 0 9 0; +#X connect 33 0 5 1; +#X connect 34 0 8 0; +#X connect 38 0 17 0; +#X connect 38 1 18 0; +#X connect 39 0 6 0; +#X connect 40 0 39 0; diff --git a/3d.pan.tilt.pd b/3d.pan.tilt.pd new file mode 100644 index 0000000..250f37b --- /dev/null +++ b/3d.pan.tilt.pd @@ -0,0 +1,52 @@ +#N canvas 0 25 991 658 10; +#X obj 74 97 inlet; +#X text 60 68 x y z (target); +#X obj 107 184 unpack f f f; +#X obj 176 747 outlet; +#X obj 468 740 outlet; +#X obj 448 217 loadbang; +#X obj 270 528 atan; +#X obj 270 501 /; +#X obj 225 390 2d.distance; +#X obj 79 132 t l l l; +#X obj -31 492 2d.angle; +#X obj 77 425 loadbang; +#X obj 232 295 t l l; +#X obj 230 266 pack; +#X obj 268 471 swap; +#X text 172 770 pan; +#X text 467 759 tilt; +#X obj 447 244 pack \$1 \$2; +#X obj 78 452 pack \$1 \$2; +#X obj 456 339 - \$3; +#X obj 265 424 t f f; +#X obj 374 87 inlet; +#X obj 377 124 t l l l; +#X msg 490 171 \$3; +#X obj 282 595 * -57.2958; +#X connect 0 0 9 0; +#X connect 2 0 13 0; +#X connect 2 1 13 1; +#X connect 2 2 19 0; +#X connect 5 0 17 0; +#X connect 6 0 24 0; +#X connect 7 0 6 0; +#X connect 8 0 20 0; +#X connect 9 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 18 0; +#X connect 12 0 10 0; +#X connect 12 1 8 0; +#X connect 13 0 12 0; +#X connect 14 0 7 0; +#X connect 14 1 7 1; +#X connect 17 0 8 1; +#X connect 18 0 10 1; +#X connect 19 0 14 1; +#X connect 20 0 14 0; +#X connect 21 0 22 0; +#X connect 22 0 18 0; +#X connect 22 1 17 0; +#X connect 22 2 23 0; +#X connect 23 0 19 1; +#X connect 24 0 4 0; diff --git a/3d.rotate-help.pd b/3d.rotate-help.pd new file mode 100644 index 0000000..bbc146e --- /dev/null +++ b/3d.rotate-help.pd @@ -0,0 +1,37 @@ +#N canvas 14 1 654 392 10; +#X obj 27 210 unpack f f f; +#X floatatom 27 235 5 0 0 0 - - -; +#X floatatom 66 235 5 0 0 0 - - -; +#X floatatom 106 235 5 0 0 0 - - -; +#X text 338 198 2nd inlet: accepts list of 3 floats; +#X text 337 304 outlet: list of 3 floats; +#X text 100 25 - rotates the incoming vector around a specified axis +by a; +#X floatatom 139 73 5 0 0 0 - - -; +#X text 184 73 degree; +#X msg 101 129 0 1 0; +#X text 353 113 args: ; +#X text 53 294 !!! uses [expr]-external !!!; +#X msg 27 129 3 1 4; +#X obj 139 99 t b f; +#X text 339 162 1st inlet: accepts lists of 3 floats; +#X text 395 131 rotation axis and angle; +#X text 415 217 sets the rotation axis; +#X text 413 263 sets the angle (in radian format); +#X text 114 42 specified angle (using a rotation matrix); +#X text 337 243 3rd inlet: accepts floats; +#X obj 27 25 3d.rotate; +#X obj 27 185 3d.rotate 0 0 1 1.5708; +#X text 454 350 Version: 2007-12-09; +#X text 455 369 Author: Roman Haefeli; +#X obj 176 150 convert.degree2radian; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 3 0; +#X connect 7 0 13 0; +#X connect 9 0 21 1; +#X connect 12 0 21 0; +#X connect 13 0 12 0; +#X connect 13 1 24 0; +#X connect 21 0 0 0; +#X connect 24 0 21 2; diff --git a/3d.rotate.pd b/3d.rotate.pd new file mode 100644 index 0000000..ad87792 --- /dev/null +++ b/3d.rotate.pd @@ -0,0 +1,210 @@ +#N canvas 369 22 1127 773 10; +#X obj 36 74 expr cos($f4)+(1-cos($f4))*pow($f1 \, 2); +#X obj 399 74 expr (1-cos($f4))*$f1*$f2-(sin($f4))*$f3; +#X obj 772 75 expr (1-cos($f4))*$f1*$f3+(sin($f4))*$f2; +#X obj 35 249 expr (1-cos($f4))*$f2*$f1+(sin($f4))*$f3; +#X obj 399 246 expr cos($f4)+(1-cos($f4))*pow($f2 \, 2); +#X obj 773 254 expr (1-cos($f4))*$f2*$f3-(sin($f4))*$f1; +#X obj 35 419 expr (1-cos($f4))*$f3*$f1-(sin($f4))*$f2; +#X obj 402 416 expr (1-cos($f4))*$f3*$f2+(sin($f4))*$f1; +#X obj 776 415 expr cos($f4)+(1-cos($f4))*pow($f3 \, 2); +#X obj 20 101 *; +#X obj 36 50 r \$0-Rx; +#X obj 123 50 r \$0-Ry; +#X obj 210 50 r \$0-Rz; +#X obj 297 51 r \$0-rho; +#X obj 399 49 r \$0-Rx; +#X obj 490 49 r \$0-Ry; +#X obj 582 49 r \$0-Rz; +#X obj 674 50 r \$0-rho; +#X obj 772 50 r \$0-Rx; +#X obj 863 50 r \$0-Ry; +#X obj 955 51 r \$0-Rz; +#X obj 1047 51 r \$0-rho; +#X obj 35 224 r \$0-Rx; +#X obj 126 224 r \$0-Ry; +#X obj 218 224 r \$0-Rz; +#X obj 310 225 r \$0-rho; +#X obj 399 222 r \$0-Rx; +#X obj 486 222 r \$0-Ry; +#X obj 573 221 r \$0-Rz; +#X obj 660 222 r \$0-rho; +#X obj 773 229 r \$0-Rx; +#X obj 864 229 r \$0-Ry; +#X obj 956 229 r \$0-Rz; +#X obj 1048 231 r \$0-rho; +#X obj 35 394 r \$0-Rx; +#X obj 126 394 r \$0-Ry; +#X obj 218 394 r \$0-Rz; +#X obj 310 395 r \$0-rho; +#X obj 402 391 r \$0-Rx; +#X obj 493 391 r \$0-Ry; +#X obj 585 391 r \$0-Rz; +#X obj 677 392 r \$0-rho; +#X obj 776 391 r \$0-Rx; +#X obj 863 391 r \$0-Ry; +#X obj 950 391 r \$0-Rz; +#X obj 1037 391 r \$0-rho; +#X obj 19 271 *; +#X obj 19 442 *; +#X obj 383 98 *; +#X obj 383 271 *; +#X obj 386 441 *; +#X obj 756 100 *; +#X obj 757 278 *; +#X obj 760 440 *; +#X obj 20 124 +; +#X obj 20 146 +; +#X obj 19 294 +; +#X obj 19 316 +; +#X obj 19 464 +; +#X obj 19 486 +; +#X obj 21 635 pack f f f; +#X text 20 4 M A T R I X; +#X text 21 547 O U T P U T; +#X obj 637 615 s \$0-rho; +#X obj 247 589 unpack f f f; +#X text 253 513 I N P U T; +#X obj 419 565 unpack f f f; +#X obj 498 613 s \$0-Rz; +#X obj 458 633 s \$0-Ry; +#X obj 419 655 s \$0-Rx; +#X obj 419 623 f; +#X obj 607 569 t b f; +#X obj 607 541 inlet float; +#X text 692 540 rho; +#X obj 419 543 inlet vector; +#X text 513 543 R; +#X obj 247 543 inlet vector; +#X text 338 544 A; +#X obj 21 658 outlet vector; +#X text 120 658 V; +#X obj 888 627 s \$0-Rz; +#X obj 832 626 s \$0-Ry; +#X obj 777 626 s \$0-Rx; +#X obj 942 627 s \$0-rho; +#X obj 777 554 loadbang; +#X obj 777 575 t b b b b; +#X text 780 520 INIT; +#X obj 777 600 \$1; +#X obj 832 603 \$2; +#X obj 888 606 \$3; +#X obj 942 606 \$4; +#X obj 247 656 s \$0-Ax; +#X obj 286 634 s \$0-Ay; +#X obj 326 612 s \$0-Az; +#X obj 20 27 r \$0-Ax; +#X obj 19 197 r \$0-Ax; +#X obj 19 368 r \$0-Ax; +#X obj 383 24 r \$0-Ay; +#X obj 383 197 r \$0-Ay; +#X obj 386 367 r \$0-Ay; +#X obj 756 26 r \$0-Az; +#X obj 757 204 r \$0-Az; +#X obj 760 366 r \$0-Az; +#X obj 20 167 s \$0-Vx; +#X obj 21 574 r \$0-Vx; +#X obj 53 594 r \$0-Vy; +#X obj 86 614 r \$0-Vz; +#X obj 19 337 s \$0-Vy; +#X obj 19 507 s \$0-Vz; +#X text 571 692 formula from http://en.wikipedia.org/wiki/Rotation_matrix. +; +#X text 571 662 rotates an incoming vector A around the Axis R by the +angle rho.; +#X text 951 733 Version: 2007-12-09; +#X text 952 752 Author: Roman Haefeli; +#X connect 0 0 9 1; +#X connect 1 0 48 1; +#X connect 2 0 51 1; +#X connect 3 0 46 1; +#X connect 4 0 49 1; +#X connect 5 0 52 1; +#X connect 6 0 47 1; +#X connect 7 0 50 1; +#X connect 8 0 53 1; +#X connect 9 0 54 0; +#X connect 10 0 0 0; +#X connect 11 0 0 1; +#X connect 12 0 0 2; +#X connect 13 0 0 3; +#X connect 14 0 1 0; +#X connect 15 0 1 1; +#X connect 16 0 1 2; +#X connect 17 0 1 3; +#X connect 18 0 2 0; +#X connect 19 0 2 1; +#X connect 20 0 2 2; +#X connect 21 0 2 3; +#X connect 22 0 3 0; +#X connect 23 0 3 1; +#X connect 24 0 3 2; +#X connect 25 0 3 3; +#X connect 26 0 4 0; +#X connect 27 0 4 1; +#X connect 28 0 4 2; +#X connect 29 0 4 3; +#X connect 30 0 5 0; +#X connect 31 0 5 1; +#X connect 32 0 5 2; +#X connect 33 0 5 3; +#X connect 34 0 6 0; +#X connect 35 0 6 1; +#X connect 36 0 6 2; +#X connect 37 0 6 3; +#X connect 38 0 7 0; +#X connect 39 0 7 1; +#X connect 40 0 7 2; +#X connect 41 0 7 3; +#X connect 42 0 8 0; +#X connect 43 0 8 1; +#X connect 44 0 8 2; +#X connect 45 0 8 3; +#X connect 46 0 56 0; +#X connect 47 0 58 0; +#X connect 48 0 54 1; +#X connect 49 0 56 1; +#X connect 50 0 58 1; +#X connect 51 0 55 1; +#X connect 52 0 57 1; +#X connect 53 0 59 1; +#X connect 54 0 55 0; +#X connect 55 0 103 0; +#X connect 56 0 57 0; +#X connect 57 0 107 0; +#X connect 58 0 59 0; +#X connect 59 0 108 0; +#X connect 60 0 78 0; +#X connect 64 0 91 0; +#X connect 64 1 92 0; +#X connect 64 2 93 0; +#X connect 66 0 70 0; +#X connect 66 1 68 0; +#X connect 66 2 67 0; +#X connect 70 0 69 0; +#X connect 71 0 70 0; +#X connect 71 1 63 0; +#X connect 72 0 71 0; +#X connect 74 0 66 0; +#X connect 76 0 64 0; +#X connect 84 0 85 0; +#X connect 85 0 87 0; +#X connect 85 1 88 0; +#X connect 85 2 89 0; +#X connect 85 3 90 0; +#X connect 87 0 82 0; +#X connect 88 0 81 0; +#X connect 89 0 80 0; +#X connect 90 0 83 0; +#X connect 94 0 9 0; +#X connect 95 0 46 0; +#X connect 96 0 47 0; +#X connect 97 0 48 0; +#X connect 98 0 49 0; +#X connect 99 0 50 0; +#X connect 100 0 51 0; +#X connect 101 0 52 0; +#X connect 102 0 53 0; +#X connect 104 0 60 0; +#X connect 105 0 60 1; +#X connect 106 0 60 2; diff --git a/3d.scale-help.pd b/3d.scale-help.pd new file mode 100644 index 0000000..1761de1 --- /dev/null +++ b/3d.scale-help.pd @@ -0,0 +1,24 @@ +#N canvas 177 132 448 298 10; +#X msg 38 101 2 1 0; +#X obj 24 173 unpack f f f; +#X floatatom 24 196 5 0 0 0 - - -; +#X floatatom 63 196 5 0 0 0 - - -; +#X floatatom 103 197 5 0 0 0 - - -; +#X msg 12 78 1 2 3; +#X text 182 109 1st inlet: accepts list of 3 floats; +#X floatatom 100 106 5 0 0 0 - - -; +#X text 92 33 - scales a vector; +#X text 182 129 2nd inlet: accepts floats; +#X text 184 79 args: ; +#X text 179 164 outlet: list of 3 floats; +#X obj 24 139 3d.scale 3; +#X text 268 244 Version: 2007-12-09; +#X text 269 263 Author: Roman Haefeli; +#X obj 24 33 3d.scale; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 4 0; +#X connect 5 0 12 0; +#X connect 7 0 12 1; +#X connect 12 0 1 0; diff --git a/3d.scale.pd b/3d.scale.pd new file mode 100644 index 0000000..04ca9f0 --- /dev/null +++ b/3d.scale.pd @@ -0,0 +1,30 @@ +#N canvas 134 72 536 208 10; +#X obj 14 28 inlet vector; +#X text 104 28 A; +#X obj 152 28 inlet float; +#X text 236 28 s; +#X obj 14 60 unpack f f f; +#X obj 14 137 pack f f f; +#X obj 14 168 outlet vector; +#X text 113 168 V; +#X text 175 125 V =; +#X text 206 110 | Ax*s |; +#X text 206 125 | Ay*s |; +#X text 206 140 | Az*s |; +#X obj 14 106 * \$1; +#X obj 53 106 * \$1; +#X obj 93 106 * \$1; +#X text 165 79 scales the incoming vector A by the value s; +#X text 334 166 Version: 2007-12-09; +#X text 335 185 Author: Roman Haefeli; +#X connect 0 0 4 0; +#X connect 2 0 12 1; +#X connect 2 0 13 1; +#X connect 2 0 14 1; +#X connect 4 0 12 0; +#X connect 4 1 13 0; +#X connect 4 2 14 0; +#X connect 5 0 6 0; +#X connect 12 0 5 0; +#X connect 13 0 5 1; +#X connect 14 0 5 2; diff --git a/3d.subtract-help.pd b/3d.subtract-help.pd new file mode 100644 index 0000000..e1350e8 --- /dev/null +++ b/3d.subtract-help.pd @@ -0,0 +1,24 @@ +#N canvas 146 129 446 296 10; +#X msg 38 101 2 1 0; +#X msg 123 102 3 4 5; +#X obj 24 173 unpack f f f; +#X floatatom 24 196 5 0 0 0 - - -; +#X floatatom 63 196 5 0 0 0 - - -; +#X floatatom 103 197 5 0 0 0 - - -; +#X msg 12 78 1 2 3; +#X text 184 79 args: ; +#X text 182 109 1st inlet: accepts list of 3 floats; +#X text 182 129 2nd inlet: accepts list of 3 floats; +#X text 121 34 - subtracts a vector from another; +#X text 179 164 outlet: list of 3 floats; +#X text 275 256 Version: 2007-12-09; +#X text 276 275 Author: Roman Haefeli; +#X obj 24 139 3d.subtract 0 1 2; +#X obj 24 33 3d.subtract; +#X connect 0 0 14 0; +#X connect 1 0 14 1; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 5 0; +#X connect 6 0 14 0; +#X connect 14 0 2 0; diff --git a/3d.subtract.pd b/3d.subtract.pd new file mode 100644 index 0000000..5f01d90 --- /dev/null +++ b/3d.subtract.pd @@ -0,0 +1,32 @@ +#N canvas 151 88 423 267 10; +#X obj 35 48 unpack f f f; +#X obj 35 153 pack f f f; +#X text 211 153 V =; +#X obj 168 49 unpack f f f; +#X text 128 10 A; +#X text 263 12 B; +#X text 135 181 V; +#X obj 35 9 inlet vector; +#X obj 168 12 inlet vector; +#X obj 35 178 outlet vector; +#X text 245 137 | Ax+Bx |; +#X text 245 153 | Ay+By |; +#X text 245 169 | Ay+By |; +#X text 318 154 = A + B; +#X obj 35 121 - \$1; +#X obj 74 122 - \$2; +#X obj 114 122 - \$3; +#X text 242 217 Version: 2007-12-09; +#X text 243 236 Author: Roman Haefeli; +#X connect 0 0 14 0; +#X connect 0 1 15 0; +#X connect 0 2 16 0; +#X connect 1 0 9 0; +#X connect 3 0 14 1; +#X connect 3 1 15 1; +#X connect 3 2 16 1; +#X connect 7 0 0 0; +#X connect 8 0 3 0; +#X connect 14 0 1 0; +#X connect 15 0 1 1; +#X connect 16 0 1 2; diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..5b6e7c6 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,340 @@ + GNU 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. + + GNU GENERAL PUBLIC LICENSE + 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 + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ambi.angle2gem.pd b/ambi.angle2gem.pd new file mode 100644 index 0000000..dda3cc3 --- /dev/null +++ b/ambi.angle2gem.pd @@ -0,0 +1,36 @@ +#N canvas 0 22 549 422 10; +#X obj 221 283 cos; +#X obj 248 284 sin; +#X obj 214 178 + 90; +#X obj 45 91 inlet; +#X obj 221 64 inlet; +#X obj 261 127 init.post.dollarg; +#X obj 260 105 dollarg; +#X obj 274 54 loadbang; +#X obj 214 201 convert.degree2radian; +#X obj 268 83 t b b; +#X obj 214 151 route angle ratio; +#X obj 222 313 * 1; +#X obj 249 314 * 1; +#X msg 329 96 angle 0 \, ratio 3; +#X obj 215 341 outlet; +#X obj 268 340 outlet; +#X connect 0 0 11 0; +#X connect 1 0 12 0; +#X connect 2 0 8 0; +#X connect 3 0 2 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 9 0; +#X connect 8 0 0 0; +#X connect 8 0 1 0; +#X connect 9 0 6 0; +#X connect 9 1 13 0; +#X connect 10 0 2 0; +#X connect 10 1 11 1; +#X connect 10 1 12 1; +#X connect 11 0 14 0; +#X connect 12 0 15 0; +#X connect 13 0 10 0; diff --git a/ambi.catch.7~-help.pd b/ambi.catch.7~-help.pd new file mode 100644 index 0000000..97761ce --- /dev/null +++ b/ambi.catch.7~-help.pd @@ -0,0 +1,6 @@ +#N canvas 0 22 397 222 10; +#X text 56 33 Description: Catches 7 signals.; +#X text 56 48 See; +#X obj 85 49 catch~; +#X obj 155 115 ambi.throw.7~ bar; +#X obj 151 149 ambi.catch.7~ bar; diff --git a/ambi.catch.7~.pd b/ambi.catch.7~.pd new file mode 100644 index 0000000..3114ecd --- /dev/null +++ b/ambi.catch.7~.pd @@ -0,0 +1,22 @@ +#N canvas 123 273 515 126 10; +#X obj 23 59 outlet~; +#X obj 91 58 outlet~; +#X obj 162 58 outlet~; +#X obj 230 57 outlet~; +#X obj 286 55 outlet~; +#X obj 357 55 outlet~; +#X obj 407 53 outlet~; +#X obj 20 29 catch~ \$1-1; +#X obj 90 29 catch~ \$1-2; +#X obj 164 29 catch~ \$1-3; +#X obj 233 27 catch~ \$1-4; +#X obj 289 6 catch~ \$1-5; +#X obj 339 30 catch~ \$1-6; +#X obj 420 20 catch~ \$1-7; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X connect 9 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 6 0; diff --git a/ambi.device.zoom.read~-help.pd b/ambi.device.zoom.read~-help.pd new file mode 100644 index 0000000..033c154 --- /dev/null +++ b/ambi.device.zoom.read~-help.pd @@ -0,0 +1,105 @@ +#N canvas 113 127 734 740 10; +#X obj 37 284 ambi.device.zoom2wxy~; +#X obj 160 431 vsl 20 50 -100 0 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X obj 38 218 ambi.device.zoom.read~; +#X obj 38 167 openpanel; +#X obj 38 192 flow.prepend open; +#X obj 38 111 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1 +-1; +#X text 14 12 Description: Reads two wave files from the Zoom H2 recorder/microphone. +; +#X text 12 75 For example \, opening SR006F.wav will also open SR006R.wav +; +#X text 13 43 Open one of the two files to read both if they are in +the same directory. (rear and front); +#X msg 417 191 savepanel; +#X msg 490 213 start; +#X msg 498 259 stop; +#X obj 350 404 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 374 405 recording status; +#X obj 349 371 ambi.sf.write.4~; +#X obj 338 293 print DONE; +#X obj 219 257 hsl 127 8 0 1 0 0 empty empty empty -2 -8 0 10 -191407 +-1 -1 0 1; +#X obj 369 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 261 226 12 0 0 0 - - -; +#X obj 230 198 route duration elapsed done; +#X obj 215 228 /; +#X obj 353 230 t b; +#X floatatom 243 279 12 0 0 0 - - -; +#X obj 295 457 timing.ms2time_; +#X obj 439 131 print INFO; +#X obj 33 457 ambi.wxy2quad~; +#X obj 30 492 ambi.gain.4~ @gain -20; +#X obj 37 552 dac~ 1 2 3 4; +#X obj 161 554 ambi.vu.4_~; +#X obj 26 400 ambi.rotate.wxy~; +#X msg 123 379 angle \$1; +#X obj 123 357 hsl 128 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 173 149 stop; +#X msg 172 127 autoplay \$1; +#X obj 173 107 tgl 15 0 empty empty empty 17 7 0 10 -260097 -1 -1 0 +1; +#X msg 173 172 play; +#X obj 501 239 spigot; +#X obj 537 219 tgl 15 0 empty empty empty 17 7 0 10 -260097 -1 -1 0 +1; +#X obj 280 500 timing.ms2time_; +#X connect 0 0 14 0; +#X connect 0 0 29 0; +#X connect 0 1 14 1; +#X connect 0 1 29 1; +#X connect 0 2 14 2; +#X connect 0 2 29 2; +#X connect 1 0 26 4; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 2 2 0 2; +#X connect 2 3 0 3; +#X connect 2 4 19 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 9 0 14 4; +#X connect 10 0 14 4; +#X connect 11 0 14 4; +#X connect 14 0 12 0; +#X connect 17 0 36 0; +#X connect 19 0 20 1; +#X connect 19 0 22 0; +#X connect 19 0 38 0; +#X connect 19 1 18 0; +#X connect 19 1 20 0; +#X connect 19 1 23 0; +#X connect 19 2 15 0; +#X connect 19 2 21 0; +#X connect 19 3 24 0; +#X connect 20 0 16 0; +#X connect 21 0 17 0; +#X connect 25 0 26 0; +#X connect 25 1 26 1; +#X connect 25 2 26 2; +#X connect 25 3 26 3; +#X connect 26 0 27 0; +#X connect 26 0 28 0; +#X connect 26 1 27 1; +#X connect 26 1 28 1; +#X connect 26 2 27 2; +#X connect 26 2 28 2; +#X connect 26 3 27 3; +#X connect 26 3 28 3; +#X connect 29 0 25 0; +#X connect 29 1 25 1; +#X connect 29 2 25 2; +#X connect 30 0 29 3; +#X connect 31 0 30 0; +#X connect 32 0 2 0; +#X connect 33 0 2 0; +#X connect 34 0 33 0; +#X connect 35 0 2 0; +#X connect 36 0 11 0; +#X connect 37 0 36 1; diff --git a/ambi.device.zoom.read~.pd b/ambi.device.zoom.read~.pd new file mode 100644 index 0000000..9c0b6e8 --- /dev/null +++ b/ambi.device.zoom.read~.pd @@ -0,0 +1,167 @@ +#N canvas 83 145 957 600 10; +#X obj 155 264 readsf~ 2; +#X obj 232 261 readsf~ 2; +#X text 177 241 Front; +#X text 261 243 Rear; +#X msg 138 235 1; +#X obj 168 149 t b a; +#X msg 224 236 1; +#X obj 254 150 t b a; +#X obj 168 115 flow.prepend open; +#X obj 320 116 flow.prepend open; +#X obj 128 347 outlet~ FL; +#X obj 199 347 outlet~ FR; +#X obj 275 346 outlet~ RL; +#X obj 349 349 outlet~ RR; +#X obj 142 -17 inlet; +#N canvas 471 91 688 813 rm_extension 0; +#X obj 220 192 list.trim; +#X obj 220 215 convert.ascii2int; +#X obj 393 537 convert.int2ascii; +#X obj 216 68 inlet list; +#X obj 221 309 list.split -5; +#X obj 406 647 outlet; +#X obj 175 541 convert.int2ascii; +#X obj 175 641 outlet; +#X obj 221 358 t a a; +#X obj 166 503 list append 70 46 119 97 118; +#X obj 393 505 list append 82 46 119 97 118; +#X obj 405 618 convert.list2symbol; +#X obj 172 593 convert.list2symbol; +#X msg 355 147 helloF.wav; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 11 0; +#X connect 3 0 0 0; +#X connect 4 0 8 0; +#X connect 6 0 12 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 9 0 6 0; +#X connect 10 0 2 0; +#X connect 11 0 5 0; +#X connect 12 0 7 0; +#X connect 13 0 0 0; +#X restore 167 56 pd rm_extension; +#X obj 148 194 spigot 1; +#X obj 232 201 spigot 1; +#X obj 288 15 route open autoplay play stop; +#X obj 348 229 t 0; +#X obj 167 83 symbol; +#X obj 314 89 symbol; +#X obj 332 52 t b b; +#X obj 311 -16 init.post.dollarg; +#X obj 310 -38 dollarg; +#X obj 310 -64 loadbang; +#X obj 608 209 print zoom.readsf~; +#X msg 439 315 done F; +#X msg 483 313 done R; +#X obj 439 351 outlet info; +#N canvas 130 128 636 647 wav_info 0; +#X msg 31 92 read \$1; +#X obj 31 166 soundfile_info; +#X text 40 146 "read"-message needs a symbol (soundfile in wave format) +; +#X text 50 184 "list"-message output with 7 items; +#X text 91 224 4.item: header-size in bytes; +#X text 91 194 1.item: samplerate in Hz; +#X text 91 204 2.item: file-name; +#X text 91 234 5.item: number of channels; +#X text 91 254 7.item: endianness ("l" for little); +#X text 260 264 ("b" for big); +#X text 262 276 (eg. little endian "wav" is natural format on Intel-machines) +; +#X text 91 214 3.item: sound-data-length in samples; +#X text 91 244 6.item: sample-resolution in bytes; +#X obj 33 49 inlet; +#X obj 31 302 unpack f s f f f f s; +#X obj 26 489 outlet duration_ms; +#X text 132 49 NOTE: we could also use the wavinfo object.; +#X obj 37 434 convert.smp2ms; +#X obj 180 482 outlet other_info; +#X msg 175 420 samplerate \$1; +#X msg 263 423 file_name \$1; +#X msg 348 423 header_size \$1; +#X msg 529 424 endianess \$1; +#X connect 0 0 1 0; +#X connect 1 0 14 0; +#X connect 13 0 0 0; +#X connect 14 0 19 0; +#X connect 14 1 20 0; +#X connect 14 2 17 0; +#X connect 14 3 21 0; +#X connect 14 6 22 0; +#X connect 17 0 15 0; +#X connect 19 0 18 0; +#X connect 20 0 18 0; +#X connect 21 0 18 0; +#X connect 22 0 18 0; +#X restore 767 182 pd wav_info; +#X text 783 200 duration (ms); +#X msg 645 378 duration \$1; +#X obj 740 428 timer; +#X obj 774 401 metro 50; +#X obj 787 349 sel 1; +#X msg 792 371 1; +#X obj 864 340 t b; +#X msg 844 379 0; +#X msg 669 468 elapsed \$1; +#X obj 775 293 f; +#X connect 0 0 10 0; +#X connect 0 1 11 0; +#X connect 0 2 27 0; +#X connect 0 2 37 0; +#X connect 1 0 12 0; +#X connect 1 1 13 0; +#X connect 1 2 28 0; +#X connect 1 2 37 0; +#X connect 4 0 0 0; +#X connect 5 0 16 0; +#X connect 5 1 0 0; +#X connect 5 1 26 0; +#X connect 6 0 1 0; +#X connect 6 0 40 0; +#X connect 7 0 17 0; +#X connect 7 1 1 0; +#X connect 7 1 26 0; +#X connect 8 0 5 0; +#X connect 9 0 7 0; +#X connect 14 0 18 0; +#X connect 15 0 20 0; +#X connect 15 1 21 0; +#X connect 16 0 4 0; +#X connect 17 0 6 0; +#X connect 18 0 15 0; +#X connect 18 1 17 1; +#X connect 18 1 16 1; +#X connect 18 2 22 0; +#X connect 18 3 19 0; +#X connect 19 0 1 0; +#X connect 19 0 0 0; +#X connect 19 0 40 0; +#X connect 20 0 8 0; +#X connect 21 0 9 0; +#X connect 21 0 30 0; +#X connect 22 0 6 0; +#X connect 22 0 4 0; +#X connect 22 1 21 0; +#X connect 22 1 20 0; +#X connect 23 0 18 0; +#X connect 24 0 23 0; +#X connect 24 1 23 1; +#X connect 25 0 24 0; +#X connect 27 0 29 0; +#X connect 28 0 29 0; +#X connect 30 0 32 0; +#X connect 30 1 29 0; +#X connect 32 0 29 0; +#X connect 33 0 39 0; +#X connect 34 0 33 1; +#X connect 35 0 33 0; +#X connect 35 0 36 0; +#X connect 35 1 37 0; +#X connect 36 0 34 0; +#X connect 37 0 38 0; +#X connect 38 0 34 0; +#X connect 39 0 29 0; +#X connect 40 0 35 0; diff --git a/ambi.device.zoom2wxy~-help.pd b/ambi.device.zoom2wxy~-help.pd new file mode 100644 index 0000000..4b0cee4 --- /dev/null +++ b/ambi.device.zoom2wxy~-help.pd @@ -0,0 +1,34 @@ +#N canvas 0 22 703 399 10; +#X obj 91 220 ambi.device.zoom2wxy~; +#X obj 130 170 readsf~ 4; +#X msg 143 97 1; +#X msg 143 118 0; +#X msg 144 140 print; +#X msg 130 72 open \$1; +#X obj 130 48 openpanel; +#X obj 131 23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 177 97 Send it "1" to play once a file is opened.; +#X obj 93 270 ambi.wxy2mono~ @angle 90; +#X obj 252 272 ambi.wxy2mono~ @angle 270; +#X obj 93 308 dac~ 1 2; +#X text 249 22 Description: Encodes a quadraphonic sound from a Zoom +H2 microphone to first order Ambisonics horizontal B-Format.; +#X connect 0 0 9 0; +#X connect 0 0 10 0; +#X connect 0 1 9 1; +#X connect 0 1 10 1; +#X connect 0 2 9 2; +#X connect 0 2 10 2; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 1 2 0 2; +#X connect 1 3 0 3; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 9 0 11 0; +#X connect 10 0 11 1; diff --git a/ambi.device.zoom2wxy~.pd b/ambi.device.zoom2wxy~.pd new file mode 100644 index 0000000..30508a9 --- /dev/null +++ b/ambi.device.zoom2wxy~.pd @@ -0,0 +1,47 @@ +#N canvas 185 371 836 291 10; +#X obj 50 191 outlet~ w; +#X obj 139 188 outlet~ x; +#X obj 217 190 outlet~ y; +#X text 445 49 Encodes a quadraphonic sound from a Zoom H2 microphone +to first order Ambisonics horizontal B-Format.; +#X obj 47 22 inlet~ FL; +#X obj 118 22 inlet~ FR; +#X obj 198 22 inlet~ BL; +#X obj 272 21 inlet~ BR; +#X text 438 15 front left and right \, back left and right inputs; +#X obj 146 139 -~; +#X obj 184 138 -~; +#X obj 47 50 *~ 0.5; +#X obj 121 49 *~ 0.5; +#X obj 196 51 *~ 0.5; +#X obj 271 51 *~ 0.5; +#X obj 27 139 *~ 0.707; +#X text 46 238 because x and y on the zoom h2 are not loud enough; +#X text 55 161 could be -4dB (between 3 and 6); +#X obj 356 38 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 355 67 init.lf 0.5; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 6 0 13 0; +#X connect 7 0 14 0; +#X connect 9 0 1 0; +#X connect 10 0 2 0; +#X connect 11 0 9 0; +#X connect 11 0 10 0; +#X connect 11 0 15 0; +#X connect 12 0 9 0; +#X connect 12 0 10 1; +#X connect 12 0 15 0; +#X connect 13 0 9 1; +#X connect 13 0 10 0; +#X connect 13 0 15 0; +#X connect 14 0 9 1; +#X connect 14 0 10 1; +#X connect 14 0 15 0; +#X connect 15 0 0 0; +#X connect 18 0 19 0; +#X connect 19 0 14 1; +#X connect 19 0 13 1; +#X connect 19 0 12 1; +#X connect 19 0 11 1; diff --git a/ambi.distance.7~-help.pd b/ambi.distance.7~-help.pd new file mode 100644 index 0000000..73e901e --- /dev/null +++ b/ambi.distance.7~-help.pd @@ -0,0 +1,66 @@ +#N canvas 242 22 807 489 10; +#X obj 63 126 noise~; +#X floatatom 410 164 5 0 0 0 - - -; +#X obj 413 143 hsl 200 15 0 6 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 3317 1; +#X obj 64 381 dac~ 1 2; +#X obj 64 351 ambi.wxyuvpq2mono~ @angle 90; +#X obj 244 352 ambi.wxyuvpq2mono~ @angle 270; +#X msg 410 184 distance \$1; +#X msg 409 118 1; +#X obj 407 95 loadbang; +#X text 3 -43 Description: Changes the perceptual distance of a 3rd +order horizontal Ambisonic sound source.; +#X text 1 -15 Alters only the amplitude of the w versus xyuvpq channels. +; +#X text 5 18 1 represents the unit circle \, which is the actual distance +of the speakers circle around the listener.; +#X text 2 80 At a distance of 18 \, there is no more sound.; +#X text 3 64 Every step of 1 makes the sound -6dB quieter. (half as +loud); +#X obj 468 287 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 676 288 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 469 247 expr (1-$f1)*6 \; if ($f1<1 \, (1-$f1)*-100 \, (1-$f1)*6) +; +#X text 458 122 Distance (1 is the unit circle); +#X text 6 45 0 represents the center of the circle.; +#X text 480 207 Here is the algorythm:; +#X text 481 222 Is is slightly simplified.; +#X obj 63 174 ambi.mono2wxyuvpq~ @angle 90; +#X obj 64 263 ambi.distance.7~ @distance 1; +#X text 660 416 Other channels; +#X text 465 414 Amplitude of W; +#X text 4 95 It can be used with other Ambisonic orders that use 7 +channels or less.; +#X connect 0 0 21 0; +#X connect 1 0 6 0; +#X connect 1 0 16 0; +#X connect 2 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 22 7; +#X connect 7 0 2 0; +#X connect 8 0 7 0; +#X connect 16 0 14 0; +#X connect 16 1 15 0; +#X connect 21 0 22 0; +#X connect 21 1 22 1; +#X connect 21 2 22 2; +#X connect 21 3 22 3; +#X connect 21 4 22 4; +#X connect 21 5 22 5; +#X connect 21 6 22 6; +#X connect 22 0 4 0; +#X connect 22 0 5 0; +#X connect 22 1 4 1; +#X connect 22 1 5 1; +#X connect 22 2 4 2; +#X connect 22 2 5 2; +#X connect 22 3 4 3; +#X connect 22 3 5 3; +#X connect 22 4 4 4; +#X connect 22 4 5 4; +#X connect 22 5 4 5; +#X connect 22 5 5 5; +#X connect 22 6 4 6; +#X connect 22 6 5 6; diff --git a/ambi.distance.7~.pd b/ambi.distance.7~.pd new file mode 100644 index 0000000..d48d324 --- /dev/null +++ b/ambi.distance.7~.pd @@ -0,0 +1,90 @@ +#N canvas 381 59 985 546 10; +#X obj 560 65 inlet; +#X obj 600 128 init.post.dollarg; +#X obj 599 106 dollarg; +#X obj 613 55 loadbang; +#X obj 607 84 t b b; +#X obj 13 52 inlet~ w; +#X obj 78 51 inlet~ x; +#X obj 147 51 inlet~ y; +#X obj 212 50 inlet~ u; +#X obj 277 48 inlet~ v; +#X obj 346 48 inlet~ p; +#X obj 411 47 inlet~ q; +#X obj 472 188 f; +#X obj 89 388 *~; +#X obj 116 388 *~; +#X obj 145 388 *~; +#X obj 174 389 *~; +#X obj 204 389 *~; +#X obj 234 388 *~; +#X obj 21 387 *~; +#X obj 21 455 outlet~ w; +#X obj 92 458 outlet~ x; +#X obj 169 457 outlet~ y; +#X obj 234 456 outlet~ u; +#X obj 301 455 outlet~ v; +#X obj 369 455 outlet~ p; +#X obj 453 456 outlet~ q; +#X obj 537 339 line~; +#X msg 667 97 distance 1; +#X obj 444 315 line~; +#X obj 444 291 pack f 15; +#X obj 537 318 pack f 15; +#X obj 554 152 route distance duration; +#X obj 620 278 f; +#X obj 540 252 expr if ($f1<1 \, (1-$f1)*-100 \, (1-$f1)*6); +#X obj 449 215 expr (1-$f1)*6; +#X text 558 217 <-- W amplitude equation; +#X text 793 247 <-- xyuvpq equation; +#X obj 447 236 + 100; +#X obj 540 273 + 100; +#X obj 537 296 dbtorms; +#X obj 443 261 dbtorms; +#X text 61 482 See http://www.york.ac.uk/inst/mustech/3d_audio/ambis2.htm +; +#X obj 474 166 clip 0 20; +#X connect 0 0 32 0; +#X connect 1 0 32 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 28 0; +#X connect 5 0 19 0; +#X connect 6 0 13 0; +#X connect 7 0 14 0; +#X connect 8 0 15 0; +#X connect 9 0 16 0; +#X connect 10 0 17 0; +#X connect 11 0 18 0; +#X connect 12 0 35 0; +#X connect 12 0 34 0; +#X connect 13 0 21 0; +#X connect 14 0 22 0; +#X connect 15 0 23 0; +#X connect 16 0 24 0; +#X connect 17 0 25 0; +#X connect 18 0 26 0; +#X connect 19 0 20 0; +#X connect 27 0 13 1; +#X connect 27 0 14 1; +#X connect 27 0 15 1; +#X connect 27 0 16 1; +#X connect 27 0 17 1; +#X connect 27 0 18 1; +#X connect 28 0 32 0; +#X connect 29 0 19 1; +#X connect 30 0 29 0; +#X connect 31 0 27 0; +#X connect 32 0 43 0; +#X connect 32 1 33 0; +#X connect 33 0 31 1; +#X connect 33 0 30 1; +#X connect 34 0 39 0; +#X connect 35 0 38 0; +#X connect 38 0 41 0; +#X connect 39 0 40 0; +#X connect 40 0 31 0; +#X connect 41 0 30 0; +#X connect 43 0 12 0; diff --git a/ambi.dominance.7~.pd b/ambi.dominance.7~.pd new file mode 100644 index 0000000..3894e7c --- /dev/null +++ b/ambi.dominance.7~.pd @@ -0,0 +1,84 @@ +#N canvas 0 22 1220 660 10; +#X obj 19 411 outlet~ w; +#X obj 141 438 outlet~ x; +#X obj 218 437 outlet~ y; +#X obj 784 101 inlet; +#X obj 824 164 init.post.dollarg; +#X obj 823 142 dollarg; +#X obj 837 91 loadbang; +#X obj 140 345 *~; +#X obj 258 349 *~; +#X obj 831 120 t b b; +#X obj 368 424 outlet~ u; +#X obj 447 431 outlet~ v; +#X obj 626 445 outlet~ p; +#X obj 710 446 outlet~ q; +#X obj 370 345 *~; +#X obj 488 349 *~; +#X obj 630 341 *~; +#X obj 696 340 *~; +#X obj 718 287 line~; +#X obj 717 265 pack 0 15; +#X obj 24 345 *~; +#X obj 39 140 inlet~ w; +#X obj 104 139 inlet~ x; +#X obj 173 139 inlet~ y; +#X obj 238 138 inlet~ u; +#X obj 303 136 inlet~ v; +#X obj 372 136 inlet~ p; +#X obj 437 135 inlet~ q; +#X obj 777 187 route dominance duration; +#X obj 68 246 sig~ 1; +#X obj 68 269 -~; +#X obj 714 241 clip 0 1; +#X obj 38 168 *~ 2; +#X obj 107 167 *~ 2; +#X obj 171 167 *~ 2; +#X obj 236 166 *~ 2; +#X obj 306 165 *~ 2; +#X obj 375 164 *~ 2; +#X obj 435 163 *~ 2; +#X msg 881 129 dominance 0.5; +#X text 490 172 TODO:check formula...; +#X connect 3 0 28 0; +#X connect 4 0 28 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 9 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 9 0 5 0; +#X connect 9 1 39 0; +#X connect 14 0 10 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X connect 17 0 13 0; +#X connect 18 0 17 1; +#X connect 18 0 16 1; +#X connect 18 0 15 1; +#X connect 18 0 14 1; +#X connect 18 0 8 1; +#X connect 18 0 7 1; +#X connect 18 0 30 1; +#X connect 19 0 18 0; +#X connect 20 0 0 0; +#X connect 21 0 32 0; +#X connect 22 0 33 0; +#X connect 23 0 34 0; +#X connect 24 0 35 0; +#X connect 25 0 36 0; +#X connect 26 0 37 0; +#X connect 27 0 38 0; +#X connect 28 0 31 0; +#X connect 28 1 19 1; +#X connect 29 0 30 0; +#X connect 30 0 20 1; +#X connect 31 0 19 0; +#X connect 32 0 20 0; +#X connect 33 0 7 0; +#X connect 34 0 8 0; +#X connect 35 0 14 0; +#X connect 36 0 15 0; +#X connect 37 0 16 0; +#X connect 38 0 17 0; +#X connect 39 0 28 0; diff --git a/ambi.gain.3~-help.pd b/ambi.gain.3~-help.pd new file mode 100644 index 0000000..cf33389 --- /dev/null +++ b/ambi.gain.3~-help.pd @@ -0,0 +1,35 @@ +#N canvas 472 136 521 433 10; +#X obj 16 49 noise~; +#X floatatom 341 178 5 0 0 0 - - -; +#X obj 17 304 dac~ 1 2; +#X obj 416 196 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X msg 341 198 gain \$1; +#X obj 342 35 vsl 15 128 -100 6 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 11262 1; +#X obj 339 -8 loadbang; +#X msg 340 11 -6; +#X obj 16 97 ambi.mono2wxy~ @angle 90; +#X obj 17 274 ambi.wxy2mono~ @angle 90; +#X obj 197 275 ambi.wxy2mono~ @angle 270; +#X text 5 -25 0dB is unity in RMS. -100dB is silence.; +#X text 5 -7 +6dB is twice as loud.; +#X obj 17 186 ambi.gain.3~ @gain -6; +#X text 3 -43 Description: Changes the gain (in dB) of 3 signals.; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 1 0 3 0; +#X connect 4 0 13 3; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 13 0; +#X connect 8 1 13 1; +#X connect 8 2 13 2; +#X connect 9 0 2 0; +#X connect 10 0 2 1; +#X connect 13 0 9 0; +#X connect 13 0 10 0; +#X connect 13 1 9 1; +#X connect 13 1 10 1; +#X connect 13 2 9 2; +#X connect 13 2 10 2; diff --git a/ambi.gain.3~.pd b/ambi.gain.3~.pd new file mode 100644 index 0000000..ae23f3f --- /dev/null +++ b/ambi.gain.3~.pd @@ -0,0 +1,44 @@ +#N canvas 0 22 791 508 10; +#X obj 19 411 outlet~ w; +#X obj 141 438 outlet~ x; +#X obj 218 437 outlet~ y; +#X obj 510 144 inlet; +#X obj 140 345 *~; +#X obj 258 349 *~; +#X obj 416 322 line~; +#X obj 24 345 *~; +#X obj 39 140 inlet~ w; +#X obj 104 139 inlet~ x; +#X obj 173 139 inlet~ y; +#X obj 598 161 init.post.dollarg; +#X obj 597 139 dollarg; +#X obj 611 88 loadbang; +#X obj 605 117 t b b; +#X obj 509 257 pack 0 15; +#X obj 517 230 dbtorms; +#X obj 518 208 + 100; +#X msg 655 126 gain 0; +#X obj 551 184 route gain duration float; +#X connect 3 0 19 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 5 1; +#X connect 6 0 4 1; +#X connect 6 0 7 1; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 9 0 4 0; +#X connect 10 0 5 0; +#X connect 11 0 19 0; +#X connect 12 0 11 0; +#X connect 12 1 11 1; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 1 18 0; +#X connect 15 0 6 0; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 19 0; +#X connect 19 0 17 0; +#X connect 19 1 15 1; +#X connect 19 2 17 0; diff --git a/ambi.gain.4~-help.pd b/ambi.gain.4~-help.pd new file mode 100644 index 0000000..4d7fe03 --- /dev/null +++ b/ambi.gain.4~-help.pd @@ -0,0 +1,35 @@ +#N canvas 472 136 521 433 10; +#X obj 16 49 noise~; +#X floatatom 341 178 5 0 0 0 - - -; +#X obj 17 304 dac~ 1 2; +#X obj 416 196 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X msg 341 198 gain \$1; +#X obj 342 35 vsl 15 128 -100 6 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 11262 1; +#X obj 339 -8 loadbang; +#X msg 340 11 -6; +#X obj 17 186 ambi.gain.4~ @gain -6; +#X obj 16 97 ambi.mono2wxy~ @angle 90; +#X text 3 -43 Description: Changes the gain (in dB) of 4 signals.; +#X obj 17 274 ambi.wxy2mono~ @angle 90; +#X obj 197 275 ambi.wxy2mono~ @angle 270; +#X text 5 -25 0dB is unity in RMS. -100dB is silence.; +#X text 5 -7 +6dB is twice as loud.; +#X connect 0 0 9 0; +#X connect 1 0 4 0; +#X connect 1 0 3 0; +#X connect 4 0 8 4; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 11 0; +#X connect 8 0 12 0; +#X connect 8 1 11 1; +#X connect 8 1 12 1; +#X connect 8 2 11 2; +#X connect 8 2 12 2; +#X connect 9 0 8 0; +#X connect 9 1 8 1; +#X connect 9 2 8 2; +#X connect 11 0 2 0; +#X connect 12 0 2 1; diff --git a/ambi.gain.4~.pd b/ambi.gain.4~.pd new file mode 100644 index 0000000..994686a --- /dev/null +++ b/ambi.gain.4~.pd @@ -0,0 +1,50 @@ +#N canvas 0 22 765 510 10; +#X obj 19 411 outlet~ w; +#X obj 141 438 outlet~ x; +#X obj 218 437 outlet~ y; +#X obj 547 87 inlet; +#X obj 140 345 *~; +#X obj 258 349 *~; +#X obj 370 345 *~; +#X obj 506 283 line~; +#X obj 24 345 *~; +#X obj 39 140 inlet~ w; +#X obj 104 139 inlet~ x; +#X obj 173 139 inlet~ y; +#X obj 238 138 inlet~ z; +#X obj 368 424 outlet~ z; +#X obj 598 161 init.post.dollarg; +#X obj 597 139 dollarg; +#X obj 611 88 loadbang; +#X obj 605 117 t b b; +#X obj 509 257 pack 0 15; +#X obj 517 230 dbtorms; +#X obj 518 208 + 100; +#X msg 655 126 gain 0; +#X obj 551 184 route gain duration float; +#X connect 3 0 22 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 13 0; +#X connect 7 0 6 1; +#X connect 7 0 5 1; +#X connect 7 0 4 1; +#X connect 7 0 8 1; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 10 0 4 0; +#X connect 11 0 5 0; +#X connect 12 0 6 0; +#X connect 14 0 22 0; +#X connect 15 0 14 0; +#X connect 15 1 14 1; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 17 1 21 0; +#X connect 18 0 7 0; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 20 0; +#X connect 22 1 18 1; +#X connect 22 2 20 0; diff --git a/ambi.gain.7~-help.pd b/ambi.gain.7~-help.pd new file mode 100644 index 0000000..0e22875 --- /dev/null +++ b/ambi.gain.7~-help.pd @@ -0,0 +1,47 @@ +#N canvas 472 136 587 468 10; +#X obj 63 126 noise~; +#X floatatom 410 164 5 0 0 0 - - -; +#X obj 64 381 dac~ 1 2; +#X obj 64 351 ambi.wxyuvpq2mono~ @angle 90; +#X obj 244 352 ambi.wxyuvpq2mono~ @angle 270; +#X obj 485 182 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 63 174 ambi.mono2wxyuvpq~ @angle 90; +#X obj 64 263 ambi.gain.7~ @gain -6; +#X msg 410 184 gain \$1; +#X obj 411 21 vsl 15 128 -100 6 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 11262 1; +#X obj 408 -22 loadbang; +#X msg 409 -3 -6; +#X text 3 -43 Description: Changes the gain (in dB) of 7 signals.; +#X text 5 -25 0dB is unity in RMS. -100dB is silence.; +#X text 5 -7 +6dB is twice as loud.; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 6 2 7 2; +#X connect 6 3 7 3; +#X connect 6 4 7 4; +#X connect 6 5 7 5; +#X connect 6 6 7 6; +#X connect 7 0 3 0; +#X connect 7 0 4 0; +#X connect 7 1 3 1; +#X connect 7 1 4 1; +#X connect 7 2 3 2; +#X connect 7 2 4 2; +#X connect 7 3 3 3; +#X connect 7 3 4 3; +#X connect 7 4 3 4; +#X connect 7 4 4 4; +#X connect 7 5 3 5; +#X connect 7 5 4 5; +#X connect 7 6 3 6; +#X connect 7 6 4 6; +#X connect 8 0 7 7; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; diff --git a/ambi.gain.7~.pd b/ambi.gain.7~.pd new file mode 100644 index 0000000..d65918d --- /dev/null +++ b/ambi.gain.7~.pd @@ -0,0 +1,68 @@ +#N canvas 217 41 986 558 10; +#X obj 19 411 outlet~ w; +#X obj 141 438 outlet~ x; +#X obj 218 437 outlet~ y; +#X obj 784 101 inlet; +#X obj 824 164 init.post.dollarg; +#X obj 823 142 dollarg; +#X obj 837 91 loadbang; +#X obj 140 345 *~; +#X obj 258 349 *~; +#X obj 831 120 t b b; +#X obj 368 424 outlet~ u; +#X obj 447 431 outlet~ v; +#X obj 626 445 outlet~ p; +#X obj 710 446 outlet~ q; +#X obj 370 345 *~; +#X obj 488 349 *~; +#X obj 630 341 *~; +#X obj 696 340 *~; +#X obj 736 282 line~; +#X obj 735 260 pack 0 15; +#X obj 24 345 *~; +#X obj 39 140 inlet~ w; +#X obj 104 139 inlet~ x; +#X obj 173 139 inlet~ y; +#X obj 238 138 inlet~ u; +#X obj 303 136 inlet~ v; +#X obj 372 136 inlet~ p; +#X obj 437 135 inlet~ q; +#X obj 743 233 dbtorms; +#X obj 744 211 + 100; +#X msg 881 129 gain 0; +#X obj 777 187 route gain duration float; +#X connect 3 0 31 0; +#X connect 4 0 31 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 9 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 9 0 5 0; +#X connect 9 1 30 0; +#X connect 14 0 10 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X connect 17 0 13 0; +#X connect 18 0 17 1; +#X connect 18 0 16 1; +#X connect 18 0 15 1; +#X connect 18 0 14 1; +#X connect 18 0 8 1; +#X connect 18 0 7 1; +#X connect 18 0 20 1; +#X connect 19 0 18 0; +#X connect 20 0 0 0; +#X connect 21 0 20 0; +#X connect 22 0 7 0; +#X connect 23 0 8 0; +#X connect 24 0 14 0; +#X connect 25 0 15 0; +#X connect 26 0 16 0; +#X connect 27 0 17 0; +#X connect 28 0 19 0; +#X connect 29 0 28 0; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X connect 31 1 19 1; +#X connect 31 2 29 0; diff --git a/ambi.gain~.pd b/ambi.gain~.pd new file mode 100644 index 0000000..0c43bba --- /dev/null +++ b/ambi.gain~.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 87 96 inlet~; +#X obj 216 115 inlet; +#X obj 203 185 dbtorms; +#X obj 293 99 init.ldf \$1 0; +#X obj 92 160 *~ 1; +#X obj 92 233 outlet~; +#X obj 210 152 + 100; +#X connect 0 0 4 0; +#X connect 1 0 6 0; +#X connect 2 0 4 1; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 6 0 2 0; diff --git a/ambi.limiter.4~-help.pd b/ambi.limiter.4~-help.pd new file mode 100644 index 0000000..72c7daa --- /dev/null +++ b/ambi.limiter.4~-help.pd @@ -0,0 +1,28 @@ +#N canvas 458 78 569 251 10; +#X obj 29 185 ambi.limiter.4~; +#X obj 30 213 dac~ 1 2 3 4; +#X obj 33 67 noise~; +#X obj 28 100 ambi.mono2wxy~ @angle 0; +#X obj 31 157 ambi.wxy2quad~; +#X text 36 6 Description: A 4-channels limiter.; +#X text 38 21 Comments: A limiter limits the gain of all its channel +to the maximum allowed. This one limits to the unit of the DAC. (0dB) +; +#X text 192 109 <-- See how this VERY loud signal is lowered to the +unit gain (0dB) by the limiter.; +#X obj 30 129 ambi.gain.4~ @gain 24; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 0 2 1 2; +#X connect 0 3 1 3; +#X connect 2 0 3 0; +#X connect 3 0 8 0; +#X connect 3 1 8 1; +#X connect 3 2 8 2; +#X connect 4 0 0 0; +#X connect 4 1 0 1; +#X connect 4 2 0 2; +#X connect 4 3 0 3; +#X connect 8 0 4 0; +#X connect 8 1 4 1; +#X connect 8 2 4 2; diff --git a/ambi.limiter.4~.pd b/ambi.limiter.4~.pd new file mode 100644 index 0000000..920866d --- /dev/null +++ b/ambi.limiter.4~.pd @@ -0,0 +1,42 @@ +#N canvas 0 22 924 510 10; +#X msg 581 103 print; +#X obj 53 370 *~; +#X obj 84 370 *~; +#X obj 88 340 z~ 9; +#X obj 53 350 z~ 9; +#X obj 580 72 loadbang; +#X obj 25 72 inlet~ a; +#X obj 110 70 inlet~ b; +#X obj 174 73 inlet~ c; +#X obj 236 73 inlet~ d; +#X obj 141 370 *~; +#X obj 172 370 *~; +#X obj 173 348 z~ 9; +#X obj 141 350 z~ 9; +#X obj 52 408 outlet~ a; +#X obj 124 411 outlet~ b; +#X obj 197 411 outlet~ c; +#X obj 270 414 outlet~ d; +#X obj 246 250 limiter~ 1 2 3 4; +#X connect 0 0 18 0; +#X connect 1 0 14 0; +#X connect 2 0 15 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 6 0 18 0; +#X connect 7 0 3 0; +#X connect 7 0 18 1; +#X connect 8 0 13 0; +#X connect 8 0 18 2; +#X connect 9 0 12 0; +#X connect 9 0 18 3; +#X connect 10 0 16 0; +#X connect 11 0 17 0; +#X connect 12 0 11 0; +#X connect 13 0 10 0; +#X connect 18 0 1 1; +#X connect 18 0 2 1; +#X connect 18 0 10 1; +#X connect 18 0 11 1; diff --git a/ambi.limiter.6~-help.pd b/ambi.limiter.6~-help.pd new file mode 100644 index 0000000..2eeed93 --- /dev/null +++ b/ambi.limiter.6~-help.pd @@ -0,0 +1,43 @@ +#N canvas 745 104 606 421 10; +#X obj 55 193 ambi.limiter.6~; +#X obj 89 254 dac~ 1 2 3 4 5 6; +#X obj 44 159 ambi.wxy2mono~ @angle 60; +#X obj 201 160 ambi.wxy2mono~ @angle 300; +#X obj 106 51 noise~; +#X text 25 13 Description: 6-channels limiter; +#X obj 104 113 ambi.gain.3~; +#X obj 105 74 ambi.mono2wxy~ @angle 30; +#X obj 303 45 vsl 15 50 -100 12 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X obj 366 101 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 21 223 env~; +#X obj 20 245 - 100; +#X obj 23 270 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X text 90 296 <-- Each speaker's level is never going to go over 0dB +; +#X text 341 37 <-- Make some very loud noise; +#X msg 299 19 12; +#X connect 0 0 1 0; +#X connect 0 0 10 0; +#X connect 0 1 1 1; +#X connect 0 2 1 2; +#X connect 0 3 1 3; +#X connect 0 4 1 4; +#X connect 0 5 1 5; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 7 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 6 1 2 1; +#X connect 6 1 3 1; +#X connect 6 2 2 2; +#X connect 6 2 3 2; +#X connect 7 0 6 0; +#X connect 7 1 6 1; +#X connect 7 2 6 2; +#X connect 8 0 9 0; +#X connect 8 0 6 3; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 15 0 8 0; diff --git a/ambi.limiter.6~.pd b/ambi.limiter.6~.pd new file mode 100644 index 0000000..a4b7c7d --- /dev/null +++ b/ambi.limiter.6~.pd @@ -0,0 +1,60 @@ +#N canvas 0 22 924 510 10; +#X msg 581 103 print; +#X obj 53 370 *~; +#X obj 84 370 *~; +#X obj 88 340 z~ 9; +#X obj 53 350 z~ 9; +#X obj 580 72 loadbang; +#X obj 25 72 inlet~ a; +#X obj 110 70 inlet~ b; +#X obj 174 73 inlet~ c; +#X obj 236 73 inlet~ d; +#X obj 300 72 inlet~ e; +#X obj 367 71 inlet~ f; +#X obj 141 370 *~; +#X obj 172 370 *~; +#X obj 173 348 z~ 9; +#X obj 141 350 z~ 9; +#X obj 228 368 *~; +#X obj 228 348 z~ 9; +#X obj 264 370 *~; +#X obj 264 350 z~ 9; +#X obj 388 246 limiter~ 1 2 3 4 5 6; +#X obj 52 408 outlet~ a; +#X obj 124 411 outlet~ b; +#X obj 197 411 outlet~ c; +#X obj 270 414 outlet~ d; +#X obj 345 413 outlet~ e; +#X obj 417 416 outlet~ f; +#X connect 0 0 20 0; +#X connect 1 0 21 0; +#X connect 2 0 22 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 6 0 20 0; +#X connect 7 0 3 0; +#X connect 7 0 20 1; +#X connect 8 0 15 0; +#X connect 8 0 20 2; +#X connect 9 0 14 0; +#X connect 9 0 20 3; +#X connect 10 0 17 0; +#X connect 10 0 20 4; +#X connect 11 0 19 0; +#X connect 11 0 20 5; +#X connect 12 0 23 0; +#X connect 13 0 24 0; +#X connect 14 0 13 0; +#X connect 15 0 12 0; +#X connect 16 0 25 0; +#X connect 17 0 16 0; +#X connect 18 0 26 0; +#X connect 19 0 18 0; +#X connect 20 0 1 1; +#X connect 20 0 2 1; +#X connect 20 0 12 1; +#X connect 20 0 13 1; +#X connect 20 0 16 1; +#X connect 20 0 18 1; diff --git a/ambi.mono2wxyuvpq~-help.pd b/ambi.mono2wxyuvpq~-help.pd new file mode 100644 index 0000000..bc3528d --- /dev/null +++ b/ambi.mono2wxyuvpq~-help.pd @@ -0,0 +1,50 @@ +#N canvas 0 22 497 597 10; +#X obj 44 170 noise~; +#X msg 229 194 angle \$1; +#X floatatom 229 174 5 0 0 0 - - -; +#X obj 232 153 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 269 174 Angle is in degrees.; +#X obj 41 554 dac~ 1 2; +#X obj 42 218 ambi.mono2wxyuvpq~ @angle 0; +#X obj 37 371 ambi.wxyuvpq2mono~ @angle 90; +#X obj 234 371 ambi.wxyuvpq2mono~ @angle 270; +#X obj 234 481 *~ 0.25; +#X obj 273 400 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X floatatom 273 458 5 0 0 0 - - -; +#X obj 39 484 *~ 0.25; +#X obj 78 403 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X floatatom 78 461 5 0 0 0 - - -; +#X obj 289 252 r ambi.angle; +#X obj 290 228 s ambi.angle; +#X text 49 33 Description: Encodes a mono sound to third order horizontal +Ambisonic B-Format.; +#X connect 0 0 6 0; +#X connect 1 0 6 1; +#X connect 2 0 1 0; +#X connect 2 0 16 0; +#X connect 3 0 2 0; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 6 1 7 1; +#X connect 6 1 8 1; +#X connect 6 2 7 2; +#X connect 6 2 8 2; +#X connect 6 3 7 3; +#X connect 6 3 8 3; +#X connect 6 4 7 4; +#X connect 6 4 8 4; +#X connect 6 5 7 5; +#X connect 6 5 8 5; +#X connect 6 6 7 6; +#X connect 6 6 8 6; +#X connect 7 0 12 0; +#X connect 8 0 9 0; +#X connect 9 0 5 1; +#X connect 10 0 11 0; +#X connect 11 0 9 1; +#X connect 12 0 5 0; +#X connect 13 0 14 0; +#X connect 14 0 12 1; diff --git a/ambi.mono2wxyuvpq~.pd b/ambi.mono2wxyuvpq~.pd new file mode 100644 index 0000000..80bf270 --- /dev/null +++ b/ambi.mono2wxyuvpq~.pd @@ -0,0 +1,99 @@ +#N canvas 0 22 962 699 10; +#X obj 47 22 inlet~; +#X obj 19 411 outlet~ w; +#X obj 141 438 outlet~ x; +#X obj 218 437 outlet~ y; +#X obj 631 38 inlet; +#X obj 671 101 init.post.dollarg; +#X obj 670 79 dollarg; +#X obj 684 28 loadbang; +#X obj 154 321 line~; +#X obj 140 345 *~; +#X obj 258 349 *~; +#X obj 618 153 convert.degree2radian; +#X obj 154 276 cos; +#X obj 282 327 line~; +#X obj 153 299 pack 0 15; +#X obj 281 305 pack 0 15; +#X obj 678 57 t b b; +#X obj 282 282 sin; +#X text 460 2 Encodes a mono sound to third order horizontal Ambisonics +B-Format.; +#X obj 624 125 route angle duration directivity; +#X obj 368 424 outlet~ u; +#X obj 447 431 outlet~ v; +#X obj 626 445 outlet~ p; +#X obj 710 446 outlet~ q; +#X obj 399 252 * 2; +#X obj 384 321 line~; +#X obj 370 345 *~; +#X obj 488 349 *~; +#X obj 384 276 cos; +#X obj 512 327 line~; +#X obj 383 299 pack 0 15; +#X obj 511 305 pack 0 15; +#X obj 512 282 sin; +#X msg 738 70 angle 0; +#X obj 644 317 line~; +#X obj 630 341 *~; +#X obj 696 340 *~; +#X obj 644 272 cos; +#X obj 720 318 line~; +#X obj 643 295 pack 0 15; +#X obj 719 296 pack 0 15; +#X obj 720 273 sin; +#X obj 672 246 * 3; +#X connect 0 0 9 0; +#X connect 0 0 10 0; +#X connect 0 0 26 0; +#X connect 0 0 27 0; +#X connect 0 0 35 0; +#X connect 0 0 36 0; +#X connect 0 0 1 0; +#X connect 4 0 19 0; +#X connect 5 0 19 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 16 0; +#X connect 8 0 9 1; +#X connect 9 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 12 0; +#X connect 11 0 17 0; +#X connect 11 0 24 0; +#X connect 11 0 42 0; +#X connect 12 0 14 0; +#X connect 13 0 10 1; +#X connect 14 0 8 0; +#X connect 15 0 13 0; +#X connect 16 0 6 0; +#X connect 16 1 33 0; +#X connect 17 0 15 0; +#X connect 19 0 11 0; +#X connect 19 1 14 1; +#X connect 19 1 15 1; +#X connect 19 1 30 1; +#X connect 19 1 31 1; +#X connect 19 1 39 1; +#X connect 19 1 40 1; +#X connect 24 0 28 0; +#X connect 24 0 32 0; +#X connect 25 0 26 1; +#X connect 26 0 20 0; +#X connect 27 0 21 0; +#X connect 28 0 30 0; +#X connect 29 0 27 1; +#X connect 30 0 25 0; +#X connect 31 0 29 0; +#X connect 32 0 31 0; +#X connect 33 0 19 0; +#X connect 34 0 35 1; +#X connect 35 0 22 0; +#X connect 36 0 23 0; +#X connect 37 0 39 0; +#X connect 38 0 36 1; +#X connect 39 0 34 0; +#X connect 40 0 38 0; +#X connect 41 0 40 0; +#X connect 42 0 37 0; +#X connect 42 0 41 0; diff --git a/ambi.mono2wxyz~-help.pd b/ambi.mono2wxyz~-help.pd new file mode 100644 index 0000000..36ca8a2 --- /dev/null +++ b/ambi.mono2wxyz~-help.pd @@ -0,0 +1,91 @@ +#N canvas 608 214 756 504 10; +#X obj -9 50 noise~; +#X msg 123 74 angle \$1; +#X floatatom 123 54 5 0 0 0 - - -; +#X obj 126 33 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 163 54 Angle is in degrees.; +#X obj -9 305 dac~ 1 2; +#X text 11 -2 Encodes a mono sound to first order Ambisonics B-Format. +; +#X floatatom 291 55 5 0 0 0 - - -; +#X obj 294 34 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 291 75 elevation \$1; +#X floatatom 462 57 5 0 0 0 - - -; +#X obj 465 36 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 331 55 In degrees.; +#X text 502 57 Directivity [0 \, 1]; +#X msg 462 77 directivity \$1; +#X obj -11 98 ambi.mono2wxyz~ @angle 0; +#X obj -16 251 ambi.wxyz2mono~ @angle 90; +#X obj 143 253 ambi.wxyz2mono~ @angle 270; +#X msg 296 336 angle \$1; +#X floatatom 296 316 5 0 0 0 - - -; +#X obj 299 295 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 336 316 Angle is in degrees.; +#X floatatom 296 447 5 0 0 0 - - -; +#X obj 299 426 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 336 447 Directivity [0 \, 1]; +#X msg 296 467 directivity \$1; +#X floatatom 297 381 5 0 0 0 - - -; +#X obj 300 360 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 297 401 elevation \$1; +#X text 337 381 In degrees.; +#X msg 129 336 angle \$1; +#X floatatom 129 316 5 0 0 0 - - -; +#X obj 132 295 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 169 316 Angle is in degrees.; +#X floatatom 128 378 5 0 0 0 - - -; +#X obj 131 357 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 128 398 elevation \$1; +#X text 168 378 In degrees.; +#X floatatom 128 442 5 0 0 0 - - -; +#X obj 131 421 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 168 442 Directivity [0 \, 1]; +#X msg 128 462 directivity \$1; +#X connect 0 0 15 0; +#X connect 1 0 15 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 15 1; +#X connect 10 0 14 0; +#X connect 11 0 10 0; +#X connect 14 0 15 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 15 1 16 1; +#X connect 15 1 17 1; +#X connect 15 2 16 2; +#X connect 15 2 17 2; +#X connect 15 3 16 3; +#X connect 15 3 17 3; +#X connect 16 0 5 0; +#X connect 17 0 5 1; +#X connect 18 0 17 4; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 22 0 25 0; +#X connect 23 0 22 0; +#X connect 25 0 17 4; +#X connect 26 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 17 4; +#X connect 30 0 16 4; +#X connect 31 0 30 0; +#X connect 32 0 31 0; +#X connect 34 0 36 0; +#X connect 35 0 34 0; +#X connect 36 0 16 4; +#X connect 38 0 41 0; +#X connect 39 0 38 0; +#X connect 41 0 16 4; diff --git a/ambi.mono2wxyz~.pd b/ambi.mono2wxyz~.pd new file mode 100644 index 0000000..e256992 --- /dev/null +++ b/ambi.mono2wxyz~.pd @@ -0,0 +1,76 @@ +#N canvas 113 226 886 678 10; +#X obj 47 22 inlet~; +#X obj 20 520 outlet~ w; +#X obj 111 520 outlet~ x; +#X obj 189 522 outlet~ y; +#X obj 242 4 inlet; +#X obj 282 67 init.post.dollarg; +#X obj 281 45 dollarg; +#X obj 295 -6 loadbang; +#X obj 122 290 line~; +#X obj 108 314 *~; +#X obj 226 318 *~; +#X text 564 90 todo: wxyz version with elevation; +#X obj 188 181 convert.degree2radian; +#X text 471 30 XYZ is right-hand rule. (X: forward and Y:left); +#X text 469 49 Angles run anticlockwise starting on the right.; +#X obj 122 245 cos; +#X obj 250 296 line~; +#X obj 121 268 pack 0 15; +#X obj 249 274 pack 0 15; +#X text 416 9 Encodes a mono sound to first order Ambisonics B-Format. +; +#X obj 289 23 t b b; +#X obj 250 251 sin; +#X obj 386 330 line~; +#X obj 220 373 *~; +#X obj 387 262 convert.degree2radian; +#X obj 386 285 cos; +#X obj 385 308 pack 0 15; +#X obj 111 373 *~; +#X obj 332 449 line~; +#X obj 331 427 pack 0 15; +#X obj 332 404 sin; +#X obj 322 483 *~; +#X msg 349 36 elevation 0; +#X obj 315 523 outlet~ z; +#X obj 235 91 route angle duration directivity elevation; +#X connect 0 0 9 0; +#X connect 0 0 10 0; +#X connect 0 0 31 0; +#X connect 0 0 1 0; +#X connect 4 0 34 0; +#X connect 5 0 34 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 20 0; +#X connect 8 0 9 1; +#X connect 9 0 27 0; +#X connect 10 0 23 0; +#X connect 12 0 15 0; +#X connect 12 0 21 0; +#X connect 15 0 17 0; +#X connect 16 0 10 1; +#X connect 17 0 8 0; +#X connect 18 0 16 0; +#X connect 20 0 6 0; +#X connect 20 1 32 0; +#X connect 21 0 18 0; +#X connect 22 0 23 1; +#X connect 22 0 27 1; +#X connect 23 0 3 0; +#X connect 24 0 25 0; +#X connect 24 0 30 0; +#X connect 25 0 26 0; +#X connect 26 0 22 0; +#X connect 27 0 2 0; +#X connect 28 0 31 1; +#X connect 29 0 28 0; +#X connect 30 0 29 0; +#X connect 31 0 33 0; +#X connect 32 0 34 0; +#X connect 34 0 12 0; +#X connect 34 1 17 1; +#X connect 34 1 18 1; +#X connect 34 1 29 1; +#X connect 34 3 24 0; diff --git a/ambi.mono2wxy~-help.pd b/ambi.mono2wxy~-help.pd new file mode 100644 index 0000000..84433c2 --- /dev/null +++ b/ambi.mono2wxy~-help.pd @@ -0,0 +1,25 @@ +#N canvas 619 232 503 358 10; +#X obj -9 50 noise~; +#X msg 123 74 angle \$1; +#X floatatom 123 54 5 0 0 0 - - -; +#X obj 126 33 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X obj -11 98 ambi.mono2wxy~ @angle 0; +#X text 163 54 Angle is in degrees.; +#X obj -16 251 ambi.wxy2mono~ @angle 90; +#X obj 143 253 ambi.wxy2mono~ @angle 270; +#X text 11 -2 Encodes a mono sound to first order Ambisonics horizontal +B-Format.; +#X obj -9 305 dac~ 1 2; +#X connect 0 0 4 0; +#X connect 1 0 4 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 4 0 7 0; +#X connect 4 1 6 1; +#X connect 4 1 7 1; +#X connect 4 2 6 2; +#X connect 4 2 7 2; +#X connect 6 0 9 0; +#X connect 7 0 9 1; diff --git a/ambi.mono2wxy~.pd b/ambi.mono2wxy~.pd new file mode 100644 index 0000000..ed42511 --- /dev/null +++ b/ambi.mono2wxy~.pd @@ -0,0 +1,46 @@ +#N canvas 21 225 831 395 10; +#X obj 47 22 inlet~; +#X obj 22 258 outlet~ w; +#X obj 111 255 outlet~ x; +#X obj 189 257 outlet~ y; +#X obj 242 4 inlet; +#X obj 289 50 init.post.dollarg; +#X obj 288 28 dollarg; +#X obj 290 4 loadbang; +#X obj 124 208 line~; +#X obj 235 91 route angle duration; +#X obj 114 231 *~; +#X obj 185 230 *~; +#X text 321 130 todo: dominance; +#X text 315 163 todo: wxyz version with elevation; +#X obj 184 119 convert.degree2radian; +#X text 296 246 Encodes a mono sound to first order Ambisonics horizontal +B-Format.; +#X text 471 30 XYZ is right-hand rule. (X: forward and Y:left); +#X text 469 49 Angles run anticlockwise starting on the right.; +#X obj 124 163 cos; +#X obj 204 203 line~; +#X obj 204 158 sin; +#X obj 123 186 pack 0 15; +#X obj 204 181 pack 0 15; +#X connect 0 0 10 0; +#X connect 0 0 11 0; +#X connect 0 0 1 0; +#X connect 4 0 9 0; +#X connect 5 0 9 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 6 0; +#X connect 8 0 10 1; +#X connect 9 0 14 0; +#X connect 9 1 21 1; +#X connect 9 1 22 1; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 14 0 18 0; +#X connect 14 0 20 0; +#X connect 18 0 21 0; +#X connect 19 0 11 1; +#X connect 20 0 22 0; +#X connect 21 0 8 0; +#X connect 22 0 19 0; diff --git a/ambi.receive.7~-help.pd b/ambi.receive.7~-help.pd new file mode 100644 index 0000000..afa77fc --- /dev/null +++ b/ambi.receive.7~-help.pd @@ -0,0 +1,4 @@ +#N canvas 0 22 458 308 10; +#X obj 155 115 ambi.send.7~ foo; +#X obj 151 149 ambi.receive.7~ foo; +#X text 151 64 Description: Receives 7 signals.; diff --git a/ambi.receive.7~.pd b/ambi.receive.7~.pd new file mode 100644 index 0000000..27bd166 --- /dev/null +++ b/ambi.receive.7~.pd @@ -0,0 +1,22 @@ +#N canvas 123 273 507 118 10; +#X obj 23 59 outlet~; +#X obj 91 58 outlet~; +#X obj 162 58 outlet~; +#X obj 230 57 outlet~; +#X obj 286 55 outlet~; +#X obj 357 55 outlet~; +#X obj 407 53 outlet~; +#X obj 20 29 r~ \$1-1; +#X obj 90 29 r~ \$1-2; +#X obj 164 29 r~ \$1-3; +#X obj 233 27 r~ \$1-4; +#X obj 287 28 r~ \$1-5; +#X obj 339 29 r~ \$1-6; +#X obj 402 29 r~ \$1-7; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X connect 9 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 6 0; diff --git a/ambi.rotate.wxyuvpq~-help.pd b/ambi.rotate.wxyuvpq~-help.pd new file mode 100644 index 0000000..808c1ba --- /dev/null +++ b/ambi.rotate.wxyuvpq~-help.pd @@ -0,0 +1,4 @@ +#N canvas 0 22 428 224 10; +#X obj 50 109 ambi.rotate.wxyuvpq~; +#X text 24 45 Description: Rotates a 3rd order horizontal Ambisonic +sound.; diff --git a/ambi.rotate.wxyuvpq~.pd b/ambi.rotate.wxyuvpq~.pd new file mode 100644 index 0000000..c3ab55c --- /dev/null +++ b/ambi.rotate.wxyuvpq~.pd @@ -0,0 +1,139 @@ +#N canvas 29 191 1223 628 10; +#X obj 43 468 outlet~ w; +#X obj 165 495 outlet~ x; +#X obj 272 492 outlet~ y; +#X obj 870 55 inlet; +#X obj 910 118 init.post.dollarg; +#X obj 909 96 dollarg; +#X obj 923 45 loadbang; +#X obj 178 378 line~; +#X obj 164 402 *~; +#X obj 234 419 *~; +#X obj 873 180 convert.degree2radian; +#X obj 178 333 cos; +#X obj 177 356 pack 0 15; +#X obj 917 74 t b b; +#X msg 977 87 angle 0; +#X obj 30 93 inlet~ w; +#X obj 150 93 inlet~ x; +#X obj 240 93 inlet~ y; +#X obj 164 447 -~; +#X obj 283 392 line~; +#X obj 271 423 *~; +#X obj 309 424 *~; +#X obj 282 370 pack 0 15; +#X obj 283 347 sin; +#X text 102 534 x' = x * cos A - y * sin A && y' = x * sin A + y * +cos A; +#X text 91 508 rotation:; +#X text 93 557 ...et 2A et 3A; +#X obj 954 216 f; +#X obj 863 142 route angle duration; +#X obj 315 95 inlet~ u; +#X obj 404 95 inlet~ v; +#X obj 482 98 inlet~ p; +#X obj 571 98 inlet~ q; +#X obj 525 370 line~; +#X obj 511 394 *~; +#X obj 581 411 *~; +#X obj 525 325 cos; +#X obj 605 389 line~; +#X obj 524 348 pack 0 15; +#X obj 604 367 pack 0 15; +#X obj 605 344 sin; +#X obj 511 439 -~; +#X obj 671 448 *~; +#X obj 704 449 *~; +#X obj 524 291 * 2; +#X obj 810 374 line~; +#X obj 796 398 *~; +#X obj 866 415 *~; +#X obj 810 329 cos; +#X obj 890 393 line~; +#X obj 809 352 pack 0 15; +#X obj 889 371 pack 0 15; +#X obj 890 348 sin; +#X obj 796 443 -~; +#X obj 956 452 *~; +#X obj 989 453 *~; +#X obj 512 487 outlet~ u; +#X obj 671 481 outlet~ v; +#X obj 797 491 outlet~ p; +#X obj 956 485 outlet~ q; +#X obj 809 295 * 3; +#X connect 3 0 28 0; +#X connect 4 0 28 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 13 0; +#X connect 7 0 8 1; +#X connect 7 0 21 1; +#X connect 8 0 18 0; +#X connect 9 0 18 1; +#X connect 10 0 11 0; +#X connect 10 0 23 0; +#X connect 10 0 44 0; +#X connect 10 0 60 0; +#X connect 11 0 12 0; +#X connect 12 0 7 0; +#X connect 13 0 5 0; +#X connect 13 1 14 0; +#X connect 14 0 28 0; +#X connect 15 0 0 0; +#X connect 16 0 8 0; +#X connect 16 0 20 0; +#X connect 17 0 9 0; +#X connect 17 0 21 0; +#X connect 18 0 1 0; +#X connect 19 0 20 1; +#X connect 19 0 9 1; +#X connect 20 0 2 0; +#X connect 21 0 2 0; +#X connect 22 0 19 0; +#X connect 23 0 22 0; +#X connect 27 0 12 1; +#X connect 27 0 22 1; +#X connect 27 0 38 1; +#X connect 27 0 39 1; +#X connect 27 0 50 1; +#X connect 27 0 51 1; +#X connect 28 0 10 0; +#X connect 28 1 27 0; +#X connect 29 0 34 0; +#X connect 29 0 42 0; +#X connect 30 0 35 0; +#X connect 30 0 43 0; +#X connect 31 0 46 0; +#X connect 31 0 54 0; +#X connect 32 0 47 0; +#X connect 32 0 55 0; +#X connect 33 0 34 1; +#X connect 33 0 43 1; +#X connect 34 0 41 0; +#X connect 35 0 41 1; +#X connect 36 0 38 0; +#X connect 37 0 35 1; +#X connect 37 0 42 1; +#X connect 38 0 33 0; +#X connect 39 0 37 0; +#X connect 40 0 39 0; +#X connect 41 0 56 0; +#X connect 42 0 57 0; +#X connect 43 0 57 0; +#X connect 44 0 36 0; +#X connect 44 0 40 0; +#X connect 45 0 46 1; +#X connect 45 0 55 1; +#X connect 46 0 53 0; +#X connect 47 0 53 1; +#X connect 48 0 50 0; +#X connect 49 0 47 1; +#X connect 49 0 54 1; +#X connect 50 0 45 0; +#X connect 51 0 49 0; +#X connect 52 0 51 0; +#X connect 53 0 58 0; +#X connect 54 0 59 0; +#X connect 55 0 59 0; +#X connect 60 0 48 0; +#X connect 60 0 52 0; diff --git a/ambi.rotate.wxy~-help.pd b/ambi.rotate.wxy~-help.pd new file mode 100644 index 0000000..9eefac4 --- /dev/null +++ b/ambi.rotate.wxy~-help.pd @@ -0,0 +1,5 @@ +#N canvas 0 22 432 228 10; +#X obj 50 109 ambi.rotate.wxy~; +#X text 24 45 Description: Rotates a 1st order horizontal ambisonic +sound.; +#X text 26 58 Attributes: @angle @duration ; diff --git a/ambi.rotate.wxy~.pd b/ambi.rotate.wxy~.pd new file mode 100644 index 0000000..fb5d4c2 --- /dev/null +++ b/ambi.rotate.wxy~.pd @@ -0,0 +1,77 @@ +#N canvas 0 22 1064 612 10; +#X obj 43 468 outlet~ w; +#X obj 165 495 outlet~ x; +#X obj 390 493 outlet~ y; +#X obj 631 38 inlet; +#X obj 671 101 init.post.dollarg; +#X obj 670 79 dollarg; +#X obj 684 28 loadbang; +#X obj 178 378 line~; +#X obj 164 402 *~; +#X obj 234 419 *~; +#X obj 416 250 convert.degree2radian; +#X obj 178 333 cos; +#X obj 258 397 line~; +#X obj 177 356 pack 0 15; +#X obj 257 375 pack 0 15; +#X obj 678 57 t b b; +#X obj 258 352 sin; +#X msg 738 70 angle 0; +#X obj 30 93 inlet~ w; +#X obj 150 93 inlet~ x; +#X obj 240 93 inlet~ y; +#X obj 164 447 -~; +#X obj 417 362 line~; +#X obj 403 386 *~; +#X obj 473 403 *~; +#X obj 497 381 line~; +#X obj 416 340 pack 0 15; +#X obj 496 359 pack 0 15; +#X obj 417 317 sin; +#X obj 497 336 cos; +#X text 578 261 x' = x * cos A - y * sin A && y' = x * sin A + y * +cos A; +#X text 567 235 rotation:; +#X text 569 284 ...et 2A et 3A; +#X obj 502 281 f; +#X obj 624 125 route angle duration; +#X connect 3 0 34 0; +#X connect 4 0 34 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 15 0; +#X connect 7 0 8 1; +#X connect 8 0 21 0; +#X connect 9 0 21 1; +#X connect 10 0 11 0; +#X connect 10 0 16 0; +#X connect 10 0 28 0; +#X connect 10 0 29 0; +#X connect 11 0 13 0; +#X connect 12 0 9 1; +#X connect 13 0 7 0; +#X connect 14 0 12 0; +#X connect 15 0 5 0; +#X connect 15 1 17 0; +#X connect 16 0 14 0; +#X connect 17 0 34 0; +#X connect 18 0 0 0; +#X connect 19 0 8 0; +#X connect 19 0 23 0; +#X connect 20 0 9 0; +#X connect 20 0 24 0; +#X connect 21 0 1 0; +#X connect 22 0 23 1; +#X connect 23 0 2 0; +#X connect 24 0 2 0; +#X connect 25 0 24 1; +#X connect 26 0 22 0; +#X connect 27 0 25 0; +#X connect 28 0 26 0; +#X connect 29 0 27 0; +#X connect 33 0 14 1; +#X connect 33 0 13 1; +#X connect 33 0 26 1; +#X connect 33 0 27 1; +#X connect 34 0 10 0; +#X connect 34 1 33 0; diff --git a/ambi.send.7~-help.pd b/ambi.send.7~-help.pd new file mode 100644 index 0000000..5520d6b --- /dev/null +++ b/ambi.send.7~-help.pd @@ -0,0 +1,4 @@ +#N canvas 0 22 458 308 10; +#X obj 151 149 ambi.receive.7~ foo; +#X obj 155 115 ambi.send.7~ foo; +#X text 124 55 Description: Sends 7 signals; diff --git a/ambi.send.7~.pd b/ambi.send.7~.pd new file mode 100644 index 0000000..2738408 --- /dev/null +++ b/ambi.send.7~.pd @@ -0,0 +1,22 @@ +#N canvas 433 250 481 443 10; +#X obj 52 109 inlet~; +#X obj 99 109 inlet~; +#X obj 146 108 inlet~; +#X obj 193 108 inlet~; +#X obj 239 109 inlet~; +#X obj 286 108 inlet~; +#X obj 333 108 inlet~; +#X obj 11 189 s~ \$1-1; +#X obj 72 196 s~ \$1-2; +#X obj 125 203 s~ \$1-3; +#X obj 174 252 s~ \$1-4; +#X obj 231 267 s~ \$1-5; +#X obj 283 260 s~ \$1-6; +#X obj 354 258 s~ \$1-7; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 9 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 6 0 13 0; diff --git a/ambi.sf.read.4~-help.pd b/ambi.sf.read.4~-help.pd new file mode 100644 index 0000000..607c74a --- /dev/null +++ b/ambi.sf.read.4~-help.pd @@ -0,0 +1,75 @@ +#N canvas 113 221 678 571 10; +#X msg 51 85 openpanel; +#X text 33 424 You can find sample Ambisonic B-format sound files on +http://ambisonia.com; +#X msg 194 161 loop \$1; +#X obj 194 142 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 193 111 play; +#X msg 232 111 stop; +#X msg 279 114 autostart \$1; +#X obj 279 95 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X floatatom 294 359 12 0 0 0 - - -; +#X obj 440 416 hsl 127 8 0 1 0 0 empty empty empty -2 -8 0 10 -191407 +-1 -1 0 1; +#X obj 539 355 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 482 385 12 0 0 0 - - -; +#X obj 293 382 / 1000; +#X floatatom 292 405 12 0 0 0 - - -; +#X text 375 359 ms; +#X text 372 407 seconds; +#X obj 437 319 route duration elapsed done; +#X obj 437 390 /; +#X text 30 455 Important: The sampling rate of the file and the sampling +rate of Pd must be the same if you want the sound to be played at correct +speed and pitch.; +#X text 42 522 See also :; +#X obj 117 527 readsf~; +#X obj 175 527 ambi.table.4 \$0-dummy; +#X obj 316 524 ambi.table.play.3~ \$0-dummy; +#X msg 169 69 open medias/sounds/ambisonic00.wav; +#X obj 169 49 bng 15 250 50 0 empty empty empty 17 7 0 10 -258113 -1 +-1; +#X obj 39 191 ambi.sf.read.4~ @autostart 1 @loop 0; +#X text 47 12 Description: Reads a 4-channels first order Ambisonic +B-format wav sound file.; +#X text 191 47 This example file has a sampling rate of 44.1 kHz; +#X obj 25 264 ambi.wxy2quad~; +#X obj 18 288 ambi.gain.4~ @gain -6; +#X obj 30 343 dac~ 1 2 3 4; +#X obj 177 270 vsl 30 60 -100 0 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X floatatom 180 351 5 0 0 0 - - -; +#X connect 0 0 25 0; +#X connect 2 0 25 0; +#X connect 3 0 2 0; +#X connect 4 0 25 0; +#X connect 5 0 25 0; +#X connect 6 0 25 0; +#X connect 7 0 6 0; +#X connect 8 0 12 0; +#X connect 12 0 13 0; +#X connect 16 0 8 0; +#X connect 16 0 17 1; +#X connect 16 1 11 0; +#X connect 16 1 17 0; +#X connect 16 2 10 0; +#X connect 17 0 9 0; +#X connect 23 0 25 0; +#X connect 24 0 23 0; +#X connect 25 0 28 0; +#X connect 25 1 28 1; +#X connect 25 2 28 2; +#X connect 25 4 16 0; +#X connect 28 0 29 0; +#X connect 28 1 29 1; +#X connect 28 2 29 2; +#X connect 28 3 29 3; +#X connect 29 0 30 0; +#X connect 29 1 30 1; +#X connect 29 2 30 2; +#X connect 29 3 30 3; +#X connect 31 0 29 4; +#X connect 31 0 32 0; diff --git a/ambi.sf.read.4~.pd b/ambi.sf.read.4~.pd new file mode 100644 index 0000000..0ce58b5 --- /dev/null +++ b/ambi.sf.read.4~.pd @@ -0,0 +1,147 @@ +#N canvas 355 49 1087 808 10; +#X obj 30 642 readsf~ 4; +#X msg 149 302 1; +#X msg 181 300 0; +#X msg 49 273 print; +#X obj 388 216 openpanel; +#X text 607 546 Send it "1" to play once a file is opened.; +#X obj 31 681 *~ 1.414; +#X obj 24 711 outlet~; +#X obj 79 713 outlet~; +#X obj 134 713 outlet~; +#X obj 189 715 outlet~; +#X obj 188 230 t b; +#X obj 389 191 t b; +#X obj 342 112 init.post.dollarg; +#X obj 341 90 dollarg; +#X obj 337 6 loadbang; +#X obj 339 34 t b b; +#X obj 260 332 spigot; +#X obj 348 289 symbol; +#X obj 347 243 convert.list2symbol; +#X obj 523 415 spigot; +#X text 602 559 todo: append more args?; +#X obj 822 92 inlet readsf; +#X obj 47 29 inlet attr; +#N canvas 223 193 628 639 wav_info 0; +#X msg 31 92 read \$1; +#X obj 31 166 soundfile_info; +#X text 40 146 "read"-message needs a symbol (soundfile in wave format) +; +#X text 50 184 "list"-message output with 7 items; +#X text 91 224 4.item: header-size in bytes; +#X text 91 194 1.item: samplerate in Hz; +#X text 91 204 2.item: file-name; +#X text 91 234 5.item: number of channels; +#X text 91 254 7.item: endianness ("l" for little); +#X text 260 264 ("b" for big); +#X text 262 276 (eg. little endian "wav" is natural format on Intel-machines) +; +#X text 91 214 3.item: sound-data-length in samples; +#X text 91 244 6.item: sample-resolution in bytes; +#X obj 33 49 inlet; +#X obj 31 302 unpack f s f f f f s; +#X obj 26 489 outlet duration_ms; +#X text 132 49 NOTE: we could also use the wavinfo object.; +#X obj 37 434 convert.smp2ms; +#X msg 32 459 duration \$1; +#X msg 161 434 bytes \$1; +#X msg 21 393 samplerate \$1; +#X connect 0 0 1 0; +#X connect 1 0 14 0; +#X connect 13 0 0 0; +#X connect 14 0 20 0; +#X connect 14 2 17 0; +#X connect 14 5 19 0; +#X connect 17 0 18 0; +#X connect 18 0 15 0; +#X connect 19 0 15 0; +#X connect 20 0 15 0; +#X restore 326 588 pd wav_info; +#X obj 390 711 outlet info; +#X msg 261 651 done bang; +#X obj 418 643 timer; +#X obj 452 616 metro 50; +#X obj 147 347 f; +#X obj 456 559 sel 1; +#X msg 456 589 1; +#X obj 501 571 t b; +#X msg 500 592 0; +#X msg 416 666 elapsed \$1; +#X obj 375 337 prepend open; +#X obj 824 148 s \$0-readsf; +#X obj 91 607 r \$0-readsf; +#X text 174 350 Playing; +#X text 154 212 Play stop; +#X obj 148 249 t b b; +#X msg 147 381 playing \$1; +#X obj 562 391 f; +#X msg 384 58 autostart 1 \, loop 0; +#X text 395 39 Default values; +#X obj 347 266 t s s; +#X obj 349 311 t b s; +#X text 259 351 autostart; +#X text 591 390 loop; +#X obj 523 440 delay 100; +#X text 590 441 avoids infinite loop; +#X obj 344 138 route file play stop openpanel open autostart loop loop_interval +; +#X connect 0 0 6 0; +#X connect 0 1 8 0; +#X connect 0 2 9 0; +#X connect 0 3 10 0; +#X connect 0 4 20 0; +#X connect 0 4 26 0; +#X connect 1 0 29 0; +#X connect 2 0 29 0; +#X connect 3 0 0 0; +#X connect 4 0 19 0; +#X connect 6 0 7 0; +#X connect 11 0 2 0; +#X connect 12 0 4 0; +#X connect 13 0 51 0; +#X connect 14 0 13 0; +#X connect 14 1 13 1; +#X connect 15 0 16 0; +#X connect 16 0 14 0; +#X connect 16 1 43 0; +#X connect 17 0 1 0; +#X connect 18 0 46 0; +#X connect 19 0 45 0; +#X connect 20 0 49 0; +#X connect 22 0 36 0; +#X connect 23 0 51 0; +#X connect 24 0 25 0; +#X connect 26 0 25 0; +#X connect 27 0 34 0; +#X connect 28 0 27 1; +#X connect 29 0 0 0; +#X connect 29 0 30 0; +#X connect 29 0 41 0; +#X connect 30 0 27 0; +#X connect 30 0 31 0; +#X connect 30 1 32 0; +#X connect 31 0 28 0; +#X connect 32 0 33 0; +#X connect 33 0 28 0; +#X connect 34 0 25 0; +#X connect 35 0 0 0; +#X connect 37 0 0 0; +#X connect 40 0 1 0; +#X connect 40 1 18 0; +#X connect 41 0 25 0; +#X connect 42 0 20 1; +#X connect 43 0 51 0; +#X connect 45 0 18 0; +#X connect 45 1 24 0; +#X connect 46 0 17 0; +#X connect 46 1 35 0; +#X connect 49 0 18 0; +#X connect 51 0 19 0; +#X connect 51 1 40 0; +#X connect 51 2 11 0; +#X connect 51 3 12 0; +#X connect 51 4 18 0; +#X connect 51 5 17 1; +#X connect 51 6 42 0; +#X connect 51 8 49 1; diff --git a/ambi.sf.write.4~-help.pd b/ambi.sf.write.4~-help.pd new file mode 100644 index 0000000..4c65868 --- /dev/null +++ b/ambi.sf.write.4~-help.pd @@ -0,0 +1,56 @@ +#N canvas 0 22 746 614 10; +#X text 94 46 Description: Writes a first-order Ambisonic sound file. +; +#X obj 91 251 noise~; +#X msg 223 253 angle \$1; +#X floatatom 223 233 5 0 0 0 - - -; +#X obj 226 212 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 9454 1; +#X obj 89 277 ambi.mono2wxy~ @angle 0; +#X obj 223 146 init.lf 1; +#X obj 223 169 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#N canvas 0 22 454 304 auto_rotate 0; +#X obj 145 73 inlet; +#X obj 145 150 count.modulo 360; +#X obj 150 111 metro 20; +#X floatatom 206 88 5 0 0 0 - - -; +#X obj 146 178 outlet; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X restore 223 190 pd auto_rotate; +#X obj 65 367 dac~; +#X obj 89 318 ambi.wxy2mono~ @angle 60; +#X obj 100 339 ambi.wxy2mono~ @angle 300; +#X msg 466 280 savepanel; +#X msg 492 311 start; +#X msg 505 352 stop; +#X obj 399 493 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 423 494 recording status; +#X text 85 211 example sound; +#X obj 398 460 ambi.sf.write.4~; +#X connect 1 0 5 0; +#X connect 2 0 5 1; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 10 0; +#X connect 5 0 11 0; +#X connect 5 0 18 0; +#X connect 5 1 10 1; +#X connect 5 1 11 1; +#X connect 5 1 18 1; +#X connect 5 2 10 2; +#X connect 5 2 11 2; +#X connect 5 2 18 2; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 10 0 9 0; +#X connect 11 0 9 1; +#X connect 12 0 18 4; +#X connect 13 0 18 4; +#X connect 14 0 18 4; +#X connect 18 0 15 0; diff --git a/ambi.sf.write.4~.pd b/ambi.sf.write.4~.pd new file mode 100644 index 0000000..39d7753 --- /dev/null +++ b/ambi.sf.write.4~.pd @@ -0,0 +1,52 @@ +#N canvas 0 22 1059 504 10; +#X msg 856 234 open -wave \$1; +#X obj 856 210 savepanel; +#X msg 754 231 start; +#X msg 800 231 stop; +#X obj 196 170 inlet~; +#X obj 253 168 inlet~; +#X obj 398 440 writesf~ 4; +#X obj 631 38 inlet; +#X obj 671 101 init.post.dollarg; +#X obj 670 79 dollarg; +#X obj 684 28 loadbang; +#X obj 595 207 flow.prepend open -wave; +#X obj 751 201 t b; +#X obj 799 207 t b; +#X obj 856 190 t b; +#X obj 325 169 inlet~; +#X obj 382 167 inlet~; +#X obj 248 322 *~ 0.707; +#X obj 624 125 route file start stop savepanel open; +#X obj 708 391 f; +#X msg 733 328 1; +#X msg 775 324 0; +#X obj 700 435 outlet status; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 4 0 17 0; +#X connect 5 0 6 1; +#X connect 7 0 18 0; +#X connect 8 0 18 0; +#X connect 9 0 8 0; +#X connect 9 1 8 1; +#X connect 10 0 9 0; +#X connect 11 0 6 0; +#X connect 12 0 2 0; +#X connect 12 0 20 0; +#X connect 13 0 3 0; +#X connect 13 0 21 0; +#X connect 14 0 1 0; +#X connect 15 0 6 2; +#X connect 16 0 6 3; +#X connect 17 0 6 0; +#X connect 18 0 11 0; +#X connect 18 1 12 0; +#X connect 18 2 13 0; +#X connect 18 3 14 0; +#X connect 18 4 11 0; +#X connect 19 0 22 0; +#X connect 20 0 19 0; +#X connect 21 0 19 0; diff --git a/ambi.sf.write.7~-help.pd b/ambi.sf.write.7~-help.pd new file mode 100644 index 0000000..cf4edde --- /dev/null +++ b/ambi.sf.write.7~-help.pd @@ -0,0 +1,60 @@ +#N canvas 519 89 746 614 10; +#X text 94 46 Description: Writes a first-order Ambisonic sound file. +; +#X obj 91 251 noise~; +#X msg 223 253 angle \$1; +#X floatatom 223 233 5 0 0 0 - - -; +#X obj 226 212 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 1587 1; +#X obj 89 277 ambi.mono2wxy~ @angle 0; +#X obj 223 146 init.lf 1; +#X obj 223 169 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#N canvas 0 22 454 304 auto_rotate 0; +#X obj 145 73 inlet; +#X obj 145 150 count.modulo 360; +#X obj 150 111 metro 20; +#X floatatom 206 88 5 0 0 0 - - -; +#X obj 146 178 outlet; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X restore 223 190 pd auto_rotate; +#X obj 65 367 dac~; +#X obj 89 318 ambi.wxy2mono~ @angle 60; +#X obj 100 339 ambi.wxy2mono~ @angle 300; +#X msg 466 280 savepanel; +#X msg 492 311 start; +#X msg 505 352 stop; +#X obj 399 493 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 423 494 recording status; +#X text 85 211 example sound; +#X obj 398 460 ambi.sf.write.7~; +#X connect 1 0 5 0; +#X connect 2 0 5 1; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 10 0; +#X connect 5 0 11 0; +#X connect 5 0 18 0; +#X connect 5 0 18 3; +#X connect 5 1 10 1; +#X connect 5 1 11 1; +#X connect 5 1 18 1; +#X connect 5 1 18 4; +#X connect 5 1 18 6; +#X connect 5 2 10 2; +#X connect 5 2 11 2; +#X connect 5 2 18 2; +#X connect 5 2 18 5; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 10 0 9 0; +#X connect 11 0 9 1; +#X connect 12 0 18 7; +#X connect 13 0 18 7; +#X connect 14 0 18 7; +#X connect 18 0 15 0; diff --git a/ambi.sf.write.7~.pd b/ambi.sf.write.7~.pd new file mode 100644 index 0000000..df6f620 --- /dev/null +++ b/ambi.sf.write.7~.pd @@ -0,0 +1,58 @@ +#N canvas 0 22 1059 504 10; +#X msg 856 234 open -wave \$1; +#X obj 856 210 savepanel; +#X msg 754 231 start; +#X msg 800 231 stop; +#X obj 196 170 inlet~; +#X obj 253 168 inlet~; +#X obj 631 38 inlet; +#X obj 671 101 init.post.dollarg; +#X obj 670 79 dollarg; +#X obj 684 28 loadbang; +#X obj 595 207 flow.prepend open -wave; +#X obj 751 201 t b; +#X obj 799 207 t b; +#X obj 856 190 t b; +#X obj 325 169 inlet~; +#X obj 382 167 inlet~; +#X obj 248 322 *~ 0.707; +#X obj 624 125 route file start stop savepanel open; +#X obj 708 391 f; +#X msg 733 328 1; +#X msg 775 324 0; +#X obj 700 435 outlet status; +#X obj 433 168 inlet~; +#X obj 505 169 inlet~; +#X obj 562 167 inlet~; +#X obj 547 432 writesf~ 7; +#X connect 0 0 25 0; +#X connect 1 0 0 0; +#X connect 2 0 25 0; +#X connect 3 0 25 0; +#X connect 4 0 16 0; +#X connect 5 0 25 1; +#X connect 6 0 17 0; +#X connect 7 0 17 0; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 8 0; +#X connect 10 0 25 0; +#X connect 11 0 2 0; +#X connect 11 0 19 0; +#X connect 12 0 3 0; +#X connect 12 0 20 0; +#X connect 13 0 1 0; +#X connect 14 0 25 2; +#X connect 15 0 25 3; +#X connect 16 0 25 0; +#X connect 17 0 10 0; +#X connect 17 1 11 0; +#X connect 17 2 12 0; +#X connect 17 3 13 0; +#X connect 17 4 10 0; +#X connect 18 0 21 0; +#X connect 19 0 18 0; +#X connect 20 0 18 0; +#X connect 22 0 25 4; +#X connect 23 0 25 5; +#X connect 24 0 25 6; diff --git a/ambi.table.4-help.pd b/ambi.table.4-help.pd new file mode 100644 index 0000000..0ec138f --- /dev/null +++ b/ambi.table.4-help.pd @@ -0,0 +1,23 @@ +#N canvas 0 22 414 383 10; +#X msg -2 223 openpanel; +#X floatatom -3 288 12 0 0 0 - - -; +#X obj -3 265 route samples; +#X obj -2 186 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 -1 +-1; +#X obj 73 182 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 -1 +-1; +#X msg 73 219 savepanel; +#X text 9 60 Description: Holds four tables and provides methods for +reading and writing from and to sound files.; +#X obj -2 247 ambi.table.4 \$0-bar; +#X text 138 346 See also:; +#X msg 192 221 clear; +#X obj 212 322 ambi.table.play.3~ \$0-egg; +#X obj 213 348 ambi.table.read.3~ \$0-bar; +#X connect 0 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 7 0 2 0; +#X connect 9 0 7 0; diff --git a/ambi.table.4.pd b/ambi.table.4.pd new file mode 100644 index 0000000..ed09951 --- /dev/null +++ b/ambi.table.4.pd @@ -0,0 +1,185 @@ +#N canvas 10 94 1267 810 10; +#X obj 160 413 soundfiler; +#X floatatom 167 436 12 0 0 0 - - -; +#X obj 160 464 convert.smp2ms; +#X floatatom 185 486 12 0 0 0 - - -; +#X obj 643 127 openpanel; +#X obj 169 558 outlet; +#X obj 161 511 flow.prepend ms; +#X obj 172 83 t s b; +#X obj 171 177 pack s s s s s; +#X obj 577 9 inlet; +#X obj 624 55 init.post.dollarg; +#X obj 623 33 dollarg; +#X obj 502 112 convert.list2symbol; +#X obj 204 155 symbol \$1-w; +#X obj 283 156 symbol \$1-x; +#X obj 368 157 symbol \$1-y; +#X obj 446 157 symbol \$1-z; +#X obj 245 617 table \$1-w 100; +#X obj 245 638 table \$1-x 100; +#X obj 243 660 table \$1-y 100; +#X obj 244 680 table \$1-z 100; +#X obj 262 234 spigot 1; +#X msg 184 231 read; +#X obj 208 121 bang; +#X obj 212 99 loadbang; +#X obj 262 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 965 257 s \$0-resize; +#X obj 308 211 r \$0-resize; +#X obj 163 383 list.trim; +#X obj 170 328 list.build prepend; +#X obj 169 355 list append; +#X obj 167 204 t b b b a; +#X obj 341 486 flow.prepend samples; +#X symbolatom 502 397 10 0 0 0 - - -; +#X obj 503 371 init.ls \$1-w; +#X obj 567 80 route open file openpanel; +#X obj 640 104 t b; +#X obj 621 372 t s b; +#X obj 620 466 pack s s s s s; +#X obj 617 342 convert.list2symbol; +#X obj 653 444 symbol \$1-w; +#X obj 732 445 symbol \$1-x; +#X obj 817 446 symbol \$1-y; +#X obj 895 446 symbol \$1-z; +#X obj 656 420 bang; +#X obj 655 400 loadbang; +#X obj 619 617 list.build prepend; +#X obj 618 644 list append; +#X obj 755 334 t b; +#X obj 758 357 savepanel; +#X msg 633 520 write; +#X obj 625 9 t b b; +#X obj 623 -15 loadbang; +#X obj 711 521 f 44100; +#X obj 616 493 t b b b a; +#X msg 711 546 -rate \$1; +#X obj 787 518 f 2; +#X msg 787 543 -bytes \$1; +#X obj 755 174 route write savepanel rate bytes; +#X text 785 152 write stuff; +#X text 736 82 <-- read stuff; +#X obj 1070 331 t b; +#X msg 1082 411 const 0; +#X obj 1005 483 s \$1-w; +#X obj 1050 484 s \$1-x; +#X obj 1095 484 s \$1-y; +#X obj 1140 485 s \$1-z; +#X text 280 278 Maximum duration: 22 million samples.; +#X text 317 291 Which is 7m42 @ 48kHz; +#X text 316 305 4 million samples takes 16Mb; +#X text 318 319 A 22 million samples table takes 88.8Mb; +#X text 315 335 So four 22M samples tables take 355Mb!; +#X obj 1039 16 samplerate~; +#X msg 1038 39 rate \$1; +#X msg 824 30 bytes 2 \, enable_resize 1; +#X obj 49 449 convert.smp2mem; +#X obj 50 470 * 4; +#X msg 48 496 megabytes \$1; +#X obj 505 242 flow.any; +#X obj 972 220 route enable_resize clear open_arguments; +#X text 633 677 Latest version; +#X msg 244 414 --------------; +#X obj 371 649 print ambi.table; +#X msg 404 218 -resize -maxsize 2.21971e+07; +#X text 564 242 TODO; +#X msg 261 257 -resize -maxsize 2.2e+07; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 0 0 32 0; +#X connect 0 0 75 0; +#X connect 2 0 3 0; +#X connect 2 0 6 0; +#X connect 4 0 12 0; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 81 0; +#X connect 8 0 31 0; +#X connect 9 0 35 0; +#X connect 10 0 35 0; +#X connect 11 0 10 0; +#X connect 11 1 10 1; +#X connect 12 0 7 0; +#X connect 13 0 8 1; +#X connect 14 0 8 2; +#X connect 15 0 8 3; +#X connect 16 0 8 4; +#X connect 21 0 85 0; +#X connect 22 0 29 1; +#X connect 23 0 13 0; +#X connect 23 0 14 0; +#X connect 23 0 15 0; +#X connect 23 0 16 0; +#X connect 24 0 23 0; +#X connect 25 0 23 0; +#X connect 27 0 21 1; +#X connect 28 0 0 0; +#X connect 28 0 82 0; +#X connect 29 0 30 0; +#X connect 30 0 28 0; +#X connect 31 0 29 0; +#X connect 31 1 22 0; +#X connect 31 2 21 0; +#X connect 31 2 78 0; +#X connect 31 3 30 1; +#X connect 32 0 5 0; +#X connect 34 0 33 0; +#X connect 35 0 12 0; +#X connect 35 1 12 0; +#X connect 35 2 36 0; +#X connect 35 3 58 0; +#X connect 36 0 4 0; +#X connect 37 0 38 0; +#X connect 37 1 81 0; +#X connect 38 0 54 0; +#X connect 39 0 37 0; +#X connect 40 0 38 1; +#X connect 41 0 38 2; +#X connect 42 0 38 3; +#X connect 43 0 38 4; +#X connect 44 0 40 0; +#X connect 44 0 41 0; +#X connect 44 0 42 0; +#X connect 44 0 43 0; +#X connect 45 0 44 0; +#X connect 46 0 47 0; +#X connect 47 0 28 0; +#X connect 48 0 49 0; +#X connect 49 0 37 0; +#X connect 50 0 46 1; +#X connect 51 0 11 0; +#X connect 51 1 74 0; +#X connect 51 1 72 0; +#X connect 52 0 51 0; +#X connect 53 0 55 0; +#X connect 54 0 46 0; +#X connect 54 1 50 0; +#X connect 54 2 53 0; +#X connect 54 2 56 0; +#X connect 54 3 47 1; +#X connect 55 0 46 1; +#X connect 56 0 57 0; +#X connect 57 0 46 1; +#X connect 58 0 39 0; +#X connect 58 1 48 0; +#X connect 58 2 53 1; +#X connect 58 3 56 1; +#X connect 58 4 79 0; +#X connect 61 0 62 0; +#X connect 62 0 63 0; +#X connect 62 0 64 0; +#X connect 62 0 65 0; +#X connect 62 0 66 0; +#X connect 72 0 73 0; +#X connect 73 0 35 0; +#X connect 74 0 35 0; +#X connect 75 0 76 0; +#X connect 76 0 77 0; +#X connect 77 0 5 0; +#X connect 79 0 26 0; +#X connect 79 1 61 0; +#X connect 79 2 78 1; +#X connect 81 0 82 0; +#X connect 85 0 29 1; diff --git a/ambi.table.play.3~-help.pd b/ambi.table.play.3~-help.pd new file mode 100644 index 0000000..a53c8a6 --- /dev/null +++ b/ambi.table.play.3~-help.pd @@ -0,0 +1,63 @@ +#N canvas 482 150 670 371 10; +#X text -11 -34 Description: Plays 3 channels from a ambi.table.4 instance. +; +#X text -10 -20 See tabread~ for help.; +#X text -10 -5 See also ambi.table.read.3~; +#X obj 168 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 190 114 Last outlet outputs bang when done.; +#X text 169 30 Send table name to second inlet to change.; +#X obj 7 88 ambi.table.play.3~ \$0-hello; +#X msg 187 56 tablename egg; +#X msg 470 141 openpanel; +#X floatatom 470 213 12 0 0 0 - - -; +#X obj 470 190 route samples; +#X obj 470 104 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 +-1 -1; +#X obj 545 100 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 +-1 -1; +#X msg 545 137 savepanel; +#X obj 470 165 ambi.table.4 \$0-hello; +#X obj 31 239 dac~ 1 2 3 4; +#X obj 20 144 ambi.wxy2quad~; +#X obj 22 204 ambi.gain.4~; +#X obj 142 147 vsl 15 50 -100 0 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X msg 38 59 0 44100; +#X msg 39 38 44100; +#X msg 38 18 bang; +#X obj 470 245 print READ_n_samples; +#X msg 424 5 open medias/sounds/ambisonic00.wav; +#X msg 99 60 stop; +#X obj 556 213 print INFO; +#X text 7 278 Left inlet usage is similar to; +#X obj 195 278 tabplay~; +#X obj 71 303 ambi.sf.read.4~ \$0-dummy; +#X text 11 302 See also:; +#X connect 6 0 16 0; +#X connect 6 1 16 1; +#X connect 6 2 16 2; +#X connect 6 3 3 0; +#X connect 7 0 6 1; +#X connect 8 0 14 0; +#X connect 9 0 22 0; +#X connect 10 0 9 0; +#X connect 10 1 25 0; +#X connect 11 0 8 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 10 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 16 2 17 2; +#X connect 16 3 17 3; +#X connect 17 0 15 0; +#X connect 17 1 15 1; +#X connect 17 2 15 2; +#X connect 17 3 15 3; +#X connect 18 0 17 4; +#X connect 19 0 6 0; +#X connect 20 0 6 0; +#X connect 21 0 6 0; +#X connect 23 0 14 0; +#X connect 24 0 6 0; diff --git a/ambi.table.play.3~.pd b/ambi.table.play.3~.pd new file mode 100644 index 0000000..084eaaf --- /dev/null +++ b/ambi.table.play.3~.pd @@ -0,0 +1,61 @@ +#N canvas 320 239 726 515 10; +#X obj 179 228 makesymbol %s-w; +#X obj 282 227 makesymbol %s-x; +#X obj 388 225 makesymbol %s-y; +#X msg 177 250 set \$1; +#X msg 280 251 set \$1; +#X msg 388 248 set \$1; +#X obj 513 467 outlet done; +#X obj 18 415 *~ 1.414; +#X obj 268 131 route tablename b_format; +#X obj 42 366 sel 1 0; +#X msg 37 394 1.414; +#X msg 79 394 1; +#X obj 18 442 outlet~ w; +#X obj 135 479 outlet~ x; +#X obj 254 466 outlet~ y; +#X obj 310 83 dollarg; +#X obj 432 19 loadbang; +#X obj 310 107 init.post.dollarg; +#X obj 275 35 inlet attributes; +#X obj 23 76 inlet tabplay_ctl; +#X obj 200 290 tabplay~ \$0-dummy; +#X obj 108 290 tabplay~ \$0-dummy; +#X obj 18 293 tabplay~ \$0-dummy; +#X obj 403 305 table \$0-dummy 10; +#X obj 427 52 t b b; +#X obj 526 183 symbol \$1; +#X symbolatom 491 369 10 0 0 0 - - -; +#X connect 0 0 3 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 2 0 26 0; +#X connect 3 0 22 0; +#X connect 4 0 21 0; +#X connect 5 0 20 0; +#X connect 7 0 12 0; +#X connect 8 0 0 0; +#X connect 8 0 1 0; +#X connect 8 0 2 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 10 0 7 1; +#X connect 11 0 7 1; +#X connect 15 0 17 0; +#X connect 15 1 17 1; +#X connect 16 0 24 0; +#X connect 17 0 8 0; +#X connect 18 0 8 0; +#X connect 19 0 20 0; +#X connect 19 0 21 0; +#X connect 19 0 22 0; +#X connect 20 0 14 0; +#X connect 20 1 6 0; +#X connect 21 0 13 0; +#X connect 22 0 7 0; +#X connect 24 0 15 0; +#X connect 24 1 25 0; +#X connect 25 0 2 0; +#X connect 25 0 1 0; +#X connect 25 0 0 0; diff --git a/ambi.table.read.3~-help.pd b/ambi.table.read.3~-help.pd new file mode 100644 index 0000000..4c6ea89 --- /dev/null +++ b/ambi.table.read.3~-help.pd @@ -0,0 +1,122 @@ +#N canvas 393 107 817 613 10; +#X obj 381 235 line~; +#X floatatom 382 21 12 0 0 0 - - -; +#X floatatom 419 106 12 0 0 0 - - -; +#X obj 381 256 *~ 44.1; +#X text 420 1 Read from (ms); +#X text 436 87 Read for (ms); +#X msg 381 208 \$1 \, \$2 \$3; +#X obj 381 182 pack f f f; +#X obj 382 131 expr $f1 \; $f1+$f2 \; $f2; +#X obj 441 427 snapshot~; +#X obj 448 407 metro 50; +#X obj 447 387 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 205 402 ambi.table.read.3~ \$0-foo; +#X msg -2 223 openpanel; +#X floatatom -3 288 12 0 0 0 - - -; +#X obj 435 335 multiplex~ 0 1; +#X obj 435 298 hradio 30 1 0 2 empty empty empty 0 -8 0 10 -257985 +-1 -1 1; +#X obj 554 264 +~ 0; +#X obj 546 176 phasor~ 1; +#X obj 623 174 convert.ms2smp; +#X obj 546 144 convert.ms2freq; +#X obj 550 207 *~ 44100; +#X floatatom 546 122 12 0 0 0 - - -; +#X msg 544 87 1000; +#X obj 629 247 convert.ms2smp; +#X floatatom 629 224 12 0 0 0 - - -; +#X obj 441 451 /; +#X obj 444 474 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -191407 +-1 -1 12700 1; +#X msg 581 86 10000; +#X msg 626 82 50; +#X obj 447 366 init.lf 1; +#X text 629 202 offset (ms); +#X obj -4 309 s \$0-samples; +#X obj 507 446 r \$0-samples; +#X text 504 304 Choose control type; +#X text 439 492 Playhead position (relative to the file duration); +#X obj -2 186 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 -1 +-1; +#X obj 419 45 loadbang; +#X msg 419 69 1000; +#X obj 545 47 loadbang; +#X obj 382 -13 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 +-1 -1; +#X text -12 -34 Description: Reads 3 channels from a ambi.table.4 instance. +; +#X text -9 -9 Comments: First argument is the ambi.table name. Can +be changed via second inlet.; +#X text -9 20 Controlled with a signal from 0 to n-1 samples.; +#X text -11 69 In this help patch there are two ways to control a tabread4~ +object.; +#X text -14 109 You can retrieve the length of the tables grom the +first outlet of ambi.table.4; +#X obj 73 182 bng 30 250 50 0 empty empty empty 17 7 0 10 -258113 -1 +-1; +#X msg 73 219 savepanel; +#X obj -3 265 route samples ms; +#X floatatom 90 290 12 0 0 0 - - -; +#X text 1 354 Send table name to second inlet to change.; +#X obj 211 552 dac~ 1 2 3 4; +#X obj 200 457 ambi.wxy2quad~; +#X obj 202 517 ambi.gain.4~; +#X obj 322 460 vsl 15 50 -100 0 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 3500 1; +#X obj -2 247 ambi.table.4 \$0-foo; +#X connect 0 0 3 0; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 3 0 15 0; +#X connect 6 0 0 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 8 2 7 2; +#X connect 9 0 26 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 52 0; +#X connect 12 1 52 1; +#X connect 12 2 52 2; +#X connect 13 0 55 0; +#X connect 15 0 12 0; +#X connect 15 0 9 0; +#X connect 16 0 15 0; +#X connect 17 0 15 1; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 20 0 18 0; +#X connect 21 0 17 0; +#X connect 22 0 20 0; +#X connect 22 0 19 0; +#X connect 23 0 22 0; +#X connect 24 0 17 1; +#X connect 25 0 24 0; +#X connect 26 0 27 0; +#X connect 28 0 22 0; +#X connect 29 0 22 0; +#X connect 30 0 11 0; +#X connect 33 0 26 1; +#X connect 36 0 13 0; +#X connect 37 0 38 0; +#X connect 38 0 2 0; +#X connect 39 0 23 0; +#X connect 40 0 1 0; +#X connect 46 0 47 0; +#X connect 47 0 55 0; +#X connect 48 0 14 0; +#X connect 48 0 32 0; +#X connect 48 1 49 0; +#X connect 52 0 53 0; +#X connect 52 1 53 1; +#X connect 52 2 53 2; +#X connect 52 3 53 3; +#X connect 53 0 51 0; +#X connect 53 1 51 1; +#X connect 53 2 51 2; +#X connect 53 3 51 3; +#X connect 54 0 53 4; +#X connect 55 0 48 0; diff --git a/ambi.table.read.3~.pd b/ambi.table.read.3~.pd new file mode 100644 index 0000000..1fdf8c1 --- /dev/null +++ b/ambi.table.read.3~.pd @@ -0,0 +1,49 @@ +#N canvas 0 22 964 548 10; +#X obj 23 67 inlet~; +#X obj 108 290 tabread4~ \$1-x; +#X obj 18 290 tabread4~ \$1-w; +#X obj 200 290 tabread4~ \$1-y; +#X obj 507 22 inlet; +#X obj 27 238 makesymbol %s-w; +#X obj 131 241 makesymbol %s-x; +#X obj 237 239 makesymbol %s-y; +#X msg 20 258 set \$1; +#X msg 129 265 set \$1; +#X msg 237 262 set \$1; +#X obj 9 420 *~ 1.414; +#X obj 600 159 route tablename b_format; +#X obj 33 371 sel 1 0; +#X msg 28 399 1.414; +#X msg 70 399 1; +#X obj 642 111 dollarg; +#X obj 642 89 loadbang; +#X obj 642 135 init.post.dollarg; +#X obj 23 494 outlet~ w; +#X obj 113 494 outlet~ y; +#X obj 205 494 outlet~ y; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 20 0; +#X connect 2 0 11 0; +#X connect 3 0 21 0; +#X connect 4 0 12 0; +#X connect 5 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 10 0; +#X connect 8 0 2 0; +#X connect 9 0 1 0; +#X connect 10 0 3 0; +#X connect 11 0 19 0; +#X connect 12 0 7 0; +#X connect 12 0 6 0; +#X connect 12 0 5 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 11 1; +#X connect 15 0 11 1; +#X connect 16 0 18 0; +#X connect 16 1 18 1; +#X connect 17 0 16 0; +#X connect 18 0 12 0; diff --git a/ambi.throw.7~-help.pd b/ambi.throw.7~-help.pd new file mode 100644 index 0000000..ec2e663 --- /dev/null +++ b/ambi.throw.7~-help.pd @@ -0,0 +1,6 @@ +#N canvas 442 153 378 217 10; +#X text 56 48 See; +#X obj 155 115 ambi.throw.7~ bar; +#X obj 151 149 ambi.catch.7~ bar; +#X obj 85 49 throw~; +#X text 56 32 Description: Throws 7 signals.; diff --git a/ambi.throw.7~.pd b/ambi.throw.7~.pd new file mode 100644 index 0000000..4605422 --- /dev/null +++ b/ambi.throw.7~.pd @@ -0,0 +1,22 @@ +#N canvas 433 250 494 317 10; +#X obj 52 109 inlet~; +#X obj 99 109 inlet~; +#X obj 146 108 inlet~; +#X obj 193 108 inlet~; +#X obj 239 109 inlet~; +#X obj 286 108 inlet~; +#X obj 333 108 inlet~; +#X obj 11 189 throw~ \$1-1; +#X obj 50 234 throw~ \$1-2; +#X obj 125 203 throw~ \$1-3; +#X obj 174 252 throw~ \$1-4; +#X obj 232 267 throw~ \$1-5; +#X obj 283 247 throw~ \$1-6; +#X obj 377 258 throw~ \$1-7; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 9 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 6 0 13 0; diff --git a/ambi.vu.3_~-help.pd b/ambi.vu.3_~-help.pd new file mode 100644 index 0000000..9f9ad48 --- /dev/null +++ b/ambi.vu.3_~-help.pd @@ -0,0 +1,13 @@ +#N canvas 472 136 399 360 10; +#X obj 18 -1 noise~; +#X msg 186 60 enable 1; +#X msg 260 62 enable 0; +#X obj 18 136 ambi.vu.3_~; +#X obj 18 47 ambi.mono2wxy~ @angle 95; +#X text 3 -43 Description: 3 VU meters. (in dB); +#X connect 0 0 4 0; +#X connect 1 0 3 3; +#X connect 2 0 3 3; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 4 2 3 2; diff --git a/ambi.vu.3_~.pd b/ambi.vu.3_~.pd new file mode 100644 index 0000000..fc1cfe9 --- /dev/null +++ b/ambi.vu.3_~.pd @@ -0,0 +1,43 @@ +#N canvas 135 114 1002 574 10; +#X obj 502 93 inlet; +#X obj 542 156 init.post.dollarg; +#X obj 541 134 dollarg; +#X obj 555 83 loadbang; +#X obj 549 112 t b b; +#X obj 167 96 inlet~ x; +#X obj 236 96 inlet~ y; +#X obj 103 121 env~; +#X obj 103 143 - 100; +#X obj 494 179 route enable; +#X obj 495 217 switch~; +#X obj 105 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 102 97 inlet~ w; +#X obj 164 122 env~; +#X obj 164 144 - 100; +#X obj 154 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 232 123 env~; +#X obj 232 145 - 100; +#X obj 202 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X msg 599 121 enable 1; +#X obj 206 202 tgl 15 0 empty empty enable 17 7 0 10 -191407 -1 -1 +1 1; +#X connect 0 0 9 0; +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 19 0; +#X connect 5 0 13 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 9 0 20 0; +#X connect 12 0 7 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 19 0 9 0; +#X connect 20 0 10 0; +#X coords 0 -1 1 1 160 150 1 100 200; diff --git a/ambi.vu.4_~-help.pd b/ambi.vu.4_~-help.pd new file mode 100644 index 0000000..4a02a74 --- /dev/null +++ b/ambi.vu.4_~-help.pd @@ -0,0 +1,15 @@ +#N canvas 472 136 508 366 10; +#X obj 18 -1 noise~; +#X msg 331 62 enable 1; +#X msg 405 64 enable 0; +#X obj 19 136 ambi.vu.4_~; +#X obj 18 47 ambi.mono2wxy~ @angle 95; +#X obj 191 63 noise~; +#X text 3 -43 Description: 4 VU meters. (in dB); +#X connect 0 0 4 0; +#X connect 1 0 3 4; +#X connect 2 0 3 4; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 4 2 3 2; +#X connect 5 0 3 3; diff --git a/ambi.vu.4_~.pd b/ambi.vu.4_~.pd new file mode 100644 index 0000000..d2f3156 --- /dev/null +++ b/ambi.vu.4_~.pd @@ -0,0 +1,50 @@ +#N canvas 135 114 596 379 10; +#X obj 375 102 inlet; +#X obj 415 165 init.post.dollarg; +#X obj 414 143 dollarg; +#X obj 428 92 loadbang; +#X obj 422 121 t b b; +#X obj 167 96 inlet~ x; +#X obj 236 96 inlet~ y; +#X obj 103 121 env~; +#X obj 103 143 - 100; +#X obj 367 188 route enable; +#X obj 368 226 switch~; +#X obj 105 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 102 97 inlet~ w; +#X obj 164 122 env~; +#X obj 164 144 - 100; +#X obj 154 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 232 123 env~; +#X obj 232 145 - 100; +#X obj 202 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 293 124 env~; +#X obj 293 146 - 100; +#X obj 249 225 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X msg 472 130 enable 1; +#X obj 246 204 tgl 15 0 empty empty enable 17 7 0 10 -191407 -1 -1 +1 1; +#X obj 301 95 inlet~ z; +#X connect 0 0 9 0; +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 22 0; +#X connect 5 0 13 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 9 0 23 0; +#X connect 12 0 7 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 22 0 9 0; +#X connect 23 0 10 0; +#X connect 24 0 19 0; +#X coords 0 -1 1 1 200 150 1 100 200; diff --git a/ambi.vu.7_~-help.pd b/ambi.vu.7_~-help.pd new file mode 100644 index 0000000..44f2e44 --- /dev/null +++ b/ambi.vu.7_~-help.pd @@ -0,0 +1,17 @@ +#N canvas 472 136 504 362 10; +#X obj 18 -1 noise~; +#X msg 331 62 enable 1; +#X msg 405 64 enable 0; +#X obj 19 136 ambi.vu.7_~; +#X obj 18 47 ambi.mono2wxyuvpq~ @angle 95; +#X text 3 -43 Description: 7 VU meters. (in dB); +#X connect 0 0 4 0; +#X connect 1 0 3 7; +#X connect 2 0 3 7; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 4 2 3 2; +#X connect 4 3 3 3; +#X connect 4 4 3 4; +#X connect 4 5 3 5; +#X connect 4 6 3 6; diff --git a/ambi.vu.7_~.pd b/ambi.vu.7_~.pd new file mode 100644 index 0000000..e4018b7 --- /dev/null +++ b/ambi.vu.7_~.pd @@ -0,0 +1,71 @@ +#N canvas 135 114 1002 574 10; +#X obj 770 102 inlet; +#X obj 810 165 init.post.dollarg; +#X obj 809 143 dollarg; +#X obj 823 92 loadbang; +#X obj 817 121 t b b; +#X obj 167 96 inlet~ x; +#X obj 236 96 inlet~ y; +#X obj 301 95 inlet~ u; +#X obj 366 93 inlet~ v; +#X obj 434 93 inlet~ p; +#X obj 500 92 inlet~ q; +#X obj 103 121 env~; +#X obj 103 143 - 100; +#X obj 762 188 route enable; +#X obj 763 226 switch~; +#X obj 105 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 102 97 inlet~ w; +#X obj 164 122 env~; +#X obj 164 144 - 100; +#X obj 154 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 232 123 env~; +#X obj 232 145 - 100; +#X obj 202 224 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 293 124 env~; +#X obj 293 146 - 100; +#X obj 249 225 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 366 123 env~; +#X obj 366 145 - 100; +#X obj 297 225 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 434 124 env~; +#X obj 434 146 - 100; +#X obj 344 225 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 495 125 env~; +#X obj 495 147 - 100; +#X obj 390 225 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X msg 867 130 enable 1; +#X obj 344 203 tgl 15 0 empty empty enable 17 7 0 10 -191407 -1 -1 +1 1; +#X connect 0 0 13 0; +#X connect 1 0 13 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 35 0; +#X connect 5 0 17 0; +#X connect 6 0 20 0; +#X connect 7 0 23 0; +#X connect 8 0 26 0; +#X connect 9 0 29 0; +#X connect 10 0 32 0; +#X connect 11 0 12 0; +#X connect 12 0 15 0; +#X connect 13 0 36 0; +#X connect 16 0 11 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 35 0 13 0; +#X connect 36 0 14 0; +#X coords 0 -1 1 1 340 150 1 100 200; diff --git a/ambi.wxy2mono~-help.pd b/ambi.wxy2mono~-help.pd new file mode 100644 index 0000000..ea8be07 --- /dev/null +++ b/ambi.wxy2mono~-help.pd @@ -0,0 +1,26 @@ +#N canvas 619 232 499 354 10; +#X obj -10 150 noise~; +#X msg 164 162 angle \$1; +#X floatatom 164 142 5 0 0 0 - - -; +#X obj 167 121 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X obj -12 198 ambi.mono2wxy~ @angle 0; +#X text 159 100 Angle is in degrees.; +#X obj -16 251 ambi.wxy2mono~ @angle 90; +#X obj 143 253 ambi.wxy2mono~ @angle 270; +#X text 7 44 Decodes first order Ambisonics horizontal B-Format sounds +according to each speaker output in order to send it to an audio output. +; +#X obj -16 289 dac~ 1 2; +#X connect 0 0 4 0; +#X connect 1 0 7 3; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 4 0 7 0; +#X connect 4 1 6 1; +#X connect 4 1 7 1; +#X connect 4 2 6 2; +#X connect 4 2 7 2; +#X connect 6 0 9 0; +#X connect 7 0 9 1; diff --git a/ambi.wxy2mono~.pd b/ambi.wxy2mono~.pd new file mode 100644 index 0000000..0926250 --- /dev/null +++ b/ambi.wxy2mono~.pd @@ -0,0 +1,43 @@ +#N canvas 602 287 705 355 10; +#X obj 60 53 inlet~ w; +#X obj 153 54 inlet~ x; +#X obj 239 57 inlet~ y; +#X obj 68 289 outlet~; +#X obj 337 5 inlet; +#X obj 384 51 init.post.dollarg; +#X obj 383 29 dollarg; +#X obj 385 5 loadbang; +#X obj 330 92 route angle duration; +#X obj 102 253 *~; +#X obj 320 191 line~; +#X obj 319 169 pack 0 50; +#X obj 171 256 *~; +#X text 296 278 todo: wxyz version with elevation; +#X obj 323 119 convert.degree2radian; +#X text 296 246 Decodes a first order Ambisonics horizontal B-Format +to a mono output channel.; +#X obj 321 146 cos; +#X obj 392 189 line~; +#X obj 391 167 pack 0 50; +#X obj 393 144 sin; +#X connect 0 0 3 0; +#X connect 1 0 9 0; +#X connect 2 0 12 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 6 0; +#X connect 8 0 14 0; +#X connect 8 1 11 1; +#X connect 8 1 18 1; +#X connect 9 0 3 0; +#X connect 10 0 9 1; +#X connect 11 0 10 0; +#X connect 12 0 3 0; +#X connect 14 0 16 0; +#X connect 14 0 19 0; +#X connect 16 0 11 0; +#X connect 17 0 12 1; +#X connect 18 0 17 0; +#X connect 19 0 18 0; diff --git a/ambi.wxy2quad~-help.pd b/ambi.wxy2quad~-help.pd new file mode 100644 index 0000000..db315c2 --- /dev/null +++ b/ambi.wxy2quad~-help.pd @@ -0,0 +1,15 @@ +#N canvas 0 22 454 304 10; +#X obj 76 181 ambi.wxy2quad~; +#X obj 74 209 dac~ 1 2 3 4; +#X obj 78 109 noise~; +#X obj 77 130 ambi.mono2wxy~ @angle 0; +#X text 89 53 Description: Renders 1st order Ambisonic for four speakers +disposed in a square.; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 0 2 1 2; +#X connect 0 3 1 3; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 3 1 0 1; +#X connect 3 2 0 2; diff --git a/ambi.wxy2quad~.pd b/ambi.wxy2quad~.pd new file mode 100644 index 0000000..88d232a --- /dev/null +++ b/ambi.wxy2quad~.pd @@ -0,0 +1,44 @@ +#N canvas 0 22 597 304 10; +#X obj 97 151 ambi.wxy2mono~ @angle 45; +#X obj 158 175 ambi.wxy2mono~ @angle 135; +#X obj 84 238 outlet~; +#X obj 159 237 outlet~; +#X obj 259 231 outlet~; +#X obj 334 230 outlet~; +#X obj 106 84 inlet~ w; +#X obj 194 87 inlet~ x; +#X obj 279 87 inlet~ y; +#X obj 258 149 ambi.wxy2mono~ @angle 315; +#X obj 319 174 ambi.wxy2mono~ @angle 225; +#X obj 428 86 inlet; +#X obj 431 108 route angles; +#X obj 430 133 unpack f f f f; +#X obj 477 80 init.post.dollarg; +#X obj 476 58 dollarg; +#X obj 478 34 loadbang; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 6 0 0 0; +#X connect 6 0 1 0; +#X connect 6 0 9 0; +#X connect 6 0 10 0; +#X connect 7 0 0 1; +#X connect 7 0 1 1; +#X connect 7 0 9 1; +#X connect 7 0 10 1; +#X connect 8 0 0 2; +#X connect 8 0 1 2; +#X connect 8 0 9 2; +#X connect 8 0 10 2; +#X connect 9 0 4 0; +#X connect 10 0 5 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 0 3; +#X connect 13 1 1 3; +#X connect 13 2 9 3; +#X connect 13 3 10 3; +#X connect 14 0 12 0; +#X connect 15 0 14 0; +#X connect 15 1 14 1; +#X connect 16 0 15 0; diff --git a/ambi.wxy2wxyuvpq~-help.pd b/ambi.wxy2wxyuvpq~-help.pd new file mode 100644 index 0000000..bf95822 --- /dev/null +++ b/ambi.wxy2wxyuvpq~-help.pd @@ -0,0 +1,4 @@ +#N canvas 156 315 466 158 10; +#X obj 57 78 ambi.wxy2wxyuvpq~; +#X text 57 37 Description: Converts the 1st order horizontal Ambisonic +sound format to the 3rd order horizontal.; diff --git a/ambi.wxy2wxyuvpq~.pd b/ambi.wxy2wxyuvpq~.pd new file mode 100644 index 0000000..7ef96dc --- /dev/null +++ b/ambi.wxy2wxyuvpq~.pd @@ -0,0 +1,18 @@ +#N canvas 156 315 771 350 10; +#X obj 30 93 inlet~ w; +#X obj 150 93 inlet~ x; +#X obj 240 93 inlet~ y; +#X obj 28 217 outlet~ w; +#X obj 150 244 outlet~ x; +#X obj 227 243 outlet~ y; +#X obj 322 239 outlet~ u; +#X obj 401 246 outlet~ v; +#X obj 488 247 outlet~ p; +#X obj 572 248 outlet~ q; +#X obj 21 147 *~ 1.5; +#X text 180 40 Amplitude correction to go from 1st order to 3rd order +horizontal Ambisonic.; +#X connect 0 0 10 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 10 0 3 0; diff --git a/ambi.wxyuvpq2mono~-help.pd b/ambi.wxyuvpq2mono~-help.pd new file mode 100644 index 0000000..6118621 --- /dev/null +++ b/ambi.wxyuvpq2mono~-help.pd @@ -0,0 +1,70 @@ +#N canvas 89 138 848 612 10; +#X obj 44 170 noise~; +#X msg 229 194 angle \$1; +#X floatatom 229 174 5 0 0 0 - - -; +#X obj 232 153 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 2900 1; +#X text 269 174 Angle is in degrees.; +#X obj 41 554 dac~ 1 2; +#X obj 42 218 ambi.mono2wxyuvpq~ @angle 0; +#X obj 37 371 ambi.wxyuvpq2mono~ @angle 90; +#X obj 234 371 ambi.wxyuvpq2mono~ @angle 270; +#X msg 475 254 angle \$1; +#X floatatom 475 234 5 0 0 0 - - -; +#X obj 478 213 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 1200 1; +#X text 515 234 Angle is in degrees.; +#X msg 476 190 angle \$1; +#X floatatom 476 170 5 0 0 0 - - -; +#X obj 479 149 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 1000 1; +#X text 516 170 Angle is in degrees.; +#X text 471 109 If you change the angle dynamically you will hear clicks. +; +#X text 470 125 Usually \, a speaker doesn't move.; +#X text 49 33 Description: Decodes third order horizontal Ambisonic +B-Format to a mono sound intended for a speaker.; +#X obj 234 481 *~ 0.25; +#X obj 273 400 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 300 1; +#X floatatom 273 458 5 0 0 0 - - -; +#X obj 39 484 *~ 0.25; +#X obj 78 403 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X floatatom 78 461 5 0 0 0 - - -; +#X obj 289 252 r ambi.angle; +#X obj 290 228 s ambi.angle; +#X text 74 97 See anbisonic_gems_viz in the examples/ directory.; +#X connect 0 0 6 0; +#X connect 1 0 6 1; +#X connect 2 0 1 0; +#X connect 2 0 27 0; +#X connect 3 0 2 0; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 6 1 7 1; +#X connect 6 1 8 1; +#X connect 6 2 7 2; +#X connect 6 2 8 2; +#X connect 6 3 7 3; +#X connect 6 3 8 3; +#X connect 6 4 7 4; +#X connect 6 4 8 4; +#X connect 6 5 7 5; +#X connect 6 5 8 5; +#X connect 6 6 7 6; +#X connect 6 6 8 6; +#X connect 7 0 23 0; +#X connect 8 0 20 0; +#X connect 9 0 8 7; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 13 0 7 7; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 20 0 5 1; +#X connect 21 0 22 0; +#X connect 22 0 20 1; +#X connect 23 0 5 0; +#X connect 24 0 25 0; +#X connect 25 0 23 1; diff --git a/ambi.wxyuvpq2mono~.pd b/ambi.wxyuvpq2mono~.pd new file mode 100644 index 0000000..c634b47 --- /dev/null +++ b/ambi.wxyuvpq2mono~.pd @@ -0,0 +1,91 @@ +#N canvas 353 136 772 511 10; +#X obj 560 65 inlet; +#X obj 600 128 init.post.dollarg; +#X obj 599 106 dollarg; +#X obj 613 55 loadbang; +#X obj 553 175 convert.degree2radian; +#X obj 159 326 cos; +#X obj 607 84 t b b; +#X obj 216 326 sin; +#X obj 397 299 * 2; +#X obj 344 326 cos; +#X obj 397 328 sin; +#X msg 667 97 angle 0; +#X obj 505 327 cos; +#X obj 562 330 sin; +#X obj 562 304 * 3; +#X obj 25 484 outlet~; +#X obj 14 155 inlet~ w; +#X obj 79 154 inlet~ x; +#X obj 148 154 inlet~ y; +#X obj 213 153 inlet~ u; +#X obj 278 151 inlet~ v; +#X obj 347 151 inlet~ p; +#X obj 412 150 inlet~ q; +#X text 237 369 15/16; +#X text 416 371 3/8; +#X text 586 375 1/16; +#X obj 159 347 * 0.9375; +#X obj 216 347 * 0.9375; +#X obj 344 350 * 0.375; +#X obj 397 350 * 0.375; +#X obj 505 350 * 0.0625; +#X obj 562 350 * 0.0625; +#X obj 19 356 *~ 0.625; +#X obj 553 152 route angle; +#X obj 138 368 *~ 0; +#X obj 195 369 *~ 0; +#X obj 323 372 *~ 0; +#X obj 374 373 *~ 0; +#X obj 485 372 *~ 0; +#X obj 542 374 *~ 0; +#X text 87 78 Decodes third order horizontal Ambisonics B-Format to +a mono sound intended for a speaker.; +#X text 86 108 Do not change the angle dynamically or you will hear +clicks.; +#X text 76 355 5/8; +#X obj 25 451 *~ 0.5; +#X connect 0 0 33 0; +#X connect 1 0 33 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 4 0 7 0; +#X connect 4 0 8 0; +#X connect 4 0 14 0; +#X connect 5 0 26 0; +#X connect 6 0 2 0; +#X connect 6 1 11 0; +#X connect 7 0 27 0; +#X connect 8 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 28 0; +#X connect 10 0 29 0; +#X connect 11 0 33 0; +#X connect 12 0 30 0; +#X connect 13 0 31 0; +#X connect 14 0 12 0; +#X connect 14 0 13 0; +#X connect 16 0 32 0; +#X connect 17 0 34 0; +#X connect 18 0 35 0; +#X connect 19 0 36 0; +#X connect 20 0 37 0; +#X connect 21 0 38 0; +#X connect 22 0 39 0; +#X connect 26 0 34 1; +#X connect 27 0 35 1; +#X connect 28 0 36 1; +#X connect 29 0 37 1; +#X connect 30 0 38 1; +#X connect 31 0 39 1; +#X connect 32 0 43 0; +#X connect 33 0 4 0; +#X connect 34 0 43 0; +#X connect 35 0 43 0; +#X connect 36 0 43 0; +#X connect 37 0 43 0; +#X connect 38 0 43 0; +#X connect 39 0 43 0; +#X connect 43 0 15 0; diff --git a/ambi.wxyz2mono~-help.pd b/ambi.wxyz2mono~-help.pd new file mode 100644 index 0000000..36ca8a2 --- /dev/null +++ b/ambi.wxyz2mono~-help.pd @@ -0,0 +1,91 @@ +#N canvas 608 214 756 504 10; +#X obj -9 50 noise~; +#X msg 123 74 angle \$1; +#X floatatom 123 54 5 0 0 0 - - -; +#X obj 126 33 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 163 54 Angle is in degrees.; +#X obj -9 305 dac~ 1 2; +#X text 11 -2 Encodes a mono sound to first order Ambisonics B-Format. +; +#X floatatom 291 55 5 0 0 0 - - -; +#X obj 294 34 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 291 75 elevation \$1; +#X floatatom 462 57 5 0 0 0 - - -; +#X obj 465 36 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 331 55 In degrees.; +#X text 502 57 Directivity [0 \, 1]; +#X msg 462 77 directivity \$1; +#X obj -11 98 ambi.mono2wxyz~ @angle 0; +#X obj -16 251 ambi.wxyz2mono~ @angle 90; +#X obj 143 253 ambi.wxyz2mono~ @angle 270; +#X msg 296 336 angle \$1; +#X floatatom 296 316 5 0 0 0 - - -; +#X obj 299 295 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 336 316 Angle is in degrees.; +#X floatatom 296 447 5 0 0 0 - - -; +#X obj 299 426 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 336 447 Directivity [0 \, 1]; +#X msg 296 467 directivity \$1; +#X floatatom 297 381 5 0 0 0 - - -; +#X obj 300 360 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 297 401 elevation \$1; +#X text 337 381 In degrees.; +#X msg 129 336 angle \$1; +#X floatatom 129 316 5 0 0 0 - - -; +#X obj 132 295 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 169 316 Angle is in degrees.; +#X floatatom 128 378 5 0 0 0 - - -; +#X obj 131 357 hsl 120 15 0 90 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X msg 128 398 elevation \$1; +#X text 168 378 In degrees.; +#X floatatom 128 442 5 0 0 0 - - -; +#X obj 131 421 hsl 120 15 0 1 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 0 1; +#X text 168 442 Directivity [0 \, 1]; +#X msg 128 462 directivity \$1; +#X connect 0 0 15 0; +#X connect 1 0 15 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 15 1; +#X connect 10 0 14 0; +#X connect 11 0 10 0; +#X connect 14 0 15 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 15 1 16 1; +#X connect 15 1 17 1; +#X connect 15 2 16 2; +#X connect 15 2 17 2; +#X connect 15 3 16 3; +#X connect 15 3 17 3; +#X connect 16 0 5 0; +#X connect 17 0 5 1; +#X connect 18 0 17 4; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 22 0 25 0; +#X connect 23 0 22 0; +#X connect 25 0 17 4; +#X connect 26 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 17 4; +#X connect 30 0 16 4; +#X connect 31 0 30 0; +#X connect 32 0 31 0; +#X connect 34 0 36 0; +#X connect 35 0 34 0; +#X connect 36 0 16 4; +#X connect 38 0 41 0; +#X connect 39 0 38 0; +#X connect 41 0 16 4; diff --git a/ambi.wxyz2mono~.pd b/ambi.wxyz2mono~.pd new file mode 100644 index 0000000..5ffaee4 --- /dev/null +++ b/ambi.wxyz2mono~.pd @@ -0,0 +1,61 @@ +#N canvas 0 22 723 514 10; +#X obj 60 53 inlet~ w; +#X obj 123 54 inlet~ x; +#X obj 188 54 inlet~ y; +#X obj 69 405 outlet~; +#X obj 337 5 inlet; +#X obj 382 69 init.post.dollarg; +#X obj 381 47 dollarg; +#X obj 102 253 *~; +#X obj 320 191 line~; +#X obj 171 256 *~; +#X obj 323 119 convert.degree2radian; +#X text 69 433 Decodes a first order Ambisonics horizontal B-Format +to a mono output channel.; +#X obj 321 146 cos; +#X obj 392 189 line~; +#X obj 393 144 sin; +#X obj 253 53 inlet~ z; +#X obj 274 332 *~; +#X obj 519 135 convert.degree2radian; +#X obj 520 203 line~; +#X text 547 158 ??????; +#X obj 385 2 loadbang; +#X obj 386 23 t b b; +#X msg 459 28 directivity 0.5 \, elevation 0; +#X obj 521 158 sin; +#X obj 319 169 pack 0 15; +#X obj 391 167 pack 0 15; +#X obj 519 181 pack 0 15; +#X obj 330 92 route angle duration directivity elevation; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 2 0 9 0; +#X connect 4 0 27 0; +#X connect 5 0 27 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 3 0; +#X connect 8 0 7 1; +#X connect 9 0 3 0; +#X connect 10 0 12 0; +#X connect 10 0 14 0; +#X connect 12 0 24 0; +#X connect 13 0 9 1; +#X connect 14 0 25 0; +#X connect 15 0 16 0; +#X connect 16 0 3 0; +#X connect 17 0 23 0; +#X connect 18 0 16 1; +#X connect 20 0 21 0; +#X connect 21 0 6 0; +#X connect 21 1 22 0; +#X connect 22 0 27 0; +#X connect 23 0 26 0; +#X connect 24 0 8 0; +#X connect 25 0 13 0; +#X connect 26 0 18 0; +#X connect 27 0 10 0; +#X connect 27 1 24 1; +#X connect 27 1 25 1; +#X connect 27 3 17 0; diff --git a/anal.center-help.pd b/anal.center-help.pd new file mode 100644 index 0000000..3681e00 --- /dev/null +++ b/anal.center-help.pd @@ -0,0 +1,12 @@ +#N canvas 315 307 625 301 10; +#X floatatom 57 93 5 0 0 0 - - -; +#X floatatom 68 238 5 0 0 0 - - -; +#X obj 70 160 anal.center; +#X text 36 9 Description: returns the center value between the minimum +and maximum received values.; +#X msg 171 107 bang; +#X text 64 71 Inlet_1 : stream of floats.; +#X text 216 113 Inlet_2 : reset; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 4 0 2 1; diff --git a/anal.center.pd b/anal.center.pd new file mode 100644 index 0000000..50e6a26 --- /dev/null +++ b/anal.center.pd @@ -0,0 +1,48 @@ +#N canvas 0 0 663 431 10; +#X obj 261 52 inlet; +#X text 262 34 reset; +#X obj 114 46 inlet; +#X text 114 28 values; +#X obj 139 106 t f f; +#X obj 41 67 loadbang; +#X obj 71 155 spigot; +#X msg 41 89 1; +#X obj 115 243 moses; +#X obj 178 255 moses; +#X obj 169 335 +; +#X obj 170 286 t b f; +#X obj 166 361 / 2; +#X obj 134 394 outlet; +#X msg 37 200 0; +#X obj 105 322 float; +#X msg 131 281 bang; +#X text 352 132 lpn_middle :; +#X text 351 188 INLET 2 :; +#X text 354 165 INLET 1 : series of individual values to be compared +; +#X text 408 189 reset internal memory; +#X text 360 257 OUTLET 1: the lpn_middle value between the minimum and +maximum values received by inlet 1; +#X connect 0 0 7 0; +#X connect 2 0 4 0; +#X connect 4 0 8 0; +#X connect 4 1 6 0; +#X connect 5 0 7 0; +#X connect 6 0 8 1; +#X connect 6 0 9 1; +#X connect 6 0 14 0; +#X connect 6 0 15 1; +#X connect 7 0 6 1; +#X connect 8 0 15 0; +#X connect 8 1 9 0; +#X connect 9 0 16 0; +#X connect 9 1 11 0; +#X connect 10 0 12 0; +#X connect 11 0 15 0; +#X connect 11 1 10 1; +#X connect 11 1 9 1; +#X connect 12 0 13 0; +#X connect 14 0 6 1; +#X connect 15 0 10 0; +#X connect 15 0 8 1; +#X connect 16 0 15 0; diff --git a/anal.change~-help.pd b/anal.change~-help.pd new file mode 100644 index 0000000..b831791 --- /dev/null +++ b/anal.change~-help.pd @@ -0,0 +1,38 @@ +#N canvas 307 107 604 430 10; +#X obj 102 306 snapshot~; +#X obj 189 217 loadbang; +#N canvas 0 0 454 304 (subpatch) 0; +#X array \$0change 4000 float 4; +#X coords 0 100 3999 -100 200 140 1; +#X restore 296 219 graph; +#X obj 132 272 metro 1; +#X msg 189 257 \; pd dsp 1; +#X floatatom 229 132 5 0 0 0 - - -; +#X text 272 131 Approximative time to stabilize (milliseconds); +#X obj 102 125 sig~; +#X msg 216 99 1000; +#X obj 216 76 loadbang; +#X msg 259 99 10000; +#X text 101 36 Input value.; +#X text -5 143 Input signal->; +#X text -4 186 Output signal->; +#X obj 105 53 hsl 128 15 10 100 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X floatatom 102 91 5 0 0 0 - - -; +#X obj 102 362 table.write.next \$0change; +#X floatatom 102 334 5 0 0 0 - - -; +#X obj 102 158 anal.change~ 1000; +#X text 40 5 Description: Outputs the input change.; +#X connect 0 0 17 0; +#X connect 1 0 3 0; +#X connect 1 0 4 0; +#X connect 3 0 0 0; +#X connect 5 0 18 1; +#X connect 7 0 18 0; +#X connect 8 0 5 0; +#X connect 9 0 8 0; +#X connect 10 0 5 0; +#X connect 14 0 15 0; +#X connect 15 0 7 0; +#X connect 17 0 16 0; +#X connect 18 0 0 0; diff --git a/anal.change~.pd b/anal.change~.pd new file mode 100644 index 0000000..1fc20a0 --- /dev/null +++ b/anal.change~.pd @@ -0,0 +1,27 @@ +#N canvas 114 166 539 469 10; +#X obj 76 64 inlet~; +#X obj 73 238 outlet~; +#X obj 263 41 inlet; +#N canvas 0 0 454 304 ms2freq 0; +#X obj 153 46 inlet; +#X obj 161 144 /; +#X msg 156 98 1000 \$1; +#X obj 161 204 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X restore 156 75 pd ms2freq; +#X obj 88 166 hip~ \$1; +#X obj 197 140 loadbang; +#X obj 194 173 f \$1; +#X obj 194 206 sel 0; +#X msg 193 239 1000; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 3 0; +#X connect 8 0 3 0; diff --git a/anal.scope_~-help.pd b/anal.scope_~-help.pd new file mode 100644 index 0000000..8eb8a43 --- /dev/null +++ b/anal.scope_~-help.pd @@ -0,0 +1,22 @@ +#N canvas 8 80 597 360 10; +#X obj 85 30 loadbang; +#X msg 85 54 \; pd dsp 1; +#X floatatom 41 122 5 0 0 0 - - -; +#X text 310 144 INLETS; +#X obj 41 140 osc~ 1; +#X text 49 157 Click the toggle to activate.; +#X text 309 158 1) signal to display.; +#X text 210 214 Toggle: on/off; +#X text 213 233 Number box: hundreds of samples to display (10 = 1000 +samples); +#X text 323 195 -- GUI --; +#X text 178 44 Description: Realtime display of a signal's waveform. +; +#X obj 41 178 anal.scope_~; +#X text 301 95 Argument_1: On/off at start.; +#X obj 225 179 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X connect 0 0 1 0; +#X connect 2 0 4 0; +#X connect 4 0 11 0; +#X connect 13 0 11 1; diff --git a/anal.scope_~.pd b/anal.scope_~.pd new file mode 100644 index 0000000..a8f4b4a --- /dev/null +++ b/anal.scope_~.pd @@ -0,0 +1,53 @@ +#N canvas 498 296 666 601 10; +#X obj 1 18 cnv 15 160 100 empty empty empty 20 12 0 14 -233017 -66577 +0; +#N canvas 0 0 452 302 (subpatch) 0; +#X array \$0tabvue 160 float 0; +#X coords 0 1 159 -1 160 100 1; +#X restore 0 18 graph; +#X obj 1 0 cnv 15 159 17 empty empty anal.scope_~ 3 9 0 8 -1 -262144 +0; +#X obj 255 175 inlet~; +#X obj 107 346 pack~; +#X obj 336 426 repack 16; +#X obj 376 491 / 16; +#X obj 377 520 repack 160; +#X obj 379 570 s \$0tabvue; +#X obj 390 542 list prepend 0; +#X obj 458 270 int; +#X obj 448 242 / 1.6; +#X obj 112 2 nbx 5 14 2 1e+37 0 0 empty empty empty 0 -6 0 8 -1 -262144 +-1 60 256; +#X obj 505 114 loadbang; +#X obj 44 289 switch~; +#X obj 150 162 loadbang; +#X obj 144 189 f \$1; +#X obj 474 320 max 2; +#X obj 370 460 list.sum; +#X obj 505 144 init.df \$2 60; +#X obj 509 36 inlet on/off; +#X obj 434 68 == 1; +#X obj 34 210 == 1; +#X obj 92 2 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 18 0; +#X connect 6 0 7 0; +#X connect 7 0 9 0; +#X connect 9 0 8 0; +#X connect 10 0 17 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 19 0; +#X connect 15 0 16 0; +#X connect 16 0 23 0; +#X connect 17 0 5 1; +#X connect 17 0 6 1; +#X connect 18 0 6 0; +#X connect 19 0 12 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 22 0 14 0; +#X connect 23 0 22 0; +#X coords 0 0 1 1 160 118 1 0 0; diff --git a/anal.sig_~-help.pd b/anal.sig_~-help.pd new file mode 100644 index 0000000..bd341b8 --- /dev/null +++ b/anal.sig_~-help.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 464 314 12; +#X obj 173 50 osc~ 1; +#X obj 27 72 loadbang; +#X msg 26 94 \; pd dsp 1; +#X obj 173 158 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 4375 1; +#X obj 173 125 anal.sig_~; +#X floatatom 260 78 5 0 0 0 - - -; +#X text 291 94 Update interval.; +#X text 292 115 Defaults to 100ms.; +#X text 14 15 Description: displays a signal.; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 4 1; diff --git a/anal.sig_~.pd b/anal.sig_~.pd new file mode 100644 index 0000000..41f4938 --- /dev/null +++ b/anal.sig_~.pd @@ -0,0 +1,19 @@ +#N canvas 78 314 710 382 10; +#X obj 102 28 inlet~; +#X obj 99 218 outlet; +#X obj 368 19 inlet; +#X obj 101 55 snapshot~; +#X obj 199 83 metro 100; +#X obj 249 12 loadbang; +#X msg 249 32 1; +#X obj 101 101 nbx 8 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 +10 -1 -262144 -1 0.773213 256; +#X obj 177 101 cnv 16 15 16 empty empty ~ 3 6 0 14 -1 -262144 0; +#X connect 0 0 3 0; +#X connect 2 0 4 1; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 1 0; +#X coords 0 -1 1 1 94 18 1 100 100; diff --git a/anal.sign-help.pd b/anal.sign-help.pd new file mode 100644 index 0000000..914cb0f --- /dev/null +++ b/anal.sign-help.pd @@ -0,0 +1,12 @@ +#N canvas 0 0 611 326 12; +#X floatatom 110 66 5 0 0 0 - - -; +#X floatatom 78 201 5 0 0 0 - - -; +#X text 55 227 absolute value; +#X floatatom 260 202 5 0 0 0 - - -; +#X text 264 228 Sign (1 or -1); +#X obj 133 134 anal.sign; +#X text 39 18 Description: Returns a float's absolute value and it's +sign.; +#X connect 0 0 5 0; +#X connect 5 0 1 0; +#X connect 5 1 3 0; diff --git a/anal.sign.pd b/anal.sign.pd new file mode 100644 index 0000000..b3bcc42 --- /dev/null +++ b/anal.sign.pd @@ -0,0 +1,17 @@ +#N canvas 0 0 454 304 12; +#X obj 97 184 abs; +#X obj 105 79 inlet; +#X obj 105 143 t f f; +#X obj 160 186 moses 0; +#X msg 159 215 -1; +#X msg 209 217 1; +#X obj 101 249 outlet; +#X obj 190 260 outlet; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; diff --git a/anal.spectrum_~-help.pd b/anal.spectrum_~-help.pd new file mode 100644 index 0000000..32fdf0c --- /dev/null +++ b/anal.spectrum_~-help.pd @@ -0,0 +1,31 @@ +#N canvas 455 267 502 466 10; +#X obj 162 83 phasor~; +#X obj 337 199 mix.out_~; +#X obj 110 59 mtof; +#X floatatom 110 38 5 33 110 0 - - -; +#X obj 162 62 mtof; +#X floatatom 162 44 5 0 0 0 - - -; +#X obj 74 10 noise~; +#X text 33 -72 Description: FFT spectral graphical analysis; +#X obj 73 157 multiplex~ 0 1 2; +#X obj 74 83 bp~ 2637 35; +#X obj 73 106 *~ 5; +#X obj 38 -18 hradio 15 1 0 3 empty empty select_input 0 -6 0 10 -262144 +-1 -1 0; +#X obj 223 84 osc~ 440; +#X obj 162 21 init.lf 48; +#X obj 73 199 anal.spectrum_~ @enable 1; +#X connect 0 0 8 1; +#X connect 2 0 9 1; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 9 0; +#X connect 8 0 1 0; +#X connect 8 0 1 1; +#X connect 8 0 14 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; +#X connect 12 0 8 2; +#X connect 13 0 5 0; diff --git a/anal.spectrum_~.pd b/anal.spectrum_~.pd new file mode 100644 index 0000000..2e8400b --- /dev/null +++ b/anal.spectrum_~.pd @@ -0,0 +1,68 @@ +#N canvas 137 67 990 636 10; +#X obj 310 216 tgl 15 0 \$0dummy \$0dummy empty 0 -6 0 8 -228856 -1 +-1 1 1; +#N canvas 402 150 435 334 fft 0; +#X obj 46 64 inlet~; +#X obj 46 94 rfft~; +#X obj 46 127 *~; +#X obj 77 127 *~; +#X obj 46 157 sqrt~; +#X obj 216 60 inlet; +#X obj 278 96 block~ 1024 1; +#X obj 53 204 clip~ 0 500; +#X obj 144 265 tabwrite~ \$0-fft; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 1 3 0; +#X connect 1 1 3 1; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 7 0 8 0; +#X restore 563 459 pd fft; +#X obj 36 39 inlet~; +#X obj 604 269 metro 20; +#X obj 463 395 hip~ 50; +#X obj 463 415 *~ 1; +#X obj 517 103 dollarg; +#X obj 524 138 init.post.dollarg; +#N canvas 0 22 450 300 (subpatch) 0; +#X array \$0-fft 128 float 0; +#X coords 0 500 127 0 128 100 1; +#X restore 202 236 graph; +#X obj 525 170 route hip enable; +#X obj 544 270 switch~; +#X obj 520 35 t b b; +#X obj 521 9 loadbang; +#X msg 705 139 enable 1; +#X msg 701 104 enable 0; +#X obj 412 275 f; +#X floatatom 411 306 5 0 0 0 - - -; +#X obj 405 153 f; +#X obj 403 176 t f f; +#X msg 401 200 set \$1; +#X connect 0 0 15 0; +#X connect 2 0 4 0; +#X connect 3 0 1 1; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 7 0 9 0; +#X connect 9 0 4 1; +#X connect 9 1 17 0; +#X connect 11 0 6 0; +#X connect 11 1 13 0; +#X connect 12 0 11 0; +#X connect 13 0 9 0; +#X connect 14 0 9 0; +#X connect 15 0 16 0; +#X connect 15 0 10 0; +#X connect 15 0 3 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 15 0; +#X connect 19 0 0 0; +#X coords 0 -1 1 1 150 138 1 200 200; diff --git a/anal.vu_~-help.pd b/anal.vu_~-help.pd new file mode 100644 index 0000000..4d07544 --- /dev/null +++ b/anal.vu_~-help.pd @@ -0,0 +1,18 @@ +#N canvas 281 278 637 379 10; +#X obj 25 16 loadbang; +#X msg 25 43 \; pd dsp 1; +#X text 127 16 Description: Displays a VU meter.; +#X obj 125 185 anal.vu_~; +#X obj 127 103 *~; +#X obj 128 78 osc~ 90; +#X obj 175 100 osc~ 0.1; +#X obj 266 109 *~; +#X obj 267 84 osc~ 70; +#X obj 314 106 osc~ 0.06; +#X connect 0 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; +#X connect 7 0 3 1; +#X connect 8 0 7 0; +#X connect 9 0 7 1; diff --git a/anal.vu_~.pd b/anal.vu_~.pd new file mode 100644 index 0000000..14cbd84 --- /dev/null +++ b/anal.vu_~.pd @@ -0,0 +1,110 @@ +#N canvas 1778 417 719 520 10; +#X obj 98 151 inlet~; +#N canvas 634 341 730 549 size&color 0; +#X obj 90 14 inlet; +#X obj 39 469 s \$0left; +#X obj 113 58 t f f; +#X msg 157 213 0; +#X msg 213 230 1; +#X obj 195 285 sel 0 1 2; +#X obj 193 257 change -1; +#X msg 264 235 2; +#X obj 98 34 clip 0 1; +#X obj 162 187 moses 0.5; +#X obj 213 208 moses 0.9; +#X obj 72 84 * 131; +#X obj 50 123 clip 6 131; +#X msg 45 158 vis_size \$1 7; +#X text 345 388 13; +#X text 250 406 14; +#X text 113 376 16; +#X msg 301 355 color 11 -1; +#X msg 99 347 color 10 -1; +#X msg 209 350 color 1 -1; +#X connect 0 0 8 0; +#X connect 2 0 11 0; +#X connect 2 1 9 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 18 0; +#X connect 5 1 19 0; +#X connect 5 2 17 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 2 0; +#X connect 9 0 3 0; +#X connect 9 1 10 0; +#X connect 10 0 4 0; +#X connect 10 1 7 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 1 0; +#X connect 17 0 1 0; +#X connect 18 0 1 0; +#X connect 19 0 1 0; +#X restore 129 326 pd size&color; +#X obj 129 274 snapshot~; +#X obj 522 145 loadbang; +#X obj 128 216 peakenv~ 1000; +#X obj 519 179 metro 200; +#X obj 98 387 outlet~; +#X obj 237 150 inlet~; +#X obj 236 389 outlet~; +#X obj 271 207 peakenv~ 1000; +#X obj 280 282 snapshot~; +#N canvas 51 327 730 549 size&color 0; +#X obj 90 14 inlet; +#X obj 113 58 t f f; +#X msg 157 213 0; +#X msg 213 230 1; +#X obj 195 285 sel 0 1 2; +#X obj 193 257 change -1; +#X msg 264 235 2; +#X obj 98 34 clip 0 1; +#X obj 162 187 moses 0.5; +#X obj 213 208 moses 0.9; +#X obj 72 84 * 131; +#X obj 50 123 clip 6 131; +#X obj 26 371 s \$0right; +#X msg 45 158 vis_size \$1 7; +#X msg 289 320 color 11 -1; +#X msg 84 312 color 10 -1; +#X msg 192 315 color 1 -1; +#X connect 0 0 7 0; +#X connect 1 0 10 0; +#X connect 1 1 8 0; +#X connect 2 0 5 0; +#X connect 3 0 5 0; +#X connect 4 0 15 0; +#X connect 4 1 16 0; +#X connect 4 2 14 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 8 1 9 0; +#X connect 9 0 3 0; +#X connect 9 1 6 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X restore 292 337 pd size&color; +#X obj 101 109 cnv 5 6 7 empty \$0right empty 2 8 0 10 -233017 -1 0 +; +#X obj 101 101 cnv 5 6 7 empty \$0left anal.vu_~ 2 8 0 10 -233017 -1 +0; +#X connect 0 0 4 0; +#X connect 0 0 6 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 5 0 10 0; +#X connect 7 0 9 0; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X coords 0 -1 1 1 133 17 2 100 100; diff --git a/arial.ttf b/arial.ttf new file mode 100644 index 0000000..d59f53b Binary files /dev/null and b/arial.ttf differ diff --git a/convert.2list-help.pd b/convert.2list-help.pd new file mode 100644 index 0000000..3e3431d --- /dev/null +++ b/convert.2list-help.pd @@ -0,0 +1,4 @@ +#N canvas 105 399 450 300 10; +#X obj 111 145 convert.2list; +#X text 89 22 Description: Converts anything to a list.; +#X text 89 39 Comments: Wraps [list].; diff --git a/convert.2list.pd b/convert.2list.pd new file mode 100644 index 0000000..adaab2c --- /dev/null +++ b/convert.2list.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 450 300 10; +#X obj 87 48 inlet; +#X obj 87 132 list; +#X obj 87 233 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; diff --git a/convert.ascii2int-help.pd b/convert.ascii2int-help.pd new file mode 100644 index 0000000..69b5f7b --- /dev/null +++ b/convert.ascii2int-help.pd @@ -0,0 +1,30 @@ +#N canvas 160 68 713 477 10; +#X floatatom 73 94 8 0 0 0 - - -; +#X symbolatom 63 72 10 0 0 0 - - -; +#X text 137 68 ... no special handling for symbols; +#X text 136 46 anything can be converted to a list...; +#X text 138 90 ... but "float" selector is silently dropped; +#X msg 54 51 A B C; +#X obj 53 224 print; +#X msg 102 121 list A B C; +#X obj 53 170 convert.ascii2int; +#X text 51 5 Description: Converts ascii messages to a list of integers +; +#X text 55 285 Inlet 2: A list of values you want appended to all messages. +; +#X text 56 261 Arguments: A list of values you want appended to all +messages.; +#X obj 75 389 print; +#X obj 76 354 convert.ascii2int 10 13; +#X text 233 350 This will append a line feed (10) and a carriage return(13) +to all messages; +#X msg 88 320 78; +#X msg 147 320 test; +#X connect 0 0 8 0; +#X connect 1 0 8 0; +#X connect 5 0 8 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 13 0 12 0; +#X connect 15 0 13 0; +#X connect 16 0 13 0; diff --git a/convert.ascii2int.pd b/convert.ascii2int.pd new file mode 100644 index 0000000..16eab45 --- /dev/null +++ b/convert.ascii2int.pd @@ -0,0 +1,16 @@ +#N canvas 171 464 450 300 10; +#X obj 101 29 inlet; +#X obj 100 227 outlet; +#X obj 101 72 list.trim; +#X obj 100 161 list append; +#X obj 271 33 inlet append; +#X obj 328 87 loadbang; +#X obj 328 123 dollarg; +#X obj 100 112 moocow/any2string 128 -1; +#X connect 0 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X connect 7 0 3 0; diff --git a/convert.ascii2pd-help.pd b/convert.ascii2pd-help.pd new file mode 100644 index 0000000..24654ac --- /dev/null +++ b/convert.ascii2pd-help.pd @@ -0,0 +1,237 @@ +#N canvas 250 27 939 864 10; +#X msg 63 180 44; +#X obj 35 402 print NORMAL; +#X obj 294 379 print ERROR; +#X msg 142 223 49; +#X msg 104 205 78; +#X text 497 227 Middle outlet: special pd character (CR: carriage return +\, SPACE: space \, LF: line feed \, etc...). See file ascii4pd.txt +for more).; +#X floatatom 48 280 5 0 0 0 - - -; +#X text 131 204 The "N" character.; +#X obj 15 39 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 484 123 cnv 15 15 15 empty empty empty 20 12 0 14 -128992 -66577 +0; +#X obj 478 209 cnv 15 15 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 477 230 cnv 15 15 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 479 274 cnv 15 15 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 170 223 The "1" character.; +#X text 19 80 Requires: pd 0.39 \, coll(cyclone lib) and zexy.; +#N canvas 1 0 805 693 complete 0; +#X msg 117 167 43 \, 43 \, 43 \, 13; +#X obj 239 486 print IGNORED; +#X msg 162 266 49 \, 53 \, 55 \, 13; +#X obj 107 422 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 142 431 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 147 231 52 \, 56 \, 32 \, 49 \, 48 \, 13; +#X msg 132 200 50 \, 43 \, 43 \, 32 \, 13; +#X msg 161 298 104 101 108 108 111 32 119 111 114 108 100 13; +#X text 235 397 CR (carriage return ends and outputs the message). +; +#X text 243 413 SPACE (starts a new element of a list).; +#X text 215 165 "+++" followed by a carriage return.; +#X text 253 200 "2++" followed by a carriage return.; +#X text 321 226 The list "48 10" followed by a carriage return.; +#X text 317 235 Note that that ascii code 32 (space) was used to seperate +the elements of the list.; +#X text 488 300 The list "hello world"; +#X text 268 269 The float "157"; +#X msg 167 325 49 \, 48 \, 48; +#X msg 168 346 13; +#X obj 125 396 route CR SPACE; +#X text 88 70 In the following example \, we use the stream2message +abstraction to build pd messages once a series of ascii codes is terminated +by a carriage return (code 13). We also treat the space character (code +32) to make lists. DO NOT FORGET TO END YOUR MESSAGES WITH A CARRIAGE +RETURN (code 13).; +#X obj 85 487 print RESULT; +#X text 256 323 STEP 1) Send "100" to concat.; +#X text 198 346 STEP 2) In this example \, the number 13 instructs +concat to output the stored "100" as a message.; +#N canvas 0 0 944 597 stream2message 0; +#X obj 17 40 inlet; +#X obj 230 45 inlet; +#X text 13 15 atoms \, bang outputs; +#X obj 380 346 repack 1024; +#X obj 278 564 list prepend; +#X obj 201 611 lister; +#X msg 283 453 list; +#X obj 160 328 t b b b; +#X obj 362 378 route bang; +#X obj 200 652 route bang; +#X msg 132 464 list; +#X obj 276 593 t a a; +#X obj 464 444 list2symbol; +#X obj 464 408 t a b; +#X msg 531 411 symbol; +#X obj 243 692 outlet; +#X msg 87 155 bang; +#X obj 355 517 symbol2list; +#X obj 398 267 t a a; +#X obj 396 490 demultiplex 0 1; +#X msg 338 421 0; +#X obj 503 315 route float; +#X msg 659 421 1; +#X msg 216 129 bang; +#X text 227 20 atoms \, bang puts a space; +#X obj 53 114 route bang list; +#X obj 231 99 route bang list; +#X obj 192 234 print ERROR; +#X msg 171 191 stream2message does not take lists!; +#X obj 438 602 list trim; +#X obj 702 338 route -; +#X connect 0 0 25 0; +#X connect 1 0 26 0; +#X connect 3 0 8 0; +#X connect 4 0 11 0; +#X connect 5 0 9 0; +#X connect 6 0 4 1; +#X connect 7 0 6 0; +#X connect 7 0 10 0; +#X connect 7 0 20 0; +#X connect 7 1 5 0; +#X connect 7 2 3 0; +#X connect 8 1 13 0; +#X connect 9 1 29 0; +#X connect 10 0 5 0; +#X connect 11 0 5 1; +#X connect 11 1 4 1; +#X connect 12 0 19 0; +#X connect 13 0 12 0; +#X connect 13 1 14 0; +#X connect 14 0 12 1; +#X connect 16 0 7 0; +#X connect 17 0 4 0; +#X connect 18 0 3 0; +#X connect 18 1 21 0; +#X connect 19 0 17 0; +#X connect 19 1 4 0; +#X connect 20 0 19 1; +#X connect 21 1 30 0; +#X connect 22 0 19 1; +#X connect 23 0 3 0; +#X connect 25 0 16 0; +#X connect 25 1 28 0; +#X connect 25 2 18 0; +#X connect 26 0 23 0; +#X connect 26 1 28 0; +#X connect 26 2 18 0; +#X connect 28 0 27 0; +#X connect 29 0 15 0; +#X connect 30 1 22 0; +#X restore 86 453 pd stream2message; +#X obj 86 370 convert.ascii2pd; +#X connect 0 0 24 0; +#X connect 2 0 24 0; +#X connect 3 0 23 0; +#X connect 4 0 23 1; +#X connect 5 0 24 0; +#X connect 6 0 24 0; +#X connect 7 0 24 0; +#X connect 16 0 24 0; +#X connect 17 0 24 0; +#X connect 18 0 3 0; +#X connect 18 1 4 0; +#X connect 18 2 1 0; +#X connect 23 0 20 0; +#X connect 24 0 23 0; +#X connect 24 1 18 0; +#X restore 59 960 pd complete control; +#X msg 155 253 104 101 108 108 111 32 119 111 114 108 100; +#X obj 482 324 cnv 15 15 15 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X text 502 325 Argument:; +#X obj 232 835 print ERROR; +#X text 88 177 The special character " \, "; +#X obj 35 834 print MESAGE; +#X obj 63 431 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 70 123 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X text 497 208 Left outlet: pd symbol or float.; +#X text 498 272 Right outlet: outputs wrong inputs.; +#X msg 78 597 104 101 108 108 111 32 119 111 114 108 100 13; +#X text 418 598 The mesage "hello world". Note the number 13 ending +the message.; +#X text 373 795 DO NOT FORGET TO END YOUR MESSAGES WITH A CARRIAGE +RETURN (code 13).; +#X text 506 122 Left inlet: ascii code ( integer \; 0 >= i >= 127) +to be converted to it's ascii character.; +#X obj 485 160 cnv 15 15 15 empty empty empty 20 12 0 14 -128992 -66577 +0; +#X msg 169 743 43 32 43 32 43 13; +#X obj 71 926 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X text 35 942 ADVANCED USE; +#X text 269 629 The message "+++".; +#X msg 147 656 43 \, 43 \, 10 \, 43 \, 13; +#X obj 35 360 route float symbol list; +#X obj 191 404 print SPECIAL; +#X text 284 655 The message "+++" will be broken in two by the special +charater LF (code 10).; +#X text 303 744 The message "+ + +". Note the number 13 ending the +message and the number 32 that spaces the elements.; +#X msg 137 628 43 \, 43 \, 43 \, 13; +#X msg 158 697 43 \, 43 \, 43 \, 10 \, 13; +#X obj 137 830 print END; +#X text 301 698 Many programs or hardware end a message with a line +feed (LF) and a carriage return (CR).; +#X obj 107 863 route +; +#X obj 109 895 print; +#X text 543 469 CR: carriage return/code 13; +#X text 542 485 SPACE: space/code 32; +#X text 544 501 LF: line feed/code 10; +#X text 544 518 NULL: code 0; +#X text 484 442 Common special characters:; +#X obj 512 427 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X text 502 360 - Special character: build messages using that special +character as the "end of message" flag. Space (code 32) separates elements +of a message.; +#X text 507 159 Right inlet: change mode.; +#X text 481 543 See "ascii4pd.txt for the whole list of special characters" +; +#X obj 489 35 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X text 509 34 version 3.1; +#X text 15 12 Description: Converts an ASCII stream into pd messages. +; +#X obj 97 305 convert.ascii2pd; +#X obj 78 770 convert.ascii2pd CR; +#X text 35 38 convert.ascii2pd by tof \, tof@danslchamp.org \, 2006/08/23 +; +#X text 19 135 With no argument \, convert.ascii2pd simply converts +a stream of ascii characters.; +#X text 20 452 With an argument \, convert.ascii2pd builds messages +with an "end of message" special character.; +#X text 23 525 In the following example a carriage return (code 13 +\, CR) ends and outputs the received message. Space (code 32) separates +elements.; +#X text 503 342 - 0 or nothing: do not build messages.; +#X connect 0 0 58 0; +#X connect 3 0 58 0; +#X connect 4 0 58 0; +#X connect 6 0 58 0; +#X connect 16 0 58 0; +#X connect 26 0 59 0; +#X connect 31 0 59 0; +#X connect 35 0 59 0; +#X connect 36 0 1 0; +#X connect 36 1 1 0; +#X connect 36 2 1 0; +#X connect 36 3 37 0; +#X connect 40 0 59 0; +#X connect 41 0 59 0; +#X connect 44 0 45 0; +#X connect 58 0 36 0; +#X connect 58 2 2 0; +#X connect 59 0 21 0; +#X connect 59 0 44 0; +#X connect 59 1 42 0; +#X connect 59 2 19 0; diff --git a/convert.ascii2pd.pd b/convert.ascii2pd.pd new file mode 100644 index 0000000..19b6b91 --- /dev/null +++ b/convert.ascii2pd.pd @@ -0,0 +1,376 @@ +#N canvas 0 0 1247 910 10; +#X obj 236 246 coll; +#C flags 1 0; +#C 0 special NULL; +#C 1 special SOH; +#C 2 special STX; +#C 3 special ETX; +#C 4 special EOT; +#C 5 special ENQ; +#C 6 special ACK; +#C 7 special BEL; +#C 8 special BS; +#C 9 special HT; +#C 10 special LF; +#C 11 special VT; +#C 12 special FF; +#C 13 special CR; +#C 14 special SO; +#C 15 special SI; +#C 16 special DLE; +#C 17 special DC1; +#C 18 special DC2; +#C 19 special DC3; +#C 20 special DC4; +#C 21 special NAK; +#C 22 special SYN; +#C 23 special ETB; +#C 24 special CAN; +#C 25 special EM; +#C 26 special SUB; +#C 27 special ESC; +#C 28 special FS; +#C 29 special GS; +#C 30 special RS; +#C 31 special US; +#C 32 special SPACE; +#C 33 !; +#C 34 "; +#C 35 #; +#C 36 $; +#C 37 %; +#C 38 &; +#C 39 '; +#C 40 (; +#C 41 ); +#C 42 *; +#C 43 +; +#C 44 special COMMA; +#C 45 -; +#C 46 .; +#C 47 /; +#C 48 0; +#C 49 1; +#C 50 2; +#C 51 3; +#C 52 4; +#C 53 5; +#C 54 6; +#C 55 7; +#C 56 8; +#C 57 9; +#C 58 :; +#C 59 special SC; +#C 60 <; +#C 61 =; +#C 62 >; +#C 63 ?; +#C 64 @; +#C 65 A; +#C 66 B; +#C 67 C; +#C 68 D; +#C 69 E; +#C 70 F; +#C 71 G; +#C 72 H; +#C 73 I; +#C 74 J; +#C 75 K; +#C 76 L; +#C 77 M; +#C 78 N; +#C 79 O; +#C 80 P; +#C 81 Q; +#C 82 R; +#C 83 S; +#C 84 T; +#C 85 U; +#C 86 V; +#C 87 W; +#C 88 X; +#C 89 Y; +#C 90 Z; +#C 91 [; +#C 92 special BKSL; +#C 93 ]; +#C 94 ^; +#C 95 _; +#C 96 `; +#C 97 a; +#C 98 b; +#C 99 c; +#C 100 d; +#C 101 e; +#C 102 f; +#C 103 g; +#C 104 h; +#C 105 i; +#C 106 j; +#C 107 k; +#C 108 l; +#C 109 m; +#C 110 n; +#C 111 o; +#C 112 p; +#C 113 q; +#C 114 r; +#C 115 s; +#C 116 t; +#C 117 u; +#C 118 v; +#C 119 w; +#C 120 x; +#C 121 y; +#C 122 z; +#C 123 special LCB; +#C 124 |; +#C 125 special RCB; +#C 126 ~; +#C 127 special DEL; +#C restore; +#N canvas 0 0 1008 714 loadasciidata 0; +#X obj 104 320 textfile; +#X msg 232 332 bang; +#X msg 262 426 rewind; +#X obj 308 200 until; +#X msg 309 166 128; +#X obj 434 93 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 332 139 t b b b b b; +#X msg 435 186 0; +#X msg 404 290 read ascii4pd.txt; +#X obj 84 565 list trim; +#X msg 451 363 clear; +#X obj 337 84 inlet; +#X obj 168 687 outlet; +#X obj 404 479 f; +#X obj 410 522 t f f; +#X obj 440 551 + 1; +#X obj 131 432 t a b; +#X obj 83 506 list prepend store; +#X obj 107 480 list prepend store; +#X connect 0 0 16 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 1 2 0; +#X connect 6 2 8 0; +#X connect 6 3 10 0; +#X connect 6 4 7 0; +#X connect 7 0 13 1; +#X connect 8 0 0 0; +#X connect 9 0 12 0; +#X connect 10 0 12 0; +#X connect 11 0 6 0; +#X connect 13 0 14 0; +#X connect 14 0 18 1; +#X connect 14 1 15 0; +#X connect 15 0 13 1; +#X connect 16 0 18 0; +#X connect 16 1 13 0; +#X connect 17 0 9 0; +#X connect 18 0 17 0; +#X restore 43 140 pd loadasciidata; +#X obj 43 92 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 36 197 open; +#X obj 237 310 route special; +#X obj 283 -58 inlet; +#X obj 76 774 outlet; +#X obj 289 36 drip; +#X obj 291 63 moses 0; +#X obj 342 102 moses 128; +#X obj 771 538 outlet; +#X obj 239 -5 route bang float list; +#X obj 146 466 demultiplex 0 1; +#X obj 388 463 demultiplex 0 1; +#X obj 465 295 loadbang; +#N canvas 0 0 1247 910 stream2message 0; +#X obj 17 40 inlet; +#X obj 230 45 inlet; +#X text 13 15 atoms \, bang outputs; +#X obj 374 365 repack 1024; +#X obj 363 670 list prepend; +#X obj 180 688 lister; +#X msg 283 453 list; +#X obj 356 397 route bang; +#X obj 179 729 route bang; +#X msg 132 464 list; +#X obj 361 699 t a a; +#X obj 473 491 list2symbol; +#X obj 473 455 t a b; +#X msg 540 458 symbol; +#X obj 222 769 outlet; +#X msg 87 155 bang; +#X text 227 20 atoms \, bang puts a space; +#X obj 53 114 route bang list; +#X obj 231 99 route bang list; +#X obj 192 234 print ERROR; +#X msg 171 191 stream2message does not take lists!; +#X obj 714 280 t b a; +#X obj 687 343 f; +#X obj 687 369 + 1; +#X obj 687 399 t f f; +#X obj 833 446 f; +#X obj 832 388 b; +#X msg 560 330 0; +#X obj 833 479 sel 0; +#X obj 473 573 demultiplex 0 1; +#X msg 863 508 1; +#X obj 761 395 f; +#X obj 761 421 + 1; +#X obj 761 451 t f f; +#X obj 757 490 sel 1; +#X msg 919 555 1; +#X obj 160 287 t b b b b; +#X obj 324 277 t b b; +#X obj 398 267 t a a; +#X obj 749 314 route float; +#X msg 885 394 1; +#X obj 442 604 symbol2list; +#X obj 786 343 sel . -; +#X connect 0 0 17 0; +#X connect 1 0 18 0; +#X connect 3 0 7 0; +#X connect 4 0 10 0; +#X connect 5 0 8 0; +#X connect 6 0 4 1; +#X connect 7 1 12 0; +#X connect 8 1 14 0; +#X connect 9 0 5 0; +#X connect 10 0 5 1; +#X connect 10 1 4 1; +#X connect 11 0 29 0; +#X connect 12 0 11 0; +#X connect 12 1 13 0; +#X connect 13 0 11 1; +#X connect 15 0 36 0; +#X connect 17 0 15 0; +#X connect 17 1 20 0; +#X connect 17 2 38 0; +#X connect 18 0 37 0; +#X connect 18 1 20 0; +#X connect 18 2 38 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 21 1 39 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 1; +#X connect 24 1 22 1; +#X connect 25 0 28 0; +#X connect 26 0 25 0; +#X connect 27 0 22 1; +#X connect 27 0 31 1; +#X connect 27 0 29 1; +#X connect 27 0 25 1; +#X connect 28 1 30 0; +#X connect 29 0 41 0; +#X connect 29 1 4 0; +#X connect 30 0 29 1; +#X connect 31 0 32 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 33 1 31 1; +#X connect 34 1 35 0; +#X connect 35 0 29 1; +#X connect 36 0 6 0; +#X connect 36 0 9 0; +#X connect 36 1 5 0; +#X connect 36 2 27 0; +#X connect 36 3 3 0; +#X connect 37 0 27 0; +#X connect 37 1 3 0; +#X connect 38 0 3 0; +#X connect 38 1 21 0; +#X connect 39 1 42 0; +#X connect 40 0 29 1; +#X connect 41 0 4 0; +#X connect 42 0 31 0; +#X connect 42 1 26 0; +#X connect 42 2 40 0; +#X restore 479 684 pd stream2message; +#X msg 480 614 bang; +#X msg 633 623 bang; +#X obj 690 135 inlet; +#X obj 36 -51 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0 +; +#N canvas 0 0 797 556 emptyarg 0; +#X obj 57 126 symbol \$1; +#X obj 80 189 sel symbol; +#X obj 46 75 t b b; +#X msg 143 131 symbol; +#X obj 38 48 inlet; +#X obj 82 285 outlet; +#X obj 166 303 outlet; +#X obj 313 44 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 6 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 1 1; +#X connect 4 0 2 0; +#X connect 7 0 0 0; +#X restore 465 328 pd emptyarg; +#X msg 467 355 0; +#X obj 526 355 t s b; +#X msg 555 380 1; +#X obj 673 185 symbol; +#X obj 505 482 symbol; +#X obj 572 519 sel SPACE; +#X msg 637 552 \$1; +#X obj 519 513 sel CR; +#X obj 644 583 t a b; +#X obj 523 564 t b b; +#X obj 391 783 outlet MESSAGE_ENDED; +#X text 57 -52 Version 3.2; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 13 0; +#X connect 4 1 12 0; +#X connect 5 0 11 0; +#X connect 7 0 8 0; +#X connect 8 0 10 0; +#X connect 8 1 9 0; +#X connect 9 0 0 0; +#X connect 9 1 10 0; +#X connect 11 0 16 0; +#X connect 11 1 7 0; +#X connect 11 2 7 0; +#X connect 11 3 10 0; +#X connect 12 0 6 0; +#X connect 12 1 15 0; +#X connect 13 0 6 0; +#X connect 13 1 25 0; +#X connect 14 0 20 0; +#X connect 15 0 6 0; +#X connect 16 0 15 0; +#X connect 17 0 15 1; +#X connect 18 0 24 0; +#X connect 20 0 21 0; +#X connect 20 1 22 0; +#X connect 21 0 12 1; +#X connect 21 0 13 1; +#X connect 22 0 28 1; +#X connect 22 1 23 0; +#X connect 23 0 13 1; +#X connect 23 0 12 1; +#X connect 24 0 20 1; +#X connect 25 0 28 0; +#X connect 26 0 17 0; +#X connect 26 1 27 0; +#X connect 27 0 29 0; +#X connect 28 0 30 0; +#X connect 28 1 26 0; +#X connect 29 0 6 0; +#X connect 29 1 16 0; +#X connect 30 0 31 0; +#X connect 30 1 16 0; diff --git a/convert.binary2byte-help.pd b/convert.binary2byte-help.pd new file mode 100644 index 0000000..d40973e --- /dev/null +++ b/convert.binary2byte-help.pd @@ -0,0 +1,43 @@ +#N canvas 0 0 663 340 10; +#X floatatom 110 244 5 0 0 0 - - -; +#X obj 104 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 134 152 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 158 149 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 186 148 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 214 149 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 243 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 268 152 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 301 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 54 87 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 141 206 convert.binary2byte; +#X text 46 24 Description: Converts an 8 bit binary number into it's +decimal value.; +#X text 125 110 This is the hot inlet!; +#X text 74 85 Output; +#X obj 357 264 convert.binary2byte; +#X floatatom 358 297 5 0 0 0 - - -; +#X msg 362 214 0 1 0 0 1 1 0 1; +#X msg 388 238 1 0 0 0 0 0 0 0; +#X text 374 195 Lists work too!; +#X connect 1 0 10 0; +#X connect 2 0 10 1; +#X connect 3 0 10 2; +#X connect 4 0 10 3; +#X connect 5 0 10 4; +#X connect 6 0 10 5; +#X connect 7 0 10 6; +#X connect 8 0 10 7; +#X connect 9 0 10 0; +#X connect 10 0 0 0; +#X connect 14 0 15 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; diff --git a/convert.binary2byte.pd b/convert.binary2byte.pd new file mode 100644 index 0000000..ebd8169 --- /dev/null +++ b/convert.binary2byte.pd @@ -0,0 +1,78 @@ +#N canvas 0 0 844 526 10; +#X obj 586 97 & 1; +#X obj 188 60 inlet; +#X obj 257 59 inlet; +#X obj 312 62 inlet; +#X obj 387 64 inlet; +#X obj 455 58 inlet; +#X obj 521 66 inlet; +#X obj 586 66 inlet; +#X obj 517 114 << 1; +#X obj 519 89 & 1; +#X obj 469 96 & 1; +#X obj 402 88 & 1; +#X obj 327 91 & 1; +#X obj 260 83 & 1; +#X obj 196 83 & 1; +#X obj 43 13 inlet; +#X obj 149 114 & 1; +#X obj 446 121 << 2; +#X obj 402 122 << 3; +#X obj 354 122 << 4; +#X obj 292 123 << 5; +#X obj 242 125 << 6; +#X obj 170 167 << 7; +#X obj 179 492 outlet; +#X obj 184 288 pack f f f f f f f f; +#X obj 257 353 drip; +#X obj 223 320 t b l b; +#X obj 259 385 +; +#X msg 301 350 0; +#X obj 258 413 t f f; +#X obj 249 440 f; +#X obj 28 47 route bang list; +#X obj 192 10 unpack f f f f f f f f; +#X connect 0 0 24 7; +#X connect 1 0 14 0; +#X connect 2 0 13 0; +#X connect 3 0 12 0; +#X connect 4 0 11 0; +#X connect 5 0 10 0; +#X connect 6 0 9 0; +#X connect 7 0 0 0; +#X connect 8 0 24 6; +#X connect 9 0 8 0; +#X connect 10 0 17 0; +#X connect 11 0 18 0; +#X connect 12 0 19 0; +#X connect 13 0 20 0; +#X connect 14 0 21 0; +#X connect 15 0 31 0; +#X connect 16 0 22 0; +#X connect 17 0 24 5; +#X connect 18 0 24 4; +#X connect 19 0 24 3; +#X connect 20 0 24 2; +#X connect 21 0 24 1; +#X connect 22 0 24 0; +#X connect 24 0 26 0; +#X connect 25 0 27 0; +#X connect 26 0 30 0; +#X connect 26 1 25 0; +#X connect 26 2 28 0; +#X connect 27 0 29 0; +#X connect 28 0 27 1; +#X connect 29 0 30 1; +#X connect 29 1 27 1; +#X connect 30 0 23 0; +#X connect 31 0 24 0; +#X connect 31 1 32 0; +#X connect 31 2 16 0; +#X connect 32 0 16 0; +#X connect 32 1 14 0; +#X connect 32 2 13 0; +#X connect 32 3 12 0; +#X connect 32 4 11 0; +#X connect 32 5 10 0; +#X connect 32 6 9 0; +#X connect 32 7 0 0; diff --git a/convert.bpm2freq-help.pd b/convert.bpm2freq-help.pd new file mode 100644 index 0000000..aacaa70 --- /dev/null +++ b/convert.bpm2freq-help.pd @@ -0,0 +1,19 @@ +#N canvas 428 216 685 445 12; +#X floatatom 150 78 5 0 0 0 - - -; +#X floatatom 150 220 5 0 0 0 - - -; +#X text 148 246 frequency; +#X obj 150 134 convert.bpm2freq; +#X obj 396 179 convert.bpm2freq; +#X msg 396 146 120; +#X text 10 33 Description: Converts beats per minute to a frequency +(times per second).; +#X floatatom 397 217 5 0 0 0 - - -; +#X text 446 217 Frequency; +#X obj 400 246 phasor~; +#X obj 397 282 anal.scope_~ 1; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 7 0 9 0; +#X connect 9 0 10 0; diff --git a/convert.bpm2freq.pd b/convert.bpm2freq.pd new file mode 100644 index 0000000..9861229 --- /dev/null +++ b/convert.bpm2freq.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 454 304 10; +#X obj 103 15 inlet; +#X obj 107 244 outlet; +#X obj 136 66 / 60; +#X text 154 247 beat freq; +#X text 143 13 bpm; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/convert.bpm2ms-help.pd b/convert.bpm2ms-help.pd new file mode 100644 index 0000000..e54ef64 --- /dev/null +++ b/convert.bpm2ms-help.pd @@ -0,0 +1,16 @@ +#N canvas 307 273 694 371 12; +#X obj 135 130 convert.bpm2ms; +#X text 20 26 Description: Converts beats per minute to an interval +in milliseconds.; +#X msg 135 91 120; +#X obj 138 171 t b f; +#X obj 141 210 metro; +#X obj 141 254 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 195 90 60; +#X connect 0 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 5 0; +#X connect 6 0 0 0; diff --git a/convert.bpm2ms.pd b/convert.bpm2ms.pd new file mode 100644 index 0000000..ba6d15c --- /dev/null +++ b/convert.bpm2ms.pd @@ -0,0 +1,10 @@ +#N canvas 609 320 452 302 10; +#X obj 130 52 inlet; +#X obj 130 112 /; +#X obj 130 138 * 60; +#X msg 130 89 1000 \$1; +#X obj 129 191 outlet; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; diff --git a/convert.byte2binary-help.pd b/convert.byte2binary-help.pd new file mode 100644 index 0000000..8709f55 --- /dev/null +++ b/convert.byte2binary-help.pd @@ -0,0 +1,57 @@ +#N canvas 10 75 780 645 10; +#X floatatom 157 208 5 0 0 0 - - -; +#X obj 157 131 metro 250; +#X obj 157 108 tgl 15 0 empty empty empty 20 7 0 8 -33289 -262144 -1 +1 1; +#X obj 157 83 loadbang; +#X text 90 40 Description: converts a byte into a list of 8 bits; +#X obj 157 154 f 0; +#X obj 191 155 + 1; +#X obj 157 177 % 256; +#X text 147 307 A classical binary counter !; +#X obj 325 194 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 156 231 convert.byte2binary; +#X text 352 192 Endianess (1 = big endian \, defaults to 0 : little +endian) Can be the 1st arg as well.; +#X obj 156 282 seq.tgl8_; +#X floatatom 133 490 0 0 0 0 - - -; +#X floatatom 125 513 0 0 0 0 - - -; +#X floatatom 118 536 0 0 0 0 - - -; +#X obj 118 432 time; +#X text 163 491 sec; +#X text 164 512 min; +#X text 163 534 hours; +#X obj 118 408 metro 1000; +#X obj 118 389 tgl 15 0 empty empty empty 20 7 0 8 -33289 -262144 -1 +1 1; +#X obj 118 364 loadbang; +#X obj 326 427 convert.byte2binary; +#X obj 328 484 convert.byte2binary; +#X obj 330 542 convert.byte2binary; +#X text 119 342 A binary clock.; +#X obj 326 449 seq.tgl8_; +#X obj 328 507 seq.tgl8_; +#X obj 330 565 seq.tgl8_; +#X connect 0 0 10 0; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 5 1; +#X connect 7 0 0 0; +#X connect 9 0 10 1; +#X connect 10 0 12 0; +#X connect 16 0 15 0; +#X connect 16 0 25 0; +#X connect 16 1 14 0; +#X connect 16 1 24 0; +#X connect 16 2 13 0; +#X connect 16 2 23 0; +#X connect 20 0 16 0; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 27 0; +#X connect 24 0 28 0; +#X connect 25 0 29 0; diff --git a/convert.byte2binary.pd b/convert.byte2binary.pd new file mode 100644 index 0000000..6037c31 --- /dev/null +++ b/convert.byte2binary.pd @@ -0,0 +1,96 @@ +#N canvas 493 190 1024 516 10; +#X obj 335 120 & 1; +#X obj 466 263 pack f f f f f f f f; +#X obj 399 110 & 2; +#X obj 446 109 & 4; +#X obj 498 106 & 8; +#X obj 563 109 & 16; +#X obj 639 116 & 32; +#X obj 709 114 & 64; +#X obj 763 116 & 128; +#X obj 188 338 outlet; +#X obj 168 -42 inlet; +#X obj 397 135 >> 1; +#X obj 445 134 >> 2; +#X obj 498 132 >> 3; +#X obj 566 140 >> 4; +#X obj 642 152 >> 5; +#X obj 712 147 >> 6; +#X obj 767 149 >> 7; +#X obj 583 -21 inlet; +#X obj 274 203 & 1; +#X obj -92 250 pack f f f f f f f f; +#X obj 189 184 & 2; +#X obj 141 183 & 4; +#X obj 92 184 & 8; +#X obj 48 179 & 16; +#X obj 3 173 & 32; +#X obj -45 171 & 64; +#X obj -97 171 & 128; +#X obj 187 209 >> 1; +#X obj 140 208 >> 2; +#X obj 92 210 >> 3; +#X obj 51 210 >> 4; +#X obj 6 209 >> 5; +#X obj -42 204 >> 6; +#X obj -93 204 >> 7; +#X obj 290 -47 loadbang; +#X obj -92 134 t f f f f f f f f; +#X obj 437 53 t f f f f f f f f; +#X obj 290 -25 f \$1; +#X text 329 -25 Defaults to 0; +#X obj 169 10 demultiplex 0 1; +#X connect 0 0 1 0; +#X connect 1 0 9 0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 14 0; +#X connect 6 0 15 0; +#X connect 7 0 16 0; +#X connect 8 0 17 0; +#X connect 10 0 40 0; +#X connect 11 0 1 1; +#X connect 12 0 1 2; +#X connect 13 0 1 3; +#X connect 14 0 1 4; +#X connect 15 0 1 5; +#X connect 16 0 1 6; +#X connect 17 0 1 7; +#X connect 18 0 40 1; +#X connect 19 0 20 7; +#X connect 20 0 9 0; +#X connect 21 0 28 0; +#X connect 22 0 29 0; +#X connect 23 0 30 0; +#X connect 24 0 31 0; +#X connect 25 0 32 0; +#X connect 26 0 33 0; +#X connect 27 0 34 0; +#X connect 28 0 20 6; +#X connect 29 0 20 5; +#X connect 30 0 20 4; +#X connect 31 0 20 3; +#X connect 32 0 20 2; +#X connect 33 0 20 1; +#X connect 34 0 20 0; +#X connect 35 0 38 0; +#X connect 36 0 27 0; +#X connect 36 1 26 0; +#X connect 36 2 25 0; +#X connect 36 3 24 0; +#X connect 36 4 23 0; +#X connect 36 5 22 0; +#X connect 36 6 21 0; +#X connect 36 7 19 0; +#X connect 37 0 0 0; +#X connect 37 1 2 0; +#X connect 37 2 3 0; +#X connect 37 3 4 0; +#X connect 37 4 5 0; +#X connect 37 5 6 0; +#X connect 37 6 7 0; +#X connect 37 7 8 0; +#X connect 38 0 40 1; +#X connect 40 0 36 0; +#X connect 40 1 37 0; diff --git a/convert.bytes2int.signed-help.pd b/convert.bytes2int.signed-help.pd new file mode 100644 index 0000000..1a8406a --- /dev/null +++ b/convert.bytes2int.signed-help.pd @@ -0,0 +1,22 @@ +#N canvas 662 106 521 475 10; +#X obj 130 421 print; +#X msg 130 179 0 0; +#X msg 183 180 0 1; +#X msg 253 179 255 255; +#X msg 267 208 0 255; +#X msg 278 243 130 255; +#X msg 288 292 127 255; +#X msg 297 319 126 255; +#X msg 284 269 128 0; +#X text 61 45 Description: Converts a high byte and low byte pair to +a signed integer using two's compliment.; +#X obj 129 363 convert.bytes2int.signed; +#X connect 1 0 10 0; +#X connect 2 0 10 0; +#X connect 3 0 10 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 6 0 10 0; +#X connect 7 0 10 0; +#X connect 8 0 10 0; +#X connect 10 0 0 0; diff --git a/convert.bytes2int.signed.pd b/convert.bytes2int.signed.pd new file mode 100644 index 0000000..71a3f55 --- /dev/null +++ b/convert.bytes2int.signed.pd @@ -0,0 +1,29 @@ +#N canvas 0 0 521 475 10; +#X obj 136 300 t f b; +#X obj 131 91 unpack f f; +#X obj 130 17 inlet bytes; +#X obj 316 207 f; +#X obj 376 207 f; +#X obj 125 206 t f b; +#X obj 217 368 +; +#X obj 211 410 outlet; +#X obj 379 245 - 256; +#X obj 130 150 moses 128; +#X obj 98 340 * 256; +#X obj 190 182 - 255; +#X connect 0 0 10 0; +#X connect 0 1 4 0; +#X connect 1 0 9 0; +#X connect 1 1 3 1; +#X connect 1 1 4 1; +#X connect 2 0 1 0; +#X connect 3 0 6 1; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 5 1 3 0; +#X connect 6 0 7 0; +#X connect 8 0 6 1; +#X connect 9 0 5 0; +#X connect 9 1 11 0; +#X connect 10 0 6 0; +#X connect 11 0 0 0; diff --git a/convert.degree2radian-help.pd b/convert.degree2radian-help.pd new file mode 100644 index 0000000..f812afd --- /dev/null +++ b/convert.degree2radian-help.pd @@ -0,0 +1,9 @@ +#N canvas 242 154 426 292 10; +#X text 76 1 Description: Converts degrees into radians.; +#X obj 88 140 convert.degree2radian; +#X floatatom 88 74 5 0 0 0 - - -; +#X floatatom 88 203 0 0 0 0 - - -; +#X msg 135 75 180; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 4 0 1 0; diff --git a/convert.degree2radian.pd b/convert.degree2radian.pd new file mode 100644 index 0000000..0e0ca1c --- /dev/null +++ b/convert.degree2radian.pd @@ -0,0 +1,17 @@ +#N canvas 426 297 448 298 10; +#X obj 79 86 inlet; +#X obj 79 172 outlet; +#X obj 151 121 / 45; +#X obj 151 55 loadbang; +#X obj 79 120 f; +#X obj 151 98 atan; +#X msg 151 77 1; +#X text 73 27 taken from zexy; +#X obj 79 144 *; +#X connect 0 0 4 0; +#X connect 2 0 8 1; +#X connect 3 0 6 0; +#X connect 4 0 8 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 8 0 1 0; diff --git a/convert.fps2ms-help.pd b/convert.fps2ms-help.pd new file mode 100644 index 0000000..3603a46 --- /dev/null +++ b/convert.fps2ms-help.pd @@ -0,0 +1,10 @@ +#N canvas 30 122 450 300 10; +#X floatatom 97 143 5 0 0 0 - - -; +#X floatatom 87 229 5 0 0 0 - - -; +#X text 151 139 ms; +#X text 138 232 fps; +#X text 34 20 Description: Converts the number frames per seconds into +the number of milliseconds between each frame.; +#X obj 90 177 convert.fps2ms; +#X connect 0 0 5 0; +#X connect 5 0 1 0; diff --git a/convert.fps2ms.pd b/convert.fps2ms.pd new file mode 100644 index 0000000..cbdd6e5 --- /dev/null +++ b/convert.fps2ms.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 450 300 10; +#X obj 137 77 inlet; +#X obj 136 161 /; +#X msg 141 122 1000 \$1; +#X obj 134 197 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; diff --git a/convert.frames2smpte-help.pd b/convert.frames2smpte-help.pd new file mode 100644 index 0000000..3c1209d --- /dev/null +++ b/convert.frames2smpte-help.pd @@ -0,0 +1,40 @@ +#N canvas 234 6 882 564 10; +#X obj 433 39 cnv 15 420 250 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 441 88 Left inlet: duration in frames; +#X text 445 147 Outlets from left to right: duration in hours:minutes:seconds:frames +; +#X text 443 118 Right inlet: frame rate (defaults to 25); +#X text 441 54 Description: Converts a duration of frames into smpte +time code.; +#X floatatom 112 116 10 0 0 0 - - -; +#X floatatom 134 252 5 0 0 1 Minutes - -; +#X floatatom 24 253 5 0 0 1 Hours - -; +#X floatatom 240 252 5 0 0 1 Seconds - -; +#X floatatom 335 252 5 0 0 1 Frames - -; +#X symbolatom 147 385 15 0 0 0 - - -; +#X msg 231 145 24; +#X obj 121 62 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 442 193 Author: February 2006 by oli44 (Tulle). Modified by +Tof.; +#X msg 282 164 30; +#X text 441 223 Comments: Only works with integer frame rates for now. +; +#X obj 89 199 convert.frames2smpte; +#X obj 147 347 convert.list2symbol; +#X obj 155 301 pack f f f f; +#X connect 5 0 16 0; +#X connect 6 0 18 1; +#X connect 7 0 18 0; +#X connect 8 0 18 2; +#X connect 9 0 18 3; +#X connect 11 0 16 1; +#X connect 12 0 5 0; +#X connect 14 0 16 1; +#X connect 16 0 7 0; +#X connect 16 1 6 0; +#X connect 16 2 8 0; +#X connect 16 3 9 0; +#X connect 17 0 10 0; +#X connect 18 0 17 0; diff --git a/convert.frames2smpte.pd b/convert.frames2smpte.pd new file mode 100644 index 0000000..d49bc76 --- /dev/null +++ b/convert.frames2smpte.pd @@ -0,0 +1,33 @@ +#N canvas 522 175 725 591 10; +#X obj 45 48 inlet; +#X obj 314 22 inlet framerate; +#X obj 45 194 / 25; +#X obj 338 343 mod 25; +#X obj 27 444 outlet; +#X obj 137 444 outlet; +#X obj 243 449 outlet; +#X obj 338 439 outlet; +#X obj 65 125 t f f; +#X obj 54 228 t f f; +#X obj 34 295 t f f; +#X obj 245 196 f; +#X obj 243 334 mod 60; +#X obj 139 369 mod 60; +#X obj 48 264 div 60; +#X obj 41 367 div 60; +#X connect 0 0 8 0; +#X connect 1 0 11 0; +#X connect 2 0 9 0; +#X connect 3 0 7 0; +#X connect 8 0 2 0; +#X connect 8 1 3 0; +#X connect 9 0 14 0; +#X connect 9 1 12 0; +#X connect 10 0 15 0; +#X connect 10 1 13 0; +#X connect 11 0 3 1; +#X connect 11 0 2 1; +#X connect 12 0 6 0; +#X connect 13 0 5 0; +#X connect 14 0 10 0; +#X connect 15 0 4 0; diff --git a/convert.hex2dec-help.pd b/convert.hex2dec-help.pd new file mode 100644 index 0000000..f3e74cc --- /dev/null +++ b/convert.hex2dec-help.pd @@ -0,0 +1,29 @@ +#N canvas 364 98 626 444 10; +#X floatatom 175 376 30 0 0 0 - - -; +#X msg 184 95 fc3; +#X msg 212 95 fc2; +#X msg 258 93 ffcc33; +#X msg 101 137 ff; +#X msg 83 184 f0; +#X text 71 19 Description: Hexadecimal to decimal conversion.; +#X msg 330 192 11; +#X msg 282 163 test; +#X msg 268 134 0x11; +#X msg 335 158 0Xff; +#X msg 317 237 0xa1; +#X msg 331 266 a1; +#X text 56 47 You can use the 0x prefix or not. Actually anything before +the 0x prefix (if there is one) will be ignored.; +#X obj 177 322 convert.hex2dec; +#X connect 1 0 14 0; +#X connect 2 0 14 0; +#X connect 3 0 14 0; +#X connect 4 0 14 0; +#X connect 5 0 14 0; +#X connect 7 0 14 0; +#X connect 8 0 14 0; +#X connect 9 0 14 0; +#X connect 10 0 14 0; +#X connect 11 0 14 0; +#X connect 12 0 14 0; +#X connect 14 0 0 0; diff --git a/convert.hex2dec.pd b/convert.hex2dec.pd new file mode 100644 index 0000000..33efde8 --- /dev/null +++ b/convert.hex2dec.pd @@ -0,0 +1,108 @@ +#N canvas 55 0 946 687 10; +#X obj 91 -142 inlet; +#X obj 251 135 f 0; +#X obj 146 201 t a b; +#X obj 258 420 f 0; +#X obj 140 433 << 0; +#X obj 292 420 + 4; +#X obj 140 410 f; +#X msg 154 332 10; +#X msg 169 353 11; +#X msg 187 331 12; +#X msg 202 352 13; +#X msg 217 331 14; +#X msg 232 352 15; +#X msg 300 136 set 0; +#X obj 44 605 outlet; +#X obj 148 223 route symbol float; +#X obj 350 502 moses 10; +#X obj 306 477 moses 0; +#X obj 76 -106 route symbol; +#X obj 88 535 demultiplex 0 1; +#X msg 253 -37 0; +#X msg 295 540 1; +#X msg 431 368 1; +#X obj 107 -46 t s b b s; +#X obj 197 606 symbol; +#X obj 176 560 b; +#X obj 316 616 print convert.hex2dec; +#X obj 106 99 t b a b; +#X obj 145 252 sel a A b B c C d D e E f F x X; +#X obj 277 105 t b b b; +#X msg 385 188 1; +#X obj 280 182 spigot; +#X msg 352 210 0; +#X obj 136 -76 convert.list2symbol; +#X obj 96 27 convert.symbol2list; +#X obj 133 134 list.reverse; +#X obj 132 159 list.unfold; +#X obj 36 479 count.accum; +#X msg 327 591 Cannot convert \$1; +#X msg 178 -20 none; +#X connect 0 0 18 0; +#X connect 1 0 3 1; +#X connect 2 0 15 0; +#X connect 2 1 3 0; +#X connect 3 0 4 1; +#X connect 3 0 5 0; +#X connect 4 0 37 1; +#X connect 5 0 3 1; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#X connect 11 0 6 0; +#X connect 12 0 6 0; +#X connect 13 0 37 0; +#X connect 15 0 28 0; +#X connect 15 1 17 0; +#X connect 15 2 28 0; +#X connect 16 0 6 0; +#X connect 16 1 21 0; +#X connect 17 0 21 0; +#X connect 17 1 16 0; +#X connect 18 0 23 0; +#X connect 18 1 33 0; +#X connect 19 0 14 0; +#X connect 19 1 25 0; +#X connect 20 0 19 1; +#X connect 21 0 19 1; +#X connect 22 0 19 1; +#X connect 23 0 34 0; +#X connect 23 1 39 0; +#X connect 23 2 20 0; +#X connect 23 3 24 1; +#X connect 24 0 38 0; +#X connect 25 0 24 0; +#X connect 27 0 37 0; +#X connect 27 1 35 0; +#X connect 27 2 29 0; +#X connect 28 0 7 0; +#X connect 28 1 7 0; +#X connect 28 2 8 0; +#X connect 28 3 8 0; +#X connect 28 4 9 0; +#X connect 28 5 9 0; +#X connect 28 6 10 0; +#X connect 28 7 10 0; +#X connect 28 8 11 0; +#X connect 28 9 11 0; +#X connect 28 10 12 0; +#X connect 28 11 12 0; +#X connect 28 12 32 0; +#X connect 28 13 32 0; +#X connect 28 14 22 0; +#X connect 29 0 1 0; +#X connect 29 1 13 0; +#X connect 29 2 30 0; +#X connect 30 0 31 1; +#X connect 31 0 2 0; +#X connect 32 0 31 1; +#X connect 33 0 23 0; +#X connect 34 0 27 0; +#X connect 35 0 36 0; +#X connect 36 0 31 0; +#X connect 37 0 19 0; +#X connect 38 0 26 0; +#X connect 39 0 34 1; diff --git a/convert.hsv2rgb-help.pd b/convert.hsv2rgb-help.pd new file mode 100644 index 0000000..a27cf07 --- /dev/null +++ b/convert.hsv2rgb-help.pd @@ -0,0 +1,48 @@ +#N canvas 146 129 900 507 10; +#X msg 123 195 0 1 1; +#X msg 175 207 0.6 1 0.5; +#X floatatom 137 125 5 0 1 1 Value - -; +#X floatatom 100 107 5 0 1 1 Saturation - -; +#X floatatom 82 89 5 0 1 1 Hue - -; +#X obj 83 173 pack 0 0 0; +#X obj 100 142 t b f; +#X obj 137 142 t b f; +#X obj 68 330 unpack 0 0 0; +#X floatatom 147 352 5 0 0 1 Blue - -; +#X floatatom 107 372 5 0 0 1 Green - -; +#X floatatom 68 395 5 0 0 1 Red - -; +#X obj 349 346 unpack 0 0 0; +#X floatatom 428 368 5 0 0 1 Blue - -; +#X floatatom 388 388 5 0 0 1 Green - -; +#X floatatom 349 411 5 0 0 1 Red - -; +#X obj 361 141 input.hsv_; +#X text 90 68 Float HSV input; +#X text 79 308 Float RGB output; +#X text 41 24 Description: convert from float HSV colorspace to float +RGB or 8bit(integer) RGB colorspace.; +#X obj 350 294 convert.hsv2rgb 8bit; +#X text 373 324 8bit/int/integer RGB output; +#X text 365 119 Float HSV input; +#X obj 83 254 convert.hsv2rgb; +#X obj 522 278 convert.hsv2rgb int; +#X obj 524 298 convert.hsv2rgb integer; +#X connect 0 0 23 0; +#X connect 1 0 23 0; +#X connect 2 0 7 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 23 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 5 0; +#X connect 7 1 5 2; +#X connect 8 0 11 0; +#X connect 8 1 10 0; +#X connect 8 2 9 0; +#X connect 12 0 15 0; +#X connect 12 1 14 0; +#X connect 12 2 13 0; +#X connect 16 0 20 0; +#X connect 16 0 23 0; +#X connect 20 0 12 0; +#X connect 23 0 8 0; diff --git a/convert.hsv2rgb.pd b/convert.hsv2rgb.pd new file mode 100644 index 0000000..4ef3aa9 --- /dev/null +++ b/convert.hsv2rgb.pd @@ -0,0 +1,180 @@ +#N canvas 0 0 882 699 10; +#X obj 187 84 route 0; +#X msg 187 56 \$2 \$3 \$1; +#X obj 231 111 unpack 0 0 0; +#X text 250 71 svh; +#X obj 187 28 inlet hsv; +#X obj 181 666 outlet rgb; +#X obj 401 149 * 6; +#X obj 380 196 % 6; +#X obj 350 173 t f f; +#X msg 350 149 0; +#X text 406 196 i; +#X obj 350 219 -; +#X obj 231 217 *; +#X obj 231 178 - 1; +#X obj 231 198 * -1; +#X obj 263 330 *; +#X obj 263 291 - 1; +#X obj 263 311 * -1; +#X obj 263 269 *; +#X obj 350 240 t f f; +#X obj 380 262 - 1; +#X obj 380 283 * -1; +#X obj 302 356 *; +#X obj 302 317 - 1; +#X obj 302 337 * -1; +#X obj 302 295 *; +#X obj 231 151 t f f f; +#X obj 238 411 pack 0 0 0 0; +#N canvas 387 255 646 315 select 0; +#X obj 290 37 inlet; +#X obj 16 247 outlet; +#X obj 92 104 t b l; +#X obj 125 128 unpack 0 0 0 0; +#X obj 89 43 inlet p q t v; +#X obj 92 128 i; +#X obj 92 151 select 0 1 2 3 4 5; +#X obj 16 223 pack 0 0 0; +#X obj 16 203 f; +#X obj 96 223 pack 0 0 0; +#X obj 96 203 f; +#X obj 176 223 pack 0 0 0; +#X obj 176 203 f; +#X obj 256 223 pack 0 0 0; +#X obj 256 203 f; +#X obj 336 223 pack 0 0 0; +#X obj 336 203 f; +#X obj 416 223 pack 0 0 0; +#X obj 416 203 f; +#X connect 0 0 5 1; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 7 2; +#X connect 3 0 9 2; +#X connect 3 0 12 1; +#X connect 3 0 14 1; +#X connect 3 0 15 1; +#X connect 3 0 17 1; +#X connect 3 1 10 1; +#X connect 3 1 13 1; +#X connect 3 1 17 2; +#X connect 3 2 7 1; +#X connect 3 2 11 2; +#X connect 3 2 16 1; +#X connect 3 3 8 1; +#X connect 3 3 9 1; +#X connect 3 3 11 1; +#X connect 3 3 13 2; +#X connect 3 3 15 2; +#X connect 3 3 18 1; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 6 1 10 0; +#X connect 6 2 12 0; +#X connect 6 3 14 0; +#X connect 6 4 16 0; +#X connect 6 5 18 0; +#X connect 7 0 1 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 1 0; +#X connect 12 0 11 0; +#X connect 13 0 1 0; +#X connect 14 0 13 0; +#X connect 15 0 1 0; +#X connect 16 0 15 0; +#X connect 17 0 1 0; +#X connect 18 0 17 0; +#X restore 243 456 pd select; +#X msg 187 478 \$1 \$1 \$1; +#X obj 126 437 clip 0 1; +#X obj 231 131 clip 0 1; +#X obj 270 173 clip 0 1; +#X obj 350 109 clip 0 1; +#X obj 350 129 select 1; +#X msg 139 357 \$1; +#X obj 189 373 abs; +#X obj 228 352 abs; +#X obj 271 386 abs; +#X obj 302 541 unpack f f f; +#X obj 299 572 * 255; +#X obj 347 571 * 255; +#X obj 414 572 * 255; +#X obj 343 625 pack f f f; +#X obj 304 599 int; +#X obj 352 598 int; +#X obj 404 603 int; +#X obj 259 491 demultiplex 0 1; +#X obj 564 446 loadbang; +#X obj 564 475 dollarg; +#X msg 634 535 1; +#X obj 562 503 sel 8bit int integer; +#X connect 0 0 35 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 2 1 32 0; +#X connect 2 2 33 0; +#X connect 4 0 1 0; +#X connect 6 0 8 0; +#X connect 7 0 11 1; +#X connect 7 0 28 1; +#X connect 8 0 11 0; +#X connect 8 1 7 0; +#X connect 9 0 8 0; +#X connect 11 0 19 0; +#X connect 12 0 36 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 15 0 37 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 16 0; +#X connect 19 0 18 1; +#X connect 19 1 20 0; +#X connect 20 0 21 0; +#X connect 21 0 25 1; +#X connect 22 0 38 0; +#X connect 23 0 24 0; +#X connect 24 0 22 0; +#X connect 25 0 23 0; +#X connect 26 0 13 0; +#X connect 26 1 18 0; +#X connect 26 2 25 0; +#X connect 27 0 28 0; +#X connect 28 0 47 0; +#X connect 29 0 47 0; +#X connect 30 0 29 0; +#X connect 31 0 26 0; +#X connect 32 0 12 1; +#X connect 32 0 27 3; +#X connect 32 0 15 1; +#X connect 32 0 22 1; +#X connect 33 0 34 0; +#X connect 34 0 9 0; +#X connect 34 1 6 0; +#X connect 35 0 30 0; +#X connect 36 0 27 0; +#X connect 37 0 27 1; +#X connect 38 0 27 2; +#X connect 39 0 40 0; +#X connect 39 1 41 0; +#X connect 39 2 42 0; +#X connect 40 0 44 0; +#X connect 41 0 45 0; +#X connect 42 0 46 0; +#X connect 43 0 5 0; +#X connect 44 0 43 0; +#X connect 45 0 43 1; +#X connect 46 0 43 2; +#X connect 47 0 5 0; +#X connect 47 1 39 0; +#X connect 48 0 49 0; +#X connect 49 0 51 0; +#X connect 50 0 47 1; +#X connect 51 0 50 0; +#X connect 51 1 50 0; +#X connect 51 2 50 0; diff --git a/convert.int2ascii-help.pd b/convert.int2ascii-help.pd new file mode 100644 index 0000000..94b0e42 --- /dev/null +++ b/convert.int2ascii-help.pd @@ -0,0 +1,10 @@ +#N canvas 449 655 450 300 10; +#X msg 46 70 97 32 98 32 99; +#X msg 61 92 97 0 98 0 99; +#X obj 46 200 print MSG; +#X obj 46 156 convert.int2ascii; +#X text 38 25 Description: convert lists of integers to an ascii message +; +#X connect 0 0 3 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; diff --git a/convert.int2ascii.pd b/convert.int2ascii.pd new file mode 100644 index 0000000..a56a1e2 --- /dev/null +++ b/convert.int2ascii.pd @@ -0,0 +1,8 @@ +#N canvas 511 199 450 300 10; +#X obj 81 9 inlet; +#X obj 81 198 outlet; +#X obj 81 63 list.trim; +#X obj 81 116 moocow/string2any; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; diff --git a/convert.int2digits-help.pd b/convert.int2digits-help.pd new file mode 100644 index 0000000..b0903a3 --- /dev/null +++ b/convert.int2digits-help.pd @@ -0,0 +1,13 @@ +#N canvas 1627 295 579 463 10; +#X obj 108 256 convert.int2digits; +#X msg 98 160 123; +#X obj 94 331 print digit_list; +#X floatatom 244 292 5 0 0 1 number_of_digits - -; +#X msg 154 179 563427; +#X text 230 179 <- decimals are ignored; +#X text 97 30 Description: Converts a number to a list of digits. Decimals +are ignored.; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; +#X connect 4 0 0 0; diff --git a/convert.int2digits.pd b/convert.int2digits.pd new file mode 100644 index 0000000..cedc5b4 --- /dev/null +++ b/convert.int2digits.pd @@ -0,0 +1,23 @@ +#N canvas 1454 258 1013 616 10; +#X obj 495 97 mod 10; +#X obj 415 137 t f f; +#X obj 384 215 div 10; +#X obj 417 252 sel 0; +#X obj 347 41 inlet; +#X obj 411 438 outlet; +#X obj 527 438 outlet; +#X obj 347 77 route float; +#X msg 587 355 0; +#X obj 417 337 list.build prepend; +#X connect 0 0 9 1; +#X connect 1 0 2 0; +#X connect 1 1 0 0; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 3 1 1 0; +#X connect 4 0 7 0; +#X connect 7 0 1 0; +#X connect 7 1 8 0; +#X connect 8 0 6 0; +#X connect 9 0 5 0; +#X connect 9 1 6 0; diff --git a/convert.lightfreq2wave-help.pd b/convert.lightfreq2wave-help.pd new file mode 100644 index 0000000..c42e4f0 --- /dev/null +++ b/convert.lightfreq2wave-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X text 60 39 Light : Frequency (Hz) to wave length (m); +#X obj 143 136 convert.lightfreq2wave; +#X floatatom 134 210 15 0 0 0 - - -; +#X floatatom 145 92 15 0 0 0 - - -; +#X connect 1 0 2 0; +#X connect 3 0 1 0; diff --git a/convert.lightfreq2wave.pd b/convert.lightfreq2wave.pd new file mode 100644 index 0000000..7253495 --- /dev/null +++ b/convert.lightfreq2wave.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 409 345 10; +#X obj 88 81 inlet; +#X obj 95 248 outlet; +#X obj 94 187 / 3e+08; +#X text 60 39 Light : Frequency (Hz) to wave length (m); +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/convert.lightwave2freq-help.pd b/convert.lightwave2freq-help.pd new file mode 100644 index 0000000..ba8d759 --- /dev/null +++ b/convert.lightwave2freq-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X obj 111 124 convert.lightwave2freq; +#X floatatom 113 47 5 0 0 0 - - -; +#X floatatom 115 196 5 0 0 0 - - -; +#X text 103 14 Light : Wave length (m) to frequency (Hz); +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/convert.lightwave2freq.pd b/convert.lightwave2freq.pd new file mode 100644 index 0000000..665ba03 --- /dev/null +++ b/convert.lightwave2freq.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X obj 125 70 inlet; +#X obj 131 176 /; +#X msg 132 127 3e+08 \$1; +#X obj 132 237 outlet; +#X text 82 26 Light : Wave length (m) to frequency (Hz); +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; diff --git a/convert.list2symbol-help.pd b/convert.list2symbol-help.pd new file mode 100644 index 0000000..8987e5b --- /dev/null +++ b/convert.list2symbol-help.pd @@ -0,0 +1,45 @@ +#N canvas 1333 204 903 607 10; +#X text 62 27 Description: Converts a list to a symbol.; +#X text 63 50 Comments: Wraps list2symbol (zexy).; +#X msg 72 129 list this was a list and is now a symbol; +#X msg 156 150 anythings work fine too; +#X obj 71 326 print; +#X msg 562 30 /; +#X msg 562 51 space; +#X msg 562 72 @; +#X msg 562 93 :; +#X msg 562 115 2; +#X msg 562 137 $; +#X msg 562 158 z; +#X msg 563 179 _; +#X msg 562 200 .; +#X msg 563 222 bang; +#X msg 603 222 none; +#X text 542 8 -- separators --; +#X text 642 222 no separator; +#X obj 71 268 convert.list2symbol; +#X msg 563 255 backslash; +#X msg 563 274 leftbrace; +#X msg 563 293 rightbrace; +#X msg 563 312 dollar; +#X msg 563 331 comma; +#X msg 564 350 semi; +#X connect 2 0 18 0; +#X connect 3 0 18 0; +#X connect 5 0 18 1; +#X connect 6 0 18 1; +#X connect 7 0 18 1; +#X connect 8 0 18 1; +#X connect 9 0 18 1; +#X connect 10 0 18 1; +#X connect 11 0 18 1; +#X connect 12 0 18 1; +#X connect 13 0 18 1; +#X connect 14 0 18 1; +#X connect 18 0 4 0; +#X connect 19 0 18 1; +#X connect 20 0 18 1; +#X connect 21 0 18 1; +#X connect 22 0 18 1; +#X connect 23 0 18 1; +#X connect 24 0 18 1; diff --git a/convert.list2symbol.pd b/convert.list2symbol.pd new file mode 100644 index 0000000..dbb4c55 --- /dev/null +++ b/convert.list2symbol.pd @@ -0,0 +1,30 @@ +#N canvas 1645 403 830 536 10; +#X obj 87 19 inlet; +#X obj 177 179 list; +#X obj 94 502 outlet; +#X obj 306 12 inlet; +#X text 184 47 zexy; +#X obj 434 10 loadbang; +#X obj 434 35 dollarg; +#X obj 433 60 list trim; +#X msg 248 148 separator; +#X obj 368 129 list prepend separator; +#X obj 267 95 route bang none; +#X obj 367 154 list trim; +#X obj 177 267 mergefilename space; +#X obj 94 147 relay symbol; +#X connect 0 0 13 0; +#X connect 1 0 12 0; +#X connect 3 0 10 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 8 0 12 0; +#X connect 9 0 11 0; +#X connect 10 0 8 0; +#X connect 10 1 8 0; +#X connect 10 2 9 0; +#X connect 11 0 12 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 13 1 1 0; diff --git a/convert.m2speed-help.pd b/convert.m2speed-help.pd new file mode 100644 index 0000000..534b68f --- /dev/null +++ b/convert.m2speed-help.pd @@ -0,0 +1,19 @@ +#N canvas 375 105 499 499 10; +#X msg 268 225 60; +#X floatatom 67 238 5 0 0 0 - - -; +#X msg 300 225 72; +#X text 50 213 Current note; +#X floatatom 126 376 5 0 0 0 - - -; +#X obj 144 310 convert.m2speed 72; +#X text 160 376 Play speed ratio (on 1); +#X text 20 46 convert.m2speed; +#X text 277 195 MIDI base note; +#X text 15 166 Argument : the MIDI base note of the original sound. +; +#X text 19 73 Description: Converts a MIDI note to the speed you must +play the sample.; +#X text 18 105 Comments: The default MIDI base note is 60; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 2 0 5 1; +#X connect 5 0 4 0; diff --git a/convert.m2speed.pd b/convert.m2speed.pd new file mode 100644 index 0000000..2a5d573 --- /dev/null +++ b/convert.m2speed.pd @@ -0,0 +1,17 @@ +#N canvas 35 267 418 364 10; +#X obj 86 44 inlet; +#X obj 229 73 inlet; +#X obj 116 181 mtof; +#X obj 195 183 mtof; +#X obj 158 236 /; +#X obj 168 290 outlet; +#X obj 105 90 t f b; +#X obj 220 141 f 60; +#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 4 0 5 0; +#X connect 6 0 2 0; +#X connect 6 1 7 0; +#X connect 7 0 3 0; diff --git a/convert.ms2bpm-help.pd b/convert.ms2bpm-help.pd new file mode 100644 index 0000000..828c43e --- /dev/null +++ b/convert.ms2bpm-help.pd @@ -0,0 +1,20 @@ +#N canvas 383 292 456 306 10; +#X obj 113 104 loadbang; +#X obj 105 130 metro 500; +#X floatatom 105 266 5 0 0 0 - - -; +#X obj 70 111 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 104 180 timer; +#X obj 107 154 t b b; +#X obj 106 230 convert.ms2bpm; +#X text 23 45 Description: Converts a millisecond interval to beats +per minute.; +#X floatatom 106 213 5 0 0 0 - - -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 3 0 1 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 2 0; +#X connect 8 0 6 0; diff --git a/convert.ms2bpm.pd b/convert.ms2bpm.pd new file mode 100644 index 0000000..8fbfc00 --- /dev/null +++ b/convert.ms2bpm.pd @@ -0,0 +1,11 @@ +#N canvas 134 284 456 306 10; +#X obj 106 76 inlet; +#X obj 106 125 /; +#X obj 106 151 * 60; +#X msg 106 102 1000 \$1; +#X obj 106 185 outlet; +#X text 59 47 Milliseconds between 2 beats to bpm conversion; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; diff --git a/convert.ms2fps-help.pd b/convert.ms2fps-help.pd new file mode 100644 index 0000000..e483f2c --- /dev/null +++ b/convert.ms2fps-help.pd @@ -0,0 +1,14 @@ +#N canvas 467 346 492 295 10; +#X obj 90 177 convert.ms2fps; +#X floatatom 97 143 5 0 0 0 - - -; +#X floatatom 87 229 5 0 0 0 - - -; +#X text 33 20 Description: Converts the amount of miliseconds between +two frames into the numbers of frames per seconds.; +#X text 146 143 ms; +#X text 130 230 fps; +#X msg 99 63 50; +#X text 147 64 20 fps in the default Gem rate. It takes 50 ms between +each frame.; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 6 0 1 0; diff --git a/convert.ms2fps.pd b/convert.ms2fps.pd new file mode 100644 index 0000000..28a31f8 --- /dev/null +++ b/convert.ms2fps.pd @@ -0,0 +1,8 @@ +#N canvas 195 357 324 250 10; +#X obj 137 77 inlet; +#X obj 136 161 /; +#X msg 141 122 1000 \$1; +#X obj 134 197 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; diff --git a/convert.ms2freq-help.pd b/convert.ms2freq-help.pd new file mode 100644 index 0000000..4942105 --- /dev/null +++ b/convert.ms2freq-help.pd @@ -0,0 +1,10 @@ +#N canvas 363 333 727 456 12; +#X floatatom 125 113 5 0 0 0 - - -; +#X floatatom 120 190 5 0 0 0 - - -; +#X text 180 108 Interval in milliseconds; +#X text 169 190 Frequency; +#X obj 120 154 convert.ms2freq; +#X text 23 45 Description: Converts a millisecond interval to a frequency. +; +#X connect 0 0 4 0; +#X connect 4 0 1 0; diff --git a/convert.ms2freq.pd b/convert.ms2freq.pd new file mode 100644 index 0000000..636dfc1 --- /dev/null +++ b/convert.ms2freq.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 452 302 12; +#X obj 153 46 inlet; +#X obj 161 144 /; +#X msg 156 98 1000 \$1; +#X obj 161 204 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; diff --git a/convert.ms2smp-help.pd b/convert.ms2smp-help.pd new file mode 100644 index 0000000..a60e1bb --- /dev/null +++ b/convert.ms2smp-help.pd @@ -0,0 +1,10 @@ +#N canvas 120 81 619 299 12; +#X floatatom 136 109 5 0 0 0 - - -; +#X floatatom 136 187 5 0 0 0 - - -; +#X text 187 107 Length in milliseconds; +#X text 187 192 Number of samples; +#X obj 136 148 convert.ms2smp; +#X text 23 45 Description: Converts a millisecond interval to a it's +corresponding number of samples.; +#X connect 0 0 4 0; +#X connect 4 0 1 0; diff --git a/convert.ms2smp.pd b/convert.ms2smp.pd new file mode 100644 index 0000000..c8297ac --- /dev/null +++ b/convert.ms2smp.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 452 302 10; +#X obj 31 46 inlet; +#X obj 187 55 loadbang; +#X obj 132 110 samplerate~; +#X obj 53 266 outlet; +#X obj 135 136 / 1000; +#X obj 52 204 * 44.1; +#X obj 52 83 t f b; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 4 0 5 1; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 2 0; diff --git a/convert.ms2time-help.pd b/convert.ms2time-help.pd new file mode 100644 index 0000000..dbc6fe6 --- /dev/null +++ b/convert.ms2time-help.pd @@ -0,0 +1,24 @@ +#N canvas 380 290 576 396 10; +#X obj 138 220 timer; +#X obj 163 162 loadbang; +#X floatatom 138 247 10 0 0 0 - - -; +#X obj 163 186 metro 50; +#X floatatom 138 372 5 0 0 0 - - -; +#X floatatom 156 350 5 0 0 0 - - -; +#X floatatom 203 326 5 0 0 0 - - -; +#X text 238 324 seconds; +#X text 193 350 minutes; +#X text 175 372 hours; +#X floatatom 240 300 5 0 0 0 - - -; +#X text 277 297 msec; +#X obj 138 279 convert.ms2time; +#X text 83 57 Description: Converts a millisecond duration to a easier +read format.; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 12 0; +#X connect 3 0 0 1; +#X connect 12 0 4 0; +#X connect 12 1 5 0; +#X connect 12 2 6 0; +#X connect 12 3 10 0; diff --git a/convert.ms2time.pd b/convert.ms2time.pd new file mode 100644 index 0000000..9ac3bb1 --- /dev/null +++ b/convert.ms2time.pd @@ -0,0 +1,30 @@ +#N canvas 385 294 1008 686 10; +#X obj 127 14 inlet; +#X obj 100 223 outlet; +#X obj 177 222 outlet; +#X obj 245 224 outlet; +#X obj 121 127 / 60000; +#X obj 207 127 / 1000; +#X obj 124 148 int; +#X obj 207 147 int; +#X obj 207 170 mod 60; +#X obj 141 180 mod 60; +#X obj 33 131 / 3.6e+006; +#X obj 45 159 int; +#X obj 297 166 mod 1000; +#X obj 156 72 t f f f f; +#X obj 317 225 outlet; +#X connect 0 0 13 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 8 0 3 0; +#X connect 9 0 2 0; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 12 0 14 0; +#X connect 13 0 10 0; +#X connect 13 1 4 0; +#X connect 13 2 5 0; +#X connect 13 3 12 0; diff --git a/convert.num2rgb-help.pd b/convert.num2rgb-help.pd new file mode 100644 index 0000000..27fb966 --- /dev/null +++ b/convert.num2rgb-help.pd @@ -0,0 +1,23 @@ +#N canvas 180 227 727 411 10; +#X obj 308 99 cnv 15 250 60 empty can empty 20 12 0 14 -292 -262144 +0; +#X msg 91 286 \; can color \$1; +#X obj 226 297 convert.num2rgb; +#X floatatom 230 167 5 1 13000 0 - - -; +#X obj 230 202 * -125; +#X floatatom 226 245 10 0 0 0 - - -; +#X text 304 244 Pd color; +#X obj 226 349 print float_RGB; +#X obj 424 346 print 8bit_RGB; +#X text 26 15 Description: Converts a pd color value into float RGB +and 8bit RGB.; +#X obj 423 307 convert.num2rgb 8bit; +#X obj 567 284 convert.num2rgb int; +#X obj 570 307 convert.num2rgb integer; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 5 0 10 0; +#X connect 10 0 8 0; diff --git a/convert.num2rgb.pd b/convert.num2rgb.pd new file mode 100644 index 0000000..def9ea1 --- /dev/null +++ b/convert.num2rgb.pd @@ -0,0 +1,60 @@ +#N canvas 170 156 981 783 10; +#X obj 468 98 inlet; +#X obj 468 168 t f f f; +#X obj 477 247 -; +#X obj 553 208 mod 256; +#X obj 495 327 / 256; +#X obj 566 394 + 255; +#X obj 554 268 * -1; +#X obj 381 296 * -1; +#X obj 489 378 + 255; +#X obj 497 350 * -1; +#X obj 544 234 t f f; +#X obj 388 335 int; +#X obj 461 284 mod 65536; +#X obj 382 228 / 65537; +#X obj 396 742 outlet float; +#X obj 425 471 pack f f f; +#X obj 238 561 unpack f f f; +#X obj 279 645 pack f f f; +#X obj 391 505 demultiplex 0 1; +#X obj 967 286 loadbang; +#X obj 967 315 dollarg; +#X msg 1037 375 1; +#X obj 965 343 sel 8bit int integer; +#X obj 235 592 / 255; +#X obj 283 591 / 255; +#X obj 350 592 / 255; +#X connect 0 0 1 0; +#X connect 1 0 13 0; +#X connect 1 1 2 0; +#X connect 1 2 3 0; +#X connect 2 0 12 0; +#X connect 3 0 10 0; +#X connect 4 0 9 0; +#X connect 5 0 15 2; +#X connect 6 0 5 0; +#X connect 7 0 11 0; +#X connect 8 0 15 1; +#X connect 9 0 8 0; +#X connect 10 0 6 0; +#X connect 10 1 2 1; +#X connect 11 0 15 0; +#X connect 12 0 4 0; +#X connect 13 0 7 0; +#X connect 15 0 18 0; +#X connect 16 0 23 0; +#X connect 16 1 24 0; +#X connect 16 2 25 0; +#X connect 17 0 14 0; +#X connect 18 0 16 0; +#X connect 18 1 14 0; +#X connect 19 0 20 0; +#X connect 20 0 22 0; +#X connect 21 0 18 1; +#X connect 22 0 21 0; +#X connect 22 1 21 0; +#X connect 22 2 21 0; +#X connect 23 0 17 0; +#X connect 24 0 17 1; +#X connect 25 0 17 2; diff --git a/convert.pd2ascii-help.pd b/convert.pd2ascii-help.pd new file mode 100644 index 0000000..423a3a7 --- /dev/null +++ b/convert.pd2ascii-help.pd @@ -0,0 +1,101 @@ +#N canvas 104 52 1066 797 10; +#X obj 5 311 print ascii_codes; +#X obj 153 312 print ERROR; +#X text 142 90 <-- spaces are treated (ascii code 32); +#X msg 105 155 CR; +#X text 135 156 <-- cariage return; +#X msg 113 182 LF CR; +#X msg 116 213 SPACE; +#X text 156 213 <-- space character; +#X obj 12 -91 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 576 -125 cnv 15 15 15 empty empty empty 20 12 0 14 -128992 -66577 +0; +#X obj 579 46 cnv 15 15 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 580 71 cnv 15 15 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 601 69 OUTLET 2: Outputs errors.; +#X text 601 44 OUTLET 1: Outputs ascii codes.; +#X text 32 -92 Mode 0 converts pd atoms (floats \, lists and symbols) +into ascii codes (integers). You can also use special characters (carriage +return \, line feed \, spaces \, etc...) with the 2nd "special character" +inlet).; +#X obj 10 -28 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 69 48 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0; +#X obj 13 -174 cnv 15 15 15 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 78 357 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 579 19 cnv 15 15 15 empty empty empty 20 12 0 14 -128992 -66577 +0; +#X obj 3 613 print ascii_codes; +#X obj 143 613 print ERROR; +#X msg 133 444 COMMA; +#X text 31 -174 Argument 1 determines the mode:; +#X text 28 -129 - Any special character (see list below) selects message +mode with that special character as an "end of message".; +#X text 597 21 INLET 2: Change mode.; +#X text 589 -69 - A "bang" will output a carriage return (code 13/special +character CR) by default or the selected "end of messsage" special +character.; +#X text 590 -102 - If a float \, list or symbol is sent \, pd2ascii +will convert it to it's ascii code(s).; +#X text 595 -127 INLET 1:; +#X text 589 -22 - pd2ascii will try to convert any other type to a +special character.; +#X obj 642 102 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X msg 19 90 list hello world; +#X text 65 58 Mode 0 does not append any special characters; +#X text 646 160 CR: carriage return/code 13; +#X text 645 176 SPACE: space/code 32; +#X text 647 192 LF: line feed/code 10; +#X text 647 209 NULL: code 0; +#X msg 13 420 list hello world; +#X text 139 420 Note that a 13 (CR) is appended at the end of the output. +; +#X text 180 447 13 (CR) is not appended to special characters.; +#X msg 134 472 SPACE; +#X text 40 371 Message mode appends the selected "end of messsage" +special character; +#X text 174 533 The selected "end of message" special character is +a carriage return (CR/code 13).; +#X text 153 181 <-- cariage return + line feed (spaces are ignored +for special characters); +#X msg 56 117 1024; +#X text 95 117 <-- converts this float to it's ascii codes (49 48 50 +52); +#X msg 146 502 LF; +#X text 175 503 Inlet 2 changes the "end of message" special character. +; +#X text 587 133 Common special characters:; +#X obj 643 249 cnv 5 300 5 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X text 588 279 See "ascii4pd.txt for the whole list of special characters" +; +#X obj 576 -158 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 +0; +#X text 596 -159 version 3; +#X text 14 -203 Description: Converts a pd message into an ASCII stream. +; +#X obj 46 256 convert.pd2ascii; +#X obj 29 534 convert.pd2ascii CR; +#X text 27 -151 - 0 or no argument selects mode 0; +#X text 32 -31 Message mode is equivalent to mode 0 but automatically +adds an "end of message" special character (determined by arg 1) at +the end of the ASCII stream.; +#X connect 3 0 54 0; +#X connect 5 0 54 0; +#X connect 6 0 54 0; +#X connect 22 0 55 0; +#X connect 31 0 54 0; +#X connect 37 0 55 0; +#X connect 40 0 55 0; +#X connect 44 0 54 0; +#X connect 46 0 55 1; +#X connect 54 0 0 0; +#X connect 54 1 1 0; +#X connect 55 0 20 0; +#X connect 55 1 21 0; diff --git a/convert.pd2ascii.pd b/convert.pd2ascii.pd new file mode 100644 index 0000000..43d7d88 --- /dev/null +++ b/convert.pd2ascii.pd @@ -0,0 +1,399 @@ +#N canvas 0 0 1247 910 10; +#X obj 663 477 coll; +#C flags 1 0; +#C store NULL 0; +#C store SOH 1; +#C store STX 2; +#C store ETX 3; +#C store EOT 4; +#C store ENQ 5; +#C store ACK 6; +#C store BEL 7; +#C store BS 8; +#C store HT 9; +#C store LF 10; +#C store VT 11; +#C store FF 12; +#C store CR 13; +#C store SO 14; +#C store SI 15; +#C store DLE 16; +#C store DC1 17; +#C store DC2 18; +#C store DC3 19; +#C store DC4 20; +#C store NAK 21; +#C store SYN 22; +#C store ETB 23; +#C store CAN 24; +#C store EM 25; +#C store SUB 26; +#C store ESC 27; +#C store FS 28; +#C store GS 29; +#C store RS 30; +#C store US 31; +#C store SPACE 32; +#C store ! 33; +#C store " 34; +#C store # 35; +#C store $ 36; +#C 0 48; +#C store % 37; +#C store & 38; +#C store ' 39; +#C store ( 40; +#C store ) 41; +#C store * 42; +#C store + 43; +#C store COMMA 44; +#C store - 45; +#C store . 46; +#C store / 47; +#C 1 49; +#C 2 50; +#C 3 51; +#C 4 52; +#C 5 53; +#C 6 54; +#C 7 55; +#C 8 56; +#C 9 57; +#C store : 58; +#C store SC 59; +#C store < 60; +#C store = 61; +#C store > 62; +#C store ? 63; +#C store @ 64; +#C store A 65; +#C store B 66; +#C store C 67; +#C store D 68; +#C store E 69; +#C store F 70; +#C store G 71; +#C store H 72; +#C store I 73; +#C store J 74; +#C store K 75; +#C store L 76; +#C store M 77; +#C store N 78; +#C store O 79; +#C store P 80; +#C store Q 81; +#C store R 82; +#C store S 83; +#C store T 84; +#C store U 85; +#C store V 86; +#C store W 87; +#C store X 88; +#C store Y 89; +#C store Z 90; +#C store [ 91; +#C store BKSL 92; +#C store ] 93; +#C store ^ 94; +#C store _ 95; +#C store ` 96; +#C store a 97; +#C store b 98; +#C store c 99; +#C store d 100; +#C store e 101; +#C store f 102; +#C store g 103; +#C store h 104; +#C store i 105; +#C store j 106; +#C store k 107; +#C store l 108; +#C store m 109; +#C store n 110; +#C store o 111; +#C store p 112; +#C store q 113; +#C store r 114; +#C store s 115; +#C store t 116; +#C store u 117; +#C store v 118; +#C store w 119; +#C store x 120; +#C store y 121; +#C store z 122; +#C store LCB 123; +#C store | 124; +#C store RCB 125; +#C store ~ 126; +#C store DEL 127; +#C restore; +#N canvas 0 0 1008 714 loadasciidata 0; +#X obj 104 320 textfile; +#X msg 232 332 bang; +#X msg 262 426 rewind; +#X obj 308 200 until; +#X msg 309 166 128; +#X obj 434 93 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 332 139 t b b b b b; +#X msg 435 186 0; +#X msg 404 290 read ascii4pd.txt; +#X obj 84 565 list trim; +#X msg 451 363 clear; +#X obj 337 84 inlet; +#X obj 168 687 outlet; +#X obj 404 479 f; +#X obj 410 522 t f f; +#X obj 440 551 + 1; +#X obj 131 432 t a b; +#X obj 83 506 list prepend store; +#X obj 107 480 list append; +#X obj 59 398 route special; +#X connect 0 0 19 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 1 2 0; +#X connect 6 2 8 0; +#X connect 6 3 10 0; +#X connect 6 4 7 0; +#X connect 7 0 13 1; +#X connect 8 0 0 0; +#X connect 9 0 12 0; +#X connect 10 0 12 0; +#X connect 11 0 6 0; +#X connect 13 0 14 0; +#X connect 14 0 18 1; +#X connect 14 1 15 0; +#X connect 15 0 13 1; +#X connect 16 0 18 0; +#X connect 16 1 13 0; +#X connect 17 0 9 0; +#X connect 18 0 17 0; +#X connect 19 0 16 0; +#X connect 19 1 16 0; +#X restore 262 360 pd loadasciidata; +#X obj 262 312 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 525 -107 inlet normal; +#N canvas 0 0 458 308 list-serialize 0; +#X obj 165 226 symbol2list; +#X obj 165 161 t a b; +#X msg 226 178 symbol; +#N canvas 0 0 462 312 list-dripslow2 0; +#X obj 87 232 list split 1; +#X obj 87 207 list append; +#X obj 87 283 outlet; +#X obj 78 79 inlet; +#X obj 166 283 outlet; +#X obj 159 81 inlet; +#X obj 87 118 b; +#X text 202 82 list; +#X text 42 83 bang; +#X text 210 283 EOL; +#X text 28 282 element; +#X obj 166 253 b; +#X obj 306 288 outlet; +#X obj 232 200 t a b; +#X obj 287 266 spigot; +#X text 346 287 space; +#X obj 102 260 t a b; +#X obj 182 135 t a b; +#X msg 272 155 0; +#X msg 224 257 1; +#X connect 0 0 16 0; +#X connect 0 1 13 0; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 3 0 6 0; +#X connect 5 0 17 0; +#X connect 6 0 1 0; +#X connect 11 0 4 0; +#X connect 13 0 1 1; +#X connect 13 1 14 0; +#X connect 14 0 12 0; +#X connect 16 0 2 0; +#X connect 16 1 19 0; +#X connect 17 0 1 1; +#X connect 17 1 18 0; +#X connect 18 0 14 1; +#X connect 19 0 14 1; +#X restore 212 74 pd list-dripslow2; +#X msg 287 3 list +++ 123; +#X obj 165 135 makesymbol %s; +#X obj 215 -9 inlet; +#X obj 159 364 outlet; +#X obj 385 331 outlet; +#X obj 272 362 outlet; +#N canvas 0 0 466 316 list-dripslow 0; +#X obj 87 232 list split 1; +#X obj 87 207 list append; +#X obj 87 283 outlet; +#X obj 78 79 inlet; +#X obj 166 283 outlet; +#X obj 159 81 inlet; +#X obj 87 118 b; +#X text 202 82 list; +#X text 42 83 bang; +#X text 210 283 EOL; +#X text 28 282 element; +#X obj 166 253 b; +#X obj 102 260 t a b; +#X connect 0 0 12 0; +#X connect 0 1 1 1; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 3 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 1 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X restore 156 279 pd list-dripslow; +#X obj 212 34 t b a; +#X obj 172 97 t b a; +#X obj 176 254 t b a; +#X obj 114 309 t b a; +#X connect 0 0 13 0; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 2 0 0 1; +#X connect 3 0 12 0; +#X connect 3 1 9 0; +#X connect 3 2 8 0; +#X connect 4 0 11 0; +#X connect 5 0 1 0; +#X connect 6 0 11 0; +#X connect 10 0 14 0; +#X connect 11 0 3 0; +#X connect 11 1 3 1; +#X connect 12 0 3 0; +#X connect 12 1 5 0; +#X connect 13 0 10 0; +#X connect 13 1 10 1; +#X connect 14 0 10 0; +#X connect 14 1 7 0; +#X restore 539 192 pd list-serialize; +#X msg 881 193 32; +#X obj 848 646 outlet ERROR; +#N canvas 0 0 466 316 list-dripslow 0; +#X obj 87 232 list split 1; +#X obj 87 207 list append; +#X obj 87 283 outlet; +#X obj 78 79 inlet; +#X obj 166 283 outlet; +#X obj 159 81 inlet; +#X obj 87 118 b; +#X text 202 82 list; +#X text 42 83 bang; +#X text 210 283 EOL; +#X text 28 282 element; +#X obj 166 253 b; +#X obj 102 260 t a b; +#X connect 0 0 12 0; +#X connect 0 1 1 1; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 3 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 1 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X restore 971 217 pd list-dripslow; +#X obj 991 192 t b a; +#X obj 929 247 t b a; +#X obj 684 647 outlet ascii_code; +#X msg 659 426 \$1; +#X obj 956 546 list; +#X obj 799 493 spigot; +#X msg 741 422 1; +#X obj 661 524 t a b; +#X msg 735 553 0; +#X obj 682 388 t b a b a; +#X obj 621 108 t b a; +#X obj 543 64 demultiplex 0 1; +#X obj 1117 -65 inlet mode; +#X obj 284 -78 cnv 15 15 15 empty empty empty 20 12 0 14 -1 -66577 +0; +#X obj 537 -77 route bang list symbol float; +#X obj 954 589 t l l; +#X obj 1014 649 print ERROR; +#X msg 1015 614 pd2ascii does not understand \$1; +#X obj 726 -37 route code; +#X obj 451 273 drip; +#X obj 905 -29 loadbang; +#N canvas 0 0 797 556 emptyarg 0; +#X obj 57 126 symbol \$1; +#X obj 80 189 sel symbol; +#X obj 46 75 t b b; +#X msg 143 131 symbol; +#X obj 38 48 inlet; +#X obj 82 285 outlet; +#X obj 166 303 outlet; +#X obj 313 44 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 6 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 1 1; +#X connect 4 0 2 0; +#X connect 7 0 0 0; +#X restore 918 16 pd emptyarg; +#X msg 916 42 0; +#X obj 829 119 symbol CR; +#X obj 999 63 t b s; +#X msg 976 87 1; +#X text 301 -80 version 3; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 22 0; +#X connect 4 0 17 0; +#X connect 4 2 5 0; +#X connect 5 0 10 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 7 0; +#X connect 9 1 17 0; +#X connect 11 0 0 0; +#X connect 12 0 23 0; +#X connect 13 0 12 0; +#X connect 14 0 13 1; +#X connect 15 0 10 0; +#X connect 15 1 16 0; +#X connect 16 0 13 1; +#X connect 17 0 13 0; +#X connect 17 1 11 0; +#X connect 17 2 14 0; +#X connect 17 3 12 1; +#X connect 18 0 31 0; +#X connect 18 1 4 0; +#X connect 19 0 4 0; +#X connect 19 1 18 0; +#X connect 20 0 29 1; +#X connect 22 0 31 0; +#X connect 22 1 19 0; +#X connect 22 2 19 0; +#X connect 22 3 19 0; +#X connect 22 4 26 0; +#X connect 23 0 6 0; +#X connect 23 1 25 0; +#X connect 25 0 24 0; +#X connect 26 0 27 0; +#X connect 26 1 8 0; +#X connect 27 0 10 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 29 1 32 0; +#X connect 30 0 19 1; +#X connect 31 0 8 0; +#X connect 32 0 33 0; +#X connect 32 1 31 1; +#X connect 33 0 19 1; diff --git a/convert.radian2degree-help.pd b/convert.radian2degree-help.pd new file mode 100644 index 0000000..b745455 --- /dev/null +++ b/convert.radian2degree-help.pd @@ -0,0 +1,14 @@ +#N canvas 441 378 448 298 10; +#X obj 15 21 convert.radian2degree; +#X floatatom 32 113 5 0 0 0 - - -; +#X obj 32 163 convert.radian2degree; +#X obj 92 132 number.pi; +#X obj 92 108 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 32 213 0 0 0 0 - - -; +#X text 14 46 Description: Converts radians into degrees.; +#X text 256 253 Version: 2007-12-09; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; diff --git a/convert.radian2degree.pd b/convert.radian2degree.pd new file mode 100644 index 0000000..2f72e62 --- /dev/null +++ b/convert.radian2degree.pd @@ -0,0 +1,13 @@ +#N canvas 533 532 299 207 10; +#X obj 44 41 inlet; +#X obj 44 155 outlet; +#X obj 97 55 loadbang; +#X obj 97 75 number.pi; +#X obj 44 104 /; +#X obj 44 130 * 180; +#X text 118 142 Version 2007-12-09; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; +#X connect 4 0 5 0; +#X connect 5 0 1 0; diff --git a/convert.rgb2hsv-help.pd b/convert.rgb2hsv-help.pd new file mode 100644 index 0000000..9249e89 --- /dev/null +++ b/convert.rgb2hsv-help.pd @@ -0,0 +1,30 @@ +#N canvas 359 28 673 625 10; +#X obj 285 439 input.hsv_; +#X text 26 30 Description: Convert float RGB or 8bit RGB to float HSV. +; +#X text 209 360 outlet: float HSV; +#X text 479 359 outlet: float HSV; +#X obj 468 332 convert.rgb2hsv int; +#X obj 169 337 convert.rgb2hsv; +#X obj 169 190 input.color.grid_; +#X obj 407 227 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 120 256; +#X obj 472 230 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 17 256; +#X obj 549 232 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 10 256; +#X obj 465 257 t b f; +#X obj 519 258 t b f; +#X obj 470 299 pack f f f; +#X text 462 206 8bit_RGB input; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 7 0 12 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 12 0; +#X connect 10 1 12 1; +#X connect 11 0 12 0; +#X connect 11 1 12 2; +#X connect 12 0 4 0; diff --git a/convert.rgb2hsv.pd b/convert.rgb2hsv.pd new file mode 100644 index 0000000..3e1f163 --- /dev/null +++ b/convert.rgb2hsv.pd @@ -0,0 +1,326 @@ +#N canvas 359 28 689 725 10; +#X obj 249 303 unpack 0 0 0; +#X obj 196 529 pack 0 0 0; +#X obj 186 142 t f f; +#X obj 186 163 t f f; +#X obj 186 185 -; +#X obj 186 224 /; +#X obj 186 244 t f f; +#X obj 145 266 select 0; +#X msg 145 286 0; +#X obj 186 204 t f f; +#N canvas 0 0 450 515 sort3 0; +#X obj 55 109 inlet; +#X obj 55 375 outlet; +#X obj 205 375 outlet; +#X obj 55 313 unpack; +#X obj 105 313 unpack; +#X obj 155 313 unpack; +#X msg 55 156 \$1 0; +#X msg 97 155 \$1 1; +#X msg 145 156 \$1 2; +#X obj 55 132 unpack 0 0 0; +#X obj 55 352 pack 0 0 0; +#X obj 205 352 pack 0 0 0; +#N canvas 0 0 489 412 sort_header 0; +#X obj 67 27 inlet; +#X obj 67 318 outlet; +#X obj 212 318 outlet; +#X obj 67 79 t f l; +#X obj 157 27 inlet; +#X obj 157 79 t f l; +#X obj 67 119 >; +#X obj 67 149 select 0 1; +#X obj 67 181 t b b; +#X obj 227 175 t b b; +#X obj 67 291 pack; +#X obj 83 250 unpack; +#X obj 67 271 f; +#X obj 117 291 pack; +#X obj 133 250 unpack; +#X obj 117 271 f; +#X obj 227 291 pack; +#X obj 243 250 unpack; +#X obj 227 271 f; +#X obj 277 291 pack; +#X obj 293 250 unpack; +#X obj 277 271 f; +#X connect 0 0 3 0; +#X connect 3 0 6 0; +#X connect 3 1 11 0; +#X connect 3 1 20 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 5 1 14 0; +#X connect 5 1 17 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 12 0; +#X connect 8 1 15 0; +#X connect 9 0 18 0; +#X connect 9 1 21 0; +#X connect 10 0 1 0; +#X connect 11 0 12 1; +#X connect 11 1 10 1; +#X connect 12 0 10 0; +#X connect 13 0 2 0; +#X connect 14 0 15 1; +#X connect 14 1 13 1; +#X connect 15 0 13 0; +#X connect 16 0 1 0; +#X connect 17 0 18 1; +#X connect 17 1 16 1; +#X connect 18 0 16 0; +#X connect 19 0 2 0; +#X connect 20 0 21 1; +#X connect 20 1 19 1; +#X connect 21 0 19 0; +#X restore 110 178 pd sort_header; +#N canvas 0 0 450 300 sort_header 0; +#X obj 67 27 inlet; +#X obj 67 318 outlet; +#X obj 212 318 outlet; +#X obj 67 79 t f l; +#X obj 157 27 inlet; +#X obj 157 79 t f l; +#X obj 67 119 >; +#X obj 67 149 select 0 1; +#X obj 67 181 t b b; +#X obj 227 175 t b b; +#X obj 67 291 pack; +#X obj 83 250 unpack; +#X obj 67 271 f; +#X obj 117 291 pack; +#X obj 133 250 unpack; +#X obj 117 271 f; +#X obj 227 291 pack; +#X obj 243 250 unpack; +#X obj 227 271 f; +#X obj 277 291 pack; +#X obj 293 250 unpack; +#X obj 277 271 f; +#X connect 0 0 3 0; +#X connect 3 0 6 0; +#X connect 3 1 11 0; +#X connect 3 1 20 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 5 1 14 0; +#X connect 5 1 17 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 12 0; +#X connect 8 1 15 0; +#X connect 9 0 18 0; +#X connect 9 1 21 0; +#X connect 10 0 1 0; +#X connect 11 0 12 1; +#X connect 11 1 10 1; +#X connect 12 0 10 0; +#X connect 13 0 2 0; +#X connect 14 0 15 1; +#X connect 14 1 13 1; +#X connect 15 0 13 0; +#X connect 16 0 1 0; +#X connect 17 0 18 1; +#X connect 17 1 16 1; +#X connect 18 0 16 0; +#X connect 19 0 2 0; +#X connect 20 0 21 1; +#X connect 20 1 19 1; +#X connect 21 0 19 0; +#X restore 55 205 pd sort_header; +#N canvas 0 0 450 300 sort_header 0; +#X obj 67 27 inlet; +#X obj 67 318 outlet; +#X obj 212 318 outlet; +#X obj 67 79 t f l; +#X obj 157 27 inlet; +#X obj 157 79 t f l; +#X obj 67 119 >; +#X obj 67 149 select 0 1; +#X obj 67 181 t b b; +#X obj 227 175 t b b; +#X obj 67 291 pack; +#X obj 83 250 unpack; +#X obj 67 271 f; +#X obj 117 291 pack; +#X obj 133 250 unpack; +#X obj 117 271 f; +#X obj 227 291 pack; +#X obj 243 250 unpack; +#X obj 227 271 f; +#X obj 277 291 pack; +#X obj 293 250 unpack; +#X obj 277 271 f; +#X connect 0 0 3 0; +#X connect 3 0 6 0; +#X connect 3 1 11 0; +#X connect 3 1 20 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 5 1 14 0; +#X connect 5 1 17 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 12 0; +#X connect 8 1 15 0; +#X connect 9 0 18 0; +#X connect 9 1 21 0; +#X connect 10 0 1 0; +#X connect 11 0 12 1; +#X connect 11 1 10 1; +#X connect 12 0 10 0; +#X connect 13 0 2 0; +#X connect 14 0 15 1; +#X connect 14 1 13 1; +#X connect 15 0 13 0; +#X connect 16 0 1 0; +#X connect 17 0 18 1; +#X connect 17 1 16 1; +#X connect 18 0 16 0; +#X connect 19 0 2 0; +#X connect 20 0 21 1; +#X connect 20 1 19 1; +#X connect 21 0 19 0; +#X restore 116 236 pd sort_header; +#X connect 0 0 9 0; +#X connect 3 0 10 0; +#X connect 3 1 11 0; +#X connect 4 0 10 1; +#X connect 4 1 11 1; +#X connect 5 0 10 2; +#X connect 5 1 11 2; +#X connect 6 0 13 0; +#X connect 7 0 12 0; +#X connect 8 0 12 1; +#X connect 9 0 6 0; +#X connect 9 1 7 0; +#X connect 9 2 8 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 13 1; +#X connect 12 1 14 1; +#X connect 13 0 3 0; +#X connect 13 1 14 0; +#X connect 14 0 4 0; +#X connect 14 1 5 0; +#X restore 186 77 pd sort3; +#X msg 186 98 \$3 \$1; +#X obj 186 121 unpack; +#X msg 239 98 \$3; +#X obj 196 398 -; +#X obj 240 379 t f f f; +#X obj 233 438 + 2; +#X obj 233 398 -; +#X obj 268 398 -; +#X obj 268 418 /; +#X obj 233 418 /; +#X obj 196 418 /; +#X obj 268 438 + 4; +#N canvas 0 0 450 300 select3 0; +#X obj 106 87 inlet; +#X obj 234 85 inlet; +#X obj 115 222 outlet; +#X obj 232 107 unpack 0 0 0; +#X obj 117 194 f; +#X obj 180 192 f; +#X obj 240 190 f; +#X obj 110 137 select 0 1 2; +#X obj 184 224 outlet; +#X obj 236 222 outlet; +#X connect 0 0 7 0; +#X connect 1 0 3 0; +#X connect 3 0 4 1; +#X connect 3 1 5 1; +#X connect 3 2 6 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 7 2 4 0; +#X restore 196 329 pd select3; +#X obj 196 287 b; +#X obj 196 307 i; +#X obj 186 55 t l l l; +#X obj 196 480 moses 0; +#X obj 196 459 / 6; +#X obj 196 500 + 1; +#X obj 179 9 inlet float_RGB; +#X obj 187 682 outlet float_HSV; +#X obj 381 109 unpack f f f; +#X obj 380 144 / 255; +#X obj 428 144 / 255; +#X obj 484 142 / 255; +#X obj 382 174 pack f f f; +#X obj 267 57 demultiplex 0 1; +#X obj 703 44 loadbang; +#X obj 703 73 dollarg; +#X msg 773 133 1; +#X obj 701 101 sel 8bit int integer; +#X connect 0 0 17 1; +#X connect 0 1 18 1; +#X connect 0 2 14 1; +#X connect 1 0 31 0; +#X connect 2 0 3 0; +#X connect 2 1 1 2; +#X connect 3 0 4 0; +#X connect 3 1 5 1; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 1 1; +#X connect 7 0 8 0; +#X connect 7 1 24 0; +#X connect 8 0 1 0; +#X connect 9 0 5 0; +#X connect 9 1 15 0; +#X connect 10 0 11 0; +#X connect 10 1 13 0; +#X connect 11 0 12 0; +#X connect 12 0 2 0; +#X connect 12 1 4 1; +#X connect 13 0 25 1; +#X connect 14 0 21 0; +#X connect 15 0 21 1; +#X connect 15 1 20 1; +#X connect 15 2 19 1; +#X connect 16 0 28 0; +#X connect 17 0 20 0; +#X connect 18 0 19 0; +#X connect 19 0 22 0; +#X connect 20 0 16 0; +#X connect 21 0 28 0; +#X connect 22 0 28 0; +#X connect 23 0 18 0; +#X connect 23 1 14 0; +#X connect 23 2 17 0; +#X connect 24 0 25 0; +#X connect 25 0 23 0; +#X connect 26 0 10 0; +#X connect 26 1 0 0; +#X connect 26 2 23 1; +#X connect 27 0 29 0; +#X connect 27 1 1 0; +#X connect 28 0 27 0; +#X connect 29 0 1 0; +#X connect 30 0 37 0; +#X connect 32 0 33 0; +#X connect 32 1 34 0; +#X connect 32 2 35 0; +#X connect 33 0 36 0; +#X connect 34 0 36 1; +#X connect 35 0 36 2; +#X connect 36 0 26 0; +#X connect 37 0 26 0; +#X connect 37 1 32 0; +#X connect 38 0 39 0; +#X connect 39 0 41 0; +#X connect 40 0 37 1; +#X connect 41 0 40 0; +#X connect 41 1 40 0; +#X connect 41 2 40 0; diff --git a/convert.rgb2num-help.pd b/convert.rgb2num-help.pd new file mode 100644 index 0000000..3a3984d --- /dev/null +++ b/convert.rgb2num-help.pd @@ -0,0 +1,50 @@ +#N canvas 8 402 677 422 10; +#X obj 112 292 cnv 15 250 60 empty can45 empty 20 12 0 14 -200705 -262144 +0; +#X obj 263 73 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 198 256; +#X obj 328 76 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 0 256; +#X obj 405 78 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 1 256; +#X obj 321 103 t b f; +#X obj 375 104 t b f; +#X text 40 -14 Description: Converts an rgb value into a pd color value. +; +#X floatatom 86 214 10 0 0 0 - - -; +#X obj 326 145 pack f f f; +#X msg 84 235 \; can45 color \$1; +#X text 318 52 8bit_RGB input; +#X text 58 44 float_RGB input; +#X obj 19 62 nbx 5 14 0 1 0 0 empty empty empty 0 -6 0 10 -262144 -1 +-1 0 256; +#X obj 84 65 nbx 5 14 0 1 0 0 empty empty empty 0 -6 0 10 -262144 -1 +-1 0 256; +#X obj 161 65 nbx 5 14 0 1 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 0.98 256; +#X obj 77 92 t b f; +#X obj 131 93 t b f; +#X obj 82 134 pack f f f; +#X obj 83 185 convert.rgb2num; +#X obj 499 182 convert.rgb2num 8bit; +#X obj 500 207 convert.rgb2num int; +#X obj 325 182 convert.rgb2num integer; +#X connect 1 0 8 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 8 0; +#X connect 4 1 8 1; +#X connect 5 0 8 0; +#X connect 5 1 8 2; +#X connect 7 0 9 0; +#X connect 8 0 21 0; +#X connect 12 0 17 0; +#X connect 13 0 15 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 15 1 17 1; +#X connect 16 0 17 0; +#X connect 16 1 17 2; +#X connect 17 0 18 0; +#X connect 18 0 7 0; +#X connect 21 0 7 0; diff --git a/convert.rgb2num.pd b/convert.rgb2num.pd new file mode 100644 index 0000000..80ede81 --- /dev/null +++ b/convert.rgb2num.pd @@ -0,0 +1,55 @@ +#N canvas 119 289 616 538 10; +#X obj 231 348 +; +#X obj 167 420 +; +#X obj 80 303 * -65536; +#X obj 186 309 * -256; +#X obj 300 317 * -1; +#X obj 167 451 - 1; +#X obj 248 502 outlet; +#X obj 75 271 int 0; +#X obj 186 260 int 0; +#X obj 333 262 int 0; +#X obj 156 116 unpack f f f; +#X obj 8 23 inlet float_RGB; +#X obj 17 103 unpack f f f; +#X obj 7 144 * 255; +#X obj 62 142 * 255; +#X obj 109 140 * 255; +#X obj 56 223 clip 0 255; +#X obj 218 220 clip 0 255; +#X obj 319 220 clip 0 255; +#X obj 21 61 demultiplex 0 1; +#X obj 175 -44 loadbang; +#X obj 175 -15 dollarg; +#X msg 245 45 1; +#X obj 173 13 sel 8bit int integer; +#X connect 0 0 1 1; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 6 0; +#X connect 7 0 2 0; +#X connect 8 0 3 0; +#X connect 9 0 4 0; +#X connect 10 0 16 0; +#X connect 10 1 17 0; +#X connect 10 2 18 0; +#X connect 11 0 19 0; +#X connect 12 0 13 0; +#X connect 12 1 14 0; +#X connect 12 2 15 0; +#X connect 13 0 16 0; +#X connect 14 0 17 0; +#X connect 15 0 18 0; +#X connect 16 0 7 0; +#X connect 17 0 8 0; +#X connect 18 0 9 0; +#X connect 19 0 12 0; +#X connect 19 1 10 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 22 0 19 1; +#X connect 23 0 22 0; +#X connect 23 1 22 0; +#X connect 23 2 22 0; diff --git a/convert.sig2float~-help.pd b/convert.sig2float~-help.pd new file mode 100644 index 0000000..404fff0 --- /dev/null +++ b/convert.sig2float~-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 607 333 10; +#X text 75 18 Description: converts a signal to floats.; +#X msg 360 74 \; pd dsp 1; +#X floatatom 121 222 5 0 0 0 - - -; +#X obj 120 168 convert.sig2float~; +#X obj 121 105 osc~ 0.01; +#X text 133 138 Argument_1:update time (ms). Defaults to 100 ms.; +#X connect 3 0 2 0; +#X connect 4 0 3 0; diff --git a/convert.sig2float~.pd b/convert.sig2float~.pd new file mode 100644 index 0000000..24c5c16 --- /dev/null +++ b/convert.sig2float~.pd @@ -0,0 +1,17 @@ +#N canvas 510 343 450 300 10; +#X obj 54 50 inlet~; +#X obj 54 229 outlet; +#X obj 54 203 snapshot~; +#X obj 82 79 loadbang; +#X obj 82 104 t b b; +#X obj 107 126 f \$1; +#X obj 107 146 sel 0; +#X obj 82 170 metro 100; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 4 1 5 0; +#X connect 5 0 6 0; +#X connect 6 1 7 1; +#X connect 7 0 2 0; diff --git a/convert.smp2bpm-help.pd b/convert.smp2bpm-help.pd new file mode 100644 index 0000000..eff3753 --- /dev/null +++ b/convert.smp2bpm-help.pd @@ -0,0 +1,41 @@ +#N canvas 450 207 751 562 10; +#X floatatom 107 426 5 0 0 0 - - -; +#X floatatom 26 417 5 0 0 0 - - -; +#X floatatom 48 280 10 0 0 0 - - -; +#X text 15 437 BPM; +#X msg 158 338 44100; +#X text 95 442 Number of beats; +#X obj 27 181 openpanel; +#X obj 28 136 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 +-1; +#X floatatom 244 426 10 0 0 0 - - -; +#X text 238 445 frames per beat; +#X text 50 -6 Description: Outputs the bpm and beat count of a loop. +; +#X obj 48 370 convert.smp2bpm; +#X text 199 336 File samplerate (defaults to pd's samplerate); +#X obj 48 252 soundfiler; +#X obj 214 233 table \$0data; +#X msg 48 232 read -resize \$1 \$2data; +#X obj 48 212 pack s \$0; +#X msg 459 41 patterns wav \, medias/sounds; +#X obj 457 20 loadbang; +#X text 319 213 BUGS: Outputs strange data when the sample is smaller +than a beat.; +#X text 320 254 WARNING: Sometimes the outputed bpm and number of beats +will be twice or half the real values. That is because convert.smp2bpm +can't make the difference between 80 bpm and 160 bpm for example.; +#X obj 229 26 file.browser_; +#X connect 2 0 11 0; +#X connect 4 0 11 1; +#X connect 6 0 16 0; +#X connect 7 0 6 0; +#X connect 11 0 1 0; +#X connect 11 1 0 0; +#X connect 11 2 8 0; +#X connect 13 0 2 0; +#X connect 15 0 13 0; +#X connect 16 0 15 0; +#X connect 17 0 21 1; +#X connect 18 0 17 0; +#X connect 21 0 16 0; diff --git a/convert.smp2bpm.pd b/convert.smp2bpm.pd new file mode 100644 index 0000000..a6adf35 --- /dev/null +++ b/convert.smp2bpm.pd @@ -0,0 +1,130 @@ +#N canvas 244 77 715 668 10; +#X obj 43 18 inlet smp; +#X obj 268 8 inlet samplerate; +#X obj 229 587 outlet beats; +#X obj 61 309 * 120; +#X obj 367 106 loadbang; +#X obj 360 134 samplerate~; +#X obj 56 541 outlet bpm; +#N canvas 0 0 891 537 fit 0; +#X obj 45 53 inlet; +#X obj 378 50 inlet; +#X obj 250 228 /; +#X obj 222 379 *; +#X obj 303 170 t f f; +#X obj 375 417 /; +#X obj 272 566 outlet; +#X obj 196 255 t b f; +#N canvas 289 98 991 658 closestmult2 0; +#X msg 403 194 2; +#X obj 407 228 float; +#X obj 465 262 moses; +#X obj 521 193 * 2; +#X obj 506 374 -; +#X obj 406 145 t b f f; +#X obj 517 417 moses; +#X obj 529 339 t f f; +#X obj 564 361 * 0.25; +#X obj 492 480 float; +#X msg 490 448 bang; +#X msg 575 445 bang; +#X obj 581 476 float; +#X obj 606 501 / 2; +#X obj 513 286 t f f f; +#X obj 149 40 inlet; +#X obj 255 610 outlet; +#X obj 190 75 moses 1; +#X obj 66 81 /; +#X msg 75 53 1.125 \$1; +#X obj 327 534 demultiplex 0 1; +#X obj 301 82 t f b; +#X msg 403 354 1; +#X obj 226 124 t f b; +#X msg 365 355 0; +#X msg 408 578 1 \$1; +#X obj 412 605 /; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 14 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 5 1 2 1; +#X connect 5 2 4 1; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 4 0; +#X connect 7 1 8 0; +#X connect 8 0 6 1; +#X connect 9 0 20 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 20 0; +#X connect 14 0 7 0; +#X connect 14 1 9 1; +#X connect 14 2 12 1; +#X connect 15 0 17 0; +#X connect 17 0 19 0; +#X connect 17 1 21 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 1 16 0; +#X connect 21 0 5 0; +#X connect 21 1 22 0; +#X connect 22 0 20 1; +#X connect 23 0 5 0; +#X connect 23 1 24 0; +#X connect 24 0 20 1; +#X connect 25 0 26 0; +#X connect 26 0 16 0; +#X restore 286 293 pd closestmult2; +#X obj 281 319 t f f; +#X obj 160 304 f; +#X obj 245 96 t f b f f; +#X connect 0 0 4 0; +#X connect 1 0 11 0; +#X connect 2 0 7 0; +#X connect 3 0 5 0; +#X connect 4 0 2 0; +#X connect 4 1 5 1; +#X connect 5 0 6 0; +#X connect 7 0 10 0; +#X connect 7 1 8 0; +#X connect 8 0 9 0; +#X connect 9 1 3 1; +#X connect 10 0 3 0; +#X connect 11 0 10 1; +#X connect 11 2 2 1; +#X restore 109 209 pd fit; +#X obj 51 357 t f f; +#X obj 134 419 convert.bpm2ms; +#X obj 249 460 expr $f2/$f1; +#X obj 220 271 convert.smp2ms; +#X obj 452 554 outlet smp_per_beat; +#X obj 89 90 t f f f; +#X obj 447 436 expr $f2/$f1; +#X obj 278 520 t f f; +#X obj 255 483 number.round; +#X connect 0 0 13 0; +#X connect 1 0 7 1; +#X connect 1 0 11 1; +#X connect 3 0 8 0; +#X connect 4 0 5 0; +#X connect 5 0 7 1; +#X connect 5 0 11 1; +#X connect 7 0 3 0; +#X connect 8 0 6 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 16 0; +#X connect 11 0 10 1; +#X connect 13 0 7 0; +#X connect 13 1 11 0; +#X connect 13 2 14 1; +#X connect 14 0 12 0; +#X connect 15 0 2 0; +#X connect 15 1 14 0; +#X connect 16 0 15 0; diff --git a/convert.smp2freq-help.pd b/convert.smp2freq-help.pd new file mode 100644 index 0000000..8bebec5 --- /dev/null +++ b/convert.smp2freq-help.pd @@ -0,0 +1,10 @@ +#N canvas 323 275 701 361 12; +#X floatatom 74 143 5 0 0 0 - - -; +#X floatatom 74 222 5 0 0 0 - - -; +#X text 124 140 Number of samples; +#X text 130 224 Frequency to play samples at normal speed; +#X obj 74 178 convert.smp2freq; +#X text 100 16 Description: Converts a number of samples to a frequency. +; +#X connect 0 0 4 0; +#X connect 4 0 1 0; diff --git a/convert.smp2freq.pd b/convert.smp2freq.pd new file mode 100644 index 0000000..ce0306e --- /dev/null +++ b/convert.smp2freq.pd @@ -0,0 +1,15 @@ +#N canvas 396 47 546 392 10; +#X text 282 77 samples to milliseconds conversion; +#X obj 37 69 inlet; +#X obj 129 81 loadbang; +#X obj 132 110 samplerate~; +#X obj 58 142 /; +#X obj 53 266 outlet; +#X obj 65 207 /; +#X msg 56 171 1 \$1; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; +#X connect 4 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; diff --git a/convert.smp2mem-help.pd b/convert.smp2mem-help.pd new file mode 100644 index 0000000..8e296c2 --- /dev/null +++ b/convert.smp2mem-help.pd @@ -0,0 +1,10 @@ +#N canvas 296 348 662 332 12; +#X text 117 121 number of samples; +#X floatatom 72 119 5 0 0 0 - - -; +#X floatatom 71 208 10 0 0 0 - - -; +#X text 157 209 size in Megabytes; +#X obj 71 165 convert.smp2mem; +#X text 40 8 Description: Converts a number of samples into it's memory +size.; +#X connect 1 0 4 0; +#X connect 4 0 2 0; diff --git a/convert.smp2mem.pd b/convert.smp2mem.pd new file mode 100644 index 0000000..aec73b2 --- /dev/null +++ b/convert.smp2mem.pd @@ -0,0 +1,8 @@ +#N canvas 199 187 452 302 10; +#X obj 227 115 inlet; +#X obj 227 157 * 4e-006; +#X obj 227 201 outlet; +#X text 271 202 size in Mb; +#X text 266 112 number of samples; +#X connect 0 0 1 0; +#X connect 1 0 2 0; diff --git a/convert.smp2ms-help.pd b/convert.smp2ms-help.pd new file mode 100644 index 0000000..abeb732 --- /dev/null +++ b/convert.smp2ms-help.pd @@ -0,0 +1,9 @@ +#N canvas 303 224 605 329 10; +#X text 171 111 samples to milliseconds conversion; +#X floatatom 64 94 5 0 0 0 - - -; +#X floatatom 78 200 5 0 0 0 - - -; +#X obj 65 139 convert.smp2ms; +#X text 40 20 Description: Converts a number of samples to it's duration +in milliseconds.; +#X connect 1 0 3 0; +#X connect 3 0 2 0; diff --git a/convert.smp2ms.pd b/convert.smp2ms.pd new file mode 100644 index 0000000..6193fc2 --- /dev/null +++ b/convert.smp2ms.pd @@ -0,0 +1,18 @@ +#N canvas 339 55 544 390 10; +#X text 282 77 samples to milliseconds conversion; +#X obj 30 11 inlet; +#X obj 152 96 samplerate~; +#X obj 53 266 outlet; +#X msg 144 141 1 \$1; +#X obj 138 164 /; +#X obj 56 148 *; +#X obj 145 198 * 1000; +#X obj 63 60 t f b; +#X connect 1 0 8 0; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 3 0; +#X connect 7 0 6 1; +#X connect 8 0 6 0; +#X connect 8 1 2 0; diff --git a/convert.smp2time-help.pd b/convert.smp2time-help.pd new file mode 100644 index 0000000..d9202ee --- /dev/null +++ b/convert.smp2time-help.pd @@ -0,0 +1,12 @@ +#N canvas 551 388 450 300 10; +#X obj 102 176 convert.smp2time; +#X floatatom 102 112 5 0 0 0 - - -; +#X obj 106 222 print; +#X obj 102 132 * 1000; +#X floatatom 102 155 5 0 0 0 - - -; +#X text 40 20 Description: Converts a number of samples into an easier +representation of it's duration.; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; diff --git a/convert.smp2time.pd b/convert.smp2time.pd new file mode 100644 index 0000000..adc5735 --- /dev/null +++ b/convert.smp2time.pd @@ -0,0 +1,49 @@ +#N canvas 86 384 472 497 10; +#X obj 125 38 inlet; +#X obj 129 74 t f b; +#X obj 274 237 / 44100; +#X text 332 240 <- seconds; +#X obj 260 325 t f f; +#X obj 119 468 outlet; +#X obj 242 349 div 60; +#X obj 328 356 mod 60; +#X obj 262 390 pack f f; +#X obj 317 417 makesymbol %sm%ss; +#X obj 72 134 moses; +#X msg 52 378 symbol <1s; +#X obj 127 215 moses; +#X obj 161 180 * 60; +#X obj 73 106 int; +#X msg 140 314 symbol \$1s; +#X obj 151 278 mod 60; +#X obj 142 245 / 44100; +#X obj 359 63 loadbang; +#X obj 312 25 inlet samplerate; +#X obj 356 89 samplerate~; +#X obj 332 125 f; +#X connect 0 0 1 0; +#X connect 1 0 14 0; +#X connect 2 0 4 0; +#X connect 4 0 6 0; +#X connect 4 1 7 0; +#X connect 6 0 8 0; +#X connect 7 0 8 1; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 5 0; +#X connect 12 0 17 0; +#X connect 12 1 2 0; +#X connect 13 0 12 1; +#X connect 14 0 10 0; +#X connect 15 0 5 0; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 21 0; +#X connect 20 0 21 0; +#X connect 21 0 2 1; +#X connect 21 0 10 1; +#X connect 21 0 13 0; +#X connect 21 0 17 1; diff --git a/convert.smpte2frames-help.pd b/convert.smpte2frames-help.pd new file mode 100644 index 0000000..331114b --- /dev/null +++ b/convert.smpte2frames-help.pd @@ -0,0 +1,32 @@ +#N canvas 315 418 895 418 10; +#X obj 97 219 convert.smpte2frames; +#X floatatom 85 52 5 0 0 0 - - -; +#X obj 84 99 convert.frames2smpte; +#X floatatom 322 57 5 0 0 0 framerate - -; +#X floatatom 77 148 5 0 0 0 - - -; +#X floatatom 129 151 5 0 0 0 - - -; +#X floatatom 175 149 5 0 0 0 - - -; +#X floatatom 220 148 5 0 0 0 - - -; +#X floatatom 97 258 5 0 0 0 - - -; +#X obj 394 62 cnv 15 300 250 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 402 189 Left outlet: duration in frames; +#X text 402 112 Inlets from left to right: duration in hours:minutes:seconds:frames +; +#X text 402 74 Description: SMPTE to FRAMES time CONVERTER; +#X text 399 282 Author: February 2006 by oli44 (Tulle). Modified by +Tof.; +#X text 399 245 Comments: Only works with integer frame rates.; +#X text 401 151 Rightmost inlet: frame rate (defaults to 25).; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 2 2 6 0; +#X connect 2 3 7 0; +#X connect 3 0 2 1; +#X connect 3 0 0 4; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 6 0 0 2; +#X connect 7 0 0 3; diff --git a/convert.smpte2frames.pd b/convert.smpte2frames.pd new file mode 100644 index 0000000..c42d312 --- /dev/null +++ b/convert.smpte2frames.pd @@ -0,0 +1,46 @@ +#N canvas 0 0 960 611 10; +#X obj 36 -51 inlet; +#X obj 176 20 inlet; +#X obj 30 457 outlet; +#X obj 387 20 inlet; +#X obj 285 20 inlet; +#X obj 507 15 inlet; +#X obj 507 364 int; +#X obj 387 69 * 40; +#X obj 285 78 * 1000; +#X obj 36 4 * 3.6e+06; +#X obj 176 78 * 60000; +#X obj 286 190 +; +#X obj 176 226 +; +#X obj 27 286 +; +#X obj 507 338 / 40; +#X obj 522 82 /; +#X msg 519 51 1000 \$1; +#X obj 55 46 t f b b b; +#X obj 185 153 f; +#X obj 268 152 f; +#X obj 375 136 f; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 3 0 7 0; +#X connect 4 0 8 0; +#X connect 5 0 16 0; +#X connect 6 0 2 0; +#X connect 7 0 20 1; +#X connect 8 0 19 1; +#X connect 9 0 17 0; +#X connect 10 0 18 1; +#X connect 11 0 12 1; +#X connect 12 0 13 1; +#X connect 13 0 14 0; +#X connect 14 0 6 0; +#X connect 15 0 7 1; +#X connect 15 0 14 1; +#X connect 16 0 15 0; +#X connect 17 0 13 0; +#X connect 17 1 18 0; +#X connect 17 2 19 0; +#X connect 17 3 20 0; +#X connect 18 0 12 0; +#X connect 19 0 11 0; +#X connect 20 0 11 1; diff --git a/convert.sound.freq2wave-help.pd b/convert.sound.freq2wave-help.pd new file mode 100644 index 0000000..c9492b0 --- /dev/null +++ b/convert.sound.freq2wave-help.pd @@ -0,0 +1,14 @@ +#N canvas 129 367 579 503 10; +#X obj 120 185 convert.sound.freq2wave; +#X floatatom 303 130 5 0 0 0 - - -; +#X text 314 148 Air temperature (celcius); +#X text 317 166 Defaults to 18 celsius; +#X text 132 45 Sound: Frequency (Hz) to wave length (m); +#X floatatom 136 66 5 0 0 0 - - -; +#X obj 134 88 mtof; +#X floatatom 116 272 5 0 0 0 - - -; +#X text 216 273 wave length (in meters); +#X connect 0 0 7 0; +#X connect 1 0 0 1; +#X connect 5 0 6 0; +#X connect 6 0 0 0; diff --git a/convert.sound.freq2wave.pd b/convert.sound.freq2wave.pd new file mode 100644 index 0000000..14b020f --- /dev/null +++ b/convert.sound.freq2wave.pd @@ -0,0 +1,25 @@ +#N canvas 259 242 501 438 10; +#X obj 62 199 inlet; +#X floatatom 120 340 15 0 0 0 - - -; +#X obj 69 366 outlet; +#X floatatom 137 202 5 0 0 0 - - -; +#X obj 277 280 +; +#X msg 277 240 331.4 \$1; +#X text 279 118 Air temperature (celcius); +#X obj 317 136 inlet; +#X msg 318 184 0.6 \$1; +#X obj 320 205 *; +#X msg 136 180 440; +#X obj 68 305 / 342.2; +#X text 175 370 Defaults to 18 celsius; +#X text 48 98 SOund: Frequency (Hz) to wave length (m); +#X connect 0 0 11 0; +#X connect 3 0 11 0; +#X connect 4 0 11 1; +#X connect 5 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X connect 10 0 3 0; +#X connect 11 0 2 0; +#X connect 11 0 1 0; diff --git a/convert.sound.wave2freq-help.pd b/convert.sound.wave2freq-help.pd new file mode 100644 index 0000000..28dd0b4 --- /dev/null +++ b/convert.sound.wave2freq-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 432 384 10; +#X text 54 74 Sound : Wave length (m) to frequency (Hz); +#X obj 115 236 convert.sound.wave2freq; +#X floatatom 102 182 15 0 0 0 - - -; +#X floatatom 103 297 15 0 0 0 - - -; +#X connect 1 0 3 0; +#X connect 2 0 1 0; diff --git a/convert.sound.wave2freq.pd b/convert.sound.wave2freq.pd new file mode 100644 index 0000000..814994b --- /dev/null +++ b/convert.sound.wave2freq.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 399 349 10; +#X obj 96 118 inlet; +#X obj 102 224 /; +#X obj 103 285 outlet; +#X msg 103 175 344.21 \$1; +#X text 54 74 Sound : Wave length (m) to frequency (Hz); +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; diff --git a/convert.spaces2-help.pd b/convert.spaces2-help.pd new file mode 100644 index 0000000..e68f904 --- /dev/null +++ b/convert.spaces2-help.pd @@ -0,0 +1,12 @@ +#N canvas 591 300 620 386 10; +#X msg 152 168 list foo bar; +#X obj 151 287 print B; +#X msg 32 190 avoice 2.wav; +#X text 40 33 Description: Converts spaces to any other character excluding +numbers.; +#X obj 152 244 convert.spaces2 _; +#X msg 273 198 *; +#X connect 0 0 4 0; +#X connect 2 0 4 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; diff --git a/convert.spaces2.pd b/convert.spaces2.pd new file mode 100644 index 0000000..87971a3 --- /dev/null +++ b/convert.spaces2.pd @@ -0,0 +1,22 @@ +#N canvas 494 135 647 720 10; +#X obj 79 50 inlet; +#X obj 74 635 outlet; +#X obj 79 160 list trim; +#X obj 86 194 convert.ascii2int; +#X obj 86 269 list.substitute 32 95; +#X obj 345 149 convert.ascii2int; +#X obj 383 40 inlet; +#X obj 83 586 symbol; +#X obj 86 401 convert.int2ascii; +#X obj 214 62 loadbang; +#X obj 214 87 dollarg; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 8 0; +#X connect 5 0 4 2; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 5 0; diff --git a/convert.speed2m-help.pd b/convert.speed2m-help.pd new file mode 100644 index 0000000..0a49f0c --- /dev/null +++ b/convert.speed2m-help.pd @@ -0,0 +1,19 @@ +#N canvas 509 108 491 491 10; +#X msg 286 299 60; +#X floatatom 172 301 5 0 0 0 - - -; +#X msg 318 299 72; +#X floatatom 171 387 5 0 0 0 - - -; +#X text 295 269 MIDI base note; +#X obj 172 356 convert.speed2m 60; +#X text 45 180 Defaults to 60 if no argument given.; +#X text 48 113 Comments: The ratio is a fractionnal number on 1 The +default MIDI base note is 60; +#X text 49 79 Description: Converts the speed of a sample to a MIDI +note.; +#X text 44 160 Argument : the MIDI base note.; +#X text 159 279 Speed; +#X text 217 389 MIDI note at that speed; +#X connect 0 0 5 1; +#X connect 1 0 5 0; +#X connect 2 0 5 1; +#X connect 5 0 3 0; diff --git a/convert.speed2m.pd b/convert.speed2m.pd new file mode 100644 index 0000000..4e56778 --- /dev/null +++ b/convert.speed2m.pd @@ -0,0 +1,18 @@ +#N canvas 35 267 430 376 10; +#X obj 106 74 inlet; +#X obj 229 73 inlet; +#X obj 195 183 mtof; +#X obj 290 71 loadbang; +#X obj 168 290 outlet; +#X obj 288 110 init.df \$1 60; +#X obj 220 141 f; +#X obj 116 181 *; +#X obj 158 236 ftom; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 2 0 7 1; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; diff --git a/convert.symbol2chars-help.pd b/convert.symbol2chars-help.pd new file mode 100644 index 0000000..978a82f --- /dev/null +++ b/convert.symbol2chars-help.pd @@ -0,0 +1,14 @@ +#N canvas 515 339 666 433 12; +#X msg 138 69 test; +#X obj 49 198 print character_list; +#X obj 240 198 print character_count; +#X obj 138 119 convert.symbol2chars; +#X text 30 16 Description: Converts a symbol to a list of characters. +; +#X obj 449 185 print last; +#X obj 349 144 list.element 4; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 3 0 6 0; +#X connect 3 1 2 0; +#X connect 6 0 5 0; diff --git a/convert.symbol2chars.pd b/convert.symbol2chars.pd new file mode 100644 index 0000000..9f0a948 --- /dev/null +++ b/convert.symbol2chars.pd @@ -0,0 +1,18 @@ +#N canvas 404 342 614 565 10; +#X obj 124 13 inlet; +#X text 168 12 Symbol; +#X obj 110 500 outlet; +#X obj 248 498 outlet; +#X obj 141 240 t a a; +#X obj 192 283 list.length; +#X msg 211 152 bang; +#X obj 139 112 t a b; +#X obj 138 184 convert.symbol2list; +#X connect 0 0 7 0; +#X connect 4 0 2 0; +#X connect 4 1 5 0; +#X connect 5 0 3 0; +#X connect 6 0 8 1; +#X connect 7 0 8 0; +#X connect 7 1 6 0; +#X connect 8 0 4 0; diff --git a/convert.symbol2list-help.pd b/convert.symbol2list-help.pd new file mode 100644 index 0000000..97bd7a8 --- /dev/null +++ b/convert.symbol2list-help.pd @@ -0,0 +1,57 @@ +#N canvas 399 154 833 612 10; +#X text 45 42 Description: Converts a symbol (or anything) to a list. +; +#X obj 67 259 print; +#X obj 79 488 print; +#X msg 65 371 ae_b_c_d; +#X text 49 314 Through the second inlet \, change the list delimiter. +; +#X obj 68 399 t a b; +#X msg 172 412 _; +#X obj 286 495 print; +#X obj 275 406 t a b; +#X msg 379 419 /; +#X msg 221 113 space; +#X msg 238 153 bang; +#X text 283 120 spaces as a list delimiter (default); +#X text 323 154 split everything appart; +#X msg 57 130 abcd efg; +#X msg 281 154 none; +#X text 45 65 Comments: Wraps zexy's symbol2list and iem splitfilename. +; +#X msg 550 370 test-help.pd; +#X msg 679 424 -; +#X obj 609 508 list.split 1; +#X obj 551 542 print A; +#X obj 644 538 print B; +#X obj 113 224 t a a; +#X obj 148 252 list.length; +#X floatatom 151 278 5 0 0 0 - - -; +#X obj 277 453 convert.symbol2list; +#X obj 70 446 convert.symbol2list; +#X obj 89 187 convert.symbol2list; +#X obj 552 463 convert.symbol2list; +#X msg 271 378 1a/2b/3c/4d; +#X connect 3 0 5 0; +#X connect 5 0 26 0; +#X connect 5 1 6 0; +#X connect 6 0 26 1; +#X connect 8 0 25 0; +#X connect 8 1 9 0; +#X connect 9 0 25 1; +#X connect 10 0 27 1; +#X connect 11 0 27 1; +#X connect 14 0 27 0; +#X connect 15 0 27 1; +#X connect 17 0 28 0; +#X connect 18 0 28 1; +#X connect 19 0 20 0; +#X connect 19 1 21 0; +#X connect 22 0 1 0; +#X connect 22 1 23 0; +#X connect 23 0 24 0; +#X connect 25 0 7 0; +#X connect 26 0 2 0; +#X connect 27 0 22 0; +#X connect 28 0 19 0; +#X connect 29 0 8 0; diff --git a/convert.symbol2list.pd b/convert.symbol2list.pd new file mode 100644 index 0000000..581ae73 --- /dev/null +++ b/convert.symbol2list.pd @@ -0,0 +1,33 @@ +#N canvas 75 0 1001 687 10; +#X obj 94 57 inlet; +#X obj 93 756 outlet; +#X obj 443 56 inlet; +#X obj 717 157 loadbang; +#X obj 717 206 dollarg; +#X obj 717 235 list trim; +#X obj 95 232 route symbol; +#X obj 168 292 tosymbol; +#X msg 367 381 symbol; +#X msg 406 474 32; +#X obj 399 518 makefilename %c; +#X obj 95 384 symbol2list; +#X obj 560 354 tosymbol; +#X obj 395 298 route bang none space symbol; +#X connect 0 0 6 0; +#X connect 2 0 13 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 13 0; +#X connect 6 0 11 0; +#X connect 6 1 7 0; +#X connect 7 0 11 0; +#X connect 8 0 11 1; +#X connect 9 0 10 0; +#X connect 10 0 11 1; +#X connect 11 0 1 0; +#X connect 12 0 11 1; +#X connect 13 0 8 0; +#X connect 13 1 8 0; +#X connect 13 2 9 0; +#X connect 13 3 8 0; +#X connect 13 4 12 0; diff --git a/convert.time2ms-help.pd b/convert.time2ms-help.pd new file mode 100644 index 0000000..02d69a1 --- /dev/null +++ b/convert.time2ms-help.pd @@ -0,0 +1,33 @@ +#N canvas 0 0 602 575 10; +#X obj 138 220 timer; +#X obj 163 162 loadbang; +#X floatatom 138 247 10 0 0 0 - - -; +#X obj 163 186 metro 50; +#X floatatom 85 337 5 0 0 0 - - -; +#X floatatom 173 337 5 0 0 0 - - -; +#X floatatom 272 337 5 0 0 0 - - -; +#X text 307 335 seconds; +#X text 210 337 minutes; +#X text 122 337 hours; +#X floatatom 368 335 5 0 0 0 - - -; +#X text 406 332 msec; +#X obj 138 279 convert.ms2time; +#X obj 145 405 convert.time2ms; +#X floatatom 145 441 10 0 0 0 - - -; +#X text 91 96 Description: Converts an easier to read format to a duration +in milliseconds.; +#X text 307 515 See also :; +#X obj 387 516 convert.ms2time; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 12 0; +#X connect 3 0 0 1; +#X connect 4 0 13 0; +#X connect 5 0 13 1; +#X connect 6 0 13 2; +#X connect 10 0 13 3; +#X connect 12 0 4 0; +#X connect 12 1 5 0; +#X connect 12 2 6 0; +#X connect 12 3 10 0; +#X connect 13 0 14 0; diff --git a/convert.time2ms.pd b/convert.time2ms.pd new file mode 100644 index 0000000..37e0809 --- /dev/null +++ b/convert.time2ms.pd @@ -0,0 +1,28 @@ +#N canvas 0 0 790 389 10; +#X obj 304 24 inlet; +#X obj 367 327 outlet; +#X obj 363 24 inlet; +#X obj 418 22 inlet; +#X obj 541 26 inlet; +#X obj 271 84 * 3.6e+06; +#X obj 359 80 * 60000; +#X obj 445 80 * 1000; +#X obj 369 160 t f b; +#X obj 446 207 +; +#X obj 288 185 +; +#X obj 298 118 t f b; +#X obj 365 251 +; +#X connect 0 0 5 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 4 0 9 1; +#X connect 5 0 11 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 10 1; +#X connect 8 1 9 0; +#X connect 9 0 12 1; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 11 1 8 0; +#X connect 12 0 1 0; diff --git a/count.accum-help.pd b/count.accum-help.pd new file mode 100644 index 0000000..36822ae --- /dev/null +++ b/count.accum-help.pd @@ -0,0 +1,49 @@ +#N canvas 391 38 856 615 12; +#X floatatom 81 470 5 0 0 0 - - -; +#X obj 235 268 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 114 196 1; +#X obj 81 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 114 175 float: add float to current count and output stored +number.; +#X text 80 149 bang: output stored number.; +#X msg 173 235 set 2; +#X msg 263 301 -1; +#X text 259 280 float: add float to stored number (do not output). +; +#X msg 156 195 -1; +#X obj 80 493 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 81 418 count.accum; +#X floatatom 384 558 5 0 0 0 - - -; +#X msg 384 482 1; +#X obj 508 485 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 379 452 Arg sets initial value.; +#X msg 304 334 set -4; +#X text 171 217 set float: set stored number.; +#X obj 384 515 count.accum -10; +#X text 233 251 bang: reset stored number to initial value (do not +output).; +#X text 366 333 set float: sets the reset value but does not change +the store number.; +#X text 67 48 Version: 2; +#X text 68 68 Changes: Added 2 new behaviors (set and reset to initial +value).; +#X text 69 104 Comment: Behavior is different than cyclone's accum. +; +#X text 67 27 Description: Store and "add to" and "subtract to" a number. +; +#X connect 0 0 10 0; +#X connect 1 0 11 1; +#X connect 2 0 11 0; +#X connect 3 0 11 0; +#X connect 6 0 11 0; +#X connect 7 0 11 1; +#X connect 9 0 11 0; +#X connect 11 0 0 0; +#X connect 13 0 18 0; +#X connect 14 0 18 1; +#X connect 16 0 11 1; +#X connect 18 0 12 0; diff --git a/count.accum.pd b/count.accum.pd new file mode 100644 index 0000000..185dfab --- /dev/null +++ b/count.accum.pd @@ -0,0 +1,33 @@ +#N canvas 223 286 514 364 12; +#X obj 77 12 inlet; +#X obj 192 274 outlet; +#X obj 186 194 + 0; +#X obj 176 139 t b f; +#X obj 182 219 t f f; +#X obj 152 107 t b f; +#X obj 319 20 inlet; +#X obj 63 58 route bang set; +#X obj 296 112 f \$1; +#X obj 173 171 f \$1; +#X obj 129 200 f \$1; +#X obj 287 52 route bang set; +#X connect 0 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 9 0; +#X connect 3 1 2 1; +#X connect 4 0 10 1; +#X connect 4 1 9 1; +#X connect 5 0 10 0; +#X connect 5 1 3 0; +#X connect 6 0 11 0; +#X connect 7 0 10 0; +#X connect 7 1 9 1; +#X connect 7 1 10 1; +#X connect 7 2 5 0; +#X connect 8 0 9 1; +#X connect 8 0 10 1; +#X connect 9 0 2 0; +#X connect 10 0 1 0; +#X connect 11 0 8 0; +#X connect 11 1 8 1; +#X connect 11 2 3 0; diff --git a/count.iter-help.pd b/count.iter-help.pd new file mode 100644 index 0000000..c2a7dcf --- /dev/null +++ b/count.iter-help.pd @@ -0,0 +1,28 @@ +#N canvas 269 360 542 315 10; +#X obj 198 94 metro 250; +#X obj 198 71 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 198 50 loadbang; +#X text 30 19 Description: Simple counter; +#X floatatom 198 236 5 0 0 0 - - -; +#X obj 315 85 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 319 143 5 0 0 0 - - -; +#X text 341 84 resets; +#X text 366 141 Iteration value; +#X obj 332 276 count.modulo; +#X text 266 274 See also; +#X floatatom 320 104 5 0 0 0 - - -; +#X obj 198 182 count.iter 0 1; +#X obj 426 275 count.accum; +#X text 364 103 Current value; +#X obj 168 125 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 0 0 12 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 5 0 12 1; +#X connect 6 0 12 2; +#X connect 11 0 12 1; +#X connect 12 0 4 0; +#X connect 15 0 12 0; diff --git a/count.iter.pd b/count.iter.pd new file mode 100644 index 0000000..faf69bd --- /dev/null +++ b/count.iter.pd @@ -0,0 +1,24 @@ +#N canvas 0 0 450 300 10; +#X obj 99 35 inlet; +#X obj 279 44 inlet; +#X obj 97 130 f 0; +#X obj 156 85 f 0; +#X obj 144 138 + 1; +#X obj 107 217 outlet; +#X obj 175 35 inlet; +#X obj 189 60 init.df \$1 0; +#X obj 229 19 loadbang; +#X obj 235 39 t b b; +#X obj 272 90 init.df \$2 1; +#X connect 0 0 2 0; +#X connect 1 0 4 1; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 6 0 3 0; +#X connect 7 0 3 1; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 9 1 10 0; +#X connect 10 0 4 1; diff --git a/count.modulo-help.pd b/count.modulo-help.pd new file mode 100644 index 0000000..27c30db --- /dev/null +++ b/count.modulo-help.pd @@ -0,0 +1,29 @@ +#N canvas 239 249 727 410 10; +#X obj 77 7 loadbang; +#X floatatom 77 175 5 0 0 0 - - -; +#X msg 167 89 4; +#X msg 177 111 16; +#X floatatom 104 99 5 0 0 0 - - -; +#X obj 77 53 metro 250; +#X obj 77 138 count.modulo; +#X obj 67 242 loadbang; +#X floatatom 67 360 5 0 0 0 - - -; +#X obj 67 288 metro 50; +#X text 252 98 Description: A wrapping(looping) counter.; +#X text 252 183 inlet 1 : bang to increment the internal value.; +#X text 250 201 inlet 2: "bang" the internal value to 0; +#X text 316 220 Integer to set current value.; +#X text 250 156 Arg 1: set the upper limit.; +#X text 251 245 inltet 3: upper limit.; +#X text 251 118 Wraps between 0 and upper limit (excluding the upper +limit).; +#X obj 67 323 count.modulo 360; +#X connect 0 0 5 0; +#X connect 2 0 6 2; +#X connect 3 0 6 2; +#X connect 4 0 6 1; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 9 0; +#X connect 9 0 17 0; +#X connect 17 0 8 0; diff --git a/count.modulo.pd b/count.modulo.pd new file mode 100644 index 0000000..ce944d5 --- /dev/null +++ b/count.modulo.pd @@ -0,0 +1,39 @@ +#N canvas 182 137 788 563 10; +#X obj 62 164 float; +#X obj 102 163 + 1; +#X obj 63 9 inlet; +#X msg 62 126 bang; +#X obj 62 258 outlet; +#X obj 61 208 mod; +#X obj 133 10 inlet; +#X msg 134 113 0; +#X obj 360 9 inlet; +#X text 168 9 reset or set; +#X obj 133 51 route bang reset float; +#X obj 181 124 mod; +#X text 399 9 modulo value (max value); +#X obj 205 210 loadbang; +#X obj 208 238 f \$1; +#X obj 203 265 sel 0; +#X msg 199 288 16; +#X connect 0 0 5 0; +#X connect 1 0 0 1; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 5 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 10 0; +#X connect 7 0 0 1; +#X connect 8 0 5 1; +#X connect 8 0 11 1; +#X connect 10 0 7 0; +#X connect 10 1 7 0; +#X connect 10 2 11 0; +#X connect 11 0 0 1; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 11 1; +#X connect 15 1 5 1; +#X connect 16 0 5 1; +#X connect 16 0 11 1; diff --git a/count.timed-help.pd b/count.timed-help.pd new file mode 100644 index 0000000..846ca08 --- /dev/null +++ b/count.timed-help.pd @@ -0,0 +1,47 @@ +#N canvas 277 245 900 649 12; +#X floatatom 110 193 5 0 0 0 - - -; +#X obj 39 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 176 221 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 199 220 Stop; +#X text 160 190 Interval (ms); +#X floatatom 39 302 5 0 0 0 - - -; +#X obj 314 111 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 363 290 5 0 0 0 - - -; +#X text 431 210 Arg 1's default value is 1000 milliseconds.; +#X text 337 110 Count till 10; +#X text 330 176 This example stop the count once it reaches 10; +#X obj 314 258 sel 11; +#X text 62 111 Reset and start.; +#X obj 125 362 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 174 541 5 0 0 0 - - -; +#X obj 125 509 sel 11; +#X obj 68 135 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 85 134 Pause/unpause.; +#X msg 58 481 bang; +#X obj 39 241 count.timed 1000; +#X text 17 12 Description: counts integers at a certain speed.; +#X obj 314 210 count.timed; +#X msg 95 163 set 5; +#X text 147 163 Sets the value.; +#X obj 125 461 count.timed 100; +#X text 146 361 This example will count from 0 to 10 non stop.; +#X connect 0 0 19 1; +#X connect 1 0 19 0; +#X connect 2 0 19 2; +#X connect 6 0 21 0; +#X connect 11 0 21 2; +#X connect 11 1 7 0; +#X connect 13 0 24 0; +#X connect 15 0 18 0; +#X connect 15 1 14 0; +#X connect 16 0 19 0; +#X connect 18 0 24 0; +#X connect 19 0 5 0; +#X connect 21 0 11 0; +#X connect 22 0 19 0; +#X connect 24 0 15 0; diff --git a/count.timed.pd b/count.timed.pd new file mode 100644 index 0000000..8e0b61e --- /dev/null +++ b/count.timed.pd @@ -0,0 +1,35 @@ +#N canvas 54 171 836 606 12; +#X obj 77 8 inlet; +#X obj 302 14 inlet; +#X obj 174 488 outlet; +#X obj 188 254 metro \$1; +#X text 353 12 interval; +#X obj 480 11 inlet; +#X text 531 11 Stop it; +#X msg 480 43 0; +#X text 128 8 Start it; +#X obj 395 209 loadbang; +#X obj 126 135 route float; +#X obj 130 178 change; +#X obj 228 158 t b b b; +#X msg 231 201 set 1; +#X obj 359 238 init.df \$1 1000; +#X obj 183 358 count.iter; +#X obj 54 96 route set; +#X connect 0 0 16 0; +#X connect 1 0 14 0; +#X connect 3 0 15 0; +#X connect 5 0 7 0; +#X connect 7 0 3 0; +#X connect 9 0 14 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 3 0; +#X connect 12 0 3 0; +#X connect 12 1 13 0; +#X connect 12 2 15 1; +#X connect 13 0 11 0; +#X connect 14 0 3 1; +#X connect 15 0 2 0; +#X connect 16 0 15 1; +#X connect 16 1 10 0; diff --git a/count.up&down-help.pd b/count.up&down-help.pd new file mode 100644 index 0000000..f16afd4 --- /dev/null +++ b/count.up&down-help.pd @@ -0,0 +1,29 @@ +#N canvas 262 348 687 436 10; +#X obj 97 110 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 90 207 5 0 0 0 - - -; +#X obj 91 140 metro 250; +#X msg 208 137 0; +#X msg 263 140 10; +#X msg 261 178 -20; +#X text 95 22 Description: A counter that counts up and down.; +#X text 310 150 Right inlet sets internal value.; +#X obj 111 253 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 104 350 5 0 0 0 - - -; +#X obj 105 283 metro 250; +#X msg 222 280 0; +#X msg 277 283 10; +#X obj 104 322 count.up&down -10 10; +#X obj 90 179 count.up&down 0 10; +#X connect 0 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 14 1; +#X connect 4 0 14 1; +#X connect 5 0 14 1; +#X connect 8 0 10 0; +#X connect 10 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 13 1; +#X connect 13 0 9 0; +#X connect 14 0 1 0; diff --git a/count.up&down.pd b/count.up&down.pd new file mode 100644 index 0000000..e30bfc8 --- /dev/null +++ b/count.up&down.pd @@ -0,0 +1,48 @@ +#N canvas 0 0 571 568 10; +#X obj 62 38 inlet; +#X obj 246 544 outlet; +#X obj 73 84 b; +#X obj 91 137 f 1; +#X obj 106 228 + \$1; +#X obj 373 411 t b b; +#X obj 370 448 f \$2; +#X obj 3 449 t b b; +#X obj 29 499 f \$1; +#X obj 318 486 t f f; +#X msg 29 165 1; +#X msg 215 125 -1; +#X obj 91 271 t f f f; +#X obj 120 337 > \$1; +#X obj 246 430 moses \$2; +#X obj 355 63 inlet set; +#X obj 51 387 spigot; +#X obj 73 323 t f f; +#X obj 81 360 == 0; +#X obj 129 387 spigot; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 12 0; +#X connect 5 0 6 0; +#X connect 5 1 11 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 7 1 10 0; +#X connect 8 0 9 0; +#X connect 9 0 1 0; +#X connect 9 1 4 1; +#X connect 10 0 3 1; +#X connect 11 0 3 1; +#X connect 12 0 17 0; +#X connect 12 1 13 0; +#X connect 12 2 4 1; +#X connect 13 0 18 0; +#X connect 13 0 19 1; +#X connect 14 0 1 0; +#X connect 14 1 5 0; +#X connect 15 0 4 1; +#X connect 16 0 7 0; +#X connect 17 0 16 0; +#X connect 17 1 19 0; +#X connect 18 0 16 1; +#X connect 19 0 14 0; diff --git a/data.floats-help.pd b/data.floats-help.pd new file mode 100644 index 0000000..8ffdd0d --- /dev/null +++ b/data.floats-help.pd @@ -0,0 +1,75 @@ +#N canvas 0 90 660 375 10; +#X obj 83 43 gemhead; +#X obj 85 293 translateXYZ; +#X obj 325 147 pack f f; +#X floatatom 337 90 5 0 0 0 - - -; +#X obj 337 115 t b f; +#X floatatom 325 70 5 0 0 0 - - -; +#X obj 85 315 square 0.2; +#X obj 182 57 gems.win; +#X obj 181 34 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 135 159 count.iter 0 1; +#N canvas 657 139 561 509 load_some 0; +#X obj 240 143 loadbang; +#X obj 187 143 inlet; +#X obj 189 194 t b; +#X obj 270 297 outlet; +#X msg 134 231 0 -3; +#X msg 170 235 1 -2; +#X msg 203 239 2 -1; +#X msg 243 236 3 0; +#X msg 280 239 4 1; +#X msg 320 236 5 2; +#X msg 356 235 6 3; +#X connect 0 0 2 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 6 0; +#X connect 2 0 8 0; +#X connect 2 0 9 0; +#X connect 2 0 10 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 7 0 3 0; +#X connect 8 0 3 0; +#X connect 9 0 3 0; +#X connect 10 0 3 0; +#X restore 292 224 pd load_some; +#X obj 291 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 461 204 7 -1; +#X text 30 5 Description: Stores an array of n floats.; +#X obj 182 204 data.floats 7; +#X obj 183 228 data.floats 7; +#X obj 462 182 flow.prepend set; +#X obj 82 100 gems.duplicate 7; +#X text 376 88 Its new value; +#X text 412 205 DEBUG:; +#X text 367 72 Index number to alter; +#X text 219 304 Get the numbers by sending their index to the left +inlet. Set the values by sending a two-sized list to the second inlet. +(index value); +#X connect 0 0 17 0; +#X connect 1 0 6 0; +#X connect 2 0 14 1; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 2 1; +#X connect 5 0 2 0; +#X connect 8 0 7 0; +#X connect 9 0 14 0; +#X connect 9 0 15 0; +#X connect 10 0 14 1; +#X connect 10 0 15 1; +#X connect 11 0 10 0; +#X connect 14 0 1 1; +#X connect 15 0 1 2; +#X connect 16 0 12 0; +#X connect 17 0 1 0; +#X connect 17 1 9 0; +#X connect 17 2 9 1; diff --git a/data.floats.pd b/data.floats.pd new file mode 100644 index 0000000..4440157 --- /dev/null +++ b/data.floats.pd @@ -0,0 +1,35 @@ +#N canvas 703 28 773 656 10; +#X obj 103 50 inlet; +#X obj 370 120 inlet; +#X obj 211 216 tabread \$0table; +#X obj 151 106 route list float; +#X obj 114 386 outlet; +#X obj 152 144 t a a; +#X obj 31 287 tabwrite \$0table; +#X obj 24 314 table \$0table \$1; +#X msg 126 178 \$2 \$1; +#X obj 99 222 unpack f f; +#X msg 180 186 \$1; +#X obj 53 131 print list; +#X obj 315 322 loadbang; +#X obj 314 363 f \$1; +#X obj 318 396 sel 0; +#X obj 287 577 print ERROR; +#X msg 318 476 data.floats You must provide a max number of floats +to be stored; +#X connect 0 0 3 0; +#X connect 1 0 8 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 3 1 2 0; +#X connect 3 2 2 0; +#X connect 5 0 10 0; +#X connect 5 1 8 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 9 1 6 1; +#X connect 10 0 2 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 16 0; +#X connect 16 0 15 0; diff --git a/data.index-help.pd b/data.index-help.pd new file mode 100644 index 0000000..59d53b9 --- /dev/null +++ b/data.index-help.pd @@ -0,0 +1,23 @@ +#N canvas 632 207 450 300 10; +#X obj 100 175 data.index; +#X obj 70 221 print OLD_INDEX; +#X obj 191 218 print NEW_INDEX; +#X msg 43 88 la; +#X msg 94 86 le; +#X msg 142 85 li; +#X msg 186 88 lo; +#X msg 224 95 lu; +#X text 33 32 Description: Creates an index for new data. Returns the +index of data already treated.; +#X msg 189 126 34; +#X obj 249 152 bng 15 250 50 0 empty empty clear 17 7 0 10 -262144 +-1 -1; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 1; diff --git a/data.index.pd b/data.index.pd new file mode 100644 index 0000000..a567f19 --- /dev/null +++ b/data.index.pd @@ -0,0 +1,56 @@ +#N canvas 465 255 636 513 10; +#X obj 75 28 inlet query; +#X obj 73 451 outlet; +#X obj 477 456 outlet; +#X obj 169 294 coll; +#C restore; +#X obj 54 300 spigot; +#X msg 127 180 1; +#X obj 176 340 t a b; +#X msg 196 371 0; +#X obj 474 133 f; +#X obj 539 155 + 1; +#X obj 344 259 list trim; +#X obj 76 138 t a a b; +#X obj 349 105 t b a b; +#X obj 475 164 t f f f; +#X obj 479 294 f; +#X obj 325 169 list prepend store; +#X obj 333 215 list append; +#X obj 482 15 inlet CLEAR; +#X obj 482 43 t b b; +#X msg 513 73 0; +#X msg 259 95 clear; +#X obj 95 205 route float symbol; +#X obj 211 247 tosymbol; +#X connect 0 0 11 0; +#X connect 3 0 6 0; +#X connect 4 0 12 0; +#X connect 5 0 4 1; +#X connect 6 0 1 0; +#X connect 6 1 7 0; +#X connect 7 0 4 1; +#X connect 8 0 13 0; +#X connect 9 0 8 1; +#X connect 10 0 3 0; +#X connect 11 0 4 0; +#X connect 11 1 21 0; +#X connect 11 2 5 0; +#X connect 12 0 14 0; +#X connect 12 1 15 0; +#X connect 12 2 8 0; +#X connect 13 0 16 1; +#X connect 13 1 9 0; +#X connect 13 2 14 1; +#X connect 14 0 2 0; +#X connect 15 0 16 0; +#X connect 16 0 10 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 18 1 19 0; +#X connect 19 0 8 1; +#X connect 20 0 3 0; +#X connect 21 0 3 0; +#X connect 21 1 3 0; +#X connect 21 2 22 0; +#X connect 22 0 3 0; diff --git a/data.index.samples-help.pd b/data.index.samples-help.pd new file mode 100644 index 0000000..b1b80a5 --- /dev/null +++ b/data.index.samples-help.pd @@ -0,0 +1,19 @@ +#N canvas 236 103 832 380 10; +#X obj 67 139 data.index.samples; +#X obj 70 104 openpanel; +#X obj 70 63 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 44 187 print index; +#X obj 127 188 print tableL; +#X obj 213 188 print tableR; +#X obj 306 189 print size; +#X obj 387 187 print size_of_sample_just_loaded; +#X text 72 11 Description: Automatically loads a sound file if it is +new. Returns it's tables and size if it has already been loaded.; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 0 2 5 0; +#X connect 0 3 6 0; +#X connect 0 4 7 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; diff --git a/data.index.samples.pd b/data.index.samples.pd new file mode 100644 index 0000000..26961fd --- /dev/null +++ b/data.index.samples.pd @@ -0,0 +1,62 @@ +#N canvas 386 149 944 526 10; +#X obj 166 129 convert.spaces2 _; +#X obj 518 364 s pd-\$0tables; +#X obj 436 258 * 20; +#X obj 416 419 soundfiler; +#X obj 416 288 pack f f \$0 s; +#X obj 416 323 t l l; +#X msg 416 394 read -resize \$4 \$1L@\$3 \$1R@\$3; +#X obj 281 401 table.size; +#N canvas 0 0 450 300 \$0tables 0; +#X obj 10 0 table 0L@2895; +#X obj 200 0 table 0R@2895; +#X obj 10 20 table 1L@2895; +#X obj 200 20 table 1R@2895; +#X obj 10 0 table 0L@4192; +#X obj 200 0 table 0R@4192; +#X restore 543 146 pd \$0tables; +#X msg 518 340 obj 10 \$2 table \$1L@\$3 \, obj 200 \$2 table \$1R@\$3 +; +#X obj 166 188 data.index; +#X obj 196 255 pack f \$0; +#X obj 169 228 t f f; +#X obj 197 280 t l l; +#X obj 197 335 t s s; +#X obj 140 463 outlet; +#X obj 238 463 outlet; +#X obj 328 467 outlet; +#X msg 197 311 symbol \$1L@\$2; +#X msg 293 311 symbol \$1R@\$2; +#X obj 51 463 outlet; +#X obj 428 460 outlet; +#X obj 166 60 inlet; +#X obj 166 104 t s s; +#X obj 169 80 tosymbol; +#X obj 264 212 t f f f; +#X connect 0 0 10 0; +#X connect 2 0 4 1; +#X connect 3 0 21 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 9 0; +#X connect 6 0 3 0; +#X connect 7 0 17 0; +#X connect 9 0 1 0; +#X connect 10 0 12 0; +#X connect 10 1 25 0; +#X connect 11 0 13 0; +#X connect 12 0 20 0; +#X connect 12 1 11 0; +#X connect 13 0 18 0; +#X connect 13 1 19 0; +#X connect 14 0 15 0; +#X connect 14 1 7 0; +#X connect 18 0 14 0; +#X connect 19 0 16 0; +#X connect 22 0 24 0; +#X connect 23 0 0 0; +#X connect 23 1 4 3; +#X connect 24 0 23 0; +#X connect 25 0 12 0; +#X connect 25 1 4 0; +#X connect 25 2 2 0; diff --git a/data.matrix-help.pd b/data.matrix-help.pd new file mode 100644 index 0000000..39a14bd --- /dev/null +++ b/data.matrix-help.pd @@ -0,0 +1,111 @@ +#N canvas 611 85 730 713 10; +#X declare -lib iemmatrix; +#X declare -lib iemmatrix; +#X declare -lib iemmatrix; +#X declare -lib iemmatrix; +#X msg 137 81 dump; +#X obj 42 538 print single_query; +#X floatatom 142 485 5 0 0 0 - - -; +#X floatatom 160 460 5 0 0 0 - - -; +#X msg 57 -4 create 10 10; +#X msg 77 27 create 10 10 -1; +#X msg 104 56 create 3 3 1; +#X msg 151 115 resize 11 10 -2; +#X text 138 -4 Creates a 10x10 matrix filled with zeros; +#X text 183 56 Creates a 3x3 matrix filled with 1s; +#X text 176 26 Creates a 10x10 matrix filled with -1s; +#X text 179 78 Dumps the matrix out the 3rd outlet; +#X text 256 107 Resizes a matrix to 11x10. Fills the NEW elements with +the number -2; +#X msg 159 145 resize 5 13; +#X text 281 176 Sets the matrix; +#X msg 198 201 print; +#X text 245 200 Prints the matrix; +#X obj 119 512 print dump; +#X msg 271 304 copy; +#X msg 274 353 paste; +#X msg 275 328 copy 1 1 5 5; +#X msg 271 379 paste 5 5; +#X msg 337 494 paste; +#X msg 383 497 print; +#X msg 517 494 print; +#X text 239 145 Resizes a matrix to 5x3. Fills the NEW elements with +zeros; +#X text 254 567 By default \, the data.matrix's internal matrix is +of size 1x1. You can change it's initial size with creation arguments +(rows cols initial_value).; +#X text 308 303 Copies the whole matrix in a buffer; +#X text 360 326 Copies elements 1 1 to 5 5 in a buffer; +#X text 317 355 Pastes a buffered matrix into the start of the target +matrix; +#X text 343 381 Pastes a buffered matrix into element 5 5 and onward +; +#X text 179 485 rows; +#X text 201 458 cols; +#X obj 60 709 print multi_query; +#X obj 44 588 loadbang; +#X msg 172 641 print; +#X msg 237 641 rows 4 6; +#N canvas 342 184 1024 730 random_matrix 0; +#X msg 64 63 10 10; +#X obj 64 27 inlet; +#X obj 66 179 outlet; +#X obj 64 88 iemmatrix/mtx_rand; +#X obj 71 120 iemmatrix/mtx_mul 100; +#X obj 63 152 iemmatrix/mtx_int; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X restore 45 620 pd random_matrix; +#X msg 236 663 cols 9 10; +#X text 304 640 Dumps the rows 4 through 6 out the second outlet; +#X text 308 661 Dumps the columns 9 through 10 out the second outlet +; +#X msg 231 232 element 1 1 100; +#X text 341 230 Sets element 1x1 to the value 100; +#X msg 244 254 element 1 1; +#X text 326 254 Gets the value of element 1x1; +#X msg 250 275 row 3; +#X msg 302 275 col 2; +#X text 344 277 Gets the whole row or column; +#X obj 49 437 data.matrix 10 10; +#X text 282 408 With the paste command \, the target matrix keeps it's +size. Extra data is automatically removed.; +#X text 277 439 Also \, the copy and paste buffer is common to all +data.matrix abstractions (you can copy and paste between the abstractions +as long as the data.matrix from which you copied still exists).; +#X msg 159 175 matrix 2 2 1 2 3 4; +#X obj 320 534 data.matrix 2 2; +#X obj 45 681 data.matrix; +#X obj 517 526 data.matrix 3 3 -2; +#X connect 0 0 48 0; +#X connect 4 0 48 0; +#X connect 5 0 48 0; +#X connect 6 0 48 0; +#X connect 7 0 48 0; +#X connect 13 0 48 0; +#X connect 15 0 48 0; +#X connect 18 0 48 0; +#X connect 19 0 48 0; +#X connect 20 0 48 0; +#X connect 21 0 48 0; +#X connect 22 0 52 0; +#X connect 23 0 52 0; +#X connect 24 0 54 0; +#X connect 34 0 37 0; +#X connect 35 0 53 0; +#X connect 36 0 53 0; +#X connect 37 0 53 0; +#X connect 38 0 53 0; +#X connect 41 0 48 0; +#X connect 43 0 48 0; +#X connect 45 0 48 0; +#X connect 46 0 48 0; +#X connect 48 0 1 0; +#X connect 48 2 17 0; +#X connect 48 3 2 0; +#X connect 48 4 3 0; +#X connect 51 0 48 0; +#X connect 53 1 33 0; diff --git a/data.matrix.pd b/data.matrix.pd new file mode 100644 index 0000000..8c12179 --- /dev/null +++ b/data.matrix.pd @@ -0,0 +1,453 @@ +#N canvas 404 93 1028 734 10; +#X declare -lib iemmatrix; +#X obj 58 658 outlet; +#X obj 203 660 outlet; +#X obj 371 672 outlet; +#X obj 515 670 outlet; +#X obj 37 15 inlet; +#X obj 574 80 route bang; +#X obj 289 654 outlet; +#X obj 128 123 t a b; +#X msg 286 227 5; +#N canvas 43 21 985 734 copy_paste 0; +#X obj 460 560 mtx_fill; +#X obj 30 36 inlet copy; +#X obj 371 42 inlet paste; +#X obj 172 53 r \$0copy; +#X obj 31 134 mtx_slice; +#X obj 36 194 t a b; +#X obj 64 218 f \$0; +#X obj 66 242 value data.matrix.clipboard; +#X obj 488 184 r \$0paste; +#X obj 193 146 value data.matrix.clipboard; +#X obj 71 516 table \$0data 3; +#X obj 35 290 route matrix; +#X obj 35 325 t a a; +#X obj 99 361 list.length; +#X obj 99 443 s \$0data; +#X obj -1 397 tabset \$0data; +#X obj 278 198 tabdump \$0data; +#X obj 356 106 t b a; +#X msg 190 171 set \$1data \, bang; +#X obj 280 270 t a a; +#X obj 317 291 mtx_size; +#X obj 482 267 unpack f f; +#X obj 488 221 t a a; +#X msg 99 394 resize \$1; +#X obj 286 523 mtx_slice; +#X obj 320 471 pack f f; +#X obj 728 321 r \$0size; +#X obj 460 614 s \$0pasted_matrix; +#X msg 324 493 1 1 \$1 \$2; +#X obj 467 302 - 1; +#X obj 533 312 - 1; +#X obj 729 346 unpack; +#X obj 332 383 expr if(($f1+$f2)<$f3 \, $f1 \, $f3-$f2); +#X obj 568 385 expr if(($f1+$f2)<$f3 \, $f1 \, $f3-$f2); +#X msg 671 298 matrix \$1 \$2; +#X obj 278 225 flow.prepend matrix; +#X connect 0 0 27 0; +#X connect 1 0 4 0; +#X connect 2 0 17 0; +#X connect 3 0 4 1; +#X connect 4 0 5 0; +#X connect 5 0 11 0; +#X connect 5 1 6 0; +#X connect 6 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 15 0; +#X connect 12 1 13 0; +#X connect 13 0 23 0; +#X connect 16 0 35 0; +#X connect 17 0 9 0; +#X connect 17 1 0 1; +#X connect 18 0 16 0; +#X connect 19 0 24 0; +#X connect 19 1 20 0; +#X connect 20 0 32 0; +#X connect 20 1 33 0; +#X connect 21 0 29 0; +#X connect 21 1 30 0; +#X connect 22 0 21 0; +#X connect 22 1 34 0; +#X connect 23 0 14 0; +#X connect 24 0 0 0; +#X connect 25 0 28 0; +#X connect 26 0 31 0; +#X connect 28 0 24 1; +#X connect 29 0 32 1; +#X connect 30 0 33 1; +#X connect 31 0 32 2; +#X connect 31 1 33 2; +#X connect 32 0 25 0; +#X connect 33 0 25 1; +#X connect 34 0 0 2; +#X connect 35 0 19 0; +#X restore 484 490 pd copy_paste; +#X obj 33 259 t a b; +#N canvas 248 192 909 694 resize 0; +#X obj 39 29 inlet; +#X obj 567 467 mtx_ones; +#X obj 501 26 r \$0resize; +#X obj 502 61 list.split 2; +#X obj 573 88 route bang; +#X msg 573 111 0; +#X obj 475 136 unpack f f; +#X obj 478 191 moses; +#X obj 587 190 moses; +#X obj 471 334 mtx_resize; +#X obj 217 288 demultiplex 0 1; +#X obj 549 300 pack f f; +#X obj 455 219 t b f; +#X msg 453 255 1; +#X msg 576 249 1; +#X obj 588 217 t b f; +#X obj 549 238 f; +#X obj 522 205 t b b; +#X msg 493 238 0; +#X obj 507 284 ||; +#X obj 679 251 f; +#X obj 657 221 t b b; +#X msg 636 242 0; +#X obj 491 528 mtx_fill; +#X obj 567 492 mtx_mul 1; +#X obj 340 424 demultiplex 0 1; +#X obj 470 391 ||; +#X msg 420 259 0; +#X msg 520 248 1; +#X obj 566 439 list; +#X obj 467 445 t a b; +#X msg 648 312 0; +#X msg 707 318 1; +#X obj 459 101 t a a; +#X obj 379 585 s \$0resized_matrix; +#X floatatom 386 349 5 0 0 0 - - -; +#X floatatom 466 302 5 0 0 0 - - -; +#X floatatom 618 301 5 0 0 0 - - -; +#X floatatom 699 368 5 0 0 0 - - -; +#X msg 575 538 matrix 1 1; +#X obj 658 506 loadbang; +#X obj 660 90 r \$0size; +#X obj 655 115 unpack; +#X connect 0 0 10 0; +#X connect 1 0 24 0; +#X connect 2 0 3 0; +#X connect 3 0 33 0; +#X connect 3 1 4 0; +#X connect 4 0 5 0; +#X connect 4 1 24 1; +#X connect 5 0 24 1; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 12 0; +#X connect 7 1 17 0; +#X connect 8 0 15 0; +#X connect 8 1 21 0; +#X connect 9 0 25 0; +#X connect 10 0 25 0; +#X connect 10 1 9 0; +#X connect 11 0 9 1; +#X connect 12 0 13 0; +#X connect 12 0 27 0; +#X connect 12 1 11 0; +#X connect 13 0 19 0; +#X connect 13 0 36 0; +#X connect 14 0 19 1; +#X connect 14 0 37 0; +#X connect 15 0 14 0; +#X connect 15 0 31 0; +#X connect 15 1 11 1; +#X connect 16 0 11 0; +#X connect 17 0 18 0; +#X connect 17 0 28 0; +#X connect 17 1 16 0; +#X connect 18 0 19 0; +#X connect 18 0 36 0; +#X connect 19 0 10 1; +#X connect 20 0 11 1; +#X connect 21 0 22 0; +#X connect 21 0 32 0; +#X connect 21 1 20 0; +#X connect 22 0 19 1; +#X connect 22 0 37 0; +#X connect 23 0 34 0; +#X connect 24 0 23 1; +#X connect 25 0 34 0; +#X connect 25 1 30 0; +#X connect 26 0 25 1; +#X connect 27 0 26 0; +#X connect 27 0 35 0; +#X connect 28 0 26 0; +#X connect 28 0 35 0; +#X connect 29 0 1 0; +#X connect 30 0 23 0; +#X connect 30 1 29 0; +#X connect 31 0 26 1; +#X connect 31 0 38 0; +#X connect 32 0 26 1; +#X connect 32 0 38 0; +#X connect 33 0 6 0; +#X connect 33 1 29 1; +#X connect 39 0 23 2; +#X connect 40 0 39 0; +#X connect 41 0 42 0; +#X connect 42 0 7 1; +#X connect 42 0 16 1; +#X connect 42 1 8 1; +#X connect 42 1 20 1; +#X restore 399 505 pd resize; +#N canvas 0 0 560 406 rows&cols 0; +#X obj 45 35 inlet; +#X obj 300 36 inlet; +#X obj 27 141 expr $f2-$f1; +#X obj 27 163 max 0; +#X obj 146 277 flow.prepend; +#X msg 178 180 row; +#X msg 344 165 col; +#X obj 86 344 outlet; +#X obj 407 336 outlet; +#X obj 45 61 t a b b; +#X obj 300 69 t a b b; +#X obj 33 112 t a a; +#X obj 29 216 flow.iter; +#X obj 28 253 +; +#X obj 96 179 unpack f f; +#X obj 28 189 + 1; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 3 0; +#X connect 3 0 15 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 6 0 4 1; +#X connect 9 0 11 0; +#X connect 9 1 5 0; +#X connect 9 2 8 0; +#X connect 10 0 11 0; +#X connect 10 1 6 0; +#X connect 10 2 8 0; +#X connect 11 0 2 0; +#X connect 11 1 14 0; +#X connect 12 0 13 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 12 0; +#X restore 579 253 pd rows&cols; +#N canvas 0 0 741 461 create 0; +#X obj 195 199 mtx_ones; +#X obj 188 13 inlet; +#X obj 604 406 outlet; +#X obj 81 410 outlet; +#X obj 195 230 mtx_mul 1; +#X obj 187 58 list.split 2; +#X obj 292 76 route bang; +#X msg 294 97 0; +#X obj 279 15 t a b; +#X connect 0 0 4 0; +#X connect 1 0 8 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 5 1 6 0; +#X connect 6 0 7 0; +#X connect 6 1 4 1; +#X connect 7 0 4 1; +#X connect 8 0 5 0; +#X connect 8 1 2 0; +#X restore 379 222 pd create; +#X obj 283 565 t a a; +#X obj 493 230 t b b; +#X msg 390 171 3; +#X msg 530 253 2; +#X msg 441 242 3; +#X msg 642 286 1; +#X msg 123 278 0; +#X obj 380 638 t f f; +#X obj 522 639 t f f; +#X obj 423 671 s \$0size; +#X obj 437 646 pack; +#X text 607 481 WAS WORKING HERE; +#N canvas 0 34 1028 734 do_resize 0; +#X obj 57 35 inlet; +#X obj 333 298 outlet; +#X obj 55 293 outlet; +#X obj 88 156 t b b; +#X obj 156 93 s \$0resize; +#X obj 61 68 t b a; +#X msg 118 179 4; +#X obj 292 122 r \$0resized_matrix; +#X obj 293 156 t a b; +#X msg 323 186 3; +#X connect 0 0 5 0; +#X connect 3 0 2 0; +#X connect 3 1 6 0; +#X connect 5 0 3 0; +#X connect 5 1 4 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 2 0; +#X connect 8 1 9 0; +#X connect 9 0 1 0; +#X restore 102 187 pd do_resize; +#X obj 205 64 route resize copy paste set create dump rows cols print +; +#X obj 250 396 demultiplex 0 1 2 3 4 5 6 7; +#X obj 725 253 t b b; +#X msg 754 276 7; +#N canvas 202 104 546 411 do_copy 0; +#X obj 62 29 inlet; +#X obj 79 351 outlet; +#X obj 260 358 outlet; +#X obj 63 61 t b b a; +#X obj 236 112 route bang; +#X msg 217 154 1 1 end end; +#X obj 313 235 s \$0copy; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 2 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 6 0; +#X restore 197 163 pd do_copy; +#N canvas 0 0 984 587 do_paste 0; +#X obj 65 107 value data.matrix.clipboard; +#X obj 65 131 sel 0; +#X obj 11 318 s \$0print; +#X msg 11 208 Nothing to paste; +#X obj 53 13 inlet; +#X obj 178 257 t b b; +#X obj 114 484 outlet; +#X obj 390 490 outlet; +#X obj 93 60 t b a; +#X obj 372 95 route bang; +#X obj 574 318 s \$0paste; +#X msg 230 373 6; +#X obj 317 346 r \$0pasted_matrix; +#X obj 317 378 t a b; +#X msg 351 415 3; +#X msg 377 158 1 1; +#X text 452 83 paste offset; +#X obj 176 216 spigot; +#X obj 625 173 expr if(($f1>$f3)||($f2>$f4) \, 0 \, 1); +#X obj 538 209 demultiplex 0 1; +#X obj 443 128 t a a; +#X obj 744 107 r \$0size; +#X obj 747 130 unpack; +#X obj 332 146 t b b; +#X msg 329 170 1; +#X msg 360 260 Paste row or col target is bigger than matrix size; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 17 0; +#X connect 3 0 2 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 5 1 11 0; +#X connect 8 0 0 0; +#X connect 8 1 9 0; +#X connect 9 0 23 0; +#X connect 9 1 20 0; +#X connect 11 0 7 0; +#X connect 12 0 13 0; +#X connect 13 0 6 0; +#X connect 13 1 14 0; +#X connect 14 0 7 0; +#X connect 15 0 10 0; +#X connect 17 0 5 0; +#X connect 18 0 19 1; +#X connect 18 0 17 1; +#X connect 19 0 25 0; +#X connect 19 1 10 0; +#X connect 20 0 19 0; +#X connect 20 1 18 0; +#X connect 21 0 22 0; +#X connect 22 0 18 2; +#X connect 22 1 18 3; +#X connect 23 0 24 0; +#X connect 23 1 15 0; +#X connect 24 0 17 1; +#X connect 25 0 2 0; +#X restore 288 166 pd do_paste; +#X obj 54 437 tabdump \$0data; +#X obj 60 469 print; +#X obj 69 389 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 +-1; +#X obj 765 104 dollarg; +#X obj 764 64 loadbang; +#X obj 807 128 sel 0; +#X msg 804 163 1 1; +#X obj 39 40 relay element row col matrix; +#X obj 585 427 iemmatrix/mtx_print; +#X obj 379 604 iemmatrix/mtx_size; +#X obj 125 98 iemmatrix/mtx_check; +#X obj 726 17 import iemmatrix; +#X obj 250 366 mtx; +#X connect 4 0 40 0; +#X connect 5 0 15 0; +#X connect 7 0 45 0; +#X connect 7 1 16 0; +#X connect 8 0 28 1; +#X connect 10 0 45 0; +#X connect 10 1 20 0; +#X connect 12 0 45 0; +#X connect 12 1 19 0; +#X connect 13 0 45 0; +#X connect 13 1 18 0; +#X connect 14 0 6 0; +#X connect 14 1 42 0; +#X connect 15 0 45 0; +#X connect 15 1 17 0; +#X connect 16 0 28 1; +#X connect 17 0 28 1; +#X connect 18 0 28 1; +#X connect 19 0 28 1; +#X connect 20 0 28 1; +#X connect 21 0 2 0; +#X connect 21 1 24 0; +#X connect 22 0 3 0; +#X connect 22 1 24 1; +#X connect 24 0 23 0; +#X connect 26 0 45 0; +#X connect 26 1 28 1; +#X connect 27 0 26 0; +#X connect 27 1 31 0; +#X connect 27 2 32 0; +#X connect 27 4 13 0; +#X connect 27 5 15 0; +#X connect 27 6 12 0; +#X connect 27 7 12 1; +#X connect 27 8 29 0; +#X connect 27 9 5 0; +#X connect 28 0 0 0; +#X connect 28 1 1 0; +#X connect 28 2 14 0; +#X connect 28 3 42 0; +#X connect 28 4 11 0; +#X connect 28 5 9 0; +#X connect 28 6 9 1; +#X connect 28 7 41 0; +#X connect 29 0 45 0; +#X connect 29 1 30 0; +#X connect 30 0 28 1; +#X connect 31 0 45 0; +#X connect 31 1 8 0; +#X connect 32 0 45 0; +#X connect 32 1 28 1; +#X connect 33 0 34 0; +#X connect 35 0 33 0; +#X connect 36 0 13 0; +#X connect 36 1 38 0; +#X connect 37 0 36 0; +#X connect 38 0 39 0; +#X connect 39 0 13 0; +#X connect 40 0 10 0; +#X connect 40 1 10 0; +#X connect 40 2 10 0; +#X connect 40 3 43 0; +#X connect 40 4 27 0; +#X connect 42 0 21 0; +#X connect 42 1 22 0; +#X connect 43 0 7 0; +#X connect 45 0 28 0; diff --git a/data.save.msg-help.pd b/data.save.msg-help.pd new file mode 100644 index 0000000..6f3123d --- /dev/null +++ b/data.save.msg-help.pd @@ -0,0 +1,39 @@ +#N canvas 269 332 634 472 10; +#X obj 80 284 cnv 15 150 50 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X msg 194 303 13; +#X floatatom 75 178 5 0 0 0 - - -; +#X text 56 54 Saves data in a message box. This does not work within +an abstraction. You have to put it in your main patch and save it every +time you want to save the settings you have set. Every reminder object +need to be connected to a message box with its right inlet and outlet. +The data will be stored in that message box in the parent patch. New +data changes the message box.; +#X msg 86 418 13; +#X obj 126 181 symbol; +#X msg 126 159 toto; +#X msg 207 377 set; +#X text 247 378 Erases the message; +#X text 242 305 You save the data in this message box.; +#X text 184 174 Inputs. Send it several values \, then save this help +patch \, close it and open it again.; +#X obj 87 303 data.save.msg; +#X obj 167 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 201 231 Bang outputs the current value.; +#X msg 276 267 set \$1; +#X floatatom 273 248 5 0 0 0 - - -; +#X text 334 270 set : changes the content without output; +#X obj 87 377 flow.prepend set; +#X text 54 21 Description: Simplest possible memory system in Pd.; +#X connect 1 0 11 1; +#X connect 2 0 11 0; +#X connect 5 0 11 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 11 0 17 0; +#X connect 11 1 1 0; +#X connect 12 0 11 0; +#X connect 14 0 11 0; +#X connect 15 0 14 0; +#X connect 17 0 4 0; diff --git a/data.save.msg.pd b/data.save.msg.pd new file mode 100644 index 0000000..f1f37ab --- /dev/null +++ b/data.save.msg.pd @@ -0,0 +1,22 @@ +#N canvas 797 137 696 616 10; +#X obj 48 61 inlet; +#X obj 496 27 loadbang; +#X obj 59 351 outlet; +#X obj 574 113 inlet; +#X obj 555 338 outlet; +#X obj 225 124 t a a; +#X obj 116 94 route bang set; +#X obj 235 325 flow.till.done; +#X obj 234 348 flow.prepend set; +#X obj 256 145 flow.prepend set; +#X connect 0 0 6 0; +#X connect 1 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 2 0; +#X connect 5 1 9 0; +#X connect 6 0 4 0; +#X connect 6 1 7 0; +#X connect 6 2 5 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 4 0; diff --git a/debug.clear-help.pd b/debug.clear-help.pd new file mode 100644 index 0000000..ea46aad --- /dev/null +++ b/debug.clear-help.pd @@ -0,0 +1,15 @@ +#N canvas 0 22 454 304 10; +#X obj 55 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 159 142 text Hola amigo ++++++++++; +#X msg 176 168 num 6; +#X text 45 29 Description: Clears the Pd text console.; +#X floatatom 304 195 5 0 0 0 - - -; +#X obj 269 240 print to-see-something-else; +#X msg 232 100 text _; +#X obj 54 216 debug.clear @num 30; +#X connect 0 0 7 0; +#X connect 1 0 7 1; +#X connect 2 0 7 1; +#X connect 4 0 5 0; +#X connect 6 0 7 1; diff --git a/debug.clear.pd b/debug.clear.pd new file mode 100644 index 0000000..b9d8cd5 --- /dev/null +++ b/debug.clear.pd @@ -0,0 +1,33 @@ +#N canvas 0 22 569 510 10; +#X obj 85 145 inlet; +#X obj 87 170 t b; +#X obj 260 97 inlet; +#X obj 306 180 dollarg; +#X obj 306 204 init.post.dollarg; +#X obj 312 109 loadbang; +#X obj 119 330 until; +#X obj 120 307 clip 0 100; +#X obj 144 462 print :; +#X obj 120 281 f 15; +#X obj 284 252 route num text; +#X obj 231 355 list; +#X obj 202 430 list.trim; +#X msg 425 145 text _; +#X obj 306 132 t b b; +#X connect 0 0 1 0; +#X connect 1 0 9 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 4 0 10 0; +#X connect 5 0 14 0; +#X connect 6 0 11 0; +#X connect 7 0 6 0; +#X connect 9 0 7 0; +#X connect 10 0 9 1; +#X connect 10 1 11 1; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 10 0; +#X connect 14 0 3 0; +#X connect 14 1 13 0; diff --git a/debug.date-help.pd b/debug.date-help.pd new file mode 100644 index 0000000..e629214 --- /dev/null +++ b/debug.date-help.pd @@ -0,0 +1,10 @@ +#N canvas 0 22 612 378 10; +#X obj 214 182 debug.date; +#X obj 212 207 debug.print SPAM; +#X obj 213 144 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 72 61 Description: Outputs a symbol representing the date and +time in a legible format; +#X text 75 96 Good for using with debug.log.file; +#X connect 0 0 1 0; +#X connect 2 0 0 0; diff --git a/debug.date.pd b/debug.date.pd new file mode 100644 index 0000000..22f2409 --- /dev/null +++ b/debug.date.pd @@ -0,0 +1,107 @@ +#N canvas 466 24 699 810 10; +#X obj 71 203 date; +#X msg 52 151 bang; +#X floatatom 94 350 0 0 0 0 - - -; +#X floatatom 82 374 0 0 0 0 - - -; +#X floatatom 71 401 0 0 0 0 - - -; +#X text 104 204 get the system date; +#X text 175 373 month; +#X text 179 399 year; +#X floatatom 124 240 0 0 0 0 - - -; +#X floatatom 112 264 0 0 0 0 - - -; +#X floatatom 101 291 0 0 0 0 - - -; +#X text 170 239 daylight-saving; +#X text 179 267 day of year; +#X text 180 293 day of week; +#X text 180 349 day of month; +#X text 111 163 part of zexy; +#X text 101 184 local (not GMT); +#X obj 69 432 pack f f f; +#X msg 69 457 \$1-\$2-\$3; +#X msg 460 331 bang; +#X floatatom 475 418 0 0 0 0 - - -; +#X floatatom 467 441 0 0 0 0 - - -; +#X floatatom 460 464 0 0 0 0 - - -; +#X obj 460 360 time; +#X floatatom 483 395 0 0 0 0 - - -; +#X text 540 398 msec; +#X text 541 420 sec; +#X text 542 441 min; +#X text 541 463 hours; +#X text 453 306 local; +#X obj 203 472 sel 0 1 2 3 4 5 6; +#X msg 172 505 Sun; +#X msg 206 505 Mon; +#X msg 235 504 Tue; +#X msg 265 505 Wed; +#X msg 297 506 Thu; +#X msg 325 505 Fri; +#X msg 358 511 Sat; +#X msg 443 518 \$1:\$2; +#X obj 443 496 pack f f; +#X obj 234 561 symbol; +#X obj 69 535 symbol; +#X obj 90 89 inlet; +#X obj 83 661 convert.list2symbol; +#X obj 92 112 t b b; +#X obj 428 542 symbol; +#X text 513 359 get the system time; +#X obj 83 690 outlet; +#X obj 350 658 debug.print debug.date; +#X obj 479 626 r \$0-verbose; +#X obj 478 604 s \$0-verbose; +#X obj 480 583 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 512 582 init.lf 0; +#X obj 544 529 makefilename %2ds; +#X obj 82 637 pack s s s; +#X connect 0 0 4 0; +#X connect 0 1 3 0; +#X connect 0 2 2 0; +#X connect 0 3 10 0; +#X connect 0 4 9 0; +#X connect 0 5 8 0; +#X connect 1 0 0 0; +#X connect 2 0 17 2; +#X connect 3 0 17 1; +#X connect 4 0 17 0; +#X connect 10 0 30 0; +#X connect 17 0 18 0; +#X connect 18 0 41 0; +#X connect 19 0 23 0; +#X connect 21 0 39 1; +#X connect 22 0 39 0; +#X connect 23 0 22 0; +#X connect 23 1 21 0; +#X connect 23 2 20 0; +#X connect 23 3 24 0; +#X connect 30 0 31 0; +#X connect 30 1 32 0; +#X connect 30 2 33 0; +#X connect 30 3 34 0; +#X connect 30 4 35 0; +#X connect 30 5 36 0; +#X connect 30 6 37 0; +#X connect 31 0 40 0; +#X connect 32 0 40 0; +#X connect 33 0 40 0; +#X connect 34 0 40 0; +#X connect 35 0 40 0; +#X connect 36 0 40 0; +#X connect 37 0 40 0; +#X connect 38 0 45 0; +#X connect 39 0 38 0; +#X connect 40 0 48 0; +#X connect 40 0 54 1; +#X connect 41 0 48 0; +#X connect 41 0 54 0; +#X connect 42 0 44 0; +#X connect 43 0 47 0; +#X connect 44 0 0 0; +#X connect 44 1 23 0; +#X connect 45 0 48 0; +#X connect 45 0 54 2; +#X connect 49 0 48 1; +#X connect 51 0 50 0; +#X connect 52 0 50 0; +#X connect 54 0 43 0; diff --git a/debug.log-help.pd b/debug.log-help.pd new file mode 100644 index 0000000..71bea8a --- /dev/null +++ b/debug.log-help.pd @@ -0,0 +1,12 @@ +#N canvas 683 196 454 304 10; +#X msg 65 118 egg \$1; +#X floatatom 62 84 5 0 0 0 - - -; +#X msg 133 132 bacon ham \$1; +#X floatatom 135 107 5 0 0 0 - - -; +#X text 55 53 Will work together with debug.log.file; +#X text 62 24 Logs some data in a log file; +#X obj 73 178 debug.log @group spam @prefix CHECK THIS; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 2 0; diff --git a/debug.log.file-help.pd b/debug.log.file-help.pd new file mode 100644 index 0000000..ad504ca --- /dev/null +++ b/debug.log.file-help.pd @@ -0,0 +1,39 @@ +#N canvas 385 75 905 348 10; +#X msg 44 167 egg spam bacon ham beef \$1; +#X floatatom 42 141 5 0 0 0 - - -; +#X msg 449 149 savepanel; +#X msg 431 90 save; +#X msg 450 210 interval \$1; +#X floatatom 448 185 5 0 0 0 - - -; +#X obj 42 194 debug.log.file @file __TEST__debug_log_file.txt @interval +60 @group foo/bar; +#X msg 427 66 print; +#X msg 441 121 file foo.txt; +#X msg 423 40 auto \$1; +#X obj 421 18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 488 32 auto prints every n seconds; +#X msg 448 259 verbose \$1; +#X obj 452 235 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 29 29 Description: File logger for errors and other informations +; +#X text 485 90 saves now; +#X text 538 125 sets file; +#X text 539 149 save as... dialog; +#X text 553 207 interval in seconds between each save; +#X text 526 244 enables some informations about when the file is written +\, and so on; +#X text 474 64 prints log file contents; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 2 0 6 1; +#X connect 3 0 6 1; +#X connect 4 0 6 1; +#X connect 5 0 4 0; +#X connect 7 0 6 1; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 9 0; +#X connect 12 0 6 1; +#X connect 13 0 12 0; diff --git a/debug.log.file.pd b/debug.log.file.pd new file mode 100644 index 0000000..279cc3c --- /dev/null +++ b/debug.log.file.pd @@ -0,0 +1,104 @@ +#N canvas 346 149 908 602 10; +#X obj 253 387 textfile; +#X obj 11 34 inlet; +#X obj 264 22 inlet; +#X obj 101 125 spigot 1; +#X obj 304 95 init.post.dollarg; +#X obj 303 69 dollarg; +#X obj 305 22 loadbang; +#X obj 252 245 symbol; +#X obj 254 181 convert.list2symbol; +#X msg 238 275 read \$1 cr; +#X msg 325 308 write \$1 cr; +#X obj 101 149 flow.prepend add; +#X obj 328 284 symbol; +#X obj 328 236 t b; +#X msg 280 309 print; +#X obj 477 381 symbol; +#X obj 501 220 s \$0textfile; +#X obj 307 349 r \$0textfile; +#X obj 382 215 f; +#X obj 202 504 print debug.log.file:line; +#X obj 323 410 print debug.log.file:done; +#X obj 252 214 file.path.relative; +#X obj 473 243 t b; +#X obj 474 269 savepanel; +#X obj 612 268 metro 10000; +#X obj 672 242 * 1000; +#X msg 548 92 auto 1; +#X obj 305 47 t b b b; +#X obj 363 67 s \$0.pre.init; +#X obj 657 186 r \$0.pre.init; +#X obj 194 88 s \$0.post.init; +#X obj 641 309 r \$0.post.init; +#X obj 610 352 spigot; +#X msg 641 330 1; +#X msg 657 209 1; +#X obj 471 344 convert.list2symbol; +#X obj 521 383 print group; +#X obj 639 6 r \$0-print; +#X obj 664 60 spigot; +#X obj 255 154 route file print save group enable savepanel interval +auto verbose; +#X obj 675 101 print debug.log.file; +#X obj 123 370 s \$0-print; +#X msg 485 426 group \$1; +#X obj 453 489 s \$0-print; +#X msg 367 430 done; +#X obj 308 453 flow.prepend line; +#X connect 0 0 19 0; +#X connect 0 0 45 0; +#X connect 0 1 20 0; +#X connect 0 1 44 0; +#X connect 1 0 3 0; +#X connect 2 0 39 0; +#X connect 3 0 11 0; +#X connect 4 0 39 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 27 0; +#X connect 7 0 9 0; +#X connect 7 0 12 1; +#X connect 8 0 21 0; +#X connect 9 0 0 0; +#X connect 9 0 41 0; +#X connect 10 0 0 0; +#X connect 10 0 41 0; +#X connect 11 0 0 0; +#X connect 12 0 10 0; +#X connect 13 0 12 0; +#X connect 14 0 0 0; +#X connect 17 0 0 0; +#X connect 18 0 3 1; +#X connect 21 0 7 0; +#X connect 22 0 23 0; +#X connect 23 0 7 0; +#X connect 24 0 32 0; +#X connect 25 0 24 1; +#X connect 26 0 39 0; +#X connect 27 0 30 0; +#X connect 27 1 5 0; +#X connect 27 2 28 0; +#X connect 29 0 34 0; +#X connect 31 0 33 0; +#X connect 32 0 12 0; +#X connect 33 0 32 1; +#X connect 34 0 24 0; +#X connect 35 0 15 1; +#X connect 35 0 36 0; +#X connect 35 0 42 0; +#X connect 37 0 38 0; +#X connect 38 0 40 0; +#X connect 39 0 8 0; +#X connect 39 1 14 0; +#X connect 39 2 13 0; +#X connect 39 3 35 0; +#X connect 39 4 18 0; +#X connect 39 5 22 0; +#X connect 39 6 25 0; +#X connect 39 7 24 0; +#X connect 39 8 38 1; +#X connect 39 9 16 0; +#X connect 42 0 43 0; +#X connect 44 0 43 0; +#X connect 45 0 43 0; diff --git a/debug.log.pd b/debug.log.pd new file mode 100644 index 0000000..94f43be --- /dev/null +++ b/debug.log.pd @@ -0,0 +1,27 @@ +#N canvas 0 22 627 565 10; +#X obj 24 109 inlet; +#X obj 264 46 inlet; +#X obj 403 412 print \$1; +#X obj 122 253 spigot 1; +#X obj 304 95 init.post.dollarg; +#X obj 303 69 dollarg; +#X obj 305 46 loadbang; +#X obj 253 154 route float enable group print prefix; +#X obj 123 350 flow.prepend DEBUG.LOG; +#X text 122 385 todo; +#X obj 402 366 spigot; +#X obj 165 411 print debug.log.TODO; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 3 0 8 0; +#X connect 3 0 10 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 6 0 5 0; +#X connect 7 0 3 1; +#X connect 7 1 3 1; +#X connect 7 3 10 1; +#X connect 7 4 8 1; +#X connect 8 0 11 0; +#X connect 10 0 2 0; diff --git a/debug.print-help.pd b/debug.print-help.pd new file mode 100644 index 0000000..74e7380 --- /dev/null +++ b/debug.print-help.pd @@ -0,0 +1,14 @@ +#N canvas 639 241 454 304 10; +#X obj 291 195 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X floatatom 154 134 5 0 0 0 - - -; +#X msg 154 165 egg spam bacon \$1; +#X symbolatom 104 106 10 0 0 0 - - -; +#X text 41 12 Description: Prints when enabled; +#X text 31 26 First argument is what is to be prepent in the pd text +console; +#X obj 108 219 debug.print MY_PRINT @enable 1; +#X connect 0 0 6 1; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 6 0; diff --git a/debug.print.pd b/debug.print.pd new file mode 100644 index 0000000..60a500d --- /dev/null +++ b/debug.print.pd @@ -0,0 +1,18 @@ +#N canvas 96 70 464 502 10; +#X obj 24 109 inlet; +#X obj 264 46 inlet; +#X obj 69 339 print \$1; +#X obj 253 154 route float enable; +#X obj 122 253 spigot 1; +#X obj 314 98 init.post.dollarg; +#X obj 313 72 dollarg; +#X obj 315 49 loadbang; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X connect 3 0 4 1; +#X connect 3 1 4 1; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 6 0; diff --git a/dyn.example.pd b/dyn.example.pd new file mode 100644 index 0000000..1c34956 --- /dev/null +++ b/dyn.example.pd @@ -0,0 +1,19 @@ +#N canvas 178 165 549 395 10; +#X obj 216 118 r \$2; +#X obj 287 235 init.lf \$1; +#X obj 215 287 s \$3; +#X text 38 39 Dollar two is a receive symbol for this instance only +; +#X text 39 57 Dollar three is the common receive for all the instances +created in this [dyn.poly] \, which is the object left outlet.; +#X text 32 -8 This is just an example patch for dyn.poly which does +not much; +#X text 32 23 Dollar one is replaced by the instance number; +#X obj 215 262 flow.prepend; +#X obj 299 262 print instance_number; +#X obj 215 142 flow.prepend you sent:; +#X connect 0 0 9 0; +#X connect 1 0 7 1; +#X connect 1 0 8 0; +#X connect 7 0 2 0; +#X connect 9 0 7 0; diff --git a/dyn.poly-help.pd b/dyn.poly-help.pd new file mode 100644 index 0000000..8bfac77 --- /dev/null +++ b/dyn.poly-help.pd @@ -0,0 +1,86 @@ +#N canvas 421 94 866 736 10; +#X obj 144 259 cnv 15 100 100 empty empty empty 20 12 0 14 -258113 +-66577 0; +#X text 124 -7 Description: Simple dynamic patching; +#X text 125 5 Author: Alexandre Quessy; +#X msg 487 118 num \$1; +#X floatatom 486 97 5 0 0 0 - - -; +#X msg 490 163 class \$1; +#X symbolatom 489 141 30 0 0 0 - - -; +#X floatatom 121 152 5 0 0 0 - - -; +#X msg 132 225 hello potato; +#X obj 368 355 print INFO; +#X obj 493 190 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 495 210 verbose \$1; +#X obj 512 428 debug.clear; +#X obj 513 407 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 126 22 Will create instances of the abstraction +name. You must create your own abstraction in order to instanciate +many using [dyn.poly]; +#X text 126 67 We choose the index of the instance using the 2nd inlet +; +#X text 130 403 Each instance (object) of the chosen class (object +name) has a number. Each has the following arguments : number \, receive +symbol \, send symbol.; +#X text 406 480 Look in this abstraction to see how we implemented +it :; +#X obj 412 501 dyn.example 3 3-XXXX-in XXXX-out; +#X text 405 518 Of course \, the XXXX are replaced by a unique ID. +; +#X text 190 337 common output; +#X text 58 177 Input to only one instance; +#X text 535 118 Changes the number of instances to create; +#X text 554 163 Class name (abstraction name) to create; +#X floatatom 94 223 5 0 0 0 - - -; +#X text 60 190 Send it some message and look the pd text console; +#X text 99 594 Dollar two is a receive symbol for this instance only +; +#X text 100 612 Dollar three is the common receive for all the instances +created in this [dyn.poly] \, which is the object left outlet.; +#X text 93 547 This is just an example patch for dyn.poly which does +not much; +#X text 93 578 Dollar one is replaced by the instance number; +#X text 161 149 index of the instance to send to; +#X text 133 86 Third inlet is for @rguments; +#X obj 74 359 route 0 1 2 3; +#X obj 71 381 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 92 383 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 111 382 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 131 382 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 170 369 print :; +#X text 101 652 [ +...]; +#X text 137 108 4th inlet : broadcast messages to all instances.; +#X text 139 444 Warning: Dynamic patching creates a lot of symbols +; +#X text 138 458 Dynamic patching is very slow. Should be done only +once \, at startup.; +#X obj 170 301 dyn.poly @class dyn.example @num 7 @flags egg bacon +spam; +#X msg 496 237 flags ham sausage; +#X text 101 672 You can add flags after. A flag can be any list \, +except arguments; +#X connect 3 0 42 2; +#X connect 4 0 3 0; +#X connect 5 0 42 2; +#X connect 6 0 5 0; +#X connect 7 0 42 1; +#X connect 8 0 42 0; +#X connect 10 0 11 0; +#X connect 11 0 42 2; +#X connect 13 0 12 0; +#X connect 24 0 42 0; +#X connect 32 0 33 0; +#X connect 32 1 34 0; +#X connect 32 2 35 0; +#X connect 32 3 36 0; +#X connect 42 0 32 0; +#X connect 42 0 37 0; +#X connect 42 1 9 0; +#X connect 43 0 42 2; diff --git a/dyn.poly.pd b/dyn.poly.pd new file mode 100644 index 0000000..ff42243 --- /dev/null +++ b/dyn.poly.pd @@ -0,0 +1,164 @@ +#N canvas 482 29 956 855 10; +#X obj 4 140 inlet; +#X obj 324 93 inlet; +#X obj 201 197 dollarg; +#X obj 201 221 init.post.dollarg; +#X obj 76 754 outlet; +#X obj 620 655 outlet; +#X obj 207 126 loadbang; +#X msg 362 472 clear; +#X obj 198 302 symbol default; +#X obj 630 453 symbol; +#X msg 628 479 class \$1; +#X obj 598 372 t b; +#X text 632 372 info; +#X obj 49 515 symbol; +#X obj 19 458 f 0; +#X obj 48 462 + 1; +#X msg 42 434 0; +#X obj 19 413 until; +#X obj 34 390 t f b; +#X obj 50 356 clip 0 10000; +#X obj 536 418 f; +#X msg 515 484 num \$1; +#X text 45 123 inlet index later; +#X obj 75 142 inlet; +#X floatatom 86 310 5 0 0 0 - - -; +#X obj 220 620 s pd-\$0-dyn; +#X text 95 513 class name; +#X obj 131 353 t f b; +#X obj 174 444 f; +#X obj 34 487 t b f f b; +#X msg 175 490 \$1-\$2-in; +#X obj 174 512 symbol; +#X obj 10 262 flow.send; +#X obj 112 183 f \$0; +#X msg 66 232 \$1-\$2-in; +#X obj 66 207 pack f f; +#X obj 65 179 t f b; +#X obj 79 259 init.ls 0-\$0-in; +#X obj 135 322 f; +#X obj 174 329 t b s; +#X obj 398 586 cnv 15 100 100 empty empty empty 20 12 0 14 -258113 +-66577 0; +#N canvas 0 22 518 368 \$0-dyn 0; +#X obj 100 100 gems.texture.poly.instance2 0 0-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 1 1-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 2 2-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 3 3-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 4 4-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 5 5-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 6 6-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 7 7-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 8 8-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 9 9-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 10 10-2478-in 2478-all-out +2478-all-in; +#X obj 100 100 gems.texture.poly.instance2 11 11-2478-in 2478-all-out +2478-all-in; +#X restore 400 590 pd \$0-dyn; +#X text 401 570 DYNAMIC PATCH; +#X obj 60 595 list append; +#X obj 61 620 list.trim; +#X obj 575 230 inlet; +#X obj 60 551 pack s f s s s; +#X obj 322 514 symbol \$0-all-in; +#X obj 570 259 s \$0-all-in; +#X msg 60 573 obj 100 100 \$1 \$2 \$3 \$4 \$5; +#X obj 201 446 f \$0; +#X obj 165 471 pack f f; +#X obj 55 647 debug.print DYN.POLY; +#X obj 180 269 route num class info verbose args window; +#X obj 434 459 sel 0 1; +#X msg 467 482 1; +#X msg 432 481 0; +#X obj 433 539 s pd-\$0-dyn; +#X msg 436 514 vis \$1; +#X obj 455 421 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 163 601 flow.any; +#X obj 234 511 symbol \$0-all-out; +#X obj 75 725 r \$0-all-out; +#X connect 0 0 32 0; +#X connect 1 0 53 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 53 0; +#X connect 6 0 2 0; +#X connect 7 0 25 0; +#X connect 8 0 9 1; +#X connect 8 0 39 0; +#X connect 9 0 10 0; +#X connect 10 0 5 0; +#X connect 11 0 9 0; +#X connect 11 0 20 0; +#X connect 13 0 46 0; +#X connect 14 0 15 0; +#X connect 14 0 29 0; +#X connect 15 0 14 1; +#X connect 16 0 14 1; +#X connect 17 0 14 0; +#X connect 18 0 17 0; +#X connect 18 1 16 0; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 21 0 5 0; +#X connect 23 0 36 0; +#X connect 24 0 27 0; +#X connect 27 0 19 0; +#X connect 27 1 7 0; +#X connect 28 0 51 0; +#X connect 29 0 13 0; +#X connect 29 1 46 1; +#X connect 29 2 28 0; +#X connect 29 3 47 0; +#X connect 29 3 50 0; +#X connect 29 3 60 0; +#X connect 29 3 61 0; +#X connect 30 0 31 0; +#X connect 31 0 46 2; +#X connect 33 0 35 1; +#X connect 34 0 32 1; +#X connect 35 0 34 0; +#X connect 36 0 35 0; +#X connect 36 1 33 0; +#X connect 37 0 32 1; +#X connect 38 0 27 0; +#X connect 39 0 38 0; +#X connect 39 1 13 1; +#X connect 43 0 44 0; +#X connect 44 0 25 0; +#X connect 44 0 52 0; +#X connect 45 0 48 0; +#X connect 46 0 49 0; +#X connect 47 0 46 4; +#X connect 49 0 43 0; +#X connect 50 0 51 1; +#X connect 51 0 30 0; +#X connect 53 0 20 1; +#X connect 53 0 38 0; +#X connect 53 1 8 0; +#X connect 53 2 11 0; +#X connect 53 3 52 1; +#X connect 53 4 60 0; +#X connect 53 5 54 0; +#X connect 54 0 56 0; +#X connect 54 1 55 0; +#X connect 54 2 55 0; +#X connect 55 0 58 0; +#X connect 56 0 58 0; +#X connect 58 0 57 0; +#X connect 59 0 54 0; +#X connect 60 0 43 1; +#X connect 61 0 46 3; +#X connect 62 0 4 0; diff --git a/examples/abstraction_arguments/01.postdollarg.pd b/examples/abstraction_arguments/01.postdollarg.pd new file mode 100644 index 0000000..a26092d --- /dev/null +++ b/examples/abstraction_arguments/01.postdollarg.pd @@ -0,0 +1,29 @@ +#N canvas 241 237 708 438 10; +#X floatatom 27 129 5 0 0 0 - - -; +#X floatatom 27 181 5 0 0 0 - - -; +#X floatatom 32 221 5 0 0 0 - - -; +#X floatatom 36 280 5 0 0 0 - - -; +#X floatatom 323 133 5 0 0 0 - - -; +#X floatatom 323 181 5 0 0 0 - - -; +#X text 112 152 defaults to 0 & 100; +#X text 105 103 Open abs_clipper to see how it works.; +#X text 459 155 min:-50 max:64; +#X text 246 251 min:-45 max:12; +#X text 469 165 min:-50 max:64; +#X text 517 246 min:0(default) max:50; +#X floatatom 379 224 5 0 0 0 - - -; +#X floatatom 372 274 5 0 0 0 - - -; +#X text 64 15 Description: Examples on how to use init.post.dollarg +\, the prefered abstraction creation arguments parsing.; +#X obj 28 155 abs_clipper; +#X obj 34 249 abs_clipper @max 12 @min -45; +#X obj 323 156 abs_clipper -50 64; +#X obj 374 246 abs_clipper @max 50; +#X connect 0 0 15 0; +#X connect 2 0 16 0; +#X connect 4 0 17 0; +#X connect 12 0 18 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 17 0 5 0; +#X connect 18 0 13 0; diff --git a/examples/abstraction_arguments/abs_clipper.pd b/examples/abstraction_arguments/abs_clipper.pd new file mode 100644 index 0000000..9c214aa --- /dev/null +++ b/examples/abstraction_arguments/abs_clipper.pd @@ -0,0 +1,20 @@ +#N canvas 681 403 535 439 10; +#X obj 201 11 loadbang; +#X obj 201 44 dollarg; +#X obj 26 27 inlet; +#X obj 26 385 outlet; +#X obj 52 133 route min max; +#X obj 139 154 unpack; +#X obj 26 298 clip 0 100; +#X obj 201 77 pdmtl/init.post.dollarg; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 1 1 7 1; +#X connect 2 0 6 0; +#X connect 4 0 6 1; +#X connect 4 1 6 2; +#X connect 4 2 5 0; +#X connect 5 0 6 1; +#X connect 5 1 6 2; +#X connect 6 0 3 0; +#X connect 7 0 4 0; diff --git a/examples/ambi/ambisonic_6.1.pd b/examples/ambi/ambisonic_6.1.pd new file mode 100644 index 0000000..1cfa3e7 --- /dev/null +++ b/examples/ambi/ambisonic_6.1.pd @@ -0,0 +1,250 @@ +#N canvas 54 170 1140 917 10; +#X msg 386 117 angle \$1; +#X floatatom 386 97 5 0 0 0 - - -; +#X obj 398 47 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 11900 1; +#X text 426 97 Angle is in degrees.; +#X obj 42 218 ambi.mono2wxyuvpq~ @angle 0; +#X text 49 33 Description: Decodes third order horizontal Ambisonic +B-Format to a mono sound intended for a speaker.; +#X obj 289 252 r ambi.angle; +#X obj 253 213 s ambi.angle; +#X text 74 97 See anbisonic_gems_viz in the examples/ directory.; +#X obj 45 549 dac~ 1 2 3 4 5 6 7; +#X text 37 579 left \, right \, center \, LFE \, LS \, RS \, CS; +#X obj 29 297 s~ w; +#X obj 61 297 s~ x; +#X obj 95 298 s~ y; +#X obj 127 298 s~ u; +#X obj 163 299 s~ v; +#X obj 197 300 s~ p; +#X obj 229 300 s~ q; +#X obj 38 327 r~ w; +#X obj 70 327 r~ x; +#X obj 104 328 r~ y; +#X obj 136 328 r~ u; +#X obj 172 330 r~ v; +#X obj 206 330 r~ p; +#X obj 238 330 r~ q; +#X obj 74 391 r~ w; +#X obj 106 391 r~ x; +#X obj 140 392 r~ y; +#X obj 172 392 r~ u; +#X obj 208 394 r~ v; +#X obj 242 394 r~ p; +#X obj 274 394 r~ q; +#X text 443 253 0 30 120 180 240 330; +#X obj 121 451 r~ w; +#X obj 153 451 r~ x; +#X obj 187 452 r~ y; +#X obj 219 452 r~ u; +#X obj 255 454 r~ v; +#X obj 289 454 r~ p; +#X obj 321 454 r~ q; +#X obj 451 313 r~ w; +#X obj 458 393 r~ w; +#X obj 490 393 r~ x; +#X obj 524 394 r~ y; +#X obj 556 394 r~ u; +#X obj 592 396 r~ v; +#X obj 626 396 r~ p; +#X obj 658 396 r~ q; +#X obj 505 453 r~ w; +#X obj 537 453 r~ x; +#X obj 571 454 r~ y; +#X obj 603 454 r~ u; +#X obj 639 456 r~ v; +#X obj 673 456 r~ p; +#X obj 706 455 r~ q; +#X obj 451 347 *~ 1; +#X floatatom 491 327 5 0 0 0 - - -; +#X obj 508 514 r~ w; +#X obj 540 514 r~ x; +#X obj 574 515 r~ y; +#X obj 606 515 r~ u; +#X obj 642 517 r~ v; +#X obj 676 517 r~ p; +#X obj 711 517 r~ q; +#X obj 235 641 env~; +#X obj 235 665 - 97; +#X floatatom 236 689 5 0 0 0 - - -; +#X obj 241 725 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj -27 220 env~; +#X obj -27 244 - 97; +#X floatatom -26 268 5 0 0 0 - - -; +#X obj -21 304 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X text 223 366 left; +#X text 262 427 right; +#X text 297 486 center; +#X text 505 347 LFE; +#X text 651 427 LS; +#X text 693 487 RS; +#X text 698 550 CS; +#X obj 121 487 ambi.wxyuvpq2mono~ @angle 0; +#X obj 458 429 ambi.wxyuvpq2mono~ @angle 120; +#X obj 505 489 ambi.wxyuvpq2mono~ @angle 240; +#X obj 508 550 ambi.wxyuvpq2mono~ @angle 180; +#X text 548 638 Outils: mesurer les gains.; +#X obj 832 433 dbtorms; +#X floatatom 936 465 5 0 0 0 - - -; +#X floatatom 905 468 5 0 0 0 - - -; +#X obj 920 328 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X obj 940 328 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -258113 +-1 -1 0 1; +#X obj 44 170 bp~ 220 10; +#X obj 44 145 noise~; +#X obj -6 -23 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 8500 1; +#X obj -6 115 mtof; +#X obj 554 79 count.modulo 360; +#X obj 555 52 metro 50; +#X obj 558 28 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X floatatom 605 25 5 0 0 0 - - -; +#X obj 38 365 ambi.wxyuvpq2mono~ @angle 60; +#X obj 74 427 ambi.wxyuvpq2mono~ @angle 300; +#X obj 786 198 readsf~ 4; +#X msg 799 125 1; +#X msg 799 146 0; +#X msg 800 168 print; +#X msg 786 100 open \$1; +#X obj 786 76 openpanel; +#X obj 787 51 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 833 125 Send it "1" to play once a file is opened.; +#X obj 876 258 dbtorms; +#X floatatom 876 237 5 0 0 0 - - -; +#X floatatom 877 287 5 0 0 0 - - -; +#X obj 699 238 *~ 1.414; +#X obj 700 267 *~ 1.5; +#X obj 856 211 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 996 267 env~; +#X obj 996 291 - 97; +#X floatatom 997 315 5 0 0 0 - - -; +#X obj 1002 351 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; +#X obj 697 296 ambi.wxyz.rotate~ @angle 0; +#X obj 45 252 catch~ to_w; +#X obj 123 251 catch~ to_x; +#X obj 199 251 catch~ to_y; +#X obj 656 340 throw~ to_w; +#X obj 732 349 throw~ to_x; +#X obj 814 344 throw~ to_y; +#X obj 483 195 hsl 120 15 0 360 0 0 empty empty empty -2 -8 0 10 -260097 +-1 -1 3504 1; +#X obj 163 157 *~ 1; +#X floatatom 188 126 5 0 0 0 - - -; +#X text 554 661 Gain sur 3 \, 4 et 7 channels; +#X text 468 716 dominance de 1 serait w = 25% de 1er ordre et 75% de +0e ordre; +#X connect 0 0 4 1; +#X connect 0 0 117 4; +#X connect 1 0 0 0; +#X connect 1 0 7 0; +#X connect 1 0 124 0; +#X connect 2 0 1 0; +#X connect 4 0 11 0; +#X connect 4 1 12 0; +#X connect 4 2 13 0; +#X connect 4 3 14 0; +#X connect 4 4 15 0; +#X connect 4 5 16 0; +#X connect 4 6 17 0; +#X connect 18 0 97 0; +#X connect 19 0 97 1; +#X connect 20 0 97 2; +#X connect 21 0 97 3; +#X connect 22 0 97 4; +#X connect 23 0 97 5; +#X connect 24 0 97 6; +#X connect 25 0 98 0; +#X connect 26 0 98 1; +#X connect 27 0 98 2; +#X connect 28 0 98 3; +#X connect 29 0 98 4; +#X connect 30 0 98 5; +#X connect 31 0 98 6; +#X connect 33 0 79 0; +#X connect 34 0 79 1; +#X connect 35 0 79 2; +#X connect 36 0 79 3; +#X connect 37 0 79 4; +#X connect 38 0 79 5; +#X connect 39 0 79 6; +#X connect 40 0 55 0; +#X connect 41 0 80 0; +#X connect 42 0 80 1; +#X connect 43 0 80 2; +#X connect 44 0 80 3; +#X connect 45 0 80 4; +#X connect 46 0 80 5; +#X connect 47 0 80 6; +#X connect 48 0 81 0; +#X connect 49 0 81 1; +#X connect 50 0 81 2; +#X connect 51 0 81 3; +#X connect 52 0 81 4; +#X connect 53 0 81 5; +#X connect 54 0 81 6; +#X connect 55 0 9 3; +#X connect 56 0 55 1; +#X connect 57 0 82 0; +#X connect 58 0 82 1; +#X connect 59 0 82 2; +#X connect 60 0 82 3; +#X connect 61 0 82 4; +#X connect 62 0 82 5; +#X connect 63 0 82 6; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 66 0 67 0; +#X connect 68 0 69 0; +#X connect 69 0 70 0; +#X connect 70 0 71 0; +#X connect 79 0 64 0; +#X connect 79 0 9 2; +#X connect 80 0 9 4; +#X connect 81 0 9 5; +#X connect 82 0 9 6; +#X connect 84 0 85 0; +#X connect 85 0 88 0; +#X connect 86 0 84 0; +#X connect 87 0 86 0; +#X connect 89 0 125 0; +#X connect 90 0 89 0; +#X connect 91 0 92 0; +#X connect 92 0 89 1; +#X connect 93 0 1 0; +#X connect 94 0 93 0; +#X connect 95 0 94 0; +#X connect 96 0 94 1; +#X connect 97 0 9 0; +#X connect 98 0 9 1; +#X connect 99 0 110 0; +#X connect 99 0 113 0; +#X connect 99 1 117 1; +#X connect 99 2 117 2; +#X connect 99 4 112 0; +#X connect 100 0 99 0; +#X connect 101 0 99 0; +#X connect 102 0 99 0; +#X connect 103 0 99 0; +#X connect 104 0 103 0; +#X connect 105 0 104 0; +#X connect 107 0 109 0; +#X connect 108 0 107 0; +#X connect 110 0 111 0; +#X connect 111 0 117 0; +#X connect 113 0 114 0; +#X connect 114 0 115 0; +#X connect 115 0 116 0; +#X connect 117 0 121 0; +#X connect 117 1 122 0; +#X connect 117 2 123 0; +#X connect 118 0 11 0; +#X connect 119 0 12 0; +#X connect 120 0 13 0; +#X connect 125 0 68 0; +#X connect 125 0 4 0; +#X connect 126 0 125 1; diff --git a/examples/ambi/ambisonic_basics.pd b/examples/ambi/ambisonic_basics.pd new file mode 100644 index 0000000..9581584 --- /dev/null +++ b/examples/ambi/ambisonic_basics.pd @@ -0,0 +1,32 @@ +#N canvas 439 102 969 721 10; +#X obj 99 162 ambi.wxy2mono~; +#X obj 99 141 ambi.mono2wxy~; +#X text 31 119 First order 2D :; +#X text 32 228 First order 3D :; +#X obj 100 250 ambi.mono2wxyz~; +#X obj 100 271 ambi.wxyz2mono~; +#X obj 590 327 image ../../medias/images/ambisonic.gif; +#X text 324 634 Copyright D.G. Malham \, University of York \, England +1998ent; +#X text 324 606 image from : http://www.york.ac.uk/inst/mustech/3d_audio/ambis2.htm +; +#X text 64 -12 Ambisonic system audio conversion abstractions for Pd. +; +#X obj 64 492 ambi.device.zoom2wxy~; +#X text 19 470 To encode from surround microphones :; +#X text 34 323 Third order 2D :; +#X obj 82 346 ambi.mono2wxyuvpq~; +#X obj 80 371 ambi.wxyuvpq2mono~; +#X text 62 4 "angle" argument : 0 degrees is the front of the room. +Angles grow counter-clockwise. (X is front-rear \, Y is left-right) +; +#X text 67 82 "duration" argument : ramp duration is ms for angle changes. +; +#X text 66 51 "elevation" argument : Elevation is in degrees \, from +0 to 90 (top) and -90 (bottom).; +#X obj 80 398 ambi.gain.7~; +#X obj 101 291 ambi.gain.4~; +#X obj 100 187 ambi.gain.3~; +#X text 211 490 (Zoom H2); +#X text 190 185 Gain is linear (not dB); +#X obj 78 421 ambi.dominance.7~ @dominance 0.5; diff --git a/examples/ambi/ambisonic_gems_viz.pd b/examples/ambi/ambisonic_gems_viz.pd new file mode 100644 index 0000000..43b1afa --- /dev/null +++ b/examples/ambi/ambisonic_gems_viz.pd @@ -0,0 +1,56 @@ +#N canvas 290 22 726 562 10; +#X obj 55 63 gems.win @dimen 320 320; +#X obj 55 42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X msg 31 392 draw line; +#X obj 33 370 loadbang; +#X obj 38 331 gems.duplicate 10; +#X obj 92 368 count.iter 4 -0.4; +#X obj 40 308 colorRGB 0 0.6 0; +#X obj 40 263 gemhead 100; +#X obj 40 284 polygon_smooth; +#X obj 16 416 circle 3 120; +#X obj 245 406 colorRGB 1 1 0; +#X obj 245 428 translateXYZ 1 0 0; +#X obj 377 151 r ambi.angle; +#X obj 346 399 ambi.angle2gem @angle 0; +#X floatatom 399 196 5 0 0 0 - - -; +#X obj 245 454 circle 0.5 20; +#X obj 525 381 gemhead 200; +#X obj 525 482 circle 0.5 20; +#X obj 525 456 translateXYZ 0 0 0; +#X obj 524 405 colorRGB 0 0 1; +#X obj 544 428 ambi.angle2gem @angle 270; +#X obj 526 257 colorRGB 1 0 0; +#X obj 527 233 gemhead 200; +#X obj 527 334 circle 0.5 20; +#X obj 546 280 ambi.angle2gem @angle 90; +#X obj 527 308 translateXYZ 0 0 0; +#X obj 244 350 gemhead 220; +#X connect 1 0 0 0; +#X connect 2 0 9 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 4 1 5 0; +#X connect 4 2 5 1; +#X connect 5 0 9 1; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 11 1; +#X connect 13 1 11 2; +#X connect 14 0 13 0; +#X connect 16 0 19 0; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 20 0 18 1; +#X connect 20 1 18 2; +#X connect 21 0 25 0; +#X connect 22 0 21 0; +#X connect 24 0 25 1; +#X connect 24 1 25 2; +#X connect 25 0 23 0; +#X connect 26 0 10 0; diff --git a/examples/basicstamp/Stamp2Pd.pd b/examples/basicstamp/Stamp2Pd.pd new file mode 100644 index 0000000..59eddaf --- /dev/null +++ b/examples/basicstamp/Stamp2Pd.pd @@ -0,0 +1,23 @@ +#N canvas 381 30 882 735 10; +#X msg 153 338 close; +#X obj 54 407 convert.ascii2pd CR; +#X text 195 402 ascii2pd is configured here to output a message when +it receives a carriage return (CR).; +#X floatatom 158 486 5 0 0 0 - - -; +#X obj 158 517 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 211 359; +#X text 210 345; +#X obj 87 451 print serialIN:; +#X obj 91 367 comport 0 9600; +#X text 198 337 Closes serial communication; +#X text 199 450 Print the serial input; +#X text 198 485 This is the transfered number; +#X text 199 366 To reopen serial port \, edit the comport object (replace +a char with the same char); +#X text 199 514 Bangs on every income; +#X connect 0 0 8 0; +#X connect 1 0 3 0; +#X connect 1 0 7 0; +#X connect 3 0 4 0; +#X connect 8 0 1 0; diff --git a/examples/basicstamp/credits.txt b/examples/basicstamp/credits.txt new file mode 100644 index 0000000..340c73e --- /dev/null +++ b/examples/basicstamp/credits.txt @@ -0,0 +1,2 @@ +Basic Stamp to PD +by Julien Beausejour (julienb), julien_beausejour@hotmail.com diff --git a/examples/basicstamp/pd2stamp.bs2 b/examples/basicstamp/pd2stamp.bs2 new file mode 100644 index 0000000..96cd45a --- /dev/null +++ b/examples/basicstamp/pd2stamp.bs2 @@ -0,0 +1,20 @@ +' {$STAMP BS2} +' {$PBASIC 2.5} + +value VAR Word 'declare your variable +value = 0 + +start: +SERIN 16, 16468, [DEC value] 'pin16 is the stamp serial port, 164868 means 9600 bauds, dec means decimal +IF value > 7 THEN GOSUB light +GOTO start + +light: +HIGH 1 'put a led on pin 1 +PAUSE 500 +LOW 1 +PAUSE 20 +value = 0 'reset variable +GOTO start + +END \ No newline at end of file diff --git a/examples/basicstamp/pd2stamp.pd b/examples/basicstamp/pd2stamp.pd new file mode 100644 index 0000000..34026e8 --- /dev/null +++ b/examples/basicstamp/pd2stamp.pd @@ -0,0 +1,28 @@ +#N canvas 381 30 894 747 10; +#X text 210 345 On my Debian machine \, port 54 maps to the Arduino +(ttyUSB0); +#X msg 141 338 close; +#X obj 91 278 convert.pd2ascii CR; +#X text 87 147 Start your messages with the list prefix (or pd2ascii +will try to send special characters)!; +#X text 236 276 pd2ascii is configured here to automatically append +a carriage return (CR) at the end of messages.; +#X text 101 11 This example uses version 3 of ascii4pd abstractions +(included with the SimpleMessageSystem download)!; +#X msg 15 361; +#X obj 11 333 prepend set; +#X msg 230 322 open com1 9600; +#X msg 18 130 list 8; +#X obj 91 367 comport 0 9600; +#X obj 38 62 metro 100; +#X obj 37 18 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 81 133 do not go over 9 on win32 \, use letters (pd will crash +!); +#X connect 1 0 10 0; +#X connect 2 0 7 0; +#X connect 2 0 10 0; +#X connect 7 0 6 0; +#X connect 9 0 2 0; +#X connect 11 0 9 0; +#X connect 12 0 11 0; diff --git a/examples/basicstamp/stamp2pd.bs2 b/examples/basicstamp/stamp2pd.bs2 new file mode 100644 index 0000000..c1c7821 --- /dev/null +++ b/examples/basicstamp/stamp2pd.bs2 @@ -0,0 +1,13 @@ +' {$STAMP BS2} +' {$PBASIC 2.5} + +start: +SEROUT 16, 16468, [DEC 72, CR] 'pin16 is the stamp serial port, 164868 means 9600 bauds, dec means decimal to send to pd +HIGH 1 'put a led on pin 1 +PAUSE 1000 + +LOW 1 +PAUSE 1000 +GOTO start + +END \ No newline at end of file diff --git a/examples/gems/audio_visual_sync.pd b/examples/gems/audio_visual_sync.pd new file mode 100644 index 0000000..da3bc11 --- /dev/null +++ b/examples/gems/audio_visual_sync.pd @@ -0,0 +1,79 @@ +#N struct 1878preview float x float y float p float h; +#N canvas 669 70 644 457 10; +#X declare -lib pdmtl; +#X obj 12 319 gems.movies; +#X msg 62 242 ../../medias/movies/sync00.mov; +#X obj 12 222 gemhead; +#X obj 12 408 square; +#X obj 261 67 sample.filer; +#X obj 12 245 t a b; +#X obj 62 222 loadbang; +#X obj 261 25 loadbang; +#X obj 112 275 snapshot~; +#X msg 112 296 rel \$1; +#X obj 17 82 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X obj 12 363 pix_texture; +#X obj 12 386 gems.fit.scale fill; +#X msg 54 298 0; +#X obj 54 277 loadbang; +#X obj 262 371 mix.out_~; +#X floatatom 158 297 5 0 0 0 - - -; +#X obj 261 182 sample.bounds_; +#X obj 261 91 sample.display_; +#X obj 331 335 anal.sig_~; +#X msg 330 253 -1; +#X msg 357 253 1; +#X floatatom 33 342 5 0 0 0 - - -; +#X obj 242 46 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 28 278 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 17 103 gems.win 720 480 @fps 29.97; +#X floatatom 386 253 5 0 0 0 - - -; +#X obj 17 43 import pdmtl; +#X msg 261 46 ../../medias/movies/sync00.wav; +#X obj 261 312 sample.play~; +#X obj 368 301 f; +#X obj 330 276 t b; +#X obj 307 335 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 394 300 delay 1; +#X text 425 251 <-- PLAY WITH SPEED; +#X connect 0 0 11 0; +#X connect 0 1 22 0; +#X connect 1 0 0 1; +#X connect 2 0 5 0; +#X connect 4 0 18 0; +#X connect 5 0 0 0; +#X connect 5 1 8 0; +#X connect 6 0 1 0; +#X connect 7 0 28 0; +#X connect 8 0 9 0; +#X connect 8 0 16 0; +#X connect 9 0 0 3; +#X connect 10 0 25 0; +#X connect 11 0 12 0; +#X connect 12 0 3 0; +#X connect 13 0 0 2; +#X connect 14 0 13 0; +#X connect 17 0 29 0; +#X connect 18 0 17 0; +#X connect 20 0 30 1; +#X connect 20 0 31 0; +#X connect 21 0 30 1; +#X connect 21 0 31 0; +#X connect 23 0 4 0; +#X connect 24 0 0 1; +#X connect 26 0 30 1; +#X connect 26 0 31 0; +#X connect 28 0 4 0; +#X connect 29 0 15 0; +#X connect 29 1 15 1; +#X connect 29 2 32 0; +#X connect 29 3 19 0; +#X connect 29 3 8 0; +#X connect 30 0 29 1; +#X connect 31 0 30 0; +#X connect 32 0 33 0; +#X connect 33 0 30 0; diff --git a/examples/gems/cube_cube_example.pd b/examples/gems/cube_cube_example.pd new file mode 100644 index 0000000..65c84b1 --- /dev/null +++ b/examples/gems/cube_cube_example.pd @@ -0,0 +1,45 @@ +#N canvas 623 161 403 460 10; +#X declare -lib pdmtl; +#X obj 44 76 gemhead; +#X floatatom 195 119 5 0 0 0 - - -; +#X obj 195 94 line; +#X obj 195 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 194 52 metro 5000; +#X msg 194 73 0 \, 360 5000; +#X text 213 29 <- Rotation animation; +#X obj 196 1 loadbang; +#X obj 44 135 rotateXYZ; +#X obj 44 104 gems.fit.scale window; +#X obj 44 303 alpha; +#X obj 109 333 gems.light; +#X obj 109 306 gemhead; +#X obj 40 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#X obj 40 31 gems.win 640 480; +#X obj 44 334 cube; +#X obj 44 231 scaleXYZ 0.3 0.3 0.3; +#X floatatom 170 155 5 0 0 0 - - -; +#X floatatom 220 174 5 0 0 0 - - -; +#X floatatom 222 202 5 0 0 0 - - -; +#X obj 44 196 gems.multi.cube 8 8 3 0.5; +#X obj 44 267 colorRGB 1 1 1 0.9; +#X obj 287 3 import pdmtl; +#X connect 0 0 9 0; +#X connect 1 0 8 2; +#X connect 1 0 8 1; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 7 0 3 0; +#X connect 8 0 20 0; +#X connect 9 0 8 0; +#X connect 10 0 15 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 16 0 21 0; +#X connect 17 0 20 3; +#X connect 18 0 20 4; +#X connect 19 0 16 3; +#X connect 20 0 16 0; +#X connect 21 0 10 0; diff --git a/examples/gems/fire_example.pd b/examples/gems/fire_example.pd new file mode 100644 index 0000000..038d085 --- /dev/null +++ b/examples/gems/fire_example.pd @@ -0,0 +1,189 @@ +#N canvas 308 160 828 508 10; +#X declare -lib pdmtl; +#X obj 62 17 gems.win 320 240; +#X obj 64 -10 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 230 59 gems.win.feedback; +#X obj 41 257 gemhead; +#X obj 183 261 gemhead; +#X obj 319 250 gemhead; +#X obj 444 252 gemhead; +#X obj 576 257 gemhead; +#X obj 44 185 delay; +#X obj 46 210 t b b; +#X obj 47 239 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 51 124 loadbang; +#X obj 45 157 random.f 10 500; +#X obj 167 179 delay; +#X obj 169 204 t b b; +#X obj 170 233 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 174 118 loadbang; +#X obj 168 151 random.f 10 500; +#X obj 289 171 delay; +#X obj 291 196 t b b; +#X obj 292 225 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 296 110 loadbang; +#X obj 290 143 random.f 10 500; +#X obj 432 165 delay; +#X obj 434 190 t b b; +#X obj 435 219 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 439 104 loadbang; +#X obj 433 137 random.f 10 500; +#X obj 566 162 delay; +#X obj 568 187 t b b; +#X obj 569 216 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 573 101 loadbang; +#X obj 567 134 random.f 10 500; +#X obj 412 9 loadbang; +#X obj 256 24 unpack f f f; +#X obj 598 387 colorRGB 1 1 1; +#X obj 444 374 colorRGB 1 1 1; +#X obj 304 380 colorRGB 1 1 1; +#X obj 17 289 translateXYZ -4 -3 0; +#X obj 183 324 translateXYZ -2 -3 0; +#X obj 322 324 translateXYZ 0 -3 0; +#X obj 453 320 translateXYZ 2 -3 0; +#X obj 586 319 translateXYZ 4 -3 0; +#X obj 19 386 colorRGB 1 0.5 0.5; +#X obj 176 388 colorRGB 1 0 0; +#N canvas 0 0 462 312 randoms 0; +#X obj 91 53 inlet; +#X obj 96 91 t b b; +#X obj 58 125 random.f 0 1; +#X obj 74 206 outlet; +#X obj 162 213 outlet; +#X obj 153 120 random.f 0 0.3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 5 0 4 0; +#X restore 50 336 pd randoms; +#N canvas 0 0 462 312 randoms 0; +#X obj 91 53 inlet; +#X obj 96 91 t b b; +#X obj 58 125 random.f 0 1; +#X obj 74 206 outlet; +#X obj 162 213 outlet; +#X obj 153 120 random.f 0 0.3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 5 0 4 0; +#X restore 202 354 pd randoms; +#N canvas 0 0 462 312 randoms 0; +#X obj 91 53 inlet; +#X obj 96 91 t b b; +#X obj 58 125 random.f 0 1; +#X obj 74 206 outlet; +#X obj 162 213 outlet; +#X obj 153 120 random.f 0 0.3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 5 0 4 0; +#X restore 340 353 pd randoms; +#N canvas 0 0 462 312 randoms 0; +#X obj 91 53 inlet; +#X obj 96 91 t b b; +#X obj 58 125 random.f 0 1; +#X obj 74 206 outlet; +#X obj 162 213 outlet; +#X obj 153 120 random.f 0 0.3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 5 0 4 0; +#X restore 467 351 pd randoms; +#N canvas 0 0 462 312 randoms 0; +#X obj 91 53 inlet; +#X obj 96 91 t b b; +#X obj 58 125 random.f 0 1; +#X obj 74 206 outlet; +#X obj 162 213 outlet; +#X obj 153 120 random.f 0 0.3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 5 0; +#X connect 2 0 3 0; +#X connect 5 0 4 0; +#X restore 619 355 pd randoms; +#X msg 414 32 1 0.99 0; +#X obj 230 82 translateXYZ 0 0.06 0; +#X obj 318 431 rectangle 1 0.3; +#X obj 592 -4 import pdmtl; +#X connect 1 0 0 0; +#X connect 2 0 51 0; +#X connect 3 0 38 0; +#X connect 4 0 39 0; +#X connect 5 0 40 0; +#X connect 6 0 41 0; +#X connect 7 0 42 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 12 0; +#X connect 9 1 45 0; +#X connect 10 0 3 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 14 1 17 0; +#X connect 14 1 46 0; +#X connect 15 0 4 0; +#X connect 16 0 17 0; +#X connect 17 0 13 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 19 1 22 0; +#X connect 19 1 47 0; +#X connect 20 0 5 0; +#X connect 21 0 22 0; +#X connect 22 0 18 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 1 27 0; +#X connect 24 1 48 0; +#X connect 25 0 6 0; +#X connect 26 0 27 0; +#X connect 27 0 23 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 29 1 32 0; +#X connect 29 1 49 0; +#X connect 30 0 7 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 33 0 50 0; +#X connect 34 0 2 1; +#X connect 34 1 2 2; +#X connect 34 2 2 3; +#X connect 35 0 52 0; +#X connect 36 0 52 0; +#X connect 37 0 52 0; +#X connect 38 0 43 0; +#X connect 39 0 44 0; +#X connect 40 0 37 0; +#X connect 41 0 36 0; +#X connect 42 0 35 0; +#X connect 43 0 52 0; +#X connect 44 0 52 0; +#X connect 45 0 43 2; +#X connect 45 1 43 3; +#X connect 46 0 44 2; +#X connect 46 1 44 3; +#X connect 47 0 37 2; +#X connect 47 1 37 3; +#X connect 48 0 36 2; +#X connect 48 1 36 3; +#X connect 49 0 35 2; +#X connect 49 1 35 3; +#X connect 50 0 34 0; diff --git a/examples/gems/text_cube_example.pd b/examples/gems/text_cube_example.pd new file mode 100644 index 0000000..72fde1a --- /dev/null +++ b/examples/gems/text_cube_example.pd @@ -0,0 +1,46 @@ +#N canvas 364 70 593 641 10; +#X declare -lib pdmtl; +#X obj 79 110 gemhead; +#X obj 105 -35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 320 242 5 0 0 0 - - -; +#X obj 320 217 line; +#X obj 320 152 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 319 175 metro 5000; +#X msg 319 196 0 \, 360 5000; +#X text 338 152 <- Rotation animation; +#X obj 321 124 loadbang; +#X obj 82 203 rotateXYZ; +#X obj 87 365 scaleXYZ 0.3 0.3 0.3; +#X obj 101 299 gems.multi.cube 4 4 4; +#X obj 106 -8 gems.win 320 240; +#X msg 320 426 text \$1; +#X obj 93 443 alpha; +#X obj 93 409 colorRGB 1 1 1 0.8; +#X obj 101 34 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 113 69 gems.win @dimen 1024 768 @offset 1280 0 @border 0; +#X msg 194 37 frame 20; +#X obj 79 151 gems.fit.scale fill; +#X obj 88 515 gems.text @text tvestroy; +#X obj 473 -41 import pdmtl; +#X connect 0 0 19 0; +#X connect 1 0 12 0; +#X connect 2 0 9 2; +#X connect 2 0 9 1; +#X connect 2 0 13 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 8 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 15 0; +#X connect 11 0 10 0; +#X connect 13 0 20 0; +#X connect 14 0 20 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 18 0 17 0; +#X connect 19 0 9 0; diff --git a/examples/musical/01.musical-chords.pd b/examples/musical/01.musical-chords.pd new file mode 100644 index 0000000..f389e9c --- /dev/null +++ b/examples/musical/01.musical-chords.pd @@ -0,0 +1,109 @@ +#N canvas 689 126 748 716 10; +#X declare -lib pdmtl; +#X obj 88 191 cnv 15 240 120 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 100 44 f 0; +#X obj 141 49 + 1; +#X obj 107 590 dac~; +#X obj 96 -12 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 165 434 mtof; +#X obj 163 369 drunk 25 6; +#X obj 164 389 + 60; +#X obj 163 454 osc~; +#X msg 94 203 0 2 5 9; +#X text 95 222 Dm7; +#X msg 154 203 2 5 7 11; +#X text 189 223 G7; +#X obj 159 473 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -24198 +-1 -1 11800 1; +#X obj 107 553 *~ 0.1; +#X obj 98 17 metro 150; +#X obj 120 108 % 64; +#X obj 121 156 select 0 16 32 48; +#X text 282 226 Bbmaj7; +#X msg 281 206 8 0 3 7; +#X msg 219 205 0 4 7 9; +#X text 230 223 C6; +#X obj 294 254 t a; +#X msg 250 333 set \$1 \$2 \$3 \$4; +#X msg 251 362 1 4 6 10; +#X obj 17 417 mtof; +#X obj 16 372 + 48; +#X obj 15 352 drunk 12 6; +#X obj 15 437 phasor~; +#X obj 343 497 mtof; +#X obj 341 517 osc~; +#X obj 343 452 + 72; +#X obj 341 432 drunk 12 6; +#X obj 341 539 *~ 0.8; +#X obj 365 285 musical.transpose; +#X obj 476 263 musical.cycle5; +#X obj 474 240 f 0; +#X obj 502 238 + 1; +#X symbolatom 519 308 3 0 0 0 - - -; +#X text 466 308 Key =>; +#X obj 125 131 t f f; +#X obj 315 142 sel 0; +#X obj 517 285 musical.m2name; +#X obj 11 274 seq.every 2; +#X obj 90 79 t f f; +#X obj 11 252 t f b; +#X obj 17 395 musical.closest.note; +#X obj 165 412 musical.closest.note; +#X obj 343 475 musical.closest.note; +#X obj 505 -13 import pdmtl; +#X connect 1 0 2 0; +#X connect 1 0 44 0; +#X connect 2 0 1 1; +#X connect 4 0 15 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 47 0; +#X connect 8 0 14 0; +#X connect 9 0 22 0; +#X connect 11 0 22 0; +#X connect 13 0 14 1; +#X connect 14 0 3 0; +#X connect 14 0 3 1; +#X connect 15 0 1 0; +#X connect 16 0 40 0; +#X connect 17 0 9 0; +#X connect 17 0 36 0; +#X connect 17 1 11 0; +#X connect 17 2 20 0; +#X connect 19 0 22 0; +#X connect 20 0 22 0; +#X connect 22 0 34 0; +#X connect 23 0 24 0; +#X connect 25 0 28 0; +#X connect 26 0 46 0; +#X connect 27 0 26 0; +#X connect 28 0 14 0; +#X connect 29 0 30 0; +#X connect 30 0 33 0; +#X connect 31 0 48 0; +#X connect 32 0 31 0; +#X connect 33 0 14 0; +#X connect 34 0 23 0; +#X connect 34 0 46 1; +#X connect 34 0 47 1; +#X connect 34 0 48 1; +#X connect 35 0 34 1; +#X connect 35 0 42 0; +#X connect 36 0 37 0; +#X connect 36 0 35 0; +#X connect 37 0 36 1; +#X connect 40 0 17 0; +#X connect 40 1 41 0; +#X connect 41 0 36 0; +#X connect 42 0 38 0; +#X connect 43 0 27 0; +#X connect 44 0 45 0; +#X connect 44 1 16 0; +#X connect 45 0 43 0; +#X connect 45 1 6 0; +#X connect 45 1 32 0; +#X connect 46 0 25 0; +#X connect 47 0 5 0; +#X connect 48 0 29 0; diff --git a/file.audio.info-help.pd b/file.audio.info-help.pd new file mode 100644 index 0000000..e221176 --- /dev/null +++ b/file.audio.info-help.pd @@ -0,0 +1,40 @@ +#N canvas 119 75 556 395 10; +#X obj 180 284 file.audio.info; +#X obj 335 145 openpanel; +#X obj 335 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 278 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 114 338 print info; +#X msg 16 235 samplerate; +#X msg 55 186 frames; +#X msg 92 242 filename; +#X msg 105 171 headersize; +#X msg 172 189 channels; +#X msg -2 284 resolution; +#X msg 9 310 endianness; +#X text 71 57 Description: Returns a lot of info about a particular +.wav file.; +#X obj 336 197 file.path.top; +#X obj 192 254 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 70 89 Comments: Wraps soundfile_info.; +#X text 299 305 1 = is a "proper" WAV soundfile; +#X text 300 322 0 = is not a "proper" soundfile; +#X text 374 111 STEP 1: Load a file; +#X text 94 148 STEP 2: Get the info; +#X msg 335 172 medias/sounds/loop1.wav; +#X connect 0 0 4 0; +#X connect 0 1 3 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 0 0; +#X connect 13 0 0 1; +#X connect 14 0 0 0; +#X connect 20 0 13 0; diff --git a/file.audio.info.pd b/file.audio.info.pd new file mode 100644 index 0000000..fb4c865 --- /dev/null +++ b/file.audio.info.pd @@ -0,0 +1,120 @@ +#N canvas 0 27 1247 910 10; +#X obj 247 30 inlet; +#X obj -74 694 outlet; +#X obj 332 217 soundfile_info; +#X msg 328 181 read \$1; +#X text 481 375 "list"-message output with 7 items; +#X text 495 425 4.item: header-size in bytes; +#X text 495 395 1.item: samplerate in Hz; +#X text 495 405 2.item: file-name; +#X text 495 435 5.item: number of channels; +#X text 495 455 7.item: endianness ("l" for little); +#X text 805 452 ("b" for big); +#X text 611 479 (eg. little endian "wav" is natural format on Intel-machines) +; +#X text 495 415 3.item: sound-data-length in samples; +#X text 495 445 6.item: sample-resolution in bytes; +#X obj 210 256 list; +#X obj -118 -15 inlet; +#X obj -2 408 packel 1; +#X obj -164 310 route bang; +#X obj -7 600 list prepend; +#X obj -13 656 list trim; +#X msg -106 177 1; +#X msg -73 177 2; +#X msg -36 175 3; +#X msg -1 176 4; +#X msg 32 176 5; +#X msg 67 175 6; +#X msg 100 182 7; +#X obj 254 59 route bang; +#X msg 240 85 bang; +#X obj 503 602 outlet; +#X obj 339 286 spigot; +#X msg 326 307 0; +#X obj 337 239 t b l; +#X msg 379 264 0; +#X msg 454 251 1; +#X obj 344 75 t b a b b; +#X msg 270 285 1; +#X msg 150 179 2; +#X obj 3 465 demultiplex 0 1; +#X obj 56 220 t b f b; +#X msg 76 419 0; +#X obj 141 219 t b f b; +#X msg 123 424 1; +#X obj -112 121 route samplerate filename frames headersize channels +resolution endianness name length; +#X obj 92 512 file.path.split; +#X obj 361 135 convert.list2symbol; +#X obj -110 362 demultiplex 0 1; +#X obj -134 23 route bang; +#X obj -83 94 t a a b; +#X obj -130 55 t b b; +#X msg -12 82 0; +#X msg -83 246 1; +#X obj 184 537 convert.spaces2 /; +#X connect 0 0 27 0; +#X connect 2 0 32 0; +#X connect 3 0 2 0; +#X connect 14 0 17 0; +#X connect 15 0 47 0; +#X connect 16 0 38 0; +#X connect 17 1 46 0; +#X connect 18 0 19 0; +#X connect 19 0 1 0; +#X connect 20 0 39 0; +#X connect 21 0 39 0; +#X connect 22 0 39 0; +#X connect 23 0 39 0; +#X connect 24 0 39 0; +#X connect 25 0 39 0; +#X connect 26 0 39 0; +#X connect 27 0 28 0; +#X connect 27 1 35 0; +#X connect 28 0 14 1; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X connect 32 0 33 0; +#X connect 32 0 36 0; +#X connect 32 1 14 1; +#X connect 33 0 30 1; +#X connect 34 0 30 1; +#X connect 35 0 30 0; +#X connect 35 1 45 0; +#X connect 35 2 14 1; +#X connect 35 3 34 0; +#X connect 36 0 29 0; +#X connect 37 0 41 0; +#X connect 38 0 18 0; +#X connect 38 1 44 0; +#X connect 39 0 14 0; +#X connect 39 1 16 1; +#X connect 39 2 40 0; +#X connect 40 0 38 1; +#X connect 41 0 14 0; +#X connect 41 1 16 1; +#X connect 41 2 42 0; +#X connect 42 0 38 1; +#X connect 43 0 20 0; +#X connect 43 1 21 0; +#X connect 43 2 22 0; +#X connect 43 3 23 0; +#X connect 43 4 24 0; +#X connect 43 5 25 0; +#X connect 43 6 26 0; +#X connect 43 7 37 0; +#X connect 44 1 52 0; +#X connect 45 0 3 0; +#X connect 46 0 16 0; +#X connect 46 1 1 0; +#X connect 47 0 49 0; +#X connect 47 1 48 0; +#X connect 48 0 43 0; +#X connect 48 1 18 1; +#X connect 48 2 50 0; +#X connect 49 0 14 0; +#X connect 49 1 51 0; +#X connect 50 0 46 1; +#X connect 51 0 46 1; +#X connect 52 0 18 0; diff --git a/file.browser_-help.pd b/file.browser_-help.pd new file mode 100644 index 0000000..3153547 --- /dev/null +++ b/file.browser_-help.pd @@ -0,0 +1,60 @@ +#N canvas 160 22 783 798 10; +#X obj 332 115 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X symbolatom 99 337 80 0 0 0 - - -; +#X obj 99 361 print; +#X text 75 24 Description: Nice file browser.; +#X text 313 300 <- Drag the slider to display all the contents of a +folder.; +#X text 321 224 - Click on the grey bar to select the folder (you might +have to select a file in the target folder).; +#X text 321 258 - Files are white \, folders are grey!; +#X text 364 111 <- click the bang (or click on the grey label below) +to select the folder to be browsed.; +#X floatatom 58 112 5 0 0 0 - - -; +#X text 45 91 You can select files by index.; +#X msg 278 57 medias/; +#X text 340 51 <- Send a folder's full or relative path to display +it's contents.; +#X msg 232 130 clear; +#X obj 328 459 loadbang; +#X msg 328 486 patterns mov avi mpg mpeg folders; +#X msg 303 431 medias/movies; +#X text 203 402 You can use patterns to only display certain files. +; +#X text 402 425 See folder.dump's help for more info on patterns.; +#X text 320 208 - Click on the white square to go back one folder. +; +#X floatatom 455 590 5 0 0 1 size - -; +#X obj 379 640 pack 0 10; +#X obj 455 610 t b a; +#X floatatom 376 593 5 0 2 1 font - -; +#X msg 379 663 text.font \$1 \$2; +#X msg 381 696 select.colorRGB 125 125 125; +#X text 579 699 Change the select color; +#X text 354 558 to modify the browser's display; +#X msg 381 722 select.colorRGB 0 125 125; +#X text 354 543 You can use any of gui.browser right inlet's options +; +#X text 393 747 See gui.browser's help for more; +#X obj 100 169 file.browser_ medias; +#X text 318 165 First argument: determines send target; +#X text 318 179 Second argument: determines receive target; +#X obj 70 567 file.browser_; +#X connect 0 0 30 1; +#X connect 1 0 2 0; +#X connect 8 0 30 0; +#X connect 10 0 30 1; +#X connect 12 0 30 1; +#X connect 13 0 14 0; +#X connect 14 0 33 1; +#X connect 15 0 33 1; +#X connect 19 0 21 0; +#X connect 20 0 23 0; +#X connect 21 0 20 0; +#X connect 21 1 20 1; +#X connect 22 0 20 0; +#X connect 23 0 33 2; +#X connect 24 0 33 2; +#X connect 27 0 33 2; +#X connect 30 0 1 0; diff --git a/file.browser_.pd b/file.browser_.pd new file mode 100644 index 0000000..5997169 --- /dev/null +++ b/file.browser_.pd @@ -0,0 +1,220 @@ +#N canvas 94 206 1012 718 10; +#X obj 112 -52 inlet; +#X obj 227 800 sel folder; +#X msg 226 820 1; +#X obj 53 923 outlet; +#X msg 282 822 0; +#X obj 351 -84 loadbang; +#X obj 1248 319 vsl 45 40 0 127 0 0 empty empty prev 0 15 0 8 -233017 +-233017 -1 0 1; +#X obj 1255 524 vsl 45 40 0 127 0 0 empty empty next 0 15 0 8 -233017 +-233017 -1 0 1; +#X msg 590 782 label \$1; +#X msg 339 320 clear; +#X obj 87 88 file.folder.panel; +#X obj 100 46 route bang; +#X obj 170 860 demultiplex 0 1; +#X msg 346 806 0; +#X obj 294 900 s \$0top; +#X obj 122 10 r \$0top; +#X obj 43 257 file.folder.dump; +#X obj 43 336 sel folder; +#X obj -22 314 t s s; +#N canvas 0 0 450 300 file_type 0; +#X obj 28 8 inlet; +#X obj 29 34 stat; +#X obj 29 65 list; +#X obj 29 85 list split 2; +#X obj 29 105 list split 1; +#X msg 10 235 fifo; +#X obj 197 312 symbol; +#X obj 197 333 outlet; +#X msg 47 235 character; +#X msg 121 235 folder; +#X msg 175 235 block; +#X msg 226 235 file; +#X msg 268 235 symlink; +#X msg 329 235 socket; +#X msg 384 235 whiteout; +#X obj 442 325 outlet; +#X text 433 342 bang if no match; +#X obj 69 140 & 61440; +#X obj 35 178 route 4096 8192 16384 24576 32768 40960 49152 57344; +#X obj 394 205 print [file_type]_ERROR; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 15 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 1 17 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#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 connect 17 0 18 0; +#X connect 18 0 5 0; +#X connect 18 1 8 0; +#X connect 18 2 9 0; +#X connect 18 3 10 0; +#X connect 18 4 11 0; +#X connect 18 5 12 0; +#X connect 18 6 13 0; +#X connect 18 7 14 0; +#X connect 18 8 19 0; +#X restore 41 300 pd file_type; +#X obj 757 486 symbol; +#X obj 854 583 s \$0top; +#X obj 473 331 file.path.split; +#X obj 420 809 s \$0top; +#X obj 141 165 t a a a b; +#X obj 512 627 scale.symbol -15; +#X obj 662 742 makefilename .../%s; +#X obj 623 672 route bang; +#X obj 695 697 t a b; +#X msg 558 673 0; +#X obj 532 709 spigot; +#X msg 617 698 1; +#X obj 283 519 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 11400 0; +#X obj 101 517 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 532 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 547 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 562 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 577 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 592 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 607 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 622 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 10 +-1 -1 -262144 0; +#X obj 101 501 hradio 15 1 0 11 \$0label_radio_s \$0label_radio_r empty +2 8 0 8 -1 -1 -262144 0; +#X obj 101 501 cnv 15 180 15 empty \$0hider empty 3 9 0 8 -128992 -262144 +0; +#X obj 283 501 hradio 15 1 0 1 empty empty empty 6 8 0 8 -1 -262144 +-262140 0; +#N canvas 489 110 539 662 coloring 0; +#X obj 77 556 outlet; +#X obj 47 24 inlet; +#X obj 202 562 outlet; +#X obj 83 249 t b b b; +#X obj 108 308 delay 200; +#X obj 146 409 convert.rgb2num; +#X msg 153 450 color -1 \$1 -1.67772e+07; +#X msg 146 373 \$1 \$1 \$1; +#X msg 116 338 1; +#X msg 193 305 0; +#X connect 1 0 3 0; +#X connect 3 0 0 0; +#X connect 3 1 4 0; +#X connect 3 2 9 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 7 0 5 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X restore 466 529 pd coloring; +#X obj 7 -44 inlet; +#X obj 345 667 gui.browser \$0; +#X obj 204 752 t a a; +#X obj 243 776 file.type; +#X msg 88 373 color -1.31586e+07; +#X msg 173 324 color -1.67772e+07; +#X msg -6 410 file \$1; +#X obj 484 150 file.path.top; +#X obj 356 -30 file.path.top; +#X obj 356 -3 t b a; +#X obj 335 68 symbol; +#X obj 260 14 delay 500; +#X obj 120 125 t a b; +#X obj 318 182 t b b; +#X obj 751 -36 inlet; +#X obj 226 -31 r \$2; +#X obj 175 918 s \$1; +#X obj 286 110 route clear patterns pattern configure; +#X obj 280 40 spigot 1; +#X msg 342 39 0; +#X connect 0 0 11 0; +#X connect 1 0 2 0; +#X connect 1 1 4 0; +#X connect 2 0 12 1; +#X connect 4 0 12 1; +#X connect 5 0 53 0; +#X connect 8 0 46 1; +#X connect 9 0 46 1; +#X connect 10 0 57 0; +#X connect 11 0 10 0; +#X connect 11 1 62 0; +#X connect 12 0 3 0; +#X connect 12 0 61 0; +#X connect 12 1 14 0; +#X connect 13 0 12 1; +#X connect 15 0 11 0; +#X connect 16 0 18 0; +#X connect 16 1 46 1; +#X connect 17 0 49 0; +#X connect 17 1 50 0; +#X connect 18 0 51 0; +#X connect 18 1 19 0; +#X connect 19 0 17 0; +#X connect 19 1 50 0; +#X connect 20 0 21 0; +#X connect 22 0 20 1; +#X connect 24 0 16 0; +#X connect 24 1 22 0; +#X connect 24 2 25 0; +#X connect 24 3 9 0; +#X connect 25 0 30 0; +#X connect 25 1 27 0; +#X connect 26 0 8 0; +#X connect 27 0 31 0; +#X connect 27 1 28 0; +#X connect 28 0 26 0; +#X connect 28 1 29 0; +#X connect 29 0 30 1; +#X connect 30 0 8 0; +#X connect 31 0 30 1; +#X connect 43 0 44 0; +#X connect 44 0 20 0; +#X connect 44 1 43 0; +#X connect 45 0 46 0; +#X connect 46 0 47 0; +#X connect 46 1 23 0; +#X connect 47 0 12 0; +#X connect 47 1 48 0; +#X connect 48 0 1 0; +#X connect 48 1 13 0; +#X connect 49 0 46 1; +#X connect 50 0 46 1; +#X connect 51 0 46 1; +#X connect 52 0 57 0; +#X connect 53 0 54 0; +#X connect 54 0 56 0; +#X connect 54 1 55 1; +#X connect 55 0 24 0; +#X connect 56 0 63 0; +#X connect 57 0 24 0; +#X connect 57 1 64 0; +#X connect 58 0 9 0; +#X connect 58 1 64 0; +#X connect 59 0 46 1; +#X connect 60 0 11 0; +#X connect 62 0 58 0; +#X connect 62 1 16 1; +#X connect 62 2 16 1; +#X connect 62 3 46 1; +#X connect 62 4 52 0; +#X connect 63 0 55 0; +#X connect 64 0 63 1; +#X coords 0 -1 1 1 198 138 2 100 500; diff --git a/file.folder-help.pd b/file.folder-help.pd new file mode 100644 index 0000000..750a8a3 --- /dev/null +++ b/file.folder-help.pd @@ -0,0 +1,32 @@ +#N canvas 1487 463 761 476 10; +#X obj 277 113 file.path.top; +#X text 72 81 You can select by index; +#X text 145 102 or by name.; +#X msg 15 80 0; +#X msg 44 78 1; +#X obj 276 65 loadbang; +#X msg 70 104 loop0.wav; +#X msg 91 137 loop1.wav; +#X msg 116 196 print; +#X obj 64 421 print WHOLE_PATH; +#X obj 100 386 print FILE_NAME; +#X text 26 5 Description: Provides an easy way to access files in a +folder.; +#X text 342 54 All the names of the sounds in this folder will be stored +in file.folder.; +#X obj 139 311 print index; +#X obj 262 287 print DONE(#_OF_ENTRIES); +#X obj 84 256 file.folder; +#X msg 277 88 medias/sounds; +#X connect 0 0 15 1; +#X connect 3 0 15 0; +#X connect 4 0 15 0; +#X connect 5 0 16 0; +#X connect 6 0 15 0; +#X connect 7 0 15 0; +#X connect 8 0 15 0; +#X connect 15 0 9 0; +#X connect 15 1 10 0; +#X connect 15 2 13 0; +#X connect 15 3 14 0; +#X connect 16 0 0 0; diff --git a/file.folder.dump-help.pd b/file.folder.dump-help.pd new file mode 100644 index 0000000..57c4a6a --- /dev/null +++ b/file.folder.dump-help.pd @@ -0,0 +1,37 @@ +#N canvas 224 504 1029 416 10; +#X obj 32 162 print; +#X obj 32 81 file.path.top; +#X obj 134 151 print DONE; +#X text 32 10 Description: Dumps the contents of a folder.; +#X obj 453 84 file.path.top; +#X msg 578 122 mov avi mpg mpeg; +#X obj 477 256 file.path.top; +#X obj 453 174 print MOVIES; +#X msg 453 52 medias/movies; +#X obj 578 95 loadbang; +#X text 560 0 ---- PATTERNS ----; +#X text 18 28 List what's in the media folder as this help file.; +#X msg 32 53 medias; +#X text 573 63 This will only display files and folders that end with +mov \, avi \, mpg or mpeg.; +#X msg 477 224 bang; +#X text 555 222 This will display ALL FOLDERS and all files that end +with txt.; +#X obj 478 358 print TEXTS+FOLDERS; +#X text 481 21 Arguments: Any arguments will be treated as patterns. +; +#X obj 453 139 file.folder.dump; +#X obj 32 117 file.folder.dump; +#X obj 479 315 file.folder.dump txt folders; +#X connect 1 0 19 0; +#X connect 4 0 18 0; +#X connect 5 0 18 1; +#X connect 6 0 20 0; +#X connect 8 0 4 0; +#X connect 9 0 5 0; +#X connect 12 0 1 0; +#X connect 14 0 6 0; +#X connect 18 0 7 0; +#X connect 19 0 0 0; +#X connect 19 1 2 0; +#X connect 20 0 16 0; diff --git a/file.folder.dump.pd b/file.folder.dump.pd new file mode 100644 index 0000000..1ff41ef --- /dev/null +++ b/file.folder.dump.pd @@ -0,0 +1,100 @@ +#N canvas 527 234 727 731 10; +#X obj 55 -5 inlet; +#X obj 29 698 outlet; +#X obj 83 162 pack s s; +#X obj 52 119 t a b; +#X obj 627 635 outlet; +#X obj 78 297 folder_list .; +#X obj 429 1 inlet; +#X obj 82 238 file.path.merge; +#X obj 81 190 t b l; +#X msg 114 132 symbol /*; +#X obj 77 375 demultiplex 0 1; +#X obj 429 50 route bang; +#X msg 355 110 0; +#X msg 525 116 1; +#N canvas 343 219 911 746 patterns 0; +#X obj 33 16 inlet; +#X obj 591 21 inlet; +#X obj 175 547 outlet; +#X obj 222 140 t a b a b; +#X obj 254 238 list.unfold; +#X obj 231 205 list; +#X obj 182 362 spigot; +#X msg 293 201 0; +#X obj 282 277 sel folders; +#X obj 289 329 list; +#X obj 288 356 file.type; +#X obj 288 378 sel folder; +#X msg 289 421 1; +#X obj 386 383 list.compare; +#X obj 590 246 convert.ascii2int; +#X obj 453 323 list; +#X obj 380 270 convert.ascii2int; +#X obj 562 310 list.length; +#X obj 380 292 t a b a; +#X obj 453 351 list.split; +#X obj 386 411 sel 1; +#X msg 386 439 1; +#X obj 530 336 * -1; +#X connect 0 0 3 0; +#X connect 1 0 5 1; +#X connect 3 0 6 0; +#X connect 3 1 5 0; +#X connect 3 2 9 1; +#X connect 3 2 14 0; +#X connect 3 3 7 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 2 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 8 1 16 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 6 1; +#X connect 13 0 20 0; +#X connect 14 0 15 1; +#X connect 15 0 19 0; +#X connect 16 0 18 0; +#X connect 17 0 22 0; +#X connect 18 0 13 0; +#X connect 18 1 15 0; +#X connect 18 2 17 0; +#X connect 19 1 13 1; +#X connect 20 0 21 0; +#X connect 21 0 6 1; +#X connect 22 0 19 1; +#X restore 182 500 pd patterns; +#X obj 502 176 route bang; +#X obj 496 88 t a b; +#X msg 493 204 0; +#X obj 53 58 file.path.top; +#X obj 593 9 loadbang; +#X obj 593 39 dollarg; +#X connect 0 0 18 0; +#X connect 2 0 8 0; +#X connect 3 0 2 0; +#X connect 3 1 9 0; +#X connect 5 0 10 0; +#X connect 6 0 11 0; +#X connect 7 0 5 0; +#X connect 8 0 4 0; +#X connect 8 1 7 0; +#X connect 9 0 2 1; +#X connect 10 0 1 0; +#X connect 10 1 14 0; +#X connect 11 0 12 0; +#X connect 11 1 16 0; +#X connect 12 0 10 1; +#X connect 13 0 10 1; +#X connect 14 0 1 0; +#X connect 15 0 17 0; +#X connect 15 1 14 1; +#X connect 16 0 15 0; +#X connect 16 1 13 0; +#X connect 17 0 10 1; +#X connect 18 0 3 0; +#X connect 19 0 20 0; +#X connect 20 0 11 0; diff --git a/file.folder.panel-help.pd b/file.folder.panel-help.pd new file mode 100644 index 0000000..37565d4 --- /dev/null +++ b/file.folder.panel-help.pd @@ -0,0 +1,10 @@ +#N canvas 435 58 510 353 10; +#X declare -stdpath extra/tof; +#X obj 93 145 file.folder.panel; +#X obj 93 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 93 183 print; +#X text 49 29 Description: Pops up an panel for selecting a directory. +; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/file.folder.panel.pd b/file.folder.panel.pd new file mode 100644 index 0000000..ec478f0 --- /dev/null +++ b/file.folder.panel.pd @@ -0,0 +1,9 @@ +#N canvas 567 218 567 413 10; +#X declare -stdpath extra/tof; +#X obj 39 54 inlet; +#X obj 39 166 outlet; +#X text 16 9 Sends the pathname of a directory on bang; +#X obj 367 13 declare -stdpath extra/tof; +#X obj 39 129 tof/folderpanel; +#X connect 0 0 4 0; +#X connect 4 0 1 0; diff --git a/file.folder.pd b/file.folder.pd new file mode 100644 index 0000000..e73a251 --- /dev/null +++ b/file.folder.pd @@ -0,0 +1,113 @@ +#N canvas 0 25 1099 884 10; +#X msg 534 462 1; +#X obj 532 536 - 1; +#X obj 372 750 list trim; +#X obj 101 912 demultiplex 0 1; +#X obj 160 255 s \$0out; +#X obj 269 842 r \$0out; +#X msg 121 141 1; +#X obj 139 773 r \$0coll; +#X obj 7 272 s \$0coll; +#X msg 28 143 dump; +#X obj 38 105 t b b; +#X obj 115 830 coll; +#C restore; +#X obj 324 621 pack s f; +#X msg 496 137 clear; +#X obj 377 725 list append; +#X obj 591 226 t b b; +#X obj 277 877 t f f; +#X obj 509 -49 inlet folder; +#X obj 55 20 route print; +#X obj 501 159 s \$0coll; +#X obj 150 77 t a b; +#X msg 175 119 0; +#X obj 86 108 route float; +#X obj 949 961 outlet; +#X msg 75 780 open; +#X obj 458 94 t b a a b b b b; +#X obj 348 383 t a a b; +#X obj 372 952 pack s f; +#X msg 356 976 \$2 > \$1; +#X obj 183 437 file.path.split; +#X obj 249 483 convert.spaces2 /; +#X obj 452 200 file.folder.dump; +#X obj 519 64 convert.list2symbol; +#X obj 392 1018 print file.folder; +#X obj 36 1042 outlet full_path; +#X msg 330 691 list nstore \$2 \$1 \$1; +#X obj 250 1014 outlet file_name; +#X obj 99 945 list split 1; +#X obj 66 1017 symbol; +#X obj 201 974 t b s; +#X obj 622 1003 outlet index; +#X obj 394 909 t f f; +#X obj 99 994 convert.list2symbol; +#X obj 481 14 route bang; +#X obj 366 51 file.folder.panel; +#X obj 541 512 t f f; +#X obj 685 577 f; +#X msg 708 517 0; +#X obj 25 -29 inlet get; +#X obj 72 221 convert.spaces2 /; +#X obj 534 487 count.accum; +#X connect 0 0 50 0; +#X connect 1 0 12 1; +#X connect 2 0 11 0; +#X connect 3 0 37 0; +#X connect 3 1 27 0; +#X connect 5 0 16 0; +#X connect 6 0 4 0; +#X connect 7 0 11 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 10 1 6 0; +#X connect 11 0 3 0; +#X connect 11 1 41 0; +#X connect 12 0 35 0; +#X connect 13 0 19 0; +#X connect 14 0 2 0; +#X connect 15 0 47 0; +#X connect 15 1 50 1; +#X connect 16 0 3 1; +#X connect 17 0 43 0; +#X connect 18 0 10 0; +#X connect 18 1 20 0; +#X connect 20 0 22 0; +#X connect 20 1 21 0; +#X connect 21 0 4 0; +#X connect 22 0 8 0; +#X connect 22 1 49 0; +#X connect 24 0 11 0; +#X connect 25 1 31 0; +#X connect 25 3 13 0; +#X connect 25 4 15 0; +#X connect 26 0 29 0; +#X connect 26 1 14 1; +#X connect 26 2 0 0; +#X connect 27 0 28 0; +#X connect 28 0 33 0; +#X connect 29 1 30 0; +#X connect 30 0 12 0; +#X connect 31 0 26 0; +#X connect 31 1 46 0; +#X connect 32 0 25 0; +#X connect 35 0 14 0; +#X connect 37 0 39 0; +#X connect 37 1 42 0; +#X connect 38 0 34 0; +#X connect 39 0 38 0; +#X connect 39 1 36 0; +#X connect 41 0 40 0; +#X connect 41 1 27 1; +#X connect 42 0 38 1; +#X connect 43 0 44 0; +#X connect 43 1 32 0; +#X connect 44 0 25 0; +#X connect 45 0 1 0; +#X connect 45 1 46 1; +#X connect 46 0 23 0; +#X connect 47 0 46 1; +#X connect 48 0 18 0; +#X connect 49 0 8 0; +#X connect 50 0 45 0; diff --git a/file.name.create-help.pd b/file.name.create-help.pd new file mode 100644 index 0000000..a9ae22a --- /dev/null +++ b/file.name.create-help.pd @@ -0,0 +1,12 @@ +#N canvas 1032 402 473 224 10; +#X text 21 10 Description: create a filename on bang using prefix - +date time; +#X obj 130 72 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 130 117 flow.prepend set; +#X text 281 91 argument=prefix; +#X obj 130 92 file.name.create rec; +#X msg 130 142; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 2 0; diff --git a/file.name.create.pd b/file.name.create.pd new file mode 100644 index 0000000..22d03ee --- /dev/null +++ b/file.name.create.pd @@ -0,0 +1,27 @@ +#N canvas 724 192 450 300 10; +#X obj 197 165 time; +#X obj 115 188 pack s f f f f f f; +#X obj 115 86 inlet; +#X obj 115 233 outlet; +#X obj 197 116 loadbang; +#X obj 138 165 date; +#X obj 115 110 t b b b; +#X obj 32 42 init.ds \$1 record; +#X obj 32 145 symbol; +#X obj 115 208 makesymbol %s_%s-%s-%s_%s:%s:%s; +#X connect 0 0 1 4; +#X connect 0 1 1 5; +#X connect 0 2 1 6; +#X connect 1 0 9 0; +#X connect 2 0 6 0; +#X connect 4 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X connect 5 1 1 2; +#X connect 5 2 1 3; +#X connect 6 0 7 0; +#X connect 6 1 5 0; +#X connect 6 2 0 0; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X connect 9 0 3 0; diff --git a/file.open.msg-help.pd b/file.open.msg-help.pd new file mode 100644 index 0000000..9953581 --- /dev/null +++ b/file.open.msg-help.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 488 395 10; +#X obj 42 31 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 37 310 print to-player; +#X obj 69 162 print to-message-box; +#X text 67 184 Needs a message box under; +#X text 138 30 Description: dialog to open a file.; +#X msg 38 209; +#X obj 39 103 file.open.msg; +#X connect 0 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 6 0 2 0; diff --git a/file.open.msg.pd b/file.open.msg.pd new file mode 100644 index 0000000..efe2cc2 --- /dev/null +++ b/file.open.msg.pd @@ -0,0 +1,37 @@ +#N canvas 0 0 751 476 10; +#X obj 33 18 inlet; +#X obj 92 414 outlet; +#X obj 44 133 openpanel; +#X obj 92 342 t b a; +#X obj 57 173 l2s; +#X obj 94 292 list append; +#X obj 549 150 inlet; +#X obj 92 233 list prepend; +#X obj 328 47 loadbang; +#X obj 178 184 list append; +#X obj 217 24 inlet; +#X obj 214 58 t b a; +#X msg 193 141 set; +#X msg 357 111 open; +#X obj 327 69 t b b; +#X text 209 -1 List before filename; +#X text 540 107 List after filename; +#X obj 125 375 route list; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 3 1 17 0; +#X connect 4 0 7 0; +#X connect 5 0 3 0; +#X connect 6 0 5 1; +#X connect 7 0 5 0; +#X connect 8 0 14 0; +#X connect 9 0 7 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 1 9 1; +#X connect 12 0 9 0; +#X connect 13 0 9 1; +#X connect 14 0 12 0; +#X connect 14 1 13 0; +#X connect 17 0 1 0; diff --git a/file.path.current-help.pd b/file.path.current-help.pd new file mode 100644 index 0000000..2942ea4 --- /dev/null +++ b/file.path.current-help.pd @@ -0,0 +1,24 @@ +#N canvas 495 178 654 469 10; +#X obj 86 379 print RESULT; +#X obj 86 88 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 156 159 samples/; +#X msg 227 234 C:/Documents and Settings/tom/My Documents/pd/parent.test.pd +; +#X msg 227 260 /bypasses/because/of/the/slash/at/the/start; +#X msg 228 287 C:/bypasses/because/of/the/:/as/second/char; +#X obj 86 352 file.path.current; +#X text 111 84 <- a bang will output the folder path of this patch. +; +#X text 80 13 Description: Returns or prepends the path of the patch +containing this abstraction.; +#X text 80 53 Comments: Understands relative and absolute paths.; +#X text 226 209 Absolute paths are ignored.; +#X text 220 155 <- If you send a relative path (a path that does not +start with a / or C:) \, it will be appended to the path.; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; diff --git a/file.path.current.pd b/file.path.current.pd new file mode 100644 index 0000000..11df804 --- /dev/null +++ b/file.path.current.pd @@ -0,0 +1,32 @@ +#N canvas 163 183 679 506 10; +#X obj 220 419 outlet; +#X obj 121 36 inlet; +#X obj 121 67 route bang; +#X obj 200 241 pack s s; +#X obj 121 200 demultiplex 0 1; +#X obj 121 95 t b b; +#X obj 229 114 t b a b; +#X msg 293 133 1; +#X msg 200 146 0; +#X obj 248 210 convert.list2symbol; +#X obj 201 320 convert.list2symbol /; +#X obj 121 145 getdir 1; +#X obj 232 57 file.path.type; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 12 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 4 1 3 0; +#X connect 5 0 11 0; +#X connect 5 1 8 0; +#X connect 6 0 11 0; +#X connect 6 1 9 0; +#X connect 6 2 7 0; +#X connect 7 0 4 1; +#X connect 8 0 4 1; +#X connect 9 0 3 1; +#X connect 10 0 0 0; +#X connect 11 0 4 0; +#X connect 12 0 6 0; +#X connect 12 1 0 0; diff --git a/file.path.explode-help.pd b/file.path.explode-help.pd new file mode 100644 index 0000000..161e19f --- /dev/null +++ b/file.path.explode-help.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 549 398 10; +#X text 50 66 Description: splits a path into a list.; +#X obj 156 336 print; +#X msg 166 232 2d/test/me; +#X msg 325 253 .; +#X msg 297 224 /; +#X text 83 133 Inlet_1: Path.; +#X text 83 151 Inlet_2: Separator(/ by default).; +#X msg 54 232 2d.test.me; +#X obj 150 285 file.path.explode /; +#X connect 2 0 8 0; +#X connect 3 0 8 1; +#X connect 4 0 8 1; +#X connect 7 0 8 0; +#X connect 8 0 1 0; diff --git a/file.path.explode.pd b/file.path.explode.pd new file mode 100644 index 0000000..bb7c97b --- /dev/null +++ b/file.path.explode.pd @@ -0,0 +1,32 @@ +#N canvas 98 468 642 432 10; +#X obj 294 48 inlet separator; +#X obj 41 38 inlet path; +#X obj 60 96 t b a; +#X obj 87 394 outlet; +#X obj 323 173 dollarg; +#X obj 323 136 loadbang; +#X obj 94 168 file.path.split; +#X obj 89 333 list.build prepend; +#X obj 195 210 route bang; +#X obj 260 240 t a b; +#X obj 50 232 demultiplex 0 1; +#X msg 294 270 0; +#X msg 194 245 1; +#X text 314 209 I should replace this with pdstring; +#X connect 0 0 6 1; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 2 1 6 0; +#X connect 4 0 6 1; +#X connect 5 0 4 0; +#X connect 6 0 10 0; +#X connect 6 1 8 0; +#X connect 7 0 3 0; +#X connect 8 0 12 0; +#X connect 8 1 9 0; +#X connect 9 0 7 1; +#X connect 9 1 11 0; +#X connect 10 0 6 0; +#X connect 10 1 7 1; +#X connect 11 0 10 1; +#X connect 12 0 10 1; diff --git a/file.path.merge-help.pd b/file.path.merge-help.pd new file mode 100644 index 0000000..f757a34 --- /dev/null +++ b/file.path.merge-help.pd @@ -0,0 +1,36 @@ +#N canvas 574 214 524 398 10; +#X obj 129 310 file.path.merge; +#X text 80 17 symbol \, connected by a separator (default: ""); +#X text 8 1 Description: merge a list of symbols and floats to a; +#X text 13 49 Comments: Wraps mergefilename (iemlib); +#X msg 387 46 /; +#X msg 389 67 space; +#X msg 389 88 @; +#X msg 389 109 :; +#X msg 389 131 2; +#X msg 389 153 $; +#X msg 389 174 z; +#X msg 389 195 _; +#X msg 389 216 .; +#X msg 22 82 C:/program/pd/my_project my_foo.pd; +#X msg 55 111 /home/me my_first_patch.pd; +#X msg 91 159 aaa bbb ccc ddd eeee; +#X msg 119 204 11 22 33 44; +#X obj 138 349 print; +#X msg 396 246 bang; +#X text 432 245 (no separator); +#X connect 0 0 17 0; +#X connect 4 0 0 1; +#X connect 5 0 0 1; +#X connect 6 0 0 1; +#X connect 7 0 0 1; +#X connect 8 0 0 1; +#X connect 9 0 0 1; +#X connect 10 0 0 1; +#X connect 11 0 0 1; +#X connect 12 0 0 1; +#X connect 13 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; +#X connect 16 0 0 0; +#X connect 18 0 0 1; diff --git a/file.path.merge.pd b/file.path.merge.pd new file mode 100644 index 0000000..c1929db --- /dev/null +++ b/file.path.merge.pd @@ -0,0 +1,18 @@ +#N canvas 0 0 450 300 10; +#X obj 115 191 mergefilename; +#X msg 297 115 separator \$1; +#X obj 115 62 inlet; +#X text 229 192 iem_lib; +#X obj 115 265 outlet; +#X obj 291 10 inlet; +#X obj 290 86 convert.list2symbol; +#X obj 290 49 route bang; +#X msg 209 98 separator; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 5 0 7 0; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 7 1 6 0; +#X connect 8 0 0 0; diff --git a/file.path.parent-help.pd b/file.path.parent-help.pd new file mode 100644 index 0000000..270cf2d --- /dev/null +++ b/file.path.parent-help.pd @@ -0,0 +1,24 @@ +#N canvas 1833 380 654 469 10; +#X obj 86 379 print RESULT; +#X obj 86 88 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 156 159 samples/; +#X msg 227 234 C:/Documents and Settings/tom/My Documents/pd/parent.test.pd +; +#X msg 227 260 /bypasses/because/of/the/slash/at/the/start; +#X msg 228 287 C:/bypasses/because/of/the/:/as/second/char; +#X text 111 84 <- a bang will output the folder path of this patch. +; +#X text 80 53 Comments: Understands relative and absolute paths.; +#X obj 86 352 file.path.parent; +#X text 80 13 Description: Returns or prepends the path of the parent +of the patch containing this abstraction.; +#X text 231 210 Absolute paths are ignored.; +#X text 220 156 <- If you send a relative path (a path that does not +start with a / or C:) \, it will be appended to the path.; +#X connect 1 0 8 0; +#X connect 2 0 8 0; +#X connect 3 0 8 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 8 0 0 0; diff --git a/file.path.parent.pd b/file.path.parent.pd new file mode 100644 index 0000000..f432040 --- /dev/null +++ b/file.path.parent.pd @@ -0,0 +1,32 @@ +#N canvas 163 183 679 506 10; +#X obj 220 419 outlet; +#X obj 121 36 inlet; +#X obj 121 67 route bang; +#X obj 200 241 pack s s; +#X obj 121 200 demultiplex 0 1; +#X obj 121 95 t b b; +#X obj 229 114 t b a b; +#X msg 293 133 1; +#X msg 200 146 0; +#X obj 248 210 convert.list2symbol; +#X obj 201 320 convert.list2symbol /; +#X obj 121 145 getdir 2; +#X obj 226 52 file.path.type; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 12 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 4 1 3 0; +#X connect 5 0 11 0; +#X connect 5 1 8 0; +#X connect 6 0 11 0; +#X connect 6 1 9 0; +#X connect 6 2 7 0; +#X connect 7 0 4 1; +#X connect 8 0 4 1; +#X connect 9 0 3 1; +#X connect 10 0 0 0; +#X connect 11 0 4 0; +#X connect 12 0 6 0; +#X connect 12 1 0 0; diff --git a/file.path.relative-help.pd b/file.path.relative-help.pd new file mode 100644 index 0000000..ea67b30 --- /dev/null +++ b/file.path.relative-help.pd @@ -0,0 +1,37 @@ +#N canvas 123 70 816 499 10; +#X declare -stdpath extra/tof; +#X obj 198 505 file.path.relative; +#X obj 393 287 openpanel; +#X obj 393 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 379 426 openpanel; +#X obj 379 396 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 198 594 flow.prepend set; +#X obj 275 256 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 275 288 file.folder.panel; +#X msg 198 618 ../../.gnome2/sound/events; +#X obj 408 481 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 304 591 The relative path; +#X text 442 427 Select the base path to which you want to make the +relative path.; +#X text 398 392 The base path must be a path to a folder and not a +file!; +#X text 267 229 These paths will become relative to the base path UNLESS +they are relative paths themselves!; +#X msg 23 328 symbol will/bypass/because/relative; +#X text 429 480 Use the top patch's path as base path(default behavior) +; +#X text 86 175 Description: Makes absolute paths relative.; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 0 1; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 0 0; +#X connect 9 0 0 1; +#X connect 14 0 0 0; diff --git a/file.path.relative.pd b/file.path.relative.pd new file mode 100644 index 0000000..2e1e650 --- /dev/null +++ b/file.path.relative.pd @@ -0,0 +1,110 @@ +#N canvas 334 43 911 893 10; +#X obj 215 168 convert.ascii2int; +#X obj 423 156 convert.ascii2int; +#X obj 678 366 table \$0table0; +#X obj 676 393 table \$0table1; +#X obj 242 245 s \$0table0; +#X obj 242 218 list prepend 0; +#X obj 442 217 list prepend 0; +#X obj 442 244 s \$0table1; +#X obj 215 279 list.length; +#X obj 414 275 list.length; +#X obj 215 327 min; +#X obj 233 479 tabread \$0table0; +#X obj 380 480 tabread \$0table1; +#X obj 235 440 t f f; +#X obj 233 525 ==; +#X obj 239 385 +; +#X msg 332 523 1; +#X msg 240 361 0 0; +#X obj 293 589 f; +#X obj 236 414 t f f f; +#X obj 234 549 sel 1 0; +#X obj 434 610 f; +#X obj 431 644 t f f; +#X obj 476 729 sel 47; +#X obj 419 782 list.build; +#X obj 293 614 t b b f f; +#X obj 485 670 moses; +#X obj 186 302 t f f; +#X obj 440 347 t f f; +#X obj 155 678 convert.int2ascii; +#X obj 414 195 t l l l; +#X obj 215 194 t l l l; +#X obj 475 698 tabread \$0table1; +#X obj 485 643 + 1; +#X obj 154 705 tosymbol; +#X obj 106 754 list prepend; +#X obj 208 41 inlet; +#X obj 545 6 inlet; +#X obj -3 816 outlet; +#X obj 249 650 - 0; +#X obj 78 605 list.split; +#X floatatom 365 574 5 0 0 0 - - -; +#X obj 111 786 convert.list2symbol /; +#X msg 475 754 ..; +#X obj 134 638 route bang; +#X obj 448 27 loadbang; +#X obj 447 63 file.path.top; +#X obj 545 29 route bang; +#X msg 452 119 \$1/; +#X obj 95 96 file.path.type; +#X connect 0 0 31 0; +#X connect 1 0 30 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 8 0 27 0; +#X connect 9 0 28 0; +#X connect 10 0 17 0; +#X connect 11 0 14 0; +#X connect 12 0 14 1; +#X connect 13 0 11 0; +#X connect 13 1 12 0; +#X connect 14 0 20 0; +#X connect 15 0 19 0; +#X connect 16 0 15 0; +#X connect 17 0 15 0; +#X connect 18 0 25 0; +#X connect 18 0 41 0; +#X connect 19 0 13 0; +#X connect 19 1 15 1; +#X connect 19 2 18 1; +#X connect 20 0 16 0; +#X connect 20 1 18 0; +#X connect 21 0 22 0; +#X connect 22 0 33 0; +#X connect 22 1 32 0; +#X connect 23 0 43 0; +#X connect 24 0 35 1; +#X connect 25 1 24 0; +#X connect 25 2 39 0; +#X connect 25 3 21 0; +#X connect 26 0 21 0; +#X connect 27 1 10 0; +#X connect 28 0 10 1; +#X connect 28 1 26 1; +#X connect 29 0 34 0; +#X connect 30 1 9 0; +#X connect 30 2 6 0; +#X connect 31 0 40 0; +#X connect 31 1 8 0; +#X connect 31 2 5 0; +#X connect 32 0 23 0; +#X connect 33 0 26 0; +#X connect 34 0 35 0; +#X connect 35 0 42 0; +#X connect 36 0 49 0; +#X connect 37 0 47 0; +#X connect 39 0 40 1; +#X connect 40 1 44 0; +#X connect 42 0 38 0; +#X connect 43 0 24 1; +#X connect 44 0 35 0; +#X connect 44 1 29 0; +#X connect 45 0 46 0; +#X connect 46 0 48 0; +#X connect 47 0 46 0; +#X connect 47 1 48 0; +#X connect 48 0 1 0; +#X connect 49 0 38 0; +#X connect 49 1 0 0; diff --git a/file.path.split-help.pd b/file.path.split-help.pd new file mode 100644 index 0000000..1e53b05 --- /dev/null +++ b/file.path.split-help.pd @@ -0,0 +1,23 @@ +#N canvas 738 533 450 300 10; +#X obj 106 109 openpanel; +#X obj 111 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 100 227 print PATH; +#X obj 215 219 print FILE; +#X text 43 16 Description: Splits a file name from it's path.; +#X msg 240 117 /; +#X text 269 117 Separator (/ by default); +#X msg 265 142 .; +#X obj 100 169 file.path.split /; +#X msg 40 108 /test; +#X msg 32 146 /; +#X msg 41 68 test; +#X connect 0 0 8 0; +#X connect 1 0 0 0; +#X connect 5 0 8 1; +#X connect 7 0 8 1; +#X connect 8 0 2 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; diff --git a/file.path.split.extension-help.pd b/file.path.split.extension-help.pd new file mode 100644 index 0000000..f3f491d --- /dev/null +++ b/file.path.split.extension-help.pd @@ -0,0 +1,24 @@ +#N canvas 354 158 718 571 10; +#X msg 97 15 /home/tom/test.txt; +#X msg 261 7 /home/tom/test; +#X msg 313 31 /home/tom/test.more.txt; +#X obj 126 217 print REST_OF_FILENAME; +#X obj 308 215 print EXTENSION; +#X msg 354 76 /home/more tom/top.wav; +#X text 422 218 Bangs if there is no extension!; +#X text 67 -44 Description: Splits the extension of a file name/path. +; +#X msg 332 117 .; +#X msg 380 118 e; +#X text 412 120 The separator can also be set as the first argument +; +#X obj 124 152 file.path.split.extension; +#X text 291 153 Defaults to .; +#X connect 0 0 11 0; +#X connect 1 0 11 0; +#X connect 2 0 11 0; +#X connect 5 0 11 0; +#X connect 8 0 11 1; +#X connect 9 0 11 1; +#X connect 11 0 3 0; +#X connect 11 1 4 0; diff --git a/file.path.split.extension.pd b/file.path.split.extension.pd new file mode 100644 index 0000000..4ca02a7 --- /dev/null +++ b/file.path.split.extension.pd @@ -0,0 +1,22 @@ +#N canvas 708 331 512 537 10; +#X obj 55 -11 inlet; +#X obj 332 461 outlet; +#X obj 111 474 outlet; +#X obj 51 24 route bang; +#X obj 285 -2 inlet; +#X obj 263 44 symbol; +#X obj 358 31 loadbang; +#X obj 360 59 dollarg; +#X obj 364 88 route bang; +#X obj 108 87 tosymbol; +#X obj 166 251 file.path.split .; +#X connect 0 0 3 0; +#X connect 3 1 9 0; +#X connect 4 0 5 0; +#X connect 5 0 10 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 1 5 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 10 1 1 0; diff --git a/file.path.split.pd b/file.path.split.pd new file mode 100644 index 0000000..88ee7b9 --- /dev/null +++ b/file.path.split.pd @@ -0,0 +1,41 @@ +#N canvas 122 87 991 773 10; +#X obj 89 26 inlet; +#X obj 22 648 outlet; +#X obj 498 626 outlet; +#X obj 91 169 splitfilename; +#X text 200 160 iem lib; +#X obj 364 33 inlet; +#X msg 336 133 separator \$1; +#X obj 138 68 route bang; +#X obj 538 146 loadbang; +#X obj 538 176 dollarg; +#X obj 335 78 symbol; +#X obj 100 111 convert.list2symbol; +#X msg -1 321 symbol /; +#X obj 3 276 sel symbol; +#X obj 5 230 t a b; +#X msg 54 247 symbol; +#X obj 198 301 sel symbol; +#X obj 200 255 t a b; +#X msg 249 272 symbol; +#X connect 0 0 7 0; +#X connect 3 0 14 0; +#X connect 3 1 17 0; +#X connect 5 0 10 0; +#X connect 6 0 3 0; +#X connect 7 1 11 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 6 0; +#X connect 11 0 3 0; +#X connect 12 0 1 0; +#X connect 13 0 12 0; +#X connect 13 1 1 0; +#X connect 14 0 13 0; +#X connect 14 1 15 0; +#X connect 15 0 13 1; +#X connect 16 0 2 0; +#X connect 16 1 2 0; +#X connect 17 0 16 0; +#X connect 17 1 18 0; +#X connect 18 0 16 1; diff --git a/file.path.top-help.pd b/file.path.top-help.pd new file mode 100644 index 0000000..49d6159 --- /dev/null +++ b/file.path.top-help.pd @@ -0,0 +1,23 @@ +#N canvas 1367 11 658 473 10; +#X obj 93 356 print RESULT; +#X obj 93 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 163 136 samples/; +#X obj 93 329 file.path.top; +#X msg 234 211 C:/Documents and Settings/tom/My Documents/pd/parent.test.pd +; +#X msg 234 237 /bypasses/because/of/the/slash/at/the/start; +#X msg 235 264 C:/bypasses/because/of/the/:/as/second/char; +#X text 88 -5 Description: Returns or prepends the path of the top +level parent of this patch.; +#X text 92 25 Comments: Understands relative and absolute paths.; +#X text 118 61 <- a bang will output the path.; +#X text 233 188 Absolute paths are ignored.; +#X text 229 132 <- If you send a relative path (a path that does not +start with a / or C:) \, it will be appended to the path.; +#X connect 1 0 3 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; diff --git a/file.path.top.pd b/file.path.top.pd new file mode 100644 index 0000000..381983d --- /dev/null +++ b/file.path.top.pd @@ -0,0 +1,32 @@ +#N canvas 163 183 671 498 10; +#X obj 220 419 outlet; +#X obj 121 36 inlet; +#X obj 121 67 route bang; +#X obj 200 241 pack s s; +#X obj 121 200 demultiplex 0 1; +#X obj 121 95 t b b; +#X obj 229 114 t b a b; +#X msg 293 133 1; +#X msg 200 146 0; +#X obj 248 210 convert.list2symbol; +#X obj 201 320 convert.list2symbol /; +#X obj 209 57 file.path.type; +#X obj 119 145 getdir 10; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 11 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 4 1 3 0; +#X connect 5 0 12 0; +#X connect 5 1 8 0; +#X connect 6 0 12 0; +#X connect 6 1 9 0; +#X connect 6 2 7 0; +#X connect 7 0 4 1; +#X connect 8 0 4 1; +#X connect 9 0 3 1; +#X connect 10 0 0 0; +#X connect 11 0 6 0; +#X connect 11 1 0 0; +#X connect 12 0 4 0; diff --git a/file.path.type-help.pd b/file.path.type-help.pd new file mode 100644 index 0000000..6d6a4f5 --- /dev/null +++ b/file.path.type-help.pd @@ -0,0 +1,22 @@ +#N canvas 209 95 658 473 10; +#X msg 97 122 samples/; +#X msg 165 214 C:/Documents and Settings/tom/My Documents/pd/parent.test.pd +; +#X msg 165 240 /bypasses/because/of/the/slash/at/the/start; +#X msg 166 267 C:/bypasses/because/of/the/:/as/second/char; +#X obj 93 329 file.path.type; +#X obj 94 403 print RELATIVE; +#X obj 247 405 print ABSOLUTE; +#X text 53 16 Description: Routes the path depending on it's type (relative +or absolute).; +#X text 161 118 <- If you send a relative path (a path that does not +start with a / or C:) \, it will be outputed through the left outlet. +; +#X text 177 180 All of theses absolute paths will be outputed through +the right outlet.; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; diff --git a/file.path.type.pd b/file.path.type.pd new file mode 100644 index 0000000..3acf11f --- /dev/null +++ b/file.path.type.pd @@ -0,0 +1,31 @@ +#N canvas 163 183 671 498 10; +#X obj 356 425 outlet; +#X obj 121 36 inlet; +#X obj 419 144 list.split 2; +#X obj 419 169 list.split 1; +#X obj 488 195 sel 58; +#X obj 419 195 sel 47; +#X obj 127 171 demultiplex 0 1; +#X obj 129 95 t a a b; +#X msg 261 128 0; +#X msg 422 223 1; +#X msg 489 225 1; +#X obj 86 414 outlet; +#X obj 419 116 convert.ascii2int; +#X obj 142 63 tosymbol; +#X connect 1 0 13 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 3 1 4 0; +#X connect 4 0 10 0; +#X connect 5 0 9 0; +#X connect 6 0 11 0; +#X connect 6 1 0 0; +#X connect 7 0 6 0; +#X connect 7 1 12 0; +#X connect 7 2 8 0; +#X connect 8 0 6 1; +#X connect 9 0 6 1; +#X connect 10 0 6 1; +#X connect 12 0 2 0; +#X connect 13 0 7 0; diff --git a/file.type-help.pd b/file.type-help.pd new file mode 100644 index 0000000..a5f1874 --- /dev/null +++ b/file.type-help.pd @@ -0,0 +1,23 @@ +#N canvas 323 299 852 494 10; +#X obj 295 250 file.type; +#X msg 151 431 fifo; +#X msg 188 431 character; +#X msg 262 431 folder; +#X msg 316 431 block; +#X msg 367 431 file; +#X msg 409 431 symlink; +#X msg 470 431 socket; +#X msg 525 431 whiteout; +#X text 151 410 Known types:; +#X obj 247 151 openpanel; +#X obj 221 328 print type; +#X obj 354 295 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 382 295 unknown type; +#X obj 245 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 86 44 Description: Returns the type of a file.; +#X connect 0 0 11 0; +#X connect 0 1 12 0; +#X connect 10 0 0 0; +#X connect 14 0 10 0; diff --git a/file.type.pd b/file.type.pd new file mode 100644 index 0000000..54a9062 --- /dev/null +++ b/file.type.pd @@ -0,0 +1,54 @@ +#N canvas 0 0 450 300 10; +#N canvas 0 0 734 398 file_type 0; +#X obj 28 8 inlet; +#X obj 29 34 stat; +#X obj 29 65 list; +#X obj 29 85 list split 2; +#X obj 29 105 list split 1; +#X msg 10 235 fifo; +#X obj 197 312 symbol; +#X obj 197 333 outlet; +#X msg 47 235 character; +#X msg 121 235 folder; +#X msg 175 235 block; +#X msg 226 235 file; +#X msg 268 235 symlink; +#X msg 329 235 socket; +#X msg 384 235 whiteout; +#X obj 442 325 outlet; +#X text 433 342 bang if no match; +#X obj 69 140 & 61440; +#X obj 35 178 route 4096 8192 16384 24576 32768 40960 49152 57344; +#X obj 394 205 print [file_type]_ERROR; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 15 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 1 17 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 6 0; +#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 connect 17 0 18 0; +#X connect 18 0 5 0; +#X connect 18 1 8 0; +#X connect 18 2 9 0; +#X connect 18 3 10 0; +#X connect 18 4 11 0; +#X connect 18 5 12 0; +#X connect 18 6 13 0; +#X connect 18 7 14 0; +#X connect 18 8 19 0; +#X restore 136 167 pd file_type; +#X obj 112 99 inlet; +#X obj 115 266 outlet; +#X obj 257 263 outlet; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/flow.@parse-help.pd b/flow.@parse-help.pd new file mode 100644 index 0000000..2afe3c2 --- /dev/null +++ b/flow.@parse-help.pd @@ -0,0 +1,24 @@ +#N canvas 180 430 907 477 10; +#X text 51 20 Description: Can be used to parse arguments like in Max/Msp's +Jitter (@agument_name argument_value).; +#X obj 193 199 flow.@parse; +#X msg 193 117 @size 30 @color 35 83 140; +#X text 50 51 Comments: Best used with dollarg.; +#X obj 194 312 route size color; +#X obj 181 345 print SIZE; +#X obj 260 344 print COLOR; +#X msg 368 117 1 2 3 @size 555 @color 9 9 9; +#X obj 353 340 print OTHER; +#X obj 256 230 print DONE; +#X msg 567 116 @color r@g@b; +#X msg 464 329 ---; +#X obj 464 357 print; +#X connect 1 0 4 0; +#X connect 1 1 9 0; +#X connect 2 0 1 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 4 2 8 0; +#X connect 7 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 12 0; diff --git a/flow.@parse.pd b/flow.@parse.pd new file mode 100644 index 0000000..61b9c99 --- /dev/null +++ b/flow.@parse.pd @@ -0,0 +1,56 @@ +#N canvas 135 203 771 716 10; +#X obj 136 24 inlet; +#X obj 465 736 outlet; +#X obj 123 767 outlet; +#X obj 136 99 route bang; +#X obj 253 519 list.build append; +#X obj 308 258 list.trim; +#X obj 252 546 route bang; +#X obj 308 303 drip; +#X obj 17 366 t b b; +#X obj 308 280 convert.ascii2int; +#X obj 257 397 demultiplex 0 1; +#X msg 432 373 1; +#X obj 311 332 sel 64 32; +#X obj 538 447 t b b; +#X msg 536 485 32; +#X msg 645 431 0; +#X obj 200 180 t b b a b; +#X msg 501 274 0; +#X obj 257 437 t b b; +#X msg 344 434 64; +#X obj 394 425 t f b; +#X msg 421 466 1; +#X obj 236 635 convert.int2ascii; +#X connect 0 0 3 0; +#X connect 3 0 8 0; +#X connect 3 1 16 0; +#X connect 4 0 6 0; +#X connect 5 0 9 0; +#X connect 6 1 22 0; +#X connect 7 0 12 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 9 0 7 0; +#X connect 10 0 18 0; +#X connect 10 1 19 0; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 12 1 13 0; +#X connect 12 2 20 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 4 1; +#X connect 15 0 10 1; +#X connect 16 0 1 0; +#X connect 16 1 4 0; +#X connect 16 2 5 0; +#X connect 16 3 17 0; +#X connect 17 0 10 1; +#X connect 18 0 4 0; +#X connect 18 1 11 0; +#X connect 19 0 4 1; +#X connect 20 0 4 1; +#X connect 20 1 21 0; +#X connect 21 0 10 1; +#X connect 22 0 2 0; diff --git a/flow.abs~-help.pd b/flow.abs~-help.pd new file mode 100644 index 0000000..a3bd272 --- /dev/null +++ b/flow.abs~-help.pd @@ -0,0 +1,17 @@ +#N canvas 207 259 406 279 10; +#X obj 92 127 sig~; +#X obj 93 178 snapshot~; +#X floatatom 93 204 5 0 0 0 - - -; +#X obj 168 152 metro 100; +#X obj 168 130 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 92 105 5 0 0 0 - - -; +#X text 65 58 Comment: wrapper of abs~ from zexy; +#X text 67 43 Description: absolute value of a signal; +#X obj 92 152 flow.abs~; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 8 0 1 0; diff --git a/flow.abs~.pd b/flow.abs~.pd new file mode 100644 index 0000000..f73240e --- /dev/null +++ b/flow.abs~.pd @@ -0,0 +1,6 @@ +#N canvas 608 223 450 300 10; +#X obj 141 82 inlet~; +#X obj 141 130 outlet~; +#X obj 142 107 expr~ abs($v1); +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/flow.any-help.pd b/flow.any-help.pd new file mode 100644 index 0000000..cb9daeb --- /dev/null +++ b/flow.any-help.pd @@ -0,0 +1,129 @@ +#N canvas 217 67 875 653 10; +#X text 89 38 (like f or float for -messages); +#X text 89 54 (or like symbol for -messages); +#X text 20 20 Description: is a latch for anything; +#X obj 43 219 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 -1 +-1; +#X obj 130 216 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 +-1 -1; +#X obj 145 278 print; +#X obj 221 214 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 +-1 -1; +#X obj 312 221 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 +-1 -1; +#X obj 322 281 print; +#X msg 399 282; +#X obj 425 227 loadbang; +#X msg 425 248 set; +#X obj 82 297 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 -1 +-1; +#X obj 82 352 print; +#X obj 456 454 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 +-1 -1; +#X obj 513 563 print; +#X msg 513 128 88; +#X msg 513 204 symbol www; +#X msg 513 147 float 77; +#X msg 513 166 list 66; +#X msg 513 185 www; +#X msg 513 223 list www; +#X msg 513 261 list 99 888 hhh; +#X msg 513 280 float 99 888 hhh; +#X msg 513 299 symbol 99 888 hhh; +#X msg 513 242 99 888 hhh; +#X msg 513 318 kkk jjj 345; +#X msg 513 337 symbol kkk jjj 345; +#X msg 513 356 list kkk jjj 345; +#X msg 146 504; +#X obj 193 448 loadbang; +#X msg 179 473 set; +#X obj 83 414 bang; +#X obj 83 438 del 999; +#X msg 676 277 88; +#X msg 675 353 symbol www; +#X msg 675 296 float 77; +#X msg 675 315 list 66; +#X msg 675 334 www; +#X msg 675 372 list www; +#X msg 675 410 list 99 888 hhh; +#X msg 675 429 float 99 888 hhh; +#X msg 675 448 symbol 99 888 hhh; +#X msg 675 391 99 888 hhh; +#X msg 675 467 kkk jjj 345; +#X msg 675 486 symbol kkk jjj 345; +#X msg 675 505 list kkk jjj 345; +#X msg 417 455 bang; +#X obj 596 435 bng 15 250 50 0 empty empty empty 20 8 0 10 -262144 +-1 -1; +#X msg 557 436 bang; +#X msg 162 379 set display this with 1 second delay; +#X obj 179 414 bang; +#X obj 285 448 del 4999; +#X text 251 157 arguments: any message; +#X text 152 139 <-hot; +#X text 202 139 cold->; +#X obj 82 324 flow.any open filename 55; +#X obj 160 157 flow.any; +#X obj 42 245 flow.any; +#X obj 130 243 flow.any 88; +#X obj 220 243 flow.any www; +#X obj 312 248 flow.any set 88; +#X obj 110 473 flow.any; +#X obj 513 535 flow.any; +#X text 94 95 by Thomas Musil 2000 - 2005; +#X text 22 79 Comments: Wraps iem's [iem_anything]; +#X connect 3 0 58 0; +#X connect 4 0 59 0; +#X connect 6 0 60 0; +#X connect 7 0 61 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 12 0 56 0; +#X connect 14 0 63 0; +#X connect 16 0 63 0; +#X connect 17 0 63 0; +#X connect 18 0 63 0; +#X connect 19 0 63 0; +#X connect 20 0 63 0; +#X connect 21 0 63 0; +#X connect 22 0 63 0; +#X connect 23 0 63 0; +#X connect 24 0 63 0; +#X connect 25 0 63 0; +#X connect 26 0 63 0; +#X connect 27 0 63 0; +#X connect 28 0 63 0; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X connect 32 0 33 0; +#X connect 32 0 52 0; +#X connect 33 0 62 0; +#X connect 34 0 63 1; +#X connect 35 0 63 1; +#X connect 36 0 63 1; +#X connect 37 0 63 1; +#X connect 38 0 63 1; +#X connect 39 0 63 1; +#X connect 40 0 63 1; +#X connect 41 0 63 1; +#X connect 42 0 63 1; +#X connect 43 0 63 1; +#X connect 44 0 63 1; +#X connect 45 0 63 1; +#X connect 46 0 63 1; +#X connect 47 0 63 0; +#X connect 48 0 63 1; +#X connect 49 0 63 1; +#X connect 50 0 32 0; +#X connect 50 0 51 0; +#X connect 50 0 62 1; +#X connect 51 0 31 0; +#X connect 52 0 31 0; +#X connect 56 0 13 0; +#X connect 58 0 5 0; +#X connect 59 0 5 0; +#X connect 60 0 5 0; +#X connect 61 0 8 0; +#X connect 61 0 9 0; +#X connect 62 0 29 0; +#X connect 63 0 15 0; diff --git a/flow.any.pd b/flow.any.pd new file mode 100644 index 0000000..a37a647 --- /dev/null +++ b/flow.any.pd @@ -0,0 +1,14 @@ +#N canvas 116 113 450 300 10; +#X obj 136 141 iem_anything; +#X obj 270 51 loadbang; +#X obj 270 77 dollarg; +#X obj 86 32 inlet; +#X obj 234 25 inlet; +#X obj 135 215 outlet; +#X obj 270 105 list trim; +#X connect 0 0 5 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X connect 6 0 0 1; diff --git a/flow.curve~-help.pd b/flow.curve~-help.pd new file mode 100644 index 0000000..b2f29d4 --- /dev/null +++ b/flow.curve~-help.pd @@ -0,0 +1,27 @@ +#N canvas 708 57 534 552 10; +#X msg 419 169 _lin; +#X msg 419 190 _linsqrt; +#X msg 419 211 _sqrt; +#X msg 419 231 _sin; +#X msg 420 252 _sinhann; +#X msg 421 274 _hann; +#X obj 256 409 anal.scope_~ 1; +#X obj 49 327 anal.scope_~ 1; +#X obj 173 146 phasor~ 14.89; +#X obj 48 280 -~ 0.5; +#X obj 257 369 -~ 0.5; +#X text 66 20 Description: Transforms a linear signal into a curve. +; +#X text 67 39 Comments: Wraps fade~ from iemlib.; +#X obj 257 326 flow.curve~ _hann; +#X connect 0 0 13 1; +#X connect 1 0 13 1; +#X connect 2 0 13 1; +#X connect 3 0 13 1; +#X connect 4 0 13 1; +#X connect 5 0 13 1; +#X connect 8 0 9 0; +#X connect 8 0 13 0; +#X connect 9 0 7 0; +#X connect 10 0 6 0; +#X connect 13 0 10 0; diff --git a/flow.curve~.pd b/flow.curve~.pd new file mode 100644 index 0000000..13bea68 --- /dev/null +++ b/flow.curve~.pd @@ -0,0 +1,17 @@ +#N canvas 660 480 658 457 10; +#X obj 44 221 fade~; +#X text 97 222 <-iemlib; +#X obj 45 17 inlet~; +#X obj 198 18 inlet MODE; +#X obj 43 327 outlet~; +#X obj 187 105 symbol; +#X msg 189 151 set \$1; +#X obj 330 21 loadbang; +#X obj 330 58 init.check.symbol \$1; +#X connect 0 0 4 0; +#X connect 2 0 0 0; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; diff --git a/flow.ford-help.pd b/flow.ford-help.pd new file mode 100644 index 0000000..e429cff --- /dev/null +++ b/flow.ford-help.pd @@ -0,0 +1,28 @@ +#N canvas 77 114 1064 421 10; +#X obj 99 182 print; +#X obj 99 92 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 470 232 WARNING: There is a protection mechanism against infinite +for loops. flow.ford will stop outputing after 10000 elements.; +#X text 478 65 Argument_2: Conditional comparator.; +#X text 476 82 Argument_3: Conditional value.; +#X text 476 98 Argument_4: Iteration operator.; +#X text 477 117 Argument_5: Iteration value.; +#X text 265 145 == for(i=2 \; i<10 \; i=i+1); +#X text 77 15 Description: A more dynamic FOR loop thingy.; +#X obj 102 297 print; +#X obj 103 230 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 280 259 == for(i=0 \; i<=30 \; i=i+4); +#X text 478 47 Argument_1: Initial value.; +#X text 473 150 Inlet_1: bang to execute. Float to execute with that +inital value.; +#X text 476 28 ALL ARGUMENTS ARE REQUIRED!; +#X text 470 182 Inlet_2: Conditional value.; +#X text 469 201 Inlet_5: Iteration value.; +#X obj 99 145 flow.ford 2 < 10 + 1; +#X obj 102 260 flow.ford 0 <= 30 + 4; +#X connect 1 0 17 0; +#X connect 10 0 18 0; +#X connect 17 0 0 0; +#X connect 18 0 9 0; diff --git a/flow.ford.pd b/flow.ford.pd new file mode 100644 index 0000000..cc3d96b --- /dev/null +++ b/flow.ford.pd @@ -0,0 +1,53 @@ +#N canvas 639 126 487 437 10; +#X obj 68 2 inlet; +#X obj 69 85 until; +#X obj 68 389 outlet; +#X obj 126 257 \$2 \$3; +#X obj 138 148 \$4 \$5; +#X obj 222 1 inlet; +#X obj 349 8 inlet; +#X obj 70 148 t a a; +#X obj 149 305 sel 1 0; +#X obj 134 85 f \$1; +#X obj 70 122 f 0; +#X obj 248 307 sel 1; +#X obj 68 322 spigot; +#X obj 99 206 t a a b; +#X obj 106 286 t a a; +#X obj 308 395 print WARNING; +#X msg 309 350 For loop detected.; +#X obj 247 241 f; +#X msg 251 201 0; +#X obj 315 256 t f f; +#X obj 348 285 + 1; +#X obj 247 279 > 10000; +#X obj 119 27 t b a b; +#X connect 0 0 22 0; +#X connect 1 0 10 0; +#X connect 3 0 14 0; +#X connect 4 0 10 1; +#X connect 5 0 3 1; +#X connect 6 0 4 1; +#X connect 7 0 12 0; +#X connect 7 1 13 0; +#X connect 8 1 1 1; +#X connect 9 0 10 1; +#X connect 10 0 7 0; +#X connect 11 0 1 1; +#X connect 11 0 16 0; +#X connect 12 0 2 0; +#X connect 13 0 3 0; +#X connect 13 1 4 0; +#X connect 13 2 17 0; +#X connect 14 0 12 1; +#X connect 14 1 8 0; +#X connect 16 0 15 0; +#X connect 17 0 19 0; +#X connect 18 0 17 1; +#X connect 19 0 21 0; +#X connect 19 1 20 0; +#X connect 20 0 17 1; +#X connect 21 0 11 0; +#X connect 22 0 1 0; +#X connect 22 1 9 0; +#X connect 22 2 18 0; diff --git a/flow.gun-help.pd b/flow.gun-help.pd new file mode 100644 index 0000000..948bfec --- /dev/null +++ b/flow.gun-help.pd @@ -0,0 +1,27 @@ +#N canvas 370 242 466 316 10; +#X msg 95 97 10; +#X msg 137 97 3; +#X obj 209 208 print done; +#X obj 141 242 print index; +#X obj 59 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 6 2 cnv 15 400 60 empty empty flow.gun 12 12 1 14 -261681 -1 +0; +#X obj 251 40 cnv 15 155 22 empty empty Version:01(2004-11-22) 45 12 +1 7 -1 -262144 0; +#X text 289 209 Bangs when done; +#X text 227 242 Current index.; +#X text 167 102 Float: start sending n floats.; +#X text 222 135 Number of floats to send; +#X text 227 169 arg1 : number of floats to send.; +#X floatatom 187 137 5 0 0 0 - - -; +#X text 167 90 Bang: start sending previous n floats.; +#X obj 151 168 flow.gun 2; +#X text 19 22 Description: Sends out n serialized floats.; +#X text 16 63 Similar : until uzi kalashnikov; +#X connect 0 0 14 0; +#X connect 1 0 14 0; +#X connect 4 0 14 0; +#X connect 12 0 14 1; +#X connect 14 0 3 0; +#X connect 14 1 2 0; diff --git a/flow.gun.pd b/flow.gun.pd new file mode 100644 index 0000000..ffb58bf --- /dev/null +++ b/flow.gun.pd @@ -0,0 +1,34 @@ +#N canvas 344 212 438 446 10; +#X obj 33 373 outlet; +#X obj 21 53 inlet; +#X obj 192 317 outlet; +#X obj 199 107 inlet; +#X text 235 319 Bangs when done; +#X text 77 374 Current index.; +#X text 58 48 Float: start sending n floats.; +#X text 236 108 Number of floats to send; +#X text 62 33 Bang: start sending floats.; +#X obj 70 206 until; +#X obj 70 152 t f f; +#X obj 70 185 t f b; +#X obj 72 267 + 1; +#X obj 70 242 f; +#X msg 121 207 0; +#X obj 114 344 sel; +#X obj 72 295 t f f f; +#X obj 70 110 f \$1; +#X connect 1 0 17 0; +#X connect 3 0 17 1; +#X connect 9 0 13 0; +#X connect 10 0 11 0; +#X connect 10 1 15 1; +#X connect 11 0 9 0; +#X connect 11 1 14 0; +#X connect 12 0 16 0; +#X connect 13 0 12 0; +#X connect 14 0 13 1; +#X connect 15 0 2 0; +#X connect 16 0 15 0; +#X connect 16 1 0 0; +#X connect 16 2 13 1; +#X connect 17 0 10 0; diff --git a/flow.hold~-help.pd b/flow.hold~-help.pd new file mode 100644 index 0000000..afecf4b --- /dev/null +++ b/flow.hold~-help.pd @@ -0,0 +1,11 @@ +#N canvas 0 0 508 403 10; +#X obj 222 117 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 104 12 Description: Holds a signal to a fixed value.; +#X obj 142 162 flow.hold~; +#X obj 156 229 anal.scope_~ 1; +#X msg 296 89 \; pd dsp 1; +#X obj 136 90 osc~ 0.5; +#X connect 0 0 2 1; +#X connect 2 0 3 0; +#X connect 5 0 2 0; diff --git a/flow.hold~.pd b/flow.hold~.pd new file mode 100644 index 0000000..4f8a472 --- /dev/null +++ b/flow.hold~.pd @@ -0,0 +1,30 @@ +#N canvas 632 94 450 300 10; +#N canvas 434 396 756 522 hold~ 0; +#X obj 94 114 inlet~; +#X obj 147 414 outlet~; +#X obj 324 96 inlet; +#X obj 255 213 sig~ 0; +#X obj 304 168 sel 0 1; +#X obj 138 241 multiplex~ 0 1; +#X obj 328 281 snapshot~; +#X obj 258 141 t f f; +#X connect 0 0 5 0; +#X connect 2 0 7 0; +#X connect 3 0 5 1; +#X connect 4 1 6 0; +#X connect 5 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 7 0 5 0; +#X connect 7 1 4 0; +#X restore 96 77 pd hold~; +#X obj 90 24 inlet~; +#X obj 107 200 outlet~; +#X obj 206 9 inlet; +#X obj 181 51 != 0; +#X obj 185 74 change 0; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 0 1; diff --git a/flow.in.betweens-help.pd b/flow.in.betweens-help.pd new file mode 100644 index 0000000..dcb154a --- /dev/null +++ b/flow.in.betweens-help.pd @@ -0,0 +1,17 @@ +#N canvas 221 199 619 407 12; +#X obj 141 143 flow.in.betweens; +#X msg 287 100 0; +#X text 328 100 Sets current value; +#X obj 141 208 print; +#X msg 43 74 0; +#X msg 202 77 10; +#X msg 103 72 2; +#X msg 162 75 9; +#X text 20 21 Description: Prints all the integers between the last +and previous received integers.; +#X connect 0 0 3 0; +#X connect 1 0 0 1; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; diff --git a/flow.in.betweens.pd b/flow.in.betweens.pd new file mode 100644 index 0000000..c35987d --- /dev/null +++ b/flow.in.betweens.pd @@ -0,0 +1,53 @@ +#N canvas 221 199 515 412 12; +#X obj 171 207 until; +#X obj 161 42 int; +#X obj 171 121 -; +#X obj 274 222 f; +#X obj 228 265 +; +#N canvas 0 0 454 304 sign 0; +#X obj 97 184 abs; +#X obj 105 79 inlet; +#X obj 105 143 t f f; +#X obj 160 186 moses 0; +#X msg 159 215 -1; +#X msg 209 217 1; +#X obj 101 249 outlet; +#X obj 190 260 outlet; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X restore 171 147 pd sign; +#X obj 228 297 t f f f; +#X obj 163 177 sel 0; +#X obj 142 247 f; +#X obj 175 77 t f f; +#X obj 159 13 inlet; +#X text 40 -15 Spills values between integers.; +#X obj 317 67 inlet; +#X obj 228 328 outlet; +#X text 375 15 set current value; +#X obj 340 197 t f f; +#X connect 0 0 3 0; +#X connect 1 0 9 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 5 1 4 1; +#X connect 6 0 13 0; +#X connect 6 1 3 1; +#X connect 6 2 2 1; +#X connect 7 0 8 0; +#X connect 7 1 0 0; +#X connect 8 0 13 0; +#X connect 9 0 2 0; +#X connect 9 1 8 1; +#X connect 10 0 1 0; +#X connect 12 0 15 0; +#X connect 15 0 3 1; +#X connect 15 1 2 1; diff --git a/flow.iter-help.pd b/flow.iter-help.pd new file mode 100644 index 0000000..408af14 --- /dev/null +++ b/flow.iter-help.pd @@ -0,0 +1,27 @@ +#N canvas 370 242 470 320 10; +#X msg 95 97 10; +#X msg 137 97 3; +#X obj 209 208 print done; +#X obj 141 242 print index; +#X obj 59 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 6 2 cnv 15 400 60 empty empty flow.iter 12 12 1 14 -261681 -1 +0; +#X obj 251 40 cnv 15 155 22 empty empty Version:01(2004-11-22) 45 12 +1 7 -1 -262144 0; +#X text 289 209 Bangs when done; +#X text 227 242 Current index.; +#X text 167 102 Float: start sending n floats.; +#X text 222 135 Number of floats to send; +#X text 227 169 arg1 : number of floats to send.; +#X floatatom 187 137 5 0 0 0 - - -; +#X text 167 90 Bang: start sending previous n floats.; +#X text 16 63 Similar : until uzi kalashnikov; +#X obj 153 168 flow.iter 2; +#X text 19 22 Description: Iterates through n serialized floats.; +#X connect 0 0 15 0; +#X connect 1 0 15 0; +#X connect 4 0 15 0; +#X connect 12 0 15 1; +#X connect 15 0 3 0; +#X connect 15 1 2 0; diff --git a/flow.iter.pd b/flow.iter.pd new file mode 100644 index 0000000..b747256 --- /dev/null +++ b/flow.iter.pd @@ -0,0 +1,36 @@ +#N canvas 344 212 450 458 10; +#X obj 33 373 outlet; +#X obj 21 53 inlet; +#X obj 254 335 outlet; +#X obj 199 107 inlet; +#X text 297 337 Bangs when done; +#X text 77 374 Current index.; +#X text 58 48 Float: start sending n floats.; +#X text 236 108 Number of floats to send; +#X text 62 33 Bang: start sending floats.; +#X obj 70 206 until; +#X obj 70 152 t f f; +#X obj 70 185 t f b; +#X obj 119 271 + 1; +#X obj 70 242 f; +#X msg 121 207 0; +#X obj 114 344 sel; +#X obj 72 295 t f f f; +#X obj 70 110 f \$1; +#X obj 191 252 - 1; +#X connect 1 0 17 0; +#X connect 3 0 17 1; +#X connect 9 0 13 0; +#X connect 10 0 11 0; +#X connect 10 1 18 0; +#X connect 11 0 9 0; +#X connect 11 1 14 0; +#X connect 12 0 13 1; +#X connect 13 0 16 0; +#X connect 14 0 13 1; +#X connect 15 0 2 0; +#X connect 16 0 15 0; +#X connect 16 1 0 0; +#X connect 16 2 12 0; +#X connect 17 0 10 0; +#X connect 18 0 15 1; diff --git a/flow.once-help.pd b/flow.once-help.pd new file mode 100644 index 0000000..a8b3994 --- /dev/null +++ b/flow.once-help.pd @@ -0,0 +1,12 @@ +#N canvas 0 0 450 300 10; +#X obj 111 130 flow.once; +#X obj 116 161 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 112 97 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 43 28 Description: Will only bang once (unless reset).; +#X obj 189 106 bng 15 250 50 0 empty empty reset 0 -6 0 8 -262144 -1 +-1; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 4 0 0 1; diff --git a/flow.once.pd b/flow.once.pd new file mode 100644 index 0000000..a905801 --- /dev/null +++ b/flow.once.pd @@ -0,0 +1,21 @@ +#N canvas 0 0 557 447 10; +#X obj 34 59 inlet; +#X obj 89 194 t a b; +#X obj 164 182 f 0; +#X obj 89 247 outlet; +#X obj 207 56 inlet; +#X obj 207 79 bang; +#X obj 207 102 f 1; +#X text 8 6 once; +#X text 64 7 only the first message passes through; +#X text 29 37 message in; +#X text 203 36 anything to init once; +#X obj 89 162 spigot 1; +#X connect 0 0 11 0; +#X connect 1 0 3 0; +#X connect 1 1 2 0; +#X connect 2 0 11 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 11 1; +#X connect 11 0 1 0; diff --git a/flow.pre.op-help.pd b/flow.pre.op-help.pd new file mode 100644 index 0000000..abf07d9 --- /dev/null +++ b/flow.pre.op-help.pd @@ -0,0 +1,56 @@ +#N canvas 0 0 512 404 10; +#X obj 270 210 coll; +#C restore; +#N canvas 79 76 667 512 loadsomeitems 0; +#X obj -44 53 inlet; +#X obj 198 311 outlet; +#X obj 29 115 t b b; +#X text -70 21 messages prefixed with an index are stored:; +#X msg 279 165 4 this is a message; +#X msg 345 235 1 10; +#X msg 298 187 3 and another one with 12345 in it; +#X msg 325 210 2 some_symbol; +#X msg 357 256 0 sample data; +#X msg 264 132 5 one more message; +#X msg 253 109 6 and even one more; +#X msg 239 88 7 ok lets add a last one; +#X connect 0 0 2 0; +#X connect 2 1 4 0; +#X connect 2 1 6 0; +#X connect 2 1 7 0; +#X connect 2 1 5 0; +#X connect 2 1 8 0; +#X connect 2 1 9 0; +#X connect 2 1 10 0; +#X connect 2 1 11 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X restore 326 193 pd loadsomeitems; +#X obj 326 172 loadbang; +#X msg 97 289 5 one more message; +#X floatatom 97 114 5 0 7 0 - - -; +#X obj 388 173 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 270 165 f; +#X text 29 11 Description: Prepends the data you sen it to the output +of the operation it does through its right inlet and outlet.; +#X obj 97 94 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 5; +#X obj 97 199 flow.pre.op; +#X obj 97 266 flow.prepend set; +#X connect 0 0 9 1; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 4 0 9 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 8 0 4 0; +#X connect 9 0 10 0; +#X connect 9 1 6 0; +#X connect 10 0 3 0; diff --git a/flow.pre.op.pd b/flow.pre.op.pd new file mode 100644 index 0000000..48c6ba8 --- /dev/null +++ b/flow.pre.op.pd @@ -0,0 +1,12 @@ +#N canvas 696 79 450 300 10; +#X obj 57 17 inlet; +#X obj 21 222 outlet; +#X obj 312 13 inlet; +#X obj 325 189 outlet; +#X obj 98 64 t a a; +#X obj 56 141 flow.prepend; +#X connect 0 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 3 0; +#X connect 4 1 5 1; +#X connect 5 0 1 0; diff --git a/flow.prepend-help.pd b/flow.prepend-help.pd new file mode 100644 index 0000000..4ffddf8 --- /dev/null +++ b/flow.prepend-help.pd @@ -0,0 +1,26 @@ +#N canvas 252 555 479 340 10; +#X msg 42 77 test; +#X msg 150 88 symbol test; +#X floatatom 186 119 5 0 0 0 - - -; +#X msg 219 142 1 2 3; +#X text 47 14 Description: Prepends anything to anything.; +#X text 44 32 Comments: Wraps [list prepend] but the output type depends +on the argument's type.; +#X obj 104 234 print ANYTHING; +#X msg 281 89 test; +#X msg 389 100 symbol test; +#X floatatom 425 131 5 0 0 0 - - -; +#X msg 458 154 1 2 3; +#X obj 343 246 print LIST; +#X obj 104 188 flow.prepend me; +#X obj 343 200 flow.prepend 3; +#X connect 0 0 12 0; +#X connect 1 0 12 0; +#X connect 2 0 12 0; +#X connect 3 0 12 0; +#X connect 7 0 13 0; +#X connect 8 0 13 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 12 0 6 0; +#X connect 13 0 11 0; diff --git a/flow.prepend.pd b/flow.prepend.pd new file mode 100644 index 0000000..8a95918 --- /dev/null +++ b/flow.prepend.pd @@ -0,0 +1,33 @@ +#N canvas 0 0 661 466 10; +#X obj 51 35 inlet; +#X obj 220 27 inlet; +#X obj 175 378 outlet; +#X obj 274 47 dollarg; +#X obj 274 25 loadbang; +#X obj 90 209 list prepend; +#X obj 71 283 list trim; +#X obj 106 250 demultiplex 0 1 2; +#X obj 293 157 t a b; +#X msg 261 207 0; +#X msg 317 210 1; +#X obj 207 146 t a b; +#X obj 230 83 route list symbol bang float; +#X connect 0 0 5 0; +#X connect 1 0 12 0; +#X connect 3 0 12 0; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 2 0; +#X connect 7 0 6 0; +#X connect 7 1 2 0; +#X connect 8 0 5 1; +#X connect 8 1 9 0; +#X connect 9 0 7 1; +#X connect 10 0 7 1; +#X connect 11 0 5 1; +#X connect 11 1 10 0; +#X connect 12 0 11 0; +#X connect 12 1 8 0; +#X connect 12 2 5 1; +#X connect 12 3 11 0; +#X connect 12 4 8 0; diff --git a/flow.receive-help.pd b/flow.receive-help.pd new file mode 100644 index 0000000..5e20012 --- /dev/null +++ b/flow.receive-help.pd @@ -0,0 +1,4 @@ +#N canvas 0 0 450 300 10; +#X obj 66 169 flow.receive; +#X text 64 65 Description: Receive data from any send.; +#X text 63 82 Comments: Will soon be deprecated by PD 0.4; diff --git a/flow.receive.pd b/flow.receive.pd new file mode 100644 index 0000000..7c25e66 --- /dev/null +++ b/flow.receive.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 470 320 10; +#X obj 135 28 inlet; +#X msg 158 108 set \$1; +#X obj 181 83 symbol; +#X obj 221 245 outlet; +#X obj 329 96 loadbang; +#X obj 333 125 dollarg; +#X obj 221 206 iem_receive; +#X obj 123 50 route bang; +#X msg 96 152 clear; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 1 2 0; +#X connect 8 0 6 0; diff --git a/flow.send-help.pd b/flow.send-help.pd new file mode 100644 index 0000000..d6235af --- /dev/null +++ b/flow.send-help.pd @@ -0,0 +1,16 @@ +#N canvas 0 0 454 304 10; +#X obj 85 180 flow.send; +#X text 64 65 Description: Send data to any receive.; +#X text 63 82 Comments: Will soon be deprecated by PD 0.4; +#X floatatom 298 168 5 0 0 0 - - -; +#X msg 152 145 foo; +#X floatatom 57 111 5 0 0 0 - - -; +#X obj 303 122 r foo; +#X floatatom 364 174 5 0 0 0 - - -; +#X obj 369 128 r bar; +#X msg 183 165 bar; +#X connect 4 0 0 1; +#X connect 5 0 0 0; +#X connect 6 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 0 1; diff --git a/flow.send.any-help.pd b/flow.send.any-help.pd new file mode 100644 index 0000000..02756e0 --- /dev/null +++ b/flow.send.any-help.pd @@ -0,0 +1,14 @@ +#N canvas 386 218 450 300 10; +#X msg 25 95 a 1 2 3; +#X obj 229 111 r a; +#X obj 229 138 print A; +#X obj 326 135 print A; +#X obj 326 108 r b; +#X msg 77 116 b ti to tum; +#X obj 25 154 flow.send.any; +#X text 41 39 Description: sends a message to a target defined by the +first element of the list.; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; diff --git a/flow.send.any.pd b/flow.send.any.pd new file mode 100644 index 0000000..83991d3 --- /dev/null +++ b/flow.send.any.pd @@ -0,0 +1,5 @@ +#N canvas 185 87 450 300 10; +#X obj 39 27 inlet; +#X obj 42 106 remote; +#X text 90 106 maxlib; +#X connect 0 0 1 0; diff --git a/flow.send.destroy-help.pd b/flow.send.destroy-help.pd new file mode 100644 index 0000000..386a623 --- /dev/null +++ b/flow.send.destroy-help.pd @@ -0,0 +1,10 @@ +#N canvas 123 431 787 361 10; +#X obj 241 236 print DESTROYED; +#X obj 241 203 receive test; +#X text 280 131 <- Create and destroy this abstraction. It will send +a bang to [receive test] everythime it is destroyed.; +#X obj 75 131 flow.send.destroy test; +#X text 173 303 You can set the target through the right inlet.; +#X text 92 28 Description: Sends a bang when it is destroyed.; +#X obj 51 303 tof/destroysend; +#X connect 1 0 0 0; diff --git a/flow.send.destroy.pd b/flow.send.destroy.pd new file mode 100644 index 0000000..752f50f --- /dev/null +++ b/flow.send.destroy.pd @@ -0,0 +1,10 @@ +#N canvas 1 47 450 300 10; +#X obj 252 70 inlet; +#X obj 78 74 inlet; +#X obj 297 137 loadbang; +#X obj 297 171 dollarg; +#X obj 78 223 tof/destroysend; +#X connect 0 0 4 1; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; diff --git a/flow.send.pd b/flow.send.pd new file mode 100644 index 0000000..d2bb910 --- /dev/null +++ b/flow.send.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 458 308 10; +#X obj 80 40 inlet; +#X obj 279 16 inlet; +#X obj 256 76 symbol; +#X msg 241 101 set \$1; +#X obj 338 82 loadbang; +#X obj 333 106 dollarg; +#X obj 148 226 iem_send; +#X obj 215 44 route bang; +#X msg 177 108 clear; +#X connect 0 0 6 0; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 6 1; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 7 0 8 0; +#X connect 7 1 2 0; +#X connect 8 0 6 1; diff --git a/flow.smooth-help.pd b/flow.smooth-help.pd new file mode 100644 index 0000000..0b01bcf --- /dev/null +++ b/flow.smooth-help.pd @@ -0,0 +1,51 @@ +#N canvas 471 60 704 592 10; +#X text 166 177 set the internal value; +#X msg 165 193 set 0; +#X floatatom 76 338 5 0 0 0 - - -; +#X text 158 58 Arg 1: The smooth factor. A value of: 1 does no smoothing +\, 2 smooths in halves \, 10 smooths in tenths \, etc....; +#X msg 10 182 4; +#X msg 43 183 10; +#X floatatom 152 238 5 0 0 0 - - -; +#X text 191 236 Smooth factor.; +#X floatatom 181 266 5 0 0 0 - - -; +#X text 221 268 Minimum difference.; +#X text 453 172 set the internal value; +#X msg 452 188 set 0; +#X floatatom 371 326 5 0 0 0 - - -; +#X msg 353 181 4; +#X msg 391 180 10; +#X obj 76 300 flow.smooth 2; +#X text 225 359 If you do not set a minimum difference \, the input +value will never be reached by the output!; +#X text 159 93 Arg 2 (optional): If set \, deternines the minimum difference +between the input value and the output value.; +#X text 40 29 Description: Smooths changing values.; +#X text 8 164 Click many times.; +#X obj 372 288 flow.smooth 2 0.1; +#X obj 76 510 flow.smooth 10; +#X msg 115 452 0; +#X msg 156 450 10; +#X floatatom 77 556 5 0 0 0 - - -; +#X obj 29 444 metro 100; +#X obj 29 419 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 29 395 loadbang; +#X text 217 462 If you bang the first inlet \, it will keep updating +flow.smooth with the last sent number.; +#X connect 1 0 15 0; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 6 0 15 1; +#X connect 8 0 15 2; +#X connect 11 0 20 0; +#X connect 13 0 20 0; +#X connect 14 0 20 0; +#X connect 15 0 2 0; +#X connect 20 0 12 0; +#X connect 21 0 24 0; +#X connect 22 0 21 0; +#X connect 23 0 21 0; +#X connect 25 0 21 0; +#X connect 26 0 25 0; +#X connect 27 0 26 0; diff --git a/flow.smooth.pd b/flow.smooth.pd new file mode 100644 index 0000000..8f6ab09 --- /dev/null +++ b/flow.smooth.pd @@ -0,0 +1,94 @@ +#N canvas 0 0 571 718 10; +#X obj 444 37 loadbang; +#X obj 444 62 f \$1; +#X obj 444 86 select 0; +#X text 93 45 1-pole IIR-filter (low-pass); +#X obj 383 110 moses 1; +#X msg 332 131 1; +#X obj 326 693 outlet; +#X obj 333 618 t f f f; +#X obj 281 279 -; +#X obj 308 578 +; +#X obj 271 419 / 1; +#X obj 274 228 t f f; +#X obj 469 340 moses \$2; +#X obj 324 641 t b f f; +#X obj 326 669 f; +#X obj 435 474 f; +#N canvas 0 0 454 304 sign 0; +#X obj 97 184 abs; +#X obj 105 79 inlet; +#X obj 105 143 t f f; +#X obj 160 186 moses 0; +#X msg 159 215 -1; +#X msg 209 217 1; +#X obj 101 249 outlet; +#X obj 190 260 outlet; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X restore 241 450 pd sign; +#X obj 212 482 moses \$2; +#X obj 225 574 *; +#X obj 203 513 b; +#X obj 192 542 f \$2; +#X obj 263 334 t f f; +#X obj 263 364 demultiplex 0 1; +#X obj 469 310 abs; +#X msg 459 369 1; +#X msg 506 363 0; +#X obj 358 406 b; +#X obj 384 8 inlet smooth factor; +#X obj 108 94 inlet data; +#X obj 516 161 inlet; +#X obj 71 118 route set; +#X obj 193 165 f; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 1 4 0; +#X connect 4 0 5 0; +#X connect 4 1 10 1; +#X connect 5 0 10 1; +#X connect 7 0 13 0; +#X connect 7 1 9 1; +#X connect 7 2 8 1; +#X connect 8 0 21 0; +#X connect 9 0 7 0; +#X connect 10 0 16 0; +#X connect 11 0 8 0; +#X connect 11 1 15 1; +#X connect 12 0 24 0; +#X connect 12 1 25 0; +#X connect 13 0 14 0; +#X connect 13 2 14 1; +#X connect 14 0 6 0; +#X connect 15 0 7 0; +#X connect 16 0 17 0; +#X connect 16 1 18 1; +#X connect 17 0 19 0; +#X connect 17 1 18 0; +#X connect 18 0 9 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 21 0 22 0; +#X connect 21 1 23 0; +#X connect 22 0 10 0; +#X connect 22 1 26 0; +#X connect 23 0 12 0; +#X connect 24 0 22 1; +#X connect 25 0 22 1; +#X connect 26 0 15 0; +#X connect 27 0 4 0; +#X connect 28 0 30 0; +#X connect 29 0 12 1; +#X connect 29 0 17 1; +#X connect 29 0 20 1; +#X connect 30 0 8 1; +#X connect 30 0 9 1; +#X connect 30 1 31 0; +#X connect 31 0 11 0; diff --git a/flow.smooth~-help.pd b/flow.smooth~-help.pd new file mode 100644 index 0000000..092cb82 --- /dev/null +++ b/flow.smooth~-help.pd @@ -0,0 +1,36 @@ +#N canvas 306 84 631 524 10; +#X obj 102 306 snapshot~; +#X obj 189 217 loadbang; +#N canvas 0 0 450 300 graph1 0; +#X array \$0smooth 4000 float 4; +#X coords 0 100 3999 0 200 140 1; +#X restore 296 219 graph; +#X obj 102 362 table.write.next \$0smooth; +#X floatatom 102 91 5 0 100 0 - - -; +#X floatatom 229 132 5 0 0 0 - - -; +#X msg 102 54 10; +#X msg 137 55 90; +#X text 265 131 Approximative time to stabilize (milliseconds); +#X obj 102 125 sig~; +#X obj 216 76 loadbang; +#X obj 102 158 flow.smooth~ 1000; +#X msg 259 99 10000; +#X text 101 36 Input value.; +#X text 10 127 Input signal->; +#X text 11 177 Output signal->; +#X text 53 -2 Description: Smooths a control signal (the playback volume +for example).; +#X obj 133 272 metro 10; +#X msg 216 99 3000; +#X connect 0 0 3 0; +#X connect 1 0 17 0; +#X connect 4 0 9 0; +#X connect 5 0 11 1; +#X connect 6 0 4 0; +#X connect 7 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 18 0; +#X connect 11 0 0 0; +#X connect 12 0 5 0; +#X connect 17 0 0 0; +#X connect 18 0 5 0; diff --git a/flow.smooth~.pd b/flow.smooth~.pd new file mode 100644 index 0000000..9233c31 --- /dev/null +++ b/flow.smooth~.pd @@ -0,0 +1,27 @@ +#N canvas 114 166 531 461 10; +#X obj 76 64 inlet~; +#X obj 73 238 outlet~; +#X obj 88 166 lop~; +#X obj 211 101 loadbang; +#X obj 211 124 f \$1; +#X obj 263 41 inlet; +#N canvas 0 0 454 304 ms2freq 0; +#X obj 153 46 inlet; +#X obj 161 144 /; +#X msg 156 98 1000 \$1; +#X obj 161 204 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X restore 156 75 pd ms2freq; +#X obj 211 151 sel 0; +#X msg 202 176 1000; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 2 1; +#X connect 7 0 8 0; +#X connect 7 1 6 0; +#X connect 8 0 6 0; diff --git a/flow.speed.fixed-help.pd b/flow.speed.fixed-help.pd new file mode 100644 index 0000000..eaee778 --- /dev/null +++ b/flow.speed.fixed-help.pd @@ -0,0 +1,24 @@ +#N canvas 83 175 741 552 10; +#X obj 103 309 flow.speed.fixed; +#X obj 84 168 metro 100; +#X floatatom 101 357 5 0 0 0 - - -; +#X floatatom 211 282 5 0 0 0 - - -; +#X obj 106 244 f; +#X msg 137 205 0; +#X msg 188 206 -10; +#X msg 288 207 100; +#X msg 235 209 20; +#X text 180 42 Description: Reaches a target value at a fixed speed. +; +#X obj 81 135 loadbang; +#X text 256 281 speed; +#X text 133 244 target value; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 3 0 0 1; +#X connect 4 0 0 0; +#X connect 5 0 4 1; +#X connect 6 0 4 1; +#X connect 7 0 4 1; +#X connect 8 0 4 1; +#X connect 10 0 1 0; diff --git a/flow.speed.fixed.pd b/flow.speed.fixed.pd new file mode 100644 index 0000000..c82604f --- /dev/null +++ b/flow.speed.fixed.pd @@ -0,0 +1,25 @@ +#N canvas 701 233 546 453 10; +#X obj 40 68 inlet stream; +#X obj 295 62 inlet speed; +#X obj 79 182 -; +#X obj 81 215 clip -1 1; +#X obj 84 251 +; +#X obj 117 294 t f f f; +#X obj 122 396 outlet; +#X obj 219 127 abs; +#X obj 218 160 * -1; +#X obj 317 109 loadbang; +#X obj 317 143 dollarg; +#X connect 0 0 2 0; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 2 1; +#X connect 5 2 4 1; +#X connect 7 0 3 2; +#X connect 7 0 8 0; +#X connect 8 0 3 1; +#X connect 9 0 10 0; +#X connect 10 0 7 0; diff --git a/flow.speed.limit-help.pd b/flow.speed.limit-help.pd new file mode 100644 index 0000000..2e19678 --- /dev/null +++ b/flow.speed.limit-help.pd @@ -0,0 +1,21 @@ +#N canvas 92 604 851 328 10; +#X text 31 24 Description: Limits the speed of incoming data.; +#X floatatom 50 119 5 0 0 0 - - -; +#X floatatom 50 208 5 0 0 0 - - -; +#X text 36 43 Comments: Similar to speed_limit.; +#X msg 265 114 a b c d; +#X obj 50 156 flow.speed.limit 1000; +#X msg 339 113 e f g h; +#X text 423 155 <- This flow.speed.limit only outputs data every second. +; +#X obj 264 155 flow.speed.limit 1000; +#X text 452 74 Inlet_2: limit time in milliseconds.; +#X text 452 56 Inlet_1: data.; +#X msg 266 229 e f g h; +#X obj 265 190 flow.prepend set; +#X connect 1 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 2 0; +#X connect 6 0 8 0; +#X connect 8 0 12 0; +#X connect 12 0 11 0; diff --git a/flow.speed.limit.pd b/flow.speed.limit.pd new file mode 100644 index 0000000..0f538a0 --- /dev/null +++ b/flow.speed.limit.pd @@ -0,0 +1,18 @@ +#N canvas 297 161 450 300 10; +#X obj 175 44 inlet; +#X obj 207 129 list.wait; +#X obj 214 162 t a b b; +#X obj 281 192 delay \$1; +#X msg 299 124 1; +#X msg 363 155 0; +#X obj 220 238 outlet; +#X obj 403 41 inlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 0; +#X connect 2 2 4 0; +#X connect 3 0 5 0; +#X connect 4 0 1 1; +#X connect 5 0 1 1; +#X connect 7 0 3 1; diff --git a/flow.split-help.pd b/flow.split-help.pd new file mode 100644 index 0000000..cb0fceb --- /dev/null +++ b/flow.split-help.pd @@ -0,0 +1,25 @@ +#N canvas 344 241 454 304 10; +#X text 34 27 Description: look for a range of numbers; +#X floatatom 230 233 5 0 0 0 - - -; +#X floatatom 302 203 5 0 0 0 - - -; +#X floatatom 230 80 5 0 0 0 - - -; +#X text 351 202 not in range; +#X text 275 234 in range; +#X floatatom 266 104 5 0 0 0 - - -; +#X floatatom 302 129 5 0 0 0 - - -; +#X text 309 104 set min; +#X text 346 127 set max; +#X msg 108 118 3 0 10; +#X text 28 72 list means:; +#X msg 32 90 val_to_compare min max; +#X text 64 118 i.e.:; +#X obj 230 149 flow.split 10 20; +#X floatatom 338 178 5 0 0 0 - - -; +#X text 382 176 under_or_over; +#X connect 3 0 14 0; +#X connect 6 0 14 1; +#X connect 7 0 14 2; +#X connect 10 0 14 0; +#X connect 14 0 1 0; +#X connect 14 1 2 0; +#X connect 14 2 15 0; diff --git a/flow.split.pd b/flow.split.pd new file mode 100644 index 0000000..b880223 --- /dev/null +++ b/flow.split.pd @@ -0,0 +1,55 @@ +#N canvas 0 0 667 419 10; +#X obj 33 9 inlet; +#X obj 172 13 inlet min; +#X obj 295 17 inlet max; +#X obj 37 389 outlet in_rage; +#X obj 187 392 outlet out_of_rage; +#X obj 161 160 minmax; +#X text 209 164 zexy; +#X obj 145 130 pack; +#X obj 276 43 t b f; +#X obj 39 40 route list; +#X obj 31 79 unpack f f f; +#X obj 314 103 loadbang; +#X obj 311 127 dollarg; +#X obj 357 151 sel 0; +#X msg 363 176 0 10; +#X obj 66 152 t f f f; +#X obj 60 337 demultiplex 0 1; +#X obj 405 370 outlet under_or_over; +#X obj 110 222 <; +#X obj 109 249 * -1; +#X obj 166 230 >; +#X obj 150 288 +; +#X obj 188 315 t f f; +#X obj 193 339 == 0; +#X connect 0 0 9 0; +#X connect 1 0 7 0; +#X connect 2 0 8 0; +#X connect 5 0 18 1; +#X connect 5 1 20 1; +#X connect 7 0 5 0; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 10 0; +#X connect 9 1 15 0; +#X connect 10 0 15 0; +#X connect 10 1 7 0; +#X connect 10 2 7 1; +#X connect 11 0 12 0; +#X connect 12 0 5 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 14 0 5 0; +#X connect 15 0 16 0; +#X connect 15 1 18 0; +#X connect 15 2 20 0; +#X connect 16 0 4 0; +#X connect 16 1 3 0; +#X connect 18 0 19 0; +#X connect 19 0 21 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 22 1 17 0; +#X connect 23 0 16 1; diff --git a/flow.thresh-help.pd b/flow.thresh-help.pd new file mode 100644 index 0000000..67c1f71 --- /dev/null +++ b/flow.thresh-help.pd @@ -0,0 +1,19 @@ +#N canvas 0 22 477 340 10; +#X obj 59 98 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X obj 48 283 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 58 8 Description: Bangs when float input is bigger than the +argument value; +#X text 61 46 Only resets when input value gets back to under the target +value; +#X obj 223 101 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 700 1; +#X obj 212 286 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 57 236 flow.thresh @thresh 64; +#X obj 221 239 flow.thresh @thresh 64 @direction -1; +#X connect 0 0 6 0; +#X connect 4 0 7 0; +#X connect 6 0 1 0; +#X connect 7 0 5 0; diff --git a/flow.thresh.pd b/flow.thresh.pd new file mode 100644 index 0000000..e6fadcc --- /dev/null +++ b/flow.thresh.pd @@ -0,0 +1,41 @@ +#N canvas 262 186 527 398 10; +#X obj 120 73 inlet; +#X obj 145 303 outlet; +#X obj 267 72 inlet; +#X obj 143 274 sel 1; +#X obj 110 170 >= 0; +#X obj 112 195 change; +#X obj 126 114 demultiplex; +#X obj 187 94 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 173 194 change; +#X obj 171 169 <= 0; +#X obj 339 120 init.post.dollarg; +#X obj 341 98 dollarg; +#X obj 341 73 loadbang; +#X obj 372 204 sel -1 1; +#X msg 364 229 1; +#X msg 396 230 0; +#X obj 318 171 route thresh direction dir; +#X connect 0 0 6 0; +#X connect 2 0 16 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 6 1 9 0; +#X connect 7 0 6 1; +#X connect 8 0 3 0; +#X connect 9 0 8 0; +#X connect 10 0 16 0; +#X connect 11 0 10 0; +#X connect 11 1 10 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 6 1; +#X connect 15 0 6 1; +#X connect 16 0 4 1; +#X connect 16 0 9 1; +#X connect 16 1 13 0; +#X connect 16 2 13 0; diff --git a/flow.till.done-help.pd b/flow.till.done-help.pd new file mode 100644 index 0000000..3cecf23 --- /dev/null +++ b/flow.till.done-help.pd @@ -0,0 +1,20 @@ +#N canvas 0 0 581 290 10; +#X obj 423 168 flow.till.done; +#X floatatom 423 129 5 0 0 0 - - -; +#X obj 425 193 t f f; +#X floatatom 413 234 5 0 0 0 - - -; +#X floatatom 65 130 5 0 0 0 - - -; +#X obj 68 161 f; +#X obj 69 186 t f f; +#X floatatom 70 223 5 0 0 0 - - -; +#X text 56 101 This will create a stack overflow.; +#X text 388 102 This will not.; +#X text 57 30 Description: Stack overflow inhibiter.; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 1 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 4 0; diff --git a/flow.till.done.pd b/flow.till.done.pd new file mode 100644 index 0000000..d366b3b --- /dev/null +++ b/flow.till.done.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 121 70 inlet; +#X obj 165 131 spigot 1; +#X obj 161 157 t b a b; +#X msg 214 176 0; +#X msg 120 181 1; +#X obj 175 235 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 2 2 3 0; +#X connect 3 0 1 1; +#X connect 4 0 1 1; diff --git a/flow.value.change-help.pd b/flow.value.change-help.pd new file mode 100644 index 0000000..cd82b9d --- /dev/null +++ b/flow.value.change-help.pd @@ -0,0 +1,68 @@ +#N canvas 365 67 744 695 10; +#X obj 53 90 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 92 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 34 4 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#X obj 263 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 271 89 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 249 91 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 439 231 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 438 155 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 457 156 Get the current shared number.; +#X text 54 -23 To test: turn one toggle on \, then try the other. Notice +how there was no output because the shared number did not change.; +#X obj 222 255 flow.value.change \$0local2; +#X floatatom 173 151 5 0 0 0 - - -; +#X obj 52 302 print a; +#X obj 218 301 print b; +#X text 103 321 In this example \, only one of the flow.value.change +will output the value. Break the connection between the number box +and the flow.value.change that is outputing and voila \, the other +flow.value.change will print.; +#X obj 197 217 spigot 1; +#X obj 267 219 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 267 198 init.lf 1; +#X obj 174 177 t f f; +#X text 113 449 Internally \, the actual value name is created by appending +"_vc" to argument_1.; +#X text 246 418 -- Notes --; +#X text 27 -95 Argument_1: The name of the shared value (float).; +#X obj 34 47 flow.value.change \$0local; +#X obj 260 48 flow.value.change \$0local; +#X obj 439 190 flow.value.change \$0local; +#X obj 37 255 flow.value.change \$0local2; +#X text 34 -119 Description: Eliminates redundancy in a shared float +value.; +#X text 25 -81 Outlet 1: (float) outputs the value if queried with +a bang or if changed.; +#X text 25 -58 Outlet 2: (float) outputs 1 if the value change \, 0 +if not); +#X obj 179 76 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 407 72 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X connect 2 0 22 0; +#X connect 3 0 23 0; +#X connect 7 0 24 0; +#X connect 10 0 13 0; +#X connect 11 0 18 0; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X connect 17 0 16 0; +#X connect 18 0 25 0; +#X connect 18 1 15 0; +#X connect 22 0 1 0; +#X connect 22 0 0 0; +#X connect 22 1 29 0; +#X connect 23 0 5 0; +#X connect 23 0 4 0; +#X connect 23 1 30 0; +#X connect 24 0 6 0; +#X connect 25 0 12 0; diff --git a/flow.value.change.pd b/flow.value.change.pd new file mode 100644 index 0000000..5d55d77 --- /dev/null +++ b/flow.value.change.pd @@ -0,0 +1,34 @@ +#N canvas 0 0 450 300 10; +#X obj 165 136 !=; +#X obj 142 96 t f f b; +#X obj 164 41 inlet; +#X obj 71 64 route bang; +#X obj 312 300 outlet changed; +#X obj 44 292 outlet value; +#X obj 128 158 demultiplex; +#X msg 129 184 0; +#X obj 191 248 t f b f; +#X obj 63 208 t f b; +#X msg 98 233 0; +#X msg 216 286 1; +#X obj 207 127 value \$1; +#X obj 45 127 value \$1; +#X connect 0 0 6 1; +#X connect 1 0 6 0; +#X connect 1 1 0 0; +#X connect 1 2 12 0; +#X connect 2 0 3 0; +#X connect 3 0 13 0; +#X connect 3 1 1 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 4 0; +#X connect 8 0 5 0; +#X connect 8 1 11 0; +#X connect 8 2 12 0; +#X connect 9 0 5 0; +#X connect 9 1 10 0; +#X connect 10 0 4 0; +#X connect 11 0 4 0; +#X connect 12 0 0 1; +#X connect 13 0 9 0; diff --git a/flow.value.changes-help.pd b/flow.value.changes-help.pd new file mode 100644 index 0000000..425a0a0 --- /dev/null +++ b/flow.value.changes-help.pd @@ -0,0 +1,25 @@ +#N canvas 182 310 1053 408 10; +#X text 41 14 Description: Outputs if a shared value is changed.; +#X floatatom 50 162 5 0 0 0 - - -; +#X floatatom 49 248 5 0 0 0 - - -; +#X floatatom 193 247 5 0 0 0 - - -; +#X floatatom 522 229 5 0 0 0 - - -; +#X floatatom 374 231 5 0 0 0 - - -; +#X text 51 104 If the value is changed by another abstraction \, the +value is outputed through the right outlet.; +#X text 49 70 If the value is changed by the abstraction receiving +the input \, the value is outputed through the left outlet.; +#X floatatom 372 158 5 0 0 0 - - -; +#X obj 101 164 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 126 153 A bang forces the output (left outlet); +#X text 39 30 Comments: similar to flow.value.change; +#X obj 50 195 flow.value.changes \$0help; +#X obj 375 201 flow.value.changes \$0help; +#X connect 1 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 12 0; +#X connect 12 0 2 0; +#X connect 12 1 3 0; +#X connect 13 0 5 0; +#X connect 13 1 4 0; diff --git a/flow.value.changes.pd b/flow.value.changes.pd new file mode 100644 index 0000000..70b54bd --- /dev/null +++ b/flow.value.changes.pd @@ -0,0 +1,28 @@ +#N canvas 1389 204 643 447 10; +#X obj 96 55 inlet; +#X obj 82 401 outlet; +#X obj 81 229 flow.value.change \$1; +#X obj 404 408 outlet; +#X obj 81 262 demultiplex 0 1; +#X obj 362 246 demultiplex 0 1; +#X obj 93 97 route float; +#X obj 83 130 t b f b; +#X msg 260 158 1; +#X msg 77 160 0; +#X obj 362 168 r \$1_; +#X obj 115 337 s \$1_; +#X connect 0 0 6 0; +#X connect 2 0 4 0; +#X connect 2 1 4 1; +#X connect 4 0 1 0; +#X connect 4 1 11 0; +#X connect 5 0 3 0; +#X connect 5 1 1 0; +#X connect 6 0 7 0; +#X connect 6 1 2 0; +#X connect 7 0 9 0; +#X connect 7 1 2 0; +#X connect 7 2 8 0; +#X connect 8 0 5 1; +#X connect 9 0 5 1; +#X connect 10 0 5 0; diff --git a/flow.variation-help.pd b/flow.variation-help.pd new file mode 100644 index 0000000..2fe6406 --- /dev/null +++ b/flow.variation-help.pd @@ -0,0 +1,8 @@ +#N canvas 0 22 617 326 10; +#X obj 152 124 flow.variation; +#X floatatom 103 50 5 0 0 0 - - -; +#X floatatom 197 225 5 0 0 0 - - -; +#X text 185 32 Description: Converts a flow of numbers into its delta. +; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/flow.variation.pd b/flow.variation.pd new file mode 100644 index 0000000..3908069 --- /dev/null +++ b/flow.variation.pd @@ -0,0 +1,10 @@ +#N canvas 0 22 888 440 10; +#X obj 246 111 inlet; +#X obj 282 254 outlet; +#X obj 227 186 -; +#X obj 227 148 t f f; +#X text 450 166 todo: add smooth factor; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 3 1 2 0; diff --git a/flow.wrap-help.pd b/flow.wrap-help.pd new file mode 100644 index 0000000..e4b2fae --- /dev/null +++ b/flow.wrap-help.pd @@ -0,0 +1,22 @@ +#N canvas 1024 0 1022 711 10; +#X text 133 225 Wraps between 0 and 1 by default; +#X text 28 13 Description: wraps a number around a range; +#X text 511 221 This instance wraps the input between 2 and 8; +#X floatatom 54 277 5 0 0 0 - - -; +#X floatatom 46 146 5 0 0 0 - - -; +#X floatatom 101 145 5 0 0 0 - - -; +#X floatatom 169 153 5 0 0 0 - - -; +#X floatatom 351 151 5 0 0 0 - - -; +#X floatatom 406 150 5 0 0 0 - - -; +#X floatatom 474 158 5 0 0 0 - - -; +#X floatatom 402 255 5 0 0 0 - - -; +#X obj 54 212 flow.wrap; +#X obj 403 219 flow.wrap 2 8; +#X connect 4 0 11 0; +#X connect 5 0 11 1; +#X connect 6 0 11 2; +#X connect 7 0 12 0; +#X connect 8 0 12 1; +#X connect 9 0 12 2; +#X connect 11 0 3 0; +#X connect 12 0 10 0; diff --git a/flow.wrap.pd b/flow.wrap.pd new file mode 100644 index 0000000..3417bdb --- /dev/null +++ b/flow.wrap.pd @@ -0,0 +1,28 @@ +#N canvas 0 24 1022 687 10; +#X obj 31 18 inlet; +#X obj 67 356 outlet; +#X obj 228 31 inlet; +#X obj 130 26 inlet; +#X obj 370 18 loadbang; +#X obj 371 45 dollarg; +#X obj 308 171 unpack f f; +#X obj 414 76 sel 0; +#X msg 414 104 0 1; +#X obj 59 303 expr if ($f1<0 \, $f3+$f1 \, $f1+$f2); +#X obj 47 225 expr fmod($f1-$f2 \, $f3-$f2); +#X connect 0 0 10 0; +#X connect 2 0 9 2; +#X connect 2 0 10 2; +#X connect 3 0 9 1; +#X connect 3 0 10 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 9 1; +#X connect 6 0 10 1; +#X connect 6 1 9 2; +#X connect 6 1 10 2; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; diff --git a/flow.wrap~-help.pd b/flow.wrap~-help.pd new file mode 100644 index 0000000..4fc70ef --- /dev/null +++ b/flow.wrap~-help.pd @@ -0,0 +1,18 @@ +#N canvas 371 159 843 511 10; +#X obj 49 144 phasor~ 0.3; +#X obj 49 225 flow.wrap~; +#X text 133 225 Wraps between 0 and 1 by default; +#X obj 50 288 anal.sig_~; +#X obj 400 138 phasor~ 0.3; +#X obj 401 282 anal.sig_~; +#X obj 399 169 *~ 6; +#X obj 442 193 anal.sig_~; +#X text 509 220 This instance wraps the input between 0 and 3; +#X obj 400 219 flow.wrap~ 0 3; +#X text 28 13 Description: wraps a signal around a range; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 4 0 6 0; +#X connect 6 0 7 0; +#X connect 6 0 9 0; +#X connect 9 0 5 0; diff --git a/flow.wrap~.pd b/flow.wrap~.pd new file mode 100644 index 0000000..60b59ba --- /dev/null +++ b/flow.wrap~.pd @@ -0,0 +1,17 @@ +#N canvas 0 0 450 300 10; +#X obj 59 45 inlet~; +#X obj 81 259 outlet~; +#X obj 158 47 inlet; +#X obj 245 41 inlet; +#X obj 317 124 dollarg; +#X obj 322 87 loadbang; +#X obj 299 161 unpack; +#X obj 93 213 pong~ 1 0 1; +#X connect 0 0 7 0; +#X connect 2 0 7 1; +#X connect 3 0 7 2; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 1; +#X connect 6 1 7 2; +#X connect 7 0 1 0; diff --git a/fx.compressor~-help.pd b/fx.compressor~-help.pd new file mode 100644 index 0000000..c635c2b --- /dev/null +++ b/fx.compressor~-help.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 492 247 10; +#X obj 60 157 mix.out_~; +#X text 60 67 From www.netpd.org; +#X text 59 36 Description: rcomp is a basic downward compressor. its +control chain is processed in audio rate.; +#X obj 237 129 param.gui; +#X obj 60 128 fx.compressor~ @id rcomp; +#X msg 237 107 rcomp; +#X obj 61 98 adc~ 1 2; +#X connect 4 0 0 0; +#X connect 4 1 0 1; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 6 1 4 1; diff --git a/fx.compressor~.pd b/fx.compressor~.pd new file mode 100644 index 0000000..e795518 --- /dev/null +++ b/fx.compressor~.pd @@ -0,0 +1,215 @@ +#N canvas 0 0 551 300 10; +#N canvas 229 428 588 419 processing 0; +#X obj 7 271 *~; +#N canvas 283 384 336 370 amp-factor 0; +#X obj 19 22 inlet~; +#X obj 84 23 inlet; +#X text 120 23 Ratio; +#X obj 168 26 inlet; +#X text 204 26 Threshold; +#X obj 200 54 loadbang; +#X msg 200 78 100; +#X obj 200 102 sig~; +#X obj 168 102 sig~; +#X obj 168 134 +~; +#X obj 155 161 -~; +#X obj 155 206 /~; +#X obj 155 184 max~ 0; +#X obj 142 262 -~; +#X obj 142 286 dbtorms~; +#X obj 142 311 outlet~; +#X obj 84 179 sig~; +#X obj 97 129 - 1; +#X obj 84 156 /; +#X obj 19 68 rmstodb~; +#X obj 19 45 abs~; +#X text 18 4 Signal; +#X text 189 310 Factor in RMS; +#X connect 0 0 20 0; +#X connect 1 0 17 0; +#X connect 1 0 18 0; +#X connect 3 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 9 1; +#X connect 7 0 13 0; +#X connect 8 0 9 0; +#X connect 9 0 10 1; +#X connect 10 0 12 0; +#X connect 11 0 13 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 16 0 11 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 10 0; +#X connect 20 0 19 0; +#X restore 143 109 pd amp-factor; +#X obj 294 112 /; +#X obj 294 91 57; +#X obj 294 70 t b f; +#X obj 333 112 /; +#X obj 333 91 57; +#X obj 333 70 t b f; +#X obj 7 31 inlet~; +#X obj 7 350 outlet~; +#X obj 179 24 inlet ratio; +#X obj 216 50 inlet threshold; +#X obj 294 25 inlet attack; +#X obj 333 47 inlet release; +#X obj 120 232 inlet gain; +#X obj 120 253 + 100; +#X obj 120 275 dbtorms; +#X obj 200 212 loadbang; +#X obj 64 271 *~; +#X obj 78 230 *~; +#X obj 63 34 inlet~; +#X obj 64 350 outlet~; +#X obj 101 73 *~ 0.707946; +#X text 119 55 -3dB; +#N canvas 596 477 506 356 att-rel-filtering 0; +#N canvas 385 537 585 414 a-r-det 0; +#X obj 43 51 inlet~; +#X obj 43 200 outlet~; +#X obj 94 200 outlet~; +#X obj 43 145 max~ 0; +#X obj 94 171 -~; +#X obj 94 121 loadbang; +#X msg 94 146 1; +#X obj 105 50 inlet~; +#X obj 43 97 -~; +#X text 7 33 vgl.: "soll" mit "ist"; +#X obj 43 121 sgn~; +#X text 33 218 Attack / Release; +#X connect 0 0 8 1; +#X connect 3 0 4 1; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 10 0; +#X connect 10 0 3 0; +#X restore 50 86 pd a-r-det; +#X text 26 99 att; +#X text 111 101 rel; +#X obj 22 195 vcf~; +#X msg 134 162 0.4; +#X obj 50 126 *~; +#X obj 105 128 *~; +#X obj 75 163 +~; +#X obj 134 138 loadbang; +#X obj 22 26 inlet~; +#X text 67 26 amp-factor; +#X obj 164 84 inlet; +#X text 200 85 attack; +#X text 237 104 release; +#X obj 196 106 inlet; +#X obj 22 272 outlet~; +#X obj 290 47 block~ 2; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-factor 16 float 0; +#X coords 0 100 15 0 20 20 1; +#X restore 287 169 graph; +#X obj 22 239 *~ 0.971042; +#X obj 109 233 tabsend~ \$0-factor; +#X obj 105 62 tabreceive~ \$0-factor; +#X connect 0 0 5 0; +#X connect 0 1 6 0; +#X connect 3 0 18 0; +#X connect 3 0 19 0; +#X connect 4 0 3 2; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 3 1; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 9 0 0 0; +#X connect 11 0 5 1; +#X connect 14 0 6 1; +#X connect 18 0 15 0; +#X connect 20 0 0 1; +#X restore 143 148 pd att-rel-filtering; +#X obj 200 232 0; +#X obj 306 309 env~ 6000; +#X obj 306 334 outlet; +#X obj 476 8 inlet; +#X obj 476 31 switch~; +#X connect 0 0 9 0; +#X connect 1 0 24 0; +#X connect 2 0 24 1; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 4 1 2 1; +#X connect 5 0 24 2; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 7 1 5 1; +#X connect 8 0 0 0; +#X connect 8 0 22 0; +#X connect 10 0 1 1; +#X connect 11 0 1 2; +#X connect 12 0 4 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 19 1; +#X connect 17 0 25 0; +#X connect 18 0 21 0; +#X connect 19 0 0 1; +#X connect 19 0 18 1; +#X connect 20 0 18 0; +#X connect 20 0 22 0; +#X connect 22 0 1 0; +#X connect 24 0 19 0; +#X connect 24 0 26 0; +#X connect 25 0 15 0; +#X connect 26 0 27 0; +#X connect 28 0 29 0; +#X restore 119 164 pd processing; +#X obj 66 71 inlet~; +#X obj 116 71 inlet~; +#X obj 64 239 outlet~; +#X obj 124 239 outlet~; +#X obj 390 67 param.group; +#X obj 444 19 loadbang; +#X obj 444 43 dollarg; +#X obj 364 19 inlet params; +#X obj 64 211 mix.wet.stereo~ 1; +#X obj 169 57 param.atom ratio 1 1 10; +#X obj 169 77 param.atom threshold 0 -60 0; +#X obj 182 97 param.atom attack 10 1 300; +#X obj 194 117 param.atom release 160 5 3000; +#X obj 169 37 param.atom gain 0 -20 30; +#X obj 217 167 sel 1; +#X obj 263 214 line; +#X obj 217 214 line; +#X msg 263 190 0 50; +#X msg 217 190 127 50; +#X obj 217 139 param.atom switch false; +#X connect 0 0 9 2; +#X connect 0 1 9 3; +#X connect 1 0 9 0; +#X connect 1 0 0 0; +#X connect 2 0 9 1; +#X connect 2 0 0 1; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 8 0 5 0; +#X connect 9 0 3 0; +#X connect 9 1 4 0; +#X connect 9 2 0 7; +#X connect 10 0 0 3; +#X connect 11 0 0 4; +#X connect 12 0 0 5; +#X connect 13 0 0 6; +#X connect 14 0 0 2; +#X connect 15 0 19 0; +#X connect 15 1 18 0; +#X connect 16 0 9 4; +#X connect 17 0 9 4; +#X connect 18 0 16 0; +#X connect 19 0 17 0; +#X connect 20 0 15 0; diff --git a/fx.delay.phasor~-help.pd b/fx.delay.phasor~-help.pd new file mode 100644 index 0000000..e3827d8 --- /dev/null +++ b/fx.delay.phasor~-help.pd @@ -0,0 +1,121 @@ +#N canvas 0 0 662 345 10; +#X obj 207 209 mix.out_~; +#X obj 379 138 param.gui; +#X obj 207 176 fx.delay.phasor~ @id delayphasor; +#X msg 379 116 delayphasor; +#X text 41 44 Author: Chun Lee (sonicvariable.goto10.org); +#X text 41 25 Description: Delay controlled by a phasor; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 207 146 pd synth; +#X obj 207 114 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 +1; +#X text 229 114 on/off; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 3 0 1 0; +#X connect 6 0 2 0; +#X connect 6 1 2 1; +#X connect 7 0 6 0; diff --git a/fx.delay.phasor~.pd b/fx.delay.phasor~.pd new file mode 100644 index 0000000..5619f26 --- /dev/null +++ b/fx.delay.phasor~.pd @@ -0,0 +1,100 @@ +#N canvas 360 457 740 458 10; +#N canvas 459 209 627 300 delayphasor 0; +#X obj 311 292 *~ 0.8; +#X obj 310 249 /~ 44.1; +#X obj 310 226 +~ 100; +#X obj 310 204 *~ 50; +#X obj 308 132 -~ 0.5; +#X obj 309 158 abs~; +#X obj 310 183 *~ 2; +#X obj 84 247 /~ 44.1; +#X obj 84 224 +~ 100; +#X obj 84 202 *~ 50; +#X obj 82 130 -~ 0.5; +#X obj 83 156 abs~; +#X obj 84 181 *~ 2; +#X floatatom 169 91 5 0 0 0 - - -; +#X obj 84 290 *~ 0.8; +#X obj 9 4 inlet~; +#X obj 169 50 loadbang; +#X msg 169 69 0.5; +#X floatatom 380 36 5 0 0 0 - - -; +#X floatatom 422 34 5 0 0 0 - - -; +#X obj 380 12 inlet; +#X obj 422 11 inlet; +#X obj 253 68 inlet~; +#X obj 83 110 phasor~ 0.033; +#X obj 309 112 phasor~ 0.033; +#X obj 83 317 outlet~; +#X obj 312 319 outlet~; +#X obj 9 26 delwrite~ dpdelay11 1000; +#X obj 253 90 delwrite~ dpdelay22 1000; +#X obj 309 271 vd~ dpdelay22; +#X obj 82 269 vd~ dpdelay11; +#X obj 488 13 inlet phasor; +#X obj 588 13 inlet; +#X obj 585 44 switch~; +#X connect 0 0 26 0; +#X connect 0 0 28 0; +#X connect 1 0 29 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 7 0 30 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 9 0; +#X connect 13 0 23 1; +#X connect 14 0 25 0; +#X connect 14 0 27 0; +#X connect 15 0 27 0; +#X connect 16 0 17 0; +#X connect 17 0 13 0; +#X connect 18 0 9 1; +#X connect 18 0 3 1; +#X connect 19 0 8 1; +#X connect 19 0 2 1; +#X connect 20 0 18 0; +#X connect 21 0 19 0; +#X connect 22 0 28 0; +#X connect 23 0 10 0; +#X connect 24 0 4 0; +#X connect 29 0 0 0; +#X connect 30 0 14 0; +#X connect 31 0 13 0; +#X connect 32 0 33 0; +#X restore 115 200 pd delayphasor; +#X obj 239 413 outlet~; +#X obj 349 413 outlet~; +#X obj 115 161 inlet~; +#X obj 175 161 inlet~; +#X obj 539 87 param.group; +#X obj 593 39 loadbang; +#X obj 593 63 dollarg; +#X obj 495 39 inlet params; +#X obj 137 272 mix.wet.stereo~ 1; +#X obj 253 227 param.atom wet 127 0 127; +#X obj 247 82 param.atom phasor 0.5 0.01 10; +#X obj 118 18 param.atom delay1 100 5 10000; +#X obj 118 48 param.atom delay2 10 5 10000; +#X connect 0 0 9 2; +#X connect 0 1 9 3; +#X connect 3 0 0 0; +#X connect 3 0 9 0; +#X connect 4 0 0 1; +#X connect 4 0 9 1; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 8 0 5 0; +#X connect 9 0 1 0; +#X connect 9 1 2 0; +#X connect 9 2 0 5; +#X connect 10 0 9 4; +#X connect 11 0 0 4; +#X connect 12 0 0 2; +#X connect 13 0 0 3; diff --git a/fx.delay~-help.pd b/fx.delay~-help.pd new file mode 100644 index 0000000..16b2697 --- /dev/null +++ b/fx.delay~-help.pd @@ -0,0 +1,23 @@ +#N canvas 198 327 709 372 10; +#X obj 57 297 mix.out_~; +#X text 300 236 Arguments : 1) max delay \, defaults to 1000 milliseconds +; +#X obj 215 152 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 6600 1; +#X obj 57 226 fx.delay~ 250; +#X obj 221 183 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 6800 1; +#X text 359 182 Wetness (0-127); +#X text 152 1 Description: A simple delay.; +#X obj 57 98 synth.beep~ 60 100; +#X obj 97 136 adc~; +#X obj 57 69 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 354 151 Delay time; +#X connect 2 0 3 1; +#X connect 3 0 0 1; +#X connect 3 0 0 0; +#X connect 4 0 3 2; +#X connect 7 0 3 0; +#X connect 8 0 3 0; +#X connect 9 0 7 0; diff --git a/fx.delay~.pd b/fx.delay~.pd new file mode 100644 index 0000000..319ba13 --- /dev/null +++ b/fx.delay~.pd @@ -0,0 +1,30 @@ +#N canvas 0 0 837 671 10; +#X obj 68 23 inlet~; +#X obj 244 589 outlet~; +#X obj 59 185 delwrite~ \$0dlp \$1; +#X obj 429 296 loadbang; +#X obj 435 337 init.df \$1 1000; +#X obj 311 454 vd~ \$0dlp; +#X obj 307 354 *~ \$1; +#X obj 302 185 clip~ 0 1; +#X obj 331 42 inlet; +#X obj 332 121 line~; +#X obj 346 98 pack f 5; +#X obj 324 150 lop~ 100; +#X obj 633 49 inlet wetness; +#X obj 256 505 mix.wet~; +#X obj 353 68 scale.linear 0 127 0 1; +#X connect 0 0 2 0; +#X connect 0 0 13 0; +#X connect 3 0 4 0; +#X connect 4 0 6 1; +#X connect 5 0 13 1; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 14 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 11 0 7 0; +#X connect 12 0 13 2; +#X connect 13 0 1 0; +#X connect 14 0 10 0; diff --git a/fx.distortion.ap~-help.pd b/fx.distortion.ap~-help.pd new file mode 100644 index 0000000..c394ab1 --- /dev/null +++ b/fx.distortion.ap~-help.pd @@ -0,0 +1,51 @@ +#N canvas 473 92 660 431 10; +#X text 97 67 See: http://www.acoustics.hut.fi/~jpekonen/Papers/dafx08/ +; +#X text 97 84 Frank Barknecht \, 2008; +#X obj 424 165 param.gui; +#X msg 424 143 ap; +#X obj 123 255 fx.distortion.ap~ @id ap; +#X text 96 13 Description: "Coefficient Modulated Allpass Filter as +Distortion Effect" as in the DAFx 2008 paper by Jussi Pekonen; +#X obj 122 297 mix.out_~; +#X obj 240 192 input.slider_ drive ap@driveR ap@drive; +#X obj 240 209 input.slider_ lop ap@lopR ap@lop; +#X obj 240 226 input.slider_ wet ap@wetR ap@wet; +#N canvas 0 0 450 300 generate 0; +#X obj 32 213 osc~ 200; +#X obj 104 214 phasor~ 100; +#X obj 32 89 metro 400; +#X obj 32 69 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +; +#X obj 32 155 musical.closest.note 0 2 4 7 9; +#X obj 104 175 musical.closest.note 0 2 4 7 9; +#X obj 32 175 mtof; +#X obj 104 195 mtof; +#X obj 32 132 + 20; +#X obj 32 111 random 70; +#X floatatom 83 69 5 0 0 0 - - -; +#X obj 33 261 outlet~; +#X obj 103 261 outlet~; +#X obj 30 14 inlet; +#X connect 0 0 11 0; +#X connect 1 0 12 0; +#X connect 2 0 9 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X connect 8 0 4 0; +#X connect 8 0 5 0; +#X connect 9 0 8 0; +#X connect 10 0 2 1; +#X connect 13 0 2 0; +#X restore 122 218 pd generate; +#X obj 122 193 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 4 1 6 1; +#X connect 10 0 4 0; +#X connect 10 1 4 1; +#X connect 11 0 10 0; diff --git a/fx.distortion.ap~.pd b/fx.distortion.ap~.pd new file mode 100644 index 0000000..b1e0d7f --- /dev/null +++ b/fx.distortion.ap~.pd @@ -0,0 +1,82 @@ +#N canvas 0 24 767 304 10; +#X obj 33 21 inlet~; +#X obj 31 231 outlet~; +#X obj 89 211 outlet~; +#X obj 95 22 inlet~; +#X obj 628 60 param.group; +#X obj 682 12 loadbang; +#X obj 682 36 dollarg; +#X obj 586 12 inlet params; +#X obj 32 179 mix.wet.stereo~ 1; +#X obj 169 139 param.atom wet 127 0 127; +#N canvas 109 322 786 441 lofidisto 0; +#X obj 353 -127 inlet; +#X obj 353 -93 switch~; +#X obj -213 210 rpole~; +#X obj -213 185 rzero_rev~; +#X obj -213 -60 inlet~; +#X obj -213 235 outlet~; +#X obj -147 2 lop~ 500; +#X obj -146 143 clip~ -0.9999 0.9999; +#X obj 202 -110 inlet; +#X obj 265 -111 inlet; +#X obj -31 41 pack 0 10; +#X obj -31 63 line~; +#X obj -147 115 *~; +#X text 202 -132 lop; +#X text 265 -131 drive; +#X obj 202 -85 mtof; +#X obj 47 210 rpole~; +#X obj 47 185 rzero_rev~; +#X obj 47 -60 inlet~; +#X obj 47 235 outlet~; +#X obj 113 2 lop~ 500; +#X obj 114 143 clip~ -0.9999 0.9999; +#X obj 229 41 pack 0 10; +#X obj 229 63 line~; +#X obj 113 115 *~; +#X connect 0 0 1 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 4 0 6 0; +#X connect 6 0 12 0; +#X connect 7 0 2 1; +#X connect 7 0 3 1; +#X connect 8 0 15 0; +#X connect 9 0 10 0; +#X connect 9 0 22 0; +#X connect 10 0 11 0; +#X connect 11 0 12 1; +#X connect 12 0 7 0; +#X connect 15 0 6 1; +#X connect 15 0 20 1; +#X connect 16 0 19 0; +#X connect 17 0 16 0; +#X connect 18 0 17 0; +#X connect 18 0 20 0; +#X connect 20 0 24 0; +#X connect 21 0 16 1; +#X connect 21 0 17 1; +#X connect 22 0 23 0; +#X connect 23 0 24 1; +#X connect 24 0 21 0; +#X restore 81 107 pd lofidisto; +#X obj 161 41 param.atom lop 0 0 127; +#X obj 161 71 param.atom drive 0 0 500; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 3 0 8 1; +#X connect 3 0 10 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 8 2 10 4; +#X connect 9 0 8 4; +#X connect 10 0 8 2; +#X connect 10 1 8 3; +#X connect 11 0 10 2; +#X connect 12 0 10 3; diff --git a/fx.distortion.crusher~-help.pd b/fx.distortion.crusher~-help.pd new file mode 100644 index 0000000..64ed4b1 --- /dev/null +++ b/fx.distortion.crusher~-help.pd @@ -0,0 +1,22 @@ +#N canvas 522 93 642 505 10; +#X obj 207 209 mix.out_~; +#X text 20 57 Author: Enrique Erne; +#X text 20 42 Description: a bit crusher; +#X obj 379 138 param.gui; +#X msg 379 116 crush; +#X obj 207 176 fx.distortion.crusher~ @id crush; +#X obj 207 109 osc~ 30; +#X obj 18 179 anal.scope_~ 1; +#X obj 176 328 anal.scope_~ 1; +#X obj 206 133 *~ 0.5; +#X obj 301 132 *~ 0.5; +#X obj 301 108 osc~ 80; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 5 0 8 0; +#X connect 5 1 0 1; +#X connect 6 0 9 0; +#X connect 9 0 7 0; +#X connect 9 0 5 0; +#X connect 10 0 5 1; +#X connect 11 0 10 0; diff --git a/fx.distortion.crusher~.pd b/fx.distortion.crusher~.pd new file mode 100644 index 0000000..0154444 --- /dev/null +++ b/fx.distortion.crusher~.pd @@ -0,0 +1,89 @@ +#N canvas 505 620 673 261 10; +#X obj 529 63 param.group; +#X obj 583 15 loadbang; +#X obj 583 39 dollarg; +#X obj 488 15 inlet params; +#X obj 36 32 inlet~; +#X obj 86 32 inlet~; +#X obj 35 196 outlet~; +#X obj 95 196 outlet~; +#X obj 35 168 mix.wet.stereo~ 1; +#N canvas 517 568 575 300 bitcrusher 0; +#X obj 164 163 wrap~; +#X obj 148 204 -~; +#X obj 164 143 +~ 0.1; +#X obj 164 184 -~ 0.1; +#X obj 57 163 wrap~; +#X obj 41 204 -~; +#X obj 57 143 +~ 0.1; +#X obj 57 184 -~ 0.1; +#X obj 41 123 *~ 127; +#X obj 148 123 *~ 127; +#X obj 148 224 /~ 127; +#X obj 41 224 /~ 127; +#X obj 223 123 t f f; +#X obj 223 143 *; +#X obj 223 183 + 1; +#X obj 223 163 * 127; +#X obj 46 52 inlet~; +#X obj 136 52 inlet~; +#X obj 40 266 outlet~; +#X obj 149 266 outlet~; +#X obj 498 29 inlet; +#X obj 498 52 switch~; +#X obj 223 86 inlet; +#X connect 0 0 3 0; +#X connect 1 0 10 0; +#X connect 2 0 0 0; +#X connect 3 0 1 1; +#X connect 4 0 7 0; +#X connect 5 0 11 0; +#X connect 6 0 4 0; +#X connect 7 0 5 1; +#X connect 8 0 6 0; +#X connect 8 0 5 0; +#X connect 9 0 2 0; +#X connect 9 0 1 0; +#X connect 10 0 19 0; +#X connect 11 0 18 0; +#X connect 12 0 13 0; +#X connect 12 1 13 1; +#X connect 13 0 15 0; +#X connect 14 0 8 1; +#X connect 14 0 9 1; +#X connect 14 0 10 1; +#X connect 14 0 11 1; +#X connect 15 0 14 0; +#X connect 16 0 8 0; +#X connect 17 0 9 0; +#X connect 20 0 21 0; +#X connect 22 0 12 0; +#X restore 77 114 pd bitcrusher; +#X obj 135 32 param.atom gain 0 0 1; +#X obj 200 79 param.atom switch true; +#X obj 288 131 sel 1; +#X obj 334 178 line; +#X obj 288 178 line; +#X msg 334 154 0 50; +#X msg 288 154 127 50; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 4 0 8 0; +#X connect 4 0 9 0; +#X connect 5 0 8 1; +#X connect 5 0 9 1; +#X connect 8 0 6 0; +#X connect 8 1 7 0; +#X connect 8 2 9 3; +#X connect 9 0 8 2; +#X connect 9 1 8 3; +#X connect 10 0 9 2; +#X connect 11 0 12 0; +#X connect 12 0 16 0; +#X connect 12 1 15 0; +#X connect 13 0 8 4; +#X connect 14 0 8 4; +#X connect 15 0 13 0; +#X connect 16 0 14 0; diff --git a/fx.distortion.fuzz~-help.pd b/fx.distortion.fuzz~-help.pd new file mode 100644 index 0000000..a2e21bc --- /dev/null +++ b/fx.distortion.fuzz~-help.pd @@ -0,0 +1,23 @@ +#N canvas 522 93 642 505 10; +#X obj 207 209 mix.out_~; +#X obj 379 138 param.gui; +#X obj 207 109 osc~ 30; +#X obj 18 179 anal.scope_~ 1; +#X obj 176 328 anal.scope_~ 1; +#X obj 206 133 *~ 0.5; +#X obj 301 132 *~ 0.5; +#X obj 301 108 osc~ 80; +#X text 20 57 Author: netpd; +#X text 20 42 Description: a lofi distortion with frequency control +; +#X obj 207 176 fx.distortion.fuzz~ @id fuzz; +#X msg 379 116 fuzz; +#X connect 2 0 5 0; +#X connect 5 0 3 0; +#X connect 5 0 10 0; +#X connect 6 0 10 1; +#X connect 7 0 6 0; +#X connect 10 0 0 0; +#X connect 10 0 4 0; +#X connect 10 1 0 1; +#X connect 11 0 1 0; diff --git a/fx.distortion.fuzz~.pd b/fx.distortion.fuzz~.pd new file mode 100644 index 0000000..7652692 --- /dev/null +++ b/fx.distortion.fuzz~.pd @@ -0,0 +1,173 @@ +#N canvas 159 118 539 284 10; +#X obj 33 51 inlet~; +#X obj 31 260 outlet~; +#X obj 82 239 outlet~; +#X obj 95 52 inlet~; +#X obj 369 89 param.group; +#X obj 423 41 loadbang; +#X obj 423 65 dollarg; +#X obj 343 41 inlet params; +#X obj 32 209 mix.wet.stereo~ 1; +#N canvas 151 149 944 688 distortionfuzz 0; +#X obj 89 464 outlet~; +#X obj 227 462 outlet~; +#X obj 647 -124 inlet; +#X obj 647 -90 switch~; +#X obj 97 -116 inlet~; +#X obj 148 -117 inlet~; +#X obj 479 105 * -1; +#X obj 513 58 * 0.99; +#X obj 475 69 + 0.01; +#X obj 575 260 t f f; +#X obj 577 283 *; +#X obj 571 307 * 20000; +#X obj 141 62 -~; +#X obj 610 394 * 10; +#X obj 146 137 clip~ -1 1; +#X obj 135 172 -~; +#X obj 334 66 -~; +#X obj 339 141 clip~ -1 1; +#X obj 328 176 -~; +#X obj 377 238 * 4; +#X obj 513 -49 * 8; +#X obj 215 325 -~; +#X obj 71 319 -~; +#X obj 612 476 != 1; +#X obj 230 408 lop~ 16000; +#X obj 98 395 lop~ 16000; +#X obj 241 -41 *~ 3.2; +#X obj 99 -52 *~ 3.2; +#X obj 108 2 clip~ -0.307 0.307; +#X obj 304 2 clip~ -0.307 0.307; +#X obj 345 105 *~ 1; +#X obj 152 101 *~ 1; +#X obj 306 346 *~ 0; +#X obj 274 341 *~ 1; +#X obj 148 345 *~ 0; +#X obj 111 350 *~ 1; +#X obj 269 276 *~ 1; +#X obj 218 259 *~ 1; +#X obj 100 287 *~ 1; +#X obj 67 276 *~ 1; +#X obj 509 -87 hsl 75 15 0 1 0 0 \$2-bon-distort-pregain \$2-bon-distort-pregainr +pregain 12 8 0 8 -228864 -62784 -355 0 1; +#X obj 517 32 hsl 75 15 0 1 0 0 \$2-bon-distort-clip \$2-bon-distort-clipr +clip 12 8 0 8 -237184 -62784 -355 0 1; +#X obj 379 209 hsl 75 15 0 1 0 0 \$2-bon-distort-postgain \$2-bon-distort-postgainr +postgain 12 8 0 8 -241344 -62784 -355 0 1; +#X obj 575 230 hsl 75 15 0 1 0 0 \$2-bon-distort-lopass \$2-bon-distort-lopassr +lopass 12 8 0 8 -199744 -62784 -355 0 1; +#X obj 616 367 hsl 60 15 0 1 0 0 \$2-bon-distort-fuzz \$2-bon-distort-fuzzr +fuzz 12 8 0 8 -249664 -62784 -355 0 1; +#X obj 614 432 tgl 15 0 \$2-bon-distort-difference \$2-bon-distort-differencer +d 4 8 0 8 -228992 -62784 -62784 0 1; +#X obj 284 -127 inlet; +#X obj 324 -127 inlet; +#X obj 364 -127 inlet; +#X obj 404 -127 inlet; +#X obj 454 -127 inlet; +#X obj 494 -127 inlet; +#X connect 2 0 3 0; +#X connect 4 0 27 0; +#X connect 5 0 26 0; +#X connect 6 0 14 1; +#X connect 6 0 17 1; +#X connect 6 0 28 1; +#X connect 6 0 29 1; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 8 0 14 2; +#X connect 8 0 17 2; +#X connect 8 0 28 2; +#X connect 8 0 29 2; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 11 0; +#X connect 11 0 24 1; +#X connect 11 0 25 1; +#X connect 12 0 31 0; +#X connect 13 0 30 1; +#X connect 13 0 31 1; +#X connect 14 0 15 1; +#X connect 15 0 38 0; +#X connect 16 0 30 0; +#X connect 17 0 18 1; +#X connect 18 0 36 0; +#X connect 19 0 36 1; +#X connect 19 0 37 1; +#X connect 19 0 38 1; +#X connect 19 0 39 1; +#X connect 20 0 26 1; +#X connect 20 0 27 1; +#X connect 21 0 32 0; +#X connect 22 0 34 0; +#X connect 23 0 33 1; +#X connect 23 0 35 1; +#X connect 24 0 1 0; +#X connect 25 0 0 0; +#X connect 26 0 16 0; +#X connect 26 0 29 0; +#X connect 26 0 37 0; +#X connect 27 0 12 0; +#X connect 27 0 28 0; +#X connect 27 0 39 0; +#X connect 28 0 12 1; +#X connect 28 0 15 0; +#X connect 29 0 16 1; +#X connect 29 0 18 0; +#X connect 30 0 17 0; +#X connect 31 0 14 0; +#X connect 32 0 24 0; +#X connect 33 0 24 0; +#X connect 34 0 25 0; +#X connect 35 0 25 0; +#X connect 36 0 21 1; +#X connect 36 0 33 0; +#X connect 37 0 21 0; +#X connect 38 0 22 1; +#X connect 38 0 35 0; +#X connect 39 0 22 0; +#X connect 40 0 20 0; +#X connect 41 0 7 0; +#X connect 42 0 19 0; +#X connect 43 0 9 0; +#X connect 44 0 13 0; +#X connect 45 0 32 1; +#X connect 45 0 34 1; +#X connect 45 0 23 0; +#X connect 46 0 20 0; +#X connect 47 0 7 0; +#X connect 48 0 19 0; +#X connect 49 0 9 0; +#X connect 50 0 13 0; +#X connect 51 0 23 0; +#X connect 51 0 32 1; +#X connect 51 0 34 1; +#X restore 81 137 pd distortionfuzz; +#X obj 147 -9 param.atom pregain 0.5 0 1; +#X obj 147 11 param.atom clip 0.5 0 1; +#X obj 147 31 param.atom postgain 0.5 0 1; +#X obj 147 51 param.atom lopass 0.5 0 1; +#X obj 147 71 param.atom fuzz 0.5 0 1; +#X obj 147 92 param.atom difference false; +#X obj 131 186 param.atom wet 127 0 127; +#X connect 0 0 8 0; +#X connect 0 0 9 0; +#X connect 3 0 8 1; +#X connect 3 0 9 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 8 2 9 8; +#X connect 9 0 8 2; +#X connect 9 1 8 3; +#X connect 10 0 9 2; +#X connect 11 0 9 3; +#X connect 12 0 9 4; +#X connect 13 0 9 5; +#X connect 14 0 9 6; +#X connect 15 0 9 7; +#X connect 16 0 8 4; diff --git a/fx.distortion.lofi~-help.pd b/fx.distortion.lofi~-help.pd new file mode 100644 index 0000000..7b85e00 --- /dev/null +++ b/fx.distortion.lofi~-help.pd @@ -0,0 +1,23 @@ +#N canvas 522 93 642 505 10; +#X obj 207 209 mix.out_~; +#X obj 379 138 param.gui; +#X obj 207 109 osc~ 30; +#X obj 18 179 anal.scope_~ 1; +#X obj 176 328 anal.scope_~ 1; +#X obj 206 133 *~ 0.5; +#X obj 301 132 *~ 0.5; +#X obj 301 108 osc~ 80; +#X obj 207 176 fx.distortion.lofi~ @id lofi; +#X msg 379 116 lofi; +#X text 20 57 Author: netpd; +#X text 20 42 Description: a lofi distortion with frequency control +; +#X connect 2 0 5 0; +#X connect 5 0 3 0; +#X connect 5 0 8 0; +#X connect 6 0 8 1; +#X connect 7 0 6 0; +#X connect 8 0 0 0; +#X connect 8 0 4 0; +#X connect 8 1 0 1; +#X connect 9 0 1 0; diff --git a/fx.distortion.lofi~.pd b/fx.distortion.lofi~.pd new file mode 100644 index 0000000..5b4124c --- /dev/null +++ b/fx.distortion.lofi~.pd @@ -0,0 +1,91 @@ +#N canvas 99 98 539 284 10; +#X obj 33 21 inlet~; +#X obj 31 231 outlet~; +#X obj 82 209 outlet~; +#X obj 95 22 inlet~; +#X obj 369 59 param.group; +#X obj 423 11 loadbang; +#X obj 423 35 dollarg; +#X obj 343 11 inlet params; +#X obj 32 179 mix.wet.stereo~ 1; +#X obj 148 134 param.atom wet 127 0 127; +#X obj 161 71 param.atom bits 0.4 0 1; +#X obj 161 41 param.atom freq 0.5 0 1; +#N canvas 288 204 786 441 lofidisto 0; +#X obj 80 261 outlet~; +#X obj 130 261 outlet~; +#X obj 353 -127 inlet; +#X obj 353 -93 switch~; +#X obj 97 -116 inlet~; +#X obj 148 -117 inlet~; +#X obj 246 -117 inlet; +#X obj 205 48 samphold~; +#X obj 126 45 samphold~; +#X obj 231 171 wrap~; +#X obj 296 142 pow; +#X obj 284 98 t b f; +#X msg 286 120 2; +#X obj 93 175 wrap~; +#X obj 248 -87 * 21550; +#X obj 248 -65 + 500; +#X obj 287 15 * 15; +#X obj 195 118 +~ 1e-11; +#X obj 78 122 +~ 1e-11; +#X obj 207 -14 phasor~ 5877.5; +#X obj 212 145 *~ 128; +#X obj 77 149 *~ 128; +#X obj 83 201 -~; +#X obj 80 224 /~ 128; +#X obj 211 222 /~ 128; +#X obj 218 197 -~; +#X text 249 -135 freq; +#X text 298 -133 bits; +#X obj 296 -117 inlet; +#X connect 2 0 3 0; +#X connect 4 0 8 0; +#X connect 5 0 7 0; +#X connect 6 0 14 0; +#X connect 7 0 17 0; +#X connect 8 0 18 0; +#X connect 9 0 25 1; +#X connect 10 0 20 1; +#X connect 10 0 21 1; +#X connect 10 0 23 1; +#X connect 10 0 24 1; +#X connect 11 0 12 0; +#X connect 11 1 10 1; +#X connect 12 0 10 0; +#X connect 13 0 22 1; +#X connect 14 0 15 0; +#X connect 15 0 19 0; +#X connect 16 0 11 0; +#X connect 17 0 20 0; +#X connect 18 0 21 0; +#X connect 19 0 7 1; +#X connect 19 0 8 1; +#X connect 20 0 9 0; +#X connect 20 0 25 0; +#X connect 21 0 13 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 0 0; +#X connect 24 0 1 0; +#X connect 25 0 24 0; +#X connect 28 0 16 0; +#X restore 81 107 pd lofidisto; +#X connect 0 0 8 0; +#X connect 0 0 12 0; +#X connect 3 0 8 1; +#X connect 3 0 12 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 8 2 12 4; +#X connect 9 0 8 4; +#X connect 10 0 12 3; +#X connect 11 0 12 2; +#X connect 12 0 8 2; +#X connect 12 1 8 3; diff --git a/fx.distortion.nonmonotone~-help.pd b/fx.distortion.nonmonotone~-help.pd new file mode 100644 index 0000000..c7b46b2 --- /dev/null +++ b/fx.distortion.nonmonotone~-help.pd @@ -0,0 +1,142 @@ +#N canvas 490 150 733 333 10; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 193 62 pd synth; +#X obj 193 38 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X text 215 38 on/off; +#X obj 206 118 mix.out_~; +#X obj 621 27 param.gui; +#X obj 24 189 anal.scope_~ 1; +#X obj 193 188 anal.scope_~ 1; +#X obj 192 92 fx.distortion.nonmonotone~ @id matju; +#X msg 621 5 matju; +#X msg 405 71 feedback \$1; +#X obj 408 52 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 548 52 hsl 128 15 0 1000 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X msg 545 71 basefeed \$1; +#X obj 369 186 cnv 15 320 90 empty empty empty 20 12 0 14 -261682 -66577 +0; +#X text 372 210 le 16 septembre 2009; +#X text 371 245 Copyright © 2009 par Mathieu Bouchard; +#X text 372 233 Fabriqué à Villeray \, avec amour; +#X text 372 198 Tel que presenté au club PureData de Montréal; +#X text 372 187 Patch de distorsion nonmonotone qui suit l'enveloppe +; +#X text 371 260 Publié sous licence Standard Improved BSD; +#X connect 0 0 5 0; +#X connect 0 0 7 0; +#X connect 0 1 7 1; +#X connect 1 0 0 0; +#X connect 7 0 3 0; +#X connect 7 0 6 0; +#X connect 7 1 3 1; +#X connect 8 0 4 0; +#X connect 9 0 7 2; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 7 2; diff --git a/fx.distortion.nonmonotone~.pd b/fx.distortion.nonmonotone~.pd new file mode 100644 index 0000000..0025491 --- /dev/null +++ b/fx.distortion.nonmonotone~.pd @@ -0,0 +1,163 @@ +#N canvas 0 299 639 371 10; +#X obj 387 129 param.group; +#X obj 482 78 loadbang; +#X obj 482 102 dollarg; +#X obj 387 80 inlet params; +#X obj 65 238 outlet~ left; +#X obj 148 238 outlet~ right; +#X obj 67 86 inlet~ left; +#X obj 146 86 inlet~ right; +#X obj 67 191 mix.wet.stereo~; +#X obj 167 191 param.atom wet 127 0 127; +#N canvas 724 25 693 413 distortionnonmonotone 1; +#X obj 626 20 inlet; +#X obj 626 47 switch~; +#X obj 54 20 inlet~; +#X obj 513 17 inlet~; +#X obj 42 527 outlet~; +#X obj 504 518 outlet~; +#X obj 111 228 dbtorms; +#X floatatom 271 265 5 0 0 0 - - -; +#X obj 54 226 +~; +#X obj 54 51 hip~ 5; +#X obj 229 167 phasor~; +#X obj 229 223 phasor~; +#X obj 111 210 env~; +#X obj 54 375 +~; +#X obj 69 428 phasor~; +#X obj 69 447 expr~ sin($v1*3.1416*2)*$f2+$f3; +#X obj 53 502 +~; +#X obj 229 185 expr~ sin($v1*3.141593*2)*$f2+$f3; +#X obj 229 241 expr~ sin($v1*3.141593*2)*$f2+$f3; +#X obj 67 483 *~; +#X obj 70 267 expr~ sin($v1*$v2/$f3)*$f3*0.35; +#X obj 70 287 expr~ sin($v1*$v2/$f3)*$f3*0.35; +#X text 93 194 calcul du volume; +#X text 306 265 volume; +#X obj 571 218 dbtorms; +#X floatatom 731 255 5 0 0 0 - - -; +#X obj 514 216 +~; +#X obj 514 41 hip~ 5; +#X obj 689 157 phasor~; +#X obj 689 213 phasor~; +#X obj 571 200 env~; +#X obj 514 365 +~; +#X obj 529 418 phasor~; +#X obj 529 437 expr~ sin($v1*3.1416*2)*$f2+$f3; +#X obj 513 492 +~; +#X obj 689 175 expr~ sin($v1*3.141593*2)*$f2+$f3; +#X obj 689 231 expr~ sin($v1*3.141593*2)*$f2+$f3; +#X obj 529 474 *~; +#X obj 530 257 expr~ sin($v1*$v2/$f3)*$f3*0.35; +#X obj 530 277 expr~ sin($v1*$v2/$f3)*$f3*0.35; +#X text 553 184 calcul du volume; +#X text 766 255 volume; +#X obj 189 112 param.atom freq1 0 0 800; +#X obj 339 112 param.atom amp1 0 0 100; +#X obj 479 112 param.atom base1 0 0 100; +#X obj 199 342 param.atom freq2 0 0 800; +#X obj 349 342 param.atom amp2 0 0 100; +#X obj 489 342 param.atom base2 0 0 100; +#X obj 79 392 param.atom freqfeed 0 0 800; +#X obj 229 392 param.atom ampfeed 0 0 100; +#X obj 369 392 param.atom basefeed 0 0 100; +#X obj 71 464 vd~ \$0bar1; +#X obj 95 527 delwrite~ \$0bar1 50; +#X obj 555 517 delwrite~ \$0bar2 50; +#X obj 529 455 vd~ \$0bar2; +#X floatatom 245 514 5 0 0 0 - - -; +#X floatatom 142 420 5 0 0 0 - - -; +#X obj 245 492 param.atom feedback 0 0 1; +#X text 110 4 distorsion non-monotone (deux copies); +#X text 111 68 mix avec le son original pcq l'effet tout seul sonne +trop aigu (il élimine les graves); +#X text 111 16 l'effet est conjugué par un compresseur total de volume +\,; +#X text 111 28 c'est-à-dire qu'on annule le volume avant l'effet; +#X text 111 40 et qu'on le restitue ensuite \, pour que la distorsion +ait; +#X text 111 52 un impact à peu près constant \, quel que soit le +volume.; +#X connect 0 0 1 0; +#X connect 2 0 9 0; +#X connect 3 0 27 0; +#X connect 6 0 7 0; +#X connect 6 0 20 2; +#X connect 6 0 21 2; +#X connect 8 0 12 0; +#X connect 8 0 13 0; +#X connect 8 0 20 0; +#X connect 8 0 21 0; +#X connect 9 0 8 0; +#X connect 10 0 17 0; +#X connect 11 0 18 0; +#X connect 12 0 6 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 51 0; +#X connect 16 0 4 0; +#X connect 16 0 52 0; +#X connect 17 0 20 1; +#X connect 18 0 21 1; +#X connect 19 0 16 1; +#X connect 20 0 13 0; +#X connect 21 0 13 0; +#X connect 24 0 25 0; +#X connect 24 0 38 2; +#X connect 24 0 39 2; +#X connect 26 0 30 0; +#X connect 26 0 31 0; +#X connect 26 0 38 0; +#X connect 26 0 39 0; +#X connect 27 0 26 0; +#X connect 28 0 35 0; +#X connect 29 0 36 0; +#X connect 30 0 24 0; +#X connect 31 0 34 0; +#X connect 32 0 33 0; +#X connect 33 0 54 0; +#X connect 34 0 5 0; +#X connect 34 0 53 0; +#X connect 35 0 38 1; +#X connect 36 0 39 1; +#X connect 37 0 34 1; +#X connect 38 0 31 0; +#X connect 39 0 31 0; +#X connect 42 0 10 0; +#X connect 42 0 28 0; +#X connect 43 0 17 1; +#X connect 43 0 35 1; +#X connect 44 0 17 2; +#X connect 44 0 35 2; +#X connect 45 0 11 0; +#X connect 45 0 29 0; +#X connect 46 0 18 1; +#X connect 46 0 36 1; +#X connect 47 0 18 2; +#X connect 47 0 36 2; +#X connect 48 0 14 0; +#X connect 48 0 32 0; +#X connect 49 0 15 1; +#X connect 49 0 33 1; +#X connect 50 0 15 2; +#X connect 50 0 33 2; +#X connect 51 0 19 0; +#X connect 54 0 37 0; +#X connect 55 0 19 1; +#X connect 55 0 37 1; +#X connect 57 0 55 0; +#X restore 98 134 pd distortionnonmonotone; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 6 0 10 0; +#X connect 6 0 8 0; +#X connect 7 0 10 1; +#X connect 7 0 8 1; +#X connect 8 0 4 0; +#X connect 8 1 5 0; +#X connect 8 2 10 2; +#X connect 9 0 8 4; +#X connect 10 0 8 2; +#X connect 10 1 8 3; diff --git a/fx.distortion.tanh~-help.pd b/fx.distortion.tanh~-help.pd new file mode 100644 index 0000000..d4b325c --- /dev/null +++ b/fx.distortion.tanh~-help.pd @@ -0,0 +1,21 @@ +#N canvas 507 136 540 537 10; +#X obj 166 227 mix.out_~; +#X obj 168 76 osc~ 30; +#X obj -51 155 anal.scope_~ 1; +#X obj 88 346 anal.scope_~ 1; +#X obj 322 132 param.gui; +#X obj 166 100 *~ 0.5; +#X obj 251 99 *~ 0.5; +#X obj 251 75 osc~ 80; +#X text 4 24 Description: A distortion using expr~ tanh; +#X obj 167 163 fx.distortion.tanh~ @id tanh; +#X msg 322 110 tanh; +#X connect 1 0 5 0; +#X connect 5 0 2 0; +#X connect 5 0 9 0; +#X connect 6 0 9 1; +#X connect 7 0 6 0; +#X connect 9 0 3 0; +#X connect 9 0 0 0; +#X connect 9 1 0 1; +#X connect 10 0 4 0; diff --git a/fx.distortion.tanh~.pd b/fx.distortion.tanh~.pd new file mode 100644 index 0000000..06eb30b --- /dev/null +++ b/fx.distortion.tanh~.pd @@ -0,0 +1,49 @@ +#N canvas 103 91 539 284 10; +#X obj 33 21 inlet~; +#X obj 31 231 outlet~; +#X obj 82 209 outlet~; +#X obj 95 22 inlet~; +#X obj 369 59 param.group; +#X obj 423 11 loadbang; +#X obj 423 35 dollarg; +#X obj 343 11 inlet params; +#X obj 32 179 mix.wet.stereo~ 1; +#N canvas 0 0 450 300 fx 0; +#X obj 83 182 outlet~; +#X obj 133 182 outlet~; +#X obj 338 32 inlet; +#X obj 338 66 switch~; +#X obj 83 42 inlet~; +#X obj 133 42 inlet~; +#X obj 83 102 expr~ tanh($v1*$f2); +#X obj 134 125 expr~ tanh($v1*$f2); +#X obj 231 42 inlet; +#X connect 2 0 3 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 0 0; +#X connect 7 0 1 0; +#X connect 8 0 7 1; +#X connect 8 0 6 1; +#X restore 81 107 pd fx; +#X obj 149 109 param.atom amount 1 1 100; +#X obj 171 140 param.atom switch true; +#X obj 171 161 != 0; +#X obj 171 181 * 127; +#X connect 0 0 8 0; +#X connect 0 0 9 0; +#X connect 3 0 8 1; +#X connect 3 0 9 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 8 2 9 3; +#X connect 9 0 8 2; +#X connect 9 1 8 3; +#X connect 10 0 9 2; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 8 4; diff --git a/fx.distortion~-help.pd b/fx.distortion~-help.pd new file mode 100644 index 0000000..7241179 --- /dev/null +++ b/fx.distortion~-help.pd @@ -0,0 +1,22 @@ +#N canvas 360 198 873 558 10; +#X obj 166 227 mix.out_~; +#X obj 168 76 osc~ 30; +#X text -39 22 Description: A simple distortion. Positive and negative +distortion can be set independently.; +#X obj -51 155 anal.scope_~ 1; +#X obj 88 346 anal.scope_~ 1; +#X obj 336 142 param.gui; +#X msg 336 120 distortion; +#X obj 167 163 fx.distortion~ @id distortion; +#X obj 166 100 *~ 0.5; +#X obj 251 99 *~ 0.5; +#X obj 251 75 osc~ 80; +#X connect 1 0 8 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 7 0 0 0; +#X connect 7 1 0 1; +#X connect 8 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 7 1; +#X connect 10 0 9 0; diff --git a/fx.distortion~.pd b/fx.distortion~.pd new file mode 100644 index 0000000..c343cce --- /dev/null +++ b/fx.distortion~.pd @@ -0,0 +1,160 @@ +#N canvas 233 385 726 371 10; +#X obj 54 279 outlet~; +#X text 52 141 NEEDS ZEXY; +#X obj 53 164 inlet~; +#X obj 461 169 param.group; +#X obj 515 121 loadbang; +#X obj 515 145 dollarg; +#X obj 435 121 inlet params; +#X obj 54 254 mix.wet.stereo~ 1; +#N canvas 499 211 730 557 disto 0; +#X obj 402 41 inlet; +#X obj 402 68 switch~; +#X obj -189 264 * -1; +#X msg -47 372 1 \$1; +#X obj -47 401 /; +#X obj 146 65 inlet; +#X obj -215 497 outlet~; +#X obj 117 169 -; +#X text 170 208 CLIPS AND THEN BOOSTS THE SIGNAL; +#X text -213 39 NEEDS ZEXY; +#X obj -217 359 clip~ -1 1; +#X obj -210 113 inlet~; +#X obj -133 59 inlet; +#X obj -123 177 -; +#X obj -52 289 t b f; +#X obj -215 418 *~ 1; +#X obj -43 316 -; +#X obj -47 348 / 2; +#X obj -216 391 +~ 0; +#X obj 116 381 t b f; +#X obj 125 436 +; +#X obj -215 460 +~ 0; +#X obj -6 456 / -2; +#X text -90 57 positive distort level (0-1); +#X text 194 63 negative distort level (0-1); +#X obj -123 218 / 1; +#X obj -13 227 / 1; +#X msg -122 148 1.00001 \$1; +#X msg 118 140 1.00001 \$1; +#X connect 0 0 1 0; +#X connect 2 0 10 1; +#X connect 2 0 14 0; +#X connect 2 0 20 0; +#X connect 3 0 4 0; +#X connect 4 0 15 1; +#X connect 5 0 27 0; +#X connect 7 0 26 0; +#X connect 10 0 18 0; +#X connect 11 0 10 0; +#X connect 12 0 28 0; +#X connect 13 0 25 0; +#X connect 14 0 16 0; +#X connect 14 1 16 1; +#X connect 15 0 21 0; +#X connect 16 0 17 0; +#X connect 17 0 3 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 22 0; +#X connect 21 0 6 0; +#X connect 22 0 18 1; +#X connect 25 0 2 0; +#X connect 26 0 10 2; +#X connect 26 0 16 0; +#X connect 26 0 19 0; +#X connect 27 0 13 0; +#X connect 28 0 7 0; +#X restore 182 227 pd disto; +#N canvas 499 211 730 557 disto 0; +#X obj 402 41 inlet; +#X obj 402 68 switch~; +#X obj -189 264 * -1; +#X msg -47 372 1 \$1; +#X obj -47 401 /; +#X obj 146 65 inlet; +#X obj -215 497 outlet~; +#X obj 117 169 -; +#X text 170 208 CLIPS AND THEN BOOSTS THE SIGNAL; +#X text -213 39 NEEDS ZEXY; +#X obj -217 359 clip~ -1 1; +#X obj -210 113 inlet~; +#X obj -133 59 inlet; +#X obj -123 177 -; +#X obj -52 289 t b f; +#X obj -215 418 *~ 1; +#X obj -43 316 -; +#X obj -47 348 / 2; +#X obj -216 391 +~ 0; +#X obj 116 381 t b f; +#X obj 125 436 +; +#X obj -215 460 +~ 0; +#X obj -6 456 / -2; +#X text -90 57 positive distort level (0-1); +#X text 195 59 negative distort level (0-1); +#X obj -123 218 / 1; +#X obj -13 227 / 1; +#X msg -122 148 1.00001 \$1; +#X msg 118 140 1.00001 \$1; +#X connect 0 0 1 0; +#X connect 2 0 10 1; +#X connect 2 0 14 0; +#X connect 2 0 20 0; +#X connect 3 0 4 0; +#X connect 4 0 15 1; +#X connect 5 0 27 0; +#X connect 7 0 26 0; +#X connect 10 0 18 0; +#X connect 11 0 10 0; +#X connect 12 0 28 0; +#X connect 13 0 25 0; +#X connect 14 0 16 0; +#X connect 14 1 16 1; +#X connect 15 0 21 0; +#X connect 16 0 17 0; +#X connect 17 0 3 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 19 1 20 1; +#X connect 20 0 22 0; +#X connect 21 0 6 0; +#X connect 22 0 18 1; +#X connect 25 0 2 0; +#X connect 26 0 10 2; +#X connect 26 0 16 0; +#X connect 26 0 19 0; +#X connect 27 0 13 0; +#X connect 28 0 7 0; +#X restore 67 225 pd disto; +#X obj 113 164 inlet~; +#X obj 114 279 outlet~; +#X obj 197 149 expr (1-$f1); +#X obj 197 169 expr 1-($f1*$f1); +#X obj 197 128 param.atom amount 0 0 1; +#X obj 272 191 param.atom switch true; +#X obj 272 212 != 0; +#X obj 272 232 * 127; +#X connect 2 0 9 0; +#X connect 2 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 3 1; +#X connect 5 1 3 2; +#X connect 6 0 3 0; +#X connect 7 0 0 0; +#X connect 7 1 11 0; +#X connect 7 2 9 3; +#X connect 7 2 8 3; +#X connect 8 0 7 3; +#X connect 9 0 7 2; +#X connect 10 0 8 0; +#X connect 10 0 7 1; +#X connect 12 0 13 0; +#X connect 13 0 8 1; +#X connect 13 0 9 1; +#X connect 13 0 9 2; +#X connect 13 0 8 2; +#X connect 14 0 12 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 7 4; diff --git a/fx.echo.bp~-help.pd b/fx.echo.bp~-help.pd new file mode 100644 index 0000000..c52e83a --- /dev/null +++ b/fx.echo.bp~-help.pd @@ -0,0 +1,86 @@ +#N canvas 169 47 622 494 10; +#X obj 20 258 mix.out_~; +#X obj 323 73 hsl 128 15 0 2000 0 0 empty delay.l empty -2 -8 0 10 +-262144 -1 -1 10700 1; +#X msg 320 94 delay.l \$1; +#X obj 323 121 hsl 128 15 0 2000 0 0 empty delay.r empty -2 -8 0 10 +-262144 -1 -1 3800 1; +#X msg 320 142 delay.r \$1; +#X obj 323 215 hsl 128 15 0 127 0 0 empty frequency empty -2 -8 0 10 +-262144 -1 -1 8700 1; +#X msg 320 235 frequency \$1; +#X obj 324 169 hsl 128 15 0 127 0 0 empty feedback empty -2 -8 0 10 +-262144 -1 -1 5500 1; +#X msg 321 189 feedback \$1; +#X obj 323 260 hsl 128 15 0 127 0 0 empty q empty -2 -8 0 10 -262144 +-1 -1 4000 1; +#X msg 320 280 q \$1; +#X obj 320 303 tgl 17 0 empty routing empty 17 7 0 10 -262144 -1 -1 +0 1; +#X msg 320 325 routing \$1; +#X text 319 37 Author: Roman Haefeli; +#X text 319 54 Version: 2007-11-04; +#N canvas 564 204 450 300 synth 0; +#X obj 28 49 noise~; +#X obj 27 132 *~; +#X obj 63 98 z~ 34; +#X obj 63 132 *~; +#X obj 118 102 dbtorms~; +#X obj 118 82 line~; +#X obj 26 196 outlet~; +#X obj 64 173 outlet~; +#X obj 118 35 inlet; +#X msg 119 58 97 \, 0 1000; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 3 1; +#X connect 4 0 1 1; +#X connect 5 0 4 0; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X restore 19 107 pd synth; +#X obj 19 65 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X obj 1 -21 cnv 15 690 30 empty empty fx.echo.bp~ 2 12 1 14 -233017 +-66577 0; +#X text 1 12 Description: stereo delay with a bandpass filter in the +feedback loop; +#X obj 15 402 cnv 15 400 40 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X text 17 403 warning:; +#X text 17 421 high q and high feedback can show unstable behaviour. +; +#X obj 162 126 param.gui; +#X msg 162 102 fbdel; +#X obj 19 85 metro 2000; +#X obj 161 76 cnv 15 70 20 empty empty empty 20 12 0 14 -241291 -66577 +0; +#X text 162 79 Build gui; +#X obj 323 352 hsl 128 15 0 127 0 0 empty frequency empty -2 -8 0 10 +-262144 -1 -1 6100 1; +#X obj 20 223 fx.echo.bp~ @id fbdel; +#X msg 320 372 wet \$1; +#X connect 1 0 2 0; +#X connect 2 0 28 2; +#X connect 3 0 4 0; +#X connect 4 0 28 2; +#X connect 5 0 6 0; +#X connect 6 0 28 2; +#X connect 7 0 8 0; +#X connect 8 0 28 2; +#X connect 9 0 10 0; +#X connect 10 0 28 2; +#X connect 11 0 12 0; +#X connect 12 0 28 2; +#X connect 15 0 28 0; +#X connect 15 1 28 1; +#X connect 16 0 24 0; +#X connect 23 0 22 0; +#X connect 24 0 15 0; +#X connect 27 0 29 0; +#X connect 28 0 0 0; +#X connect 28 1 0 1; +#X connect 29 0 28 2; diff --git a/fx.echo.bp~.pd b/fx.echo.bp~.pd new file mode 100644 index 0000000..ae12e69 --- /dev/null +++ b/fx.echo.bp~.pd @@ -0,0 +1,146 @@ +#N canvas 291 185 682 266 10; +#X obj 483 19 inlet; +#X text 333 81 feedback 0-127; +#X text 334 97 frequency 0-127; +#X text 334 110 q 0-127; +#X text 334 125 routing 0/1; +#X text 337 21 parameters:; +#X text 341 191 Author: Roman Haefeli; +#X text 334 49 delay.l <1-5000ms>; +#X text 334 65 delay.r <1-5000ms>; +#X text 333 140 switch 0/1; +#X obj 483 140 outlet; +#X text 340 176 Version: 2007-11-04; +#X obj 510 88 param.group; +#X obj 559 37 loadbang; +#X obj 559 61 dollarg; +#X obj 483 50 t a a; +#N canvas 17 42 814 810 echobp 0; +#X obj 474 122 switch~; +#X obj 474 101 inlet; +#X obj 131 718 delwrite~ \$0-fildelr 5000; +#X obj 33 737 delwrite~ \$0-fildell 5000; +#X obj 32 182 delread~ \$0-fildell; +#X obj 103 153 delread~ \$0-fildelr; +#X obj 32 281 *~; +#X obj 103 283 *~; +#X obj 33 433 *~; +#X obj 60 434 *~; +#X obj 104 432 *~; +#X obj 131 432 *~; +#X obj 312 318 * -1; +#X obj 312 339 + 1; +#X obj 33 680 *~; +#X obj 131 680 *~; +#X obj 131 653 bp~; +#X obj 191 608 mtof; +#X obj 191 587 + 47; +#X obj 272 578 + 1; +#X obj 272 625 +; +#X obj 272 603 * 0.4; +#X obj 53 215 outlet~; +#X obj 130 219 outlet~; +#X obj 59 310 inlet~; +#X obj 131 307 inlet~; +#X obj 290 184 pack f 20; +#X obj 290 205 line~; +#X obj 312 360 pack f 20; +#X obj 312 381 line~; +#X obj 239 361 pack f 20; +#X obj 239 382 line~; +#X obj 33 649 bp~; +#X obj 272 560 * 0.031496; +#X obj 191 543 min 127; +#X obj 191 523 max 0; +#X obj 272 540 min 127; +#X obj 272 520 max 0; +#X obj 290 143 min 127; +#X obj 290 123 max 0; +#X obj 191 567 * 0.62; +#X obj 290 164 / 160; +#X obj 291 102 param.atom feedback 0 0 127; +#X obj 272 497 param.atom q 0 0 127; +#X obj 191 470 param.atom frequency 100 0 127; +#X obj 32 103 param.atom delay.l 100 1 5000; +#X obj 103 130 param.atom delay.r 100 1 5000; +#X obj 239 296 param.atom routing false; +#X connect 1 0 0 0; +#X connect 4 0 6 0; +#X connect 4 0 22 0; +#X connect 5 0 7 0; +#X connect 5 0 23 0; +#X connect 6 0 8 0; +#X connect 6 0 9 0; +#X connect 7 0 10 0; +#X connect 7 0 11 0; +#X connect 8 0 32 0; +#X connect 9 0 16 0; +#X connect 10 0 32 0; +#X connect 11 0 16 0; +#X connect 12 0 13 0; +#X connect 13 0 28 0; +#X connect 14 0 3 0; +#X connect 15 0 2 0; +#X connect 16 0 15 0; +#X connect 17 0 16 1; +#X connect 17 0 32 1; +#X connect 18 0 17 0; +#X connect 19 0 16 2; +#X connect 19 0 21 0; +#X connect 19 0 32 2; +#X connect 20 0 14 1; +#X connect 20 0 15 1; +#X connect 21 0 20 0; +#X connect 24 0 8 0; +#X connect 24 0 9 0; +#X connect 25 0 10 0; +#X connect 25 0 11 0; +#X connect 26 0 27 0; +#X connect 27 0 7 1; +#X connect 27 0 6 1; +#X connect 28 0 29 0; +#X connect 29 0 11 1; +#X connect 29 0 8 1; +#X connect 30 0 31 0; +#X connect 31 0 9 1; +#X connect 31 0 10 1; +#X connect 32 0 14 0; +#X connect 33 0 19 0; +#X connect 34 0 40 0; +#X connect 35 0 34 0; +#X connect 36 0 33 0; +#X connect 37 0 36 0; +#X connect 38 0 41 0; +#X connect 39 0 38 0; +#X connect 40 0 18 0; +#X connect 41 0 26 0; +#X connect 42 0 39 0; +#X connect 43 0 37 0; +#X connect 44 0 35 0; +#X connect 45 0 4 0; +#X connect 46 0 5 0; +#X connect 47 0 12 0; +#X connect 47 0 30 0; +#X restore 69 39 pd echobp; +#X obj 21 14 inlet~; +#X obj 71 14 inlet~; +#X obj 22 105 outlet~; +#X obj 71 105 outlet~; +#X obj 21 63 mix.wet.stereo~ 1; +#X obj 157 24 param.atom wet 127 0 127; +#X connect 0 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 12 1; +#X connect 14 1 12 2; +#X connect 15 0 10 0; +#X connect 15 1 12 0; +#X connect 16 0 21 2; +#X connect 16 1 21 3; +#X connect 17 0 16 0; +#X connect 17 0 21 0; +#X connect 18 0 16 1; +#X connect 18 0 21 1; +#X connect 21 0 19 0; +#X connect 21 1 20 0; +#X connect 21 2 16 2; +#X connect 22 0 21 4; diff --git a/fx.echo.robot~-help.pd b/fx.echo.robot~-help.pd new file mode 100644 index 0000000..8542e25 --- /dev/null +++ b/fx.echo.robot~-help.pd @@ -0,0 +1,51 @@ +#N canvas 617 25 579 434 10; +#X text 14 8 Description: another echo (robot style); +#X obj 49 341 mix.out_~; +#X obj 217 227 hsl 128 15 1 100 0 0 empty empty amount -2 -6 0 10 -262144 +-1 -1 12700 1; +#X obj 50 317 fx.limiter~; +#X text 16 194 ____________________________________________________________ +; +#X text 291 188 EXAMPLE OF USE; +#X text 16 291 ____________________________________________________________ +; +#X obj 47 243 param.gui; +#X msg 47 221 echorobot; +#X obj 49 268 fx.echo.robot~ @id echorobot; +#X msg 214 245 amount \$1; +#X obj 18 179 osc~ 200; +#X obj 90 180 phasor~ 100; +#X obj 18 55 metro 400; +#X obj 18 35 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1 +; +#X obj 18 141 mtof; +#X obj 90 161 mtof; +#X obj 18 77 random 70; +#X floatatom 69 35 5 0 0 0 - - -; +#X obj 90 141 musical.closest.note 0 1 2 4 7 9 12; +#X obj 18 121 musical.closest.note 0 1 2 4 7 9 12; +#X obj 18 98 + 10; +#X obj 356 226 hsl 128 15 0 127 0 0 empty empty wet -2 -6 0 10 -262144 +-1 -1 12700 1; +#X msg 353 244 wet \$1; +#X connect 2 0 10 0; +#X connect 3 0 1 0; +#X connect 3 1 1 1; +#X connect 8 0 7 0; +#X connect 9 0 3 0; +#X connect 9 1 3 1; +#X connect 10 0 9 2; +#X connect 11 0 9 0; +#X connect 12 0 9 1; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X connect 17 0 21 0; +#X connect 18 0 13 1; +#X connect 19 0 16 0; +#X connect 20 0 15 0; +#X connect 21 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 23 0; +#X connect 23 0 9 2; diff --git a/fx.echo.robot~.pd b/fx.echo.robot~.pd new file mode 100644 index 0000000..975628b --- /dev/null +++ b/fx.echo.robot~.pd @@ -0,0 +1,57 @@ +#N canvas 343 431 628 279 10; +#X obj 51 172 mix.wet.stereo~; +#N canvas 456 420 466 316 robotfeedback 0; +#X obj 260 117 *~ 0.9; +#X obj 33 118 *~ 0.9; +#X obj 31 173 *~ 0.5; +#X obj 220 179 *~ 0.5; +#X obj 32 89 delwrite~ \$0-elevate 1000; +#X obj 225 88 delwrite~ \$0-trashed 1000; +#X obj 221 152 delread~ \$0-trashed 1000; +#X obj 336 38 inlet; +#X obj 393 12 inlet; +#X obj 393 39 switch~; +#X obj 32 65 inlet~; +#X obj 226 61 inlet~; +#X obj 31 200 outlet~; +#X obj 221 206 outlet~; +#X obj 32 149 delread~ \$0-elevate 1000; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 2 0 12 0; +#X connect 3 0 13 0; +#X connect 6 0 0 0; +#X connect 6 0 3 0; +#X connect 7 0 6 0; +#X connect 7 0 14 0; +#X connect 8 0 9 0; +#X connect 10 0 4 0; +#X connect 11 0 5 0; +#X connect 14 0 1 0; +#X connect 14 0 2 0; +#X restore 54 100 pd robotfeedback; +#X obj 32 40 inlet~; +#X obj 82 30 inlet~; +#X obj 50 220 outlet~; +#X obj 100 220 outlet~; +#X obj 371 97 param.group; +#X obj 425 49 loadbang; +#X obj 425 73 dollarg; +#X obj 345 49 inlet params; +#X obj 116 73 param.atom amount 20 1 100; +#X obj 156 140 param.atom wet 127 0 127; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 0 2 1 3; +#X connect 1 0 0 2; +#X connect 1 1 0 3; +#X connect 2 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 1 1; +#X connect 3 0 0 1; +#X connect 7 0 8 0; +#X connect 8 0 6 1; +#X connect 8 1 6 2; +#X connect 9 0 6 0; +#X connect 10 0 1 2; +#X connect 11 0 0 4; diff --git a/fx.echo~-help.pd b/fx.echo~-help.pd new file mode 100644 index 0000000..b511838 --- /dev/null +++ b/fx.echo~-help.pd @@ -0,0 +1,15 @@ +#N canvas 498 230 260 229 10; +#X obj 25 126 mix.out_~; +#X text 23 20 Description: Echos.; +#X obj 121 77 param.gui; +#X msg 121 55 echo; +#X obj 24 101 fx.echo~ @id echo; +#X obj 194 55 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 25 71 adc~ 1 2; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 4 1 0 1; +#X connect 5 0 2 1; +#X connect 6 0 4 0; +#X connect 6 1 4 1; diff --git a/fx.echo~.pd b/fx.echo~.pd new file mode 100644 index 0000000..981b7a4 --- /dev/null +++ b/fx.echo~.pd @@ -0,0 +1,83 @@ +#N canvas 49 129 626 518 12; +#X obj 439 104 param.group; +#X obj 531 45 loadbang; +#X obj 531 69 dollarg; +#X obj 439 45 inlet params; +#X obj 31 42 inlet~; +#X obj 81 42 inlet~; +#X obj 29 472 outlet~; +#X obj 143 469 outlet~; +#X obj 105 190 line~; +#X msg 105 164 \$1 5; +#X obj 175 190 line~; +#X msg 175 164 \$1 5; +#N canvas 143 239 597 529 fxecho 0; +#X obj -68 205 inlet~; +#X obj -68 410 outlet~; +#X obj -69 285 +~; +#X obj -6 300 -~; +#X obj 38 85 inlet~; +#X obj 237 91 inlet; +#X obj 176 220 clip 0 1; +#X obj 13 369 *~ 0; +#X text -76 43 Based on a pabstraction in help patch 44; +#X obj 14 239 vd~ \$0fbr; +#X obj 14 395 delwrite~ \$0fbr 1000; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 10 0; +#X connect 9 0 2 1; +#X connect 9 0 3 1; +#X restore 161 215 pd fxecho; +#N canvas 167 108 597 529 fxecho 0; +#X obj -68 205 inlet~; +#X obj -68 410 outlet~; +#X obj -69 285 +~; +#X obj -6 300 -~; +#X obj 38 85 inlet~; +#X obj 237 91 inlet; +#X obj 176 220 clip 0 1; +#X obj 13 369 *~ 0; +#X text -76 43 Based on a pabstraction in help patch 44; +#X obj 14 239 vd~ \$0fbl; +#X obj 14 395 delwrite~ \$0fbl 1000; +#X connect 0 0 2 0; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 10 0; +#X connect 9 0 2 1; +#X connect 9 0 3 1; +#X restore 91 215 pd fxecho; +#X obj 210 104 param.atom delay 100 0 1000; +#X obj 306 222 param.atom wet 127 0 127; +#X obj 192 65 param.atom strength 0.5 0 1; +#X obj 29 297 tof/crossfade~ 2; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 4 0 13 0; +#X connect 4 0 17 0; +#X connect 5 0 12 0; +#X connect 5 0 17 1; +#X connect 8 0 13 1; +#X connect 9 0 8 0; +#X connect 10 0 12 1; +#X connect 11 0 10 0; +#X connect 12 0 17 3; +#X connect 13 0 17 2; +#X connect 14 0 9 0; +#X connect 14 0 11 0; +#X connect 16 0 12 2; +#X connect 16 0 13 2; +#X connect 17 0 6 0; +#X connect 17 1 7 0; diff --git a/fx.eq~-help.pd b/fx.eq~-help.pd new file mode 100644 index 0000000..e190906 --- /dev/null +++ b/fx.eq~-help.pd @@ -0,0 +1,13 @@ +#N canvas 487 400 360 221 10; +#X obj 22 90 fx.eq~ @id eq; +#X text 156 65 Build dynamic gui; +#X obj 157 101 param.gui; +#X msg 157 79 eq; +#X text 20 23 Description: equalizer using hml_shelf; +#X obj 21 123 mix.out_~; +#X obj 22 55 noise~; +#X connect 0 0 5 0; +#X connect 0 1 5 1; +#X connect 3 0 2 0; +#X connect 6 0 0 0; +#X connect 6 0 0 1; diff --git a/fx.eq~.pd b/fx.eq~.pd new file mode 100644 index 0000000..cd69fdb --- /dev/null +++ b/fx.eq~.pd @@ -0,0 +1,195 @@ +#N canvas 385 193 757 453 10; +#X obj 29 109 inlet~; +#X obj 27 246 outlet~; +#X obj 279 98 inlet~; +#X obj 77 247 outlet~; +#N canvas 0 0 732 530 hml_shelf 0; +#X floatatom 288 116 5 2 9999 0 - - -; +#X text 330 116 ms; +#X obj 74 140 hml_shelf~ 6 100 0 4000 -6 200; +#X obj 355 25 vsl 15 49 27.5 440 1 1 empty empty low_freq. -8 -8 0 +8 -262144 -1 -1 1200 1; +#X obj 108 28 vsl 15 81 -40 40 0 1 empty empty low_level -18 -8 0 8 +-262144 -1 -1 3000 1; +#X obj 176 27 vsl 15 81 -40 40 0 1 empty empty mid_level -10 -8 0 8 +-262144 -1 -1 4000 1; +#X obj 244 26 vsl 15 81 -40 40 0 1 empty empty high_level 0 -8 0 8 +-262144 -1 -1 3000 1; +#X text 372 19 -440Hz; +#X text 372 67 -27.5Hz; +#X text 372 43 -110Hz; +#X obj 426 25 vsl 15 49 880 14080 1 1 empty empty high_freq. -8 -8 +0 8 -262144 -1 -1 3800 1; +#X text 443 19 -14080Hz; +#X text 443 67 -880Hz; +#X text 443 43 -3520Hz; +#X floatatom 108 117 4 0 0 0 - - -; +#X floatatom 175 113 4 0 0 0 - - -; +#X floatatom 244 115 4 0 0 0 - - -; +#X floatatom 355 96 8 0 0 0 - - -; +#X floatatom 426 96 8 0 0 0 - - -; +#X text 124 23 +40; +#X text 126 62 0; +#X text 124 102 -40; +#X text 194 61 0; +#X text 192 101 -40; +#X text 192 22 +40; +#X text 260 21 +40; +#X text 262 60 0; +#X text 260 100 -40; +#X text 107 0 dB; +#X text 174 -2 dB; +#X text 243 -2 dB; +#X obj 75 -68 inlet~; +#X obj 175 341 outlet~; +#X obj 116 -41 inlet; +#X obj 165 -41 inlet; +#X obj 217 -41 inlet; +#X obj 358 -40 inlet; +#X obj 263 -41 inlet; +#X obj 309 -41 inlet; +#X obj 578 -3 inlet; +#X obj 577 53 switch~; +#X connect 0 0 2 6; +#X connect 2 0 32 0; +#X connect 3 0 17 0; +#X connect 4 0 14 0; +#X connect 5 0 15 0; +#X connect 6 0 16 0; +#X connect 10 0 18 0; +#X connect 14 0 2 1; +#X connect 15 0 2 3; +#X connect 16 0 2 5; +#X connect 17 0 2 2; +#X connect 18 0 2 4; +#X connect 31 0 2 0; +#X connect 33 0 2 1; +#X connect 34 0 2 3; +#X connect 35 0 2 5; +#X connect 36 0 2 6; +#X connect 37 0 2 2; +#X connect 38 0 2 4; +#X connect 39 0 40 0; +#X restore 229 137 pd hml_shelf; +#N canvas 307 396 748 546 hml_shelf 0; +#X floatatom 288 116 5 2 9999 0 - - -; +#X text 330 116 ms; +#X obj 74 140 hml_shelf~ 6 100 0 4000 -6 200; +#X obj 355 25 vsl 15 49 27.5 440 1 1 empty empty low_freq. -8 -8 0 +8 -262144 -1 -1 1200 1; +#X obj 108 28 vsl 15 81 -40 40 0 1 empty empty low_level -18 -8 0 8 +-262144 -1 -1 3000 1; +#X obj 176 27 vsl 15 81 -40 40 0 1 empty empty mid_level -10 -8 0 8 +-262144 -1 -1 4000 1; +#X obj 244 26 vsl 15 81 -40 40 0 1 empty empty high_level 0 -8 0 8 +-262144 -1 -1 3500 1; +#X text 372 19 -440Hz; +#X text 372 67 -27.5Hz; +#X text 372 43 -110Hz; +#X obj 426 25 vsl 15 49 880 14080 1 1 empty empty high_freq. -8 -8 +0 8 -262144 -1 -1 3800 1; +#X text 443 19 -14080Hz; +#X text 443 67 -880Hz; +#X text 443 43 -3520Hz; +#X floatatom 108 117 4 0 0 0 - - -; +#X floatatom 175 113 4 0 0 0 - - -; +#X floatatom 244 115 4 0 0 0 - - -; +#X floatatom 355 96 8 0 0 0 - - -; +#X floatatom 426 96 8 0 0 0 - - -; +#X text 124 23 +40; +#X text 126 62 0; +#X text 124 102 -40; +#X text 194 61 0; +#X text 192 101 -40; +#X text 192 22 +40; +#X text 260 21 +40; +#X text 262 60 0; +#X text 260 100 -40; +#X text 107 0 dB; +#X text 174 -2 dB; +#X text 243 -2 dB; +#X obj 75 -68 inlet~; +#X obj 178 327 outlet~; +#X obj 116 -41 inlet; +#X obj 165 -41 inlet; +#X obj 217 -41 inlet; +#X obj 358 -40 inlet; +#X obj 263 -41 inlet; +#X obj 309 -41 inlet; +#X obj 569 -28 inlet; +#X obj 589 37 switch~; +#X floatatom 336 187 5 0 0 0 - - -; +#X connect 0 0 2 6; +#X connect 2 0 32 0; +#X connect 3 0 17 0; +#X connect 4 0 14 0; +#X connect 5 0 15 0; +#X connect 6 0 16 0; +#X connect 10 0 18 0; +#X connect 14 0 2 1; +#X connect 15 0 2 3; +#X connect 16 0 2 5; +#X connect 17 0 2 2; +#X connect 18 0 2 4; +#X connect 31 0 2 0; +#X connect 33 0 2 1; +#X connect 34 0 2 3; +#X connect 35 0 2 5; +#X connect 36 0 2 6; +#X connect 36 0 41 0; +#X connect 37 0 2 2; +#X connect 38 0 2 4; +#X connect 39 0 40 0; +#X restore 78 144 pd hml_shelf; +#X obj 29 189 mix.wet.stereo~ 1; +#X obj 635 -33 param.group; +#X obj 689 -81 loadbang; +#X obj 689 -57 dollarg; +#X obj 609 -81 inlet params; +#X obj 346 -72 param.atom low 0 -40 40; +#X obj 346 -52 param.atom mid 0 -40 40; +#X obj 346 -32 param.atom high 0 -40 40; +#X obj 346 8 param.atom lfreq 55 27.5 440; +#X text 342 -90 TODO: reset?; +#X obj 346 -12 param.atom hfreq 7901.13 880 14080; +#X obj 347 29 param.atom release 10 0 5000; +#X obj 367 94 sel 1; +#X obj 413 141 line; +#X obj 367 141 line; +#X msg 413 117 0 50; +#X msg 367 117 127 50; +#X obj 367 66 param.atom switch false; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 2 0 4 0; +#X connect 2 0 6 1; +#X connect 4 0 6 3; +#X connect 5 0 6 2; +#X connect 6 0 1 0; +#X connect 6 1 3 0; +#X connect 6 2 5 7; +#X connect 6 2 4 7; +#X connect 8 0 9 0; +#X connect 9 0 7 1; +#X connect 9 1 7 2; +#X connect 10 0 7 0; +#X connect 11 0 4 1; +#X connect 11 0 5 1; +#X connect 12 0 4 2; +#X connect 12 0 5 2; +#X connect 13 0 4 3; +#X connect 13 0 5 3; +#X connect 14 0 4 4; +#X connect 14 0 5 4; +#X connect 16 0 5 5; +#X connect 16 0 4 5; +#X connect 17 0 4 6; +#X connect 17 0 5 6; +#X connect 18 0 22 0; +#X connect 18 1 21 0; +#X connect 19 0 6 4; +#X connect 20 0 6 4; +#X connect 21 0 19 0; +#X connect 22 0 20 0; +#X connect 23 0 18 0; +#X coords 0 0 1 1 213 69 0; diff --git a/fx.filter.peak.sig~-help.pd b/fx.filter.peak.sig~-help.pd new file mode 100644 index 0000000..c081f4e --- /dev/null +++ b/fx.filter.peak.sig~-help.pd @@ -0,0 +1,40 @@ +#N canvas 550 92 572 453 10; +#X obj 30 274 mix.out_~; +#X obj 143 273 anal.spectrum_~; +#X obj 106 154 mtof~; +#X obj 30 190 fx.filter.peak.sig~; +#X obj 184 145 sig~ 30; +#X floatatom 184 120 5 0 0 0 - - -; +#X obj 108 87 osc~ 2; +#X obj 108 110 +~ 4; +#X obj 107 132 *~ 24; +#X text 423 2 Version: 2007-09-15; +#X text 423 17 Author: Roman Haefeli; +#X text 26 3 Description: Peakfilter with signal frequency and Q control +; +#X text 183 101 Q; +#X text 107 69 peakfreq; +#X obj 266 44 cnv 15 200 100 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 271 49 SYNOPSIS; +#X text 270 73 inlet0: signal (input); +#X text 270 90 inlet1: signal (frequency); +#X text 270 106 inlet2: signal (Q); +#X text 270 121 outlet0: signal (output); +#X obj 29 27 sig~ 123; +#X obj 29 49 synth.osc.saw.bl~; +#X obj 31 236 *~ 0.1; +#X text 142 236 Comment: modulate q with a pad-synth as input to get +nice sounds; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 3 0 22 0; +#X connect 4 0 3 2; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 2 0; +#X connect 20 0 21 0; +#X connect 21 0 3 0; +#X connect 22 0 0 0; +#X connect 22 0 0 1; diff --git a/fx.filter.peak.sig~.pd b/fx.filter.peak.sig~.pd new file mode 100644 index 0000000..9cf22a8 --- /dev/null +++ b/fx.filter.peak.sig~.pd @@ -0,0 +1,77 @@ +#N canvas 409 112 428 389 10; +#X obj 11 249 cpole~; +#X obj 12 294 czero~; +#X obj 278 188 *~ 0.01; +#X obj 333 188 *~ 0.01; +#X obj 296 149 cos~; +#X obj 333 150 cos~; +#X obj 332 128 -~ 0.25; +#X obj 313 45 samplerate~; +#X obj 297 67 /~; +#X obj 313 22 loadbang; +#X obj 63 18 inlet~; +#X obj 11 18 inlet~; +#X obj 12 322 outlet~; +#X obj 82 215 *~; +#X obj 110 216 *~; +#X obj 127 17 inlet~; +#N canvas 497 504 214 352 \$0-lookuptable 0; +#X obj 52 125 *~ -0.1; +#X obj 52 146 expr~ exp($v1); +#X obj 52 167 *~ -1; +#X obj 52 189 +~ 0.9999; +#X obj 52 104 line~; +#X msg 52 83 0.001 \, 100 1000; +#X obj 8 49 t b b b; +#X obj 30 226 tabwrite~ \$0-lookup1; +#X obj 8 272 del 1000; +#X obj 8 317 switch~; +#X obj 8 292 0; +#X obj 8 250 t b b; +#X obj 38 294 1; +#X obj 8 14 loadbang; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 11 0; +#X connect 6 1 7 0; +#X connect 6 2 5 0; +#X connect 8 0 10 0; +#X connect 10 0 9 0; +#X connect 11 0 8 0; +#X connect 11 1 12 0; +#X connect 12 0 9 0; +#X connect 13 0 6 0; +#X restore 240 279 pd \$0-lookuptable; +#X obj 240 301 table \$0-lookup1 44100; +#X obj 126 118 tabread~ \$0-lookup1; +#X obj 127 96 *~ 401; +#X text 95 309 Version: 2007-09-15; +#X text 96 326 Author: Roman Haefeli; +#X text 18 359 taken and modified from 3.audio.examples/H12.peaking.pd +; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 12 0; +#X connect 2 0 1 2; +#X connect 3 0 1 3; +#X connect 4 0 2 0; +#X connect 4 0 13 0; +#X connect 5 0 3 0; +#X connect 5 0 14 0; +#X connect 6 0 5 0; +#X connect 7 0 8 1; +#X connect 8 0 6 0; +#X connect 8 0 4 0; +#X connect 9 0 7 0; +#X connect 10 0 8 0; +#X connect 11 0 0 0; +#X connect 13 0 0 2; +#X connect 14 0 0 3; +#X connect 15 0 19 0; +#X connect 18 0 13 1; +#X connect 18 0 14 1; +#X connect 19 0 18 0; diff --git a/fx.gain~-help.pd b/fx.gain~-help.pd new file mode 100644 index 0000000..5ab987a --- /dev/null +++ b/fx.gain~-help.pd @@ -0,0 +1,44 @@ +#N canvas 113 71 871 571 10; +#X obj -43 -33 nbx 6 14 -100 20 0 0 empty empty dB 0 -8 0 10 -33289 +-262144 -1 0 256; +#X obj -109 233 dac~; +#X obj -17 72 vsl 25 50 -100 0 0 0 empty empty empty 3 -8 0 8 -33289 +-262144 -1 0 1; +#X obj -91 165 anal.sig_~; +#X obj -94 50 anal.sig_~; +#X text 27 103 You should use the range from -100 to 0 dB \, and up +to about 20dB \, maybe.; +#X text -141 -244 Description: Applies a gain in dB to an incoming +signal; +#X obj -144 -271 cnv 15 430 20 empty empty empty 20 12 0 14 -216438 +-66577 0; +#X obj -144 -250 cnv 1 430 1 empty empty empty 4 -10 2 12 -66577 -1 +0; +#X obj -144 -271 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text -143 -268 :: transfom/gain~ ::; +#X text 146 -267 Version: 2007-02-12; +#X obj -107 -35 noise~; +#X obj -20 -215 vradio 8 1 0 20 empty empty empty 0 -8 0 8 -195568 +-262144 -1 0; +#X obj -6 -61 expr ($f1*6)-100; +#X obj -7 -80 expr 20-$f1; +#X text -3 -194 About 0 db (original); +#X text 5 -139 We don't hear much pretty quickly; +#X obj -107 23 fx.gain~ -6 50; +#X text 0 -172 Every 6 dB gap sounds twice as loud.; +#X obj -110 144 fx.gain~ -60; +#X obj -14 2 nbx 6 14 -100 20 0 0 empty empty ramp_time 0 -8 0 10 -33289 +-262144 -1 0 256; +#X connect 0 0 18 1; +#X connect 2 0 20 1; +#X connect 12 0 18 0; +#X connect 13 0 15 0; +#X connect 14 0 0 0; +#X connect 15 0 14 0; +#X connect 18 0 4 0; +#X connect 18 0 20 0; +#X connect 20 0 1 0; +#X connect 20 0 3 0; +#X connect 20 0 1 1; +#X connect 21 0 18 2; diff --git a/fx.gain~.pd b/fx.gain~.pd new file mode 100644 index 0000000..c07100b --- /dev/null +++ b/fx.gain~.pd @@ -0,0 +1,22 @@ +#N canvas 498 385 543 475 10; +#X obj 95 48 inlet~; +#X obj 206 63 inlet; +#X obj 233 125 init.df 0 \$1; +#X obj 234 104 loadbang; +#X obj 164 191 dbtorms; +#X obj 164 170 + 100; +#X obj 100 338 outlet~; +#X obj 95 297 *~; +#X obj 150 284 line~; +#X obj 165 226 pack f \$2; +#X obj 371 65 inlet; +#X connect 0 0 7 0; +#X connect 1 0 5 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 9 0 8 0; +#X connect 10 0 9 1; diff --git a/fx.gate.noise~-help.pd b/fx.gate.noise~-help.pd new file mode 100644 index 0000000..84c70bf --- /dev/null +++ b/fx.gate.noise~-help.pd @@ -0,0 +1,67 @@ +#N canvas 460 25 505 478 10; +#X obj 261 221 param.gui; +#X msg 261 199 fxgatenoise; +#X obj 61 399 mix.out_~; +#X text 56 44 Description: a noise gate (cut off volume above threshold). +useful for removing noise from an incoming signal or making breakbeat. +; +#X obj 173 223 nbx 5 14 -1e+37 1e+37 0 0 empty empty right 0 -8 0 10 +-262144 -1 -1 96.9186 256; +#X obj 61 162 *~; +#X obj 78 141 osc~ 2; +#X obj 149 162 *~; +#X obj 149 119 osc~ 240; +#X obj 166 141 osc~ 4; +#N canvas 172 333 450 300 env 0; +#X obj 279 93 env~ 16384 8192; +#X obj 279 49 inlet~; +#X obj 279 177 outlet; +#X text 294 123 don't know why; +#X obj 279 144 + 2.94; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 4 0 2 0; +#X restore 159 188 pd env; +#N canvas 172 333 450 300 env 0; +#X obj 279 93 env~ 16384 8192; +#X obj 279 49 inlet~; +#X obj 279 177 outlet; +#X text 294 123 don't know why; +#X obj 279 144 + 2.4; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 4 0 2 0; +#X restore 73 190 pd env; +#X obj 85 224 nbx 5 14 -1e+37 1e+37 0 0 empty empty left 0 -8 0 10 +-262144 -1 -1 95.7628 256; +#X obj 88 283 bonk~; +#X obj 115 326 synth.clap~; +#X obj 114 356 mix.out_~; +#X obj 215 326 synth.clap~; +#X obj 188 282 bonk~; +#X text 234 282 only an idea; +#X obj 61 250 fx.gate.noise~ @id fxgatenoise; +#X msg 115 306 trigger; +#X msg 215 305 trigger; +#X obj 60 119 osc~ 160; +#X connect 1 0 0 0; +#X connect 5 0 11 0; +#X connect 5 0 19 0; +#X connect 6 0 5 1; +#X connect 7 0 10 0; +#X connect 7 0 19 1; +#X connect 8 0 7 0; +#X connect 9 0 7 1; +#X connect 10 0 4 0; +#X connect 11 0 12 0; +#X connect 13 1 20 0; +#X connect 14 0 15 0; +#X connect 16 0 15 1; +#X connect 17 1 21 0; +#X connect 19 0 2 0; +#X connect 19 0 13 0; +#X connect 19 1 2 1; +#X connect 19 1 17 0; +#X connect 20 0 14 0; +#X connect 21 0 16 0; +#X connect 22 0 5 0; diff --git a/fx.gate.noise~.pd b/fx.gate.noise~.pd new file mode 100644 index 0000000..5c3ecbc --- /dev/null +++ b/fx.gate.noise~.pd @@ -0,0 +1,168 @@ +#N canvas 103 127 1054 304 10; +#X obj 777 93 param.group; +#X obj 831 45 loadbang; +#X obj 831 69 dollarg; +#X obj 751 45 inlet params; +#X obj 24 209 mix.wet.stereo~ 1; +#N canvas 433 91 602 401 noisegate~ 0; +#X obj 114 112 env~; +#X obj 78 282 *~; +#X obj 114 260 line~; +#X obj 78 74 inlet~; +#X obj 78 303 outlet~; +#X obj 133 73 inlet; +#X obj 173 170 inlet; +#X obj 215 169 inlet; +#X obj 114 151 change; +#X obj 114 172 sel 1 0; +#X obj 258 112 inlet; +#X obj 313 136 spigot; +#X obj 285 159 list.build; +#X obj 285 182 list.min.max; +#X obj 376 183 t b; +#X floatatom 285 210 5 0 0 0 - - -; +#X floatatom 364 212 5 0 0 0 - - -; +#X obj 376 158 sel 1; +#X obj 376 136 == 20; +#X obj 285 247 scale.linear 0 100 -1 1; +#X obj 310 112 inlet; +#X obj 114 131 > 0; +#X obj 114 200 f 0; +#X obj 157 199 f 0; +#X msg 114 225 1 \$1; +#X msg 157 224 0 \$1; +#X obj 445 46 inlet; +#X obj 445 74 switch~; +#X connect 0 0 11 0; +#X connect 0 0 21 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 3 0 0 0; +#X connect 3 0 1 0; +#X connect 5 0 21 1; +#X connect 6 0 22 1; +#X connect 7 0 23 1; +#X connect 8 0 9 0; +#X connect 9 0 22 0; +#X connect 9 1 23 0; +#X connect 10 0 11 1; +#X connect 11 0 12 1; +#X connect 12 0 13 0; +#X connect 12 1 18 0; +#X connect 13 0 15 0; +#X connect 13 0 19 3; +#X connect 13 1 16 0; +#X connect 13 1 19 4; +#X connect 14 0 12 0; +#X connect 14 0 19 0; +#X connect 17 0 14 0; +#X connect 18 0 17 0; +#X connect 19 0 21 1; +#X connect 20 0 19 0; +#X connect 21 0 8 0; +#X connect 22 0 24 0; +#X connect 23 0 25 0; +#X connect 24 0 2 0; +#X connect 25 0 2 0; +#X connect 26 0 27 0; +#X restore 61 164 pd noisegate~; +#N canvas 201 313 477 401 noisegate~ 0; +#X obj 114 112 env~; +#X obj 78 282 *~; +#X obj 114 260 line~; +#X obj 78 74 inlet~; +#X obj 78 303 outlet~; +#X obj 133 73 inlet; +#X obj 173 170 inlet; +#X obj 215 169 inlet; +#X obj 114 151 change; +#X obj 114 172 sel 1 0; +#X obj 258 112 inlet; +#X obj 313 136 spigot; +#X obj 285 159 list.build; +#X obj 285 182 list.min.max; +#X obj 376 183 t b; +#X floatatom 285 210 5 0 0 0 - - -; +#X floatatom 364 212 5 0 0 0 - - -; +#X obj 376 158 sel 1; +#X obj 376 136 == 20; +#X obj 285 247 scale.linear 0 100 -1 1; +#X obj 310 112 inlet; +#X obj 114 131 > 0; +#X obj 114 199 f 0; +#X obj 157 199 f 0; +#X msg 114 225 1 \$1; +#X msg 157 224 0 \$1; +#X obj 427 50 inlet; +#X obj 427 76 switch~; +#X connect 0 0 11 0; +#X connect 0 0 21 0; +#X connect 1 0 4 0; +#X connect 2 0 1 1; +#X connect 3 0 0 0; +#X connect 3 0 1 0; +#X connect 5 0 21 1; +#X connect 6 0 22 1; +#X connect 7 0 23 1; +#X connect 8 0 9 0; +#X connect 9 0 22 0; +#X connect 9 1 23 0; +#X connect 10 0 11 1; +#X connect 11 0 12 1; +#X connect 12 0 13 0; +#X connect 12 1 18 0; +#X connect 13 0 15 0; +#X connect 13 0 19 3; +#X connect 13 1 16 0; +#X connect 13 1 19 4; +#X connect 14 0 12 0; +#X connect 14 0 19 0; +#X connect 17 0 14 0; +#X connect 18 0 17 0; +#X connect 19 0 21 1; +#X connect 20 0 19 0; +#X connect 21 0 8 0; +#X connect 22 0 24 0; +#X connect 23 0 25 0; +#X connect 24 0 2 0; +#X connect 25 0 2 0; +#X connect 26 0 27 0; +#X restore 149 165 pd noisegate~; +#X obj 51 130 inlet~ left; +#X obj 148 129 inlet~ right; +#X obj 24 234 outlet~ left; +#X obj 82 234 outlet~ right; +#X obj 493 143 param.atom automatic-/+ 50 0 100; +#X obj 53 57 param.atom threshold.l 0 0 100; +#X obj 52 88 param.atom threshold.r 0 0 100; +#X obj 282 88 param.atom attack.r 1 0 500; +#X obj 283 57 param.atom attack.l 1 0 500; +#X obj 493 57 param.atom release.l 200 0 5000; +#X obj 492 88 param.atom release.r 200 0 5000; +#X obj 493 119 param.atom automatic false; +#X obj 494 171 param.atom wet 127 0 127; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 4 0 9 0; +#X connect 4 1 10 0; +#X connect 4 2 6 6; +#X connect 4 2 5 6; +#X connect 5 0 4 2; +#X connect 6 0 4 3; +#X connect 7 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 4 1; +#X connect 8 0 6 0; +#X connect 11 0 5 5; +#X connect 11 0 6 5; +#X connect 12 0 5 1; +#X connect 13 0 6 1; +#X connect 14 0 6 2; +#X connect 15 0 5 2; +#X connect 16 0 5 3; +#X connect 17 0 6 3; +#X connect 18 0 5 4; +#X connect 18 0 6 4; +#X connect 19 0 4 4; diff --git a/fx.gate.time~-help.pd b/fx.gate.time~-help.pd new file mode 100644 index 0000000..5132c3a --- /dev/null +++ b/fx.gate.time~-help.pd @@ -0,0 +1,25 @@ +#N canvas 455 230 349 282 10; +#X text 24 5 Description: a time base gate; +#X obj 33 155 fx.gate.time~; +#X obj 32 183 mix.out_~; +#X obj 152 69 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X floatatom 203 71 5 0 0 0 - - -; +#X obj 153 125 hsl 128 15 5 100 0 0 empty empty release -2 -6 0 10 +-262144 -1 -1 0 1; +#X obj 152 165 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 12700 1; +#X text 148 148 dry; +#X text 261 149 wet; +#X obj 152 89 metro 250; +#X obj 80 88 osc~ 444; +#X obj 23 89 osc~ 222; +#X connect 1 0 2 0; +#X connect 1 1 2 1; +#X connect 3 0 9 0; +#X connect 4 0 9 1; +#X connect 5 0 1 3; +#X connect 6 0 1 4; +#X connect 9 0 1 2; +#X connect 10 0 1 1; +#X connect 11 0 1 0; diff --git a/fx.gate.time~.pd b/fx.gate.time~.pd new file mode 100644 index 0000000..75eaac9 --- /dev/null +++ b/fx.gate.time~.pd @@ -0,0 +1,56 @@ +#N canvas 512 147 422 381 10; +#X obj 58 250 mix.wet.stereo~; +#X obj 39 118 inlet~; +#X obj 89 108 inlet~; +#X obj 58 294 outlet~; +#X obj 108 294 outlet~; +#X obj 325 151 inlet; +#N canvas 182 500 450 300 gate 1; +#X obj 343 54 inlet; +#X obj 343 87 switch~; +#X obj 36 25 inlet~; +#X obj 96 25 inlet~; +#X obj 36 265 outlet~; +#X obj 96 265 outlet~; +#X obj 29 218 *~; +#X obj 183 224 *~; +#X obj 188 183 line~; +#X msg 223 128 1 5; +#X obj 146 41 t b; +#X msg 253 150 1 5; +#X obj 253 128 loadbang; +#X obj 245 49 inlet; +#X obj 148 12 inlet; +#X obj 200 79 delay 20; +#X msg 188 127 0 30; +#X connect 0 0 1 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 6 0 4 0; +#X connect 7 0 5 0; +#X connect 8 0 6 1; +#X connect 8 0 7 1; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 10 0 15 0; +#X connect 11 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 15 1; +#X connect 14 0 10 0; +#X connect 15 0 16 0; +#X connect 16 0 8 0; +#X restore 108 181 pd gate; +#X obj 148 119 inlet gateit; +#X obj 238 123 inlet howlong; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 0 2 6 4; +#X connect 1 0 0 0; +#X connect 1 0 6 0; +#X connect 2 0 0 1; +#X connect 2 0 6 1; +#X connect 5 0 0 4; +#X connect 6 0 0 2; +#X connect 6 1 0 3; +#X connect 7 0 6 2; +#X connect 8 0 6 3; diff --git a/fx.granular.live~-help.pd b/fx.granular.live~-help.pd new file mode 100644 index 0000000..3b1e1fe --- /dev/null +++ b/fx.granular.live~-help.pd @@ -0,0 +1,144 @@ +#N canvas 365 25 602 301 10; +#X obj 40 215 mix.out_~; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 39 141 pd synth; +#X obj 39 109 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X text 61 109 on/off; +#X obj 287 65 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 288 66 5 -36 36 0 - - -; +#X obj 286 19 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 287 20 5 100 30000 0 - - -; +#X obj 287 110 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 288 111 5 0.01 1 0 - - -; +#X msg 287 43 window \$1; +#X msg 288 87 transposition \$1; +#X msg 288 133 feedback \$1; +#X obj 290 173 hsl 128 15 0 127 0 0 empty empty wet -2 -6 0 10 -262144 +-1 -1 0 1; +#X msg 287 195 wet \$1; +#X text 36 15 Description: Live granular; +#X text 37 31 Author: Unknown; +#X obj 454 38 param.gui; +#X obj 39 179 fx.granular.live~ @id granule; +#X msg 454 16 granule; +#X connect 1 0 18 0; +#X connect 1 1 18 1; +#X connect 2 0 1 0; +#X connect 5 0 11 0; +#X connect 7 0 10 0; +#X connect 9 0 12 0; +#X connect 10 0 18 2; +#X connect 11 0 18 2; +#X connect 12 0 18 2; +#X connect 13 0 14 0; +#X connect 14 0 18 2; +#X connect 18 0 0 0; +#X connect 18 1 0 1; +#X connect 19 0 17 0; diff --git a/fx.granular.live~.pd b/fx.granular.live~.pd new file mode 100644 index 0000000..9705d13 --- /dev/null +++ b/fx.granular.live~.pd @@ -0,0 +1,147 @@ +#N canvas 365 25 768 472 10; +#X obj 467 105 param.group; +#X obj 521 57 loadbang; +#X obj 521 81 dollarg; +#X obj 429 57 inlet params; +#N canvas 307 247 955 581 process 1; +#X obj 107 314 phasor~; +#X obj 107 391 *~ -1; +#X obj 108 416 +~ 1; +#X obj 125 561 sig~ 1; +#X obj 190 560 cos~; +#X obj 126 585 -~; +#X obj 127 610 *~ 0.5; +#X obj 106 639 *~; +#X obj 142 473 samphold~; +#X obj 108 500 *~; +#X obj 143 445 sig~; +#X floatatom 135 260 10 0 0 0 - - -; +#X floatatom 266 218 5 0 0 0 - - -; +#X obj 249 253 t b f; +#X obj 229 371 / 44.1; +#X obj 342 392 *~ -1; +#X obj 343 417 +~ 1; +#X obj 360 562 sig~ 1; +#X obj 424 562 cos~; +#X obj 361 586 -~; +#X obj 362 611 *~ 0.5; +#X obj 343 636 *~; +#X obj 377 474 samphold~; +#X obj 343 501 *~; +#X obj 378 446 sig~; +#X obj 339 344 +~ 0.5; +#X obj 339 366 wrap~; +#X obj 144 288 expr (pow(2 \, ($f2/12)) - 1) * 44100/$f1; +#X obj 102 97 vsl 15 128 100 30000 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 102 235 t b f; +#X obj 266 138 vsl 15 73 -36 36 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 484 348 *~ 0; +#X obj 517 107 vsl 15 128 0.01 1 1 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 517 267 sel 0.01; +#X msg 515 294 0; +#X floatatom 515 323 5 0 0 0 - - -; +#X text 520 79 feedback; +#X text 269 114 transposition; +#X text 37 71 window-width (samples); +#X obj 494 376 inlet~; +#X obj 105 698 outlet~; +#X obj 195 698 outlet~; +#X obj 754 155 inlet; +#X obj 754 189 switch~; +#X obj 586 46 inlet; +#X obj 675 46 inlet; +#X obj 629 46 inlet; +#X obj 485 408 delwrite~ \$0-delay 5000; +#X obj 344 527 vd~ \$0-delay; +#X obj 109 526 vd~ \$0-delay; +#X connect 0 0 1 0; +#X connect 0 0 4 0; +#X connect 0 0 8 1; +#X connect 0 0 25 0; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 31 0; +#X connect 7 0 40 0; +#X connect 7 0 41 0; +#X connect 8 0 9 1; +#X connect 9 0 49 0; +#X connect 10 0 8 0; +#X connect 11 0 27 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 13 1 27 1; +#X connect 14 0 10 0; +#X connect 14 0 24 0; +#X connect 15 0 16 0; +#X connect 16 0 23 0; +#X connect 17 0 19 0; +#X connect 18 0 19 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 21 0 31 0; +#X connect 21 0 41 0; +#X connect 21 0 40 0; +#X connect 22 0 23 1; +#X connect 23 0 48 0; +#X connect 24 0 22 0; +#X connect 25 0 26 0; +#X connect 26 0 15 0; +#X connect 26 0 22 1; +#X connect 26 0 18 0; +#X connect 27 0 0 0; +#X connect 28 0 29 0; +#X connect 29 0 12 0; +#X connect 29 1 14 0; +#X connect 29 1 11 0; +#X connect 30 0 12 0; +#X connect 31 0 47 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 33 1 35 0; +#X connect 34 0 35 0; +#X connect 35 0 31 1; +#X connect 39 0 47 0; +#X connect 42 0 43 0; +#X connect 44 0 29 0; +#X connect 45 0 33 0; +#X connect 46 0 12 0; +#X connect 48 0 21 0; +#X connect 49 0 7 0; +#X restore 97 129 pd process; +#X obj 56 65 inlet~; +#X obj 100 260 outlet~; +#X obj 151 238 outlet~; +#X obj 101 208 mix.wet.stereo~ 1; +#X obj 113 65 inlet~; +#X obj 92 97 *~ 0.5; +#X obj 142 97 *~ 0.5; +#X obj 180 -2 param.atom window 15000 100 30000; +#X obj 200 20 param.atom transposition 0 -36 36; +#X obj 210 42 param.atom feedback 0.4 0.01 1; +#X obj 217 163 param.atom wet 127 0 127; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 4 0 8 2; +#X connect 4 1 8 3; +#X connect 5 0 8 0; +#X connect 5 0 10 0; +#X connect 8 0 6 0; +#X connect 8 1 7 0; +#X connect 8 2 4 4; +#X connect 9 0 8 1; +#X connect 9 0 11 0; +#X connect 10 0 4 0; +#X connect 11 0 4 0; +#X connect 12 0 4 1; +#X connect 13 0 4 2; +#X connect 14 0 4 3; +#X connect 15 0 8 4; diff --git a/fx.limiter.compressor~-help.pd b/fx.limiter.compressor~-help.pd new file mode 100644 index 0000000..1375387 --- /dev/null +++ b/fx.limiter.compressor~-help.pd @@ -0,0 +1,16 @@ +#N canvas 619 218 450 300 10; +#X text 35 12 Description: zcomplim is a combination of a compressor +with a following limiter based on zexy's [limiter~].Description: zcomplim +is a combination of a compressor with a following limiter based on +zexy's [limiter~].; +#X obj 36 164 mix.out_~; +#X text 36 60 From www.netpd.org; +#X obj 230 117 param.gui; +#X msg 230 95 compressor; +#X obj 36 116 adc~ 1 2; +#X obj 37 139 fx.limiter.compressor~ @id compressor; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 1 0; +#X connect 6 1 1 1; diff --git a/fx.limiter.compressor~.pd b/fx.limiter.compressor~.pd new file mode 100644 index 0000000..3eaace0 --- /dev/null +++ b/fx.limiter.compressor~.pd @@ -0,0 +1,159 @@ +#N canvas 110 513 765 400 10; +#N canvas 223 360 522 487 processing 0; +#X obj 7 271 *~; +#X obj 7 31 inlet~; +#X obj 7 350 outlet~; +#X obj 179 24 inlet ratio; +#X obj 209 46 inlet threshold; +#X obj 301 90 inlet release; +#X obj 64 271 *~; +#X obj 102 242 *~; +#X obj 63 34 inlet~; +#X obj 64 350 outlet~; +#N canvas 950 486 581 326 control 0; +#X msg 224 191 print; +#X obj 98 50 loadbang; +#X msg 98 74 COMPRESS; +#X obj 11 240 limiter~ 2 1; +#X obj 12 7 inlet~ left; +#X obj 78 26 inlet~ right; +#X obj 11 263 outlet~; +#X msg 341 127 set \$1 \$2 \$3; +#X obj 341 105 pack f f f; +#X obj 341 75 t b f; +#X obj 386 73 t b f; +#X obj 185 107 pack f f f; +#X obj 185 64 t b f; +#X obj 224 65 t b f; +#X obj 501 9 inlet outlim; +#X obj 341 7 inlet hold; +#X obj 409 7 inlet release; +#X msg 185 129 compress \$1 \$2 \$3; +#X obj 173 5 inlet ratio; +#X obj 185 86 f; +#X obj 246 7 inlet threshold; +#X obj 246 32 + 100; +#X obj 501 31 + 100; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 9 1 8 1; +#X connect 10 0 8 0; +#X connect 10 1 8 2; +#X connect 11 0 17 0; +#X connect 12 0 19 0; +#X connect 12 1 11 1; +#X connect 13 0 19 0; +#X connect 13 1 11 2; +#X connect 14 0 22 0; +#X connect 15 0 9 0; +#X connect 16 0 10 0; +#X connect 17 0 3 0; +#X connect 18 0 13 0; +#X connect 19 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 12 0; +#X connect 22 0 19 1; +#X connect 22 0 8 0; +#X restore 102 158 pd control; +#X obj 6 198 z~ 90; +#X obj 64 197 z~ 90; +#X obj 335 111 inlet outlim; +#X obj 267 68 inlet hold; +#X obj 381 136 inlet outceil; +#X obj 182 181 - 100; +#X obj 182 206 * -1; +#X obj 182 230 +; +#X obj 220 186 t b f; +#X obj 182 251 dbtorms; +#X obj 289 354 env~ 6000; +#X obj 289 378 outlet; +#X obj 476 8 inlet; +#X obj 476 31 switch~; +#X connect 0 0 2 0; +#X connect 1 0 11 0; +#X connect 1 0 10 0; +#X connect 3 0 10 2; +#X connect 4 0 10 3; +#X connect 5 0 10 5; +#X connect 6 0 9 0; +#X connect 7 0 0 1; +#X connect 7 0 6 1; +#X connect 8 0 12 0; +#X connect 8 0 10 1; +#X connect 10 0 7 0; +#X connect 10 0 21 0; +#X connect 11 0 0 0; +#X connect 12 0 6 0; +#X connect 13 0 10 6; +#X connect 13 0 16 0; +#X connect 14 0 10 4; +#X connect 15 0 19 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 19 1 18 1; +#X connect 20 0 7 1; +#X connect 21 0 22 0; +#X connect 23 0 24 0; +#X restore 44 230 pd processing; +#X obj 459 101 param.group; +#X obj 513 53 loadbang; +#X obj 513 77 dollarg; +#X obj 433 53 inlet params; +#X obj 44 44 inlet~ left; +#X obj 54 65 inlet~ right; +#X obj 44 342 outlet~ left; +#X obj 80 313 outlet~ right; +#X obj 9 273 mix.wet.stereo~ 1; +#X obj 202 235 sel 1; +#X obj 248 282 line; +#X obj 202 282 line; +#X msg 248 258 0 50; +#X msg 202 258 127 50; +#X text 350 106 0; +#X text 357 130 1; +#X text 381 150 160; +#X text 387 169 0; +#X text 395 193 0; +#X text 337 79 1; +#X obj 197 167 param.atom out|limit -20 -30 0; +#X obj 191 188 param.atom out|ceiling 0 -30 0; +#X obj 176 106 param.atom threshold -6 -50 0; +#X obj 171 84 param.atom ratio 0.5 0.1 1; +#X obj 185 127 param.atom hold 1 1 1000; +#X obj 191 147 param.atom release 160 1 1000; +#X obj 202 212 param.atom switch false; +#X connect 0 0 9 2; +#X connect 0 1 9 3; +#X connect 2 0 3 0; +#X connect 3 0 1 1; +#X connect 3 1 1 2; +#X connect 4 0 1 0; +#X connect 5 0 0 0; +#X connect 5 0 9 0; +#X connect 6 0 0 1; +#X connect 6 0 9 1; +#X connect 9 0 7 0; +#X connect 9 1 8 0; +#X connect 9 2 0 8; +#X connect 10 0 14 0; +#X connect 10 1 13 0; +#X connect 11 0 9 4; +#X connect 12 0 9 4; +#X connect 13 0 11 0; +#X connect 14 0 12 0; +#X connect 21 0 0 6; +#X connect 22 0 0 7; +#X connect 23 0 0 3; +#X connect 24 0 0 2; +#X connect 25 0 0 4; +#X connect 26 0 0 5; +#X connect 27 0 10 0; diff --git a/fx.limiter~-help.pd b/fx.limiter~-help.pd new file mode 100644 index 0000000..2161817 --- /dev/null +++ b/fx.limiter~-help.pd @@ -0,0 +1,95 @@ +#N canvas 524 217 439 275 10; +#X obj 29 185 mix.out_~; +#X obj 251 169 mix.out_~; +#X text 267 144 without...; +#X floatatom 27 70 0 0 0 2 left - -; +#X floatatom 113 70 0 0 0 2 right - -; +#X floatatom 68 53 0 0 0 2 both - -; +#N canvas 59 76 600 400 generator~ 0; +#X obj 86 49 inlet; +#X obj 252 54 inlet; +#X obj 112 229 outlet~; +#X obj 112 185 *~; +#X obj 151 185 *~; +#X obj 122 128 osc~ 440; +#X obj 151 145 osc~ 689.062; +#X obj 112 163 line~; +#X obj 167 162 line~; +#X msg 167 128 \$1 100; +#X msg 112 111 \$1 100; +#X obj 86 97 f; +#X obj 252 98 f; +#X obj 154 229 outlet~; +#X obj 86 72 dbtorms; +#X obj 252 78 dbtorms; +#X connect 0 0 14 0; +#X connect 1 0 15 0; +#X connect 3 0 2 0; +#X connect 4 0 13 0; +#X connect 5 0 3 1; +#X connect 6 0 4 0; +#X connect 7 0 3 0; +#X connect 8 0 4 1; +#X connect 9 0 8 0; +#X connect 10 0 7 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X connect 14 0 11 0; +#X connect 15 0 12 0; +#X restore 27 92 pd generator~; +#X floatatom 251 97 0 0 0 2 left - -; +#X floatatom 337 97 0 0 0 2 right - -; +#X floatatom 293 80 0 0 0 2 both - -; +#N canvas 59 76 600 400 generator~ 0; +#X obj 86 49 inlet; +#X obj 252 54 inlet; +#X obj 112 229 outlet~; +#X obj 112 185 *~; +#X obj 151 185 *~; +#X obj 122 128 osc~ 440; +#X obj 151 145 osc~ 689.062; +#X obj 112 163 line~; +#X obj 167 162 line~; +#X msg 167 128 \$1 100; +#X msg 112 111 \$1 100; +#X obj 86 97 f; +#X obj 252 98 f; +#X obj 154 229 outlet~; +#X obj 86 72 dbtorms; +#X obj 252 78 dbtorms; +#X connect 0 0 14 0; +#X connect 1 0 15 0; +#X connect 3 0 2 0; +#X connect 4 0 13 0; +#X connect 5 0 3 1; +#X connect 6 0 4 0; +#X connect 7 0 3 0; +#X connect 8 0 4 1; +#X connect 9 0 8 0; +#X connect 10 0 7 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X connect 14 0 11 0; +#X connect 15 0 12 0; +#X restore 251 119 pd generator~; +#X obj 28 147 fx.limiter~; +#X obj 122 122 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X text 140 120 on/off; +#X text 120 145 (on by default); +#X text 23 3 Description: a limiter; +#X connect 3 0 6 0; +#X connect 4 0 6 1; +#X connect 5 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 11 0; +#X connect 6 1 11 1; +#X connect 7 0 10 0; +#X connect 8 0 10 1; +#X connect 9 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 1 0; +#X connect 10 1 1 1; +#X connect 11 0 0 0; +#X connect 11 1 0 1; +#X connect 12 0 11 2; diff --git a/fx.limiter~.pd b/fx.limiter~.pd new file mode 100644 index 0000000..9c4b863 --- /dev/null +++ b/fx.limiter~.pd @@ -0,0 +1,52 @@ +#N canvas 207 199 657 483 10; +#X obj 78 59 inlet~ left; +#X obj 179 63 inlet~ right; +#X obj 77 356 outlet~ left; +#X obj 180 356 outlet~ right; +#X text 27 25 very nice limiter from zexy with 10 ms buffer; +#N canvas 449 199 454 439 limiter~ 1; +#X msg 30 63 print; +#X obj 78 168 *~; +#X obj 109 168 *~; +#X obj 79 63 inlet~ left; +#X obj 179 63 inlet~ right; +#X obj 77 356 outlet~ left; +#X obj 180 356 outlet~ right; +#X obj 95 118 limiter~ 10 1; +#X obj 322 54 inlet switch; +#X obj 329 116 switch~; +#X obj 78 148 z~ 90; +#X obj 126 147 z~ 90; +#X connect 0 0 7 0; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 3 0 10 0; +#X connect 4 0 7 1; +#X connect 4 0 11 0; +#X connect 7 0 2 0; +#X connect 7 0 1 1; +#X connect 8 0 9 0; +#X connect 10 0 1 0; +#X connect 11 0 2 1; +#X restore 202 192 pd limiter~; +#X obj 135 266 mix.wet.stereo~; +#X obj 379 55 inlet active; +#X obj 445 195 loadbang; +#X msg 445 220 127; +#X obj 365 177 > 0; +#X obj 349 218 * 127; +#X connect 0 0 6 0; +#X connect 0 0 5 0; +#X connect 1 0 6 1; +#X connect 1 0 5 1; +#X connect 5 0 6 2; +#X connect 5 1 6 3; +#X connect 6 0 2 0; +#X connect 6 1 3 0; +#X connect 6 2 5 2; +#X connect 7 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 6 4; +#X connect 10 0 11 0; +#X connect 11 0 6 4; diff --git a/fx.material~-help.pd b/fx.material~-help.pd new file mode 100644 index 0000000..078597d --- /dev/null +++ b/fx.material~-help.pd @@ -0,0 +1,19 @@ +#N canvas 681 491 450 300 10; +#X obj 66 95 adc~; +#X obj 67 227 mix.out_~; +#X text 206 189 metal; +#X text 210 173 glass 2; +#X text 202 111 wood; +#X text 205 127 plastic; +#X text 204 142 china; +#X text 205 156 glass 1; +#X text 203 94 cardboard; +#X obj 179 100 vradio 15 1 0 7 empty empty empty 0 -6 0 8 -262144 -1 +-1 4; +#X obj 66 131 fx.material~; +#X text 30 24 Comment: Taken from Andy Farnell's work.; +#X text 30 2 Description: Filtering by material type.; +#X connect 0 0 10 0; +#X connect 9 0 10 1; +#X connect 10 0 1 0; +#X connect 10 0 1 1; diff --git a/fx.material~.pd b/fx.material~.pd new file mode 100644 index 0000000..dcbcb59 --- /dev/null +++ b/fx.material~.pd @@ -0,0 +1,72 @@ +#N canvas 333 321 643 501 10; +#X obj 11 401 bp~ 440 80; +#X obj 89 401 bp~ 440 80; +#X obj 166 401 bp~ 440 80; +#X obj 244 401 bp~ 440 80; +#X obj 83 236 unpack 1 2 3 4 5; +#X msg 83 46 3454 5645 6433 6999 600; +#X text 11 46 metal; +#X text 9 73 glass 2; +#X text 11 179 wood; +#X msg 83 208 109 230 352 413 10; +#X msg 83 127 1245 1503 2131 2575 100; +#X text 11 151 plastic; +#X text 10 125 china; +#X text 10 99 glass 1; +#X text 7 207 cardboard; +#X msg 83 154 627 781 972 1184 70; +#X text 65 12 Simple material formants; +#X msg 83 71 2312 2466 3200 5314 380; +#X msg 82 98 1679 1233 4251 4640 340; +#X msg 83 181 221 333 426 527 40; +#X obj 122 497 clip~ -1 1; +#X obj 9 266 inlet~; +#X obj 117 558 outlet~; +#X floatatom 195 463 5 0 0 0 - - -; +#X obj 123 454 *~ 1; +#X obj 398 334 / 10; +#X obj 356 102 inlet; +#X obj 357 169 route 0 1 2 3 4 5 6; +#X obj 432 115 loadbang; +#X obj 358 139 f 0; +#X obj 242 246 t f f; +#X connect 0 0 24 0; +#X connect 1 0 24 0; +#X connect 2 0 24 0; +#X connect 3 0 24 0; +#X connect 4 0 0 1; +#X connect 4 1 1 1; +#X connect 4 2 2 1; +#X connect 4 3 3 1; +#X connect 4 4 25 0; +#X connect 4 4 30 0; +#X connect 5 0 4 0; +#X connect 9 0 4 0; +#X connect 10 0 4 0; +#X connect 15 0 4 0; +#X connect 17 0 4 0; +#X connect 18 0 4 0; +#X connect 19 0 4 0; +#X connect 20 0 22 0; +#X connect 21 0 0 0; +#X connect 21 0 1 0; +#X connect 21 0 2 0; +#X connect 21 0 3 0; +#X connect 23 0 24 1; +#X connect 24 0 20 0; +#X connect 25 0 24 1; +#X connect 26 0 29 0; +#X connect 27 0 9 0; +#X connect 27 1 19 0; +#X connect 27 2 15 0; +#X connect 27 3 10 0; +#X connect 27 4 18 0; +#X connect 27 5 17 0; +#X connect 27 6 5 0; +#X connect 28 0 29 0; +#X connect 29 0 27 0; +#X connect 30 0 3 2; +#X connect 30 0 2 2; +#X connect 30 0 1 2; +#X connect 30 0 0 2; +#X connect 30 1 25 0; diff --git a/fx.pitch.shift.pvoc~-help.pd b/fx.pitch.shift.pvoc~-help.pd new file mode 100644 index 0000000..a9cc5aa --- /dev/null +++ b/fx.pitch.shift.pvoc~-help.pd @@ -0,0 +1,157 @@ +#N canvas 515 73 452 590 10; +#X obj 23 243 *~; +#X obj 65 196 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X text 20 171 live-input; +#X obj 23 439 mix.out_~; +#X obj 49 244 *~; +#X obj 22 193 adc~; +#X msg 297 216 transpose \$1; +#X msg 299 270 switch \$1; +#X obj 299 249 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 +1; +#X obj 311 464 param.gui; +#X msg 311 442 pi-shi; +#X obj 22 354 fx.pitch.shift.pvoc~ @id pi-shi; +#X obj 1 -21 cnv 15 450 30 empty empty fx.pitch.shift.pvoc~ 2 12 1 +14 -233017 -66577 0; +#X text 15 103 -: is cpu hungry; +#X text 15 67 +: sounds smoother than double rotating head approaches +; +#X text 34 81 (especially for sounds with complex spectrum); +#X text 339 192 halftones; +#X text 156 509 based on pd doc: I07.phase.vocoder.pd; +#X text 155 527 adapted by: Roman Haefeli; +#X text 3 23 Description: stereo pitchshifter based on the phase vocoder +in the pd-doc.; +#X text 15 120 -: adds a non-negligible latency (increases while shifting +upwards); +#X text 155 544 version: 2008-03-05; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 158 229 pd synth; +#X obj 158 197 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 +1; +#X text 180 197 on/off; +#X text 85 197 on/off; +#X obj 295 192 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 296 192 5 0 0 0 - transpo-set -; +#X connect 0 0 11 0; +#X connect 1 0 0 1; +#X connect 1 0 4 1; +#X connect 4 0 11 1; +#X connect 5 0 0 0; +#X connect 5 1 4 0; +#X connect 6 0 11 2; +#X connect 7 0 11 2; +#X connect 8 0 7 0; +#X connect 10 0 9 0; +#X connect 11 0 3 0; +#X connect 11 1 3 1; +#X connect 22 0 11 0; +#X connect 22 1 11 1; +#X connect 23 0 22 0; +#X connect 27 0 6 0; diff --git a/fx.pitch.shift.pvoc~.pd b/fx.pitch.shift.pvoc~.pd new file mode 100644 index 0000000..a62b2ee --- /dev/null +++ b/fx.pitch.shift.pvoc~.pd @@ -0,0 +1,595 @@ +#N canvas 301 272 678 298 10; +#N canvas 447 394 721 323 processing 0; +#N canvas 0 110 466 295 hann-window 0; +#X obj 288 130 osc~; +#X obj 288 155 *~ -0.5; +#X obj 288 179 +~ 0.5; +#X obj 26 118 samplerate~; +#X obj 26 142 /; +#X msg 161 71 resize \$1; +#X msg 292 95 0; +#X obj 240 96 t f b; +#X obj 26 94 t b f f; +#X text 22 8 calculate Hann window table (variable window size) and +constants window-hz (fundamental frequency of analysis).; +#X obj 241 212 tabwrite~ \$0.hann; +#X obj 26 67 r \$0.window.size; +#X obj 26 166 s \$0.window.hz; +#X obj 161 95 s \$0.hann; +#X obj 240 70 r \$0.window.hz; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 4 0 12 0; +#X connect 5 0 13 0; +#X connect 6 0 0 1; +#X connect 7 0 0 0; +#X connect 7 1 6 0; +#X connect 7 1 10 0; +#X connect 8 0 3 0; +#X connect 8 1 4 1; +#X connect 8 2 5 0; +#X connect 11 0 8 0; +#X connect 14 0 7 0; +#X restore 307 277 pd hann-window; +#X obj 16 15 inlet~; +#X obj 19 238 outlet~; +#X obj 309 27 inlet; +#X obj 306 160 table \$0.prev.imag.l 4096; +#X obj 306 179 table \$0.prev.real.l 4096; +#X obj 306 198 table \$0.prev.imag.r 4096; +#X obj 306 217 table \$0.prev.real.r 4096; +#X obj 306 236 table \$0.hann; +#X msg 511 64 2048; +#X obj 511 42 loadbang; +#N canvas 40 20 750 770 fft.analysis.l 0; +#X obj 51 477 *~; +#X obj 18 477 *~; +#X obj 18 499 -~; +#X obj 167 475 *~; +#X obj 136 475 *~; +#X obj 136 497 +~; +#X obj 109 193 *~; +#X obj 78 193 *~; +#X obj 50 193 *~; +#X obj 19 193 *~; +#X obj 19 218 +~; +#X obj 127 379 *~; +#X obj 20 622 *~; +#X obj 236 175 rfft~; +#X obj 108 161 rfft~; +#X obj 19 564 rifft~; +#X obj 21 646 outlet~; +#X obj 97 379 *~; +#X obj 97 401 +~; +#X obj 124 218 -~; +#X obj 18 431 *~; +#X obj 51 432 *~; +#X obj 21 728 block~; +#X obj 19 349 +~ 1e-15; +#X obj 19 598 *~; +#X obj 127 643 expr 2/(3*$f1); +#X msg 21 703 set \$1 4; +#X obj 97 425 q8_rsqrt~; +#X obj 121 69 *~; +#X obj 89 69 *~; +#X obj 89 91 +~; +#X obj 159 94 q8_rsqrt~; +#X obj 159 71 +~ 1e-20; +#X obj 73 119 *~; +#X obj 19 118 *~; +#X obj 29 245 lrshift~ 1; +#X obj 24 269 lrshift~ -1; +#X obj 141 245 lrshift~ 1; +#X obj 133 269 lrshift~ -1; +#X obj 19 325 +~; +#X obj 125 331 +~; +#N canvas 0 0 554 671 read-windows 0; +#X obj 18 358 line~; +#X obj 16 523 outlet~; +#X obj 125 531 outlet~; +#X text 220 313 "back" window 1/4 cycle behind "front" one; +#X obj 18 266 pack f f; +#X obj 31 143 t b f; +#X obj 31 184 -; +#X obj 90 145 *; +#X obj 90 114 - 1; +#X obj 90 57 mtof; +#X obj 90 77 / 440; +#X obj 90 38 + 69; +#X obj 353 123 samplerate~; +#X obj 328 102 t f b; +#X obj 328 141 /; +#X obj 328 163 * 1000; +#X text 376 163 window size (ms); +#X obj 18 207 f; +#X obj 16 492 *~; +#X obj 124 503 *~; +#X obj 18 75 bang~; +#X obj 31 164 100; +#X obj 197 286 *; +#X obj 206 263 t b f; +#X text 235 288 stretched window size (ms); +#X obj 220 210 / 4; +#X text 252 207 computation time for an overlap of 4; +#X obj 18 230 / 4; +#X obj 71 229 / 4; +#X obj 17 393 +~; +#X obj 193 310 / 4; +#X obj 135 369 / 4; +#X text 47 395 '+' since a bigger value in vd~ means 'earlier'.; +#X text 114 110 subtract speed of read-out \, when; +#X text 114 122 delay-time is static; +#X text 134 37 convert cents of halftones to read-out speed; +#X text 41 229 *); +#X text 93 229 *); +#X text 162 367 *); +#X text 67 336 *); +#X obj 18 287 t l b; +#X obj 43 309 100; +#X obj 43 333 / 4; +#X text 57 165 initial delay (ms); +#X text 71 307 initial delay (ms); +#X text 21 556 *); +#X text 24 572 it seems that if a time is specified in ms instead of +samples \, the value has to be divided by the overlap factor (4 in +this case) in order for the vd~ to read out the desired amount of samples. +i'm still unsure what the reason for this might be.; +#X obj 90 -6 r \$0.transpo; +#X obj 328 81 r \$0.window.size; +#X obj 164 468 tabreceive~ \$0.hann; +#X obj 16 441 vd~ \$0.input.l; +#X obj 123 443 vd~ \$0.input.l; +#X obj 88 195 r \$0.latency; +#X obj 102 274 r \$0.latency; +#X connect 0 0 29 0; +#X connect 0 0 51 0; +#X connect 4 0 40 0; +#X connect 5 0 21 0; +#X connect 5 1 6 1; +#X connect 6 0 17 1; +#X connect 7 0 5 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 10 0 22 0; +#X connect 11 0 9 0; +#X connect 12 0 14 1; +#X connect 13 0 14 0; +#X connect 13 1 12 0; +#X connect 14 0 15 0; +#X connect 15 0 7 1; +#X connect 15 0 23 0; +#X connect 15 0 25 0; +#X connect 17 0 27 0; +#X connect 18 0 1 0; +#X connect 19 0 2 0; +#X connect 20 0 17 0; +#X connect 21 0 6 0; +#X connect 22 0 30 0; +#X connect 23 0 22 0; +#X connect 23 1 22 1; +#X connect 25 0 28 0; +#X connect 27 0 4 0; +#X connect 28 0 4 1; +#X connect 29 0 50 0; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 40 0 0 0; +#X connect 40 1 41 0; +#X connect 41 0 42 0; +#X connect 42 0 0 0; +#X connect 47 0 11 0; +#X connect 48 0 13 0; +#X connect 49 0 19 1; +#X connect 49 0 18 1; +#X connect 50 0 18 0; +#X connect 51 0 19 0; +#X connect 52 0 21 1; +#X connect 53 0 41 1; +#X restore 442 106 pd read-windows; +#X text 318 304 the left part is taken from miller puckette's audio +example I07.phase.vocoder.pd from the doc.; +#X obj 52 598 tabreceive~ \$0.hann; +#X obj 127 622 r \$0.window.size; +#X obj 35 300 *~ 1; +#X obj 159 312 *~ 1; +#X obj 21 679 r \$0.window.size; +#X obj 20 8 tabreceive~ \$0.prev.real.l; +#X obj 73 29 tabreceive~ \$0.prev.imag.l; +#X obj 137 543 tabsend~ \$0.prev.imag.l; +#X obj 136 567 tabsend~ \$0.prev.real.l; +#X connect 0 0 2 1; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 2 0 51 0; +#X connect 3 0 5 1; +#X connect 4 0 5 0; +#X connect 5 0 15 1; +#X connect 5 0 50 0; +#X connect 6 0 19 1; +#X connect 7 0 19 0; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 10 0 36 0; +#X connect 10 0 35 0; +#X connect 10 0 39 0; +#X connect 11 0 18 1; +#X connect 12 0 16 0; +#X connect 13 0 1 1; +#X connect 13 0 3 1; +#X connect 13 1 0 1; +#X connect 13 1 4 1; +#X connect 14 0 9 1; +#X connect 14 0 7 1; +#X connect 14 1 6 1; +#X connect 14 1 8 1; +#X connect 15 0 24 0; +#X connect 17 0 18 0; +#X connect 18 0 27 0; +#X connect 19 0 37 0; +#X connect 19 0 38 0; +#X connect 19 0 40 0; +#X connect 20 0 1 0; +#X connect 20 0 4 0; +#X connect 21 0 0 0; +#X connect 21 0 3 0; +#X connect 23 0 17 1; +#X connect 23 0 17 0; +#X connect 23 0 20 0; +#X connect 24 0 12 0; +#X connect 25 0 12 1; +#X connect 26 0 22 0; +#X connect 27 0 20 1; +#X connect 27 0 21 1; +#X connect 28 0 30 1; +#X connect 29 0 30 0; +#X connect 30 0 32 0; +#X connect 31 0 33 1; +#X connect 31 0 34 1; +#X connect 32 0 31 0; +#X connect 33 0 8 0; +#X connect 33 0 7 0; +#X connect 34 0 9 0; +#X connect 34 0 6 0; +#X connect 35 0 45 0; +#X connect 36 0 45 0; +#X connect 37 0 46 0; +#X connect 38 0 46 0; +#X connect 39 0 23 0; +#X connect 40 0 11 0; +#X connect 40 0 11 1; +#X connect 40 0 21 0; +#X connect 41 0 14 0; +#X connect 41 1 13 0; +#X connect 43 0 24 1; +#X connect 44 0 25 0; +#X connect 45 0 39 1; +#X connect 46 0 40 1; +#X connect 47 0 26 0; +#X connect 48 0 29 1; +#X connect 48 0 29 0; +#X connect 48 0 34 0; +#X connect 49 0 28 1; +#X connect 49 0 28 0; +#X connect 49 0 33 0; +#X restore 18 142 pd fft.analysis.l; +#X obj 309 122 s \$0.transpo; +#X obj 511 87 s \$0.window.size; +#X obj 77 17 inlet~; +#X obj 98 239 outlet~; +#X obj 617 27 inlet; +#X obj 617 50 switch~; +#X obj 16 96 delwrite~ \$0.input.l 1000; +#X obj 76 67 delwrite~ \$0.input.r 1000; +#N canvas 40 20 750 770 fft.analysis.r 0; +#X obj 51 477 *~; +#X obj 18 477 *~; +#X obj 18 499 -~; +#X obj 167 475 *~; +#X obj 136 475 *~; +#X obj 136 497 +~; +#X obj 109 193 *~; +#X obj 78 193 *~; +#X obj 50 193 *~; +#X obj 19 193 *~; +#X obj 19 218 +~; +#X obj 127 379 *~; +#X obj 20 622 *~; +#X obj 236 175 rfft~; +#X obj 108 161 rfft~; +#X obj 19 564 rifft~; +#X obj 21 646 outlet~; +#X obj 97 379 *~; +#X obj 97 401 +~; +#X obj 124 218 -~; +#X obj 18 431 *~; +#X obj 51 432 *~; +#X obj 21 728 block~; +#X obj 19 349 +~ 1e-15; +#X obj 19 598 *~; +#X obj 127 643 expr 2/(3*$f1); +#X msg 21 703 set \$1 4; +#X obj 97 425 q8_rsqrt~; +#X obj 121 69 *~; +#X obj 89 69 *~; +#X obj 89 91 +~; +#X obj 159 94 q8_rsqrt~; +#X obj 159 71 +~ 1e-20; +#X obj 73 119 *~; +#X obj 19 118 *~; +#X obj 29 245 lrshift~ 1; +#X obj 24 269 lrshift~ -1; +#X obj 141 245 lrshift~ 1; +#X obj 133 269 lrshift~ -1; +#X obj 19 325 +~; +#X obj 125 331 +~; +#N canvas 139 105 510 684 read-windows 0; +#X obj 18 358 line~; +#X obj 16 523 outlet~; +#X obj 125 531 outlet~; +#X text 220 313 "back" window 1/4 cycle behind "front" one; +#X obj 18 266 pack f f; +#X obj 31 143 t b f; +#X obj 31 184 -; +#X obj 90 145 *; +#X obj 90 114 - 1; +#X obj 90 57 mtof; +#X obj 90 77 / 440; +#X obj 90 38 + 69; +#X obj 353 123 samplerate~; +#X obj 328 102 t f b; +#X obj 328 141 /; +#X obj 328 163 * 1000; +#X text 376 163 window size (ms); +#X obj 18 207 f; +#X obj 16 492 *~; +#X obj 124 503 *~; +#X obj 18 75 bang~; +#X obj 31 164 100; +#X obj 197 286 *; +#X obj 206 263 t b f; +#X text 235 288 stretched window size (ms); +#X obj 220 210 / 4; +#X text 252 207 computation time for an overlap of 4; +#X obj 18 230 / 4; +#X obj 71 229 / 4; +#X obj 17 393 +~; +#X obj 193 310 / 4; +#X obj 135 369 / 4; +#X text 47 395 '+' since a bigger value in vd~ means 'earlier'.; +#X text 114 110 subtract speed of read-out \, when; +#X text 114 122 delay-time is static; +#X text 134 37 convert cents of halftones to read-out speed; +#X text 41 229 *); +#X text 93 229 *); +#X text 162 367 *); +#X text 67 336 *); +#X obj 18 287 t l b; +#X obj 43 309 100; +#X obj 43 333 / 4; +#X text 57 165 initial delay (ms); +#X text 71 307 initial delay (ms); +#X text 21 556 *); +#X text 24 572 it seems that if a time is specified in ms instead of +samples \, the value has to be divided by the overlap factor (4 in +this case) in order for the vd~ to read out the desired amount of samples. +i'm still unsure what the reason for this might be.; +#X obj 90 -6 r \$0.transpo; +#X obj 328 81 r \$0.window.size; +#X obj 164 468 tabreceive~ \$0.hann; +#X obj 16 441 vd~ \$0.input.r; +#X obj 123 443 vd~ \$0.input.r; +#X obj 88 195 r \$0.latency; +#X obj 102 274 r \$0.latency; +#X connect 0 0 29 0; +#X connect 0 0 51 0; +#X connect 4 0 40 0; +#X connect 5 0 21 0; +#X connect 5 1 6 1; +#X connect 6 0 17 1; +#X connect 7 0 5 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 10 0 22 0; +#X connect 11 0 9 0; +#X connect 12 0 14 1; +#X connect 13 0 14 0; +#X connect 13 1 12 0; +#X connect 14 0 15 0; +#X connect 15 0 7 1; +#X connect 15 0 23 0; +#X connect 15 0 25 0; +#X connect 17 0 27 0; +#X connect 18 0 1 0; +#X connect 19 0 2 0; +#X connect 20 0 17 0; +#X connect 21 0 6 0; +#X connect 22 0 30 0; +#X connect 23 0 22 0; +#X connect 23 1 22 1; +#X connect 25 0 28 0; +#X connect 27 0 4 0; +#X connect 28 0 4 1; +#X connect 29 0 50 0; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 40 0 0 0; +#X connect 40 1 41 0; +#X connect 41 0 42 0; +#X connect 42 0 0 0; +#X connect 47 0 11 0; +#X connect 48 0 13 0; +#X connect 49 0 19 1; +#X connect 49 0 18 1; +#X connect 50 0 18 0; +#X connect 51 0 19 0; +#X connect 52 0 21 1; +#X connect 53 0 41 1; +#X restore 442 106 pd read-windows; +#X text 318 304 the left part is taken from miller puckette's audio +example I07.phase.vocoder.pd from the doc.; +#X obj 52 598 tabreceive~ \$0.hann; +#X obj 127 622 r \$0.window.size; +#X obj 35 300 *~ 1; +#X obj 159 312 *~ 1; +#X obj 21 679 r \$0.window.size; +#X obj 20 8 tabreceive~ \$0.prev.real.r; +#X obj 73 29 tabreceive~ \$0.prev.imag.r; +#X obj 137 543 tabsend~ \$0.prev.imag.r; +#X obj 136 567 tabsend~ \$0.prev.real.r; +#X connect 0 0 2 1; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 2 0 51 0; +#X connect 3 0 5 1; +#X connect 4 0 5 0; +#X connect 5 0 15 1; +#X connect 5 0 50 0; +#X connect 6 0 19 1; +#X connect 7 0 19 0; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 10 0 36 0; +#X connect 10 0 35 0; +#X connect 10 0 39 0; +#X connect 11 0 18 1; +#X connect 12 0 16 0; +#X connect 13 0 1 1; +#X connect 13 0 3 1; +#X connect 13 1 0 1; +#X connect 13 1 4 1; +#X connect 14 0 9 1; +#X connect 14 0 7 1; +#X connect 14 1 6 1; +#X connect 14 1 8 1; +#X connect 15 0 24 0; +#X connect 17 0 18 0; +#X connect 18 0 27 0; +#X connect 19 0 37 0; +#X connect 19 0 38 0; +#X connect 19 0 40 0; +#X connect 20 0 1 0; +#X connect 20 0 4 0; +#X connect 21 0 0 0; +#X connect 21 0 3 0; +#X connect 23 0 17 1; +#X connect 23 0 17 0; +#X connect 23 0 20 0; +#X connect 24 0 12 0; +#X connect 25 0 12 1; +#X connect 26 0 22 0; +#X connect 27 0 20 1; +#X connect 27 0 21 1; +#X connect 28 0 30 1; +#X connect 29 0 30 0; +#X connect 30 0 32 0; +#X connect 31 0 33 1; +#X connect 31 0 34 1; +#X connect 32 0 31 0; +#X connect 33 0 8 0; +#X connect 33 0 7 0; +#X connect 34 0 9 0; +#X connect 34 0 6 0; +#X connect 35 0 45 0; +#X connect 36 0 45 0; +#X connect 37 0 46 0; +#X connect 38 0 46 0; +#X connect 39 0 23 0; +#X connect 40 0 11 0; +#X connect 40 0 11 1; +#X connect 40 0 21 0; +#X connect 41 0 14 0; +#X connect 41 1 13 0; +#X connect 43 0 24 1; +#X connect 44 0 25 0; +#X connect 45 0 39 1; +#X connect 46 0 40 1; +#X connect 47 0 26 0; +#X connect 48 0 29 1; +#X connect 48 0 29 0; +#X connect 48 0 34 0; +#X connect 49 0 28 1; +#X connect 49 0 28 0; +#X connect 49 0 33 0; +#X restore 97 169 pd fft.analysis.r; +#X obj 339 99 s \$0.latency; +#X obj 309 56 t a a; +#N canvas 998 307 217 230 latency 0; +#X obj 19 22 inlet; +#X obj 19 194 outlet; +#X obj 19 48 / 12; +#X obj 19 95 pow; +#X msg 19 72 2 \$1; +#X obj 19 117 max 1; +#X obj 119 73 samplerate~; +#X obj 119 93 * 0.001; +#X obj 89 29 r \$0.window.size; +#X obj 89 53 t a b; +#X obj 89 115 /; +#X obj 19 161 *; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 11 0; +#X connect 6 0 7 0; +#X connect 7 0 10 1; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 6 0; +#X connect 10 0 11 1; +#X connect 11 0 1 0; +#X restore 339 77 pd latency; +#X connect 1 0 18 0; +#X connect 3 0 22 0; +#X connect 9 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 2 0; +#X connect 14 0 19 0; +#X connect 16 0 17 0; +#X connect 20 0 15 0; +#X connect 22 0 12 0; +#X connect 22 1 23 0; +#X connect 23 0 21 0; +#X restore 139 141 pd processing; +#X obj 71 25 inlet~; +#X obj 153 31 inlet~; +#X obj 70 277 outlet~; +#X obj 128 278 outlet~; +#X obj 542 195 param.group; +#X obj 595 146 loadbang; +#X obj 595 170 dollarg; +#X obj 542 122 inlet params; +#X obj 71 233 mix.wet.stereo~ 1; +#X obj 236 39 param.atom transpose 0 -24 24; +#X obj 287 111 sel 1; +#X obj 287 158 line; +#X msg 343 134 0 50; +#X msg 287 134 127 50; +#X obj 287 83 param.atom switch false; +#X text 268 226 based on pd doc: I07.phase.vocoder.pd; +#X text 267 244 adapted by: Roman Haefeli; +#X text 267 266 version: 2008-03-05; +#X connect 0 0 9 2; +#X connect 0 1 9 3; +#X connect 1 0 0 0; +#X connect 1 0 9 0; +#X connect 2 0 0 1; +#X connect 2 0 9 1; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 8 0 5 0; +#X connect 9 0 3 0; +#X connect 9 1 4 0; +#X connect 9 2 0 3; +#X connect 10 0 0 2; +#X connect 11 0 14 0; +#X connect 11 1 13 0; +#X connect 12 0 9 4; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 11 0; diff --git a/fx.pitch.shift~-help.pd b/fx.pitch.shift~-help.pd new file mode 100644 index 0000000..0e8281c --- /dev/null +++ b/fx.pitch.shift~-help.pd @@ -0,0 +1,31 @@ +#N canvas 515 97 728 680 10; +#X floatatom 263 421 5 0 0 0 - - -; +#X text 311 416 transposition (half tones \, -12 to 12); +#X text 26 -19 Description: A delay line pitchshifter.; +#X text 29 18 Comment: Adapted from the pd help files.; +#X text 28 -1 Todo: Adapt to midi control scale.; +#X obj 163 463 fx.pitch.shift~; +#X obj 29 388 table.play~ \$0data; +#X obj 25 112 file.browser_; +#X obj 246 55 loadbang; +#X msg 246 80 patterns wav \, medias/sounds; +#X obj 28 321 soundfiler; +#X obj 29 273 pack s \$0; +#X msg 27 297 read -resize \$1 \$2data; +#X obj 29 349 b; +#X obj 194 383 b; +#X obj 144 536 mix.out_~; +#X obj 146 342 table \$0data; +#X connect 0 0 5 1; +#X connect 5 0 15 1; +#X connect 5 0 15 0; +#X connect 6 0 5 0; +#X connect 6 3 14 0; +#X connect 7 0 11 0; +#X connect 8 0 9 0; +#X connect 9 0 7 1; +#X connect 10 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 10 0; +#X connect 13 0 6 0; +#X connect 14 0 6 0; diff --git a/fx.pitch.shift~.pd b/fx.pitch.shift~.pd new file mode 100644 index 0000000..297ad1c --- /dev/null +++ b/fx.pitch.shift~.pd @@ -0,0 +1,86 @@ +#N canvas 184 5 1121 745 10; +#X obj 29 554 hip~ 5; +#X obj 94 420 *~; +#X obj 202 351 line~; +#X obj 202 325 pack 0 200; +#X obj 29 204 exp; +#X floatatom 29 230 0 0 0 0 - - -; +#X obj 29 320 /; +#X obj 156 250 * 0.001; +#X obj 29 471 cos~; +#X obj 29 498 *~; +#X obj 29 527 +~; +#X obj 116 378 wrap~; +#X obj 261 421 *~; +#X obj 198 481 cos~; +#X obj 198 508 *~; +#X obj 156 277 t b f; +#X floatatom 29 346 0 0 0 0 - - -; +#X obj 29 373 phasor~ 0; +#X obj 116 351 +~ 0.5; +#X obj 29 419 -~ 0.5; +#X obj 29 445 *~ 0.5; +#X obj 198 420 -~ 0.5; +#X obj 198 453 *~ 0.5; +#X obj 29 257 - 1; +#X obj 29 178 * 0.05776; +#X obj 29 283 * -1; +#X text 78 123 <-- transposition; +#X text 116 138 (halpn_lftones); +#X text 96 238 speed; +#X text 95 252 change; +#X text 64 313 tape head; +#X text 65 326 rotation speed; +#X obj -169 120 inlet~; +#X obj 28 607 outlet~; +#X obj 29 122 inlet; +#X obj 94 472 vd~ \$0delay1; +#X obj 260 483 vd~ \$0delay1; +#X text -75 52 ARGUMENT 1 : max window and delay time in msec; +#X obj 267 147 loadbang; +#X text -73 17 PITCH SHIFTER (RIPPED FROM THE PD HELP FILES) see 3.audio.examples/G09.pitchshift.pd +; +#X obj 271 176 f 10; +#X obj 271 204 clip 1 1e+07; +#X msg 373 157 128; +#X obj -169 152 delwrite~ \$0delay1 10; +#X connect 0 0 33 0; +#X connect 1 0 35 0; +#X connect 2 0 1 1; +#X connect 2 0 12 1; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 23 0; +#X connect 6 0 16 0; +#X connect 7 0 15 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 0 0; +#X connect 11 0 12 0; +#X connect 11 0 21 0; +#X connect 12 0 36 0; +#X connect 13 0 14 0; +#X connect 14 0 10 1; +#X connect 15 0 6 0; +#X connect 15 1 6 1; +#X connect 16 0 17 0; +#X connect 17 0 1 0; +#X connect 17 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 11 0; +#X connect 19 0 20 0; +#X connect 20 0 8 0; +#X connect 21 0 22 0; +#X connect 22 0 13 0; +#X connect 23 0 25 0; +#X connect 24 0 4 0; +#X connect 25 0 6 0; +#X connect 32 0 43 0; +#X connect 34 0 24 0; +#X connect 35 0 9 1; +#X connect 36 0 14 1; +#X connect 38 0 40 0; +#X connect 40 0 41 0; +#X connect 41 0 3 0; +#X connect 41 0 7 0; +#X connect 42 0 41 0; diff --git a/fx.punch~-help.pd b/fx.punch~-help.pd new file mode 100644 index 0000000..6bf9e6e --- /dev/null +++ b/fx.punch~-help.pd @@ -0,0 +1,24 @@ +#N canvas 525 364 717 422 10; +#X obj 172 83 *~ 0.2; +#X obj 172 46 osc~ 60; +#X obj 202 127 fx.punch~; +#X text 169 9 Description: Boost the input signal to it's maximum amplitude +while never clipping.; +#X obj 201 211 anal.scope_~ 1; +#X obj 35 212 anal.scope_~ 1; +#X obj 232 46 osc~ 120; +#X obj 232 83 *~ 0.05; +#X obj 544 210 anal.scope_~ 1; +#X obj 378 211 anal.scope_~ 1; +#X floatatom 297 104 5 0 0 0 - - -; +#X obj 297 82 init.lf 10; +#X connect 0 0 2 0; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 2 1 8 0; +#X connect 6 0 7 0; +#X connect 7 0 2 1; +#X connect 7 0 9 0; +#X connect 10 0 2 2; +#X connect 11 0 10 0; diff --git a/fx.punch~.pd b/fx.punch~.pd new file mode 100644 index 0000000..419b8df --- /dev/null +++ b/fx.punch~.pd @@ -0,0 +1,34 @@ +#N canvas 56 298 464 314 10; +#X obj 109 76 inlet~; +#X obj 94 217 *~; +#X obj 109 123 *~ 10; +#X obj 324 59 inlet; +#X text 365 59 punch power; +#X obj 93 242 outlet~; +#X text 46 27 NEEDS ZEXY; +#X text 48 16 PUNCH BOOSTS THE AMPLITUDE NEVER EXCEEDING 1 or -1; +#X obj 38 151 limiter~; +#X obj 110 192 z~ 1; +#X obj 324 92 init.df \$1 10; +#X obj 229 76 inlet~; +#X obj 214 217 *~; +#X obj 229 123 *~ 10; +#X obj 213 242 outlet~; +#X obj 158 151 limiter~; +#X obj 230 192 z~ 1; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 8 0; +#X connect 2 0 9 0; +#X connect 3 0 2 1; +#X connect 3 0 13 1; +#X connect 8 0 1 0; +#X connect 9 0 1 1; +#X connect 10 0 2 1; +#X connect 10 0 13 1; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 13 0 16 0; +#X connect 15 0 12 0; +#X connect 16 0 12 1; diff --git a/fx.reverb.biquad~-help.pd b/fx.reverb.biquad~-help.pd new file mode 100644 index 0000000..867b60b --- /dev/null +++ b/fx.reverb.biquad~-help.pd @@ -0,0 +1,16 @@ +#N canvas 0 0 450 300 10; +#X obj 71 190 mix.out_~; +#X floatatom 170 128 5 0 127 0 - - -; +#X obj 72 124 synth.blip~; +#X msg 72 102 120; +#X text 27 23 Description: A reverb that adds more character than reverb. +; +#X text 211 126 0 to 127; +#X text 27 40 Comment: Taken from Andy Farnell's work.; +#X text 168 111 wetness; +#X obj 71 155 fx.reverb.biquad~; +#X connect 1 0 8 1; +#X connect 2 0 8 0; +#X connect 3 0 2 0; +#X connect 8 0 0 0; +#X connect 8 0 0 1; diff --git a/fx.reverb.biquad~.pd b/fx.reverb.biquad~.pd new file mode 100644 index 0000000..c03eeda --- /dev/null +++ b/fx.reverb.biquad~.pd @@ -0,0 +1,48 @@ +#N canvas 0 0 815 544 10; +#X obj 268 246 biquad~; +#X msg 281 225 1.84252 -0.866142 -0.0787402 -0.677165; +#X obj 322 356 bp~ 400 7; +#X obj 332 339 clip~ -0.1 0.2; +#X obj 265 356 hip~ 30; +#X obj 266 392 *~ 0.3; +#X obj 334 188 loadbang; +#X obj 267 267 *~ 0.1; +#X obj 195 294 bp~ 400 1; +#X obj 267 294 bp~ 800 1; +#X obj 350 295 bp~ 1600 1; +#X obj 218 357 *~ 0.9; +#X obj 175 501 outlet~; +#X obj 100 29 inlet~; +#X obj 270 120 env~; +#X obj 211 146 noise~; +#X obj 278 181 *~ 0; +#X obj 300 152 dbtorms; +#X obj 502 25 inlet wetness; +#X obj 218 452 mix.wet~; +#X connect 0 0 7 0; +#X connect 1 0 0 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 19 1; +#X connect 6 0 1 0; +#X connect 7 0 8 0; +#X connect 7 0 9 0; +#X connect 7 0 10 0; +#X connect 8 0 3 0; +#X connect 8 0 11 0; +#X connect 9 0 3 0; +#X connect 9 0 11 0; +#X connect 10 0 3 0; +#X connect 10 0 11 0; +#X connect 11 0 5 0; +#X connect 13 0 0 0; +#X connect 13 0 14 0; +#X connect 13 0 19 0; +#X connect 14 0 17 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 17 0 16 1; +#X connect 18 0 19 2; +#X connect 19 0 12 0; diff --git a/fx.reverb.cm~-help.pd b/fx.reverb.cm~-help.pd new file mode 100644 index 0000000..6d28564 --- /dev/null +++ b/fx.reverb.cm~-help.pd @@ -0,0 +1,32 @@ +#N canvas 276 121 404 349 10; +#X floatatom 95 6 5 0 0 0 - - -; +#X obj 58 129 mix.out_~; +#X obj 98 -18 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 9500 1; +#X obj 117 31 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 12700 1; +#X text 26 -52 Comment: Original patch by Claude H.; +#X text 27 -65 Description: A simple stereo reverb.; +#X floatatom 114 52 5 0 0 0 - - -; +#X obj 170 81 nbx 5 14 0 127 0 0 empty empty wetness(0-127) 0 -6 0 +10 -262144 -1 -1 127 256; +#X text 235 -17 feedback (0-127); +#X text 250 31 delay (0-127); +#X obj 58 95 fx.reverb.cm~; +#X obj 58 58 adc~; +#X obj 19 28 synth.blip~; +#X msg 19 6 120; +#X obj 152 50 init.lf 127; +#X connect 0 0 10 2; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 6 0 10 3; +#X connect 7 0 10 4; +#X connect 10 0 1 0; +#X connect 10 1 1 1; +#X connect 11 0 10 0; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 12 0 10 1; +#X connect 13 0 12 0; +#X connect 14 0 7 0; diff --git a/fx.reverb.cm~.pd b/fx.reverb.cm~.pd new file mode 100644 index 0000000..6621000 --- /dev/null +++ b/fx.reverb.cm~.pd @@ -0,0 +1,134 @@ +#N canvas 709 280 520 404 10; +#X obj 37 73 hip~ 20; +#X obj 97 73 hip~ 20; +#N canvas 0 0 731 555 cmreverb 0; +#X obj 25 22 inlet~; +#X obj 85 22 inlet~; +#X obj 397 5 inlet; +#X obj 227 148 delread~ \$0-A 100; +#X obj 257 168 delread~ \$0-B 161.8; +#X obj 287 188 delread~ \$0-C 261.8; +#X obj 317 208 delread~ \$0-D 61.8; +#X obj 173 202 +~; +#X obj 215 202 +~; +#X obj 10 273 outlet~; +#X obj 80 273 outlet~; +#X obj 158 252 +~; +#X obj 262 253 +~; +#X obj 200 252 -~; +#X obj 302 252 -~; +#X obj 157 308 +~; +#X obj 201 309 +~; +#X obj 245 310 -~; +#X obj 284 310 -~; +#X obj 244 392 *~ 0; +#X obj 202 391 *~ 0; +#X obj 157 390 *~ 0; +#X obj 285 393 *~ 0; +#X obj 284 413 delwrite~ \$0-D 1000; +#X obj 245 436 delwrite~ \$0-C 1000; +#X obj 203 459 delwrite~ \$0-B 1000; +#X obj 158 481 delwrite~ \$0-A 1000; +#X obj 227 127 * 1; +#X obj 257 127 * 1.618; +#X obj 317 127 * 2.618; +#X obj 377 127 / 1.618; +#X obj 397 31 route /feedback /delay; +#X text 187 38 Claude M; +#X obj 384 298 f; +#X obj 442 70 * 381; +#X obj 409 250 / 2; +#X obj 634 150 switch~; +#X obj 634 129 inlet; +#X connect 0 0 7 0; +#X connect 1 0 8 0; +#X connect 2 0 31 0; +#X connect 3 0 7 1; +#X connect 4 0 8 1; +#X connect 5 0 14 0; +#X connect 5 0 12 0; +#X connect 6 0 14 1; +#X connect 6 0 12 1; +#X connect 7 0 9 0; +#X connect 7 0 11 0; +#X connect 7 0 13 0; +#X connect 8 0 10 0; +#X connect 8 0 11 1; +#X connect 8 0 13 1; +#X connect 11 0 15 0; +#X connect 11 0 17 0; +#X connect 12 0 17 1; +#X connect 12 0 15 1; +#X connect 13 0 16 0; +#X connect 13 0 18 0; +#X connect 14 0 16 1; +#X connect 14 0 18 1; +#X connect 15 0 21 0; +#X connect 16 0 20 0; +#X connect 17 0 19 0; +#X connect 18 0 22 0; +#X connect 19 0 24 0; +#X connect 20 0 25 0; +#X connect 21 0 26 0; +#X connect 22 0 23 0; +#X connect 27 0 3 0; +#X connect 28 0 4 0; +#X connect 29 0 5 0; +#X connect 30 0 6 0; +#X connect 31 0 35 0; +#X connect 31 1 34 0; +#X connect 33 0 22 1; +#X connect 33 0 19 1; +#X connect 33 0 20 1; +#X connect 33 0 21 1; +#X connect 34 0 27 0; +#X connect 34 0 28 0; +#X connect 34 0 29 0; +#X connect 34 0 30 0; +#X connect 35 0 33 0; +#X connect 37 0 36 0; +#X restore 38 113 pd cmreverb; +#X obj 4 16 inlet~; +#X obj 97 25 inlet~; +#X obj 248 35 loadbang; +#X obj 55 257 outlet~; +#X obj 124 258 outlet~; +#X obj 185 -27 inlet; +#X msg 164 98 /feedback \$1; +#X msg 278 133 /delay \$1; +#X obj 321 -5 inlet; +#X text 160 166 Simple verb by Claude H; +#X obj 284 103 f 0.15; +#X obj 198 71 f 0.1; +#X obj 328 78 clip 0 1; +#X obj 170 34 clip 0 1; +#X obj 418 19 inlet wet; +#X obj 178 2 / 127; +#X obj 313 21 / 127; +#X obj -51 161 mix.wet~; +#X obj 52 172 mix.wet~; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 2 0 20 1; +#X connect 2 1 21 1; +#X connect 3 0 0 0; +#X connect 3 0 20 0; +#X connect 4 0 1 0; +#X connect 4 0 21 0; +#X connect 5 0 14 0; +#X connect 5 0 13 0; +#X connect 8 0 18 0; +#X connect 9 0 2 2; +#X connect 10 0 2 2; +#X connect 11 0 19 0; +#X connect 13 0 10 0; +#X connect 14 0 9 0; +#X connect 15 0 13 0; +#X connect 16 0 14 0; +#X connect 17 0 20 2; +#X connect 17 0 21 2; +#X connect 18 0 16 0; +#X connect 19 0 15 0; +#X connect 20 0 6 0; +#X connect 21 0 7 0; +#X connect 21 1 2 3; diff --git a/fx.reverb.fdn~-help.pd b/fx.reverb.fdn~-help.pd new file mode 100644 index 0000000..b72757a --- /dev/null +++ b/fx.reverb.fdn~-help.pd @@ -0,0 +1,154 @@ +#N canvas 138 103 598 520 10; +#X obj -2 0 cnv 15 600 30 empty empty fx.reverb.fdn~ 2 12 1 14 -233017 +-66577 0; +#X text 404 351 Author: Miller Puckette; +#X text 404 367 Version: 2008-03-05; +#X obj 23 424 mix.out_~; +#X obj 148 421 dac~ 3 4; +#X msg 270 135 liveness \$1; +#X obj 22 299 fx.reverb.fdn~ @id fdn.reverb; +#X msg 271 179 crossover \$1; +#X msg 271 225 damp \$1; +#X msg 435 245 fdn.reverb; +#X msg 272 268 wet \$1; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 22 142 pd synth; +#X obj 22 110 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X text 44 110 on/off; +#X obj 270 157 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 271 158 5 0 127 0 - - -; +#X obj 269 111 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 270 112 5 0 100 0 - - -; +#X obj 270 202 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 271 203 5 0 100 0 - - -; +#X obj 271 246 cnv 15 40 15 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 272 247 5 0 127 0 - - -; +#X text 155 449 outlets 3 and 4 can be used to feed rear channels in +a multichannel setup (they don't require addition computation power). +; +#X text 63 41 Description: feedback delay network based reverb; +#X obj 435 267 param.gui; +#X connect 5 0 6 2; +#X connect 6 0 3 0; +#X connect 6 1 3 1; +#X connect 6 2 4 0; +#X connect 6 3 4 1; +#X connect 7 0 6 2; +#X connect 8 0 6 2; +#X connect 9 0 24 0; +#X connect 10 0 6 2; +#X connect 11 0 6 0; +#X connect 11 1 6 1; +#X connect 12 0 11 0; +#X connect 15 0 7 0; +#X connect 17 0 5 0; +#X connect 19 0 8 0; +#X connect 21 0 10 0; diff --git a/fx.reverb.fdn~.pd b/fx.reverb.fdn~.pd new file mode 100644 index 0000000..8744696 --- /dev/null +++ b/fx.reverb.fdn~.pd @@ -0,0 +1,448 @@ +#N canvas 220 79 705 576 10; +#N canvas 601 243 890 407 processing 0; +#X obj 420 84 inlet; +#X obj 420 190 pack 0 50; +#X obj 75 250 outlet~; +#X obj 144 250 outlet~; +#X obj 420 141 clip 0 100; +#X obj 212 250 outlet~; +#X obj 280 250 outlet~; +#X obj 605 172 clip 0 100; +#X obj 518 84 inlet; +#X obj 596 88 inlet; +#X obj 605 195 f; +#X obj 605 218 * 0.01; +#X obj 605 242 pack 0 50; +#X text 433 275 control inlets:; +#X obj 516 221 s \$0-lop; +#N canvas 169 94 919 805 doit 0; +#X obj 218 386 *~; +#X obj 341 396 *~; +#X obj 267 389 *~; +#X obj 305 392 *~; +#X obj 28 175 lop~; +#X obj 27 204 -~; +#X obj 27 291 *~; +#X obj 16 319 +~; +#X obj 75 182 lop~; +#X obj 76 214 -~; +#X obj 77 294 *~; +#X obj 67 318 +~; +#X obj 124 187 lop~; +#X obj 124 214 -~; +#X obj 125 297 *~; +#X obj 116 322 +~; +#X obj 176 191 lop~; +#X obj 175 218 -~; +#X obj 175 301 *~; +#X obj 168 326 +~; +#X obj 15 372 *~; +#X obj 169 383 *~; +#X obj 67 376 *~; +#X obj 115 380 *~; +#X obj 207 160 r \$0-lop; +#X obj 183 246 r \$0-damp; +#X obj 183 271 line~; +#X obj 17 14 delread~ \$0-del1 10; +#X obj 117 56 delread~ \$0-del3 13.4567; +#X obj 68 35 delread~ \$0-del2 11.6356; +#X obj 171 77 delread~ \$0-del4 16.7345; +#X obj 524 407 *~; +#X obj 631 409 *~; +#X obj 560 408 *~; +#X obj 595 409 *~; +#X obj 377 399 *~; +#X obj 488 406 *~; +#X obj 414 402 *~; +#X obj 451 405 *~; +#X obj 654 354 line~; +#X obj 708 387 r \$0-fb; +#X obj 218 100 delread~ \$0-del5 20.1862; +#X obj 267 121 delread~ \$0-del6 25.7417; +#X obj 304 142 delread~ \$0-del7 31.4693; +#X obj 341 163 delread~ \$0-del8 38.2944; +#X obj 376 184 delread~ \$0-del9 46.6838; +#X obj 414 205 delread~ \$0-del10 55.4567; +#X obj 488 247 delread~ \$0-del12 76.8243; +#X obj 524 268 delread~ \$0-del13 88.5623; +#X obj 561 289 delread~ \$0-del14 101.278; +#X obj 595 310 delread~ \$0-del15 115.397; +#X obj 632 331 delread~ \$0-del16 130.502; +#X obj 25 346 inlet~; +#X obj 87 346 inlet~; +#X obj 69 440 +~; +#X obj 105 440 -~; +#X obj 141 440 +~; +#X obj 177 440 -~; +#X obj 214 440 +~; +#X obj 250 440 -~; +#X obj 286 440 +~; +#X obj 322 440 -~; +#X obj 359 440 +~; +#X obj 395 440 -~; +#X obj 431 440 +~; +#X obj 467 440 -~; +#X obj 504 440 +~; +#X obj 540 440 -~; +#X obj 576 440 +~; +#X obj 612 440 -~; +#X obj 69 474 +~; +#X obj 177 474 -~; +#X obj 105 474 +~; +#X obj 141 474 -~; +#X obj 214 474 +~; +#X obj 322 474 -~; +#X obj 250 474 +~; +#X obj 286 474 -~; +#X obj 359 474 +~; +#X obj 467 474 -~; +#X obj 395 474 +~; +#X obj 431 474 -~; +#X obj 504 474 +~; +#X obj 612 474 -~; +#X obj 540 474 +~; +#X obj 576 474 -~; +#X obj 69 518 +~; +#X obj 105 518 +~; +#X obj 322 518 -~; +#X obj 286 518 -~; +#X obj 141 518 +~; +#X obj 177 518 +~; +#X obj 214 518 -~; +#X obj 250 518 -~; +#X obj 360 518 +~; +#X obj 396 518 +~; +#X obj 613 518 -~; +#X obj 577 518 -~; +#X obj 432 518 +~; +#X obj 468 518 +~; +#X obj 505 518 -~; +#X obj 541 518 -~; +#X obj 70 575 +~; +#X obj 106 575 +~; +#X obj 469 575 -~; +#X obj 433 575 -~; +#X obj 142 575 +~; +#X obj 178 575 +~; +#X obj 361 575 -~; +#X obj 397 575 -~; +#X obj 215 575 +~; +#X obj 251 575 +~; +#X obj 287 575 +~; +#X obj 323 575 +~; +#X obj 614 575 -~; +#X obj 578 575 -~; +#X obj 506 575 -~; +#X obj 542 575 -~; +#X obj 628 606 outlet~; +#X obj 698 606 outlet~; +#X obj 768 607 outlet~; +#X obj 838 607 outlet~; +#X obj 451 226 delread~ \$0-del11 65.1755; +#X obj 614 629 delwrite~ \$0-del16 130.502; +#X obj 361 776 delwrite~ \$0-del9 46.6838; +#X obj 398 755 delwrite~ \$0-del10 55.4567; +#X obj 434 734 delwrite~ \$0-del11 65.1755; +#X obj 470 713 delwrite~ \$0-del12 76.8243; +#X obj 506 692 delwrite~ \$0-del13 88.5623; +#X obj 542 671 delwrite~ \$0-del14 101.278; +#X obj 579 650 delwrite~ \$0-del15 115.397; +#X obj 323 606 delwrite~ \$0-del8 38.2944; +#X obj 287 628 delwrite~ \$0-del7 31.4693; +#X obj 252 650 delwrite~ \$0-del6 25.7417; +#X obj 215 672 delwrite~ \$0-del5 20.1862; +#X obj 71 761 delwrite~ \$0-del1 10; +#X obj 106 737 delwrite~ \$0-del2 11.6356; +#X obj 141 715 delwrite~ \$0-del3 13.4567; +#X obj 179 693 delwrite~ \$0-del4 16.7345; +#X connect 0 0 58 0; +#X connect 0 0 59 0; +#X connect 1 0 60 1; +#X connect 1 0 61 1; +#X connect 2 0 58 1; +#X connect 2 0 59 1; +#X connect 3 0 60 0; +#X connect 3 0 61 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 20 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 11 1; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 1; +#X connect 15 0 23 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 19 1; +#X connect 19 0 21 0; +#X connect 20 0 54 0; +#X connect 20 0 55 0; +#X connect 21 0 56 1; +#X connect 21 0 57 1; +#X connect 22 0 55 1; +#X connect 22 0 54 1; +#X connect 23 0 56 0; +#X connect 23 0 57 0; +#X connect 24 0 16 1; +#X connect 24 0 12 1; +#X connect 24 0 8 1; +#X connect 24 0 4 1; +#X connect 25 0 26 0; +#X connect 26 0 18 1; +#X connect 26 0 14 1; +#X connect 26 0 10 1; +#X connect 26 0 6 1; +#X connect 27 0 4 0; +#X connect 27 0 5 1; +#X connect 27 0 7 0; +#X connect 28 0 15 0; +#X connect 28 0 12 0; +#X connect 28 0 13 1; +#X connect 29 0 8 0; +#X connect 29 0 9 1; +#X connect 29 0 11 0; +#X connect 30 0 19 0; +#X connect 30 0 17 1; +#X connect 30 0 16 0; +#X connect 31 0 66 0; +#X connect 31 0 67 0; +#X connect 32 0 68 1; +#X connect 32 0 69 1; +#X connect 33 0 66 1; +#X connect 33 0 67 1; +#X connect 34 0 68 0; +#X connect 34 0 69 0; +#X connect 35 0 62 0; +#X connect 35 0 63 0; +#X connect 36 0 64 1; +#X connect 36 0 65 1; +#X connect 37 0 62 1; +#X connect 37 0 63 1; +#X connect 38 0 64 0; +#X connect 38 0 65 0; +#X connect 39 0 2 1; +#X connect 39 0 0 1; +#X connect 39 0 3 1; +#X connect 39 0 1 1; +#X connect 39 0 21 1; +#X connect 39 0 23 1; +#X connect 39 0 22 1; +#X connect 39 0 20 1; +#X connect 39 0 35 1; +#X connect 39 0 38 1; +#X connect 39 0 36 1; +#X connect 39 0 31 1; +#X connect 39 0 33 1; +#X connect 39 0 34 1; +#X connect 39 0 32 1; +#X connect 39 0 37 1; +#X connect 40 0 39 0; +#X connect 41 0 0 0; +#X connect 42 0 2 0; +#X connect 43 0 3 0; +#X connect 44 0 1 0; +#X connect 45 0 35 0; +#X connect 46 0 37 0; +#X connect 47 0 36 0; +#X connect 48 0 31 0; +#X connect 49 0 33 0; +#X connect 50 0 34 0; +#X connect 51 0 32 0; +#X connect 52 0 20 0; +#X connect 53 0 22 0; +#X connect 54 0 70 0; +#X connect 54 0 73 0; +#X connect 55 0 72 0; +#X connect 55 0 71 0; +#X connect 56 0 70 1; +#X connect 56 0 73 1; +#X connect 57 0 72 1; +#X connect 57 0 71 1; +#X connect 58 0 74 0; +#X connect 58 0 77 0; +#X connect 59 0 76 0; +#X connect 59 0 75 0; +#X connect 60 0 74 1; +#X connect 60 0 77 1; +#X connect 61 0 76 1; +#X connect 61 0 75 1; +#X connect 62 0 78 0; +#X connect 62 0 81 0; +#X connect 63 0 80 0; +#X connect 63 0 79 0; +#X connect 64 0 78 1; +#X connect 64 0 81 1; +#X connect 65 0 80 1; +#X connect 65 0 79 1; +#X connect 66 0 82 0; +#X connect 66 0 85 0; +#X connect 67 0 84 0; +#X connect 67 0 83 0; +#X connect 68 0 82 1; +#X connect 68 0 85 1; +#X connect 69 0 84 1; +#X connect 69 0 83 1; +#X connect 70 0 86 0; +#X connect 70 0 92 0; +#X connect 71 0 91 0; +#X connect 71 0 88 0; +#X connect 72 0 87 0; +#X connect 72 0 93 0; +#X connect 73 0 90 0; +#X connect 73 0 89 0; +#X connect 74 0 86 1; +#X connect 74 0 92 1; +#X connect 75 0 91 1; +#X connect 75 0 88 1; +#X connect 76 0 87 1; +#X connect 76 0 93 1; +#X connect 77 0 90 1; +#X connect 77 0 89 1; +#X connect 78 0 94 0; +#X connect 78 0 100 0; +#X connect 79 0 99 0; +#X connect 79 0 96 0; +#X connect 80 0 95 0; +#X connect 80 0 101 0; +#X connect 81 0 98 0; +#X connect 81 0 97 0; +#X connect 82 0 94 1; +#X connect 82 0 100 1; +#X connect 83 0 99 1; +#X connect 83 0 96 1; +#X connect 84 0 95 1; +#X connect 84 0 101 1; +#X connect 85 0 98 1; +#X connect 85 0 97 1; +#X connect 86 0 102 0; +#X connect 86 0 108 0; +#X connect 87 0 103 0; +#X connect 87 0 109 0; +#X connect 88 0 113 0; +#X connect 88 0 114 0; +#X connect 89 0 112 0; +#X connect 89 0 115 0; +#X connect 90 0 106 0; +#X connect 90 0 105 0; +#X connect 91 0 107 0; +#X connect 91 0 104 0; +#X connect 92 0 110 0; +#X connect 92 0 116 0; +#X connect 93 0 111 0; +#X connect 93 0 117 0; +#X connect 94 0 108 1; +#X connect 94 0 102 1; +#X connect 95 0 109 1; +#X connect 95 0 103 1; +#X connect 96 0 114 1; +#X connect 96 0 113 1; +#X connect 97 0 115 1; +#X connect 97 0 112 1; +#X connect 98 0 105 1; +#X connect 98 0 106 1; +#X connect 99 0 104 1; +#X connect 99 0 107 1; +#X connect 100 0 116 1; +#X connect 100 0 110 1; +#X connect 101 0 117 1; +#X connect 101 0 111 1; +#X connect 102 0 135 0; +#X connect 103 0 136 0; +#X connect 104 0 127 0; +#X connect 105 0 126 0; +#X connect 106 0 137 0; +#X connect 107 0 138 0; +#X connect 108 0 124 0; +#X connect 109 0 125 0; +#X connect 110 0 134 0; +#X connect 111 0 133 0; +#X connect 112 0 132 0; +#X connect 113 0 131 0; +#X connect 114 0 121 0; +#X connect 114 0 123 0; +#X connect 115 0 120 0; +#X connect 115 0 130 0; +#X connect 116 0 118 0; +#X connect 116 0 128 0; +#X connect 117 0 119 0; +#X connect 117 0 129 0; +#X connect 122 0 38 0; +#X restore 75 158 pd doit; +#X obj 76 96 inlet~; +#X obj 133 96 inlet~; +#X obj 420 220 s \$0-fb; +#X obj 605 269 s \$0-damp; +#X obj 420 166 / 400; +#X text 430 310 1: liveness \, 0-100 \, usually between 85 and 100 +; +#X text 430 327 2: crossover frequency in Hz. (3000 default); +#X text 429 344 3: high frequency damping \, 0-100; +#X obj 789 87 inlet; +#X obj 789 140 switch~; +#X obj 517 167 mtof; +#X connect 0 0 4 0; +#X connect 1 0 18 0; +#X connect 4 0 20 0; +#X connect 7 0 10 0; +#X connect 8 0 26 0; +#X connect 9 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 19 0; +#X connect 15 0 2 0; +#X connect 15 1 3 0; +#X connect 15 2 5 0; +#X connect 15 3 6 0; +#X connect 16 0 15 0; +#X connect 17 0 15 1; +#X connect 20 0 1 0; +#X connect 24 0 25 0; +#X connect 26 0 14 0; +#X restore 199 175 pd processing; +#X obj 43 294 mix.wet.stereo~ 1; +#X obj 183 302 mix.wet.stereo~ 1; +#X obj 57 26 inlet~; +#X obj 114 26 inlet~; +#X obj 50 431 outlet~; +#X obj 108 431 outlet~; +#X obj 166 432 outlet~; +#X obj 224 432 outlet~; +#X text 479 487 Version: 2008-03-05; +#X text 479 471 Author: Miller Puckette; +#X obj 419 196 param.group; +#X obj 514 143 loadbang; +#X obj 514 167 dollarg; +#X obj 419 145 inlet params; +#X obj 250 13 param.atom liveness 90 0 100; +#X obj 263 42 param.atom crossover 80 0 127; +#X obj 291 76 param.atom damp 80 0 100; +#X obj 299 439 outlet; +#X text 299 414 switch dsp; +#X obj 343 242 param.atom wet 64 0 127; +#X connect 0 0 1 2; +#X connect 0 1 1 3; +#X connect 0 2 2 2; +#X connect 0 3 2 3; +#X connect 1 0 5 0; +#X connect 1 1 6 0; +#X connect 1 2 0 5; +#X connect 1 2 18 0; +#X connect 2 0 7 0; +#X connect 2 1 8 0; +#X connect 3 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 1 1; +#X connect 4 0 0 1; +#X connect 12 0 13 0; +#X connect 13 0 11 1; +#X connect 13 1 11 2; +#X connect 14 0 11 0; +#X connect 15 0 0 2; +#X connect 16 0 0 3; +#X connect 17 0 0 4; +#X connect 20 0 2 4; +#X connect 20 0 1 4; diff --git a/fx.reverb.free~-help.pd b/fx.reverb.free~-help.pd new file mode 100644 index 0000000..bfa5b4e --- /dev/null +++ b/fx.reverb.free~-help.pd @@ -0,0 +1,145 @@ +#N canvas 472 27 704 323 10; +#X obj 62 209 mix.out_~; +#X obj 318 74 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 0 1; +#X obj 177 75 hsl 128 15 0.11 1.6 0 0 empty empty empty -2 -6 0 10 +-262144 -1 -1 0 1; +#X obj 470 97 param.gui; +#X obj 63 182 fx.reverb.free~ @id freeverb; +#X text 60 8 Description: freeverb; +#N canvas 556 325 591 485 synth 0; +#X obj 85 266 synth.osc.square.bl~; +#X obj 83 296 *~; +#X obj 306 192 0; +#X obj 373 171 90; +#X obj 84 129 seq.every 4; +#X obj 83 163 seq.every 2; +#X obj 187 166 seq.every 2; +#X obj 83 239 mtof; +#X msg 85 193 55; +#X msg 155 194 48; +#X msg 187 193 51; +#X msg 257 193 58; +#X obj 102 56 t b b; +#X obj 94 93 f 0; +#X obj 131 93 + 1; +#X obj 87 351 mix.pan~; +#N canvas 0 0 446 296 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 215 63 metro 2000; +#X msg 250 122 0 \, 127 1000; +#X obj 154 114 delay 1000; +#X msg 154 138 0 1000; +#X obj 196 238 outlet; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 3 0 1 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X restore 142 322 pd panner; +#X obj 246 277 synth.osc.saw.bl~; +#X obj 246 255 mtof; +#X obj 238 343 mix.pan~; +#N canvas 0 0 442 292 panner 0; +#X obj 216 37 loadbang; +#X obj 220 88 t b b; +#X obj 201 184 line; +#X obj 196 238 outlet; +#X msg 250 122 0 \, 127 700; +#X msg 154 138 0 700; +#X obj 154 115 delay 700; +#X obj 215 63 metro 1400; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 296 316 pd panner; +#X obj 238 311 *~; +#X obj 246 232 - 12; +#X obj 102 29 metro 240; +#X obj 306 171 del 100; +#X obj 87 427 outlet~; +#X obj 191 429 outlet~; +#X obj 102 7 inlet; +#X obj 392 247 synth.adsr~ 30 20 0.1 200; +#X connect 0 0 1 0; +#X connect 1 0 15 0; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 22 0; +#X connect 9 0 7 0; +#X connect 9 0 22 0; +#X connect 10 0 7 0; +#X connect 10 0 22 0; +#X connect 11 0 7 0; +#X connect 11 0 22 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 12 1 24 0; +#X connect 13 0 14 0; +#X connect 13 0 4 0; +#X connect 14 0 13 1; +#X connect 15 0 25 0; +#X connect 15 1 26 0; +#X connect 16 0 15 1; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 19 0 25 0; +#X connect 19 1 26 0; +#X connect 20 0 19 1; +#X connect 21 0 19 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 2 0; +#X connect 27 0 23 0; +#X connect 28 0 1 1; +#X connect 28 0 21 1; +#X restore 63 87 pd synth; +#X obj 63 55 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X text 85 55 on/off; +#X msg 470 75 freeverb; +#X msg 315 93 width \$1; +#X msg 174 93 roomsize \$1; +#X obj 178 116 hsl 128 15 0 2 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 0 1; +#X msg 175 135 damping \$1; +#X obj 315 115 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 315 137 freeze \$1; +#X obj 318 170 hsl 128 15 0 127 0 0 empty empty wet -2 -6 0 10 -262144 +-1 -1 12700 1; +#X msg 315 189 wet \$1; +#X connect 1 0 10 0; +#X connect 2 0 11 0; +#X connect 4 0 0 0; +#X connect 4 1 0 1; +#X connect 6 0 4 0; +#X connect 6 1 4 1; +#X connect 7 0 6 0; +#X connect 9 0 3 0; +#X connect 10 0 4 2; +#X connect 11 0 4 2; +#X connect 12 0 13 0; +#X connect 13 0 4 2; +#X connect 14 0 15 0; +#X connect 15 0 4 2; +#X connect 16 0 17 0; +#X connect 17 0 4 2; diff --git a/fx.reverb.free~.pd b/fx.reverb.free~.pd new file mode 100644 index 0000000..46d37a2 --- /dev/null +++ b/fx.reverb.free~.pd @@ -0,0 +1,75 @@ +#N canvas 162 27 1016 505 10; +#X obj 42 454 outlet~ left; +#X obj 134 454 outlet~ right; +#X obj 44 71 inlet~ left; +#X obj 131 71 inlet~ right; +#X obj 1180 77 param.group; +#X obj 1240 28 loadbang; +#X obj 1240 52 dollarg; +#X obj 1145 30 inlet params; +#X obj 43 382 mix.wet.stereo~ 1; +#N canvas 0 0 1012 443 freeverb 0; +#X obj 43 16 inlet~; +#X obj 39 414 outlet~; +#X obj 154 412 outlet~; +#X obj 187 15 inlet~; +#X obj 283 8 inlet; +#X obj 350 7 inlet; +#X obj 410 8 inlet; +#X obj 947 8 inlet; +#X obj 947 61 switch~; +#X obj 94 381 freeverb~; +#X msg 110 63 roomsize \$1; +#X msg 110 108 damping \$1; +#X msg 110 152 width \$1; +#X msg 120 206 wet \$1; +#X msg 124 229 dry \$1; +#X msg 163 302 freeze \$1; +#X msg 209 346 bypass \$1; +#X obj 190 179 init.lf 1; +#X obj 190 199 init.lf 0; +#X obj 250 309 init.lf 0; +#X obj 481 6 inlet; +#X connect 0 0 9 0; +#X connect 3 0 9 1; +#X connect 4 0 10 0; +#X connect 5 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 8 0; +#X connect 9 0 1 0; +#X connect 9 1 2 0; +#X connect 10 0 9 0; +#X connect 11 0 9 0; +#X connect 12 0 9 0; +#X connect 13 0 9 0; +#X connect 14 0 9 0; +#X connect 15 0 9 0; +#X connect 16 0 9 0; +#X connect 17 0 13 0; +#X connect 18 0 14 0; +#X connect 19 0 16 0; +#X connect 20 0 15 0; +#X restore 100 314 pd freeverb; +#X obj 178 187 param.atom freeze false; +#X obj 153 139 param.atom damping 0.4 0 2; +#X obj 164 160 param.atom width 1 0 1; +#X obj 137 119 param.atom roomsize 0.6 0.11 1.6; +#X obj 203 218 param.atom wet 64 0 127; +#X connect 2 0 9 0; +#X connect 2 0 8 0; +#X connect 3 0 9 1; +#X connect 3 0 8 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 0 0; +#X connect 8 1 1 0; +#X connect 8 2 9 6; +#X connect 9 0 8 2; +#X connect 9 1 8 3; +#X connect 10 0 9 5; +#X connect 11 0 9 3; +#X connect 12 0 9 4; +#X connect 13 0 9 2; +#X connect 14 0 8 4; diff --git a/fx.reverb.resonance~-help.pd b/fx.reverb.resonance~-help.pd new file mode 100644 index 0000000..c9b743d --- /dev/null +++ b/fx.reverb.resonance~-help.pd @@ -0,0 +1,19 @@ +#N canvas 590 325 471 275 10; +#X obj 72 100 mix.out_~; +#X text 66 -30 Description: A reverb that adds more character than +reverb.; +#X text 66 -16 Comment: Taken from Andy Farnell's work.; +#X obj 277 41 param.gui; +#X obj 73 67 fx.reverb.resonance~ @id reverbreso; +#X msg 277 19 reverbreso; +#X obj 156 38 synth.blip~; +#X msg 156 16 120; +#X obj 71 38 adc~ 15 16; +#X connect 4 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 6 0 4 1; +#X connect 7 0 6 0; +#X connect 8 0 4 0; +#X connect 8 1 4 1; diff --git a/fx.reverb.resonance~.pd b/fx.reverb.resonance~.pd new file mode 100644 index 0000000..a6701cc --- /dev/null +++ b/fx.reverb.resonance~.pd @@ -0,0 +1,165 @@ +#N canvas 0 0 992 338 10; +#N canvas 527 0 450 343 bodyresonance 0; +#X obj 17 192 delwrite~ \$0-clockbodyl 100; +#X obj 15 116 delread~ \$0-clockbodyl 50; +#X obj 15 137 bp~ 1200 3; +#N canvas 617 584 261 182 sizescale 0; +#X obj 102 42 * 10000; +#X obj 33 41 inv; +#X obj 33 66 max 1e-07; +#X obj 33 92 min 100; +#X obj 69 15 inlet; +#X obj 33 121 outlet ms; +#X obj 102 66 outlet Hz; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 4 0 0 0; +#X restore 15 93 pd sizescale; +#X obj 220 137 bp~ 1200 3; +#X obj 220 116 delread~ \$0-clockbodyw 50; +#X obj 222 192 delwrite~ \$0-clockbodyw 100; +#N canvas 617 584 261 182 sizescale 0; +#X obj 102 42 * 10000; +#X obj 33 41 inv; +#X obj 33 66 max 1e-07; +#X obj 33 92 min 100; +#X obj 69 15 inlet; +#X obj 33 121 outlet ms; +#X obj 102 66 outlet Hz; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 4 0 0 0; +#X restore 220 94 pd sizescale; +#X obj 220 72 + 0.02; +#X obj 247 30 inlet; +#X obj 70 27 inlet~; +#X obj 136 223 outlet~; +#X text 215 5 0-1 size = 10000Hz-10Hz; +#X text 116 160 damping; +#X obj 16 162 *~ 0.3; +#X obj 221 162 *~ 0.3; +#X text 69 5 body resonance; +#X obj 394 14 inlet; +#X obj 394 35 switch~; +#X connect 1 0 2 0; +#X connect 2 0 11 0; +#X connect 2 0 14 0; +#X connect 3 0 1 0; +#X connect 3 1 2 1; +#X connect 4 0 11 0; +#X connect 4 0 15 0; +#X connect 5 0 4 0; +#X connect 7 0 5 0; +#X connect 7 1 4 1; +#X connect 8 0 7 0; +#X connect 9 0 3 0; +#X connect 9 0 8 0; +#X connect 10 0 0 0; +#X connect 10 0 6 0; +#X connect 14 0 0 0; +#X connect 14 0 4 0; +#X connect 15 0 6 0; +#X connect 17 0 18 0; +#X restore 170 191 pd bodyresonance; +#X obj 41 131 inlet~; +#X obj 55 256 outlet~; +#X obj 534 94 param.group; +#X obj 588 46 loadbang; +#X obj 588 70 dollarg; +#X obj 508 46 inlet params; +#X obj 54 228 mix.wet.stereo~ 1; +#X obj 216 150 param.atom strength 0 0 1; +#N canvas 527 0 450 343 bodyresonance 0; +#X obj 17 192 delwrite~ \$0-clockbodyl 100; +#X obj 15 116 delread~ \$0-clockbodyl 50; +#X obj 15 137 bp~ 1200 3; +#N canvas 617 584 261 182 sizescale 0; +#X obj 102 42 * 10000; +#X obj 33 41 inv; +#X obj 33 66 max 1e-07; +#X obj 33 92 min 100; +#X obj 69 15 inlet; +#X obj 33 121 outlet ms; +#X obj 102 66 outlet Hz; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 4 0 0 0; +#X restore 15 93 pd sizescale; +#X obj 220 137 bp~ 1200 3; +#X obj 220 116 delread~ \$0-clockbodyw 50; +#X obj 222 192 delwrite~ \$0-clockbodyw 100; +#N canvas 617 584 261 182 sizescale 0; +#X obj 102 42 * 10000; +#X obj 33 41 inv; +#X obj 33 66 max 1e-07; +#X obj 33 92 min 100; +#X obj 69 15 inlet; +#X obj 33 121 outlet ms; +#X obj 102 66 outlet Hz; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 4 0 0 0; +#X restore 220 94 pd sizescale; +#X obj 220 72 + 0.02; +#X obj 247 30 inlet; +#X obj 70 27 inlet~; +#X obj 136 223 outlet~; +#X text 215 5 0-1 size = 10000Hz-10Hz; +#X text 116 160 damping; +#X obj 16 162 *~ 0.3; +#X obj 221 162 *~ 0.3; +#X text 69 5 body resonance; +#X obj 394 14 inlet; +#X obj 394 35 switch~; +#X connect 1 0 2 0; +#X connect 2 0 11 0; +#X connect 2 0 14 0; +#X connect 3 0 1 0; +#X connect 3 1 2 1; +#X connect 4 0 11 0; +#X connect 4 0 15 0; +#X connect 5 0 4 0; +#X connect 7 0 5 0; +#X connect 7 1 4 1; +#X connect 8 0 7 0; +#X connect 9 0 3 0; +#X connect 9 0 8 0; +#X connect 10 0 0 0; +#X connect 10 0 6 0; +#X connect 14 0 0 0; +#X connect 14 0 4 0; +#X connect 15 0 6 0; +#X connect 17 0 18 0; +#X restore 60 191 pd bodyresonance; +#X obj 105 256 outlet~; +#X obj 82 131 inlet~; +#X obj 228 170 param.atom wet 127 0 127; +#X connect 0 0 7 3; +#X connect 1 0 7 0; +#X connect 1 0 9 0; +#X connect 4 0 5 0; +#X connect 5 0 3 1; +#X connect 5 1 3 2; +#X connect 6 0 3 0; +#X connect 7 0 2 0; +#X connect 7 1 10 0; +#X connect 7 2 0 2; +#X connect 7 2 9 2; +#X connect 8 0 0 1; +#X connect 8 0 9 1; +#X connect 9 0 7 2; +#X connect 11 0 7 1; +#X connect 11 0 0 0; +#X connect 12 0 7 4; diff --git a/fx.template~-help.pd b/fx.template~-help.pd new file mode 100644 index 0000000..89003a2 --- /dev/null +++ b/fx.template~-help.pd @@ -0,0 +1,76 @@ +#N canvas 383 47 742 537 10; +#X text 56 2 Description: template for adding your fx; +#X obj 47 282 mix.out_~; +#X obj 170 219 osc~ 111; +#X obj 218 127 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 0 1; +#X obj 249 182 hsl 128 15 0 1000 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 0 1; +#X text 213 107 param1; +#X text 245 163 param2; +#X text 60 74 Of course you can change the names of param1 \, param2 +\, etc to more descriptive names.; +#X obj 63 476 savepanel; +#X obj 63 451 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 63 500 param.save top; +#X obj 360 445 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 360 470 openpanel; +#X text 364 422 Load param values from a file; +#X obj 360 495 param.load; +#X text 61 424 Save all param values of the top patch; +#X text 45 341 The order of the arguments is not important:; +#X text 534 15 Build dynamic gui; +#X msg 215 145 param1 \$1; +#X msg 246 201 param2 \$1; +#X obj 535 71 param.gui; +#X msg 535 37 instance2; +#X msg 611 36 instance_name; +#X text 56 17 WARNING: This system requires PD 0.40.3; +#X obj 536 129 param.map.midi; +#X obj 536 106 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 436 303 symbol; +#X symbolatom 322 205 10 0 0 0 - - -; +#X msg 322 224 text_param \$1; +#X msg 502 37 top; +#X obj 47 219 osc~ 333; +#X msg 454 240 _lin; +#X msg 455 260 _linsqrt; +#X msg 455 280 _sqrt; +#X msg 436 324 curve \$1; +#X msg 364 269 boolean \$1; +#X obj 364 249 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 255 279 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 255 297 boolean; +#X obj 49 361 fx.template~ @id instance2 @param2 127 @param1 32; +#X obj 48 249 fx.template~ @id instance_name @boolean 1; +#X connect 2 0 40 1; +#X connect 3 0 18 0; +#X connect 4 0 19 0; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 18 0 40 2; +#X connect 19 0 40 2; +#X connect 21 0 20 0; +#X connect 22 0 20 0; +#X connect 25 0 24 0; +#X connect 26 0 34 0; +#X connect 27 0 28 0; +#X connect 28 0 40 2; +#X connect 29 0 20 0; +#X connect 30 0 40 0; +#X connect 31 0 26 0; +#X connect 32 0 26 0; +#X connect 33 0 26 0; +#X connect 34 0 40 2; +#X connect 35 0 40 2; +#X connect 36 0 35 0; +#X connect 40 0 1 0; +#X connect 40 1 1 1; +#X connect 40 7 37 0; diff --git a/fx.template~.pd b/fx.template~.pd new file mode 100644 index 0000000..03915c0 --- /dev/null +++ b/fx.template~.pd @@ -0,0 +1,82 @@ +#N canvas 92 227 1118 505 10; +#X obj 58 442 outlet~ left; +#X obj 141 442 outlet~ right; +#X text 58 10 template for adding fx; +#X obj 61 57 inlet~ left; +#X obj 140 57 inlet~ right; +#X obj 318 54 param.group; +#X obj 378 5 loadbang; +#X obj 378 29 dollarg; +#X obj 283 7 inlet params; +#X obj 161 120 param.atom param2 500 0 1000; +#X obj 362 406 switch~; +#N canvas 0 0 501 443 bogusFX 0; +#X obj 43 16 inlet~; +#X obj 41 376 outlet~; +#X obj 219 364 outlet~; +#X obj 187 15 inlet~; +#X obj 345 110 fade~; +#X obj 345 38 osc~; +#X obj 329 145 *~; +#X obj 288 46 osc~; +#X obj 346 61 +~ 1; +#X obj 346 83 *~ 0.5; +#X obj 36 196 *~; +#X obj 188 195 *~; +#X obj 283 8 inlet; +#X obj 350 7 inlet; +#X obj 432 11 inlet; +#X msg 413 79 set \$1; +#X connect 0 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 6 1; +#X connect 5 0 8 0; +#X connect 6 0 11 1; +#X connect 6 0 10 1; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 9 0 4 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 7 0; +#X connect 13 0 5 0; +#X connect 14 0 15 0; +#X connect 15 0 4 0; +#X restore 59 317 pd bogusFX; +#X obj 178 169 param.atom param1 32 0 127; +#X obj 793 386 param.atom text_param blabla; +#X obj 215 203 param.atom curve _lin _lin _linsqrt _sqrt _sin _sinhann +_hann; +#X obj 407 359 param.atom switch true; +#X obj 251 363 param.bang reset; +#X obj 160 270 symbol; +#X obj 548 446 outlet param1; +#X obj 669 447 outlet param2; +#X obj 271 448 outlet bang; +#X obj 427 437 outlet toggle; +#X obj 792 448 outlet symbol; +#X obj 818 414 symbol; +#X obj 902 196 param.atom boolean false; +#X obj 902 445 outlet boolean; +#X text 406 334 The only required parameter is the "switch" param. +; +#X connect 3 0 11 0; +#X connect 4 0 11 1; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 8 0 5 0; +#X connect 9 0 11 2; +#X connect 9 0 19 0; +#X connect 11 0 0 0; +#X connect 11 1 1 0; +#X connect 12 0 11 3; +#X connect 12 0 18 0; +#X connect 13 0 23 0; +#X connect 14 0 17 0; +#X connect 15 0 10 0; +#X connect 15 0 21 0; +#X connect 16 0 20 0; +#X connect 17 0 11 4; +#X connect 23 0 22 0; +#X connect 24 0 25 0; diff --git a/fx.vocoder~-help.pd b/fx.vocoder~-help.pd new file mode 100644 index 0000000..80de458 --- /dev/null +++ b/fx.vocoder~-help.pd @@ -0,0 +1,61 @@ +#N canvas 552 294 510 400 10; +#X obj 106 167 fx.vocoder~ @id vocoder; +#X obj 336 126 param.gui; +#X msg 336 104 vocoder; +#X obj 107 219 mix.out_~; +#X text 221 62 Description: Miller's vocoder; +#X obj 107 78 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 107 192 fx.punch~; +#N canvas 338 52 532 412 examplefilter 0; +#X obj 32 69 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +; +#X obj 181 82 musical.closest.note 0 2 4 7 9; +#X obj 133 361 outlet~; +#X obj 31 39 inlet; +#X obj 144 262 synth.osc.saw.bl~; +#X obj 171 282 synth.osc.saw.bl~; +#X obj 205 301 synth.osc.saw.bl~; +#X obj 232 321 synth.osc.saw.bl~; +#X obj 149 232 mtof; +#X obj 196 233 mtof; +#X obj 260 235 mtof; +#X obj 307 236 mtof; +#X obj 177 195 + 4; +#X obj 226 194 + 7; +#X obj 283 203 + 10; +#X obj 32 111 random 13; +#X obj 33 132 + 50; +#X obj 32 89 metro 1000; +#X connect 0 0 17 0; +#X connect 1 0 8 0; +#X connect 1 0 12 0; +#X connect 1 0 13 0; +#X connect 1 0 14 0; +#X connect 3 0 17 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 5 0; +#X connect 10 0 6 0; +#X connect 11 0 7 0; +#X connect 12 0 9 0; +#X connect 13 0 10 0; +#X connect 14 0 11 0; +#X connect 15 0 16 0; +#X connect 16 0 1 0; +#X connect 17 0 15 0; +#X restore 107 99 pd examplefilter; +#X obj 107 56 init.lf 1; +#X obj 185 133 adc~ 3; +#X connect 0 0 6 0; +#X connect 0 1 6 1; +#X connect 2 0 1 0; +#X connect 5 0 7 0; +#X connect 6 0 3 0; +#X connect 6 1 3 1; +#X connect 7 0 0 0; +#X connect 8 0 5 0; +#X connect 9 0 0 1; diff --git a/fx.vocoder~.pd b/fx.vocoder~.pd new file mode 100644 index 0000000..79ce4a4 --- /dev/null +++ b/fx.vocoder~.pd @@ -0,0 +1,168 @@ +#N canvas 519 89 539 284 10; +#X obj 33 21 inlet~; +#X obj 31 231 outlet~; +#X obj 82 209 outlet~; +#X obj 95 22 inlet~; +#X obj 369 59 param.group; +#X obj 423 11 loadbang; +#X obj 423 35 dollarg; +#X obj 343 11 inlet params; +#X obj 32 179 mix.wet.stereo~ 1; +#X obj 143 153 param.atom wet 127 0 127; +#N canvas 376 248 795 617 fft-analysis 0; +#X obj 94 511 *~; +#X obj 55 511 *~; +#X obj 413 356 *~; +#X obj 372 356 *~; +#X obj 372 379 +~; +#X obj 54 183 *~; +#X obj 54 158 inlet~; +#X obj 54 206 rfft~; +#X obj 54 560 *~; +#X obj 141 245 *~; +#X obj 372 333 rfft~; +#X obj 54 535 rifft~; +#X obj 54 583 outlet~; +#X obj 107 245 *~; +#X obj 107 268 +~; +#X text 458 408 modulus; +#X obj 107 420 *~; +#X obj 107 398 clip~; +#X obj 87 184 tabreceive~ \$0-hann; +#X obj 599 53 loadbang; +#X obj 148 346 r squelch; +#X obj 147 369 expr 0.01*$f1*$f1; +#X obj 107 294 +~ 1e-20; +#X obj 108 480 *~ 0.00065; +#X obj 87 560 tabreceive~ \$0-hann; +#X obj 373 307 *~; +#X obj 373 282 inlet~; +#X obj 406 308 tabreceive~ \$0-hann; +#X obj 107 321 q8_rsqrt~; +#X obj 372 402 q8_sqrt~; +#X text 458 425 of control; +#X text 456 442 amplitude; +#X text 196 248 reciprocal; +#X text 199 267 modulus of; +#X text 195 287 filter input; +#X text 196 306 amplitude; +#X text 115 159 filter input; +#X text 438 282 control source; +#X text 434 332 Fourier transform; +#X text 28 17 Internal workings of the timbre stamping algorithm. First +the "filter input" is treated as in the compressor patch \, multiplying +each channel amplitude by one over its modulus (but limited by the +"squelch" parameter.) It is then multiplied by the modulus of the channel +amplitude for the control source (which is Fourier analyzed in parallel +with the filter input.); +#X text 145 422 multiply the two amplitude; +#X text 143 439 factors (for compression; +#X text 145 455 and to apply new timbre); +#X obj 104 584 outlet~; +#X obj 598 7 inlet; +#X obj 598 29 switch~ 1024 4; +#X msg 599 76 \; window-size 1024 \; squelch 30 \;; +#X connect 0 0 11 1; +#X connect 1 0 11 0; +#X connect 2 0 4 1; +#X connect 3 0 4 0; +#X connect 4 0 29 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 7 0 13 1; +#X connect 7 0 1 0; +#X connect 7 1 9 0; +#X connect 7 1 9 1; +#X connect 7 1 0 0; +#X connect 8 0 12 0; +#X connect 8 0 43 0; +#X connect 9 0 14 1; +#X connect 10 0 3 0; +#X connect 10 0 3 1; +#X connect 10 1 2 0; +#X connect 10 1 2 1; +#X connect 11 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 22 0; +#X connect 16 0 23 0; +#X connect 17 0 16 0; +#X connect 18 0 5 1; +#X connect 19 0 46 0; +#X connect 20 0 21 0; +#X connect 21 0 17 2; +#X connect 22 0 28 0; +#X connect 23 0 0 1; +#X connect 23 0 1 1; +#X connect 24 0 8 1; +#X connect 25 0 10 0; +#X connect 26 0 25 0; +#X connect 27 0 25 1; +#X connect 28 0 17 0; +#X connect 29 0 16 1; +#X connect 44 0 45 0; +#X restore 52 109 pd fft-analysis; +#N canvas 0 110 565 454 hann-window 0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0-hann 1024 float 0; +#X coords 0 1 1023 0 300 100 1; +#X restore 82 311 graph; +#X obj 378 165 osc~; +#X obj 378 190 *~ -0.5; +#X obj 378 214 +~ 0.5; +#X obj 331 247 tabwrite~ \$0-hann; +#X obj 37 88 r window-size; +#X obj 38 173 /; +#X obj 127 142 samplerate~; +#X obj 38 251 s window-sec; +#X obj 177 204 swap; +#X obj 177 228 /; +#X obj 177 252 s window-hz; +#X obj 49 201 * 1000; +#X obj 49 228 s window-msec; +#X obj 38 115 t f b f; +#X msg 173 92 resize \$1; +#X obj 173 116 s \$0-hann; +#X obj 330 105 r window-hz; +#X msg 382 130 0; +#X obj 330 131 t f b; +#X text 15 8 calculate Hann window table (variable window size) and +constants window-hz (fundamental frequency of analysis) \, window-sec +and window-msec (analysis window size in seconds and msec).; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 14 0; +#X connect 6 0 8 0; +#X connect 6 0 12 0; +#X connect 7 0 6 1; +#X connect 7 0 9 1; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 11 0; +#X connect 12 0 13 0; +#X connect 14 0 6 0; +#X connect 14 0 9 0; +#X connect 14 1 7 0; +#X connect 14 2 15 0; +#X connect 15 0 16 0; +#X connect 17 0 19 0; +#X connect 18 0 1 1; +#X connect 19 0 1 0; +#X connect 19 1 4 0; +#X connect 19 1 18 0; +#X restore 171 106 pd hann-window; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 3 0 8 1; +#X connect 3 0 10 1; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 7 0 4 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; +#X connect 8 2 10 2; +#X connect 9 0 8 4; +#X connect 10 0 8 2; +#X connect 10 1 8 3; diff --git a/fx.wahwah~-help.pd b/fx.wahwah~-help.pd new file mode 100644 index 0000000..36489a0 --- /dev/null +++ b/fx.wahwah~-help.pd @@ -0,0 +1,115 @@ +#N canvas 450 28 606 749 10; +#X obj 31 688 mix.out_~; +#X text 21 7 Description: a wrapper of unauthorized's wahwah~; +#X obj 448 439 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 127 0; +#X text 442 419 The pedal (step); +#X obj 425 371 f; +#X obj 456 371 + 1; +#X obj 469 397 > 100; +#X obj 512 396 route 1; +#X msg 509 370 -1; +#X msg 383 371 0; +#X obj 517 340 route 1; +#X obj 488 341 < 0; +#X msg 514 314 1; +#X msg 379 315 stop; +#X text 421 281 Auto; +#X obj 424 340 metro 10; +#X obj 424 296 loadbang; +#X floatatom 498 271 5 0 0 0 - - -; +#X obj 32 213 osc~ 200; +#X obj 104 214 phasor~ 100; +#X obj 32 89 metro 400; +#X obj 32 69 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +; +#X obj 32 155 musical.closest.note 0 2 4 7 9; +#X obj 104 175 musical.closest.note 0 2 4 7 9; +#X obj 32 175 mtof; +#X obj 104 195 mtof; +#X obj 32 132 + 20; +#X obj 197 652 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 12700 1; +#X text 193 635 dry; +#X text 306 636 wet; +#X obj 32 111 random 70; +#X msg 424 317 bang; +#X text 24 234 ----------------------------------------------------------- +; +#X msg 39 259 preset 1; +#X msg 39 281 preset 2; +#X msg 39 306 preset 3; +#X msg 39 330 preset 4; +#X msg 40 349 preset 5; +#X text 106 260 fast change medium wah-wah; +#X text 107 281 slow change medium wah-wah; +#X text 109 306 fast wah-wah; +#X text 109 329 ranged wah-wah; +#X text 110 352 wah-wah 400/2000 Hz; +#X obj 51 422 hsl 128 15 0 3000 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 52 401 Minimum freq [ 0 - 3000 ]; +#X obj 102 456 hsl 128 15 0 3000 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 97 440 Maximum freq [ 0 - 3000 ]; +#X obj 127 494 hsl 128 15 0 1000 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 124 476 Sensibility [ 0 - 1000 ]; +#X obj 175 527 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 170 510 Maxstep [ 0 - 100 ]; +#X obj 230 562 hsl 128 15 -15 15 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 225 545 Gain [ -15 - 15 ]; +#X obj 273 601 hsl 128 15 0 10 0 0 empty empty empty 20 8 0 8 -262144 +-1 -1 0 0; +#X text 268 583 Bandwidth [ 0 - 10 ]; +#X text 54 383 Note : setting a parameter overrides presets; +#X obj 31 627 fx.wahwah~ ------------; +#X floatatom 83 69 5 0 0 0 - - -; +#X obj 229 629 init.lf 127; +#X connect 2 0 56 9; +#X connect 4 0 5 0; +#X connect 4 0 6 0; +#X connect 4 0 11 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 9 0 4 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 5 1; +#X connect 13 0 15 0; +#X connect 15 0 4 0; +#X connect 16 0 31 0; +#X connect 17 0 15 1; +#X connect 18 0 56 0; +#X connect 19 0 56 1; +#X connect 20 0 30 0; +#X connect 21 0 20 0; +#X connect 22 0 24 0; +#X connect 23 0 25 0; +#X connect 24 0 18 0; +#X connect 25 0 19 0; +#X connect 26 0 22 0; +#X connect 26 0 23 0; +#X connect 27 0 56 10; +#X connect 30 0 26 0; +#X connect 31 0 15 0; +#X connect 33 0 56 2; +#X connect 34 0 56 2; +#X connect 35 0 56 2; +#X connect 36 0 56 2; +#X connect 37 0 56 2; +#X connect 43 0 56 3; +#X connect 45 0 56 4; +#X connect 47 0 56 5; +#X connect 49 0 56 6; +#X connect 51 0 56 7; +#X connect 53 0 56 8; +#X connect 56 0 0 0; +#X connect 56 1 0 1; +#X connect 57 0 20 1; +#X connect 58 0 27 0; diff --git a/fx.wahwah~.pd b/fx.wahwah~.pd new file mode 100644 index 0000000..d3332d5 --- /dev/null +++ b/fx.wahwah~.pd @@ -0,0 +1,96 @@ +#N canvas 1 25 655 468 10; +#X obj 83 399 outlet~; +#X obj 63 43 inlet~; +#X obj 137 401 outlet~; +#X obj 120 42 inlet~; +#N canvas 274 143 624 256 wahwah______________ 0; +#X obj 476 133 inlet; +#X obj 476 158 switch~; +#X obj 59 122 inlet~; +#X obj 58 167 outlet~; +#X obj 58 144 wahwah~ -------------------------------------------------- +; +#X obj 104 121 inlet; +#X obj 154 121 inlet; +#X obj 204 121 inlet; +#X obj 254 121 inlet; +#X obj 304 121 inlet; +#X obj 354 121 inlet; +#X obj 400 117 inlet; +#X obj 95 85 inlet; +#X connect 0 0 1 0; +#X connect 2 0 4 0; +#X connect 4 0 3 0; +#X connect 5 0 4 1; +#X connect 6 0 4 2; +#X connect 7 0 4 3; +#X connect 8 0 4 4; +#X connect 9 0 4 5; +#X connect 10 0 4 6; +#X connect 11 0 4 7; +#X connect 12 0 4 0; +#X restore 220 261 pd wahwah______________; +#X obj 83 357 mix.wet.stereo~; +#N canvas 346 65 624 265 wahwah______________ 0; +#X obj 476 133 inlet; +#X obj 476 158 switch~; +#X obj 59 122 inlet~; +#X obj 58 167 outlet~; +#X obj 58 144 wahwah~ -------------------------------------------------- +; +#X obj 104 121 inlet; +#X obj 154 121 inlet; +#X obj 204 121 inlet; +#X obj 254 121 inlet; +#X obj 304 121 inlet; +#X obj 354 121 inlet; +#X obj 404 121 inlet; +#X obj 97 90 inlet; +#X connect 0 0 1 0; +#X connect 2 0 4 0; +#X connect 4 0 3 0; +#X connect 5 0 4 1; +#X connect 6 0 4 2; +#X connect 7 0 4 3; +#X connect 8 0 4 4; +#X connect 9 0 4 5; +#X connect 10 0 4 6; +#X connect 11 0 4 7; +#X connect 12 0 4 0; +#X restore 70 261 pd wahwah______________; +#X obj 166 183 inlet; +#X obj 216 183 inlet; +#X obj 262 183 inlet; +#X obj 302 182 inlet; +#X obj 346 183 inlet; +#X obj 394 183 inlet; +#X obj 439 186 inlet; +#X obj 516 194 inlet; +#X obj 136 179 inlet; +#X connect 1 0 5 0; +#X connect 1 0 6 0; +#X connect 3 0 4 0; +#X connect 3 0 5 1; +#X connect 4 0 5 3; +#X connect 5 0 0 0; +#X connect 5 1 2 0; +#X connect 5 2 4 9; +#X connect 5 2 6 9; +#X connect 6 0 5 2; +#X connect 7 0 6 2; +#X connect 7 0 4 2; +#X connect 8 0 6 3; +#X connect 8 0 4 3; +#X connect 9 0 6 4; +#X connect 9 0 4 4; +#X connect 10 0 6 5; +#X connect 10 0 4 5; +#X connect 11 0 6 6; +#X connect 11 0 4 6; +#X connect 12 0 6 7; +#X connect 12 0 4 7; +#X connect 13 0 6 8; +#X connect 13 0 4 8; +#X connect 14 0 5 4; +#X connect 15 0 4 1; +#X connect 15 0 6 1; diff --git a/gems.alpha.mode-help.pd b/gems.alpha.mode-help.pd new file mode 100644 index 0000000..dadb96d --- /dev/null +++ b/gems.alpha.mode-help.pd @@ -0,0 +1,132 @@ +#N canvas 1426 220 983 624 10; +#X obj 161 252 gems.alpha.mode; +#X obj 162 436 square 4; +#X obj 268 313 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-262144 -1 1407 1; +#X obj 161 371 colorRGB 1 1 1 1; +#X obj 171 574 square 4; +#X floatatom 251 183 5 0 0 0 - - -; +#X floatatom 332 220 5 0 0 0 - - -; +#X msg 522 243 GL_ONE_MINUS_SRC_ALPHA; +#X msg 521 125 GL_ONE; +#X msg 520 107 GL_ZERO; +#X msg 523 184 GL_ONE_MINUS_DST_COLOR; +#X msg 523 203 GL_ONE_MINUS_SRC_COLOR; +#X msg 523 163 GL_DST_COLOR; +#X text 594 109 0; +#X text 594 124 1; +#X text 619 145 2; +#X text 620 165 3; +#X text 685 187 4; +#X text 687 205 5; +#X msg 523 224 GL_SRC_ALPHA; +#X text 619 227 6; +#X text 687 244 7; +#X msg 524 265 GL_DST_ALPHA; +#X msg 524 286 GL_ONE_MINUS_DST_ALPHA; +#X text 621 267 8; +#X text 685 289 9; +#X msg 523 308 GL_SRC_ALPHA_SATURATE; +#X text 680 310 10; +#X msg 522 143 GL_SRC_COLOR; +#X obj 170 463 gemhead 55; +#X obj 151 162 gemhead 56; +#X text 514 80 OpenGL Alpha modes :; +#X text 28 37 Arguments and 2-3 inlets : source mode number \, destination +mode number; +#X text 302 247 Change the alpha to see.; +#X text 523 342 See the documentation for the C function glBlendFunc +in the OpenGL documentation. Defaults to 6 7 for best results.; +#X obj 151 201 pix_image; +#X obj 161 395 pix_texture; +#X obj 170 512 pix_image; +#X obj 171 540 pix_texture; +#X text 32 9 Description: Allows to easily change the alpha blending +mode for the current gemchain.; +#X obj 252 164 hradio 15 1 0 11 empty empty empty 0 -6 0 8 -258699 +-262144 -1 0; +#X text 251 150 source; +#X obj 328 197 hradio 15 1 0 11 empty empty empty 0 -6 0 8 -258699 +-262144 -1 0; +#X text 327 183 destination; +#N canvas 0 0 450 300 auto 0; +#X obj 129 227 line; +#X obj 140 169 sel 0 1; +#X obj 139 60 inlet; +#X obj 163 108 metro 1000; +#X obj 138 266 outlet; +#X obj 158 137 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 123 194 0.01 \, 1 1000; +#X msg 230 196 1 \, 0.01 1000; +#X connect 0 0 4 0; +#X connect 1 0 6 0; +#X connect 1 1 7 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 329 361 pd auto; +#X obj 327 338 tgl 15 0 empty empty empty 0 -6 0 8 -258699 -262144 +-1 1 1; +#X symbolatom 186 291 20 0 0 0 - - -; +#X symbolatom 335 289 20 0 0 0 - - -; +#X obj 328 314 loadbang; +#X obj 210 95 gems.win; +#X obj 210 70 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#N canvas 0 0 450 300 loadimage 0; +#X obj 166 140 file.path.top; +#X msg 166 163 open \$1; +#X obj 166 91 loadbang; +#X obj 161 215 outlet; +#X msg 166 115 medias/images/img0.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X restore 54 184 pd loadimage; +#N canvas 0 0 450 300 loadimage 0; +#X obj 166 140 file.path.top; +#X msg 166 163 open \$1; +#X obj 166 91 loadbang; +#X obj 161 215 outlet; +#X msg 166 115 medias/images/img1.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X restore 40 496 pd loadimage; +#X text 230 66 1) Create Gem window.; +#X text 251 133 2) Play with the controls below:; +#X obj 161 416 translateXYZ 0 0 0.01; +#X text 317 414 <- Do not forget that for blending to work \, the blending +image must be in front of other images.; +#X text 44 133 Blending image:; +#X text 31 468 Background image:; +#X text 254 462 <- Do not also forget that for blending to work \, +the blending image must have a higher render number (the gemhead argument) +than the background image.; +#X connect 0 0 3 0; +#X connect 0 1 46 0; +#X connect 0 2 47 0; +#X connect 2 0 3 4; +#X connect 3 0 36 0; +#X connect 5 0 0 1; +#X connect 6 0 0 2; +#X connect 29 0 37 0; +#X connect 30 0 35 0; +#X connect 35 0 0 0; +#X connect 36 0 55 0; +#X connect 37 0 38 0; +#X connect 38 0 4 0; +#X connect 40 0 5 0; +#X connect 42 0 6 0; +#X connect 44 0 2 0; +#X connect 45 0 44 0; +#X connect 48 0 45 0; +#X connect 50 0 49 0; +#X connect 51 0 35 0; +#X connect 52 0 37 0; +#X connect 55 0 1 0; diff --git a/gems.alpha.mode.pd b/gems.alpha.mode.pd new file mode 100644 index 0000000..f047c8b --- /dev/null +++ b/gems.alpha.mode.pd @@ -0,0 +1,124 @@ +#N canvas 0 0 808 621 10; +#X obj 30 519 GEMglBlendFunc; +#X msg 233 356 GL_ONE_MINUS_SRC_ALPHA; +#X msg 232 238 GL_ONE; +#X msg 231 220 GL_ZERO; +#X msg 234 297 GL_ONE_MINUS_DST_COLOR; +#X msg 234 316 GL_ONE_MINUS_SRC_COLOR; +#X msg 234 276 GL_DST_COLOR; +#X text 272 201 Jitter Mode Equiv; +#X text 305 222 0; +#X text 305 237 1; +#X text 330 258 2; +#X text 331 278 3; +#X text 396 300 4; +#X text 398 318 5; +#X msg 234 337 GL_SRC_ALPHA; +#X text 330 340 6; +#X text 398 357 7; +#X msg 235 378 GL_DST_ALPHA; +#X msg 235 399 GL_ONE_MINUS_DST_ALPHA; +#X text 332 380 8; +#X text 396 402 9; +#X msg 234 421 GL_SRC_ALPHA_SATURATE; +#X text 391 423 10; +#X msg 471 358 GL_ONE_MINUS_SRC_ALPHA; +#X msg 470 240 GL_ONE; +#X msg 471 258 GL_DST_COLOR; +#X msg 469 222 GL_ZERO; +#X msg 472 299 GL_ONE_MINUS_DST_COLOR; +#X msg 472 318 GL_ONE_MINUS_SRC_COLOR; +#X msg 472 278 GL_DST_COLOR; +#X msg 472 339 GL_SRC_ALPHA; +#X msg 473 380 GL_DST_ALPHA; +#X msg 473 401 GL_ONE_MINUS_DST_ALPHA; +#X msg 472 423 GL_SRC_ALPHA_SATURATE; +#X msg 233 256 GL_SRC_COLOR; +#X obj 30 561 outlet; +#X obj 8 36 inlet; +#X obj 71 139 sel 0 1 2 3 4 5 6 7 8 9 10; +#X obj 318 125 sel 0 1 2 3 4 5 6 7 8 9 10; +#X obj 99 31 inlet; +#X obj 135 56 loadbang; +#X obj 136 83 init.df \$1 6; +#X obj 355 17 inlet; +#X obj 317 56 loadbang; +#X obj 318 85 init.df \$2 7; +#X obj 34 297 alpha; +#X obj 247 564 outlet; +#X obj 469 572 outlet; +#X obj 152 489 GLdefine; +#X obj 158 461 t a a; +#X obj 238 530 symbol; +#X obj 374 510 GLdefine; +#X obj 396 463 t a a; +#X obj 496 536 symbol; +#X obj 42 81 clip 0 10; +#X obj 42 105 int; +#X obj 430 80 clip 0 10; +#X obj 429 99 int; +#X connect 0 0 35 0; +#X connect 1 0 49 0; +#X connect 2 0 49 0; +#X connect 3 0 49 0; +#X connect 4 0 49 0; +#X connect 5 0 49 0; +#X connect 6 0 49 0; +#X connect 14 0 49 0; +#X connect 17 0 49 0; +#X connect 18 0 49 0; +#X connect 21 0 49 0; +#X connect 23 0 52 0; +#X connect 24 0 52 0; +#X connect 25 0 52 0; +#X connect 26 0 52 0; +#X connect 27 0 52 0; +#X connect 28 0 52 0; +#X connect 29 0 52 0; +#X connect 30 0 52 0; +#X connect 31 0 52 0; +#X connect 32 0 52 0; +#X connect 33 0 52 0; +#X connect 34 0 49 0; +#X connect 36 0 45 0; +#X connect 37 0 3 0; +#X connect 37 1 2 0; +#X connect 37 2 34 0; +#X connect 37 3 6 0; +#X connect 37 4 4 0; +#X connect 37 5 5 0; +#X connect 37 6 14 0; +#X connect 37 7 1 0; +#X connect 37 8 17 0; +#X connect 37 9 18 0; +#X connect 37 10 21 0; +#X connect 38 0 26 0; +#X connect 38 1 24 0; +#X connect 38 2 25 0; +#X connect 38 3 29 0; +#X connect 38 4 27 0; +#X connect 38 5 28 0; +#X connect 38 6 30 0; +#X connect 38 7 23 0; +#X connect 38 8 31 0; +#X connect 38 9 32 0; +#X connect 38 10 33 0; +#X connect 39 0 54 0; +#X connect 40 0 41 0; +#X connect 41 0 54 0; +#X connect 42 0 56 0; +#X connect 43 0 44 0; +#X connect 44 0 56 0; +#X connect 45 0 0 0; +#X connect 48 0 0 1; +#X connect 49 0 50 0; +#X connect 49 1 48 0; +#X connect 50 0 46 0; +#X connect 51 0 0 2; +#X connect 52 0 53 0; +#X connect 52 1 51 0; +#X connect 53 0 47 0; +#X connect 54 0 55 0; +#X connect 55 0 37 0; +#X connect 56 0 57 0; +#X connect 57 0 38 0; diff --git a/gems.bars.ntsc-help.pd b/gems.bars.ntsc-help.pd new file mode 100644 index 0000000..3ec337c --- /dev/null +++ b/gems.bars.ntsc-help.pd @@ -0,0 +1,12 @@ +#N canvas 502 180 454 304 10; +#X obj 304 92 gems.win; +#X text 51 24 Description: Generates a ntsc cololr bar test pattern. +; +#X obj 82 166 gems.bars.ntsc; +#X obj 304 68 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 82 135 gems.fit.scale fill; +#X obj 83 99 gemhead; +#X connect 3 0 0 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; diff --git a/gems.bars.ntsc.pd b/gems.bars.ntsc.pd new file mode 100644 index 0000000..a27d5f3 --- /dev/null +++ b/gems.bars.ntsc.pd @@ -0,0 +1,55 @@ +#N canvas 139 160 848 479 10; +#X obj 177 17 inlet gemlist; +#X obj 211 103 t a a a a a a a; +#X obj 49 179 separator; +#X obj 134 177 separator; +#X obj 209 177 separator; +#X obj 284 180 separator; +#X obj 358 178 separator; +#X obj 437 180 separator; +#X obj 512 178 separator; +#X obj 325 432 square; +#X obj 120 245 translateXYZ -4 0 0; +#X obj 245 244 translateXYZ -2 0 0; +#X obj -18 243 translateXYZ -6 0 0; +#X obj 360 268 translateXYZ 2 0 0; +#X obj 461 293 translateXYZ 4 0 0; +#X obj 572 258 translateXYZ 6 0 0; +#X obj 205 65 scaleXYZ 0.142857 1 1; +#X obj -17 276 colorRGB 0.75 0.75 0.75; +#X obj 112 301 colorRGB 0.75 0.75 0; +#X obj 235 274 colorRGB 0 0.75 0.75; +#X obj 256 214 colorRGB 0 0.75 0; +#X obj 372 225 colorRGB 0.75 0 0.75; +#X obj 442 242 colorRGB 0.75 0 0; +#X obj 511 201 colorRGB 0 0 0.75; +#X obj 596 17 inlet midi; +#X connect 0 0 16 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 4 0; +#X connect 1 3 5 0; +#X connect 1 4 6 0; +#X connect 1 5 7 0; +#X connect 1 6 8 0; +#X connect 2 0 12 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 5 0 20 0; +#X connect 6 0 21 0; +#X connect 7 0 22 0; +#X connect 8 0 23 0; +#X connect 10 0 18 0; +#X connect 11 0 19 0; +#X connect 12 0 17 0; +#X connect 13 0 9 0; +#X connect 14 0 9 0; +#X connect 15 0 9 0; +#X connect 16 0 1 0; +#X connect 17 0 9 0; +#X connect 18 0 9 0; +#X connect 19 0 9 0; +#X connect 20 0 9 0; +#X connect 21 0 13 0; +#X connect 22 0 14 0; +#X connect 23 0 15 0; diff --git a/gems.coll-help.pd b/gems.coll-help.pd new file mode 100644 index 0000000..6a09ec0 --- /dev/null +++ b/gems.coll-help.pd @@ -0,0 +1,32 @@ +#N canvas 366 106 751 365 10; +#X obj 80 271 translateXYZ; +#X obj 80 315 rectangle; +#X obj 119 236 unpack f f f f; +#X obj 81 116 gemhead; +#X obj 310 88 gems.win @dimen 320 320; +#X obj 310 66 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 74 14 Description: Collection of data for dynamic Gem shapes +generation; +#X text 74 45 Wraps cyclone's [coll]; +#X text 72 66 @author Alexandre Quessy; +#X msg 313 158 1 0 0 1 1 \, 2 1 1 0.5 0.5 \, 3 -3 3 0.25 0.25; +#X obj 80 150 gems.alpha.mode 6 1; +#X obj 80 177 colorRGB 1 0.8 0.2 1; +#X msg 313 180 delete 1; +#X obj 80 205 gems.coll @file your.coll; +#X obj 313 135 loadbang; +#X connect 0 0 1 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 2 2 1 1; +#X connect 2 3 1 2; +#X connect 3 0 10 0; +#X connect 5 0 4 0; +#X connect 9 0 13 1; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 13 1; +#X connect 13 0 0 0; +#X connect 13 1 2 0; +#X connect 14 0 9 0; diff --git a/gems.coll.pd b/gems.coll.pd new file mode 100644 index 0000000..5eca1b1 --- /dev/null +++ b/gems.coll.pd @@ -0,0 +1,65 @@ +#N canvas 382 171 788 577 10; +#X obj 261 288 coll; +#C restore; +#X obj 161 67 inlet; +#X msg 211 187 dump; +#X obj 567 598 outlet; +#X obj 518 602 outlet; +#X obj 473 600 outlet; +#X obj 403 586 outlet; +#X msg 266 230 0; +#X msg 167 242 1; +#X obj 198 271 f; +#X obj 211 397 spigot 1; +#X obj 406 89 loadbang; +#X obj 407 111 dollarg; +#X obj 407 134 init.post.dollarg; +#X obj 406 157 route file; +#X obj 407 178 flow.prepend read; +#X obj 304 370 spigot 1; +#X obj 272 405 spigot 1; +#X obj 323 308 spigot 1; +#X obj 17 542 outlet; +#X obj 17 518 separator; +#X obj 16 493 flow.any; +#X obj 186 162 t b b b b a; +#X obj 435 245 inlet; +#X obj 154 360 == 0; +#X obj 141 394 spigot 0; +#X obj 133 428 t b a; +#X obj 98 541 outlet; +#X connect 0 0 10 0; +#X connect 0 0 25 0; +#X connect 0 1 17 0; +#X connect 0 2 16 0; +#X connect 0 3 18 0; +#X connect 1 0 22 0; +#X connect 2 0 0 0; +#X connect 7 0 9 0; +#X connect 8 0 9 0; +#X connect 9 0 10 1; +#X connect 9 0 17 1; +#X connect 9 0 16 1; +#X connect 9 0 18 1; +#X connect 9 0 24 0; +#X connect 10 0 6 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 13 1; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 0 0; +#X connect 16 0 4 0; +#X connect 17 0 5 0; +#X connect 18 0 3 0; +#X connect 20 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 8 0; +#X connect 22 2 2 0; +#X connect 22 3 7 0; +#X connect 22 4 21 1; +#X connect 23 0 0 0; +#X connect 24 0 25 1; +#X connect 25 0 26 0; +#X connect 26 0 21 0; +#X connect 26 1 27 0; diff --git a/gems.color.offset-help.pd b/gems.color.offset-help.pd new file mode 100644 index 0000000..4405f2e --- /dev/null +++ b/gems.color.offset-help.pd @@ -0,0 +1,34 @@ +#N canvas 293 212 735 560 10; +#X floatatom 299 173 5 0 0 0 - - -; +#X obj 300 151 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -233017 +-1 -1 8900 1; +#X obj 117 143 t a a; +#X obj 52 315 color; +#X obj 53 340 translateXYZ 2 2 0; +#X obj 58 377 square 2; +#X obj 52 234 gemhead 100; +#X obj 254 323 color; +#X obj 260 385 square 2; +#X obj 254 242 gemhead 100; +#X obj 255 348 translateXYZ -2 -2 0; +#X text 23 -86 Description: Hue offset to an other color that helps +you create complementary colors or similar ones.; +#X obj 459 24 gems.win; +#X obj 459 1 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 186 196 gems.color.offset; +#X obj 117 29 input.color.grid_; +#X text 297 135 Offset (-1 to 1); +#X connect 0 0 14 1; +#X connect 1 0 0 0; +#X connect 2 0 3 1; +#X connect 2 1 14 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 6 0 3 0; +#X connect 7 0 10 0; +#X connect 9 0 7 0; +#X connect 10 0 8 0; +#X connect 13 0 12 0; +#X connect 14 0 7 1; +#X connect 15 0 2 0; diff --git a/gems.color.offset.pd b/gems.color.offset.pd new file mode 100644 index 0000000..cf19189 --- /dev/null +++ b/gems.color.offset.pd @@ -0,0 +1,35 @@ +#N canvas 794 61 560 499 10; +#X obj 93 109 unpack f f f; +#X obj 131 379 pack f f f; +#X obj 130 431 outlet; +#X obj 262 74 t b f; +#X obj 130 408 convert.hsv2rgb; +#X obj 38 56 convert.rgb2hsv; +#X obj 15 17 inlet float_RGB; +#X obj 324 16 inlet offset; +#X obj 116 242 +; +#X obj 91 185 f; +#X obj 66 278 flow.split 0 1; +#X obj 53 141 clip 0 1; +#X obj 275 50 clip -1 1; +#X obj 216 339 +; +#X obj 219 298 * -1; +#X connect 0 0 11 0; +#X connect 0 1 1 1; +#X connect 0 2 1 2; +#X connect 1 0 4 0; +#X connect 3 0 9 0; +#X connect 3 1 8 1; +#X connect 4 0 2 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 7 0 12 0; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 1 0; +#X connect 10 1 13 0; +#X connect 10 2 14 0; +#X connect 11 0 9 0; +#X connect 12 0 3 0; +#X connect 13 0 1 0; +#X connect 14 0 13 1; diff --git a/gems.contrast-help.pd b/gems.contrast-help.pd new file mode 100644 index 0000000..fe3a58c --- /dev/null +++ b/gems.contrast-help.pd @@ -0,0 +1,40 @@ +#N canvas 589 230 463 342 10; +#X obj 24 192 gems.contrast @id contrast; +#X obj 370 24 param.gui; +#X msg 370 2 contrast; +#X text 21 -23 Description: pix_contrast wrapper; +#X obj 24 -2 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 24 43 print settings; +#X obj 24 19 gems.win @dimen 320 240; +#X obj 24 218 pix_texture; +#X obj 24 163 pix_image; +#X text 73 115 (All of these images are 256x256 pixels); +#X obj 39 113 hradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#N canvas 0 22 450 300 small_images 0; +#X obj 194 163 file.path.top; +#X msg 194 186 open \$1; +#X obj 70 8 loadbang; +#X obj 189 238 outlet; +#X obj 270 40 inlet; +#X msg 76 32 0; +#X obj 116 100 makesymbol medias/images/img%s.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X restore 39 136 pd small_images; +#X obj 24 91 gemhead; +#X obj 24 240 square 4; +#X connect 0 0 7 0; +#X connect 2 0 1 0; +#X connect 4 0 6 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 8 0 0 0; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 8 0; diff --git a/gems.contrast.pd b/gems.contrast.pd new file mode 100644 index 0000000..c3310ad --- /dev/null +++ b/gems.contrast.pd @@ -0,0 +1,27 @@ +#N canvas 672 615 450 300 10; +#X obj 326 40 param.group; +#X obj 380 -8 loadbang; +#X obj 380 16 dollarg; +#X obj 300 -8 inlet params; +#X obj 37 85 pix_contrast; +#X obj 37 -10 inlet; +#X obj 17 161 outlet; +#X obj 132 90 param.atom switch false; +#X obj 17 133 mux 1 2; +#X obj 132 112 == 0; +#X obj 107 19 param.atom saturation 1 0 255; +#X obj 73 -10 param.atom contrast 1 0 10; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 5 0 8 0; +#X connect 7 0 9 0; +#X connect 7 0 8 2; +#X connect 8 0 6 0; +#X connect 9 0 4 2; +#X connect 9 0 4 1; +#X connect 10 0 4 2; +#X connect 11 0 4 1; diff --git a/gems.curve.n-help.pd b/gems.curve.n-help.pd new file mode 100644 index 0000000..802f9c9 --- /dev/null +++ b/gems.curve.n-help.pd @@ -0,0 +1,191 @@ +#N canvas 250 45 730 636 10; +#X obj 245 85 cnv 15 100 60 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 3 321 color 0 1 0; +#X msg 163 537 0 0 0 0; +#X msg 177 561 1 1 1 1; +#X msg 158 584 2 1 2 1; +#X msg 72 524 48; +#X obj 374 89 adc~; +#X obj 4 449 rotateXYZ; +#X msg 266 109 \; pd dsp 1; +#X obj 3 299 alpha 1; +#X text 259 86 click here; +#X obj 87 104 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 3 485 gems.alpha.mode 1; +#X obj 0 131 gemhead; +#X obj 3 168 t a b; +#X obj 119 511 r \$0curve_points; +#X obj 86 292 r \$0color; +#X obj 37 415 r \$0rotation; +#X obj 54 352 r \$0translation; +#X obj 4 384 translateXYZ; +#N canvas 0 0 1022 686 draw_audio_input 1; +#X obj 587 19 inlet~; +#X obj 373 424 image mandala.gif; +#X obj 400 266 tabread \$0-knots; +#X obj 338 266 t f f; +#X obj 337 332 pack f f f 0; +#X obj 339 290 t f f; +#X obj 339 229 until; +#X msg 370 170 0; +#X obj 338 247 f 0; +#X obj 366 247 + 1; +#X obj 339 147 t b b; +#X obj 366 314 expr (($f1/$f2)*12)-6; +#X obj 342 201 t f f; +#X msg 340 172 800; +#X obj 567 382 table \$0-knots 800; +#X obj 567 356 tabwrite~ \$0-knots; +#X obj 401 292 * 4; +#X obj 251 501 f 0; +#X obj 279 501 + 1; +#X msg 197 267 \$1 1 1; +#X obj 197 246 expr ($f1%100)/100; +#X obj 197 224 f 0; +#X obj 225 224 + 1; +#X msg 198 333 \$1 \$2 \$3 0.3; +#X obj 39 355 f 0; +#X obj 67 355 + 1; +#X obj 93 387 sel 0 100; +#X msg 92 410 1; +#X msg 136 410 -1; +#X obj 50 431 expr ($f1-50)/25; +#X obj 51 377 t f f; +#X obj 341 19 t b; +#X obj 363 386 s \$0curve_points; +#X obj 235 368 s \$0color; +#X obj 251 527 s \$0rotation; +#X obj 64 463 s \$0translation; +#X obj 223 -96 inlet; +#X obj 197 302 convert.hsv2rgb; +#X connect 0 0 15 0; +#X connect 2 0 16 0; +#X connect 3 0 5 0; +#X connect 3 1 2 0; +#X connect 4 0 32 0; +#X connect 5 0 4 0; +#X connect 5 1 11 0; +#X connect 6 0 8 0; +#X connect 7 0 8 1; +#X connect 8 0 9 0; +#X connect 8 0 3 0; +#X connect 9 0 8 1; +#X connect 10 0 13 0; +#X connect 10 1 7 0; +#X connect 11 0 4 1; +#X connect 12 0 6 0; +#X connect 12 1 11 1; +#X connect 13 0 12 0; +#X connect 16 0 4 2; +#X connect 17 0 18 0; +#X connect 17 0 34 0; +#X connect 18 0 17 1; +#X connect 19 0 37 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 21 0 20 0; +#X connect 22 0 21 1; +#X connect 23 0 33 0; +#X connect 24 0 25 0; +#X connect 24 0 30 0; +#X connect 25 0 24 1; +#X connect 26 0 27 0; +#X connect 26 1 28 0; +#X connect 27 0 25 1; +#X connect 28 0 25 1; +#X connect 29 0 35 0; +#X connect 30 0 29 0; +#X connect 30 1 26 0; +#X connect 31 0 10 0; +#X connect 31 0 15 0; +#X connect 31 0 17 0; +#X connect 31 0 24 0; +#X connect 31 0 21 0; +#X connect 36 0 31 0; +#X connect 37 0 23 0; +#X restore 189 195 pd draw_audio_input; +#X obj 381 145 *~ 1; +#X text 365 63 Volume boost; +#X text 6 9 Description: Creates a dynamic number of curve objects. +; +#X text 3 41 In this example \, we analyse the audio input to synth +the coordinates of the curve points.; +#X obj 3 251 repeat 1; +#X obj 74 222 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X obj 73 247 + 1; +#X text 122 219 Repeat the gemchain (creates clones).; +#X obj 449 84 osc~ 110; +#X obj 408 83 vsl 15 50 0 4 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 4900 1; +#X obj 510 86 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 0 1; +#X obj 456 152 *~ 0; +#X obj 611 89 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 900 1; +#X obj 568 154 *~ 0; +#X obj 561 86 noise~; +#X text 338 199 You can also try with other source types.; +#X obj 7 554 gems.curve.n 800; +#X obj 320 362 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 11913 1; +#X floatatom 317 380 5 0 0 0 - - -; +#X floatatom 368 386 5 0 0 0 - - -; +#X obj 469 439 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 245 412 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 495 439 quality (high by default); +#X text 264 412 on/off; +#X obj 245 380 loadbang; +#X text 460 359 feedback amount; +#X obj 317 321 loadbang; +#X text 406 387 feedback direction (default to 0.1):; +#X text 404 401 positive value: feed outward; +#X text 403 417 nagative value: feed inward; +#X obj 250 488 gems.win.feedback; +#X msg 317 342 0.938; +#X obj 85 136 gems.win 320 240; +#X connect 1 0 19 0; +#X connect 2 0 37 2; +#X connect 3 0 37 2; +#X connect 4 0 37 2; +#X connect 5 0 37 1; +#X connect 6 0 21 0; +#X connect 7 0 12 0; +#X connect 9 0 1 0; +#X connect 11 0 53 0; +#X connect 12 0 37 0; +#X connect 13 0 14 0; +#X connect 14 0 25 0; +#X connect 14 1 20 0; +#X connect 15 0 37 2; +#X connect 16 0 1 1; +#X connect 17 0 7 1; +#X connect 17 0 7 2; +#X connect 17 0 7 3; +#X connect 18 0 19 1; +#X connect 18 0 19 2; +#X connect 18 0 19 3; +#X connect 19 0 7 0; +#X connect 21 0 20 1; +#X connect 25 0 9 0; +#X connect 26 0 27 0; +#X connect 27 0 25 1; +#X connect 29 0 32 0; +#X connect 30 0 21 1; +#X connect 31 0 32 1; +#X connect 32 0 20 1; +#X connect 33 0 34 1; +#X connect 34 0 20 1; +#X connect 35 0 34 0; +#X connect 38 0 39 0; +#X connect 39 0 51 2; +#X connect 40 0 51 3; +#X connect 41 0 51 4; +#X connect 42 0 51 1; +#X connect 45 0 42 0; +#X connect 47 0 52 0; +#X connect 52 0 38 0; diff --git a/gems.curve.n.pd b/gems.curve.n.pd new file mode 100644 index 0000000..9a6f6d3 --- /dev/null +++ b/gems.curve.n.pd @@ -0,0 +1,132 @@ +#N canvas 198 102 970 527 10; +#N canvas 0 22 502 352 1003-dynamicpatch 0; +#X obj 150 40 route; +#X obj 150 15 r 1003xyz; +#X obj 10 15 r 1003gem; +#X obj 10 60 s 1003gemout; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X restore 291 18 pd \$0-dynamicpatch; +#X obj 111 74 f \$1; +#X obj 151 120 until; +#X obj 185 14 inlet; +#X obj 112 15 loadbang; +#X obj -113 14 inlet gemchain; +#X obj -112 96 s \$0gem; +#X msg 195 121 0; +#X obj 335 135 symbol; +#X msg 336 159 \; \$1 clear; +#X obj 335 93 makesymbol pd-%s-dynamicpatch; +#X obj 335 73 f \$0; +#X text 359 114 id of the dynamic subpatch; +#X obj 151 142 f 0; +#X obj 189 144 + 1; +#X obj 268 212 pack f s; +#X obj 268 191 f \$0; +#X obj 480 19 inlet knot_xyz; +#X obj 480 40 s \$0xyz; +#X obj -87 468 outlet gemchain; +#X obj -87 416 r \$0gemout; +#X msg 666 221 set; +#X msg 667 242 addsemi; +#X msg 668 312 add2 \$1; +#X obj 548 214 until; +#X msg 588 220 0; +#X obj 548 244 f 0; +#X obj 578 243 + 1; +#X obj 530 315 symbol; +#X obj 181 167 t f f f; +#X obj 149 217 pack f f f s; +#X obj 530 152 f \$1; +#X text 168 -3 objects: 0:route 0-n-1 \, 1:r 0xyz \, 2:r 0gem; +#X obj 181 191 + 2; +#X obj 212 193 + 3; +#X text 22 370 dollards: 1:route number \, 2:previous object \, 3:current +object; +#X obj 19 224 pack f s f f; +#X obj 33 148 t f f; +#X obj 33 174 + 2; +#X obj 63 175 + 3; +#X msg 19 248 \; \$2 obj 10 60 s \$3gemout \; \$2 connect \$1 0 \$4 +0; +#X msg 670 263 adddollar 1; +#X obj 111 97 t f f; +#X msg 268 234 \; \$2 obj 150 15 r \$1xyz \; \$2 obj 10 15 r \$1gem +\; \$2 connect 1 0 0 0 \;; +#X msg 531 373 \; \$1 obj 150 40 route; +#X msg 670 288 add2 obj 150 40 route; +#X obj 113 37 t b b b b; +#X msg 150 299 \; \$4 obj 10 40 GEMglVertex3fv \; \$4 connect \$2 0 +\$3 0 \; \$4 connect 0 \$1 \$3 1 \;; +#X obj 186 38 t f b b f b; +#X obj -112 72 GEMglBegin; +#X obj -47 53 GLdefine GL_LINE_STRIP; +#X obj -47 34 loadbang; +#X obj -88 440 GEMglEnd; +#X obj 531 178 t b f b b b b b; +#X connect 1 0 42 0; +#X connect 2 0 13 0; +#X connect 3 0 48 0; +#X connect 4 0 46 0; +#X connect 5 0 49 0; +#X connect 7 0 13 1; +#X connect 8 0 9 0; +#X connect 10 0 8 0; +#X connect 10 0 15 1; +#X connect 10 0 28 1; +#X connect 10 0 30 3; +#X connect 10 0 36 1; +#X connect 11 0 10 0; +#X connect 11 0 36 2; +#X connect 13 0 14 0; +#X connect 13 0 29 0; +#X connect 14 0 13 1; +#X connect 15 0 43 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X connect 20 0 52 0; +#X connect 21 0 44 0; +#X connect 22 0 44 0; +#X connect 23 0 44 0; +#X connect 24 0 26 0; +#X connect 25 0 26 1; +#X connect 26 0 27 0; +#X connect 26 0 23 0; +#X connect 27 0 26 1; +#X connect 28 0 44 0; +#X connect 29 0 30 0; +#X connect 29 1 33 0; +#X connect 29 2 34 0; +#X connect 30 0 47 0; +#X connect 31 0 53 0; +#X connect 33 0 30 1; +#X connect 34 0 30 2; +#X connect 36 0 40 0; +#X connect 37 0 38 0; +#X connect 37 1 39 0; +#X connect 38 0 36 0; +#X connect 39 0 36 3; +#X connect 41 0 44 0; +#X connect 42 0 37 0; +#X connect 42 1 2 0; +#X connect 45 0 44 0; +#X connect 46 0 1 0; +#X connect 46 1 16 0; +#X connect 46 2 31 0; +#X connect 46 3 11 0; +#X connect 48 0 1 0; +#X connect 48 1 7 0; +#X connect 48 2 16 0; +#X connect 48 3 31 0; +#X connect 48 4 8 0; +#X connect 49 0 6 0; +#X connect 50 0 49 1; +#X connect 51 0 50 0; +#X connect 52 0 19 0; +#X connect 53 0 28 0; +#X connect 53 1 24 0; +#X connect 53 2 45 0; +#X connect 53 3 41 0; +#X connect 53 4 22 0; +#X connect 53 5 21 0; +#X connect 53 6 25 0; diff --git a/gems.depth-help.pd b/gems.depth-help.pd new file mode 100644 index 0000000..6c70881 --- /dev/null +++ b/gems.depth-help.pd @@ -0,0 +1,64 @@ +#N canvas 654 271 649 601 10; +#X obj 376 -62 gems.win 640 480; +#X obj 376 -90 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 36 -106 gemhead; +#X obj 36 377 rectangle 4 3; +#X obj 56 -20 file.path.top; +#X obj 36 25 pix_texture; +#X floatatom 71 279 5 0 0 0 - - -; +#X obj 71 142 vsl 15 128 -20 4 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 10200 1; +#X floatatom 270 255 5 0 0 0 - - -; +#X obj 270 118 vsl 15 128 -20 4 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 12700 1; +#X obj 231 -4 gemhead; +#X obj 56 -85 loadbang; +#X obj 235 299 colorRGB 1 0.9 0.1; +#X obj 381 212 gemhead; +#X floatatom 508 256 5 0 0 0 - - -; +#X obj 508 119 vsl 15 128 -20 4 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 11400 1; +#X obj 381 277 translateXYZ; +#X obj 380 302 colorRGB 1 0 0; +#X text 374 172 Without it:; +#X obj 379 329 square 1; +#X obj 234 326 rectangle 1 3.66666; +#X obj 36 352 translateXYZ; +#X floatatom 59 328 5 0 0 0 - - -; +#X floatatom 102 327 5 0 0 0 - - -; +#X floatatom 143 329 5 0 0 0 - - -; +#X text 140 352 For testing; +#X text 62 -166 Description: Translates an object on the Z axis without +altering its effective XY dimensions.; +#X obj 235 275 gems.depth; +#X obj 36 299 gems.depth; +#X text 282 43 Todo: Provide support for render ordering; +#X text 292 13 Rotate the gem window to see how it works ! (with right +mouse button); +#X obj 36 3 gems.movies; +#X msg 56 -55 medias/movies/mov0.mov; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 4 0 31 1; +#X connect 5 0 28 0; +#X connect 6 0 28 1; +#X connect 7 0 6 0; +#X connect 8 0 27 1; +#X connect 9 0 8 0; +#X connect 10 0 27 0; +#X connect 11 0 32 0; +#X connect 12 0 20 0; +#X connect 13 0 16 0; +#X connect 14 0 16 3; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 17 0 19 0; +#X connect 21 0 3 0; +#X connect 22 0 21 1; +#X connect 23 0 21 2; +#X connect 24 0 21 3; +#X connect 27 0 12 0; +#X connect 28 0 21 0; +#X connect 31 0 5 0; +#X connect 32 0 4 0; diff --git a/gems.depth.pd b/gems.depth.pd new file mode 100644 index 0000000..a854952 --- /dev/null +++ b/gems.depth.pd @@ -0,0 +1,73 @@ +#N canvas 218 309 633 625 10; +#X msg 153 121 \$3; +#X obj 154 101 route view; +#X text 185 122 Z; +#X obj 146 177 f 4; +#X obj 177 148 loadbang; +#X obj 100 276 -; +#X obj 99 229 pack f f; +#X obj 182 177 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 100 255 \$2 \$1; +#X text 131 280 dist from camera; +#X obj 92 106 f; +#X floatatom 91 23 5 0 0 0 - - -; +#X floatatom 119 303 5 0 0 0 - - -; +#X obj 146 207 t f f; +#X obj 158 55 r gems.win/state; +#X obj 73 334 /; +#X floatatom 102 357 5 0 0 0 - - -; +#X obj 75 208 - 4; +#X msg 76 293 4; +#X obj 74 179 t b f; +#X text 145 355 scaled by factor; +#X obj 76 380 t b f; +#X obj 77 408 f 1; +#X obj 81 438 /; +#X floatatom 83 469 5 0 0 0 - - -; +#X text 83 3 how much the object is translated on Z-axis; +#X obj 33 4 inlet; +#X obj 210 492 outlet; +#X obj 278 54 inlet; +#X obj -73 10 inlet; +#X obj -76 569 outlet; +#X obj -49 320 translateXYZ; +#X obj 31 49 t f f; +#X obj -76 503 scaleXYZ 1 1 1; +#X text -12 530 TODO: is scale Z ok?; +#X text 323 242 TODO: Optimize; +#X text 323 55 The camera position on z-axis; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 3 0 13 0; +#X connect 4 0 3 0; +#X connect 5 0 12 0; +#X connect 5 0 15 1; +#X connect 6 0 8 0; +#X connect 7 0 3 0; +#X connect 8 0 5 0; +#X connect 10 0 19 0; +#X connect 11 0 10 0; +#X connect 13 0 6 1; +#X connect 14 0 1 0; +#X connect 15 0 16 0; +#X connect 15 0 33 3; +#X connect 15 0 21 0; +#X connect 18 0 15 0; +#X connect 19 0 17 0; +#X connect 19 0 18 0; +#X connect 19 1 6 0; +#X connect 21 0 22 0; +#X connect 21 1 23 1; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 23 0 27 0; +#X connect 23 0 33 1; +#X connect 23 0 33 2; +#X connect 26 0 32 0; +#X connect 28 0 3 0; +#X connect 29 0 31 0; +#X connect 31 0 33 0; +#X connect 32 0 31 3; +#X connect 32 1 10 0; +#X connect 33 0 30 0; diff --git a/gems.display.list-help.pd b/gems.display.list-help.pd new file mode 100644 index 0000000..b039b21 --- /dev/null +++ b/gems.display.list-help.pd @@ -0,0 +1,32 @@ +#N canvas 0 22 685 335 10; +#X obj 64 130 gems.display.list; +#X obj 64 67 gemhead; +#X obj 53 315 triangle; +#X obj 51 292 colorRGB 1 0 0 1; +#X obj 456 68 gems.win 320 240; +#X obj 456 46 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 52 234 spigot 1; +#X obj 179 221 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 69 170 <-- even if you cut this patch chord \, it still draws +a triangle \, since it has recorded the vertices in an OpenGL display +list; +#X text 200 218 <-- Try turning off the spigot; +#X text 61 20 Description: Records and plays back an OpenGL display +list; +#X msg 127 63 recompile; +#X floatatom 200 53 5 0 0 0 - - -; +#X obj 199 74 t b f; +#X text 258 100 <-- sending "recompile" to its right inlet recompiles +the display list. Also works with bang; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 3 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 7 0 6 1; +#X connect 11 0 0 1; +#X connect 12 0 13 0; +#X connect 13 0 0 1; +#X connect 13 1 3 3; diff --git a/gems.display.list.pd b/gems.display.list.pd new file mode 100644 index 0000000..d60c3f3 --- /dev/null +++ b/gems.display.list.pd @@ -0,0 +1,101 @@ +#N canvas 0 22 1341 781 10; +#X obj 366 251 GEMglGenLists 1; +#X obj 336 418 GEMglNewList; +#X obj 60 469 GEMglCallList; +#N canvas 0 22 454 304 once 0; +#X obj 91 62 inlet; +#X obj 91 266 outlet; +#X obj 91 150 spigot 1; +#X obj 91 175 t a b; +#X msg 121 197 0; +#X obj 298 57 inlet open; +#X obj 298 92 t b; +#X msg 142 128 1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 2 1; +#X restore 366 229 pd once; +#N canvas 0 22 450 300 once 0; +#X obj 91 62 inlet; +#X obj 91 266 outlet; +#X obj 91 150 spigot 1; +#X obj 91 175 t a b; +#X msg 121 197 0; +#X obj 298 57 inlet open; +#X obj 298 92 t b; +#X msg 142 128 1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 2 1; +#X restore 336 392 pd once; +#X msg 417 199 bang; +#X obj 78 576 GEMglEndList; +#X obj 361 465 t a a; +#X obj 336 198 t a a; +#X obj 466 271 t f b; +#X obj 406 310 t f f; +#X text 346 25 1 generate a displaylist with [GEMglGenLists]; +#X text 376 38 you should do this only once; +#X text 346 65 2 compile what is between [GEMglNewList] and [GEMglEndList] +; +#X text 377 82 you should do this \, whenever a parameter of the display-list +has changed; +#X text 346 125 3 call the displaylist with [GEMglCallList]; +#X msg 496 318 bang; +#X text 535 320 recompile the display-list; +#X obj 60 437 spigot; +#X obj 282 356 t b f; +#X msg 182 385 1; +#X text 461 190 CLICK ME to generate the display-list \, once the rendering +is turned on; +#X text 889 157 when you change this \, the display-list will be recompiled +; +#X obj 206 46 inlet; +#X obj 180 716 outlet; +#X obj 418 150 r gems.win/state; +#X obj 416 177 sel 1; +#X obj 884 94 inlet; +#X obj 853 247 t b; +#X obj 415 393 gems.gl.def GL_COMPILE; +#X obj 49 161 t a a; +#X obj 853 213 route recompile bang generate; +#X connect 0 1 9 0; +#X connect 1 0 7 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 3 1; +#X connect 7 0 6 0; +#X connect 7 1 24 0; +#X connect 8 0 4 0; +#X connect 8 1 3 0; +#X connect 9 0 10 0; +#X connect 9 1 16 0; +#X connect 10 0 19 0; +#X connect 10 1 1 1; +#X connect 16 0 4 1; +#X connect 18 0 2 0; +#X connect 19 0 20 0; +#X connect 19 1 2 1; +#X connect 20 0 18 1; +#X connect 23 0 8 0; +#X connect 23 0 30 0; +#X connect 25 0 26 0; +#X connect 26 0 5 0; +#X connect 27 0 31 0; +#X connect 28 0 16 0; +#X connect 29 0 1 2; +#X connect 30 0 18 0; +#X connect 30 1 8 0; +#X connect 31 0 28 0; +#X connect 31 1 28 0; +#X connect 31 2 3 1; diff --git a/gems.duplicate-help.pd b/gems.duplicate-help.pd new file mode 100644 index 0000000..5a8ff34 --- /dev/null +++ b/gems.duplicate-help.pd @@ -0,0 +1,90 @@ +#N canvas 358 87 670 685 10; +#X obj 71 249 scaleXYZ 1.02 1.02 1.02; +#X obj 82 104 scaleXYZ 0.2 0.2 0.2; +#X obj 82 79 gemhead; +#X obj 365 480 unpack f f f; +#X obj 365 417 / 360; +#X obj 365 397 % 360; +#X obj 441 127 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 474 121 FSAA 6; +#X obj 123 219 count.iter 1 0.02; +#X obj 474 98 loadbang; +#X obj 366 377 count.iter 0 137.5; +#X obj 254 203 t b; +#X obj 282 204 t b; +#X msg 365 437 \$1 0.5 1; +#X obj 129 302 count.iter 0 137.5; +#X msg 523 121 frame 60; +#X floatatom 200 134 5 0 0 0 - - -; +#X text 61 538 The relative rotation of 137.5 degrees occurs frequently +in nature. Terms within the Fibonacci sequence can often be found in +the spiral paths formed from the center.; +#X text 245 133 Number of iterations; +#X obj 71 323 rotateXYZ; +#X obj 71 389 translateXYZ; +#X obj 70 412 colorRGB; +#X obj 107 452 + 1; +#X obj 107 490 *; +#X obj 70 509 circle; +#X obj 397 202 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 107 471 0.333 \$1; +#X text 73 16 You can change the number of iteration using the right +inlet.; +#X text 419 201 Start over the animation; +#X text 73 -27 Description: Repeats a Gem chain and separates it.; +#X obj 213 335 count.iter 0 1e-006; +#X obj 81 154 gems.duplicate 220; +#X msg 181 492 draw line; +#X obj 181 468 loadbang; +#X obj 97 367 count.iter 0 0.02; +#X obj 365 457 convert.hsv2rgb; +#X text 74 -12 Outlet 2 bangs on each repetition \, and then outlet +3 bang once.; +#X obj 441 151 gems.win 320 240; +#X connect 0 0 19 0; +#X connect 1 0 31 0; +#X connect 2 0 1 0; +#X connect 3 0 21 1; +#X connect 3 1 21 2; +#X connect 3 2 21 3; +#X connect 4 0 13 0; +#X connect 5 0 4 0; +#X connect 6 0 37 0; +#X connect 7 0 37 0; +#X connect 8 0 0 1; +#X connect 8 0 0 2; +#X connect 8 0 0 3; +#X connect 9 0 7 0; +#X connect 9 0 15 0; +#X connect 10 0 5 0; +#X connect 11 0 8 0; +#X connect 11 0 10 0; +#X connect 11 0 14 0; +#X connect 11 0 30 0; +#X connect 11 0 34 0; +#X connect 12 0 8 1; +#X connect 12 0 10 1; +#X connect 12 0 14 1; +#X connect 12 0 34 1; +#X connect 13 0 35 0; +#X connect 14 0 19 3; +#X connect 15 0 37 0; +#X connect 16 0 31 1; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 24 0; +#X connect 22 0 26 0; +#X connect 23 0 24 1; +#X connect 25 0 30 1; +#X connect 26 0 23 0; +#X connect 30 0 22 0; +#X connect 30 0 34 2; +#X connect 31 0 0 0; +#X connect 31 1 11 0; +#X connect 31 2 12 0; +#X connect 32 0 24 0; +#X connect 33 0 32 0; +#X connect 34 0 20 1; +#X connect 35 0 3 0; diff --git a/gems.duplicate.pd b/gems.duplicate.pd new file mode 100644 index 0000000..b464b71 --- /dev/null +++ b/gems.duplicate.pd @@ -0,0 +1,20 @@ +#N canvas 906 283 341 293 10; +#X obj 41 87 t a b; +#X obj 44 167 t a b; +#X obj 39 39 inlet; +#X obj 41 232 outlet; +#X obj 126 240 outlet; +#X obj 212 233 outlet; +#X obj 43 200 separator; +#X obj 192 57 inlet; +#X obj 42 144 repeat \$1; +#X obj 204 121 max 0; +#X connect 0 0 8 0; +#X connect 0 1 5 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 2 0 0 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 8 0 1 0; +#X connect 9 0 8 1; diff --git a/gems.fft~-help.pd b/gems.fft~-help.pd new file mode 100644 index 0000000..971eb01 --- /dev/null +++ b/gems.fft~-help.pd @@ -0,0 +1,137 @@ +#N canvas 616 97 774 676 10; +#X text 53 -110 Description: FFT spectral graphical analysis; +#X obj 140 250 gems.fft~ @enable 1; +#X obj 24 55 gemhead; +#X msg 265 148 info; +#X obj -42 377 translateXYZ 0 0 0; +#X obj 65 185 t f f; +#X obj 126 451 unpack f f f; +#X msg 126 408 \$1 0.5 1; +#X obj 126 428 convert.hsv2rgb; +#X obj 11 -114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 275 366 5 0 0 0 - - -; +#X obj 306 322 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 274 343 spigot 1; +#X obj 65 502 colorRGB 1 1 1 1; +#X obj 126 367 count.iter 0 1; +#X obj 126 388 / 128; +#X obj 63 162 count.iter 0 1; +#X obj 28 120 gems.duplicate 128; +#X obj 32 323 * 1; +#X obj 366 332 route table.size table.name; +#X obj 445 355 flow.prepend set; +#X msg 446 377 1123-fft; +#X floatatom 347 367 5 0 0 0 - - -; +#X floatatom 193 43 5 0 0 0 - - -; +#X obj 404 -118 adc~; +#X msg 248 18 \; pd dsp 1; +#X obj 33 345 - 3.5; +#X obj 25 78 gems.alpha.mode 6 7; +#X obj 9 -82 gems.win @dimen 600 300; +#X obj -5 346 + -7; +#X obj -5 322 * 0.1; +#X obj 64 526 rectangle 0.03 0.2; +#X obj 424 125 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 11022 1; +#X floatatom 421 143 5 0 0 0 - - -; +#X floatatom 472 149 5 0 0 0 - - -; +#X obj 381 126 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 421 105 0.86; +#X obj 421 84 loadbang; +#X obj 380 179 gems.win.feedback; +#X msg 510 147 -0.22; +#X text 49 -60 Inlets_1: Table index to read [0 \, 127]; +#X text 50 -45 Inlets_2: audio signal to analyze; +#X text 51 -30 Inlets_3: Arguments; +#X text 52 -9 Arguments: info \, enable [0 \, 1] \, lop [f]; +#X text 53 8 Author: Alexandre Quessy; +#X text 301 256 Outlet_1: value read at table index; +#X text 304 271 Outlet_2: informations; +#X msg 275 191 enable \$1; +#X obj 276 172 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 462 -56 phasor~; +#X obj 636 -84 mtof; +#X floatatom 636 -105 5 33 110 0 - - -; +#X obj 462 -77 mtof; +#X floatatom 462 -95 5 0 0 0 - - -; +#X obj 600 -133 noise~; +#X obj 600 -60 bp~ 2637 35; +#X obj 599 -37 *~ 5; +#X obj 271 -167 hradio 30 1 0 4 empty empty select_input 0 -6 0 10 +-257985 -1 -1 0; +#X obj 462 -118 init.lf 48; +#X obj 373 18 multiplex~ 0 1 2 3; +#X obj 377 39 mix.out_~; +#X obj 523 -55 osc~ 1760; +#X msg 353 223 gain \$1; +#X obj 567 178 vsl 30 100 0 1 0 0 empty empty gain_RMS 0 -9 0 10 -257985 +-1 -1 300 1; +#X floatatom 568 292 5 0 0 0 - - -; +#X connect 1 0 12 0; +#X connect 1 0 18 0; +#X connect 1 1 19 0; +#X connect 2 0 27 0; +#X connect 3 0 1 2; +#X connect 4 0 13 0; +#X connect 5 0 30 0; +#X connect 5 1 1 0; +#X connect 6 0 13 1; +#X connect 6 1 13 2; +#X connect 6 2 13 3; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 28 0; +#X connect 11 0 12 1; +#X connect 12 0 10 0; +#X connect 13 0 31 0; +#X connect 14 0 15 0; +#X connect 15 0 7 0; +#X connect 16 0 5 0; +#X connect 17 0 4 0; +#X connect 17 1 14 0; +#X connect 17 1 16 0; +#X connect 17 2 14 1; +#X connect 17 2 16 1; +#X connect 18 0 26 0; +#X connect 19 0 22 0; +#X connect 19 1 20 0; +#X connect 20 0 21 0; +#X connect 23 0 1 0; +#X connect 24 0 59 0; +#X connect 24 1 59 0; +#X connect 26 0 4 2; +#X connect 27 0 17 0; +#X connect 29 0 4 1; +#X connect 30 0 29 0; +#X connect 32 0 33 0; +#X connect 33 0 38 2; +#X connect 34 0 38 3; +#X connect 35 0 38 1; +#X connect 36 0 32 0; +#X connect 37 0 36 0; +#X connect 37 0 39 0; +#X connect 37 0 35 0; +#X connect 39 0 38 3; +#X connect 47 0 1 2; +#X connect 48 0 47 0; +#X connect 49 0 59 1; +#X connect 50 0 55 1; +#X connect 51 0 50 0; +#X connect 52 0 49 0; +#X connect 53 0 52 0; +#X connect 54 0 55 0; +#X connect 55 0 56 0; +#X connect 56 0 59 3; +#X connect 57 0 59 0; +#X connect 58 0 53 0; +#X connect 59 0 1 1; +#X connect 59 0 60 0; +#X connect 59 0 60 1; +#X connect 61 0 59 2; +#X connect 62 0 1 2; +#X connect 63 0 62 0; +#X connect 63 0 64 0; diff --git a/gems.fft~.pd b/gems.fft~.pd new file mode 100644 index 0000000..835d0c9 --- /dev/null +++ b/gems.fft~.pd @@ -0,0 +1,72 @@ +#N canvas 91 146 990 636 10; +#X obj 527 298 switch~; +#N canvas 997 194 427 326 fft 0; +#X obj 46 64 inlet~; +#X obj 46 94 rfft~; +#X obj 46 127 *~; +#X obj 77 127 *~; +#X obj 46 157 sqrt~; +#X obj 216 60 inlet; +#X obj 278 96 block~ 1024 1; +#X obj 53 204 clip~ 0 500; +#X obj 144 265 tabwrite~ \$0-fft; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 1 1 3 0; +#X connect 1 1 3 1; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 7 0 8 0; +#X restore 301 340 pd fft; +#X obj 302 65 inlet~; +#X obj 441 283 metro 20; +#X msg 446 214 1; +#X obj 446 194 loadbang; +#X obj 302 291 hip~ 50; +#X obj 302 311 *~ 1; +#X obj 290 442 table \$0-fft 128; +#X obj 515 81 loadbang; +#X obj 517 103 dollarg; +#X obj 524 138 init.post.dollarg; +#X obj 808 524 outlet; +#X obj 525 170 route hip enable info gain; +#X obj 610 290 symbol \$0-fft; +#X obj 667 329 flow.prepend table.name; +#X obj 611 208 t b; +#X msg 689 251 table.size 128; +#X obj 183 186 tabread \$0-fft; +#X obj 184 163 clip 0 127; +#X obj 64 59 inlet tabread.index; +#X obj 612 72 inlet arguments; +#X obj 115 512 outlet tabread.values; +#X obj 760 293 print gems.fft~; +#X obj 605 402 print gems.fft~; +#X connect 2 0 6 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 13 0; +#X connect 13 0 6 1; +#X connect 13 1 0 0; +#X connect 13 2 16 0; +#X connect 13 3 7 1; +#X connect 14 0 15 0; +#X connect 15 0 12 0; +#X connect 15 0 24 0; +#X connect 16 0 14 0; +#X connect 16 0 17 0; +#X connect 17 0 12 0; +#X connect 17 0 23 0; +#X connect 18 0 22 0; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 13 0; +#X coords 0 0 1 1 256 148 0; diff --git a/gems.fiddle.rgb~-help.pd b/gems.fiddle.rgb~-help.pd new file mode 100644 index 0000000..3d25496 --- /dev/null +++ b/gems.fiddle.rgb~-help.pd @@ -0,0 +1,31 @@ +#N canvas 313 127 796 510 10; +#X obj 508 147 hsl 128 20 0 1 0 0 empty empty hue_shift -2 -6 0 10 +-191407 -1 -1 2100 1; +#X msg 493 182 hue \$1; +#X obj 208 83 adc~; +#X text 111 217 HSV is hue \, saturation \, value (luminance); +#X text 92 31 Description: Maps the musical notes to the hue in HSV +colors; +#X obj 49 77 gemhead; +#X obj 18 283 rectangle 4 3; +#X obj 503 57 gems.win @dimen 480 480; +#X obj 503 34 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 331 120 \; pd dsp 1; +#X msg 331 83 \; pd dsp 0; +#X obj 363 243 flow.prepend set; +#X msg 366 267 0.24 0.24 0.8; +#X text 287 266 RGB result:; +#X obj 156 305 anal.scope_~; +#X obj 83 195 gems.fiddle.rgb~ @saturation 0.7 @luminance 0.8 @alpha +0.5; +#X connect 0 0 1 0; +#X connect 1 0 15 2; +#X connect 2 0 14 0; +#X connect 2 0 15 1; +#X connect 2 1 15 1; +#X connect 5 0 15 0; +#X connect 8 0 7 0; +#X connect 11 0 12 0; +#X connect 15 0 6 0; +#X connect 15 1 11 0; diff --git a/gems.fiddle.rgb~.pd b/gems.fiddle.rgb~.pd new file mode 100644 index 0000000..1798740 --- /dev/null +++ b/gems.fiddle.rgb~.pd @@ -0,0 +1,77 @@ +#N canvas 152 217 738 723 10; +#X obj 171 132 fiddle~ 2048 1; +#X msg 247 302 0 12; +#X msg 283 304 36 96; +#X obj 247 326 unpack f f; +#X obj 159 354 scale.linear 0 12 0 1; +#X obj 182 452 hsv2rgb; +#X text 341 193 convert between RGB colorspace and HSV colorspace; +#X text 343 208 RGB is red \, green \, blue; +#X text 342 223 HSV is hue \, saturation \, value (luminance); +#X obj 171 202 + 0; +#X obj 184 425 pack 1 1 1; +#X obj 54 104 inlet; +#X obj 60 577 colorRGB 1 1 1 1; +#X obj 81 549 unpack f f f; +#X obj 62 613 outlet; +#X obj 323 641 outlet; +#X obj 188 486 t a a; +#X msg 213 280 12; +#X obj 163 309 % 12; +#X msg 261 273 127; +#X obj 171 179 flow.smooth 0; +#X obj 242 245 sel octava tessitura; +#X obj 413 99 inlet; +#X obj 462 378 route saturation luminance alpha; +#X obj 452 115 init.post.dollarg; +#X obj 455 89 dollarg; +#X obj 455 39 loadbang; +#X obj 458 68 t b b; +#X text 578 144 todo; +#X obj 175 100 inlet~; +#X floatatom 154 161 5 0 0 0 - - -; +#X obj 201 387 + 0; +#X obj 339 336 t b f; +#X obj 393 146 route mode smooth hue; +#X connect 0 0 20 0; +#X connect 0 0 30 0; +#X connect 1 0 3 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; +#X connect 3 1 4 2; +#X connect 4 0 31 0; +#X connect 5 0 16 0; +#X connect 9 0 18 0; +#X connect 10 0 5 0; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 13 0 12 1; +#X connect 13 1 12 2; +#X connect 13 2 12 3; +#X connect 16 0 13 0; +#X connect 16 1 15 0; +#X connect 17 0 18 1; +#X connect 18 0 4 0; +#X connect 19 0 18 1; +#X connect 20 0 9 0; +#X connect 21 0 1 0; +#X connect 21 0 17 0; +#X connect 21 1 2 0; +#X connect 21 1 19 0; +#X connect 22 0 33 0; +#X connect 23 0 10 1; +#X connect 23 1 10 2; +#X connect 23 2 12 4; +#X connect 24 0 33 0; +#X connect 25 0 24 0; +#X connect 25 1 24 1; +#X connect 26 0 27 0; +#X connect 27 0 25 0; +#X connect 29 0 0 0; +#X connect 31 0 10 0; +#X connect 32 0 31 0; +#X connect 32 1 31 1; +#X connect 33 0 21 0; +#X connect 33 1 20 1; +#X connect 33 2 32 0; +#X connect 33 3 23 0; diff --git a/gems.fit-help.pd b/gems.fit-help.pd new file mode 100644 index 0000000..88999d8 --- /dev/null +++ b/gems.fit-help.pd @@ -0,0 +1,114 @@ +#N canvas 189 161 915 602 10; +#X obj 14 128 gemhead; +#X obj 26 481 rectangle; +#X obj 454 87 gems.win 320 240; +#X obj 111 85 bng 15 250 50 0 empty empty LOAD_ANOTHER_IMAGE 0 -6 0 +8 -262144 -1 -1; +#X obj 25 245 pix_texture; +#X text 444 29 Switch between these two window sizes and notice the +image is always displayed with the same size.; +#N canvas 0 0 450 300 custom_image 0; +#X obj 54 53 inlet; +#X obj 54 78 t b; +#X obj 54 97 openpanel; +#X msg 54 122 open \$1; +#X obj 69 201 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X restore 112 107 pd custom_image; +#X obj 25 203 pix_image; +#X text 25 11 Description: Displays an image or movie in Gem window +at it's original size.; +#X floatatom 121 410 5 0 0 0 - - -; +#X floatatom 64 407 5 0 0 0 - - -; +#X text 160 138 (All of these images are 256x256 pixels); +#X msg 456 66 1; +#X msg 584 66 1; +#X msg 161 301 window; +#X obj 129 277 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X msg 191 327 pixsize; +#X msg 197 348 pixratio; +#X text 410 386 pixsize: reproduce the image \, pixel by pixel in the +gem win.; +#X text 409 408 pixratio: only send out the normalized ration of the +image's size.; +#X obj 126 136 hradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#N canvas 0 0 450 300 small_images 0; +#X obj 194 163 file.path.top; +#X msg 194 186 open \$1; +#X obj 70 8 loadbang; +#X obj 189 238 outlet; +#X obj 270 40 inlet; +#X msg 76 32 0; +#X obj 116 100 makesymbol medias/images/img%s.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X restore 126 159 pd small_images; +#N canvas 0 0 450 300 big_image 0; +#X obj 194 163 file.path.top; +#X msg 194 186 open \$1; +#X obj 189 238 outlet; +#X obj 107 40 inlet; +#X obj 116 100 makesymbol medias/images/bigimg%s.jpg; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X restore 127 203 pd big_image; +#X obj 127 181 hradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 358 289 Inlet_1 : gemlist.; +#X text 441 118 Argument_1: Selects how you want the fitting.; +#X obj 26 366 gems.fit window; +#X msg 326 65 1; +#X obj 324 86 gems.win 320 320; +#X floatatom 83 328 5 0 0 0 scale - -; +#X obj 586 88 gems.win 240 320; +#X msg 212 381 fill; +#X text 409 444 fill: fills the whole gemwin; +#X text 357 332 Inlet_3 : selects how you want the fitting.; +#X text 358 312 Inlet_2: Determines the scaling.; +#X text 128 241 You can change the fitting by sending the mode name +or the fittings's number.; +#X text 216 299 number 0; +#X text 249 326 number 1; +#X text 261 350 number 2; +#X text 248 382 number 3; +#X text 444 165 Argument_2: The scale (defaults to 1).; +#X text 99 484 WARNING: gems.fit only outputs the fitted width (X axis) +and height (Y axis). You must manage the depth (Z axis yourself); +#X text 409 353 window or win: fit to the gem window while maintaining +the widht to height ratio.; +#X obj 445 139 gems.fit window; +#X obj 563 139 gems.fit pixratio; +#X connect 0 0 7 0; +#X connect 3 0 6 0; +#X connect 4 0 26 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 9 0 1 2; +#X connect 10 0 1 1; +#X connect 12 0 2 0; +#X connect 13 0 30 0; +#X connect 14 0 26 2; +#X connect 15 0 26 2; +#X connect 16 0 26 2; +#X connect 17 0 26 2; +#X connect 20 0 21 0; +#X connect 21 0 7 0; +#X connect 22 0 7 0; +#X connect 23 0 22 0; +#X connect 26 0 1 0; +#X connect 26 1 10 0; +#X connect 26 2 9 0; +#X connect 27 0 28 0; +#X connect 29 0 26 1; +#X connect 31 0 26 2; diff --git a/gems.fit.pd b/gems.fit.pd new file mode 100644 index 0000000..3bb3b5c --- /dev/null +++ b/gems.fit.pd @@ -0,0 +1,230 @@ +#N canvas 1135 33 1272 862 10; +#X obj 32 -16 inlet; +#X text 344 619 height; +#X text 683 628 width; +#X obj 294 622 outlet; +#X obj 631 628 outlet; +#X text 958 84 gemwin width height (in pixels); +#X text 83 -16 gemlist; +#X obj 32 589 outlet; +#X text 85 590 gemlist; +#X obj 34 158 pix_info; +#X msg 162 99 0; +#X msg 233 103 1; +#X msg 289 99 2; +#X obj 1061 161 t b b; +#X obj 1077 297 pack; +#X obj 1067 402 s \$0dimen; +#N canvas 133 18 895 711 fit2window 0; +#X text 359 606 height; +#X text 696 611 width; +#X obj 309 609 outlet; +#X obj 644 611 outlet; +#X obj 541 84 r \$0dimen; +#X obj 29 181 inlet; +#X obj 35 215 route -1; +#X obj 136 452 f 4; +#X obj 40 284 t b b; +#X obj 367 274 * 4; +#X obj 39 452 f 4; +#X obj 515 285 /; +#X obj 339 354 moses; +#X obj 333 496 * 4; +#X obj 509 496 * 4; +#X obj 124 248 /; +#X obj 306 398 t f b; +#X msg 336 423 1; +#X obj 385 418 f; +#X obj 455 435 /; +#X obj 380 374 t b b f; +#X obj 424 412 f; +#X obj 368 216 min 1; +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 6 1 15 0; +#X connect 7 0 3 0; +#X connect 8 0 10 0; +#X connect 8 1 7 0; +#X connect 9 0 10 1; +#X connect 9 0 7 1; +#X connect 10 0 2 0; +#X connect 11 0 12 1; +#X connect 11 0 18 1; +#X connect 11 0 21 1; +#X connect 11 0 22 0; +#X connect 12 0 16 0; +#X connect 12 1 20 0; +#X connect 13 0 2 0; +#X connect 14 0 3 0; +#X connect 15 0 12 0; +#X connect 16 0 13 0; +#X connect 16 1 17 0; +#X connect 17 0 14 0; +#X connect 18 0 13 0; +#X connect 19 0 14 0; +#X connect 20 0 18 0; +#X connect 20 1 21 0; +#X connect 20 2 19 1; +#X connect 21 0 19 0; +#X connect 22 0 9 0; +#X restore 167 434 pd fit2window; +#N canvas 0 0 810 635 fit2originalsize 0; +#X obj 82 26 inlet; +#X obj 463 310 /; +#X obj 463 440 *; +#X obj 695 365 t f b f; +#X obj 767 184 / 4; +#X obj 694 252 f; +#X obj 695 328 /; +#X obj 629 222 t f b; +#X obj 469 181 unpack f f; +#X obj 555 249 t f f; +#X obj 694 281 t b f; +#X obj 309 609 outlet; +#X obj 644 611 outlet; +#X text 545 181 image width heigth (in pixels); +#X obj 702 156 unpack f f; +#X obj 695 303 f; +#X obj 694 134 r \$0dimen; +#X obj 519 212 sel -1; +#X obj 393 249 sel -1; +#X msg 363 366 1; +#X msg 615 450 1; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 3 1 2 0; +#X connect 3 2 2 1; +#X connect 4 0 5 1; +#X connect 5 0 10 0; +#X connect 6 0 3 0; +#X connect 7 0 15 0; +#X connect 7 1 5 0; +#X connect 8 0 18 0; +#X connect 8 1 17 0; +#X connect 9 0 1 1; +#X connect 9 1 7 0; +#X connect 10 0 15 0; +#X connect 10 1 6 1; +#X connect 14 1 4 0; +#X connect 15 0 6 0; +#X connect 16 0 14 0; +#X connect 17 0 20 0; +#X connect 17 1 9 0; +#X connect 18 0 19 0; +#X connect 18 1 1 0; +#X connect 19 0 11 0; +#X connect 20 0 12 0; +#X restore 280 432 pd fit2originalsize; +#X obj 468 438 unpack; +#X obj 327 113 s \$0dimen; +#X obj 113 240 pack; +#X obj 536 -54 loadbang; +#X obj 494 21 dollarg; +#X obj 525 74 list split 1; +#X obj 530 123 list trim; +#X msg 607 233 dimen \$1 \$2; +#X obj 606 99 route bang; +#X obj 402 79 route float bang; +#X obj 737 193 *; +#X obj 742 224 != 0; +#X obj 660 144 t l l; +#X obj 558 -17 t b b; +#X obj 652 202 spigot; +#X obj 34 483 t a b b; +#X obj 323 570 f 5.333; +#X obj 487 569 f 4; +#X obj 164 -35 inlet scale; +#X obj 348 -33 inlet mode; +#X obj 289 598 * 1; +#X obj 618 599 * 1; +#X obj 464 416 2d.ratio; +#X obj 148 360 demultiplex 0 1 2 3; +#X obj 146 45 route window pixsize pixratio dimen win fill; +#X msg 343 74 3; +#N canvas 0 0 1024 730 fill 0; +#X text 359 606 height; +#X text 696 611 width; +#X obj 309 609 outlet; +#X obj 644 611 outlet; +#X obj 529 143 r \$0dimen; +#X obj 59 126 inlet; +#X obj 443 276 /; +#X obj 73 187 b; +#X obj 420 332 * 4; +#X obj 509 496 f 4; +#X obj 327 509 f; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 10 0; +#X connect 7 0 9 0; +#X connect 8 0 10 1; +#X connect 9 0 3 0; +#X connect 10 0 2 0; +#X restore 632 421 pd fill; +#X obj 1140 203 flow.value.changes gems.win/height; +#X obj 895 200 flow.value.changes gems.win/width; +#X connect 0 0 9 0; +#X connect 9 0 33 0; +#X connect 9 1 20 0; +#X connect 9 2 20 1; +#X connect 10 0 41 1; +#X connect 11 0 41 1; +#X connect 12 0 41 1; +#X connect 13 0 46 0; +#X connect 13 1 45 0; +#X connect 14 0 15 0; +#X connect 16 0 34 0; +#X connect 16 1 35 0; +#X connect 17 0 34 0; +#X connect 17 1 35 0; +#X connect 18 0 34 0; +#X connect 18 1 35 0; +#X connect 20 0 41 0; +#X connect 21 0 31 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 23 1 26 0; +#X connect 24 0 42 0; +#X connect 25 0 42 0; +#X connect 26 1 30 0; +#X connect 27 0 41 1; +#X connect 28 0 29 0; +#X connect 29 0 32 1; +#X connect 30 0 32 0; +#X connect 30 1 28 0; +#X connect 31 0 22 0; +#X connect 31 1 13 0; +#X connect 32 0 25 0; +#X connect 33 0 7 0; +#X connect 33 1 34 0; +#X connect 33 2 35 0; +#X connect 34 0 38 0; +#X connect 35 0 39 0; +#X connect 36 0 38 1; +#X connect 36 0 39 1; +#X connect 37 0 42 0; +#X connect 38 0 3 0; +#X connect 39 0 4 0; +#X connect 40 0 18 0; +#X connect 41 0 16 0; +#X connect 41 1 17 0; +#X connect 41 2 40 0; +#X connect 41 3 44 0; +#X connect 42 0 10 0; +#X connect 42 1 11 0; +#X connect 42 2 12 0; +#X connect 42 3 19 0; +#X connect 42 4 10 0; +#X connect 42 5 43 0; +#X connect 42 6 27 0; +#X connect 43 0 41 1; +#X connect 44 0 34 0; +#X connect 44 1 35 0; +#X connect 45 0 14 1; +#X connect 45 1 14 1; +#X connect 46 0 14 0; +#X connect 46 1 14 0; diff --git a/gems.fit.scale-help.pd b/gems.fit.scale-help.pd new file mode 100644 index 0000000..c0c682b --- /dev/null +++ b/gems.fit.scale-help.pd @@ -0,0 +1,74 @@ +#N canvas 228 77 966 827 10; +#X text 50 13 Description: Wraps gems.fit with an additonal internal +scaleXYZ object.; +#X obj 86 76 gemhead; +#X obj 88 165 pix_image; +#N canvas 0 22 454 304 loadimage 0; +#X obj 72 149 file.path.top; +#X msg 74 172 open \$1; +#X obj 79 85 loadbang; +#X obj 77 216 outlet; +#X msg 71 125 medias/images/img0.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X restore 175 129 pd loadimage; +#X obj 87 421 pix_texture; +#X obj 303 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 303 128 gems.win; +#X obj 86 393 gems.fit.scale window; +#X msg 227 261 window; +#X obj 195 237 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X msg 251 284 pixsize; +#X msg 257 305 pixratio; +#X floatatom 144 327 5 0 0 0 scale - -; +#X msg 272 338 fill; +#X text 444 308 Inlet_1 : gemlist.; +#X text 443 351 Inlet_3 : selects how you want the fitting.; +#X text 444 331 Inlet_2: Determines the scaling.; +#X obj 421 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 421 129 gems.win 100 320; +#X text 575 66 Argument_1: Selects how you want the fitting.; +#X text 577 86 Argument_2: The scale (defaults to 1).; +#X text 189 200 You can change the fitting by sending the mode name +or the fittings's number.; +#X text 277 258 number 0; +#X text 310 285 number 1; +#X text 322 309 number 2; +#X text 309 341 number 3; +#X text 513 409 pixsize: reproduce the image \, pixel by pixel in the +gem win.; +#X text 512 431 pixratio: only send out the normalized ration of the +image's size.; +#X text 512 467 fill: fills the whole gemwin; +#X obj 772 141 gems.fit.scale pixratio; +#X obj 582 141 gems.fit.scale window 0.5; +#X floatatom 315 398 5 0 0 1 depth - -; +#X obj 87 454 square; +#X text 31 503 WARNING: gems.fit.scale only outputs the fitted width +(X axis) and height (Y axis). You must manage the depth (Z axis) yourself +through the fourth inlet.; +#X text 461 492 Inlet_4 : depth (is also scaled by the scaling \, inlet_2 +\, value); +#X obj 583 168 gems.fit.scale window 0.5 2; +#X text 578 109 Argument_3: The depth (defaults to 1).; +#X text 512 376 window or win: fit to the gem window while maintaining +the width to height ratio.; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 32 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 8 0 7 2; +#X connect 9 0 7 2; +#X connect 10 0 7 2; +#X connect 11 0 7 2; +#X connect 12 0 7 1; +#X connect 13 0 7 2; +#X connect 17 0 18 0; +#X connect 31 0 7 3; diff --git a/gems.fit.scale.pd b/gems.fit.scale.pd new file mode 100644 index 0000000..cd819e6 --- /dev/null +++ b/gems.fit.scale.pd @@ -0,0 +1,40 @@ +#N canvas 452 22 673 426 10; +#X obj 46 54 inlet; +#X obj 62 308 scaleXYZ; +#X obj 61 338 outlet post_scale; +#X obj 357 42 inlet mode; +#X obj 250 44 inlet scale; +#X obj 296 118 loadbang; +#X obj 296 147 dollarg; +#X obj 296 175 list.split 1; +#X obj 350 230 route bang; +#X obj 149 157 list trim; +#X obj 56 148 gems.fit; +#X obj 477 45 inlet depth; +#X obj 410 286 unpack f f; +#X obj 107 84 t f f; +#X obj 169 297 * 1; +#X obj 191 202 t b f; +#X obj 166 231 f 1; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 3 0 10 2; +#X connect 4 0 13 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 9 0; +#X connect 7 1 8 0; +#X connect 8 1 12 0; +#X connect 9 0 10 2; +#X connect 10 0 1 0; +#X connect 10 1 1 1; +#X connect 10 2 1 2; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 12 1 15 0; +#X connect 13 0 10 1; +#X connect 13 1 16 0; +#X connect 14 0 1 3; +#X connect 15 0 16 0; +#X connect 15 1 14 1; +#X connect 16 0 14 0; diff --git a/gems.frame.buffer-help.pd b/gems.frame.buffer-help.pd new file mode 100644 index 0000000..77bf55c --- /dev/null +++ b/gems.frame.buffer-help.pd @@ -0,0 +1,90 @@ +#N canvas 677 59 734 781 10; +#X obj 66 95 gemhead 10; +#X obj 118 256 separator; +#X obj 118 279 colorRGB 1 0.8 0.2 1; +#X obj 118 324 square; +#X obj 4 291 colorRGB 0 0.6 1 1; +#X obj 80 40 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X obj 398 251 gemhead 20; +#X text 192 20 Description: Renders what is after it as a texture and +creates a gems.texture.storage to store it; +#X obj 264 214 print; +#X obj 69 170 translateXYZ 0 0 -4; +#X obj 399 292 pix_texture; +#X obj 406 346 rotateXYZ 0 0 0; +#X obj 548 312 count.iter; +#X obj 550 283 metro 50; +#X obj 547 241 init.lf 1; +#X obj 550 264 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 333 119 <-- See how the texture ID is passed to a [pix_texture] +; +#X obj 398 316 translateXYZ 0 0 0; +#X obj 81 66 gems.win @dimen 320 240 @color 1 1 1 1; +#X text 100 397 Wraps; +#X obj 153 399 gemframebuffer; +#X floatatom 215 204 5 0 0 0 - - -; +#X floatatom 215 334 5 0 0 0 - - -; +#X obj 41 240 separator; +#X obj 4 313 circle; +#X obj 69 143 gems.frame.buffer @name bacon @mode 1 @dim 512 512; +#X obj 66 120 gems.alpha.mode 6 1; +#X floatatom 623 277 5 0 0 0 - - -; +#X obj 118 301 translateXYZ 1 1 0; +#X obj 69 210 t a a a; +#X obj 253 271 separator; +#X obj 264 436 gems.line @from -6 1 0 @to 6 1 0; +#X obj 265 413 gems.line @from -6 0.5 0 @to 6 0.5 0; +#X obj 267 459 gems.line @from -6 1.5 0 @to 6 1.5 0; +#X obj 264 481 gems.line @from -6 2 0 @to 6 2 0; +#X obj 264 507 gems.line @from -6 2.5 0 @to 6 2.5 0; +#X obj 266 335 gems.line.width 4; +#X obj 262 315 colorRGB 0 1 0 1; +#X obj 401 381 cube 1.5; +#X obj 267 567 gems.line @from 0.5 -6 0 @to 0.5 6 0; +#X obj 266 590 gems.line @from 1 -6 0 @to 1 6 0; +#X obj 269 613 gems.line @from 1.5 -6 0 @to 1.5 6 0; +#X obj 266 635 gems.line @from 2 -6 0 @to 2 6 0; +#X obj 266 661 gems.line @from 2.5 -6 0 @to 2.5 6 0; +#X obj 284 543 colorRGB 1 0 0 1; +#X connect 0 0 26 0; +#X connect 1 0 2 0; +#X connect 2 0 28 0; +#X connect 4 0 24 0; +#X connect 5 0 18 0; +#X connect 6 0 10 0; +#X connect 9 0 29 0; +#X connect 10 0 17 0; +#X connect 11 0 38 0; +#X connect 12 0 11 3; +#X connect 12 0 11 2; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 17 0 11 0; +#X connect 21 0 9 3; +#X connect 22 0 28 2; +#X connect 22 0 28 1; +#X connect 23 0 4 0; +#X connect 25 0 9 0; +#X connect 25 1 10 1; +#X connect 26 0 25 0; +#X connect 27 0 12 0; +#X connect 28 0 3 0; +#X connect 29 0 23 0; +#X connect 29 1 1 0; +#X connect 29 2 30 0; +#X connect 30 0 37 0; +#X connect 31 0 33 0; +#X connect 32 0 31 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 35 0 44 0; +#X connect 36 0 32 0; +#X connect 37 0 36 0; +#X connect 39 0 40 0; +#X connect 40 0 41 0; +#X connect 41 0 42 0; +#X connect 42 0 43 0; +#X connect 44 0 39 0; diff --git a/gems.frame.buffer.pd b/gems.frame.buffer.pd new file mode 100644 index 0000000..b454112 --- /dev/null +++ b/gems.frame.buffer.pd @@ -0,0 +1,46 @@ +#N canvas 68 292 635 520 10; +#X obj 181 247 gemframebuffer; +#X obj 185 174 spigot 1; +#X obj 80 38 inlet; +#X obj 291 68 inlet; +#X obj 364 119 init.post.dollarg; +#X obj 366 97 dollarg; +#X obj 162 375 outlet; +#X obj 326 388 outlet; +#X obj 414 350 flow.any; +#X obj 416 383 flow.send; +#X obj 457 316 t b a; +#X obj 466 237 r \$1; +#X msg 489 94 dim 512 512; +#X msg 489 71 color 0 0 0 0; +#X msg 488 48 type FLOAT; +#X obj 365 73 t b b; +#X obj 363 47 loadbang; +#X obj 469 28 t b; +#X obj 379 187 t a; +#X obj 280 144 route enable name; +#X connect 0 0 6 0; +#X connect 0 1 7 0; +#X connect 0 1 8 1; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 19 0; +#X connect 4 0 19 0; +#X connect 5 0 4 0; +#X connect 5 1 4 1; +#X connect 8 0 9 0; +#X connect 10 0 8 0; +#X connect 10 1 9 1; +#X connect 11 0 10 0; +#X connect 12 0 18 0; +#X connect 13 0 18 0; +#X connect 14 0 18 0; +#X connect 15 0 5 0; +#X connect 15 1 17 0; +#X connect 16 0 15 0; +#X connect 17 0 14 0; +#X connect 17 0 13 0; +#X connect 17 0 12 0; +#X connect 18 0 0 0; +#X connect 19 0 1 1; +#X connect 19 2 18 0; diff --git a/gems.get.average.color-help.pd b/gems.get.average.color-help.pd new file mode 100644 index 0000000..61f4805 --- /dev/null +++ b/gems.get.average.color-help.pd @@ -0,0 +1,40 @@ +#N canvas 829 117 611 511 10; +#X obj 370 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 80 291 pix_texture; +#X text 67 24 Description: Finds out the average color of a pix.; +#X obj 155 386 gemhead 77; +#X text 274 346 the average color of the incoming pixels; +#X obj 274 368 unpack f f f; +#X floatatom 388 431 5 0 0 0 - - -; +#X floatatom 343 430 5 0 0 0 - - -; +#X floatatom 300 431 5 0 0 0 - - -; +#X obj 80 147 gemhead 88; +#X obj 155 449 square 4; +#X obj 370 129 gems.win 640 640; +#X obj 104 218 file.path.top; +#X obj 80 242 gems.movies; +#X obj 104 174 loadbang; +#X obj 155 426 colorRGB 1 1 1; +#X obj 80 313 square 3.5; +#X obj 80 265 gems.get.average.color; +#X text 64 46 The square that is behind the film \, and looks like +a border \, is the average color of the incoming frame.; +#X msg 104 195 medias/movies/mov0.mov; +#X connect 0 0 11 0; +#X connect 1 0 16 0; +#X connect 3 0 15 0; +#X connect 5 0 8 0; +#X connect 5 0 15 1; +#X connect 5 1 7 0; +#X connect 5 1 15 2; +#X connect 5 2 6 0; +#X connect 5 2 15 3; +#X connect 9 0 13 0; +#X connect 12 0 13 1; +#X connect 13 0 17 0; +#X connect 14 0 19 0; +#X connect 15 0 10 0; +#X connect 17 0 1 0; +#X connect 17 1 5 0; +#X connect 19 0 12 0; diff --git a/gems.get.average.color.pd b/gems.get.average.color.pd new file mode 100644 index 0000000..a38b8e5 --- /dev/null +++ b/gems.get.average.color.pd @@ -0,0 +1,28 @@ +#N canvas 766 494 870 437 10; +#X obj 520 245 pix_data; +#X obj 520 201 t b a; +#X obj 563 201 loadbang; +#X msg 563 222 0.5; +#X obj 520 180 pix_resize 1 1; +#X obj 519 159 pix_separator; +#X text 590 249 the average color of the incoming pixels; +#X obj 265 17 inlet; +#X obj 264 84 t a a; +#X obj 257 408 outlet; +#X obj 565 345 outlet; +#X obj 650 351 outlet; +#X text 60 199 Here \, we are finding out the average color of the +incoming pixels. We resize the pixels to a single pixel \, and then +figure out its color value.; +#X connect 0 1 10 0; +#X connect 0 2 11 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 3 0; +#X connect 3 0 0 2; +#X connect 3 0 0 3; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 5 0; diff --git a/gems.getsize.pd b/gems.getsize.pd new file mode 100644 index 0000000..478e16f --- /dev/null +++ b/gems.getsize.pd @@ -0,0 +1,17 @@ +#N canvas 0 0 450 300 10; +#X obj 89 121 pix_info ----------; +#X obj 259 175 /; +#X obj 255 232 outlet; +#X obj 51 51 inlet; +#X obj 50 76 t a a; +#X obj 43 228 outlet; +#X obj 112 238 outlet; +#X obj 168 236 outlet; +#X connect 0 1 1 0; +#X connect 0 1 6 0; +#X connect 0 2 1 1; +#X connect 0 2 7 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 0 0; diff --git a/gems.gl.def-help.pd b/gems.gl.def-help.pd new file mode 100644 index 0000000..b19e6b0 --- /dev/null +++ b/gems.gl.def-help.pd @@ -0,0 +1,46 @@ +#N canvas 915 215 635 570 10; +#X obj 89 174 GEMglBegin; +#X obj 89 130 GEMglEnable; +#X obj 161 110 gems.gl.def GL_LINE_STIPPLE; +#X obj 89 84 GEMglLineStipple 2 2; +#X obj 89 246 GEMglEnd; +#X obj 29 -264 tgl 30 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X msg 89 -243 reset \, offset 0 0 \, dimen 320 240 \, frame 60 \, +border 0; +#X obj 89 -98 gemhead; +#X obj 154 153 gems.gl.def GL_LINES; +#X floatatom 224 7 5 0 0 0 - - -; +#X floatatom 156 67 5 0 0 0 - - -; +#X obj 114 201 GEMglVertex2f 4 1 0; +#X obj 89 -57 GEMglColor3f 1 0.8 0.2; +#X obj 89 -77 GEMglLineWidth 15; +#X obj 116 224 GEMglVertex2f -4 1 0; +#X floatatom 203 -94 5 0 0 0 - - -; +#X text 155 50 factor; +#X obj 224 47 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 224 64 clip 0 65535; +#X text 268 9 pattern; +#X text 50 -177 Description: Outputs an OpenGL constant value supplied +as argument. Outputs it on startup as well as on demand.; +#X text 279 -95 In this example \, we draw a stippled line.; +#X text 280 -80 See the OpenGL Programming guide (the Red Book); +#X obj 29 -209 gems.win; +#X connect 0 0 11 0; +#X connect 1 0 0 0; +#X connect 2 0 1 1; +#X connect 3 0 1 0; +#X connect 5 0 23 0; +#X connect 6 0 23 0; +#X connect 7 0 13 0; +#X connect 8 0 0 1; +#X connect 9 0 17 0; +#X connect 10 0 3 1; +#X connect 11 0 14 0; +#X connect 12 0 3 0; +#X connect 13 0 12 0; +#X connect 14 0 4 0; +#X connect 15 0 13 1; +#X connect 17 0 18 0; +#X connect 18 0 3 2; diff --git a/gems.gl.def.pd b/gems.gl.def.pd new file mode 100644 index 0000000..53e4299 --- /dev/null +++ b/gems.gl.def.pd @@ -0,0 +1,10 @@ +#N canvas 468 160 503 321 10; +#X obj 224 198 GLdefine; +#X obj 226 76 loadbang; +#X obj 224 134 symbol \$1; +#X obj 224 220 outlet; +#X obj 322 82 inlet; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 4 0 2 0; diff --git a/gems.glsl.shader-help.pd b/gems.glsl.shader-help.pd new file mode 100644 index 0000000..c5d6d40 --- /dev/null +++ b/gems.glsl.shader-help.pd @@ -0,0 +1,155 @@ +#N canvas 341 22 967 659 10; +#X obj 10 460 cnv 15 400 60 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X obj 55 178 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 85 147 Description: Renders a GLSL shader.; +#X text 81 174 <---- 1 Create Gem window; +#X obj 55 198 gems.win 480 480; +#X msg 423 300 bang; +#X text 463 301 <--- 3 Play with the parameters; +#X text 457 227 You can get the (uniform) parameters of the GLSL shaders +by sending "print" to the second inlet. Then \, send messages with +those selectors to the third inlet. The type is usually either a float +\, or a vector (two or three floats).; +#X text 53 16 A GLSL shader program is made of two distinct shaders +: the vertex shader \, which might change the position and other attributes +of the vertices \, and the fragment shaders \, which might modify the +pixels on the texture. They override the normal flow of rendering chain +on the GPU. They are compiled and uploaded on the GPU (graphic card) +\, which means that they don't consume CPU time in their calculations. +You can edit your own shaders \, as they are just text files on your +hard drive.; +#X obj 17 250 gemhead; +#X obj 423 371 metro 500; +#X obj 423 352 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 456 97 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 478 93 <---- 2 Load vertex and fragment; +#X obj 423 437 line; +#X obj 423 335 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 423 460 twirl \$1; +#X obj 515 371 metro 500; +#X obj 515 352 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 515 437 line; +#X msg 515 460 size \$1; +#X msg 661 459 origin \$1 \$2; +#X msg 97 350 device 0; +#N canvas 162 133 574 424 serin 0; +#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017 +-1 0; +#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1 +-1 0; +#X obj 60 13 inlet; +#X msg 200 202 label \$1; +#X obj 200 180 makefilename %d; +#X obj 59 108 int; +#X obj 59 337 outlet; +#X msg 201 306 set \$1 \$2; +#X obj 59 266 trigger bang anything; +#X obj 201 286 list; +#X obj 200 225 send \$0-open-canvas; +#X msg 60 210 device \$1; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 10 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 5 0 11 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 8 1 9 0; +#X connect 9 0 7 0; +#X connect 11 0 8 0; +#X coords 0 -1 1 1 165 20 1 60 60; +#X restore 97 326 pd serin; +#X obj 31 543 colorRGB 1 1 1 1; +#X obj 41 405 pix_rgba; +#X obj 17 274 alpha 1; +#X floatatom 575 461 5 0 0 0 - - -; +#X obj 41 426 pix_texture; +#X obj 423 393 random.f -20 20; +#X obj 515 393 random.f 200 500; +#X floatatom 481 328 5 0 0 0 - - -; +#X msg 423 415 \$1 2000; +#X msg 514 415 \$1 2000; +#X msg 457 205 fragment openpanel; +#X msg 457 170 print; +#X text 587 203 <-- Open fragment or vertex file...; +#X text 86 217 Argument: @fragment Shader for the pixels; +#X text 86 233 Argument: @vertex Shader for the vertices; +#X msg 500 553 ------------; +#X obj 501 577 print ---------; +#X obj 88 374 pix_video; +#X obj 43 476 gems.glsl.shader @fragment medias/shaders/twirl.frag +@vertex medias/shaders/twirl.vert; +#X obj 663 349 random.f 0 -600; +#X obj 766 348 random.f 0 -500; +#X obj 663 434 pack 0 0; +#X obj 665 325 t b b; +#X obj 586 371 metro 1500; +#X obj 589 349 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 662 395 line; +#X msg 662 373 \$1 2000; +#X obj 764 395 line; +#X msg 764 373 \$1 2000; +#X obj 30 565 rectangle 4 3; +#X floatatom 560 437 5 0 0 0 - - -; +#X floatatom 455 437 5 0 0 0 - - -; +#X text 592 550 Clear console; +#X text 89 252 Flags: @rguments; +#X msg 457 129 fragment medias/shaders/twirl.frag \, vertex medias/shaders/twirl.vert +; +#X text 507 170 <-- Print info on the attributes the shaders accept +; +#X connect 1 0 4 0; +#X connect 5 0 15 0; +#X connect 9 0 26 0; +#X connect 10 0 29 0; +#X connect 11 0 10 0; +#X connect 12 0 58 0; +#X connect 14 0 16 0; +#X connect 15 0 11 0; +#X connect 15 0 18 0; +#X connect 15 0 48 0; +#X connect 16 0 42 2; +#X connect 17 0 30 0; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 19 0 27 0; +#X connect 20 0 42 2; +#X connect 21 0 42 2; +#X connect 22 0 41 0; +#X connect 23 0 22 0; +#X connect 24 0 53 0; +#X connect 25 0 28 0; +#X connect 26 0 41 0; +#X connect 28 0 42 0; +#X connect 29 0 32 0; +#X connect 30 0 33 0; +#X connect 31 0 10 1; +#X connect 32 0 14 0; +#X connect 33 0 19 0; +#X connect 34 0 42 1; +#X connect 35 0 42 1; +#X connect 39 0 40 0; +#X connect 41 0 25 0; +#X connect 42 0 24 0; +#X connect 43 0 50 0; +#X connect 44 0 52 0; +#X connect 45 0 21 0; +#X connect 46 0 43 0; +#X connect 46 1 44 0; +#X connect 47 0 46 0; +#X connect 48 0 47 0; +#X connect 49 0 45 0; +#X connect 50 0 49 0; +#X connect 51 0 45 1; +#X connect 52 0 51 0; +#X connect 54 0 20 0; +#X connect 55 0 16 0; +#X connect 58 0 42 1; diff --git a/gems.glsl.shader.pd b/gems.glsl.shader.pd new file mode 100644 index 0000000..5c5c11e --- /dev/null +++ b/gems.glsl.shader.pd @@ -0,0 +1,108 @@ +#N canvas 281 28 1097 762 10; +#X obj 170 138 glsl_vertex; +#X msg 128 109 print; +#X obj 170 543 glsl_program; +#X obj 243 360 pack 0 0; +#X msg 127 233 print; +#X obj 264 340 t b f; +#X obj 264 295 change; +#X obj 242 157 change; +#X msg 243 400 link \$1 \$2; +#X msg 126 453 print; +#X text 258 139 the vertex shader; +#X obj 170 275 glsl_fragment; +#X text 284 278 the fragment shader; +#X text 614 300 whenever either the fragment-shader ID or the vertex-shader +ID has changed \, we trigger the linking of the 2 modules; +#X floatatom 264 321 2 0 0 0 ID - -; +#X floatatom 242 180 2 0 0 0 ID - -; +#X text 614 335 order of module IDs does not matter...; +#X text 613 357 after linking \, click "print" to get some info about +the compiled shader program; +#X text 619 253 pd's search path is searched for the given filename +\; just add the examples/data folder to your path options and this +example should work; +#X obj 860 9 inlet; +#X obj 29 187 t b b b b b b; +#X obj 154 -72 inlet; +#X obj 344 188 flow.prepend open; +#X obj 483 194 flow.prepend open; +#X obj 529 138 file.path.top; +#X obj 397 137 file.path.top; +#X obj 379 -22 loadbang; +#X obj 379 6 dollarg; +#X obj 379 29 init.post.dollarg; +#X obj 373 107 openpanel; +#X obj 490 112 openpanel; +#X obj 479 -11 inlet; +#X obj 367 80 route openpanel; +#X obj 483 85 route openpanel; +#X obj 170 666 outlet; +#X obj 810 468 flow.value.changes gems.win/width; +#X obj 815 494 t b; +#X obj 810 515 del 500; +#X obj 814 546 flow.once; +#X obj 815 569 print glsl.shader.TODO; +#X obj 362 165 symbol; +#X obj 485 168 symbol; +#X obj 650 144 t b; +#X obj 528 601 debug.print gems.glsl.shader; +#X obj 373 50 route vertex fragment print reload param verbose; +#X obj 677 75 s \$0-leftover; +#X obj 244 517 r \$0-leftover; +#X connect 0 0 11 0; +#X connect 0 1 7 0; +#X connect 1 0 0 0; +#X connect 2 0 34 0; +#X connect 3 0 8 0; +#X connect 4 0 11 0; +#X connect 5 0 3 0; +#X connect 5 1 3 1; +#X connect 6 0 14 0; +#X connect 7 0 15 0; +#X connect 8 0 2 0; +#X connect 8 0 43 0; +#X connect 9 0 2 0; +#X connect 11 0 2 0; +#X connect 11 1 6 0; +#X connect 14 0 5 0; +#X connect 15 0 3 0; +#X connect 19 0 2 0; +#X connect 20 0 9 0; +#X connect 20 2 4 0; +#X connect 20 4 1 0; +#X connect 21 0 0 0; +#X connect 22 0 0 0; +#X connect 22 0 43 0; +#X connect 23 0 11 0; +#X connect 23 0 43 0; +#X connect 24 0 41 0; +#X connect 25 0 40 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 27 1 28 1; +#X connect 28 0 44 0; +#X connect 29 0 40 0; +#X connect 30 0 41 0; +#X connect 31 0 44 0; +#X connect 32 0 29 0; +#X connect 32 1 25 0; +#X connect 33 0 30 0; +#X connect 33 1 24 0; +#X connect 35 0 36 0; +#X connect 35 1 36 0; +#X connect 36 0 37 0; +#X connect 37 0 38 0; +#X connect 38 0 39 0; +#X connect 40 0 22 0; +#X connect 41 0 23 0; +#X connect 42 0 41 0; +#X connect 42 0 40 0; +#X connect 44 0 32 0; +#X connect 44 1 33 0; +#X connect 44 2 20 0; +#X connect 44 3 42 0; +#X connect 44 4 2 0; +#X connect 44 5 43 1; +#X connect 44 6 45 0; +#X connect 46 0 2 0; diff --git a/gems.i.circle-help.pd b/gems.i.circle-help.pd new file mode 100644 index 0000000..86c7f6d --- /dev/null +++ b/gems.i.circle-help.pd @@ -0,0 +1,122 @@ +#N canvas 1280 25 954 880 10; +#X obj 240 58 gems.win; +#X obj 239 34 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj -115 209 gemhead; +#N canvas 40 281 698 462 animate_circle 0; +#X obj 84 183 line; +#X obj 247 191 line; +#X obj 149 224 pack; +#X obj 136 271 outlet; +#X obj 128 39 metro 2000; +#X obj 256 155 pack f 1000; +#X obj 143 160 pack f 1000; +#X obj 146 94 t b b b; +#X obj 421 85 + 500; +#X obj 90 127 random.f -3 3; +#X obj 264 126 random.f -3 3; +#X obj 276 72 random 1000; +#X obj 222 9 loadbang; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 2 0 3 0; +#X connect 4 0 7 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 9 0; +#X connect 7 1 10 0; +#X connect 7 2 11 0; +#X connect 8 0 5 1; +#X connect 8 0 6 1; +#X connect 9 0 6 0; +#X connect 10 0 5 0; +#X connect 11 0 8 0; +#X connect 12 0 4 0; +#X restore -79 242 pd animate_circle; +#X obj -115 527 circle; +#X obj -40 439 line; +#X msg -40 415 0 \, 180 1000; +#X obj -115 498 rotateXYZ; +#X obj -40 310 t b l; +#X obj 180 160 gemhead; +#X obj 181 497 colorRGB 1 0 0; +#X obj -13 338 print WHITE_clicked; +#X obj 352 332 print RED_clicked; +#X text -157 35 Description: An interactive circular zone.; +#X msg 224 234 draggable 1; +#X obj 224 201 loadbang; +#X floatatom 314 267 5 0 0 0 diameter - -; +#X obj 341 383 print RED_DRAGGED; +#X obj 180 536 circle; +#X text 154 120 - The red raggable circle -; +#X text -130 136 - The white moving circle -; +#X msg 205 443 0 0; +#X obj 205 408 flow.prepend set; +#X text 401 260 Arguments:; +#X obj -90 353 unpack f f; +#X floatatom -90 382 5 0 0 0 - - -; +#X floatatom -33 383 5 0 0 0 - - -; +#X text -158 55 Comments: Must be used with gems.win. Might not work +properly in OS X.; +#X obj 85 635 loadbang; +#X msg 85 655 draggable 1; +#X obj 12 645 gemhead; +#X obj 30 840 circle; +#X obj 30 804 colorRGB 1 0 1; +#X msg 67 769 -0.366663 -2.93333; +#X obj 67 726 flow.prepend set; +#X obj 84 748 loadbang; +#X text 179 767 When this patch is loaded \, it's last position is +sent to the second inlet.; +#X text 395 63 Inlets:; +#X text 402 165 Outlets:; +#X text 421 177 1:(gemlist); +#X text 421 189 2:(float float) x_position y_position; +#X text 421 216 4:(float float) outputs x_position and y_position when +clicked; +#X text 421 203 3:(float) outputs 1 if dragged \, 0 when released; +#X text 425 119 2:(bang) forces the output of the current position +; +#X text 425 133 3:(float) diameter; +#X text 424 105 2:(draggable 0/1) set's the draggable state off/on +; +#X text 424 91 2:(float float) x_position y_position; +#X text 425 78 1:(gemlist); +#X text -61 595 You can save the position of the purple i.circle with +the following dataflow:; +#X obj -115 281 gems.i.circle; +#X obj 181 309 gems.i.circle; +#X obj 30 693 gems.i.circle 1; +#X text 426 275 1:(float) diameter \, defautls to 0.5; +#X connect 1 0 0 0; +#X connect 2 0 49 0; +#X connect 3 0 49 1; +#X connect 5 0 7 2; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 6 0; +#X connect 8 1 11 0; +#X connect 9 0 50 0; +#X connect 10 0 18 0; +#X connect 14 0 50 1; +#X connect 15 0 14 0; +#X connect 16 0 50 2; +#X connect 22 0 21 0; +#X connect 24 0 25 0; +#X connect 24 1 26 0; +#X connect 28 0 29 0; +#X connect 29 0 51 1; +#X connect 30 0 51 0; +#X connect 32 0 31 0; +#X connect 33 0 51 1; +#X connect 34 0 33 0; +#X connect 35 0 33 0; +#X connect 49 0 7 0; +#X connect 49 1 24 0; +#X connect 49 3 8 0; +#X connect 50 0 10 0; +#X connect 50 1 22 0; +#X connect 50 2 17 0; +#X connect 50 3 12 0; +#X connect 51 0 32 0; +#X connect 51 1 34 0; diff --git a/gems.i.circle.pd b/gems.i.circle.pd new file mode 100644 index 0000000..14d0946 --- /dev/null +++ b/gems.i.circle.pd @@ -0,0 +1,169 @@ +#N canvas 0 25 1272 936 10; +#X obj 425 294 2d.distance; +#X obj 706 106 loadbang; +#X obj 157 -34 inlet pos; +#X obj 692 296 abs; +#X obj 248 585 outlet position; +#X obj 165 107 gems.mouse; +#X obj 444 337 moses 0.5; +#X obj 638 231 t f f; +#X obj 668 21 inlet size; +#X obj 352 134 list append 0 0; +#X obj 739 583 outlet clicked_details; +#X obj 169 -1 route bang draggable; +#X obj 347 256 t l l; +#X obj 567 503 t l l; +#X obj 470 135 s \$0current_pos; +#X obj 305 482 t a b; +#X obj 390 527 f; +#X obj 490 581 outlet dragged; +#X obj 489 549 r \$0dragged; +#N canvas 0 0 750 527 dragging 0; +#X obj 150 309 unpack; +#X obj 69 206 spigot; +#X obj 7 371 unpack; +#X obj 41 451 pack; +#X obj 23 412 -; +#X obj 76 412 -; +#X obj 50 34 inlet mouse_coords; +#X obj 41 495 outlet; +#X obj 150 280 r \$0click_offset; +#X obj 157 117 inlet dragged; +#X connect 0 0 4 1; +#X connect 0 1 5 1; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 1 1; +#X restore 114 181 pd dragging; +#X obj 477 250 r \$0current_pos; +#X obj 500 23 r \$0set_pos; +#X obj 114 208 s \$0set_pos; +#X obj 168 152 r \$0dragged; +#X obj 808 521 s \$0click_offset; +#X obj 256 184 route 0 1; +#X msg 431 367 1; +#X msg 484 362 0; +#X obj 386 417 spigot; +#N canvas 0 0 801 458 lock_gems.i.lock 0; +#X obj 368 182 value gems.i.lock; +#X obj 111 59 inlet; +#X obj 178 248 spigot; +#X obj 113 100 t a b; +#X obj 237 420 outlet; +#X obj 289 367 f \$0; +#X obj 368 215 == 0; +#X obj 181 285 t a b; +#X obj 513 62 inlet \$0draggable; +#X obj 277 336 spigot; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 3 1 0 0; +#X connect 5 0 0 0; +#X connect 6 0 2 1; +#X connect 7 0 4 0; +#X connect 7 1 9 0; +#X connect 8 0 9 1; +#X connect 9 0 5 0; +#X restore 524 453 pd lock_gems.i.lock; +#X obj 789 490 list.op2; +#X obj 866 490 -; +#X obj 840 430 r \$0current_pos; +#N canvas 0 0 801 458 unlock_gems.i.lock 0; +#X obj 220 234 value gems.i.lock; +#X obj 145 37 inlet; +#X obj 553 22 inlet dragged; +#X obj 169 139 spigot; +#X obj 189 389 outlet; +#X msg 168 161 0; +#X obj 168 185 t f f; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 1 0 0; +#X restore 155 300 pd unlock_gems.i.lock; +#X obj 757 406 r \$0draggable; +#X obj 710 436 spigot; +#X obj 680 513 s \$0dragged; +#X obj 710 465 t b l; +#X msg 691 492 1; +#X obj 189 361 s \$0dragged; +#X msg 187 341 0; +#X obj 248 267 r \$0dragged; +#X obj 617 393 r \$0draggable; +#X obj -67 -37 inlet gemlist; +#X obj -60 163 translateXYZ; +#X obj -34 132 unpack; +#X obj -47 461 scaleXYZ; +#X obj -52 546 outlet; +#X obj 221 25 s \$0draggable; +#X obj 431 82 t b l l; +#X obj 694 201 init.df \$1 0.5; +#X connect 0 0 6 0; +#X connect 1 0 50 0; +#X connect 2 0 11 0; +#X connect 3 0 6 1; +#X connect 5 0 19 0; +#X connect 5 1 25 0; +#X connect 6 0 26 0; +#X connect 6 1 27 0; +#X connect 7 0 16 0; +#X connect 7 1 3 0; +#X connect 8 0 7 0; +#X connect 9 0 15 0; +#X connect 11 0 9 0; +#X connect 11 1 48 0; +#X connect 11 2 49 0; +#X connect 12 0 28 0; +#X connect 12 1 0 0; +#X connect 13 0 10 0; +#X connect 13 1 35 0; +#X connect 15 0 4 0; +#X connect 15 0 45 0; +#X connect 15 1 16 0; +#X connect 16 0 46 1; +#X connect 16 0 46 2; +#X connect 16 0 46 3; +#X connect 18 0 17 0; +#X connect 19 0 22 0; +#X connect 20 0 0 1; +#X connect 21 0 49 0; +#X connect 23 0 19 1; +#X connect 25 0 33 0; +#X connect 25 1 12 0; +#X connect 26 0 28 1; +#X connect 27 0 28 1; +#X connect 28 0 29 0; +#X connect 29 0 13 0; +#X connect 30 0 24 0; +#X connect 30 1 31 0; +#X connect 30 2 31 1; +#X connect 31 0 30 2; +#X connect 32 0 30 1; +#X connect 33 0 40 0; +#X connect 34 0 35 1; +#X connect 35 0 37 0; +#X connect 37 0 38 0; +#X connect 37 1 30 0; +#X connect 38 0 36 0; +#X connect 40 0 39 0; +#X connect 41 0 33 1; +#X connect 42 0 29 1; +#X connect 43 0 44 0; +#X connect 44 0 46 0; +#X connect 45 0 44 1; +#X connect 45 1 44 2; +#X connect 46 0 47 0; +#X connect 49 0 9 0; +#X connect 49 1 9 1; +#X connect 49 2 14 0; +#X connect 50 0 7 0; diff --git a/gems.i.rect-help.pd b/gems.i.rect-help.pd new file mode 100644 index 0000000..ff65c15 --- /dev/null +++ b/gems.i.rect-help.pd @@ -0,0 +1,52 @@ +#N canvas 1339 39 954 880 10; +#X obj 230 45 gems.win; +#X obj 229 21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj -115 209 gemhead; +#X obj -40 439 line; +#X msg -40 415 0 \, 180 1000; +#X obj -115 498 rotateXYZ; +#X obj -40 310 t b l; +#X obj -13 338 print WHITE_clicked; +#X text -130 136 - The white moving circle -; +#X text 401 260 Arguments:; +#X obj -90 353 unpack f f; +#X floatatom -90 382 5 0 0 0 - - -; +#X floatatom -33 383 5 0 0 0 - - -; +#X text -158 55 Comments: Must be used with gems.win. Might not work +properly in OS X.; +#X text 395 63 Inlets:; +#X text 402 165 Outlets:; +#X text 421 177 1:(gemlist); +#X text 421 189 2:(float float) x_position y_position; +#X text 421 216 4:(float float) outputs x_position and y_position when +clicked; +#X text 421 203 3:(float) outputs 1 if dragged \, 0 when released; +#X text 425 119 2:(bang) forces the output of the current position +; +#X text 424 105 2:(draggable 0/1) set's the draggable state off/on +; +#X text 424 91 2:(float float) x_position y_position; +#X text 425 78 1:(gemlist); +#X text -157 35 Description: An interactive square zone.; +#X obj -46 204 loadbang; +#X msg -49 226 draggable 1; +#X obj -115 527 rectangle; +#X text 425 133 3:(float float) x_size y_size; +#X msg 1 248 2 1; +#X text 419 281 1:(float float) x_size y_size; +#X obj -115 281 gems.i.rect 1 0.3; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 4 0 3 0; +#X connect 5 0 27 0; +#X connect 6 0 4 0; +#X connect 6 1 7 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 25 0 26 0; +#X connect 26 0 31 1; +#X connect 29 0 31 2; +#X connect 31 0 5 0; +#X connect 31 1 10 0; +#X connect 31 3 6 0; diff --git a/gems.i.rect.pd b/gems.i.rect.pd new file mode 100644 index 0000000..0380206 --- /dev/null +++ b/gems.i.rect.pd @@ -0,0 +1,238 @@ +#N canvas 1288 88 1272 936 10; +#X obj 157 -34 inlet pos; +#X obj 248 585 outlet position; +#X obj 165 107 gems.mouse; +#X obj 661 18 inlet size; +#X obj 352 134 list append 0 0; +#X obj 667 731 outlet clicked_details; +#X obj 169 -1 route bang draggable; +#X obj 302 223 t l l; +#X obj 567 503 t l l; +#X obj 470 135 s \$0current_pos; +#X obj 305 482 t a b; +#X obj 388 646 outlet dragged; +#X obj 387 614 r \$0dragged; +#N canvas 0 0 750 527 dragging 0; +#X obj 150 309 unpack; +#X obj 69 206 spigot; +#X obj 7 371 unpack; +#X obj 41 451 pack; +#X obj 23 412 -; +#X obj 76 412 -; +#X obj 50 34 inlet mouse_coords; +#X obj 41 495 outlet; +#X obj 150 280 r \$0click_offset; +#X obj 157 117 inlet dragged; +#X connect 0 0 4 1; +#X connect 0 1 5 1; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 1 1; +#X restore 114 181 pd dragging; +#X obj 461 179 r \$0current_pos; +#X obj 500 23 r \$0set_pos; +#X obj 114 208 s \$0set_pos; +#X obj 168 152 r \$0dragged; +#X obj 808 521 s \$0click_offset; +#X obj 256 184 route 0 1; +#X obj 386 417 spigot; +#N canvas 0 0 801 458 lock_gems.i.lock 0; +#X obj 368 182 value gems.i.lock; +#X obj 111 59 inlet; +#X obj 178 248 spigot; +#X obj 113 100 t a b; +#X obj 237 420 outlet; +#X obj 289 367 f \$0; +#X obj 368 215 == 0; +#X obj 181 285 t a b; +#X obj 513 62 inlet \$0draggable; +#X obj 277 336 spigot; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 3 1 0 0; +#X connect 5 0 0 0; +#X connect 6 0 2 1; +#X connect 7 0 4 0; +#X connect 7 1 9 0; +#X connect 8 0 9 1; +#X connect 9 0 5 0; +#X restore 520 470 pd lock_gems.i.lock; +#X obj 789 490 list.op2; +#X obj 866 490 -; +#X obj 840 430 r \$0current_pos; +#N canvas 0 0 801 458 unlock_gems.i.lock 0; +#X obj 220 234 value gems.i.lock; +#X obj 145 37 inlet; +#X obj 553 22 inlet dragged; +#X obj 169 139 spigot; +#X obj 189 389 outlet; +#X msg 168 161 0; +#X obj 168 185 t f f; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 1 0 0; +#X restore 44 315 pd unlock_gems.i.lock; +#X obj 757 406 r \$0draggable; +#X obj 710 436 spigot; +#X obj 680 513 s \$0dragged; +#X obj 710 465 t b l; +#X msg 691 492 1; +#X obj 78 376 s \$0dragged; +#X msg 76 356 0; +#X obj 137 282 r \$0dragged; +#X obj 617 393 r \$0draggable; +#X obj -67 -37 inlet gemlist; +#X obj -60 163 translateXYZ; +#X obj -34 132 unpack; +#X obj 52 743 scaleXYZ; +#X obj 28 776 outlet; +#X obj 221 25 s \$0draggable; +#X obj 431 82 t b l l; +#X obj 646 172 unpack f f; +#X obj 848 302 +; +#X obj 849 328 / 2; +#X obj 703 234 t f f; +#X obj 772 217 t f f; +#X obj 459 205 unpack f f; +#X obj 447 367 &&; +#X obj 524 271 +; +#X obj 480 271 -; +#X obj 614 268 +; +#X obj 570 268 -; +#X obj 402 262 unpack; +#X floatatom 486 298 5 0 0 0 - - -; +#X floatatom 533 301 5 0 0 0 - - -; +#X floatatom 581 300 5 0 0 0 - - -; +#X floatatom 632 301 5 0 0 0 - - -; +#X floatatom 428 295 5 0 0 0 - - -; +#X obj 402 327 expr $f2<$f1&&$f1<$f3; +#X obj 544 330 expr $f2<$f1&&$f1<$f3; +#X obj 745 20 loadbang; +#X obj 742 80 t b b; +#X obj 737 146 pack \$1 \$2; +#X obj 731 110 init.df \$1 1; +#X obj 830 113 init.df \$2 1; +#X obj 697 51 t b b; +#X msg 683 80 0 0; +#X obj 107 141 t l l; +#X obj 489 566 spigot; +#X msg 251 229 0; +#X obj 538 635 scale.linear 0 1 0 1; +#X obj 895 733 outlet drag_inside; +#X obj 523 595 unpack f f; +#X obj 686 632 scale.linear 0 1 0 1; +#X obj 740 684 pack; +#X obj 743 658 clip 0 1; +#X obj 587 665 clip 0 1; +#X connect 0 0 6 0; +#X connect 2 0 68 0; +#X connect 2 1 19 0; +#X connect 3 0 42 0; +#X connect 4 0 10 0; +#X connect 6 0 4 0; +#X connect 6 1 40 0; +#X connect 6 2 41 0; +#X connect 7 0 20 0; +#X connect 7 1 53 0; +#X connect 8 0 5 0; +#X connect 8 1 27 0; +#X connect 10 0 1 0; +#X connect 10 0 37 0; +#X connect 12 0 11 0; +#X connect 13 0 16 0; +#X connect 14 0 47 0; +#X connect 15 0 41 0; +#X connect 17 0 13 1; +#X connect 19 0 25 0; +#X connect 19 0 70 0; +#X connect 19 1 7 0; +#X connect 20 0 21 0; +#X connect 21 0 8 0; +#X connect 22 0 18 0; +#X connect 22 1 23 0; +#X connect 22 2 23 1; +#X connect 23 0 22 2; +#X connect 24 0 22 1; +#X connect 25 0 32 0; +#X connect 26 0 27 1; +#X connect 27 0 29 0; +#X connect 29 0 30 0; +#X connect 29 1 22 0; +#X connect 30 0 28 0; +#X connect 32 0 31 0; +#X connect 33 0 25 1; +#X connect 34 0 21 1; +#X connect 35 0 36 0; +#X connect 36 0 38 0; +#X connect 37 0 36 1; +#X connect 37 1 36 2; +#X connect 38 0 39 0; +#X connect 41 0 4 0; +#X connect 41 1 4 1; +#X connect 41 2 9 0; +#X connect 42 0 45 0; +#X connect 42 0 50 1; +#X connect 42 0 49 1; +#X connect 42 1 46 0; +#X connect 42 1 52 1; +#X connect 42 1 51 1; +#X connect 43 0 44 0; +#X connect 44 0 38 3; +#X connect 45 0 38 1; +#X connect 45 1 43 0; +#X connect 46 0 38 2; +#X connect 46 1 43 1; +#X connect 47 0 50 0; +#X connect 47 0 49 0; +#X connect 47 1 52 0; +#X connect 47 1 51 0; +#X connect 48 0 20 1; +#X connect 48 0 69 1; +#X connect 49 0 55 0; +#X connect 49 0 59 2; +#X connect 49 0 71 2; +#X connect 50 0 54 0; +#X connect 50 0 59 1; +#X connect 50 0 71 1; +#X connect 51 0 57 0; +#X connect 51 0 60 2; +#X connect 51 0 74 2; +#X connect 52 0 56 0; +#X connect 52 0 60 1; +#X connect 52 0 74 1; +#X connect 53 0 59 0; +#X connect 53 1 58 0; +#X connect 53 1 60 0; +#X connect 59 0 48 0; +#X connect 60 0 48 1; +#X connect 61 0 66 0; +#X connect 62 0 64 0; +#X connect 62 1 65 0; +#X connect 63 0 42 0; +#X connect 64 0 63 0; +#X connect 65 0 63 1; +#X connect 66 0 67 0; +#X connect 66 1 62 0; +#X connect 67 0 41 0; +#X connect 68 0 13 0; +#X connect 68 1 69 0; +#X connect 69 0 73 0; +#X connect 70 0 69 1; +#X connect 71 0 77 0; +#X connect 73 0 71 0; +#X connect 73 1 74 0; +#X connect 74 0 76 0; +#X connect 75 0 72 0; +#X connect 76 0 75 1; +#X connect 77 0 75 0; diff --git a/gems.images-help.pd b/gems.images-help.pd new file mode 100644 index 0000000..1fe36eb --- /dev/null +++ b/gems.images-help.pd @@ -0,0 +1,60 @@ +#N canvas 656 22 846 536 10; +#X obj 21 179 gemhead; +#X obj 27 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 327 159 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 249 73 5 0 0 0 - - -; +#X obj 24 276 pix_texture; +#X obj 24 305 rectangle 5.33333 4; +#X floatatom 187 308 5 0 0 0 - - -; +#X text 109 22 Description: Multiple images handler. The images do +not need to be the same dimension.; +#X obj 329 223 file.path.top; +#X text 352 155 3rd inlets loads images. You can bang it or send it +a file name.; +#X text 292 68 Second inlet allows to go back to a previously entered +image index. Images indices are sent by the right outlet on every time +you load an image.; +#X text 237 305 2nd outlet : number of images loaded; +#X obj 272 123 r \$0coll; +#X msg 300 399 read; +#X text 334 398 opens a dialog; +#X text 364 445 open a dialog; +#X msg 318 446 write; +#X msg 309 423 writeagain; +#X obj 141 479 s \$0coll; +#X obj 464 479 coll; +#C restore; +#X text 398 482 See also; +#X text 554 352 writes a file; +#X text 545 370 reads a file; +#X obj 24 241 gems.getsize; +#X obj 115 273 * 4; +#X text 341 120 You can also send almost any message you would send +to [coll] with the 2dn inlet.; +#X obj 27 61 gems.win 640 480; +#X msg 328 182 medias/images/img1.jpg; +#X msg 329 202 medias/images/img0.jpg; +#X msg 297 350 write examples/_data/images.coll; +#X msg 293 373 read examples/_data/images.coll; +#X obj 22 210 gems.images; +#X connect 0 0 31 0; +#X connect 1 0 26 0; +#X connect 2 0 31 2; +#X connect 3 0 31 1; +#X connect 4 0 5 0; +#X connect 8 0 31 2; +#X connect 12 0 31 1; +#X connect 13 0 18 0; +#X connect 16 0 18 0; +#X connect 17 0 18 0; +#X connect 23 0 4 0; +#X connect 23 3 24 0; +#X connect 24 0 5 1; +#X connect 27 0 8 0; +#X connect 28 0 8 0; +#X connect 29 0 18 0; +#X connect 30 0 18 0; +#X connect 31 0 23 0; +#X connect 31 1 6 0; diff --git a/gems.images.pd b/gems.images.pd new file mode 100644 index 0000000..85c3918 --- /dev/null +++ b/gems.images.pd @@ -0,0 +1,79 @@ +#N canvas 70 168 790 664 10; +#X obj 325 237 coll; +#C restore; +#X obj 120 384 pix_image; +#X msg 192 339 open \$1; +#X obj 596 127 openpanel; +#X obj 597 147 t b a; +#X obj 607 242 pack f s; +#X obj 600 175 f 0; +#X obj 657 174 + 1; +#X msg 607 265 \$1 \$2 \, \$1; +#X obj 159 43 inlet; +#X obj 595 81 inlet; +#X obj 15 22 inlet; +#X obj 95 498 outlet; +#X obj 405 499 outlet; +#X obj 599 206 t f f; +#X obj 594 102 route bang; +#X obj 399 373 + 1; +#X text 191 21 Used to used [clip]; +#X obj 293 277 loadbang; +#X obj 263 342 t f f; +#X obj 176 147 prepend read; +#X msg 250 172 readagain; +#X obj 162 80 route read readagain float; +#X obj 349 165 f 1; +#X obj 295 300 f 0; +#X obj 154 109 t b a b; +#X obj 229 107 t b b b; +#X obj 117 185 f 0; +#X obj 193 316 demultiplex 0 1; +#X obj 411 104 init.post.dollarg; +#X obj 413 79 dollarg; +#X obj 412 53 loadbang; +#X obj 412 128 route image; +#X connect 0 0 28 0; +#X connect 1 0 12 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 4 1 5 1; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 6 0 14 0; +#X connect 7 0 6 1; +#X connect 8 0 0 0; +#X connect 9 0 22 0; +#X connect 10 0 15 0; +#X connect 11 0 1 0; +#X connect 14 0 16 0; +#X connect 14 1 5 0; +#X connect 15 0 3 0; +#X connect 15 1 4 0; +#X connect 16 0 13 0; +#X connect 18 0 24 0; +#X connect 19 0 16 0; +#X connect 19 1 6 1; +#X connect 20 0 0 0; +#X connect 21 0 0 0; +#X connect 22 0 25 0; +#X connect 22 1 26 0; +#X connect 22 2 0 0; +#X connect 22 3 0 0; +#X connect 23 0 28 1; +#X connect 24 0 28 1; +#X connect 25 0 27 0; +#X connect 25 1 20 0; +#X connect 25 2 23 0; +#X connect 26 0 27 0; +#X connect 26 1 21 0; +#X connect 26 2 23 0; +#X connect 27 0 28 1; +#X connect 28 0 2 0; +#X connect 28 1 19 0; +#X connect 29 0 32 0; +#X connect 30 0 29 0; +#X connect 30 1 29 1; +#X connect 31 0 30 0; +#X connect 32 0 3 0; diff --git a/gems.layer-help.pd b/gems.layer-help.pd new file mode 100644 index 0000000..b7b645b --- /dev/null +++ b/gems.layer-help.pd @@ -0,0 +1,97 @@ +#N canvas 401 22 846 853 10; +#X obj 454 121 gems.win 640 480; +#X obj 454 93 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 132 145 Layer 0: default layer (0x 0y 0z); +#X text 87 102 gems.layer replaces the gemhead!; +#X text 84 60 Warning: Layers only work if the camera's perspective +has not been changed from it's default values!; +#X text 133 166 Layer 1: closest layer (0x 0y 2z); +#X obj 171 588 pix_image; +#X obj 173 677 pix_texture; +#X obj 365 649 pix_image; +#X obj 365 697 pix_texture; +#X floatatom 435 408 5 0 0 0 - - -; +#X obj 171 491 rotateXYZ 0 0 0; +#X floatatom 233 466 5 0 0 0 - - -; +#X text 78 124 There are four layers: 1 \, 0 \, -1 and -2; +#X text 82 230 gems.layer translates and scales the gemlist as to keep +the same relative size on any layer!; +#X obj 363 445 rotateXYZ 0 0 0; +#X text 463 351 Since this gems.layer is "further" than the other gems.layer +\, it will display behind it.; +#X text 135 187 Layer -1: further(deeper) layer (0x 0y -8z); +#X text 136 207 Layer -2: furthest(deepest) layer (0x 0y -16z); +#X obj 171 617 alpha; +#X obj 365 766 square; +#X obj 173 642 colorRGB 1 1 1 0.8; +#N canvas 0 0 450 300 loadimage 0; +#X obj 102 93 file.path.top; +#X msg 104 116 open \$1; +#X obj 105 166 outlet; +#X obj 276 66 loadbang; +#X msg 111 22 medias/img1.jpg; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X restore 228 544 pd loadimage; +#N canvas 0 0 450 300 loadimage 0; +#X obj 102 93 file.path.top; +#X msg 104 116 open \$1; +#X obj 105 166 outlet; +#X obj 223 49 loadbang; +#X msg 111 22 medias/img0.jpg; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X restore 394 607 pd loadimage; +#X obj 9 496 rotateXYZ 0 0 0; +#X floatatom 71 471 5 0 0 0 - - -; +#N canvas 0 0 450 300 loadfont 0; +#X obj 102 93 file.path.top; +#X obj 105 166 outlet; +#X msg 104 116 font \$1; +#X obj 218 51 loadbang; +#X msg 111 22 pdmtl.ttf; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X restore 56 560 pd loadfont; +#X obj 12 604 text3d PDMTL; +#X text 83 26 Description: Provides an easy way of layering geos and +setting transparency issues.; +#X text 81 266 WARNING: To elminate clipping between layers \, the +depth perspective of each layer is modified and might therefore create +distortions.; +#X obj 171 358 gems.layer 0; +#X obj 28 359 gems.layer 1; +#X obj 364 358 gems.layer -1; +#X obj 172 730 square; +#X floatatom 39 445 5 0 0 0 - - -; +#X obj 172 704 gems.fit.scale window; +#X obj 365 732 gems.fit.scale window; +#X connect 1 0 0 0; +#X connect 6 0 19 0; +#X connect 7 0 35 0; +#X connect 8 0 9 0; +#X connect 9 0 36 0; +#X connect 10 0 15 2; +#X connect 11 0 6 0; +#X connect 12 0 11 2; +#X connect 15 0 8 0; +#X connect 19 0 21 0; +#X connect 21 0 7 0; +#X connect 22 0 6 0; +#X connect 23 0 8 0; +#X connect 24 0 27 0; +#X connect 25 0 24 2; +#X connect 26 0 27 0; +#X connect 30 0 11 0; +#X connect 31 0 24 0; +#X connect 32 0 15 0; +#X connect 34 0 24 1; +#X connect 35 0 33 0; +#X connect 36 0 20 0; diff --git a/gems.layer.pd b/gems.layer.pd new file mode 100644 index 0000000..040157f --- /dev/null +++ b/gems.layer.pd @@ -0,0 +1,67 @@ +#N canvas 59 210 664 490 10; +#X obj 87 103 gemhead; +#X obj 87 328 outlet; +#X obj 87 173 translateXYZ; +#X obj 333 -1 loadbang; +#X obj 334 32 f \$1; +#X obj 296 162 moses 0; +#X obj 357 180 * 2; +#X obj 203 213 f; +#X msg 187 121 -1; +#X obj 293 222 - 4; +#X obj 292 247 / -4; +#X obj 278 182 * 6; +#X obj 200 44 + 50; +#X msg 179 82 set \$1; +#X obj 226 148 f; +#X obj 334 57 int; +#X obj 333 82 moses -2; +#X msg 292 107 -2; +#X obj 389 106 moses 1; +#X msg 435 128 1; +#X obj 333 129 t f f; +#X obj 87 272 scaleXYZ 0.5; +#X obj 425 171 sel 1 0; +#X msg 467 258 0.125; +#X msg 525 256 0.25; +#X msg 530 206 0.5; +#X obj 75 -44 inlet render; +#X floatatom 202 307 5 0 0 0 - - -; +#X floatatom 132 211 5 0 0 0 - - -; +#X connect 0 0 2 0; +#X connect 2 0 21 0; +#X connect 3 0 4 0; +#X connect 4 0 15 0; +#X connect 5 0 11 0; +#X connect 5 1 6 0; +#X connect 6 0 9 0; +#X connect 6 0 14 0; +#X connect 7 0 21 2; +#X connect 7 0 21 1; +#X connect 7 0 27 0; +#X connect 8 0 2 3; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 11 0 9 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 0 0; +#X connect 14 0 2 3; +#X connect 14 0 12 0; +#X connect 14 0 28 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 16 1 18 0; +#X connect 17 0 20 0; +#X connect 18 0 20 0; +#X connect 18 1 19 0; +#X connect 19 0 20 0; +#X connect 20 0 5 0; +#X connect 20 1 22 0; +#X connect 21 0 1 0; +#X connect 22 0 23 0; +#X connect 22 1 24 0; +#X connect 22 2 25 0; +#X connect 23 0 21 3; +#X connect 25 0 21 3; +#X connect 26 0 0 0; diff --git a/gems.light-help.pd b/gems.light-help.pd new file mode 100644 index 0000000..76e3e9d --- /dev/null +++ b/gems.light-help.pd @@ -0,0 +1,59 @@ +#N canvas 1381 229 1070 544 10; +#X obj 494 286 gemhead; +#X obj 494 350 colorRGB 1 0 0; +#X obj 494 386 sphere 1 20; +#X obj 653 267 gemhead; +#X obj 656 379 sphere 1 20; +#X obj 656 316 translateXYZ; +#X obj 782 278 gemhead; +#X obj 783 375 sphere 1 20; +#X obj 494 323 translateXYZ -3 0 0; +#X obj 783 312 translateXYZ 3 0 0; +#X obj 656 343 colorRGB 0 1 0; +#X obj 783 340 colorRGB 0 0 1; +#X obj 400 94 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 400 154 print A; +#X obj 400 126 gems.win 640 480; +#X text 36 15 Description: Creates a light object and turns lighting +on.; +#X obj 70 112 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 547 40 Once you create a gems.light object \, lighting is automatically +turned on in the gem window.; +#X text 550 102 By default \, the light is placed at the same position +as the viewer(0 \, 20) and points toward 0 \, 0; +#X floatatom 164 247 5 0 0 0 - - -; +#X floatatom 207 278 5 0 0 0 - - -; +#X floatatom 253 302 5 0 0 0 - - -; +#X text 298 299 Distance (defaults to 20); +#X text 254 278 Vertical rotation (defaults to 0); +#X text 206 246 Horizontal rotation (defaults to 0); +#X text 124 175 Color; +#X obj 14 368 gems.light 1; +#X floatatom 83 146 5 0 0 0 - - -; +#X text 124 147 (0 to 1) Light intensity; +#X msg 186 193 0.2 0.2 1; +#X msg 108 192 1 0.2 0.2; +#X obj 14 301 gemhead; +#X obj 222 360 input.color.grid_; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 3 0 5 0; +#X connect 5 0 10 0; +#X connect 6 0 9 0; +#X connect 8 0 1 0; +#X connect 9 0 11 0; +#X connect 10 0 4 0; +#X connect 11 0 7 0; +#X connect 12 0 14 0; +#X connect 14 0 13 0; +#X connect 16 0 26 1; +#X connect 19 0 26 2; +#X connect 20 0 26 3; +#X connect 21 0 26 4; +#X connect 27 0 26 1; +#X connect 29 0 26 1; +#X connect 30 0 26 1; +#X connect 31 0 26 0; +#X connect 32 0 26 1; diff --git a/gems.light.pd b/gems.light.pd new file mode 100644 index 0000000..82993fb --- /dev/null +++ b/gems.light.pd @@ -0,0 +1,51 @@ +#N canvas 0 47 908 554 10; +#X obj 109 44 inlet; +#X obj 262 19 loadbang; +#X obj 110 95 route float list; +#X obj 262 51 dollarg; +#X obj 130 193 t b f; +#X msg 678 438 1; +#X obj 336 528 light; +#X obj 733 325 loadbang; +#X obj 411 332 translateXYZ 0 0 20; +#X obj 821 39 inlet distance; +#X obj 411 124 rotateXYZ; +#X obj 415 31 inlet horizontal_rotation; +#X obj 617 30 inlet vertical_rotation; +#X obj 406 471 list.op; +#X obj 468 469 *; +#X msg 273 205 1; +#X obj 269 396 list; +#X obj 240 441 route bang; +#X msg 244 462 1 1 1; +#X obj 220 163 t b l b; +#X obj 3 46 inlet; +#X obj 678 484 s gems:lightSet; +#X obj 678 274 r gems:lightQuery; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 2 1 19 0; +#X connect 3 0 2 0; +#X connect 4 0 16 0; +#X connect 4 1 14 1; +#X connect 5 0 21 0; +#X connect 7 0 5 0; +#X connect 8 0 6 0; +#X connect 9 0 8 3; +#X connect 10 0 8 0; +#X connect 11 0 10 2; +#X connect 12 0 10 1; +#X connect 13 0 6 1; +#X connect 13 1 14 0; +#X connect 14 0 13 1; +#X connect 15 0 14 1; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 17 1 13 0; +#X connect 18 0 13 0; +#X connect 19 0 16 0; +#X connect 19 1 16 1; +#X connect 19 2 15 0; +#X connect 20 0 10 0; +#X connect 22 0 5 0; diff --git a/gems.line-help.pd b/gems.line-help.pd new file mode 100644 index 0000000..63bb825 --- /dev/null +++ b/gems.line-help.pd @@ -0,0 +1,107 @@ +#N canvas 542 113 695 687 10; +#X obj 28 344 gems.line.width 7; +#X obj 196 230 prepend from; +#X obj 291 230 prepend to; +#X obj 37 44 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +; +#X obj 34 132 gemhead; +#X floatatom 127 312 5 0 0 0 - - -; +#X obj 290 204 pack 0 0 0; +#X floatatom 293 156 5 0 0 0 - - -; +#X floatatom 332 155 5 0 0 0 - - -; +#X obj 303 178 t b f; +#X obj 34 249 colorRGB 1 1 1 1; +#X obj 37 169 alpha 1; +#X obj 37 68 gems.win @dimen 200 200 @border 0 @offset 100 100 @FSAA +0 @fps 20; +#X obj 33 406 gems.line @from -6 1 0 @to 6 1 0; +#X obj 34 383 gems.line @from -6 0.5 0 @to 6 0.5 0; +#X obj 36 429 gems.line @from -6 1.5 0 @to 6 1.5 0; +#X obj 33 451 gems.line @from -6 2 0 @to 6 2 0; +#X obj 33 477 gems.line @from -6 2.5 0 @to 6 2.5 0; +#X obj 30 551 gems.line @from -6 -0.5 0 @to 6 -0.5 0; +#X obj 29 574 gems.line @from -6 -1 0 @to 6 -1 0; +#X obj 32 597 gems.line @from -6 -1.5 0 @to 6 -1.5 0; +#X obj 29 619 gems.line @from -6 -2 0 @to 6 -2 0; +#X obj 29 645 gems.line @from -6 -2.5 0 @to 6 -2.5 0; +#X obj 379 404 gemhead; +#X obj 377 592 circle 0.25 100; +#X obj 389 464 translateXYZ; +#X obj 382 433 alpha 1; +#X obj 386 498 colorRGB 1 0 0 0.9; +#X obj 386 534 scaleXYZ 1.2 1 1; +#X obj 382 557 rotateXYZ 0 0 45; +#X obj 460 416 / 2; +#X floatatom 561 349 5 0 0 0 - - -; +#X obj 551 137 adc~; +#X obj 544 223 fiddle~ 1024 1; +#X floatatom 490 247 5 0 0 0 - - -; +#X msg 539 37 \; pd dsp 1; +#X msg 538 71 \; pd dsp 0; +#X floatatom 583 372 5 0 0 0 - - -; +#X obj 551 281 - 60; +#X obj 366 344 unpack f f; +#X obj 426 367 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X floatatom 366 368 5 0 0 0 - - -; +#X obj 452 342 unpack f f; +#X obj 512 365 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +-1; +#X floatatom 452 366 5 0 0 0 - - -; +#X obj 164 124 square 1 1; +#X floatatom 135 177 5 0 0 0 - - -; +#X msg 69 44 dimen 1440 144 \, offset 0 25; +#X obj 196 208 pack 0 0 0; +#X floatatom 199 160 5 0 0 0 - - -; +#X floatatom 238 159 5 0 0 0 - - -; +#X obj 209 182 t b f; +#X obj 431 310 musical.note.index; +#X connect 0 0 14 0; +#X connect 1 0 14 1; +#X connect 2 0 14 1; +#X connect 3 0 12 0; +#X connect 4 0 11 0; +#X connect 5 0 0 1; +#X connect 6 0 2 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 9 1 6 1; +#X connect 10 0 0 0; +#X connect 11 0 10 0; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 23 0 26 0; +#X connect 25 0 27 0; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 29 0 24 0; +#X connect 30 0 25 2; +#X connect 31 0 37 0; +#X connect 32 0 33 0; +#X connect 32 1 33 0; +#X connect 33 0 34 0; +#X connect 33 0 38 0; +#X connect 33 0 52 0; +#X connect 38 0 31 0; +#X connect 39 0 41 0; +#X connect 39 1 40 0; +#X connect 41 0 30 0; +#X connect 42 0 44 0; +#X connect 42 1 43 0; +#X connect 46 0 10 4; +#X connect 47 0 12 0; +#X connect 48 0 1 0; +#X connect 49 0 48 0; +#X connect 50 0 51 0; +#X connect 51 0 48 0; +#X connect 51 1 48 1; +#X connect 52 0 42 0; diff --git a/gems.line.pd b/gems.line.pd new file mode 100644 index 0000000..664cc17 --- /dev/null +++ b/gems.line.pd @@ -0,0 +1,34 @@ +#N canvas 0 22 527 671 10; +#X obj 27 150 GEMglBegin; +#X obj 84 129 gems.gl.def GL_LINES; +#X obj 35 369 GEMglEnd; +#X obj 187 178 GEMglVertex3f 0 0 0; +#X obj 180 294 GEMglVertex3f 0 0 0; +#X obj 261 145 unpack f f f; +#X obj 220 267 unpack f f f; +#X obj 314 22 inlet; +#X obj 21 23 inlet; +#X obj 42 421 outlet; +#X obj 358 119 route from to; +#X obj 380 84 init.post.dollarg; +#X obj 380 56 dollarg; +#X obj 380 32 loadbang; +#X connect 0 0 3 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 1; +#X connect 5 1 3 2; +#X connect 5 2 3 3; +#X connect 6 0 4 1; +#X connect 6 1 4 2; +#X connect 6 2 4 3; +#X connect 7 0 10 0; +#X connect 8 0 0 0; +#X connect 10 0 5 0; +#X connect 10 1 6 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 12 1 11 1; +#X connect 13 0 12 0; diff --git a/gems.line.width-help.pd b/gems.line.width-help.pd new file mode 100644 index 0000000..80bd219 --- /dev/null +++ b/gems.line.width-help.pd @@ -0,0 +1,14 @@ +#N canvas 522 116 432 310 10; +#X obj 54 63 gems.line.width 7; +#X obj 20 -69 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X floatatom 153 31 5 0 0 0 - - -; +#X obj 20 -45 gems.win @dimen 200 200 @border 0 @offset 100 100 @FSAA +0 @fps 20; +#X obj 54 19 gemhead; +#X text 72 84 Description: Changes the line width; +#X obj 55 147 gems.line @from -2 -2 @to 2 2; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 2 0 0 1; +#X connect 4 0 0 0; diff --git a/gems.line.width.pd b/gems.line.width.pd new file mode 100644 index 0000000..64cb4a6 --- /dev/null +++ b/gems.line.width.pd @@ -0,0 +1,10 @@ +#N canvas 0 22 454 304 10; +#X obj 87 87 GEMglLineWidth; +#X obj 113 41 inlet; +#X obj 117 161 outlet; +#X obj 223 52 inlet; +#X obj 260 102 init.ldf \$1 1; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 0 1; diff --git a/gems.loop-help.pd b/gems.loop-help.pd new file mode 100644 index 0000000..2efed0b --- /dev/null +++ b/gems.loop-help.pd @@ -0,0 +1,52 @@ +#N canvas 532 70 517 611 10; +#X obj 54 352 gemhead; +#X obj 115 103 gemhead; +#X obj 115 321 rectangle 2.6 2; +#X obj 95 536 rectangle 2.6 2; +#X obj 95 487 translateXYZ -2.66 0 0; +#X obj 115 296 translateXYZ 2.66 0 0; +#X obj 115 269 pix_texture; +#X obj 139 176 file.path.top; +#X obj 168 214 bng 15 250 50 0 empty empty load_your_own_movie 0 -6 +0 8 -262144 -1 -1; +#X obj 157 354 tgl 15 0 empty empty REC 0 -6 0 8 -258699 -262144 -1 +0 1; +#X obj 95 511 pix_texture; +#X floatatom 122 469 5 0 0 1 current_frame - -; +#X floatatom 149 451 5 0 0 1 frames_recorded - -; +#X obj 192 429 tgl 15 0 empty empty rec_status 0 -6 0 8 -262144 -1 +-1 0 1; +#X obj 95 405 gems.loop 32; +#X obj 342 106 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 342 134 gems.win 320 240; +#X floatatom 182 374 5 0 0 2 speed - -; +#X floatatom 232 386 5 0 0 2 frame - -; +#X text 30 9 Description: Loops an image sequence (frames) with variable +speed playback and seek function.; +#X text 31 61 Argument_1:Deternines the maximum number of recorded +franes.; +#X text 29 42 Version: 2; +#X obj 115 240 gems.movies; +#X msg 139 154 medias/movies/mov0.mov; +#X obj 139 132 loadbang; +#X connect 0 0 14 0; +#X connect 1 0 22 0; +#X connect 2 0 14 1; +#X connect 4 0 10 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 22 1; +#X connect 8 0 22 1; +#X connect 9 0 14 2; +#X connect 10 0 3 0; +#X connect 14 0 4 0; +#X connect 14 1 11 0; +#X connect 14 2 12 0; +#X connect 14 3 13 0; +#X connect 15 0 16 0; +#X connect 17 0 14 3; +#X connect 18 0 14 4; +#X connect 22 0 6 0; +#X connect 23 0 7 0; +#X connect 24 0 23 0; diff --git a/gems.loop.pd b/gems.loop.pd new file mode 100644 index 0000000..fba26a2 --- /dev/null +++ b/gems.loop.pd @@ -0,0 +1,223 @@ +#N canvas 496 227 1104 687 10; +#X obj 236 150 spigot; +#X obj 237 260 pix_separator; +#X obj -1 519 pix_buffer_read \$0loop; +#X obj 237 322 pix_buffer_write \$0loop; +#X obj 478 -29 inlet on/off; +#X obj -9 627 outlet gemlist; +#X obj 101 66 inlet gemlist; +#X obj 288 59 inlet source_video(gemlist); +#X obj 300 473 t f f; +#X obj 532 93 sel 0 1; +#X obj 567 201 f; +#X obj 625 210 + 1; +#X obj 546 307 f; +#X msg 620 161 0; +#X obj 478 126 t b b; +#X msg 446 173 0; +#X obj 559 537 outlet recorded; +#X obj 414 537 outlet playing; +#X msg 544 144 1; +#X obj 648 278 >= \$1; +#X obj 654 307 sel 1; +#X msg 652 339 0; +#X obj -68 132 pix_buffer \$0loop \$1; +#X obj 683 33 change; +#X obj 763 545 outlet status; +#X obj 691 117 t f f; +#X obj 549 235 t f f f f; +#X obj 237 215 t a a b; +#X obj 250 187 separator; +#X obj 749 178 f \$1; +#X obj 554 119 t b b b b; +#X obj 475 1 route bang; +#X msg 554 39 set 0 \, 1; +#X text -29 -8 BUG: The default image overrides the main gemlist!; +#X obj 144 475 multiplex 0 1; +#N canvas 0 22 1076 720 videoplayer.guts 0; +#X obj 337 600 outlet; +#X obj 321 513 t f f; +#X obj 307 345 f 1; +#X obj 319 479 int; +#X obj 398 210 unpack; +#X obj 353 378 * 0; +#X obj 400 383 * 1; +#X obj 352 319 t f f; +#X obj 401 329 t b f; +#X obj 446 325 t b f; +#X obj 456 455 expr $f1*($f3-$f2)+$f2; +#X obj 464 425 pack f 0 1; +#X obj 139 612 outlet; +#N canvas 0 22 478 328 fcounter 0; +#X obj 145 159 t f f f; +#X obj 165 214 -; +#X obj 182 184 int; +#X obj 155 261 +; +#X obj 110 21 inlet; +#X obj 221 20 inlet; +#N canvas 0 22 474 324 count 0; +#X obj 84 48 inlet; +#X obj 192 274 outlet; +#X obj 89 80 route bang; +#X obj 176 139 t b f; +#X obj 182 219 t f f; +#X obj 173 171 f; +#X obj 291 49 inlet; +#X obj 289 78 route bang; +#X msg 288 120 0; +#X obj 186 194 + 1; +#X obj 183 39 inlet; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 5 0; +#X connect 3 1 9 1; +#X connect 4 0 1 0; +#X connect 4 1 5 1; +#X connect 5 0 9 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 5 1; +#X connect 8 0 5 1; +#X connect 9 0 4 0; +#X connect 10 0 9 1; +#X restore 149 99 pd count; +#X obj 163 366 outlet; +#X obj 282 20 inlet; +#X obj 348 23 inlet; +#X obj 291 218 -; +#X obj 162 329 +; +#X obj 252 92 t b f f f; +#X obj 147 296 t f f; +#X obj 76 182 moses 0; +#X obj 52 209 - 1; +#X obj 50 261 + 1; +#X obj 46 236 mod 0; +#X obj 117 221 mod 0; +#X obj 219 68 - 0; +#X connect 0 0 14 0; +#X connect 0 1 1 0; +#X connect 0 2 2 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 13 0; +#X connect 4 0 6 0; +#X connect 5 0 19 0; +#X connect 6 0 0 0; +#X connect 8 0 12 0; +#X connect 9 0 10 0; +#X connect 10 0 17 1; +#X connect 10 0 18 1; +#X connect 11 0 7 0; +#X connect 12 0 10 0; +#X connect 12 1 10 1; +#X connect 12 2 11 1; +#X connect 12 3 19 1; +#X connect 13 0 11 0; +#X connect 13 1 6 2; +#X connect 14 0 15 0; +#X connect 14 1 18 0; +#X connect 15 0 17 0; +#X connect 16 0 3 0; +#X connect 17 0 16 0; +#X connect 18 0 3 0; +#X connect 19 0 6 2; +#X restore 320 440 pd fcounter; +#X obj 92 220 t a b; +#X obj 488 597 outlet; +#X obj 296 391 t f f; +#X obj 536 386 - 1; +#X obj 387 569 s \$0frame; +#X obj 732 585 s \$0speed; +#X obj 310 179 route float; +#X obj 623 199 inlet relative_frame; +#X obj 788 249 inlet frame; +#X obj 851 288 inlet frames; +#X obj 439 152 inlet loop; +#X obj 269 153 inlet speed; +#X obj 92 157 inlet gemlist; +#X connect 1 0 18 0; +#X connect 1 1 0 0; +#X connect 2 0 16 0; +#X connect 3 0 1 0; +#X connect 4 0 8 0; +#X connect 4 1 9 0; +#X connect 5 0 11 1; +#X connect 5 0 13 2; +#X connect 6 0 13 3; +#X connect 6 0 17 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 5 0; +#X connect 8 1 5 1; +#X connect 9 0 6 0; +#X connect 9 1 6 1; +#X connect 10 0 13 1; +#X connect 11 0 10 0; +#X connect 13 0 3 0; +#X connect 14 0 12 0; +#X connect 14 1 2 0; +#X connect 16 0 13 0; +#X connect 16 1 15 0; +#X connect 17 0 11 2; +#X connect 20 0 2 1; +#X connect 20 0 19 0; +#X connect 21 0 11 0; +#X connect 22 0 13 1; +#X connect 23 0 7 0; +#X connect 24 0 4 0; +#X connect 25 0 20 0; +#X connect 26 0 14 0; +#X restore 100 398 pd videoplayer.guts; +#X msg 439 382 0; +#X obj 803 -18 inlet speed; +#X obj 922 -15 inlet frame; +#X connect 0 0 28 0; +#X connect 1 0 3 0; +#X connect 2 0 5 0; +#X connect 4 0 31 0; +#X connect 6 0 35 0; +#X connect 7 0 0 0; +#X connect 8 0 17 0; +#X connect 8 1 34 0; +#X connect 9 0 14 0; +#X connect 9 1 30 0; +#X connect 10 0 26 0; +#X connect 11 0 10 1; +#X connect 12 0 16 0; +#X connect 12 0 35 5; +#X connect 13 0 10 1; +#X connect 14 0 15 0; +#X connect 14 1 12 0; +#X connect 15 0 0 1; +#X connect 15 0 34 2; +#X connect 18 0 0 1; +#X connect 18 0 34 2; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 23 0 25 0; +#X connect 25 0 24 0; +#X connect 25 1 9 0; +#X connect 26 0 19 0; +#X connect 26 1 12 1; +#X connect 26 2 3 1; +#X connect 26 2 34 1; +#X connect 26 3 11 0; +#X connect 27 0 1 0; +#X connect 27 2 10 0; +#X connect 28 0 27 0; +#X connect 29 0 35 5; +#X connect 30 0 18 0; +#X connect 30 1 13 0; +#X connect 30 2 29 0; +#X connect 30 3 36 0; +#X connect 31 0 32 0; +#X connect 31 1 23 0; +#X connect 32 0 23 0; +#X connect 34 0 2 1; +#X connect 35 0 2 0; +#X connect 35 1 8 0; +#X connect 36 0 35 4; +#X connect 37 0 35 1; +#X connect 38 0 35 4; diff --git a/gems.loop~-help.pd b/gems.loop~-help.pd new file mode 100644 index 0000000..eac40a0 --- /dev/null +++ b/gems.loop~-help.pd @@ -0,0 +1,77 @@ +#N canvas 365 47 684 729 10; +#X text 20 13 Description: Loops an image sequence (frames) and sound +sample with variable speed playback and seek function.; +#X text 28 42 Version: 1; +#X obj 471 142 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 471 170 gems.win 320 240; +#X obj 34 298 gemhead; +#X obj 95 298 rectangle 2.6 2; +#X obj 95 242 pix_texture; +#X obj 125 328 tgl 15 0 empty \$0rec REC 0 -6 0 8 -258699 -262144 -1 +0 1; +#X obj 80 735 pix_texture; +#X floatatom 97 689 5 0 0 1 current_frame - -; +#X floatatom 115 670 5 0 0 1 frames_recorded - -; +#X obj 132 614 tgl 15 0 \$0rec empty rec_status 0 -6 0 8 -262144 -1 +-1 0 1; +#X obj 80 709 translateXYZ 2.66 0 0; +#X obj 80 760 rectangle 2.6 2; +#X obj 95 271 translateXYZ -2.66 0 0; +#X obj 95 110 gemhead; +#X obj 177 160 sig~ 1; +#X obj 95 187 gems.movies~; +#X obj 159 216 s~ \$0audioL; +#X obj 246 216 s~ \$0audioR; +#X obj 218 521 r~ \$0audioL; +#X obj 304 521 r~ \$0audioR; +#X obj 189 605 mix.out_~; +#X obj 258 478 sig~; +#X floatatom 258 457 5 0 0 0 - - -; +#X obj 80 566 gems.loop~ 32; +#X msg 152 366 frame \$1; +#X obj 213 392 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 213 411 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 155 322 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 212 368 Go to frame (0-1); +#X obj 210 434 t f b; +#X obj 165 456 pack f f; +#X msg 165 478 loop \$1 \$2; +#X text 27 61 Argument_1: Deternines the maximum number of recorded +franes.; +#X msg 135 133 load medias/movies/sync00.mov; +#X connect 2 0 3 0; +#X connect 4 0 25 0; +#X connect 5 0 25 1; +#X connect 6 0 14 0; +#X connect 7 0 25 2; +#X connect 8 0 13 0; +#X connect 12 0 8 0; +#X connect 14 0 5 0; +#X connect 15 0 17 0; +#X connect 16 0 17 2; +#X connect 17 0 6 0; +#X connect 17 4 18 0; +#X connect 17 5 19 0; +#X connect 20 0 25 4; +#X connect 21 0 25 5; +#X connect 23 0 25 3; +#X connect 24 0 23 0; +#X connect 25 0 12 0; +#X connect 25 1 9 0; +#X connect 25 2 10 0; +#X connect 25 3 11 0; +#X connect 25 4 22 0; +#X connect 25 5 22 1; +#X connect 26 0 25 2; +#X connect 27 0 32 0; +#X connect 28 0 31 0; +#X connect 29 0 26 0; +#X connect 31 0 32 1; +#X connect 31 1 27 0; +#X connect 32 0 33 0; +#X connect 33 0 25 2; +#X connect 35 0 17 1; diff --git a/gems.loop~.pd b/gems.loop~.pd new file mode 100644 index 0000000..b79c138 --- /dev/null +++ b/gems.loop~.pd @@ -0,0 +1,172 @@ +#N canvas 126 165 1015 682 10; +#X obj 25 600 outlet gemlist; +#X obj 23 8 inlet gemlist; +#X obj 135 600 outlet current_frame; +#X obj 273 598 outlet total_frames; +#X obj 400 598 outlet rec_status; +#X obj 117 8 inlet gemlist2loop; +#X obj 257 11 inlet rec; +#X obj 715 168 table \$0L; +#X obj 788 168 table \$0R; +#X obj 547 10 inlet~; +#X obj 634 11 inlet~; +#X obj 205 77 t f f; +#X obj 462 72 sel 1 0; +#X msg 606 84 stop; +#X obj 546 132 tabwrite~ \$0L; +#X obj 659 133 tabwrite~ \$0R; +#X obj 319 218 *~; +#X obj 23 264 gems.loop \$1; +#X obj 280 337 tabread4~ \$0L; +#X obj 384 340 tabread4~ \$0R; +#X obj 91 146 loadbang; +#X msg 92 168 0; +#X obj 544 594 outlet~; +#X obj 624 595 outlet~; +#X obj 27 60 t a b; +#X obj 200 169 snapshot~; +#X obj 186 214 *; +#N canvas 0 0 1054 707 table_size 0; +#X obj 175 114 flow.value.changes gems.win/fps; +#X obj 187 415 s \$0L; +#X obj 232 416 s \$0R; +#X msg 187 375 resize \$1; +#X obj 175 252 /; +#X obj 185 283 *; +#X obj 175 194 t b f b; +#X obj 228 248 samplerate~; +#X obj 145 220 f \$1; +#X obj 175 72 loadbang; +#X obj 175 138 sel 0; +#X msg 155 165 20; +#X obj 102 416 outlet; +#X connect 0 0 10 0; +#X connect 0 1 10 0; +#X connect 3 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 5 0 12 0; +#X connect 6 0 8 0; +#X connect 6 1 4 1; +#X connect 6 2 7 0; +#X connect 7 0 5 1; +#X connect 8 0 4 0; +#X connect 9 0 0 0; +#X connect 10 0 11 0; +#X connect 10 1 6 0; +#X connect 11 0 6 0; +#X restore 719 256 pd table_size; +#N canvas 0 0 951 612 frames2ms 0; +#X obj 316 289 flow.value.changes gems.win/fps; +#X obj 316 263 loadbang; +#X obj 295 420 / 20; +#X obj 346 319 sel 0; +#X msg 341 340 20; +#X obj 147 130 inlet; +#X obj 298 496 outlet; +#X obj 297 453 * 1000; +#X obj 337 378 t b f; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 1 0 0 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 3 1 8 0; +#X connect 4 0 8 0; +#X connect 5 0 2 0; +#X connect 7 0 6 0; +#X connect 8 0 2 0; +#X connect 8 1 2 1; +#X restore 504 416 pd frames2ms; +#X obj 593 323 convert.ms2smp; +#N canvas 1443 269 764 409 phasor 0; +#X obj 120 132 phasor~; +#X obj 178 48 convert.ms2freq; +#X obj 151 59 *~; +#X obj 121 180 +~ 0; +#X obj 121 202 wrap~; +#X obj 122 156 *~ 1; +#X obj 346 80 expr ($f2-$f1); +#X obj 400 146 t b f; +#X obj 410 214 * 1; +#X obj 395 116 abs; +#X obj 317 -6 unpack f f; +#X obj 320 26 clip 0 1; +#X obj 402 27 clip 0 1; +#X obj 118 -19 inlet~; +#X obj 318 -33 inlet; +#X obj 216 -22 inlet; +#X obj 122 321 outlet~; +#X obj 587 -28 inlet; +#X connect 0 0 5 0; +#X connect 1 0 2 1; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 16 0; +#X connect 5 0 3 0; +#X connect 6 0 5 1; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 8 0 1 0; +#X connect 9 0 7 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 6 0; +#X connect 11 0 3 1; +#X connect 12 0 6 1; +#X connect 13 0 2 0; +#X connect 14 0 10 0; +#X connect 15 0 0 1; +#X connect 17 0 8 0; +#X restore 327 144 pd phasor; +#X obj 378 9 inlet~; +#X obj 234 41 route frame loop; +#X obj 435 519 multiplex~ 0 1; +#X obj 565 521 multiplex~ 0 1; +#X obj 292 425 t f f f; +#X connect 1 0 24 0; +#X connect 5 0 17 1; +#X connect 6 0 32 0; +#X connect 9 0 14 0; +#X connect 9 0 33 1; +#X connect 10 0 15 0; +#X connect 10 0 34 1; +#X connect 11 0 17 2; +#X connect 11 1 12 0; +#X connect 12 0 14 0; +#X connect 12 0 15 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 13 0 15 0; +#X connect 16 0 18 0; +#X connect 16 0 19 0; +#X connect 17 0 0 0; +#X connect 17 1 2 0; +#X connect 17 2 3 0; +#X connect 17 2 26 1; +#X connect 17 2 28 0; +#X connect 17 3 35 0; +#X connect 18 0 33 0; +#X connect 19 0 34 0; +#X connect 20 0 21 0; +#X connect 21 0 17 3; +#X connect 24 0 17 0; +#X connect 24 1 25 0; +#X connect 25 0 26 0; +#X connect 26 0 17 4; +#X connect 28 0 29 0; +#X connect 28 0 30 3; +#X connect 29 0 16 1; +#X connect 30 0 16 0; +#X connect 30 0 25 0; +#X connect 31 0 30 0; +#X connect 32 0 30 1; +#X connect 32 1 30 2; +#X connect 32 2 11 0; +#X connect 33 0 22 0; +#X connect 34 0 23 0; +#X connect 35 0 4 0; +#X connect 35 1 33 0; +#X connect 35 2 34 0; diff --git a/gems.mixmode-help.pd b/gems.mixmode-help.pd new file mode 100644 index 0000000..77cffb5 --- /dev/null +++ b/gems.mixmode-help.pd @@ -0,0 +1,118 @@ +#N canvas 354 159 665 557 10; +#X obj 70 521 square 4; +#X obj 197 448 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-262144 -1 4124 1; +#X floatatom 279 496 5 0 0 0 - - -; +#X obj 69 407 pix_image; +#X obj 71 498 pix_texture; +#X obj 185 281 pix_image; +#N canvas 0 0 450 300 auto 0; +#X obj 129 227 line; +#X obj 140 169 sel 0 1; +#X obj 139 60 inlet; +#X obj 163 108 metro 1000; +#X obj 138 266 outlet; +#X obj 158 137 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 123 194 0.01 \, 1 1000; +#X msg 230 196 1 \, 0.01 1000; +#X connect 0 0 4 0; +#X connect 1 0 6 0; +#X connect 1 1 7 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 197 417 pd auto; +#X obj 197 397 tgl 15 0 empty empty empty 0 -6 0 8 -258699 -262144 +-1 1 1; +#X obj 197 375 loadbang; +#X obj 368 316 gems.win; +#X obj 368 291 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 388 287 1) Create Gem window.; +#X obj 69 471 gems.mixmode; +#X text 321 497 mode; +#X text 194 520 4th inlet is only useful for the pix_mix mode; +#X text 68 336 Left image:; +#X text 184 202 Right image:; +#X text 58 -4 Description: Allows to easily change the mixing mode +for two pixes.; +#X text 54 69 Modes are : (0) none \, (1) pix_mix \, (2) pix_mask \, +(3) pix_add \, (4) pix_subtract \, (5) pix_multiply \, (6) pix_composite +\, (7) pix_takealpha; +#N canvas 0 0 450 300 loadimage 0; +#X obj 166 140 file.path.top; +#X msg 166 163 open \$1; +#X obj 166 91 loadbang; +#X obj 161 215 outlet; +#X msg 166 115 medias/images/img0.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X restore 90 383 pd loadimage; +#N canvas 0 0 450 300 loadimage 0; +#X obj 166 140 file.path.top; +#X msg 166 163 open \$1; +#X obj 166 91 loadbang; +#X obj 161 215 outlet; +#X msg 166 115 medias/images/img1.jpg; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X restore 200 252 pd loadimage; +#X text 277 352 2) Play with the control below:; +#X obj 310 213 gemhead; +#X obj 185 309 multiplex 0 1; +#X obj 305 317 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#N canvas 0 0 450 300 loadmovie 0; +#X obj 166 140 file.path.top; +#X obj 166 91 loadbang; +#X obj 166 166 outlet; +#X msg 166 115 medias/movies/mov0.mov; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 3 0 0 0; +#X restore 334 235 pd loadmovie; +#X obj 69 359 gemhead 50; +#X obj 185 223 gemhead 49; +#X text 55 119 Warning : Images are cropped to fit together properly. +You might synth temporary error messages when you switch to images +of different dimensions.; +#X text 49 30 Comments: This method is deprecated. Use gems.alpha.mode +instead as it is much more powerful!; +#X obj 279 373 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -258699 -262144 +-1 3; +#X text 304 373 none; +#X text 304 402 pix_mask; +#X text 304 387 pix_mix; +#X text 304 417 pix_add; +#X text 304 432 pix_subtract; +#X text 304 448 pix_multiply; +#X text 304 463 pix_composite; +#X text 304 478 pix_takealpha; +#X obj 310 257 gems.movies; +#X connect 1 0 12 3; +#X connect 2 0 12 2; +#X connect 3 0 12 0; +#X connect 4 0 0 0; +#X connect 5 0 23 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 10 0 9 0; +#X connect 12 0 4 0; +#X connect 19 0 3 0; +#X connect 20 0 5 0; +#X connect 22 0 39 0; +#X connect 23 0 12 1; +#X connect 24 0 23 2; +#X connect 25 0 39 1; +#X connect 26 0 3 0; +#X connect 27 0 5 0; +#X connect 30 0 2 0; +#X connect 39 0 23 1; diff --git a/gems.mixmode.pd b/gems.mixmode.pd new file mode 100644 index 0000000..f0264ca --- /dev/null +++ b/gems.mixmode.pd @@ -0,0 +1,93 @@ +#N canvas 1359 471 931 524 10; +#X obj 87 330 pix_mix; +#X obj 66 -67 inlet; +#X obj 224 -63 inlet; +#X obj 452 2 inlet; +#X obj 466 53 f; +#X obj 300 382 outlet; +#X obj 856 16 inlet; +#X obj 856 43 f; +#X obj 208 325 pix_mask; +#X obj 292 331 pix_add; +#X obj 570 334 pix_composite; +#X obj 461 333 pix_multiply; +#X obj 360 331 pix_subtract; +#X obj 679 333 pix_takealpha; +#X obj 575 232 demultiplex 0 1 2 3 4 5 6 7; +#X obj 59 227 demultiplex 0 1 2 3 4 5 6 7; +#X obj 557 -13 gemhead; +#X obj 557 9 t b; +#X obj 557 38 flow.once; +#X obj 452 25 t b f; +#X obj 61 -2 pix_info; +#X obj 218 -27 pix_info; +#X obj 83 47 t f f; +#X obj 137 48 t f f; +#X obj 63 172 pix_crop; +#X obj 224 159 pix_crop; +#X obj 95 120 multiplex 0 1; +#X obj 203 119 multiplex 0 1; +#X obj 132 81 >=; +#X obj 229 77 >=; +#X obj 301 6 t f f; +#X obj 76 27 f; +#X obj 127 23 f; +#X obj 228 6 t b f f; +#X connect 0 0 5 0; +#X connect 1 0 20 0; +#X connect 2 0 21 0; +#X connect 3 0 19 0; +#X connect 4 0 14 1; +#X connect 4 0 15 1; +#X connect 6 0 7 0; +#X connect 7 0 0 2; +#X connect 8 0 5 0; +#X connect 9 0 5 0; +#X connect 10 0 5 0; +#X connect 11 0 5 0; +#X connect 12 0 5 0; +#X connect 13 0 5 0; +#X connect 14 1 0 1; +#X connect 14 2 8 1; +#X connect 14 3 9 1; +#X connect 14 4 12 1; +#X connect 14 5 11 1; +#X connect 14 6 10 1; +#X connect 14 7 13 1; +#X connect 15 0 5 0; +#X connect 15 1 0 0; +#X connect 15 2 8 0; +#X connect 15 3 9 0; +#X connect 15 4 12 0; +#X connect 15 5 11 0; +#X connect 15 6 10 0; +#X connect 15 7 13 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 4 0; +#X connect 19 0 18 1; +#X connect 19 1 4 1; +#X connect 20 0 24 0; +#X connect 20 1 31 0; +#X connect 20 2 32 0; +#X connect 21 0 25 0; +#X connect 21 1 33 0; +#X connect 21 2 30 0; +#X connect 22 0 26 0; +#X connect 22 1 28 0; +#X connect 23 0 27 0; +#X connect 23 1 29 0; +#X connect 24 0 15 0; +#X connect 25 0 14 0; +#X connect 26 0 24 1; +#X connect 26 0 25 1; +#X connect 27 0 25 2; +#X connect 27 0 24 2; +#X connect 28 0 26 2; +#X connect 29 0 27 2; +#X connect 30 0 27 1; +#X connect 30 1 29 1; +#X connect 31 0 22 0; +#X connect 32 0 23 0; +#X connect 33 1 26 1; +#X connect 33 2 28 1; diff --git a/gems.motion.blur-help.pd b/gems.motion.blur-help.pd new file mode 100644 index 0000000..14e5fc7 --- /dev/null +++ b/gems.motion.blur-help.pd @@ -0,0 +1,31 @@ +#N canvas 688 260 442 389 10; +#X obj 44 246 gems.motion.blur 0.4; +#X obj 44 109 gemhead; +#X obj 44 270 pix_texture; +#X obj 68 165 file.path.top; +#X obj 183 179 bng 15 250 50 0 empty empty load_your_own_movie 0 -6 +0 8 -262144 -1 -1; +#X obj 132 81 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 44 220 gems.movies; +#X msg 68 140 medias/movies/mov0.mov; +#X text 29 12 Description: Motion blur effect.; +#X obj 203 197 vsl 30 60 0 1 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X floatatom 203 268 5 0 0 0 - - -; +#X obj 44 295 rectangle 4 3; +#X obj 132 109 gems.win 320 320; +#X obj 95 332 pix_motionblur; +#X text 48 331 Uses :; +#X text 30 32 Argument_1: Motion blur ratio (out of 1.0); +#X text 245 223 <-- change the ratio; +#X connect 0 0 2 0; +#X connect 1 0 6 0; +#X connect 2 0 11 0; +#X connect 3 0 6 1; +#X connect 4 0 6 1; +#X connect 5 0 12 0; +#X connect 6 0 0 0; +#X connect 7 0 3 0; +#X connect 9 0 0 1; +#X connect 9 0 10 0; diff --git a/gems.motion.blur.pd b/gems.motion.blur.pd new file mode 100644 index 0000000..25cb8c7 --- /dev/null +++ b/gems.motion.blur.pd @@ -0,0 +1,24 @@ +#N canvas 270 142 539 591 10; +#X obj 81 261 pix_motionblur; +#X obj 30 40 inlet; +#X obj 79 359 outlet; +#X msg 102 195 0; +#X obj 224 129 == 0; +#X obj 223 153 change; +#X obj 223 178 sel 1 0; +#X obj 202 13 init.ldf \$1 0; +#X obj 150 15 inlet; +#X msg 225 208 1; +#X obj 200 42 t f f; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 6 1 9 0; +#X connect 7 0 10 0; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 10 0 0 1; +#X connect 10 1 4 0; diff --git a/gems.mouse-help.pd b/gems.mouse-help.pd new file mode 100644 index 0000000..3b2c04f --- /dev/null +++ b/gems.mouse-help.pd @@ -0,0 +1,30 @@ +#N canvas 616 404 599 464 10; +#X obj 17 133 gems.mouse; +#X text 16 14 Description: sends out mouse events which occur in the +GEM window. The coordinates match the relative coordinates of the GEM +world.; +#X obj 17 109 gems.win; +#X obj 17 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X obj 17 320 flow.prepend set; +#X msg 17 350 2.36667 3.7; +#X obj 71 267 flow.prepend set; +#X msg 71 297 0 1.06667 -0.166667; +#X obj 118 209 flow.prepend set; +#X msg 118 235 0 1.3 0.533333; +#X obj 150 156 flow.prepend set; +#X msg 150 182 0 1.3 0.533333; +#X text 16 55 Comments: Wraps gemmouse.; +#X text 191 280 left button: state(up/down) X Y; +#X text 227 218 middle button: state(up/down) X Y; +#X text 259 165 right button: state(up/down) X Y; +#X text 190 91 First inlet is a scaling factor.; +#X connect 0 0 4 0; +#X connect 0 1 6 0; +#X connect 0 2 8 0; +#X connect 0 3 10 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 6 0 7 0; +#X connect 8 0 9 0; +#X connect 10 0 11 0; diff --git a/gems.mouse.pd b/gems.mouse.pd new file mode 100644 index 0000000..990d36a --- /dev/null +++ b/gems.mouse.pd @@ -0,0 +1,91 @@ +#N canvas 1441 121 1056 779 10; +#X obj 160 290 pack; +#X obj 33 406 *; +#X obj 157 330 /; +#X obj 178 413 / 2; +#X obj 162 386 t f f; +#X obj 59 462 -; +#X obj 202 553 pack; +#X obj 543 241 * -8; +#X obj 152 359 * 8; +#X obj 586 295 + 4; +#X obj 121 86 gemmouse 1 1; +#X obj 54 710 outlet position; +#X obj 204 590 t a a; +#X obj 321 727 outlet left_button_state&position; +#X obj 321 688 list prepend; +#X obj 501 553 list; +#X obj 26 329 clip 0 1; +#X obj 230 153 clip 0 1; +#X obj 289 224 flow.value.changes gems.win/height; +#X obj 75 223 flow.value.changes gems.win/width; +#X obj 119 153 loadbang; +#X obj 121 181 t b b; +#X obj 657 724 outlet mid_button; +#X obj 862 704 outlet right_button; +#X obj 524 411 t b b f; +#X msg 464 473 0; +#X obj 655 677 list prepend; +#X obj 869 655 list prepend; +#X obj 683 427 t b b f; +#X obj 864 432 t b b f; +#X msg 685 477 1; +#X msg 875 483 2; +#X obj 637 36 inlet scale; +#X obj 498 621 demultiplex 0 1 2; +#X obj 149 517 / 1; +#X obj 261 500 / 1; +#X obj 170 455 t b b f f; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 8 0; +#X connect 3 0 5 1; +#X connect 4 0 1 1; +#X connect 4 1 3 0; +#X connect 5 0 34 0; +#X connect 6 0 12 0; +#X connect 7 0 9 0; +#X connect 8 0 4 0; +#X connect 9 0 35 0; +#X connect 10 0 16 0; +#X connect 10 1 17 0; +#X connect 10 2 24 0; +#X connect 10 3 28 0; +#X connect 10 4 29 0; +#X connect 12 0 11 0; +#X connect 12 1 15 1; +#X connect 14 0 13 0; +#X connect 15 0 33 0; +#X connect 16 0 1 0; +#X connect 17 0 7 0; +#X connect 18 0 0 1; +#X connect 18 1 0 1; +#X connect 19 0 0 0; +#X connect 19 1 0 0; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 21 1 18 0; +#X connect 24 0 15 0; +#X connect 24 1 25 0; +#X connect 24 2 14 1; +#X connect 25 0 33 1; +#X connect 26 0 22 0; +#X connect 27 0 23 0; +#X connect 28 0 15 0; +#X connect 28 1 30 0; +#X connect 28 2 26 1; +#X connect 29 0 15 0; +#X connect 29 1 31 0; +#X connect 29 2 27 1; +#X connect 30 0 33 1; +#X connect 31 0 33 1; +#X connect 32 0 36 0; +#X connect 33 0 14 0; +#X connect 33 1 26 0; +#X connect 33 2 27 0; +#X connect 34 0 6 0; +#X connect 35 0 6 1; +#X connect 36 0 34 0; +#X connect 36 1 35 0; +#X connect 36 2 34 1; +#X connect 36 3 35 1; diff --git a/gems.movies-help.pd b/gems.movies-help.pd new file mode 100644 index 0000000..3f643af --- /dev/null +++ b/gems.movies-help.pd @@ -0,0 +1,176 @@ +#N canvas 307 31 798 766 10; +#X floatatom 83 224 5 0 0 0 - - -; +#X floatatom 124 301 5 0 0 0 - - -; +#X floatatom 143 336 5 0 0 0 - - -; +#X msg 143 352 rel \$1; +#X floatatom 31 700 5 0 0 0 - - -; +#X floatatom 89 659 5 0 0 0 - - -; +#X symbolatom 143 620 40 0 0 0 - - -; +#X text 124 653 width; +#X text 150 639 height; +#X floatatom 112 641 5 0 0 0 - - -; +#X floatatom 67 678 5 0 0 0 - - -; +#X text 109 676 #frames; +#X obj 146 321 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 0; +#X text 129 222 Playback speed; +#X obj 91 530 print enfoffile; +#X text 189 352 Relative frame (0-1); +#X text 233 448 Loop bounds; +#X text 16 16 Description: A movie file manager and player.; +#X msg 152 448 loop \$1 \$2; +#X text 72 698 current frame; +#X text 203 524 This outlet outputs a bang when the end of the file +is reached.; +#X obj 152 383 input.min.max_ 0 1; +#X text 352 220 SUMMARY:; +#X text 352 240 Inlet_1: Gemlist; +#X text 353 254 Inlet_2: File managment; +#X text 353 270 Inlet_3: PLayback rate; +#X text 357 310 Outlet_1: Gemlist; +#X text 352 285 Inlet_4: Frame select + loop bounds; +#X text 357 325 Outlet_2: Current frame; +#X text 358 341 Outlet_3: Movie info; +#X text 358 355 Outlet_4: End of file (loop bang); +#X msg 98 278 b&f \$1; +#X obj 98 259 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 127 257 Play back & forth; +#X obj 125 56 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X text 16 30 Version: 6; +#N canvas 174 298 638 524 adding&getting_movie_files 0; +#X obj 42 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 63 14 Bang will open a panel.; +#X obj 120 274 file.path.top; +#X msg 120 300 id crab \$1; +#X msg 143 345 crab; +#X text 196 199 Autogeneration of IDs: Once you load both videos above +you can select them with the file names instead of the file paths! +; +#X text 181 343 Once the file is loaded with an ID \, simply send that +ID to recall the file.; +#X text 65 32 Also \, to add a video file \, you can simply send the +file path. Once a video is loaded \, you can select that video by sending +the full file path or simply the file name.; +#X obj 42 477 outlet; +#X text 248 277 ID METHOD: If you don't like the auto-creation of id's +matching the file name \, you can add files with a custom id like the +example on the left. Note that in this case \, you need to use the +absolute path.; +#X msg 69 124 medias/movies/mov0.mov; +#X msg 93 154 medias/movies/sync00.mov; +#X msg 108 201 mov0.mov; +#X msg 108 224 sync00.mov; +#X msg 120 250 medias/movies/mov0.mov; +#X connect 0 0 8 0; +#X connect 2 0 3 0; +#X connect 3 0 8 0; +#X connect 4 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; +#X connect 12 0 8 0; +#X connect 13 0 8 0; +#X connect 14 0 2 0; +#X restore 37 121 pd adding&getting_movie_files; +#X text 166 299 Frame; +#N canvas 444 462 622 303 loading_a_folder 0; +#X obj 47 256 outlet; +#X obj 48 139 file.folder.dump mov mpg mpeg avi; +#X msg 49 88 medias/movies; +#X text 148 87 <- This will add all the contents of medias/movies; +#X text 118 165 You can then either recall movies by their short names +or index numbers.; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X restore 53 156 pd loading_a_folder; +#X floatatom 63 185 5 0 0 0 - - -; +#X text 105 177 You can also recall movies by their index number once +they are loaded.; +#X text 362 392 WARNING: The only way to load movies with the same +name is by using the id method (i.e. id id_name absolute_file_path). +See the adding&getting_movie_files subpatch for more info); +#X text 463 618 --- AUTO MODE ---; +#X obj 334 750 gemhead 51; +#N canvas 235 546 450 300 loadmovie 0; +#X msg 68 102 medias/movies/mov0.mov; +#X obj 71 54 loadbang; +#X obj 67 126 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X restore 418 748 pd loadmovie; +#X obj 335 858 translateXYZ 2 -2 0; +#X obj 336 881 square 1.5; +#X obj 334 720 tgl 15 0 empty empty display 17 7 0 10 -262144 -1 -1 +0 1; +#X obj 333 674 loadbang; +#X msg 334 697 0; +#X obj 334 837 pix_texture; +#X floatatom 520 749 5 0 0 1 speed - -; +#X obj 486 819 print auto-end_of_file; +#X obj 490 847 print auto-info; +#X floatatom 524 772 5 0 0 1 goto_frame - -; +#X text 399 642 Auto mode decodes movies faster but you loose the following +options:; +#X text 427 670 - No back and forth.; +#X text 429 683 - No relative frame selection.; +#X text 428 697 - No loop bounds selection (loops the whole video). +; +#X text 430 712 - No current frame output.; +#X obj 66 591 unpack f f f s f; +#X floatatom 189 593 5 0 0 0 - - -; +#X text 225 591 frame rate(fps) \, defaults to 20 with old versions +of Gem; +#X obj 334 802 gems.movies auto; +#X obj 10 494 gems.movies; +#X obj 23 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 10 815 rectangle; +#X obj 125 80 gems.win 640 480 @fps 29.97; +#X obj 10 89 gemhead; +#X obj 360 775 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 10 769 gems.fit fill; +#X obj 10 732 pix_texture; +#X connect 0 0 64 2; +#X connect 1 0 64 3; +#X connect 2 0 3 0; +#X connect 3 0 64 3; +#X connect 12 0 2 0; +#X connect 18 0 64 3; +#X connect 21 0 18 0; +#X connect 31 0 64 2; +#X connect 32 0 31 0; +#X connect 34 0 67 0; +#X connect 36 0 64 1; +#X connect 38 0 64 1; +#X connect 39 0 64 1; +#X connect 43 0 63 0; +#X connect 44 0 63 1; +#X connect 45 0 46 0; +#X connect 47 0 43 0; +#X connect 48 0 49 0; +#X connect 49 0 47 0; +#X connect 50 0 45 0; +#X connect 51 0 63 2; +#X connect 54 0 63 3; +#X connect 60 0 10 0; +#X connect 60 1 5 0; +#X connect 60 2 9 0; +#X connect 60 3 6 0; +#X connect 60 4 61 0; +#X connect 63 0 50 0; +#X connect 63 2 53 0; +#X connect 63 3 52 0; +#X connect 64 0 71 0; +#X connect 64 1 4 0; +#X connect 64 2 60 0; +#X connect 64 3 14 0; +#X connect 65 0 64 1; +#X connect 68 0 64 0; +#X connect 69 0 63 1; +#X connect 70 0 66 0; +#X connect 70 1 66 1; +#X connect 70 2 66 2; +#X connect 71 0 70 0; diff --git a/gems.movies.pd b/gems.movies.pd new file mode 100644 index 0000000..fbcb753 --- /dev/null +++ b/gems.movies.pd @@ -0,0 +1,555 @@ +#N canvas 1257 25 1210 892 10; +#X obj 373 411 pack f \$0; +#X msg 676 408 \$1; +#X obj -53 727 r \$0out; +#X text 749 734 frames \, width \, height \, name; +#N canvas 359 261 430 394 bounddetect 0; +#X obj 98 242 sel 1; +#X obj 176 241 sel 1; +#X obj 98 222 change; +#X obj 176 220 change; +#X obj 176 199 < 0; +#X obj 207 155 abs; +#X obj 102 284 outlet; +#X obj 183 284 outlet; +#X obj 93 23 inlet; +#X obj 173 22 inlet; +#X obj 274 34 inlet; +#X obj 278 70 - 1; +#X obj 98 202 > 1; +#X obj 98 155 + 1; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 4 1; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 9 0 13 1; +#X connect 10 0 11 0; +#X connect 11 0 12 1; +#X connect 12 0 2 0; +#X connect 13 0 4 0; +#X connect 13 0 12 0; +#X restore 811 452 pd bounddetect; +#X obj 864 406 r \$0speed; +#X obj 773 418 r \$0frame; +#X msg 806 478 0; +#X msg 903 482 1; +#X obj 941 428 r \$0numframe; +#X obj 676 431 s \$0numframe; +#X obj 269 -10 openpanel; +#N canvas 387 251 1060 768 loadmovie 0; +#N canvas 0 22 590 440 \$0pix_films 0; +#X restore 125 209 pd \$0pix_films; +#X obj 125 242 loadbang; +#X obj 373 -155 r \$0info; +#N canvas 28 294 1028 730 make_pix_film 0; +#X obj 352 147 makesymbol pd-%spix_films; +#X obj 350 104 f \$0; +#X obj 398 118 * 20; +#X obj 399 47 t f b f; +#X obj 184 156 makesymbol %s_%s; +#X obj 184 133 pack f \$0; +#X obj 395 13 inlet; +#X obj 582 16 inlet; +#X obj 536 59 f \$0; +#X obj 592 40 b; +#X msg 534 112 \; \$1 clear; +#X obj 455 204 makesymbol %s_%spix_film; +#X obj 340 235 pack s 10 \$0 s; +#X obj 454 178 pack f \$0; +#X msg 340 271 \; \$1 obj 10 \$2 pd \$4; +#X obj 532 84 makesymbol pd-%spix_films; +#X obj 37 185 makesymbol pd-%spix_films; +#X obj -206 99 * 7; +#X obj 169 242 pack s s \$0; +#X obj 39 211 t s s; +#X obj -70 254 pack f f f f f f f s; +#X obj 79 47 t f b f; +#X obj 37 157 f \$0; +#X obj -223 164 + 1; +#X obj -196 165 + 2; +#X obj -169 164 + 3; +#X obj -142 164 + 4; +#X obj -115 165 + 5; +#X obj -86 165 + 6; +#X obj -207 128 t f f f f f f f; +#X msg -58 319 \; \$8 connect \$1 0 \$7 0 \; \$8 connect \$2 0 \$6 +0 \; \$8 connect \$6 0 \$7 1 \; \$8 connect \$7 0 \$3 0 \; \$8 connect +\$7 1 \$4 0 \; \$8 connect \$7 2 \$5 0 \;; +#X obj 659 13 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 140 301 \; \$1 obj 10 40 pix_film \; \$1 obj 10 15 r \$2in \; +\$1 obj 100 0 r \$2frame \; \$1 obj 10 65 s \$3out \; \$1 obj 110 65 +s \$3info \; \$1 obj 220 65 s \$3end \; \$1 obj 100 15 f \;; +#X connect 0 0 12 0; +#X connect 1 0 0 0; +#X connect 2 0 12 1; +#X connect 3 0 21 0; +#X connect 3 1 1 0; +#X connect 3 2 2 0; +#X connect 3 2 12 2; +#X connect 3 2 13 0; +#X connect 4 0 18 1; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 8 0 15 0; +#X connect 9 0 8 0; +#X connect 11 0 12 3; +#X connect 13 0 11 0; +#X connect 15 0 10 0; +#X connect 16 0 19 0; +#X connect 17 0 29 0; +#X connect 18 0 32 0; +#X connect 19 0 20 7; +#X connect 19 1 18 0; +#X connect 20 0 30 0; +#X connect 21 0 17 0; +#X connect 21 1 22 0; +#X connect 21 2 5 0; +#X connect 22 0 16 0; +#X connect 23 0 20 0; +#X connect 24 0 20 1; +#X connect 25 0 20 2; +#X connect 26 0 20 3; +#X connect 27 0 20 4; +#X connect 28 0 20 5; +#X connect 29 0 23 0; +#X connect 29 1 24 0; +#X connect 29 2 25 0; +#X connect 29 3 26 0; +#X connect 29 4 27 0; +#X connect 29 5 28 0; +#X connect 29 6 20 6; +#X connect 31 0 9 0; +#X restore 154 450 pd make_pix_film; +#X text 123 182 make pix_films; +#X obj 413 156 makesymbol %s_%sin; +#X obj 436 186 pack s s; +#X obj 418 118 pack f \$0; +#X obj 425 638 outlet; +#X obj 537 633 outlet; +#X obj 139 -38 s \$0cIndex; +#X obj 115 -129 + 1; +#X msg 436 210 \; \$1 colorspace RGBA \; \$1 open \$2; +#X obj 163 393 r \$0makepix_film; +#X msg 146 340 0; +#X obj 114 -104 t f f; +#X obj 115 -159 f 0; +#X obj 116 -72 t f f; +#X obj 174 -66 s \$0makepix_film; +#X obj 159 296 t b b; +#X obj 445 55 r \$0cIndex; +#X obj 431 83 f; +#N canvas 0 0 888 759 indexcoll 0; +#X obj 339 464 coll; +#C restore; +#X obj 259 235 file.path.split; +#X obj 343 374 spigot; +#X obj 336 493 t a b; +#X msg 379 515 0; +#X msg 416 345 1; +#X obj 140 31 inlet file_query; +#X obj 486 48 inlet file_store; +#X obj 245 610 outlet gotten; +#X obj 560 564 outlet get_info; +#X obj 463 164 symbol; +#X obj 530 260 r \$0cIndex; +#X obj 482 428 t b s; +#X obj 549 471 symbol; +#X obj 575 410 list trim; +#X msg 218 431 open; +#X obj 165 56 route id; +#X obj 259 199 t a a; +#X obj 156 135 list split 1; +#X obj 156 196 symbol; +#X obj 385 232 symbol; +#X obj 259 93 convert.list2symbol; +#X obj 316 168 convert.list2symbol; +#X obj 326 130 route bang; +#X obj 152 170 spigot; +#X msg 208 169 0; +#X msg 217 108 1; +#X obj 176 82 t a b; +#X obj 362 319 t s s b; +#X obj 564 382 list prepend nstore; +#X obj 460 286 t s b s; +#X obj 519 328 f; +#X obj -3 35 inlet index_query; +#X text 626 132 frames width height fps; +#X obj 528 135 unpack f f f f; +#X obj 519 82 t b l b; +#X obj 559 350 pack f s f f f f s f; +#X msg 645 107 20; +#X connect 0 0 3 0; +#X connect 1 1 28 0; +#X connect 2 0 12 0; +#X connect 3 0 8 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 2 1; +#X connect 6 0 16 0; +#X connect 7 0 35 0; +#X connect 10 0 30 0; +#X connect 11 0 31 1; +#X connect 11 0 36 2; +#X connect 12 0 13 0; +#X connect 12 1 10 1; +#X connect 13 0 9 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; +#X connect 16 0 27 0; +#X connect 16 1 21 0; +#X connect 17 0 1 0; +#X connect 17 1 20 0; +#X connect 18 0 24 0; +#X connect 18 1 23 0; +#X connect 19 0 28 0; +#X connect 20 0 13 1; +#X connect 20 0 36 6; +#X connect 21 0 17 0; +#X connect 22 0 20 0; +#X connect 23 0 25 0; +#X connect 23 1 22 0; +#X connect 24 0 19 0; +#X connect 25 0 24 1; +#X connect 26 0 24 1; +#X connect 27 0 18 0; +#X connect 27 1 26 0; +#X connect 28 0 2 0; +#X connect 28 1 0 0; +#X connect 28 2 5 0; +#X connect 29 0 14 0; +#X connect 30 0 0 0; +#X connect 30 1 31 0; +#X connect 30 2 36 1; +#X connect 31 0 36 0; +#X connect 32 0 0 0; +#X connect 34 0 36 3; +#X connect 34 1 36 4; +#X connect 34 2 36 5; +#X connect 34 3 36 7; +#X connect 35 0 10 0; +#X connect 35 1 34 0; +#X connect 35 2 37 0; +#X connect 36 0 29 0; +#X connect 37 0 36 7; +#X restore 283 51 pd indexcoll; +#X text 151 -156 Make a new pix_film; +#X obj 346 420 list split 1; +#X obj 267 353 r \$0empty; +#X obj 373 -120 t b a; +#X obj 420 5 t b a b; +#X obj 282 -4 inlet add; +#X obj 59 0 inlet get_by_index; +#X obj 608 481 list.split -1; +#X obj 654 632 outlet; +#X obj 467 436 t a a; +#X connect 1 0 19 0; +#X connect 2 0 26 0; +#X connect 5 0 6 0; +#X connect 6 0 12 0; +#X connect 7 0 5 0; +#X connect 11 0 15 0; +#X connect 13 0 3 0; +#X connect 14 0 3 0; +#X connect 15 0 17 0; +#X connect 15 1 16 1; +#X connect 16 0 11 0; +#X connect 17 0 10 0; +#X connect 17 1 18 0; +#X connect 19 0 14 0; +#X connect 19 1 3 1; +#X connect 20 0 21 1; +#X connect 21 0 7 0; +#X connect 22 0 24 0; +#X connect 22 1 27 0; +#X connect 24 0 8 0; +#X connect 24 1 32 0; +#X connect 25 0 3 1; +#X connect 26 0 16 0; +#X connect 26 1 22 2; +#X connect 27 0 21 0; +#X connect 27 1 6 1; +#X connect 28 0 22 1; +#X connect 29 0 22 0; +#X connect 30 1 31 0; +#X connect 32 0 9 0; +#X connect 32 1 30 0; +#X restore 547 328 pd loadmovie; +#X obj -58 694 flow.send \$0out; +#X obj 46 161 route b&f; +#X obj 2 207 s \$0b&f; +#X obj 1037 507 r \$0b&f; +#X obj 958 559 spigot; +#X obj 864 524 t b b; +#X obj 1021 575 r \$0speed; +#X obj 965 610 * -1; +#X obj 748 192 s \$0empty; +#X obj 749 123 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 310 575 flow.send; +#X obj 65 -101 inlet file_manage; +#X obj 239 -101 inlet play_speed; +#X obj 401 -98 inlet frames&loop; +#X obj -62 -95 inlet gemlist; +#X obj 133 207 s \$0speed; +#X obj 103 184 t f f; +#X obj -53 769 outlet gemlist; +#X obj 316 759 outlet current_frame; +#X obj 138 256 r \$0b&f_speed; +#X obj 967 638 s \$0b&f_speed; +#X obj 16 481 s \$0frame; +#X obj 52 425 t f f f; +#X obj 662 734 outlet info; +#X obj 228 375 r \$0numframe; +#X obj 272 244 route loop rel; +#X obj 647 386 t l l; +#X obj 256 444 convert.list2symbol _; +#X msg 99 657 symbol \$1in; +#X msg 303 496 symbol \$1frame; +#N canvas 0 22 1028 724 frame_counter 0; +#X obj 419 629 outlet; +#X text 881 197 frame #; +#X obj 199 288 f 1; +#X obj 319 479 int; +#X obj 398 210 unpack; +#X obj 353 378 * 0; +#X obj 400 383 * 1; +#X obj 352 319 t f f; +#X obj 401 329 t b f; +#X obj 446 325 t b f; +#X obj 615 509 expr $f1*($f3-$f2)+$f2; +#X obj 623 479 pack f 0 1; +#N canvas 0 22 482 332 fcounter 0; +#X obj 145 159 t f f f; +#X obj 165 214 -; +#X obj 182 184 int; +#X obj 155 261 +; +#X obj 110 21 inlet; +#X obj 221 20 inlet; +#N canvas 0 22 474 324 count 0; +#X obj 84 48 inlet; +#X obj 192 274 outlet; +#X obj 89 80 route bang; +#X obj 176 139 t b f; +#X obj 182 219 t f f; +#X obj 173 171 f; +#X obj 291 49 inlet; +#X obj 289 78 route bang; +#X msg 288 120 0; +#X obj 186 194 + 1; +#X obj 183 39 inlet; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 5 0; +#X connect 3 1 9 1; +#X connect 4 0 1 0; +#X connect 4 1 5 1; +#X connect 5 0 9 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 5 1; +#X connect 8 0 5 1; +#X connect 9 0 4 0; +#X connect 10 0 9 1; +#X restore 149 99 pd count; +#X obj 163 366 outlet; +#X obj 282 20 inlet; +#X obj 348 23 inlet; +#X obj 291 218 -; +#X obj 162 329 +; +#X obj 252 92 t b f f f; +#X obj 147 296 t f f; +#X obj 76 182 moses 0; +#X obj 52 209 - 1; +#X obj 50 261 + 1; +#X obj 46 236 mod 0; +#X obj 117 221 mod 0; +#X obj 219 68 - 0; +#X connect 0 0 14 0; +#X connect 0 1 1 0; +#X connect 0 2 2 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 13 0; +#X connect 4 0 6 0; +#X connect 5 0 19 0; +#X connect 6 0 0 0; +#X connect 8 0 12 0; +#X connect 9 0 10 0; +#X connect 10 0 17 1; +#X connect 10 0 18 1; +#X connect 11 0 7 0; +#X connect 12 0 10 0; +#X connect 12 1 10 1; +#X connect 12 2 11 1; +#X connect 12 3 19 1; +#X connect 13 0 11 0; +#X connect 13 1 6 2; +#X connect 14 0 15 0; +#X connect 14 1 18 0; +#X connect 15 0 17 0; +#X connect 16 0 3 0; +#X connect 17 0 16 0; +#X connect 18 0 3 0; +#X connect 19 0 6 2; +#X restore 320 440 pd fcounter; +#X obj 296 391 t f f; +#X obj 695 440 - 1; +#X obj 92 157 inlet trig; +#X obj 255 151 inlet speed; +#X obj 440 152 inlet loop; +#X obj 623 199 inlet rel_frame; +#X obj 788 249 inlet frame; +#X obj 852 288 inlet frames; +#X connect 2 0 13 0; +#X connect 3 0 0 0; +#X connect 4 0 8 0; +#X connect 4 1 9 0; +#X connect 5 0 11 1; +#X connect 5 0 12 2; +#X connect 6 0 12 3; +#X connect 6 0 14 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 5 0; +#X connect 8 1 5 1; +#X connect 9 0 6 0; +#X connect 9 1 6 1; +#X connect 10 0 12 1; +#X connect 11 0 10 0; +#X connect 12 0 3 0; +#X connect 13 0 12 0; +#X connect 14 0 11 2; +#X connect 15 0 2 0; +#X connect 16 0 2 1; +#X connect 17 0 4 0; +#X connect 18 0 11 0; +#X connect 19 0 12 1; +#X connect 20 0 7 0; +#X restore 53 392 pd frame_counter; +#X obj 965 587 f 1; +#X obj 408 -20 file.path.top; +#X obj 66 -76 route float bang; +#X msg 141 605 auto 0; +#X obj -27 633 spigot; +#X obj 36 615 r \$0auto; +#X obj -26 570 f 1; +#X obj -27 519 r \$0speed; +#X msg -26 593 auto \$1; +#X obj -29 249 r \$0auto; +#X obj -29 273 == 0; +#X obj 864 -35 loadbang; +#X obj 864 2 dollarg; +#X obj 864 36 list trim; +#X obj 864 70 route auto; +#X obj 862 153 s \$0auto; +#X msg 864 114 1; +#X obj 61 517 t b b a b; +#X obj -26 660 spigot; +#X msg 58 563 1; +#X obj 400 291 r \$0auto; +#X obj 300 314 demultiplex 0 1; +#X obj 237 533 change; +#X obj 267 467 t b a; +#X msg 246 491 set -1; +#X obj 418 520 r \$0end; +#X msg 424 551 0; +#X obj 980 734 outlet eof; +#X obj 481 548 t b b; +#X obj 960 42 sel 0; +#X msg 962 72 0; +#X obj -34 335 metro 50; +#X obj 689 334 s \$0detectedfps; +#X obj 16 280 r \$0detectedfps; +#X obj 1 307 convert.fps2ms; +#X connect 0 0 40 0; +#X connect 1 0 10 0; +#X connect 2 0 30 0; +#X connect 4 0 7 0; +#X connect 4 1 8 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 7 0 18 0; +#X connect 8 0 18 0; +#X connect 9 0 4 2; +#X connect 11 0 12 1; +#X connect 12 0 0 0; +#X connect 12 1 39 0; +#X connect 12 2 76 0; +#X connect 14 0 15 0; +#X connect 14 1 29 0; +#X connect 16 0 17 1; +#X connect 17 0 44 0; +#X connect 18 0 71 0; +#X connect 18 1 17 0; +#X connect 19 0 44 1; +#X connect 20 0 33 0; +#X connect 22 0 21 0; +#X connect 24 0 46 0; +#X connect 25 0 14 0; +#X connect 26 0 38 0; +#X connect 27 0 13 0; +#X connect 29 0 43 1; +#X connect 29 1 28 0; +#X connect 32 0 43 1; +#X connect 35 0 34 0; +#X connect 35 1 31 0; +#X connect 35 2 66 0; +#X connect 37 0 43 5; +#X connect 38 0 43 2; +#X connect 38 1 43 3; +#X connect 38 2 65 0; +#X connect 39 0 36 0; +#X connect 39 1 1 0; +#X connect 40 0 61 0; +#X connect 40 0 67 0; +#X connect 41 0 13 1; +#X connect 42 0 23 1; +#X connect 43 0 35 0; +#X connect 44 0 20 0; +#X connect 45 0 12 1; +#X connect 46 0 12 0; +#X connect 46 1 11 0; +#X connect 46 2 45 0; +#X connect 47 0 62 0; +#X connect 48 0 62 0; +#X connect 49 0 48 1; +#X connect 50 0 52 0; +#X connect 51 0 50 0; +#X connect 52 0 48 0; +#X connect 53 0 54 0; +#X connect 54 0 75 0; +#X connect 55 0 56 0; +#X connect 56 0 57 0; +#X connect 56 1 73 0; +#X connect 57 0 58 0; +#X connect 58 0 60 0; +#X connect 60 0 59 0; +#X connect 61 0 50 0; +#X connect 61 1 63 0; +#X connect 61 2 41 0; +#X connect 61 3 47 0; +#X connect 62 0 13 0; +#X connect 63 0 62 1; +#X connect 64 0 65 1; +#X connect 65 0 43 4; +#X connect 65 1 23 0; +#X connect 66 0 23 0; +#X connect 67 0 68 0; +#X connect 67 1 42 0; +#X connect 68 0 66 0; +#X connect 69 0 72 0; +#X connect 70 0 23 0; +#X connect 72 0 70 0; +#X connect 72 1 71 0; +#X connect 73 0 74 0; +#X connect 74 0 59 0; +#X connect 75 0 43 0; +#X connect 77 0 78 0; +#X connect 78 0 75 1; diff --git a/gems.movies~-help.pd b/gems.movies~-help.pd new file mode 100644 index 0000000..4f76571 --- /dev/null +++ b/gems.movies~-help.pd @@ -0,0 +1,87 @@ +#N canvas 1206 71 819 687 10; +#X obj 25 89 gemhead; +#X obj 26 672 pix_texture; +#X floatatom 105 392 5 0 0 0 - - -; +#X floatatom 48 640 5 0 0 0 - - -; +#X floatatom 106 599 5 0 0 0 - - -; +#X symbolatom 160 560 40 0 0 0 - - -; +#X text 145 599 width; +#X text 170 580 height; +#X floatatom 129 581 5 0 0 0 - - -; +#X floatatom 84 618 5 0 0 0 - - -; +#X text 123 618 #frames; +#X text 151 390 Playback speed; +#X text 88 640 current frame; +#X text 212 501 This outlet outputs a bang when the end of the file +is reached.; +#X obj 26 724 square; +#X text 433 293 SUMMARY:; +#X text 435 309 Inlet_1: Gemlist; +#X text 437 364 Outlet_1: Gemlist; +#X text 437 379 Outlet_2: Current frame; +#X text 437 395 Outlet_3: Movie info; +#X text 437 409 Outlet_4: End of file (loop bang); +#X obj 158 90 gems.win 320 320; +#X obj 158 66 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 83 531 unpack f f f s f; +#X floatatom 206 533 5 0 0 0 - - -; +#X text 247 534 frame rate(fps) \, defaults to 20 with old versions +of Gem; +#X obj 26 698 gems.fit.scale window; +#X obj 92 472 dac~; +#X text 21 42 Version: 1; +#X obj 105 414 sig~; +#X msg 76 235 frame \$1; +#X text 344 127 <- When you load a movie \, gems.movies~ automatically +looks for a file with the same name BUT with the "wav" extension in +the same folder as the movie.; +#X obj 145 263 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 145 282 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 282 263 Loop start (0-1); +#X text 282 279 Loop end (0-1); +#X obj 79 213 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 140 237 Go to frame (0-1); +#X obj 142 302 t f b; +#X obj 89 325 pack f f; +#X msg 89 347 loop \$1 \$2; +#X text 438 426 Outlet_5: Audio (left channel); +#X text 437 442 Outlet_6: Audio (right channel); +#X text 435 324 Inlet_2: File managment and frame control; +#X text 436 340 Inlet_3: Playback speed signal; +#X obj 25 444 gems.movies~; +#X text 345 175 Files are managed smartly. Once a file has been loaded +\, it is never reloaded.; +#X text 22 10 Description: A movie file manager and player with sound +output!; +#X msg 65 129 load medias/movies/sync00.mov; +#X obj 94 503 print enfofloop; +#X connect 0 0 45 0; +#X connect 1 0 26 0; +#X connect 2 0 29 0; +#X connect 22 0 21 0; +#X connect 23 0 9 0; +#X connect 23 1 4 0; +#X connect 23 2 8 0; +#X connect 23 3 5 0; +#X connect 23 4 24 0; +#X connect 26 0 14 0; +#X connect 29 0 45 2; +#X connect 30 0 45 1; +#X connect 32 0 39 0; +#X connect 33 0 38 0; +#X connect 36 0 30 0; +#X connect 38 0 39 1; +#X connect 38 1 32 0; +#X connect 39 0 40 0; +#X connect 40 0 45 1; +#X connect 45 0 1 0; +#X connect 45 1 3 0; +#X connect 45 2 23 0; +#X connect 45 3 49 0; +#X connect 45 4 27 0; +#X connect 45 5 27 1; +#X connect 48 0 45 1; diff --git a/gems.movies~.pd b/gems.movies~.pd new file mode 100644 index 0000000..1a77806 --- /dev/null +++ b/gems.movies~.pd @@ -0,0 +1,107 @@ +#N canvas 415 47 1001 711 10; +#X text 278 809 frames \, width \, height \, name; +#X obj 65 -101 inlet file_manage; +#X obj -62 -95 inlet gemlist; +#X obj -52 809 outlet gemlist; +#X obj 53 810 outlet current_frame; +#X obj 191 809 outlet info; +#X obj 464 807 outlet eof; +#X obj -53 337 gems.movies; +#X obj 118 596 t l l; +#X obj 253 457 unpack f f f s f; +#X obj 683 346 data.index.samples; +#X msg 683 308 \$1.wav; +#X obj 33 532 t f f; +#X obj 339 573 * 1000; +#X obj 193 32 convert.ms2freq; +#X obj 17 243 loadbang; +#X msg 19 267 0; +#X obj 141 241 tabread4~; +#X obj 214 240 tabread4~; +#X msg 680 376 set \$1; +#X msg 747 376 set \$1; +#X obj 613 796 outlet~; +#X obj 738 793 outlet~; +#X obj -48 156 t a b; +#X obj 41 208 snapshot~; +#X msg 64 291 rel \$1; +#X obj 683 275 file.path.split.extension; +#X obj 318 539 /; +#X obj 239 -101 inlet~; +#X obj 186 -9 *~; +#X obj 164 146 +~ 0; +#X obj 165 199 *~ 0; +#X obj 164 168 wrap~; +#X obj 165 122 *~ 1; +#X obj 346 80 expr ($f2-$f1); +#X obj 400 146 t b f; +#X obj 410 214 * 1; +#X obj 395 116 abs; +#X obj 59 -67 route load frame loop; +#X obj 238 -38 unpack f f; +#X obj 241 -6 clip 0 1; +#X obj 323 -5 clip 0 1; +#X floatatom 813 442 5 0 0 0 - - -; +#X msg 141 49 1; +#X obj 117 0 loadbang; +#X obj 460 765 r \$0EOF; +#X obj 151 95 s \$0EOF; +#X obj 66 72 tof/phasorshot~ 1; +#X connect 1 0 38 0; +#X connect 2 0 23 0; +#X connect 7 0 3 0; +#X connect 7 1 12 0; +#X connect 7 2 8 0; +#X connect 8 0 5 0; +#X connect 8 1 9 0; +#X connect 9 0 27 0; +#X connect 9 3 26 0; +#X connect 9 4 27 1; +#X connect 10 1 19 0; +#X connect 10 2 20 0; +#X connect 10 3 31 1; +#X connect 10 3 42 0; +#X connect 11 0 10 0; +#X connect 12 0 4 0; +#X connect 13 0 36 0; +#X connect 14 0 29 1; +#X connect 15 0 16 0; +#X connect 16 0 7 2; +#X connect 17 0 21 0; +#X connect 18 0 22 0; +#X connect 19 0 17 0; +#X connect 20 0 18 0; +#X connect 23 0 7 0; +#X connect 23 1 24 0; +#X connect 24 0 25 0; +#X connect 25 0 7 3; +#X connect 26 0 11 0; +#X connect 27 0 13 0; +#X connect 28 0 29 0; +#X connect 29 0 47 0; +#X connect 30 0 32 0; +#X connect 31 0 17 0; +#X connect 31 0 18 0; +#X connect 32 0 31 0; +#X connect 32 0 24 0; +#X connect 33 0 30 0; +#X connect 34 0 33 1; +#X connect 34 0 37 0; +#X connect 35 0 36 0; +#X connect 35 1 36 1; +#X connect 36 0 14 0; +#X connect 37 0 35 0; +#X connect 38 0 7 1; +#X connect 38 1 47 1; +#X connect 38 2 39 0; +#X connect 39 0 40 0; +#X connect 39 1 41 0; +#X connect 40 0 34 0; +#X connect 40 0 30 1; +#X connect 41 0 34 1; +#X connect 43 0 47 2; +#X connect 44 0 43 0; +#X connect 45 0 6 0; +#X connect 47 0 33 0; +#X connect 47 1 46 0; +#X connect 47 2 46 0; diff --git a/gems.multi.circle-help.pd b/gems.multi.circle-help.pd new file mode 100644 index 0000000..0537768 --- /dev/null +++ b/gems.multi.circle-help.pd @@ -0,0 +1,40 @@ +#N canvas 1338 381 818 514 10; +#X obj 48 284 gems.multi.circle; +#X obj 44 104 gemhead; +#X floatatom 112 239 5 0 0 1 repetitions - -; +#X obj 313 117 gems.win; +#X obj 313 78 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 48 385 pix_image; +#X msg 109 338 open ../pdmtl/medias/images/img0.jpg; +#X obj 48 424 pix_texture; +#X obj 46 198 gems.fit.scale window; +#X obj 109 313 loadbang; +#X obj 48 474 circle; +#X obj 160 260 tgl 15 0 empty empty keep_orientation 17 7 0 10 -262144 +-1 -1 0 1; +#X text 18 21 Description: Renders a circle out of a multitude of geos. +; +#X obj 157 57 loadbang; +#X obj 158 111 metro 5000; +#X obj 157 157 line; +#X msg 156 134 0 \, 360 5000; +#X obj 47 156 rotateXYZ; +#X obj 155 87 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X connect 0 0 5 0; +#X connect 1 0 17 0; +#X connect 2 0 0 1; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 10 0; +#X connect 8 0 0 0; +#X connect 9 0 6 0; +#X connect 11 0 0 2; +#X connect 13 0 18 0; +#X connect 14 0 16 0; +#X connect 15 0 17 3; +#X connect 16 0 15 0; +#X connect 17 0 8 0; +#X connect 18 0 14 0; diff --git a/gems.multi.circle.pd b/gems.multi.circle.pd new file mode 100644 index 0000000..9632402 --- /dev/null +++ b/gems.multi.circle.pd @@ -0,0 +1,58 @@ +#N canvas 1697 168 782 702 10; +#X obj 37 27 inlet gemlist; +#X obj 69 609 outlet; +#X obj 41 87 t a b; +#X obj 44 167 t a b; +#X obj 47 293 separator; +#X obj 256 28 inlet; +#X obj 42 144 repeat \$1; +#X obj 274 202 expr 360/$f1; +#X obj 691 218 number.pi; +#X obj 694 190 loadbang; +#X obj 655 194 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 70 454 scale 1; +#X obj 384 188 t f f; +#X obj 386 216 expr 2*sin($f2/$f1)*0.5; +#X obj 244 114 max 3; +#X obj 52 398 translateXYZ 1 0 0; +#X obj 56 378 scale 1; +#X obj 411 275 expr 1/($f1+1); +#X obj 526 11 inlet; +#X obj 307 442 * -1; +#X obj 173 266 count.iter; +#X obj 171 295 *; +#X obj 46 327 rotateXYZ 0 0 0; +#X obj 170 557 rotateXYZ 0 0 10; +#X obj 61 509 demultiplex 0 1; +#X connect 0 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 20 1; +#X connect 3 0 4 0; +#X connect 3 1 20 0; +#X connect 4 0 22 0; +#X connect 5 0 14 0; +#X connect 6 0 3 0; +#X connect 7 0 21 1; +#X connect 8 0 13 1; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 24 0; +#X connect 12 0 13 0; +#X connect 13 0 11 1; +#X connect 13 0 17 0; +#X connect 14 0 6 1; +#X connect 14 0 7 0; +#X connect 14 0 12 0; +#X connect 15 0 11 0; +#X connect 16 0 15 0; +#X connect 17 0 16 1; +#X connect 18 0 24 1; +#X connect 19 0 23 3; +#X connect 20 0 21 0; +#X connect 21 0 22 3; +#X connect 21 0 19 0; +#X connect 22 0 16 0; +#X connect 23 0 1 0; +#X connect 24 0 1 0; +#X connect 24 1 23 0; diff --git a/gems.multi.crop-help.pd b/gems.multi.crop-help.pd new file mode 100644 index 0000000..b9cf132 --- /dev/null +++ b/gems.multi.crop-help.pd @@ -0,0 +1,89 @@ +#N canvas 193 14 774 630 10; +#X obj 99 125 gemhead; +#X obj 100 62 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 229 514 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X obj 99 345 translateXYZ; +#X obj 99 515 pix_texture; +#X obj 243 157 file.path.top; +#X floatatom 445 362 5 0 0 0 - - -; +#X floatatom 403 362 5 0 0 0 - - -; +#X floatatom 362 362 5 0 0 0 - - -; +#X obj 123 153 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 229 290 5 0 0 0 - - -; +#X floatatom 164 262 5 0 0 0 - - -; +#X obj 104 396 scaleXYZ; +#X obj 149 568 cube; +#X obj 185 568 sphere; +#X obj 99 567 square; +#X obj 234 568 circle; +#X text 146 152 Choose movie; +#X obj 99 233 scaleXYZ; +#X obj 99 488 scaleXYZ; +#X floatatom 190 455 5 0 0 0 - - -; +#X obj 99 183 gems.movies; +#X obj 193 435 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 362 337 line; +#X obj 362 272 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 361 295 metro 5000; +#X msg 361 316 0 \, 360 5000; +#X text 380 272 <- Rotation animation; +#X text 208 262 X elements; +#X text 273 291 Y elements; +#X obj 99 541 demultiplex 0 1 2 3; +#X obj 362 246 loadbang; +#X obj 243 112 loadbang; +#X msg 243 134 medias/movies/mov0.mov; +#X obj 99 207 gems.fit fill; +#X obj 100 81 gems.win 320 240; +#X msg 410 135 medias/movies/sync00.mov; +#X text 334 434 <- Change the size of the individual elements here +; +#X text 102 9 Description: multiple cropping and mapping; +#X obj 99 433 rotateXYZ; +#X obj 99 317 gems.multi.crop 8 6; +#X connect 0 0 21 0; +#X connect 1 0 35 0; +#X connect 2 0 30 1; +#X connect 3 0 12 0; +#X connect 4 0 30 0; +#X connect 5 0 21 1; +#X connect 8 0 39 1; +#X connect 9 0 21 1; +#X connect 10 0 40 2; +#X connect 11 0 40 1; +#X connect 12 0 39 0; +#X connect 18 0 40 0; +#X connect 19 0 4 0; +#X connect 20 0 19 1; +#X connect 20 0 19 2; +#X connect 20 0 19 3; +#X connect 21 0 34 0; +#X connect 22 0 20 0; +#X connect 23 0 8 0; +#X connect 23 0 7 0; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 23 0; +#X connect 30 0 15 0; +#X connect 30 1 13 0; +#X connect 30 2 14 0; +#X connect 30 3 16 0; +#X connect 31 0 24 0; +#X connect 32 0 33 0; +#X connect 33 0 5 0; +#X connect 34 0 18 0; +#X connect 34 1 18 1; +#X connect 34 2 18 2; +#X connect 36 0 5 0; +#X connect 39 0 19 0; +#X connect 40 0 3 0; +#X connect 40 1 3 1; +#X connect 40 2 3 2; +#X connect 40 3 12 1; +#X connect 40 4 12 2; +#X connect 40 5 12 3; diff --git a/gems.multi.crop.pd b/gems.multi.crop.pd new file mode 100644 index 0000000..af10ab0 --- /dev/null +++ b/gems.multi.crop.pd @@ -0,0 +1,152 @@ +#N canvas 197 119 991 683 10; +#X obj 160 136 f 0; +#X obj 137 205 f 0; +#X obj 179 206 + 1; +#X obj 49 154 separator; +#X obj 52 178 t a b; +#X obj 52 224 t a b; +#X obj 164 258 f 0; +#X obj 127 326 f 0; +#X obj 167 328 + 1; +#X obj 53 276 separator; +#X obj 55 300 t a b; +#X obj 48 452 pix_crop; +#X obj 393 374 f; +#X obj 325 380 f; +#X obj 295 495 t b f; +#X obj 341 495 t b f; +#X text 263 578 xdim ydim xoff yoff; +#X obj 330 533 /; +#X obj 297 532 /; +#X obj 269 331 *; +#X obj 270 353 /; +#X obj 206 439 *; +#X obj 207 461 /; +#X text 205 208 X; +#X text 195 330 Y; +#X obj 43 669 outlet; +#X obj 436 108 init.df \$1 1; +#X obj 402 133 f; +#X obj 403 29 inlet; +#X text 410 -3 num X; +#X obj 591 56 loadbang; +#X obj 549 137 f; +#X obj 550 33 inlet; +#X text 557 1 num Y; +#X obj 583 112 init.df \$2 1; +#X obj 49 128 repeat 1; +#X obj 53 250 repeat 1; +#X obj 139 681 outlet; +#X obj 202 693 outlet; +#X obj 52 41 inlet; +#X obj 62 103 pix_info ------; +#X obj 144 612 expr (1/$f2)*($f1*2+1)-1; +#X obj 415 785 outlet; +#X obj 532 784 outlet; +#X obj 471 601 /; +#X obj 605 547 /; +#X obj 208 653 expr (1/$f2)*($f1*2+1)-1; +#X msg 466 574 1; +#X msg 600 520 1; +#X obj 469 653 f 1; +#X obj 560 665 f 1; +#X obj 728 754 outlet; +#X obj 720 636 min; +#X obj 54 76 t a b b b b; +#X obj 473 531 t b f; +#X obj 607 477 t b f; +#X obj 501 623 t f f; +#X obj 645 566 t f f; +#X obj 499 63 t b b; +#X obj 686 688 f 1; +#X obj 860 757 outlet; +#X obj 403 155 t f f f f f f; +#X obj 550 159 t f f f f f f; +#X obj 900 609 *; +#X obj 902 648 +; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 19 0; +#X connect 1 0 41 0; +#X connect 1 0 64 1; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 1 0; +#X connect 5 0 36 0; +#X connect 5 1 6 0; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 7 0 21 0; +#X connect 7 0 46 0; +#X connect 7 0 63 0; +#X connect 8 0 7 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 7 0; +#X connect 11 0 25 0; +#X connect 12 0 17 0; +#X connect 12 0 21 1; +#X connect 13 0 18 0; +#X connect 13 0 19 1; +#X connect 14 0 18 0; +#X connect 14 1 18 1; +#X connect 15 0 17 0; +#X connect 15 1 17 1; +#X connect 17 0 11 2; +#X connect 18 0 11 1; +#X connect 19 0 20 0; +#X connect 20 0 11 3; +#X connect 21 0 22 0; +#X connect 22 0 11 4; +#X connect 26 0 27 0; +#X connect 27 0 61 0; +#X connect 28 0 27 0; +#X connect 30 0 58 0; +#X connect 31 0 62 0; +#X connect 32 0 31 0; +#X connect 34 0 31 0; +#X connect 35 0 3 0; +#X connect 36 0 9 0; +#X connect 39 0 53 0; +#X connect 40 0 35 0; +#X connect 40 1 13 0; +#X connect 40 2 12 0; +#X connect 41 0 37 0; +#X connect 44 0 56 0; +#X connect 45 0 57 0; +#X connect 46 0 38 0; +#X connect 47 0 44 0; +#X connect 48 0 45 0; +#X connect 49 0 42 0; +#X connect 50 0 43 0; +#X connect 52 0 59 0; +#X connect 53 0 40 0; +#X connect 53 1 0 0; +#X connect 53 2 49 0; +#X connect 53 3 50 0; +#X connect 53 4 59 0; +#X connect 54 0 47 0; +#X connect 54 1 44 1; +#X connect 55 0 48 0; +#X connect 55 1 45 1; +#X connect 56 0 49 0; +#X connect 56 1 52 0; +#X connect 57 0 50 0; +#X connect 57 1 52 1; +#X connect 58 0 26 0; +#X connect 58 1 34 0; +#X connect 59 0 51 0; +#X connect 61 0 35 1; +#X connect 61 1 20 1; +#X connect 61 2 14 0; +#X connect 61 3 41 1; +#X connect 61 4 54 0; +#X connect 61 5 63 1; +#X connect 62 0 36 1; +#X connect 62 1 22 1; +#X connect 62 2 15 0; +#X connect 62 3 46 1; +#X connect 62 4 55 0; +#X connect 63 0 64 0; +#X connect 64 0 60 0; diff --git a/gems.multi.cube-help.pd b/gems.multi.cube-help.pd new file mode 100644 index 0000000..b44e21c --- /dev/null +++ b/gems.multi.cube-help.pd @@ -0,0 +1,53 @@ +#N canvas 413 96 660 667 10; +#X obj 92 111 gemhead; +#X obj 313 71 gems.win 320 240; +#X obj 313 46 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 93 138 alpha; +#X floatatom 224 401 5 0 0 1 num_of_z_repetitions - -; +#X obj 105 336 rotateXYZ; +#X floatatom 147 298 5 0 0 0 - - -; +#X text 45 24 Description: Repeats Geos in a cubic layout.; +#X text 196 500 Args:; +#N canvas 152 523 450 300 autorotate 0; +#X obj 83 191 outlet; +#X obj 83 129 moses 361; +#X msg 187 155 set 0; +#X obj 83 93 count.timed 10; +#X obj 80 41 inlet; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X restore 156 271 pd autorotate; +#X obj 157 226 loadbang; +#X obj 158 249 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X floatatom 178 382 5 0 0 1 num_of_y_repetitions - -; +#X floatatom 141 362 5 0 0 1 num_of_x_repetitions - -; +#X text 240 500 x repetitions (minimum of 1); +#X text 241 516 y repetitions (minimum of 1); +#X text 243 531 z repetitions (minimum of 0); +#X obj 357 139 gemhead; +#X obj 357 189 gems.light; +#X obj 105 458 gems.multi.cube 1 1 3; +#X obj 93 170 gems.fit.scale fill; +#X obj 105 513 cube 0.5; +#X obj 87 201 colorRGB 0 1 0; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 20 0; +#X connect 4 0 19 3; +#X connect 5 0 19 0; +#X connect 6 0 5 2; +#X connect 6 0 5 1; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 12 0 19 2; +#X connect 13 0 19 1; +#X connect 17 0 18 0; +#X connect 19 0 21 0; +#X connect 20 0 22 0; +#X connect 22 0 5 0; diff --git a/gems.multi.cube.pd b/gems.multi.cube.pd new file mode 100644 index 0000000..491499b --- /dev/null +++ b/gems.multi.cube.pd @@ -0,0 +1,133 @@ +#N canvas 0 34 1028 734 10; +#X obj 165 154 f 0; +#X obj 137 205 f 0; +#X obj 179 206 + 1; +#X obj 49 154 separator; +#X obj 164 258 f 0; +#X obj 168 308 f 0; +#X obj 208 310 + 1; +#X obj 53 276 separator; +#X text 205 208 X; +#X text 235 310 Y; +#X obj 22 703 outlet; +#X obj 436 108 init.df \$1 1; +#X obj 402 133 f; +#X obj 403 29 inlet; +#X text 410 -3 num X; +#X obj 606 19 loadbang; +#X obj 549 137 f; +#X obj 550 33 inlet; +#X text 557 1 num Y; +#X obj 583 112 init.df \$2 1; +#X obj 49 128 repeat 1; +#X obj 53 250 repeat 1; +#X obj 144 17 inlet; +#X obj 139 503 expr (1/$f2)*($f1*2+1)-1; +#X obj 459 530 /; +#X obj 605 547 /; +#X obj 197 534 expr (1/$f2)*($f1*2+1)-1; +#X msg 454 503 1; +#X msg 600 520 1; +#X obj 461 460 t b f; +#X obj 607 477 t b f; +#X obj 489 552 t f f; +#X obj 538 563 t f f; +#X obj 389 184 t f f f f f f; +#X obj 547 189 t f f f f f f; +#X obj 41 612 translateXYZ; +#X obj 76 657 scaleXYZ; +#X obj 146 52 t a b; +#X obj 400 159 max 1; +#X obj 549 164 max 1; +#X obj 60 384 separator; +#X obj 62 408 t a b; +#X obj 60 358 repeat 1; +#X obj 52 178 t a b b; +#X obj 55 300 t a b b; +#X obj 152 368 f 0; +#X obj 156 418 f 0; +#X obj 196 420 + 1; +#X obj 721 31 inlet; +#X text 722 8 num z; +#X obj 725 139 f; +#X obj 726 165 max 1; +#X obj 731 192 t f f f; +#X obj 215 561 expr (1/$f2)*($f1*2+1)-1; +#X obj 752 110 init.df \$3 1; +#X obj 782 547 /; +#X msg 773 516 1; +#X obj 780 473 t b f; +#X obj 499 63 t b b b b; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 0 23 0; +#X connect 2 0 1 1; +#X connect 3 0 43 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 5 0 26 0; +#X connect 6 0 5 1; +#X connect 7 0 44 0; +#X connect 11 0 12 0; +#X connect 12 0 38 0; +#X connect 13 0 12 0; +#X connect 15 0 58 0; +#X connect 16 0 39 0; +#X connect 17 0 16 0; +#X connect 19 0 16 0; +#X connect 20 0 3 0; +#X connect 21 0 7 0; +#X connect 22 0 37 0; +#X connect 23 0 35 1; +#X connect 24 0 31 0; +#X connect 25 0 32 0; +#X connect 26 0 35 2; +#X connect 27 0 24 0; +#X connect 28 0 25 0; +#X connect 29 0 27 0; +#X connect 29 1 24 1; +#X connect 30 0 28 0; +#X connect 30 1 25 1; +#X connect 31 0 36 1; +#X connect 32 0 36 2; +#X connect 33 0 20 1; +#X connect 33 3 23 1; +#X connect 33 4 29 0; +#X connect 34 0 21 1; +#X connect 34 3 26 1; +#X connect 34 4 30 0; +#X connect 35 0 36 0; +#X connect 36 0 10 0; +#X connect 37 0 20 0; +#X connect 37 1 0 0; +#X connect 38 0 33 0; +#X connect 39 0 34 0; +#X connect 40 0 41 0; +#X connect 41 0 35 0; +#X connect 41 1 46 0; +#X connect 42 0 40 0; +#X connect 43 0 21 0; +#X connect 43 1 4 0; +#X connect 43 2 1 0; +#X connect 44 0 42 0; +#X connect 44 1 45 0; +#X connect 44 2 5 0; +#X connect 45 0 46 1; +#X connect 46 0 47 0; +#X connect 46 0 53 0; +#X connect 47 0 46 1; +#X connect 48 0 50 0; +#X connect 50 0 51 0; +#X connect 51 0 52 0; +#X connect 52 0 42 1; +#X connect 52 1 53 1; +#X connect 52 2 57 0; +#X connect 53 0 35 3; +#X connect 54 0 50 0; +#X connect 55 0 36 3; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 55 1; +#X connect 58 0 11 0; +#X connect 58 1 19 0; +#X connect 58 2 54 0; diff --git a/gems.polygon.n-help.pd b/gems.polygon.n-help.pd new file mode 100644 index 0000000..0db4c34 --- /dev/null +++ b/gems.polygon.n-help.pd @@ -0,0 +1,103 @@ +#N canvas 473 72 886 858 10; +#X obj 99 234 gemhead; +#X obj 98 280 color 0 1 0; +#X obj 101 541 rotateXYZ; +#X obj 98 258 alpha 1; +#X msg -9 477 draw line; +#X msg -9 432 draw fill; +#X msg -9 454 draw point; +#X msg -9 497 draw linestrip; +#X msg -9 517 draw tri; +#X msg -9 539 draw tristrip; +#X msg -10 562 draw trifan; +#X msg -10 583 draw quad; +#X msg -10 605 draw quadstrip; +#X obj 91 154 gems.win; +#X obj 91 130 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X text -1 2 Description: Creates a dynamic number of polygon objects. +; +#N canvas 0 0 885 674 animation 0; +#X obj 290 190 metro 50; +#X obj 282 217 t b b b b; +#X obj 111 339 pack; +#X obj 123 291 t f b; +#X obj 286 80 inlet; +#X obj 256 601 outlet; +#X obj 270 332 pack; +#X obj 282 284 t f b; +#X obj 439 335 pack; +#X obj 451 287 t f b; +#X obj 629 333 pack; +#X obj 641 285 t f b; +#X msg 94 363 3 \$1 \$2 0; +#X msg 266 384 2 \$1 \$2 0; +#X msg 475 391 1 \$1 \$2 0; +#X msg 605 391 0 \$1 \$2 0; +#X obj 672 304 random.drunk -4 -1; +#X obj 643 261 random.drunk -4 -1; +#X obj 453 263 random.drunk 1 4; +#X obj 482 306 random.drunk -4 -1; +#X obj 284 260 random.drunk 1 4; +#X obj 323 304 random.drunk 1 4; +#X obj 154 310 random.drunk 1 4; +#X obj 125 267 random.drunk -4 -1; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 1 1 20 0; +#X connect 1 2 18 0; +#X connect 1 3 17 0; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 3 1 22 0; +#X connect 4 0 0 0; +#X connect 6 0 13 0; +#X connect 7 0 6 0; +#X connect 7 1 21 0; +#X connect 8 0 14 0; +#X connect 9 0 8 0; +#X connect 9 1 19 0; +#X connect 10 0 15 0; +#X connect 11 0 10 0; +#X connect 11 1 16 0; +#X connect 12 0 5 0; +#X connect 13 0 5 0; +#X connect 14 0 5 0; +#X connect 15 0 5 0; +#X connect 16 0 10 1; +#X connect 17 0 11 0; +#X connect 18 0 9 0; +#X connect 19 0 8 1; +#X connect 20 0 7 0; +#X connect 21 0 6 1; +#X connect 22 0 2 1; +#X connect 23 0 3 0; +#X restore 318 577 pd animation; +#X obj 318 505 loadbang; +#X obj 318 538 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 98 365 pix_image; +#X obj 105 574 pix_texture; +#X obj 273 380 file.path.top; +#X msg 276 407 open \$1; +#X floatatom 132 488 5 0 0 0 - - -; +#X obj 259 175 input.color.grid_; +#X obj 105 631 gems.polygon.n 4; +#X msg 279 349 medias/images/img0.jpg; +#X connect 0 0 3 0; +#X connect 1 0 19 0; +#X connect 2 0 20 0; +#X connect 3 0 1 0; +#X connect 10 0 25 0; +#X connect 12 0 25 0; +#X connect 14 0 13 0; +#X connect 16 0 25 2; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X connect 19 0 2 0; +#X connect 20 0 25 0; +#X connect 21 0 22 0; +#X connect 22 0 19 0; +#X connect 23 0 2 2; +#X connect 24 0 1 1; +#X connect 26 0 21 0; diff --git a/gems.polygon.n.pd b/gems.polygon.n.pd new file mode 100644 index 0000000..5cd02c9 --- /dev/null +++ b/gems.polygon.n.pd @@ -0,0 +1,105 @@ +#N canvas 323 76 1039 520 10; +#N canvas 0 22 502 352 1003-dynamicpatch 0; +#X restore 647 22 pd \$0-dynamicpatch; +#X obj 81 123 until; +#X obj 185 14 inlet; +#X obj 80 11 loadbang; +#X obj -113 14 inlet gemchain; +#X obj -113 45 s \$0gem; +#X msg 125 124 0; +#X obj 335 135 symbol; +#X msg 335 159 \; \$1 clear; +#X obj 335 93 makesymbol pd-%s-dynamicpatch; +#X obj 335 73 f \$0; +#X text 359 114 id of the dynamic subpatch; +#X obj 81 145 f 0; +#X obj 119 147 + 1; +#X obj 268 191 f \$0; +#X obj 480 19 inlet knot_xyz; +#X obj 480 40 s \$0xyz; +#X obj -102 487 outlet gemchain; +#X obj -102 460 r \$0gemout; +#X msg 666 221 set; +#X msg 667 242 addsemi; +#X msg 668 312 add2 \$1; +#X obj 548 214 until; +#X msg 588 220 0; +#X obj 548 244 f 0; +#X obj 578 243 + 1; +#X obj 530 315 symbol; +#X msg 670 263 adddollar 1; +#X msg 531 373 \; \$1 obj 150 40 route; +#X msg 670 288 add2 obj 150 40 route; +#X obj 531 178 t b f b b b b b; +#X obj 268 212 pack f s f; +#X obj 187 39 t f b b f b f; +#X obj 80 33 t b b b b b; +#X text 608 353 This message can become very long !; +#X text 18 408 dollars: 1:route number \, 2:previous object \, 3:current +inlet; +#X obj 116 194 + 1; +#X obj 79 220 pack f f s; +#X obj 111 170 t f f; +#X msg 77 251 \; \$3 connect 0 \$1 3 \$2 \;; +#X text 142 470 objects: 0:route 0 1 2 3 4...n-1 \, 1:receive 0xyz +\, 2:receive 0gem \, 3: polygon n \, 4 send 0gemout; +#X msg 269 234 \; \$2 obj 150 15 r \$1xyz \; \$2 obj 10 15 r \$1gem +\; \$2 obj 150 150 polygon \$3 \; \$2 obj 10 60 s \$1gemout \; \$2 +connect 1 0 0 0 \; \$2 connect 2 0 3 0 \; \$2 connect 3 0 4 0 \;; +#X obj 531 150 init.df \$1 1; +#X obj 382 201 init.df \$1 1; +#X obj 79 85 init.df \$1 1; +#X connect 1 0 12 0; +#X connect 2 0 32 0; +#X connect 3 0 33 0; +#X connect 4 0 5 0; +#X connect 6 0 12 1; +#X connect 7 0 8 0; +#X connect 9 0 7 0; +#X connect 9 0 26 1; +#X connect 9 0 31 1; +#X connect 9 0 37 2; +#X connect 10 0 9 0; +#X connect 12 0 13 0; +#X connect 12 0 38 0; +#X connect 13 0 12 1; +#X connect 14 0 31 0; +#X connect 15 0 16 0; +#X connect 18 0 17 0; +#X connect 19 0 28 0; +#X connect 20 0 28 0; +#X connect 21 0 28 0; +#X connect 22 0 24 0; +#X connect 23 0 24 1; +#X connect 24 0 25 0; +#X connect 24 0 21 0; +#X connect 25 0 24 1; +#X connect 26 0 28 0; +#X connect 27 0 28 0; +#X connect 29 0 28 0; +#X connect 30 0 26 0; +#X connect 30 1 22 0; +#X connect 30 2 29 0; +#X connect 30 3 27 0; +#X connect 30 4 20 0; +#X connect 30 5 19 0; +#X connect 30 6 23 0; +#X connect 31 0 41 0; +#X connect 32 0 44 0; +#X connect 32 1 6 0; +#X connect 32 2 14 0; +#X connect 32 3 42 0; +#X connect 32 4 7 0; +#X connect 32 5 43 0; +#X connect 33 0 44 0; +#X connect 33 1 14 0; +#X connect 33 2 42 0; +#X connect 33 3 10 0; +#X connect 33 4 43 0; +#X connect 36 0 37 1; +#X connect 37 0 39 0; +#X connect 38 0 37 0; +#X connect 38 1 36 0; +#X connect 42 0 30 0; +#X connect 43 0 31 2; +#X connect 44 0 1 0; diff --git a/gems.record-help.pd b/gems.record-help.pd new file mode 100644 index 0000000..fc2fae2 --- /dev/null +++ b/gems.record-help.pd @@ -0,0 +1,56 @@ +#N canvas 380 146 876 525 10; +#X obj 111 360 pix_video; +#X obj 54 120 gemhead 10000; +#X obj 116 327 gemhead 100; +#X obj 323 330 gemhead 200; +#X obj 305 454 square; +#X obj 304 431 colorRGB 1 0 0; +#X obj 103 421 rectangle 5.333 4; +#X obj 101 391 pix_texture; +#X obj 289 37 tgl 50 0 empty empty empty 0 -6 0 10 -258113 -1 -1 0 +1; +#X obj 53 -25 tgl 50 0 empty empty empty 0 -6 0 10 -258113 -1 -1 0 +1; +#X text 169 -20 Description: Records the current frame buffer to a +sequence of frames in a Quicktime movie.; +#X floatatom 227 208 5 0 0 0 - - -; +#X obj 222 178 route recording file; +#X symbolatom 293 232 60 0 0 0 - - -; +#X obj 292 209 symbol; +#X msg 434 106 saveas...; +#X msg 543 81 offset 0 0 \, dimen 320 240 \, quality 0; +#X obj 193 232 print FRAME; +#X msg 404 75 file test_myfile; +#X msg 285 96 record \$1; +#X obj 54 150 gems.record @file test_output; +#X msg 548 132 colorspace rgba; +#X msg 545 111 colorspace yuv; +#X obj 487 193 t a; +#X obj 53 30 gems.win @dimen 320 240 @offset 50 0; +#X obj 323 355 t a b; +#X obj 347 384 count.iter; +#X obj 303 410 rotateXYZ 0 0 0; +#X connect 0 0 7 0; +#X connect 1 0 20 0; +#X connect 2 0 0 0; +#X connect 3 0 25 0; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 19 0; +#X connect 9 0 24 0; +#X connect 11 0 17 0; +#X connect 12 0 11 0; +#X connect 12 1 14 0; +#X connect 14 0 13 0; +#X connect 15 0 20 1; +#X connect 16 0 23 0; +#X connect 18 0 20 1; +#X connect 19 0 20 1; +#X connect 20 1 12 0; +#X connect 21 0 23 0; +#X connect 22 0 23 0; +#X connect 23 0 20 0; +#X connect 25 0 27 0; +#X connect 25 1 26 0; +#X connect 26 0 27 3; +#X connect 27 0 5 0; diff --git a/gems.record.pd b/gems.record.pd new file mode 100644 index 0000000..7cd7115 --- /dev/null +++ b/gems.record.pd @@ -0,0 +1,144 @@ +#N canvas 92 22 1117 847 10; +#X obj 432 641 pix_record; +#X obj 236 162 init.post.dollarg; +#X obj 245 127 dollarg; +#X obj 423 98 loadbang; +#X obj 428 256 pack f f; +#X obj 440 167 r gems.win/state; +#X obj 438 190 route dimen; +#X obj 438 211 unpack f f; +#X obj 426 232 f 0; +#X obj 501 241 f 0; +#X obj 424 140 value gems.win/width; +#X obj 577 143 value gems.win/height; +#X msg 311 225 quality \$1; +#X msg 168 253 snap; +#X obj 168 227 spigot 1; +#X obj 128 202 t a b; +#X obj 186 348 pix_snap 0 0 512 512; +#X obj 237 192 route offset dimen quality; +#X obj 702 303 f; +#X obj 110 75 inlet gemchain; +#X obj 417 377 flow.prepend codec; +#X obj 700 626 flow.prepend file; +#X obj 888 332 convert.list2symbol; +#X obj 759 431 count.iter; +#X obj 731 398 t s b; +#X obj 701 542 convert.list2symbol none; +#X symbolatom 728 571 40 0 0 0 - - -; +#X obj 761 483 init.ls .mov; +#X obj 732 375 symbol default; +#X obj 700 520 pack s f s; +#X text 720 263 is_recording; +#X obj 595 473 sel 1 0; +#X msg 586 538 record 0; +#X obj 599 500 t b b b b; +#X msg 525 531 record 1; +#X obj 307 674 loadbang; +#X msg 601 568 record 0; +#X obj 238 65 inlet arguments; +#X obj 427 688 outlet; +#X msg 575 708 recording \$1; +#X obj 582 733 outlet; +#X msg 611 667 index \$1; +#X obj 703 602 file.path.top; +#X obj 810 348 savepanel; +#X obj 810 326 t b; +#X msg 308 694 auto 1; +#X obj 146 472 pix_rgba; +#X obj 160 501 pix_yuv; +#X obj 208 428 sel rgba yuv; +#X msg 219 451 1; +#X msg 235 477 0; +#X msg 248 449 0; +#X msg 265 478 1; +#X obj 348 336 route file codec index extension record saveas... colorspace +; +#X obj 424 118 t b b; +#X obj 877 447 loadbang; +#X msg 875 469 colorspace; +#X obj 248 100 t b b; +#X msg 299 119 colorspace rgba; +#X obj 274 42 loadbang; +#X obj 217 406 symbol; +#X connect 0 0 38 0; +#X connect 0 1 39 0; +#X connect 1 0 17 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 54 0; +#X connect 4 0 16 2; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 8 0 4 0; +#X connect 9 0 4 1; +#X connect 10 0 8 0; +#X connect 11 0 9 0; +#X connect 12 0 16 0; +#X connect 13 0 16 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 15 1 14 0; +#X connect 16 0 46 0; +#X connect 17 0 16 1; +#X connect 17 1 16 2; +#X connect 17 2 12 0; +#X connect 17 3 53 0; +#X connect 18 0 14 1; +#X connect 18 0 31 0; +#X connect 19 0 15 0; +#X connect 20 0 0 0; +#X connect 21 0 40 0; +#X connect 21 0 0 0; +#X connect 22 0 28 1; +#X connect 23 0 29 1; +#X connect 23 0 41 0; +#X connect 24 0 29 0; +#X connect 24 1 23 0; +#X connect 25 0 26 0; +#X connect 25 0 42 0; +#X connect 27 0 29 2; +#X connect 28 0 24 0; +#X connect 29 0 25 0; +#X connect 31 0 33 0; +#X connect 31 1 36 0; +#X connect 32 0 0 0; +#X connect 33 0 34 0; +#X connect 33 2 28 0; +#X connect 33 3 32 0; +#X connect 34 0 0 0; +#X connect 35 0 45 0; +#X connect 36 0 0 0; +#X connect 37 0 17 0; +#X connect 39 0 40 0; +#X connect 41 0 40 0; +#X connect 42 0 21 0; +#X connect 43 0 28 1; +#X connect 44 0 43 0; +#X connect 45 0 0 0; +#X connect 46 0 47 0; +#X connect 47 0 0 0; +#X connect 48 0 49 0; +#X connect 48 0 50 0; +#X connect 48 1 52 0; +#X connect 48 1 51 0; +#X connect 49 0 46 0; +#X connect 50 0 47 0; +#X connect 51 0 46 0; +#X connect 52 0 47 0; +#X connect 53 0 22 0; +#X connect 53 1 20 0; +#X connect 53 2 23 1; +#X connect 53 3 27 0; +#X connect 53 4 18 0; +#X connect 53 5 44 0; +#X connect 53 6 60 0; +#X connect 54 0 10 0; +#X connect 54 1 11 0; +#X connect 57 0 2 0; +#X connect 57 1 58 0; +#X connect 58 0 17 0; +#X connect 59 0 57 0; +#X connect 60 0 48 0; diff --git a/gems.rect-help.pd b/gems.rect-help.pd new file mode 100644 index 0000000..9063222 --- /dev/null +++ b/gems.rect-help.pd @@ -0,0 +1,18 @@ +#N canvas 379 252 462 312 10; +#X obj 61 33 gemhead; +#X obj 69 196 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 69 220 gems.win @dimen 200 200 @border 0 @offset 100 100 @FSAA +0 @fps 20; +#X text 78 112 Description: Rectangle with a few transformations in +one object box.; +#X msg 223 34 color 0 \$1 0 1; +#X obj 223 14 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -191407 +-1 -1 0 1; +#X obj 63 64 gems.rect @scale 1.33333 1 @translate 0 0 @rotate 0 0 +45 @color 0 1 0; +#X text 72 154 Similar to jit.gl.gridshape as using attributes.; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 4 0 6 1; +#X connect 5 0 4 0; diff --git a/gems.rect.pd b/gems.rect.pd new file mode 100644 index 0000000..369b650 --- /dev/null +++ b/gems.rect.pd @@ -0,0 +1,52 @@ +#N canvas 0 22 516 538 10; +#X obj 17 -8 inlet; +#X obj 91 452 outlet; +#X obj 203 354 square 1; +#X obj 208 328 scaleXYZ 1 1 1; +#X obj 241 304 unpack 1 1 1; +#X obj 137 206 translateXYZ 1 1 1; +#X obj 60 49 alpha 1; +#X obj 233 23 init.post.dollarg; +#X obj 238 -1 dollarg; +#X obj 238 -26 loadbang; +#X obj 389 21 inlet; +#X obj 229 71 route alpha color translate rotate scale; +#X obj 57 99 colorRGB 1 1 1 1; +#X obj 89 75 unpack 1 1 1 1; +#X obj 25 19 GEMglPushMatrix; +#X obj 90 425 GEMglPopMatrix; +#X obj 140 258 rotateXYZ 0 0 0; +#X obj 173 234 unpack 0 0 0; +#X obj 170 182 unpack 0 0 0; +#X connect 0 0 14 0; +#X connect 2 0 15 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 4 1 3 2; +#X connect 4 2 3 3; +#X connect 5 0 16 0; +#X connect 6 0 12 0; +#X connect 7 0 11 0; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 6 1; +#X connect 11 1 13 0; +#X connect 11 2 18 0; +#X connect 11 3 17 0; +#X connect 11 4 4 0; +#X connect 12 0 5 0; +#X connect 13 0 12 1; +#X connect 13 1 12 2; +#X connect 13 2 12 3; +#X connect 13 3 12 4; +#X connect 14 0 6 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 17 0 16 1; +#X connect 17 1 16 2; +#X connect 17 2 16 3; +#X connect 18 0 5 1; +#X connect 18 1 5 2; +#X connect 18 2 5 3; diff --git a/gems.recurse-help.pd b/gems.recurse-help.pd new file mode 100644 index 0000000..293bd87 --- /dev/null +++ b/gems.recurse-help.pd @@ -0,0 +1,49 @@ +#N canvas 787 239 490 540 10; +#X obj 21 21 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 1 +; +#X obj 28 91 gemhead; +#X obj 179 225 rotateXYZ 0 0 137.5; +#X floatatom 183 101 5 0 0 0 - - -; +#X floatatom 316 228 5 0 0 0 - - -; +#X obj 179 261 translateXYZ 0.1 0.1 0; +#X floatatom 354 228 5 0 0 0 - - -; +#X obj 32 467 repeat 10; +#X msg 32 444 ---; +#X obj 32 492 print ----; +#X text 65 445 click to clear Pd window in case of stack overflow; +#X obj 316 188 line; +#X obj 316 124 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 179 294 scaleXYZ 0.9 0.9 0.9; +#X obj 30 349 circle 1; +#X obj 28 133 color 1 0.8 0.2 0.6; +#X obj 316 144 metro 5000; +#X msg 316 166 -5 \, 5 5000; +#X text 85 -1 Description: Tool for recursive transformations in Gem +; +#X text 35 375 See: http://www.blurty.com/users/claudiusmaximus/day/2007/07/18#407 +; +#X text 149 182 <-- right inlet: recursion; +#X text 228 97 <-- second inlet : number of iterations; +#X obj 21 45 gems.win @dimen 320 240 @fps 60 @fsaa 6; +#X obj 28 112 gems.alpha.mode 6 1; +#X obj 28 185 gems.recurse 6; +#X connect 0 0 22 0; +#X connect 1 0 23 0; +#X connect 2 0 5 0; +#X connect 3 0 24 1; +#X connect 4 0 5 1; +#X connect 5 0 13 0; +#X connect 6 0 5 2; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 11 0 6 0; +#X connect 11 0 4 0; +#X connect 12 0 16 0; +#X connect 13 0 14 0; +#X connect 14 0 24 2; +#X connect 15 0 24 0; +#X connect 16 0 17 0; +#X connect 17 0 11 0; +#X connect 23 0 15 0; +#X connect 24 0 2 0; diff --git a/gems.recurse.pd b/gems.recurse.pd new file mode 100644 index 0000000..f59954c --- /dev/null +++ b/gems.recurse.pd @@ -0,0 +1,24 @@ +#N canvas 0 22 487 585 10; +#X obj 106 254 count.iter; +#X obj 81 355 spigot; +#X obj 76 55 inlet; +#X obj 273 14 inlet; +#X obj 411 54 inlet; +#X obj 67 202 t a b; +#X obj 73 161 t a b; +#X obj 105 290 < 1; +#X obj 74 456 outlet; +#X obj 75 394 separator; +#X obj 290 36 init.ldf \$1 1; +#X connect 0 0 7 0; +#X connect 1 0 9 0; +#X connect 2 0 6 0; +#X connect 3 0 7 1; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 5 1 0 0; +#X connect 6 0 5 0; +#X connect 6 1 0 1; +#X connect 7 0 1 1; +#X connect 9 0 8 0; +#X connect 10 0 7 1; diff --git a/gems.scope.geos~-help.pd b/gems.scope.geos~-help.pd new file mode 100644 index 0000000..8c957be --- /dev/null +++ b/gems.scope.geos~-help.pd @@ -0,0 +1,64 @@ +#N canvas 406 41 571 410 10; +#X obj 238 -6 adc~; +#X obj 34 -150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 10 -35 gemhead; +#X obj 245 50 *~ 1; +#X text 229 -32 Volume boost; +#X obj 272 -12 vsl 15 50 0 4 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 0 1; +#X obj 376 4 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 -1 +-1 1700 1; +#X obj 320 57 *~ 0; +#X obj 475 -6 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 0 1; +#X obj 432 59 *~ 0; +#X obj 425 -9 noise~; +#X obj 32 -118 gems.win 320 240; +#X floatatom 313 -31 5 0 0 0 - - -; +#X text 244 -60 Don't forget to turn audio on!; +#X obj 34 -94 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 32 -61 gems.win 1024 768; +#X obj 313 -11 osc~ 65; +#X obj 13 14 gems.fit.scale window; +#X floatatom 215 118 5 0 0 1 number_of_geos - -; +#X obj 15 109 gems.scope.geos~ 29; +#X floatatom 157 -18 5 0 0 0 - - -; +#X obj 15 196 rectangle 1 0.5; +#X msg 85 165 draw line; +#X obj 88 142 loadbang; +#X text 113 -147 Description: Maps a (audio) signal to gems.; +#X obj 222 -131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 234 -96 gems.win @dimen 1024 768 @offset 1280 0 @border 0; +#X msg 172 173 draw fill; +#X obj 16 35 rotateXYZ 0 0 0; +#X msg 315 -128 frame 20; +#X floatatom 139 65 5 0 0 0 - - -; +#X msg 146 212 width 10; +#X connect 0 0 3 0; +#X connect 1 0 11 0; +#X connect 2 0 17 0; +#X connect 3 0 19 1; +#X connect 5 0 3 1; +#X connect 6 0 7 1; +#X connect 7 0 19 1; +#X connect 8 0 9 1; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 12 0 16 0; +#X connect 14 0 15 0; +#X connect 16 0 7 0; +#X connect 17 0 28 0; +#X connect 18 0 19 2; +#X connect 19 0 21 0; +#X connect 20 0 17 1; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 26 0; +#X connect 27 0 21 0; +#X connect 28 0 19 0; +#X connect 29 0 26 0; +#X connect 30 0 28 3; +#X connect 31 0 21 0; diff --git a/gems.scope.geos~.pd b/gems.scope.geos~.pd new file mode 100644 index 0000000..ca5a4c6 --- /dev/null +++ b/gems.scope.geos~.pd @@ -0,0 +1,100 @@ +#N canvas 360 71 655 632 10; +#X obj 20 231 t a b; +#N canvas 96 112 932 567 draw_audio_input 0; +#X obj 640 -2 inlet~; +#X obj 202 396 tabread \$0-knots; +#X obj 94 363 t f f; +#X obj 641 384 table \$0-knots 800; +#X obj 641 358 tabwrite~ \$0-knots; +#X obj 96 -66 inlet; +#X obj 66 605 outlet; +#X obj 366 -78 inlet; +#X obj 207 608 outlet; +#X obj 792 -67 inlet NUM; +#X obj 334 120 f 800; +#X obj 366 16 t b b; +#X obj 345 158 /; +#X obj 337 218 max 1; +#X obj 164 361 * 1; +#X obj 246 467 expr (1/$f2)*($f1*2+1)-1; +#X connect 0 0 4 0; +#X connect 1 0 8 0; +#X connect 2 0 15 0; +#X connect 2 1 14 0; +#X connect 5 0 2 0; +#X connect 7 0 11 0; +#X connect 9 0 12 1; +#X connect 9 0 15 1; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 11 1 4 0; +#X connect 12 0 13 0; +#X connect 13 0 14 1; +#X connect 14 0 1 0; +#X connect 15 0 6 0; +#X restore 155 398 pd draw_audio_input; +#X obj 107 69 inlet gemhead; +#X obj 224 67 inlet~ sig~; +#X obj 102 150 t a b b; +#X obj 128 310 + 1; +#X obj 99 310 f; +#X obj 105 335 t f f; +#X msg 120 276 0; +#X obj 27 574 outlet; +#X obj 165 556 outlet; +#X obj 253 561 outlet; +#X obj 21 391 separator; +#X obj 27 192 repeat 10; +#X obj 423 219 loadbang; +#X obj 424 252 dollarg; +#X obj 464 286 sel 0; +#X obj 404 350 f 100; +#X obj 492 225 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X obj 385 73 inlet geos; +#X obj 102 460 t f f; +#X obj 39 511 translateXYZ; +#X obj 410 445 /; +#X msg 411 419 1 \$1; +#X obj 33 543 scaleXYZ 1 1 1; +#X obj 304 141 max 1; +#X obj 193 464 t f f b; +#X obj 384 517 f 1; +#X obj 400 556 outlet; +#X connect 0 0 12 0; +#X connect 0 1 6 0; +#X connect 1 0 20 0; +#X connect 1 1 26 0; +#X connect 2 0 4 0; +#X connect 3 0 1 2; +#X connect 4 0 13 0; +#X connect 4 1 8 0; +#X connect 4 2 1 1; +#X connect 5 0 6 1; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 7 1 5 0; +#X connect 8 0 6 1; +#X connect 12 0 21 0; +#X connect 13 0 0 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 15 1 16 0; +#X connect 16 0 17 0; +#X connect 17 0 13 1; +#X connect 17 0 1 3; +#X connect 17 0 23 0; +#X connect 18 0 15 0; +#X connect 19 0 25 0; +#X connect 20 0 21 1; +#X connect 20 1 10 0; +#X connect 21 0 24 0; +#X connect 22 0 24 1; +#X connect 22 0 27 1; +#X connect 23 0 22 0; +#X connect 24 0 9 0; +#X connect 25 0 17 0; +#X connect 26 0 21 2; +#X connect 26 1 11 0; +#X connect 26 2 27 0; +#X connect 27 0 28 0; diff --git a/gems.scope~-help.pd b/gems.scope~-help.pd new file mode 100644 index 0000000..8c4f334 --- /dev/null +++ b/gems.scope~-help.pd @@ -0,0 +1,44 @@ +#N canvas 372 186 567 406 10; +#X obj 238 -6 adc~; +#X obj 34 -150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 33 -21 gemhead; +#X obj 245 50 *~ 1; +#X text 229 -32 Volume boost; +#X obj 272 -12 vsl 15 50 0 4 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 4500 1; +#X obj 374 -9 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 1400 1; +#X obj 320 57 *~ 0; +#X obj 475 -6 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699 +-1 -1 800 1; +#X obj 432 59 *~ 0; +#X obj 425 -9 noise~; +#X obj 32 -118 gems.win 320 240; +#X floatatom 313 -31 5 0 0 0 - - -; +#X text 54 -142 Description: Draws an (audio) signal to the Gem window. +; +#X obj 35 149 gems.scope~; +#X text 244 -60 Don't forget to turn audio on!; +#X obj 34 -94 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 192 142 tgl 15 0 empty empty draw_mode 0 -6 0 10 -262144 -1 +-1 1 1; +#X obj 313 -11 osc~ 65; +#X obj 23 -74 gems.win @dimen 1024 768 @offset 1280 0 @border 0; +#X obj 35 67 gems.fit.scale fill; +#X connect 0 0 3 0; +#X connect 1 0 11 0; +#X connect 2 0 20 0; +#X connect 3 0 14 1; +#X connect 5 0 3 1; +#X connect 6 0 7 1; +#X connect 7 0 14 1; +#X connect 8 0 9 1; +#X connect 9 0 14 1; +#X connect 10 0 9 0; +#X connect 12 0 18 0; +#X connect 16 0 19 0; +#X connect 17 0 14 2; +#X connect 18 0 7 0; +#X connect 20 0 14 0; diff --git a/gems.scope~.pd b/gems.scope~.pd new file mode 100644 index 0000000..d8b34df --- /dev/null +++ b/gems.scope~.pd @@ -0,0 +1,92 @@ +#N canvas 184 96 761 524 10; +#X obj 33 208 t a b; +#N canvas 0 0 1028 734 draw_audio_input 0; +#X obj 640 -2 inlet~; +#X obj 219 377 tabread \$0-knots; +#X obj 127 532 pack f f f 0; +#X obj 94 363 t f f; +#X obj 97 240 until; +#X msg 279 113 0; +#X obj 111 305 f 0; +#X obj 203 303 + 1; +#X obj 641 384 table \$0-knots 800; +#X obj 641 358 tabwrite~ \$0-knots; +#X obj 223 -96 inlet; +#X obj 232 33 t b b b; +#X obj 174 600 outlet; +#X msg 92 198 800; +#X obj 105 332 t f f f; +#X obj 133 454 expr (($f1/799)*2)-1; +#X obj 295 280 until; +#X msg 290 238 800; +#X obj 201 165 demultiplex 0 1; +#X obj 480 411 tabread \$0-knots; +#X obj 384 582 pack f f f 0; +#X obj 365 326 f 0; +#X obj 464 337 + 1; +#X obj 366 366 t f f f; +#X obj 481 512 expr (($f1/799)*2)-1; +#X obj 477 464 *; +#X obj 355 397 t f f f; +#X obj 430 427 mod 2; +#X obj 399 519 f; +#X msg 403 116 -1; +#X obj 373 465 demultiplex 0 1; +#X obj 388 493 b; +#X obj 444 -30 inlet; +#X connect 0 0 9 0; +#X connect 1 0 2 2; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 3 1 15 0; +#X connect 4 0 6 0; +#X connect 5 0 6 1; +#X connect 5 0 21 1; +#X connect 6 0 14 0; +#X connect 7 0 6 1; +#X connect 10 0 11 0; +#X connect 11 0 18 0; +#X connect 11 1 5 0; +#X connect 11 1 29 0; +#X connect 11 2 9 0; +#X connect 13 0 4 0; +#X connect 14 0 3 0; +#X connect 14 1 1 0; +#X connect 14 2 7 0; +#X connect 15 0 2 1; +#X connect 16 0 21 0; +#X connect 17 0 16 0; +#X connect 18 0 13 0; +#X connect 18 1 17 0; +#X connect 19 0 25 1; +#X connect 20 0 12 0; +#X connect 21 0 23 0; +#X connect 22 0 21 1; +#X connect 23 0 26 0; +#X connect 23 1 19 0; +#X connect 23 2 22 0; +#X connect 24 0 20 1; +#X connect 24 0 28 1; +#X connect 25 0 20 2; +#X connect 26 0 20 0; +#X connect 26 1 30 0; +#X connect 26 2 27 0; +#X connect 27 0 25 0; +#X connect 27 0 30 1; +#X connect 28 0 20 1; +#X connect 29 0 28 1; +#X connect 30 0 31 0; +#X connect 30 1 24 0; +#X connect 31 0 28 0; +#X connect 32 0 18 1; +#X restore 127 271 pd draw_audio_input; +#X obj 58 389 gems.curve.n 800; +#X obj 34 123 inlet gemhead; +#X obj 217 76 inlet~ sig~; +#X obj 477 77 inlet draw_mode; +#X connect 0 0 2 0; +#X connect 0 1 1 0; +#X connect 1 0 2 2; +#X connect 3 0 0 0; +#X connect 4 0 1 2; +#X connect 5 0 1 1; diff --git a/gems.sobel-help.pd b/gems.sobel-help.pd new file mode 100644 index 0000000..1e9178e --- /dev/null +++ b/gems.sobel-help.pd @@ -0,0 +1,50 @@ +#N canvas 324 126 536 531 10; +#X obj 13 97 alpha 1; +#X obj 12 74 gemhead 50; +#X obj 14 350 pix_texture; +#X obj 14 316 pix_invert; +#X obj 13 248 pix_gain; +#X floatatom 37 229 5 0 0 0 - - -; +#X obj -11 317 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 14 272 pix_2grey; +#X obj -15 270 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 13 118 pix_rgba; +#X obj -6 241 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 369 95 gems.win; +#X obj 369 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 14 471 rectangle 5.33333 4; +#X obj 14 295 gems.sobel; +#X obj 83 230 hsl 50 15 1 100 1 0 empty empty empty -2 -6 0 8 -258699 +-1 -1 0 1; +#X text 14 16 Description: Applies a sobel filter to an image. Uses +two convolution matrix filters.; +#X obj 126 113 file.path.top; +#X obj 13 210 gems.movies; +#X obj 123 331 input.color.grid_; +#X obj 14 444 color; +#X msg 126 69 medias/movies/mov0.mov; +#X msg 136 90 medias/movies/sync00.mov; +#X connect 0 0 9 0; +#X connect 1 0 0 0; +#X connect 2 0 20 0; +#X connect 3 0 2 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 6 0 3 0; +#X connect 7 0 14 0; +#X connect 8 0 7 0; +#X connect 9 0 18 0; +#X connect 10 0 4 0; +#X connect 12 0 11 0; +#X connect 14 0 3 0; +#X connect 15 0 5 0; +#X connect 17 0 18 1; +#X connect 18 0 4 0; +#X connect 19 0 20 1; +#X connect 20 0 13 0; +#X connect 21 0 17 0; +#X connect 22 0 17 0; diff --git a/gems.sobel.pd b/gems.sobel.pd new file mode 100644 index 0000000..5e3f68b --- /dev/null +++ b/gems.sobel.pd @@ -0,0 +1,309 @@ +#N canvas 0 22 539 721 10; +#X floatatom 166 253 3 -1 2 0 - - -; +#X floatatom 189 253 3 -1 2 0 - - -; +#X floatatom 212 253 3 -1 2 0 - - -; +#X floatatom 166 267 3 -1 2 0 - - -; +#X floatatom 189 267 3 -1 2 0 - - -; +#X floatatom 212 267 3 -1 2 0 - - -; +#X floatatom 166 281 3 -1 2 0 - - -; +#X floatatom 189 281 3 -1 2 0 - - -; +#X floatatom 212 281 3 -1 2 0 - - -; +#N canvas 0 22 454 473 pack 0; +#X obj 69 169 pack 0 0 0 0 0 0 0 0 0; +#X obj 69 139 t b f; +#X obj 106 139 t b f; +#X obj 143 139 t b f; +#X obj 180 139 t b f; +#X obj 217 139 t b f; +#X obj 254 139 t b f; +#X obj 291 139 t b f; +#X obj 328 139 t b f; +#X obj 32 111 inlet; +#X obj 69 111 inlet; +#X obj 106 111 inlet; +#X obj 143 111 inlet; +#X obj 180 111 inlet; +#X obj 217 111 inlet; +#X obj 254 111 inlet; +#X obj 291 111 inlet; +#X obj 328 111 inlet; +#X obj 61 349 outlet; +#X obj 274 355 outlet; +#X obj 71 190 t l l; +#X obj 257 232 unpack 0 0 0 0 0 0 0 0 0; +#X obj 399 256 +; +#X obj 358 256 +; +#X obj 318 256 +; +#X obj 277 256 +; +#X obj 379 286 +; +#X obj 298 286 +; +#X obj 349 316 +; +#X obj 268 316 +; +#X obj 58 294 select 0; +#X msg 48 323 1; +#X obj 132 391 /; +#X msg 132 365 1 \$1; +#X connect 0 0 20 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 0 0; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 3 1 0 3; +#X connect 4 0 0 0; +#X connect 4 1 0 4; +#X connect 5 0 0 0; +#X connect 5 1 0 5; +#X connect 6 0 0 0; +#X connect 6 1 0 6; +#X connect 7 0 0 0; +#X connect 7 1 0 7; +#X connect 8 0 0 0; +#X connect 8 1 0 8; +#X connect 9 0 0 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; +#X connect 14 0 5 0; +#X connect 15 0 6 0; +#X connect 16 0 7 0; +#X connect 17 0 8 0; +#X connect 20 0 21 0; +#X connect 20 1 19 0; +#X connect 21 0 29 0; +#X connect 21 1 25 0; +#X connect 21 2 25 1; +#X connect 21 3 24 0; +#X connect 21 4 24 1; +#X connect 21 5 23 0; +#X connect 21 6 23 1; +#X connect 21 7 22 0; +#X connect 21 8 22 1; +#X connect 22 0 26 1; +#X connect 23 0 26 0; +#X connect 24 0 27 1; +#X connect 25 0 27 0; +#X connect 26 0 28 1; +#X connect 27 0 28 0; +#X connect 28 0 29 1; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 30 1 33 0; +#X connect 31 0 18 0; +#X connect 32 0 18 0; +#X connect 33 0 32 0; +#X restore 145 295 pd pack 9 . . .; +#X obj 112 337 pix_convolve 3 3; +#X floatatom 159 316 5 0 0 1 scale - -; +#N canvas 491 349 613 313 unpack 0; +#X obj 60 270 outlet; +#X obj 111 270 outlet; +#X obj 164 270 outlet; +#X obj 215 270 outlet; +#X obj 266 270 outlet; +#X obj 317 270 outlet; +#X obj 370 270 outlet; +#X obj 421 270 outlet; +#X obj 471 271 outlet; +#X obj 179 173 unpack 0 0 0 0 0 0 0 0 0; +#X obj 130 13 inlet; +#X msg 125 83 -1 0 1 -2 0 2 -1 0 1; +#X msg 156 107 1 2 1 0 0 0 -1 -2 -1; +#X obj 130 40 sel sobel1 sobel2; +#X connect 9 0 0 0; +#X connect 9 1 1 0; +#X connect 9 2 2 0; +#X connect 9 3 3 0; +#X connect 9 4 4 0; +#X connect 9 5 5 0; +#X connect 9 6 6 0; +#X connect 9 7 7 0; +#X connect 9 8 8 0; +#X connect 10 0 13 0; +#X connect 11 0 9 0; +#X connect 12 0 9 0; +#X connect 13 0 11 0; +#X connect 13 1 12 0; +#X restore 141 234 pd unpack 9 . . .; +#X obj 433 122 loadbang; +#X obj 84 59 inlet; +#X obj 91 617 outlet; +#X floatatom 174 417 3 -1 2 0 - - -; +#X floatatom 197 417 3 -1 2 0 - - -; +#X floatatom 220 417 3 -1 2 0 - - -; +#X floatatom 174 431 3 -1 2 0 - - -; +#X floatatom 197 431 3 -1 2 0 - - -; +#X floatatom 220 431 3 -1 2 0 - - -; +#X floatatom 174 445 3 -1 2 0 - - -; +#X floatatom 197 445 3 -1 2 0 - - -; +#X floatatom 220 445 3 -1 2 0 - - -; +#N canvas 0 22 454 473 pack 0; +#X obj 69 169 pack 0 0 0 0 0 0 0 0 0; +#X obj 69 139 t b f; +#X obj 106 139 t b f; +#X obj 143 139 t b f; +#X obj 180 139 t b f; +#X obj 217 139 t b f; +#X obj 254 139 t b f; +#X obj 291 139 t b f; +#X obj 328 139 t b f; +#X obj 32 111 inlet; +#X obj 69 111 inlet; +#X obj 106 111 inlet; +#X obj 143 111 inlet; +#X obj 180 111 inlet; +#X obj 217 111 inlet; +#X obj 254 111 inlet; +#X obj 291 111 inlet; +#X obj 328 111 inlet; +#X obj 61 349 outlet; +#X obj 274 355 outlet; +#X obj 71 190 t l l; +#X obj 257 232 unpack 0 0 0 0 0 0 0 0 0; +#X obj 399 256 +; +#X obj 358 256 +; +#X obj 318 256 +; +#X obj 277 256 +; +#X obj 379 286 +; +#X obj 298 286 +; +#X obj 349 316 +; +#X obj 268 316 +; +#X obj 58 294 select 0; +#X msg 48 323 1; +#X obj 132 391 /; +#X msg 132 365 1 \$1; +#X connect 0 0 20 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 0 0; +#X connect 2 1 0 2; +#X connect 3 0 0 0; +#X connect 3 1 0 3; +#X connect 4 0 0 0; +#X connect 4 1 0 4; +#X connect 5 0 0 0; +#X connect 5 1 0 5; +#X connect 6 0 0 0; +#X connect 6 1 0 6; +#X connect 7 0 0 0; +#X connect 7 1 0 7; +#X connect 8 0 0 0; +#X connect 8 1 0 8; +#X connect 9 0 0 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; +#X connect 14 0 5 0; +#X connect 15 0 6 0; +#X connect 16 0 7 0; +#X connect 17 0 8 0; +#X connect 20 0 21 0; +#X connect 20 1 19 0; +#X connect 21 0 29 0; +#X connect 21 1 25 0; +#X connect 21 2 25 1; +#X connect 21 3 24 0; +#X connect 21 4 24 1; +#X connect 21 5 23 0; +#X connect 21 6 23 1; +#X connect 21 7 22 0; +#X connect 21 8 22 1; +#X connect 22 0 26 1; +#X connect 23 0 26 0; +#X connect 24 0 27 1; +#X connect 25 0 27 0; +#X connect 26 0 28 1; +#X connect 27 0 28 0; +#X connect 28 0 29 1; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 30 1 33 0; +#X connect 31 0 18 0; +#X connect 32 0 18 0; +#X connect 33 0 32 0; +#X restore 153 459 pd pack 9 . . .; +#X obj 120 501 pix_convolve 3 3; +#X floatatom 167 480 5 0 0 1 scale - -; +#N canvas 411 349 617 317 unpack 0; +#X obj 60 270 outlet; +#X obj 111 270 outlet; +#X obj 164 270 outlet; +#X obj 215 270 outlet; +#X obj 266 270 outlet; +#X obj 317 270 outlet; +#X obj 370 270 outlet; +#X obj 421 270 outlet; +#X obj 471 271 outlet; +#X obj 179 173 unpack 0 0 0 0 0 0 0 0 0; +#X obj 130 13 inlet; +#X msg 125 83 -1 0 1 -2 0 2 -1 0 1; +#X msg 156 107 1 2 1 0 0 0 -1 -2 -1; +#X obj 130 40 sel sobel1 sobel2; +#X connect 9 0 0 0; +#X connect 9 1 1 0; +#X connect 9 2 2 0; +#X connect 9 3 3 0; +#X connect 9 4 4 0; +#X connect 9 5 5 0; +#X connect 9 6 6 0; +#X connect 9 7 7 0; +#X connect 9 8 8 0; +#X connect 10 0 13 0; +#X connect 11 0 9 0; +#X connect 12 0 9 0; +#X connect 13 0 11 0; +#X connect 13 1 12 0; +#X restore 149 398 pd unpack 9 . . .; +#X msg 284 368 symbol sobel2; +#X msg 278 213 symbol sobel1; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 2 0 9 2; +#X connect 3 0 9 3; +#X connect 4 0 9 4; +#X connect 5 0 9 5; +#X connect 6 0 9 6; +#X connect 7 0 9 7; +#X connect 8 0 9 8; +#X connect 9 0 11 0; +#X connect 9 1 10 2; +#X connect 10 0 26 0; +#X connect 11 0 10 1; +#X connect 12 0 0 0; +#X connect 12 1 1 0; +#X connect 12 2 2 0; +#X connect 12 3 3 0; +#X connect 12 4 4 0; +#X connect 12 5 5 0; +#X connect 12 6 6 0; +#X connect 12 7 7 0; +#X connect 12 8 8 0; +#X connect 13 0 30 0; +#X connect 13 0 29 0; +#X connect 14 0 10 0; +#X connect 16 0 25 0; +#X connect 17 0 25 1; +#X connect 18 0 25 2; +#X connect 19 0 25 3; +#X connect 20 0 25 4; +#X connect 21 0 25 5; +#X connect 22 0 25 6; +#X connect 23 0 25 7; +#X connect 24 0 25 8; +#X connect 25 0 27 0; +#X connect 25 1 26 2; +#X connect 26 0 15 0; +#X connect 27 0 26 1; +#X connect 28 0 16 0; +#X connect 28 1 17 0; +#X connect 28 2 18 0; +#X connect 28 3 19 0; +#X connect 28 4 20 0; +#X connect 28 5 21 0; +#X connect 28 6 22 0; +#X connect 28 7 23 0; +#X connect 28 8 24 0; +#X connect 29 0 28 0; +#X connect 30 0 12 0; diff --git a/gems.text-help.pd b/gems.text-help.pd new file mode 100644 index 0000000..48846e1 --- /dev/null +++ b/gems.text-help.pd @@ -0,0 +1,28 @@ +#N canvas 552 26 597 584 10; +#X obj 47 338 gemhead; +#X text 61 30 Description: A basic text abstraction.; +#X obj 373 204 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 59 63 Flags: @rguments; +#X obj 33 153 gemhead; +#X obj 33 196 translateXYZ 0 2 0; +#X text 59 47 Comments: wraps Gem's text3d.; +#X obj 375 227 gems.win; +#X obj 74 377 translateXYZ 0 0 0; +#X floatatom 377 525 5 0 0 0 - - -; +#X msg 230 490 justify left top; +#X obj 375 100 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 377 123 gems.win 640 480; +#X msg 224 453 abcdefGEFGHIJKLMNOP; +#X obj 72 546 gems.text @text pdmtl @font pdmtl.ttf; +#X obj 34 266 gems.text @text PDMTL @font arial.ttf; +#X connect 0 0 8 0; +#X connect 2 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 15 0; +#X connect 8 0 14 0; +#X connect 9 0 14 2; +#X connect 10 0 14 1; +#X connect 11 0 12 0; +#X connect 13 0 14 1; diff --git a/gems.text.pd b/gems.text.pd new file mode 100644 index 0000000..c80817d --- /dev/null +++ b/gems.text.pd @@ -0,0 +1,33 @@ +#N canvas 221 214 807 554 10; +#X obj 25 120 inlet; +#X obj 97 108 inlet; +#X msg 285 399 font \$1; +#X obj 176 39 dollarg; +#X obj 170 1 loadbang; +#X obj 175 67 init.post.dollarg; +#X obj 170 258 convert.list2symbol; +#X msg 106 351 text \$1; +#X obj 49 484 text3d; +#X obj 242 28 t b b; +#X obj 236 156 route text size font; +#X obj 169 125 relay justify; +#X obj 431 112 inlet size; +#X obj 309 267 file.path.parent; +#X connect 0 0 8 0; +#X connect 1 0 6 0; +#X connect 2 0 8 0; +#X connect 3 0 5 0; +#X connect 3 1 5 1; +#X connect 4 0 9 0; +#X connect 5 0 11 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 9 0 3 0; +#X connect 10 0 6 0; +#X connect 10 1 8 1; +#X connect 10 2 13 0; +#X connect 10 3 6 0; +#X connect 11 0 8 0; +#X connect 11 1 10 0; +#X connect 12 0 8 1; +#X connect 13 0 2 0; diff --git a/gems.texture-help.pd b/gems.texture-help.pd new file mode 100644 index 0000000..9755456 --- /dev/null +++ b/gems.texture-help.pd @@ -0,0 +1,31 @@ +#N canvas 647 100 500 401 10; +#X obj 27 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 27 61 gems.win 640 480; +#X obj 39 137 gemhead; +#X obj 37 297 rectangle 3 2; +#X obj 36 272 translateXYZ 3 0 0; +#X text 146 50 Description: Displays a texture that is stored in a +gems.texture.storage; +#X text 99 93 See; +#X obj 149 91 gems.texture.storage; +#X obj 38 247 gems.texture @name fooo; +#X msg 209 210 name spam; +#X msg 140 208 name egg; +#X obj 145 159 t b; +#X obj 144 139 spigot; +#X obj 146 182 alternate; +#X obj 184 120 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X connect 0 0 1 0; +#X connect 2 0 8 0; +#X connect 2 0 12 0; +#X connect 4 0 3 0; +#X connect 8 0 4 0; +#X connect 9 0 8 1; +#X connect 10 0 8 1; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 13 0 10 0; +#X connect 13 1 9 0; +#X connect 14 0 12 1; diff --git a/gems.texture.pd b/gems.texture.pd new file mode 100644 index 0000000..ee0fd35 --- /dev/null +++ b/gems.texture.pd @@ -0,0 +1,27 @@ +#N canvas 1112 257 652 423 10; +#X obj 77 46 inlet; +#X obj 75 368 outlet; +#X obj 369 51 inlet; +#X obj 307 371 outlet; +#X obj 110 234 pix_texture; +#X obj 366 111 route name id; +#X obj 366 194 tabread; +#X obj 487 12 loadbang; +#X msg 366 159 set \$1 \, 0; +#X obj 476 75 init.post.dollarg; +#X obj 492 45 dollarg; +#X obj 442 138 symbol; +#X connect 0 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 1 0; +#X connect 4 1 3 0; +#X connect 5 0 8 0; +#X connect 5 1 4 1; +#X connect 5 2 11 0; +#X connect 6 0 4 1; +#X connect 7 0 10 0; +#X connect 8 0 6 0; +#X connect 9 0 5 0; +#X connect 10 0 9 0; +#X connect 10 1 9 1; +#X connect 11 0 8 0; diff --git a/gems.texture.storage-help.pd b/gems.texture.storage-help.pd new file mode 100644 index 0000000..6827224 --- /dev/null +++ b/gems.texture.storage-help.pd @@ -0,0 +1,42 @@ +#N canvas 696 280 504 330 10; +#X obj 27 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 27 61 gems.win 640 480; +#X obj 7 170 pix_image; +#X obj 1 143 gemhead; +#X obj 4 248 rectangle 3 2; +#X obj 56 127 file.path.top; +#X msg 55 86 medias/images/img1.jpg; +#X msg 56 106 medias/images/img0.jpg; +#X obj 55 148 flow.prepend open; +#X text 19 12 Description: Stores an OpenGL texture; +#X text 110 277 See; +#X obj 166 277 gems.texture; +#X obj 282 182 pix_image; +#X obj 276 155 gemhead; +#X obj 279 260 rectangle 3 2; +#X obj 347 137 file.path.top; +#X msg 346 96 medias/images/img1.jpg; +#X msg 347 116 medias/images/img0.jpg; +#X obj 346 158 flow.prepend open; +#X obj 283 206 gems.texture.storage spam; +#X obj 8 194 gems.texture.storage egg; +#X obj 3 223 translateXYZ -3 2 0; +#X obj 278 235 translateXYZ -3 -2 0; +#X connect 0 0 1 0; +#X connect 2 0 20 0; +#X connect 3 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 8 0 2 0; +#X connect 12 0 19 0; +#X connect 13 0 12 0; +#X connect 15 0 18 0; +#X connect 16 0 15 0; +#X connect 17 0 15 0; +#X connect 18 0 12 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 14 0; diff --git a/gems.texture.storage.pd b/gems.texture.storage.pd new file mode 100644 index 0000000..87063c6 --- /dev/null +++ b/gems.texture.storage.pd @@ -0,0 +1,15 @@ +#N canvas 805 215 689 451 10; +#X obj 77 46 inlet; +#X obj 76 350 outlet; +#X obj 369 51 inlet; +#X obj 295 353 outlet; +#X obj 116 151 pix_texture; +#X obj 401 187 table \$1 3; +#X obj 282 256 tabwrite \$1; +#X obj 282 224 change -1; +#X connect 0 0 4 0; +#X connect 2 0 4 1; +#X connect 4 0 1 0; +#X connect 4 1 3 0; +#X connect 4 1 7 0; +#X connect 7 0 6 0; diff --git a/gems.vcr-help.pd b/gems.vcr-help.pd new file mode 100644 index 0000000..27b6797 --- /dev/null +++ b/gems.vcr-help.pd @@ -0,0 +1,79 @@ +#N canvas 628 0 812 766 10; +#X obj 19 677 pix_texture; +#X obj 19 648 gems.movies; +#X obj 19 718 gems.fit window; +#X obj 19 740 rectangle 4 3; +#X msg 327 437 autostart \$1; +#X obj 327 420 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 277 353 play; +#X msg 236 353 stop; +#X msg 176 354 rewind; +#X msg 94 354 fastrewind; +#X msg 318 353 fastforward; +#X obj 19 30 gemhead; +#X obj 177 31 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#N canvas 235 546 450 300 loadmovie 0; +#X obj 68 54 loadbang; +#X obj 68 176 outlet; +#X obj 68 133 file.path.parent; +#X msg 68 102 medias/movies/; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X restore 234 138 pd loadmovie; +#X obj 43 159 file.browser_ medias/movies; +#X floatatom 43 74 5 0 0 0 - - -; +#X msg 330 510 smooth \$1; +#X floatatom 330 487 5 0 0 0 - - -; +#X text 51 116 once they are loaded.; +#X text 51 102 Recall movies by their index number; +#X obj 177 57 gems.win 320 240; +#X obj 327 399 init.lf 1; +#X text 333 549 Floats will be rounded on the fly. See number.round +; +#X text 333 533 Smooth accepts any integer from 1 up as an argument. +; +#X text 328 462 Autostart accepts a boolean (0 or 1) as an argument. +; +#X text 268 574 All these commands are accessible from the Graph-On-Parent. +; +#X obj 495 141 cnv 15 270 180 empty empty gems.vcr 20 12 1 12 -233017 +-66577 0; +#X text 496 211 SUMMARY:; +#X text 496 225 Inlet_1: File management; +#X text 496 297 Outlet_2: Playback speed; +#X text 496 249 Inlet_2: VCR commands; +#X text 496 273 Outlet_1: File management; +#X text 564 284 forwarding; +#X text 425 353 You may send the following messages:; +#X floatatom 67 626 5 0 0 1 Playback_rate - -; +#X text 501 195 Author: oli44 Sept. 2007; +#X text 426 391 and fastforward; +#X text 426 374 fastrewind \, rewind \, stop \, play; +#X obj 43 527 gems.vcr; +#X text 501 171 Description: Old-school VCR commands; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 2 2 3 2; +#X connect 4 0 38 1; +#X connect 5 0 4 0; +#X connect 6 0 38 1; +#X connect 7 0 38 1; +#X connect 8 0 38 1; +#X connect 9 0 38 1; +#X connect 10 0 38 1; +#X connect 11 0 1 0; +#X connect 12 0 20 0; +#X connect 13 0 14 1; +#X connect 14 0 38 0; +#X connect 15 0 14 0; +#X connect 16 0 38 1; +#X connect 17 0 16 0; +#X connect 21 0 5 0; +#X connect 34 0 1 2; +#X connect 38 0 1 1; +#X connect 38 1 34 0; diff --git a/gems.vcr.pd b/gems.vcr.pd new file mode 100644 index 0000000..2501957 --- /dev/null +++ b/gems.vcr.pd @@ -0,0 +1,105 @@ +#N canvas 1609 197 947 563 10; +#X obj -279 130 t a b; +#X obj -249 175 demux 1 2; +#X obj -191 153 + 1; +#X obj -190 131 r autostart\$0; +#X obj 257 179 s autostart\$0; +#X msg -249 203 6; +#X msg -191 205 4; +#X floatatom -38 403 5 0 0 0 - - -; +#X text 3 402 Playback speed; +#X obj 39 196 - 4; +#X obj 178 220 / 2; +#X obj 39 218 sel 0; +#X obj 178 241 t f f b; +#X obj 102 -20 r \$0VCRcmd; +#X obj -249 238 s \$0VCRcmd; +#X obj -279 366 outlet; +#X obj -279 -82 inlet; +#X obj 195 -108 inlet; +#X obj -38 427 outlet; +#X text -264 71 catches the new filename and; +#X text -264 88 starts playback (or not); +#X obj 83 198 number.round; +#X obj 387 45 sel fastrewind rewind stop play fastforward; +#X msg 387 127 0; +#X msg 446 96 2; +#X msg 505 124 4; +#X msg 564 119 6; +#X msg 623 126 8; +#X obj 387 101 t b; +#X obj 446 70 t b; +#X obj 387 18 tosymbol; +#X obj -30 -33 init.lb; +#X msg -38 62 1; +#X obj 39 238 t b b; +#X msg 69 313 1; +#X msg 39 263 0; +#X msg 43 58 4; +#X obj -38 186 metro 40; +#X obj 407 218 s \$0VCRcmd; +#X obj 505 80 t b; +#X obj 564 79 t b; +#X obj 623 98 t b; +#X obj 39 166 t b f b; +#X obj -38 347 flow.smooth 5 0.025; +#X msg 5 58 5; +#X obj -38 375 change; +#X obj 196 -21 route autostart smooth speed; +#X obj 292 23 clip 0 8; +#X connect 0 0 15 0; +#X connect 0 1 1 0; +#X connect 1 0 5 0; +#X connect 1 1 6 0; +#X connect 2 0 1 1; +#X connect 3 0 2 0; +#X connect 5 0 14 0; +#X connect 6 0 14 0; +#X connect 7 0 18 0; +#X connect 9 0 11 0; +#X connect 10 0 12 0; +#X connect 11 0 33 0; +#X connect 11 1 10 0; +#X connect 12 0 43 0; +#X connect 13 0 42 0; +#X connect 16 0 0 0; +#X connect 17 0 46 0; +#X connect 21 0 43 1; +#X connect 22 0 28 0; +#X connect 22 1 29 0; +#X connect 22 2 39 0; +#X connect 22 3 40 0; +#X connect 22 4 41 0; +#X connect 23 0 38 0; +#X connect 24 0 38 0; +#X connect 25 0 38 0; +#X connect 26 0 38 0; +#X connect 27 0 38 0; +#X connect 28 0 23 0; +#X connect 29 0 24 0; +#X connect 30 0 22 0; +#X connect 31 0 32 0; +#X connect 31 0 36 0; +#X connect 31 0 44 0; +#X connect 32 0 37 0; +#X connect 33 0 35 0; +#X connect 33 1 34 0; +#X connect 34 0 43 1; +#X connect 35 0 43 0; +#X connect 36 0 42 0; +#X connect 37 0 43 0; +#X connect 39 0 25 0; +#X connect 40 0 26 0; +#X connect 41 0 27 0; +#X connect 42 0 9 0; +#X connect 42 1 9 0; +#X connect 42 2 21 0; +#X connect 43 0 45 0; +#X connect 44 0 21 0; +#X connect 45 0 7 0; +#X connect 46 0 4 0; +#X connect 46 1 21 0; +#X connect 46 2 47 0; +#X connect 46 3 30 0; +#X connect 47 0 38 0; +#X coords 0 0 1 1 200 75 0; diff --git a/gems.vcr_-help.pd b/gems.vcr_-help.pd new file mode 100644 index 0000000..b555d6b --- /dev/null +++ b/gems.vcr_-help.pd @@ -0,0 +1,79 @@ +#N canvas 1440 0 812 802 10; +#X obj 19 677 pix_texture; +#X obj 19 648 gems.movies; +#X obj 19 718 gems.fit window; +#X obj 19 740 rectangle 4 3; +#X msg 327 437 autostart \$1; +#X obj 327 420 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 277 354 play; +#X msg 236 354 stop; +#X msg 182 354 rewind; +#X msg 100 354 fastrewind; +#X msg 318 354 fastforward; +#X obj 19 30 gemhead; +#X obj 424 60 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#N canvas 235 546 450 300 loadmovie 0; +#X obj 68 54 loadbang; +#X obj 68 176 outlet; +#X obj 68 133 file.path.parent; +#X msg 68 102 medias/movies/; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X restore 234 138 pd loadmovie; +#X obj 43 159 file.browser_ medias/movies; +#X floatatom 43 74 5 0 0 0 - - -; +#X msg 330 510 smooth \$1; +#X floatatom 330 487 5 0 0 0 - - -; +#X text 51 116 once they are loaded.; +#X text 51 102 Recall movies by their index number; +#X obj 424 86 gems.win 320 240; +#X obj 327 399 init.lf 1; +#X text 333 549 Floats will be rounded on the fly. See number.round +; +#X text 333 533 Smooth accepts any integer from 1 up as an argument. +; +#X text 328 462 Autostart accepts a boolean (0 or 1) as an argument. +; +#X text 259 579 All these commands are accessible from the Graph-On-Parent. +; +#X obj 488 141 cnv 15 270 180 empty empty gems.vcr_ 20 12 1 12 -233017 +-66577 0; +#X text 496 211 SUMMARY:; +#X text 496 225 Inlet_1: File management; +#X text 496 297 Outlet_2: Playback speed; +#X text 496 249 Inlet_2: VCR commands; +#X text 496 273 Outlet_1: File management; +#X text 564 284 forwarding; +#X text 425 353 You may send the following messages:; +#X floatatom 236 611 5 0 0 1 Playback_rate - -; +#X text 501 195 Author: oli44 Sept. 2007; +#X text 426 391 and fastforward; +#X text 426 374 fastrewind \, rewind \, stop \, play; +#X text 495 171 Description: Old-school VCR commands; +#X obj 43 527 gems.vcr_; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 2 2 3 2; +#X connect 4 0 39 1; +#X connect 5 0 4 0; +#X connect 6 0 39 1; +#X connect 7 0 39 1; +#X connect 8 0 39 1; +#X connect 9 0 39 1; +#X connect 10 0 39 1; +#X connect 11 0 1 0; +#X connect 12 0 20 0; +#X connect 13 0 14 1; +#X connect 14 0 39 0; +#X connect 15 0 14 0; +#X connect 16 0 39 1; +#X connect 17 0 16 0; +#X connect 21 0 5 0; +#X connect 34 0 1 2; +#X connect 39 0 1 1; +#X connect 39 1 34 0; diff --git a/gems.vcr_.pd b/gems.vcr_.pd new file mode 100644 index 0000000..b551144 --- /dev/null +++ b/gems.vcr_.pd @@ -0,0 +1,72 @@ +#N canvas 1430 272 947 563 10; +#X obj 101 116 cnv 15 198 58 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 257 133 tgl 15 0 empty empty Autostart -14 -8 1 9 -195568 -1 +-1 0 1; +#X obj 103 132 hradio 15 1 0 9 empty empty empty 4 -8 0 10 -195568 +-1 -1 1; +#X obj 102 -20 r \$0VCRcmd; +#X obj -279 366 outlet; +#X obj -279 -82 inlet; +#X obj 195 -108 inlet; +#X text 102 117 FRW -RW -0- Play FF; +#X obj 105 157 hsl 128 15 1 10 0 0 empty empty Smoothing 132 10 1 9 +-195568 -1 -1 5644 0; +#X obj 195 -21 route autostart smooth; +#X obj 344 62 sel fastrewind rewind stop play fastforward; +#X msg 344 144 0; +#X msg 403 113 2; +#X msg 462 141 4; +#X msg 521 136 6; +#X msg 580 143 8; +#X obj 344 118 t b; +#X obj 403 87 t b; +#X obj -12 -94 init.lb; +#X msg 43 58 4; +#X obj 462 97 t b; +#X obj 521 96 t b; +#X obj 580 115 t b; +#X msg 5 58 5; +#X obj -275 175 gems.vcr; +#X msg 262 222 autostart \$1; +#X obj -215 364 outlet; +#X msg 29 283 smooth \$1; +#X obj 344 8 symbol; +#X msg -112 158 speed \$1; +#X obj 393 199 f; +#X connect 1 0 25 0; +#X connect 2 0 29 0; +#X connect 3 0 2 0; +#X connect 5 0 24 0; +#X connect 6 0 9 0; +#X connect 8 0 27 0; +#X connect 9 0 1 0; +#X connect 9 1 8 0; +#X connect 9 2 28 0; +#X connect 10 0 16 0; +#X connect 10 1 17 0; +#X connect 10 2 20 0; +#X connect 10 3 21 0; +#X connect 10 4 22 0; +#X connect 11 0 30 0; +#X connect 12 0 30 0; +#X connect 13 0 30 0; +#X connect 14 0 30 0; +#X connect 15 0 30 0; +#X connect 16 0 11 0; +#X connect 17 0 12 0; +#X connect 18 0 19 0; +#X connect 18 0 23 0; +#X connect 19 0 2 0; +#X connect 20 0 13 0; +#X connect 21 0 14 0; +#X connect 22 0 15 0; +#X connect 23 0 8 0; +#X connect 24 0 4 0; +#X connect 24 1 26 0; +#X connect 25 0 24 1; +#X connect 27 0 24 1; +#X connect 28 0 10 0; +#X connect 29 0 24 1; +#X connect 30 0 2 0; +#X coords 0 -1 1 1 200 75 1 100 100; diff --git a/gems.video.input-help.pd b/gems.video.input-help.pd new file mode 100644 index 0000000..e97393c --- /dev/null +++ b/gems.video.input-help.pd @@ -0,0 +1,32 @@ +#N canvas 0 0 1049 323 10; +#X obj 84 192 gems.video.input @driver 0 @device 0 @mode NTSC @dimen +256 256 @colorspace RGBA; +#X obj 82 159 gemhead; +#X obj 79 53 gems.win @dimen 320 240; +#X obj 79 29 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X msg 486 161 reset; +#X obj 87 255 rectangle 2.66666 2; +#X obj 87 230 translateXYZ -2.66666 0 0; +#X obj 550 162 gemhead; +#X msg 954 164 reset; +#X obj 555 258 rectangle 2.66666 2; +#X obj 551 195 gems.video.input @driver 0 @device 1 @mode NTSC @dimen +256 256 @colorspace RGBA; +#X obj 555 233 translateXYZ 2.66666 0 0; +#X text 75 133 DEVICE 0; +#X text 549 132 DEVICE 1; +#X text 74 99 Using video4linux :; +#X msg 140 20 dimen 640 480; +#X msg 241 21 dimen 320 240; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 0 1; +#X connect 6 0 5 0; +#X connect 7 0 10 0; +#X connect 8 0 10 1; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 15 0 2 0; +#X connect 16 0 2 0; diff --git a/gems.video.input.pd b/gems.video.input.pd new file mode 100644 index 0000000..0ffa510 --- /dev/null +++ b/gems.video.input.pd @@ -0,0 +1,63 @@ +#N canvas 0 0 1040 474 10; +#X msg 544 327 freq 1234; +#X msg 546 398 dimen 256 256; +#X msg 546 418 dimen 64 64; +#X msg 542 250 mode NTSC; +#X msg 543 276 channel 2; +#X msg 546 378 dimen 256 128; +#X obj 103 330 pix_texture; +#X text 624 271 depending on your capture-device you can switch between +(e.g) Tuner \, COMPOSITE & S-VHS; +#X text 612 251 defaults to PAL; +#X text 622 329 set the frequency for the TV-Tuner; +#X text 661 382 various dimension (might not work on your specific +capture-device); +#X text 664 459 could be RGBA \, YUV or Grey; +#X msg 549 500 device 0; +#X msg 549 530 driver 0; +#X text 646 500 switch between capture-cards; +#X text 647 527 switch between drivers (e.g: v4l and ieee1394); +#X msg 549 591 enumerate; +#X text 647 590 list all devices to the console; +#X msg 555 633 dialog; +#X msg 549 557 quality 5; +#X text 648 556 set quality of e.g. dv input; +#X msg 546 459 colorspace RGBA; +#X obj 157 248 pix_video; +#X text 631 635 configure the device via a pop-up dialog (on w32 and +os-X); +#X obj 117 299 demultiplex 0 1; +#X obj 155 392 outlet; +#X obj 233 22 inlet attributes; +#X obj 24 36 inlet gem; +#X obj 290 45 loadbang; +#X obj 288 71 dollarg; +#X obj 283 97 init.post.dollarg; +#X obj 486 66 t b; +#X obj 247 127 route texture reset; +#X connect 0 0 22 0; +#X connect 1 0 22 0; +#X connect 2 0 22 0; +#X connect 3 0 22 0; +#X connect 4 0 22 0; +#X connect 5 0 22 0; +#X connect 6 0 25 0; +#X connect 12 0 22 0; +#X connect 13 0 22 0; +#X connect 16 0 22 0; +#X connect 18 0 22 0; +#X connect 19 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; +#X connect 24 0 6 0; +#X connect 24 1 25 0; +#X connect 26 0 32 0; +#X connect 27 0 22 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 29 1 30 1; +#X connect 30 0 32 0; +#X connect 31 0 29 0; +#X connect 32 0 24 1; +#X connect 32 1 31 0; +#X connect 32 2 22 0; diff --git a/gems.vu~-help.pd b/gems.vu~-help.pd new file mode 100644 index 0000000..d6ebc0e --- /dev/null +++ b/gems.vu~-help.pd @@ -0,0 +1,58 @@ +#N canvas 651 299 596 549 10; +#X obj 333 111 adc~; +#X obj 158 30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 158 55 gems.win 640 480; +#X obj 17 124 gemhead; +#X obj 453 307 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0; +#X obj 450 276 prvu~ 100; +#X obj 16 326 scaleXYZ 3 3 3; +#X obj 16 248 rotateXYZ; +#X floatatom 69 212 5 0 0 0 - - -; +#X obj 23 447 gems.text VU_1; +#X msg 87 395 \$1db; +#X floatatom 112 288 5 0 0 0 - - -; +#X obj 335 148 *~ 1; +#X floatatom 385 138 5 0 0 0 - - -; +#X obj 335 175 s~ \$0audio; +#X obj 118 351 r~ \$0audio; +#X obj 453 245 r~ \$0audio; +#X obj 17 182 translateXYZ -2 0 0; +#X obj 244 214 gemhead; +#X obj 247 412 gems.text VU_1; +#X obj 271 369 gems.text 0; +#X obj 342 316 r~ \$0audio; +#X obj 244 271 translateXYZ 2 0 0; +#X obj 44 417 gems.text 0db; +#X floatatom 29 208 5 0 0 0 - - -; +#X text 59 -50 Description: A graphical vu meter.; +#X text 58 -29 Comments: Original patch by Peter Plessas.; +#X text 60 -11 Author: Peter Plessas.; +#X obj 22 365 gems.vu~; +#X obj 246 330 gems.vu~; +#X connect 0 0 12 0; +#X connect 1 0 2 0; +#X connect 3 0 17 0; +#X connect 5 0 4 0; +#X connect 6 0 28 0; +#X connect 7 0 6 0; +#X connect 8 0 7 2; +#X connect 10 0 23 1; +#X connect 11 0 6 1; +#X connect 11 0 6 2; +#X connect 11 0 6 3; +#X connect 12 0 14 0; +#X connect 13 0 12 1; +#X connect 15 0 28 1; +#X connect 16 0 5 0; +#X connect 17 0 7 0; +#X connect 18 0 22 0; +#X connect 21 0 29 1; +#X connect 22 0 29 0; +#X connect 24 0 7 1; +#X connect 28 0 9 0; +#X connect 28 1 23 0; +#X connect 28 2 10 0; +#X connect 29 0 19 0; +#X connect 29 1 20 0; +#X connect 29 2 20 1; diff --git a/gems.vu~.pd b/gems.vu~.pd new file mode 100644 index 0000000..b1f8517 --- /dev/null +++ b/gems.vu~.pd @@ -0,0 +1,280 @@ +#N canvas 1450 193 1021 611 10; +#X obj 796 226 unpack f f f; +#X obj 823 174 loadbang; +#X msg 823 196 -100 -100; +#X text 710 100 prvu~ list; +#X obj 796 321 s \$0_rms_cooked; +#X obj 918 315 s \$0_peak; +#N canvas 0 0 466 515 scaling 0; +#X obj 186 53 inlet; +#X obj 186 381 outlet; +#X msg 186 110 100 \$1; +#X obj 186 82 * -1; +#X obj 186 139 -; +#X obj 186 173 / 100; +#X obj 186 236 *; +#X obj 186 203 t f f; +#X obj 186 347 line; +#X msg 186 315 \$1 100; +#X obj 186 277 * 0.827; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 7 1 6 1; +#X connect 8 0 1 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X restore 796 291 pd scaling; +#N canvas 1544 299 887 640 bars_from_gemhead2 0; +#X obj 33 149 colorRGB 1 0 0; +#X obj 145 96 r \$0_rms_cooked; +#X obj 11 217 translateXYZ 0 0 0; +#X obj 11 253 rectangle 0.1 1; +#X text 149 223 red bar; +#X obj 88 413 colorRGB 0 0.9 0; +#X obj 210 389 r \$0_rms_cooked; +#X obj 88 387 separator; +#N canvas 13 261 567 539 color 0; +#X obj 47 48 inlet; +#X obj 121 383 outlet; +#X obj 136 223 change; +#X msg 215 311 0 0.9 0; +#X msg 213 335 1 0.7 0; +#X msg 213 360 1 0 0; +#X msg 136 175 1; +#X msg 208 176 2; +#X msg 252 175 3; +#X msg 47 172 0; +#X obj 136 248 sel 0 1 2 3; +#X msg 216 283 0 0 0; +#X obj 48 100 moses 0; +#X obj 136 125 moses 0.637; +#X obj 208 151 moses 0.827; +#X connect 0 0 12 0; +#X connect 2 0 10 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 10 0 11 0; +#X connect 10 1 3 0; +#X connect 10 2 4 0; +#X connect 10 3 5 0; +#X connect 11 0 1 0; +#X connect 12 0 9 0; +#X connect 12 1 13 0; +#X connect 13 0 6 0; +#X connect 13 1 14 0; +#X connect 14 0 7 0; +#X connect 14 1 8 0; +#X restore 566 386 pd color; +#X obj 415 425 color 0 0 0; +#X obj 415 460 rectangle 0.12 0.025; +#X obj 567 229 r \$0_peak; +#X text 565 460 peak; +#X obj 415 338 separator; +#X text 202 539 green bar; +#X obj 415 384 translateXYZ 0 0 0; +#X obj 385 99 colorRGB 1 0.7 0; +#X obj 532 12 r \$0_rms_cooked; +#X obj 385 72 separator; +#X text 502 200 orange bar; +#X obj 33 118 separator; +#X obj 143 -80 inlet; +#X obj 225 220 > 0; +#X obj 226 246 change -1; +#X obj 748 113 > 0; +#X obj 750 141 change -1; +#X obj 384 47 spigot; +#X obj 31 90 spigot; +#X obj 290 511 min 0.637; +#X obj 515 292 * 2; +#X obj 508 74 min 0.827; +#X obj 508 99 max 0.637; +#X obj 709 61 - 0.637; +#X obj 87 540 rectangle 0.1 0; +#X obj 385 198 rectangle 0.1 0; +#X obj 385 162 translateXYZ 0 1.54 0; +#X obj 87 504 translateXYZ 0 0 0; +#X obj 149 -3 t a a a a; +#X obj 181 183 - 0.827; +#X obj 148 148 max 0.827; +#X obj 145 126 min 0.99; +#X obj 74 182 + 0.82; +#X obj 501 127 + 0.627; +#X obj 500 349 min 1.98; +#X obj 148 -37 translateXYZ 0 -1 0.001; +#X connect 0 0 2 0; +#X connect 1 0 40 0; +#X connect 2 0 3 0; +#X connect 5 0 36 0; +#X connect 6 0 28 0; +#X connect 7 0 5 0; +#X connect 8 0 9 1; +#X connect 9 0 10 0; +#X connect 11 0 29 0; +#X connect 11 0 8 0; +#X connect 13 0 15 0; +#X connect 15 0 9 0; +#X connect 16 0 35 0; +#X connect 17 0 30 0; +#X connect 18 0 16 0; +#X connect 20 0 0 0; +#X connect 21 0 44 0; +#X connect 22 0 23 0; +#X connect 23 0 27 1; +#X connect 24 0 25 0; +#X connect 25 0 26 1; +#X connect 26 0 18 0; +#X connect 27 0 20 0; +#X connect 28 0 33 2; +#X connect 28 0 36 2; +#X connect 29 0 43 0; +#X connect 30 0 31 0; +#X connect 31 0 32 0; +#X connect 31 0 42 0; +#X connect 32 0 24 0; +#X connect 32 0 34 2; +#X connect 35 0 34 0; +#X connect 36 0 33 0; +#X connect 37 0 13 0; +#X connect 37 1 27 0; +#X connect 37 2 26 0; +#X connect 37 3 7 0; +#X connect 38 0 3 2; +#X connect 38 0 22 0; +#X connect 39 0 38 0; +#X connect 39 0 41 0; +#X connect 40 0 39 0; +#X connect 41 0 2 2; +#X connect 42 0 35 2; +#X connect 43 0 15 2; +#X connect 44 0 37 0; +#X restore 544 411 pd bars_from_gemhead2; +#N canvas 1407 377 352 647 frames_and_numbers_from_gemhead1 0; +#X text 211 407 background; +#X text 205 393 orange; +#X text 194 289 background; +#X text 193 274 red; +#X text 212 513 background; +#X text 205 486 green; +#X obj 46 261 color 0.35 0 0; +#X obj 46 374 color 0.3 0.23 0; +#X obj 46 474 color 0 0.25 0; +#X obj 51 18 inlet; +#X floatatom 164 160 5 0 0 0 - - -; +#X obj 46 403 rectangle 0.16 0.187; +#X obj 46 235 translateXYZ 0 0.827 0; +#X obj 47 286 rectangle 0.16 0.18; +#X obj 46 346 translateXYZ 0 -0.36 1e-04; +#X obj 46 502 rectangle 0.16 0.645; +#X obj 45 446 translateXYZ 0 -0.83 1e-04; +#X connect 6 0 13 0; +#X connect 7 0 11 0; +#X connect 8 0 15 0; +#X connect 9 0 12 0; +#X connect 10 0 12 2; +#X connect 11 0 16 0; +#X connect 12 0 6 0; +#X connect 13 0 14 0; +#X connect 14 0 7 0; +#X connect 16 0 8 0; +#X restore 502 331 pd frames_and_numbers_from_gemhead1; +#X text 4 11 gem_vu: modelled after pd's own [vu] object.; +#X text 4 28 args: x-pos \, y-pos \, x-size \, y-size \, label \, fontsize +; +#X text 16 498 Version: 1.April 2007; +#X text 17 481 Peter Plessas; +#X obj 272 98 inlet; +#X obj 380 241 separator; +#X obj 504 277 separator; +#X obj 712 146 prvu~ 100; +#X text 72 73 iemlib; +#X obj 711 121 inlet~; +#N canvas 1516 536 450 300 white_frame 0; +#X obj 96 132 loadbang; +#X text 222 180 white frame; +#X msg 96 155 draw line; +#X obj 63 41 inlet; +#X obj 51 99 colorRGB 1 1 1; +#X obj 49 230 rectangle 0.16 1 0.16; +#X obj 54 68 translateXYZ 0 0 -0.001; +#X connect 0 0 2 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 6 0 4 0; +#X restore 411 439 pd white_frame; +#X obj 409 407 separator; +#N canvas 0 0 466 515 scaling 0; +#X obj 186 53 inlet; +#X obj 186 381 outlet; +#X msg 186 110 100 \$1; +#X obj 186 82 * -1; +#X obj 186 139 -; +#X obj 186 173 / 100; +#X obj 186 236 *; +#X obj 186 203 t f f; +#X obj 186 347 line; +#X obj 186 277 * 0.827; +#X msg 186 315 \$1 100; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 6 0; +#X connect 7 1 6 1; +#X connect 8 0 1 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X restore 909 289 pd scaling; +#X obj 31 438 outlet; +#X obj 31 392 scaleXYZ 0.2 0.2 0.2; +#X obj 32 319 translateXYZ 0 1.2 0; +#X obj 38 266 separator; +#X obj 196 259 separator; +#X obj 205 392 scaleXYZ 0.2 0.2 0.2; +#X obj 208 436 outlet; +#X obj 724 493 outlet; +#X obj 699 424 int; +#X obj 200 317 translateXYZ 0 -1.2 0; +#X obj 451 183 t a a; +#X obj 258 127 t a a a a; +#X obj 448 127 separator; +#X obj 450 149 scaleXYZ 0.96 0.98 0.96; +#X connect 0 0 6 0; +#X connect 0 0 30 0; +#X connect 0 1 21 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 6 0 4 0; +#X connect 13 0 33 0; +#X connect 14 0 7 0; +#X connect 15 0 8 0; +#X connect 16 0 0 0; +#X connect 18 0 16 0; +#X connect 20 0 19 0; +#X connect 21 0 5 0; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +#X connect 25 0 24 0; +#X connect 26 0 31 0; +#X connect 27 0 28 0; +#X connect 30 0 29 0; +#X connect 31 0 27 0; +#X connect 32 0 14 0; +#X connect 32 1 15 0; +#X connect 33 0 25 0; +#X connect 33 1 26 0; +#X connect 33 2 20 0; +#X connect 33 3 34 0; +#X connect 34 0 35 0; +#X connect 35 0 32 0; diff --git a/gems.win-help.pd b/gems.win-help.pd new file mode 100644 index 0000000..6efe8ba --- /dev/null +++ b/gems.win-help.pd @@ -0,0 +1,95 @@ +#N canvas 387 66 883 803 10; +#X obj 7 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#X text 6 -22 Description: Controls the Gem window.; +#X obj 7 70 print settings; +#X text 7 376 Clicking with the RIGHT mouse button in the Gem window +will move the camera.; +#X text 7 411 Double clicking with the RIGHT mouse button will reset +the camera.; +#X text 439 72 Outlet_1: Outputs the settings made to the Gem window. +NOTE that this outlet is COMMON to all gems.win.; +#X obj 7 215 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 26 28 Create a 320x240 Gem window with a border.; +#X text 448 518 Once you create a gems.light object \, lighting is +automatically turned on.; +#X text 6 279 WARNING: There is a 200 ms delay when closing a Gem window +to make sure PD & Gem do not crash. If you try to destroy and destroy +the window too quickly some commands will be ingored for your own protection. +; +#X text 448 496 -- LIGHTING --; +#X text 464 197 @border: set the Gem window border presence.; +#X text 464 157 @offset: sets the Gem window offset (position).; +#X text 464 138 @dimen: sets the Gem window dimension.; +#X text 442 116 Arguments (use none \, some or all of these):; +#X obj 7 112 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 26 111 Create a 320x240 Gem window without a border.; +#X text 464 245 Special mode: you can create a gems.win with two float +arguments that will be used as the @dimen (dimension) values like this: +; +#X obj 450 434 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 447 400 You can connect a toggle to the right outlet to get +the state of the window.; +#X text 5 -7 Flags: @rguments; +#X text 464 176 @fps or @frame: sets the Gem window framerate (frame). +; +#X text 448 378 -- GEM WINDOW STATE --; +#X msg 7 174 0; +#X obj 7 153 flow.prepend set; +#X text 27 215 More arguments...; +#X text 7 446 Double clicking with the MIDDLE mouse button will destroy +the window.; +#X text 438 19 Inlet_1 (float): 1=Create and render. 0=Destroy. All +of the standard Gem window commands can still be used (see gemwin's +help for more information).; +#X text 464 217 @anti-aliasing or @FSAA: sets anti-aliasing level; +#X obj 467 297 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 5 499 -- KEYBOARD CONTROL --; +#X text 6 353 -- MOUSE CONTROLS (for Linux and Windows) --; +#X text 7 553 F12 will destroy the window; +#X text 8 523 F11 will create the window (if there are many gems.win +\, it will select the settings of the first one created).; +#X text 9 586 -- VALUES --; +#X obj 17 650 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 16 678 flow.value.changes gems.win/fps; +#X obj 17 624 flow.value.changes gems.win/render; +#X floatatom 16 705 5 0 0 0 - - -; +#X floatatom 277 650 5 0 0 0 - - -; +#X obj 277 622 flow.value.changes gems.win/width; +#X floatatom 277 705 5 0 0 0 - - -; +#X obj 277 677 flow.value.changes gems.win/height; +#X obj 508 648 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 508 619 flow.value.changes gems.win/lighting; +#X obj 467 317 gems.win 640 480; +#X obj 7 49 gems.win @dimen 320 240 @cursor 0; +#X obj 7 132 gems.win @dimen 320 240 @border 0; +#X obj 450 454 gems.win 640 480; +#X obj 8 234 gems.win @dimen 200 200 @border 0 @offset 100 100 @FSAA +0 @fps 20 @lighting 1; +#X obj 202 581 s gems.win/force_render; +#X text 351 581 <- You can force the rendering of the gemwin by sending +a bang here.; +#X connect 0 0 46 0; +#X connect 6 0 49 0; +#X connect 15 0 47 0; +#X connect 18 0 48 0; +#X connect 24 0 23 0; +#X connect 29 0 45 0; +#X connect 36 0 38 0; +#X connect 36 1 38 0; +#X connect 37 0 35 0; +#X connect 37 1 35 0; +#X connect 40 0 39 0; +#X connect 40 1 39 0; +#X connect 42 0 41 0; +#X connect 42 1 41 0; +#X connect 44 0 43 0; +#X connect 44 1 43 0; +#X connect 46 0 2 0; +#X connect 47 0 24 0; +#X connect 48 1 18 0; diff --git a/gems.win.feedback-help.pd b/gems.win.feedback-help.pd new file mode 100644 index 0000000..bf8487e --- /dev/null +++ b/gems.win.feedback-help.pd @@ -0,0 +1,118 @@ +#N canvas 175 13 853 734 10; +#X obj 25 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 23 85 gems.win 600 600; +#X obj 23 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 44 482 colorRGB 1 1 1; +#X msg 76 47 frame 60; +#X msg 154 45 frame 20; +#X obj 36 402 rotateXYZ; +#X obj 23 129 gems.win @dimen 1024 768 @offset 1280 0 @border 0; +#X obj 76 201 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 10922 1; +#X floatatom 73 219 5 0 0 0 - - -; +#X obj 215 591 list.make; +#X msg 220 562 3; +#X obj 321 593 random 255; +#X obj 314 571 b; +#X obj 205 625 unpack f f f; +#X obj 330 621 / 255; +#X floatatom 124 225 5 0 0 0 - - -; +#X obj 225 278 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 216 524 metro 1000; +#X obj 213 488 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 66 572 colorRGB 1 1 1 0.5; +#X obj 71 616 alpha; +#X obj 1 251 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X obj 210 453 loadbang; +#X text 251 278 quality (high by default); +#X obj 57 453 gemhead; +#X obj 1 219 loadbang; +#X text 216 198 feedback amount; +#X obj 186 679 loadbang; +#X msg 186 699 draw line; +#X obj 59 677 colorRGB 1 1 1 1; +#X text 48 -13 Description: A more advanced video feedback loop using +snapshots of the rendering window.; +#X msg 73 181 0.86; +#X obj 73 160 loadbang; +#X text 162 226 feedback direction (default to 0.1):; +#X text 160 240 positive value: feed outward; +#X text 159 256 nagative value: feed inward; +#N canvas 0 0 450 300 autorotate 0; +#X obj 117 110 line; +#X obj 118 70 random 360; +#X obj 116 33 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 116 11 loadbang; +#X obj 116 51 metro 5000; +#X msg 117 90 \$1 5000; +#X obj 116 171 outlet; +#X connect 0 0 6 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 0 0; +#X restore 125 347 pd autorotate; +#X floatatom 126 369 5 0 0 0 - - -; +#X obj 33 319 gems.win.feedback; +#X text 327 183 destination; +#X text 327 183 destination; +#X msg 285 668 1 1 1; +#X msg 163 533 1; +#X msg 169 74 color 1 1 1; +#X obj 68 646 square 0.5; +#X obj 60 726 square 0.5; +#X msg 185 97 color 0 0 0; +#X text 20 251 feedback on/off; +#X obj 4 290 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1 +; +#X obj 293 51 gems.win @dimen 320 240; +#X obj 302 16 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X connect 0 0 1 0; +#X connect 2 0 7 0; +#X connect 3 0 20 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 8 0 9 0; +#X connect 9 0 39 2; +#X connect 10 0 14 0; +#X connect 10 1 13 0; +#X connect 11 0 10 0; +#X connect 12 0 15 0; +#X connect 13 0 12 0; +#X connect 14 0 20 1; +#X connect 14 1 20 2; +#X connect 14 2 20 3; +#X connect 15 0 10 1; +#X connect 16 0 39 3; +#X connect 17 0 39 4; +#X connect 18 0 11 0; +#X connect 19 0 18 0; +#X connect 20 0 21 0; +#X connect 21 0 45 0; +#X connect 22 0 39 1; +#X connect 23 0 19 0; +#X connect 25 0 3 0; +#X connect 26 0 22 0; +#X connect 28 0 29 0; +#X connect 29 0 46 0; +#X connect 30 0 46 0; +#X connect 32 0 8 0; +#X connect 33 0 32 0; +#X connect 37 0 38 0; +#X connect 38 0 6 3; +#X connect 39 0 6 0; +#X connect 42 0 14 0; +#X connect 43 0 20 4; +#X connect 44 0 1 0; +#X connect 45 0 30 0; +#X connect 47 0 1 0; +#X connect 49 0 39 0; +#X connect 51 0 50 0; diff --git a/gems.win.feedback.pd b/gems.win.feedback.pd new file mode 100644 index 0000000..41e109a --- /dev/null +++ b/gems.win.feedback.pd @@ -0,0 +1,121 @@ +#N canvas 0 38 1028 734 10; +#X obj 12 24 gemhead 100000; +#X msg 27 116 snap; +#N canvas 0 0 1028 527 snap2text 0; +#X obj 9 -3 inlet; +#X obj 465 8 inlet; +#X obj 323 -10 loadbang; +#X obj 138 472 outlet; +#X obj 375 207 pack f f; +#X obj 510 7 inlet; +#X obj 125 -3 inlet; +#X obj 336 284 pack f f; +#X obj 236 -8 inlet; +#X obj 509 30 t b f; +#X obj 239 12 t b f; +#X obj 706 30 r gems.win/state; +#X obj 712 59 route dimen; +#X obj 709 93 unpack f f; +#X obj 325 14 t b b; +#X obj 679 196 f 0; +#X obj 754 205 f 0; +#X obj 725 116 t b b; +#X obj 712 154 value gems.win/width; +#X obj 865 157 value gems.win/height; +#X obj 146 364 pix_snap2tex 0 0 512 512; +#X connect 0 0 20 0; +#X connect 1 0 4 0; +#X connect 2 0 14 0; +#X connect 4 0 20 1; +#X connect 5 0 9 0; +#X connect 6 0 7 0; +#X connect 7 0 20 2; +#X connect 8 0 10 0; +#X connect 9 0 4 0; +#X connect 9 1 4 1; +#X connect 10 0 7 0; +#X connect 10 1 7 1; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 15 0; +#X connect 13 1 16 0; +#X connect 14 0 17 0; +#X connect 15 0 7 0; +#X connect 16 0 7 1; +#X connect 17 0 18 0; +#X connect 17 1 19 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 3 0; +#X restore 152 179 pd snap2text; +#X obj 652 613 outlet; +#X obj 159 26 gems.layer -2; +#X obj 301 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 243 120 == 0; +#X obj 393 -48 inlet alpha/colorRGBA; +#X obj 365 38 unpack f f f f; +#X obj 403 -14 route list; +#X obj 605 -53 inlet direction; +#X obj 867 -47 inlet quality; +#X obj 578 -1 moses 0; +#X obj 625 28 + 1; +#X obj 564 31 abs; +#X msg 514 80 1 \$1; +#X obj 481 109 -; +#X obj 158 485 colorRGB 1 1 1 0; +#X obj 527 54 / 2; +#X msg 460 441 quality \$1; +#X obj 183 632 square; +#X obj 93 111 spigot 1; +#X obj 17 75 spigot 0; +#X obj 275 -39 inlet active; +#X obj 435 145 max 0; +#X obj 682 -25 loadbang; +#X msg 678 2 0.1; +#X obj 155 306 t a a a; +#X obj 158 565 separator; +#X obj 159 83 t b a a; +#X obj 56 -40 inlet render; +#X obj 183 535 alpha; +#X obj 153 377 gems.fit.scale fill; +#X connect 0 0 22 0; +#X connect 1 0 2 0; +#X connect 2 0 27 0; +#X connect 4 0 29 0; +#X connect 5 0 6 0; +#X connect 5 0 22 1; +#X connect 6 0 21 1; +#X connect 7 0 9 0; +#X connect 8 0 17 1; +#X connect 8 1 17 2; +#X connect 8 2 17 3; +#X connect 8 3 17 4; +#X connect 9 0 8 0; +#X connect 9 1 17 4; +#X connect 10 0 12 0; +#X connect 11 0 19 0; +#X connect 12 0 14 0; +#X connect 12 1 13 0; +#X connect 13 0 32 1; +#X connect 14 0 18 0; +#X connect 15 0 16 0; +#X connect 16 0 24 0; +#X connect 17 0 31 0; +#X connect 18 0 15 0; +#X connect 19 0 2 0; +#X connect 21 0 1 0; +#X connect 22 0 1 0; +#X connect 23 0 5 0; +#X connect 24 0 32 1; +#X connect 25 0 26 0; +#X connect 26 0 12 0; +#X connect 27 0 32 0; +#X connect 27 1 3 0; +#X connect 28 0 20 0; +#X connect 29 0 21 0; +#X connect 29 1 2 0; +#X connect 30 0 0 0; +#X connect 30 0 4 0; +#X connect 31 0 28 0; +#X connect 32 0 17 0; diff --git a/gems.win.pd b/gems.win.pd new file mode 100644 index 0000000..c333bf7 --- /dev/null +++ b/gems.win.pd @@ -0,0 +1,403 @@ +#N canvas 57 86 993 682 10; +#X obj 236 355 gemwin; +#X obj -10 -341 inlet; +#X obj -16 70 sel 1 0; +#X msg 288 218 0; +#X msg 167 253 destroy; +#X obj 240 151 t b b; +#X obj 167 209 s \$0reset; +#X obj -14 540 outlet; +#X obj -14 501 r gems.win/state; +#X obj -16 342 t a a; +#X obj -16 421 s gems.win/state; +#X obj 111 198 t b b; +#X msg 70 252 create; +#X msg 124 254 1; +#X obj -16 -83 r gems.win/force_render; +#X msg -16 -42 1; +#X obj -16 254 r \$0gemwin; +#X obj 135 158 t b b; +#X obj 243 174 delay 200; +#X msg 307 333 perspec -1 1 -1 1 1 24; +#X obj 307 306 loadbang; +#X obj 509 -281 init.post.dollarg; +#X obj 509 -345 loadbang; +#X obj 509 -315 dollarg; +#X obj 680 429 r gems.win/state; +#X obj 680 464 route float; +#X msg 680 503 set \$1; +#X obj 680 532 outlet; +#N canvas 1622 326 654 496 MOUSE_INPUT 0; +#X obj 82 49 gemmouse; +#X obj 186 184 sel 1; +#X msg 182 261 0; +#N canvas 830 159 618 746 viewing 0; +#X obj 65 57 inlet; +#X obj 123 55 inlet; +#X obj 238 52 inlet; +#X obj 182 680 outlet; +#X obj 43 558 pack f f f 100; +#X msg 43 588 view \$1 \$2 \$3 0 0 0 0 \$4 0; +#X obj 41 498 expr sin($f1)*cos($f2)*4; +#X obj 380 499 expr cos($f1)*cos($f2)*4; +#X obj 226 498 expr sin($f1)*4; +#X obj 297 221 spigot; +#X obj 244 221 spigot; +#X obj 308 156 t f f f; +#X obj 368 181 sel 1; +#X obj 230 282 t f f; +#X obj 311 285 t f f; +#X obj 181 314 t f f; +#X obj 203 355 -; +#X obj 314 313 t f f; +#X obj 320 364 -; +#X obj 389 312 spigot 1; +#X obj 248 307 spigot 1; +#X msg 372 218 1; +#X obj 237 334 t f b; +#X msg 265 357 0; +#X obj 185 415 +; +#X obj 297 417 +; +#X obj 184 438 t f f f f; +#X obj 296 440 t f f f; +#X obj 141 390 / -100; +#X obj 492 212 input.double.click; +#X msg 473 245 0 0; +#X obj 485 81 inlet reset; +#X obj 447 388 / 100; +#X connect 0 0 10 0; +#X connect 1 0 9 0; +#X connect 2 0 11 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 4 2; +#X connect 8 0 4 1; +#X connect 9 0 14 0; +#X connect 10 0 13 0; +#X connect 11 1 9 1; +#X connect 11 1 10 1; +#X connect 11 2 12 0; +#X connect 12 0 21 0; +#X connect 12 0 29 0; +#X connect 13 0 15 0; +#X connect 13 1 20 0; +#X connect 14 0 17 0; +#X connect 14 1 19 0; +#X connect 15 0 16 1; +#X connect 15 1 16 0; +#X connect 16 0 28 0; +#X connect 17 0 18 1; +#X connect 17 1 18 0; +#X connect 18 0 32 0; +#X connect 19 0 18 1; +#X connect 20 0 22 0; +#X connect 21 0 20 1; +#X connect 21 0 19 1; +#X connect 22 0 16 1; +#X connect 22 1 23 0; +#X connect 23 0 20 1; +#X connect 23 0 19 1; +#X connect 24 0 26 0; +#X connect 25 0 27 0; +#X connect 26 0 6 0; +#X connect 26 2 7 0; +#X connect 26 3 24 1; +#X connect 27 0 6 1; +#X connect 27 0 8 0; +#X connect 27 1 7 1; +#X connect 27 2 25 1; +#X connect 28 0 24 0; +#X connect 29 0 30 0; +#X connect 30 0 25 0; +#X connect 30 0 24 0; +#X connect 31 0 30 0; +#X connect 32 0 25 0; +#X restore 64 123 pd viewing; +#X obj 200 104 r \$0reset; +#X obj 176 224 input.double.click 200; +#X obj 176 326 outlet; +#X obj 32 322 outlet; +#X obj 172 82 flow.value.change gems.win/right_click; +#X obj 187 138 flow.value.change gems.win/middle_click; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 0 3 9 0; +#X connect 0 4 8 0; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 4 0 3 3; +#X connect 5 0 2 0; +#X connect 9 0 1 0; +#X restore 501 -56 pd MOUSE_INPUT; +#X obj 44 3 r \$0render; +#X obj 597 -13 s \$0render; +#X obj 497 -15 s \$0gemwin; +#N canvas 982 16 1016 670 SETTINGS 0; +#X obj 494 99 b; +#X obj 493 72 r \$0reset; +#X msg 311 205 offset \$1 \$2; +#X obj 517 174 f 1; +#X msg 517 197 border \$1; +#N canvas 0 0 931 572 dimen 0; +#X obj 150 479 outlet; +#X obj 72 24 inlet; +#X msg 149 401 dimen \$1 \$2; +#X obj 504 48 inlet; +#X obj 290 429 flow.value.changes gems.win/width; +#X obj 527 431 flow.value.changes gems.win/height; +#X obj 174 203 list append 320 240; +#X obj 187 266 t l l; +#X obj 318 379 unpack f f; +#X connect 1 0 6 0; +#X connect 2 0 0 0; +#X connect 3 0 6 1; +#X connect 6 0 7 0; +#X connect 7 0 2 0; +#X connect 7 1 8 0; +#X connect 8 0 4 0; +#X connect 8 1 5 0; +#X restore 225 187 pd dimen; +#X obj 1066 79 s \$0dimen; +#X obj 541 148 r \$0border; +#X obj 538 8 s \$0border; +#X obj 620 9 s \$0fps; +#X obj 311 184 list append 0 0; +#X obj 407 157 r \$0offset; +#X obj 674 9 s \$0offset; +#X obj 1118 38 list.split 2; +#X obj 759 8 s \$0lighting; +#X obj 744 103 r \$0fps; +#X msg 1041 14 320 240; +#X obj 841 121 r \$0anti-aliasing; +#X obj 803 -36 s \$0anti-aliasing; +#X obj 785 187 route bang; +#X msg 847 217 FSAA \$1; +#X obj 867 184 cnv 15 15 15 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 856 -57 cnv 15 15 15 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 933 -114 cnv 15 15 15 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 1061 -23 route bang list; +#X obj 423 -106 s \$0gemwin; +#X obj 266 126 r \$0dimen; +#X obj 245 -111 s \$0lighting; +#X msg 631 256 frame \$1; +#X obj 40 -197 inlet; +#X obj 604 -182 inlet; +#X obj 459 407 outlet; +#N canvas 0 0 450 300 fps 0; +#X obj 57 21 inlet; +#X obj 286 12 inlet; +#X obj 129 251 outlet; +#X obj 83 61 list; +#X obj 86 86 route bang; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 3 0 4 0; +#X connect 4 1 2 0; +#X restore 659 164 pd fps; +#X msg 120 227 cursor \$1; +#X obj 120 173 f 1; +#X obj 135 146 r \$0cursor; +#X obj 865 -7 s \$0cursor; +#X obj 783 158 list append; +#X obj 31 -150 route dimen border fps frame offset lighting FSAA anti-aliasing +cursor color; +#X obj 969 198 route bang; +#X obj 967 169 list append; +#X obj 1025 132 r \$0color; +#X msg 1032 228 color \$1 \$2 \$3; +#X obj 581 -121 route dimen border fps frame offset lighting FSAA anti-aliasing +cursor color; +#X obj 926 -38 s \$0color; +#X connect 0 0 5 0; +#X connect 0 0 3 0; +#X connect 0 0 10 0; +#X connect 0 0 32 0; +#X connect 0 0 34 0; +#X connect 0 0 37 0; +#X connect 0 0 40 0; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 3 0 4 0; +#X connect 4 0 31 0; +#X connect 5 0 31 0; +#X connect 7 0 3 1; +#X connect 10 0 2 0; +#X connect 11 0 10 1; +#X connect 13 0 6 0; +#X connect 15 0 32 1; +#X connect 16 0 6 0; +#X connect 17 0 37 1; +#X connect 19 1 20 0; +#X connect 20 0 31 0; +#X connect 24 0 16 0; +#X connect 24 1 13 0; +#X connect 26 0 5 1; +#X connect 28 0 31 0; +#X connect 29 0 38 0; +#X connect 30 0 43 0; +#X connect 32 0 28 0; +#X connect 33 0 31 0; +#X connect 34 0 33 0; +#X connect 35 0 34 1; +#X connect 37 0 19 0; +#X connect 38 0 5 1; +#X connect 38 1 3 0; +#X connect 38 2 32 0; +#X connect 38 3 32 0; +#X connect 38 4 10 1; +#X connect 38 5 27 0; +#X connect 38 6 37 0; +#X connect 38 7 37 0; +#X connect 38 8 34 0; +#X connect 38 9 40 0; +#X connect 38 10 25 0; +#X connect 39 1 42 0; +#X connect 40 0 39 0; +#X connect 41 0 40 1; +#X connect 42 0 31 0; +#X connect 43 0 6 0; +#X connect 43 1 8 0; +#X connect 43 2 9 0; +#X connect 43 3 9 0; +#X connect 43 4 12 0; +#X connect 43 5 14 0; +#X connect 43 6 18 0; +#X connect 43 7 18 0; +#X connect 43 8 36 0; +#X connect 43 9 44 0; +#X connect 43 10 24 0; +#X restore 184 -196 pd SETTINGS; +#X obj 183 -147 s \$0gemwin; +#N canvas 1549 216 830 679 CREATE&DESTROY 0; +#X obj 104 -313 inlet; +#X msg 138 -180 0; +#X obj 27 -183 t b b; +#X msg 90 -138 0; +#X msg 36 -104 1; +#X obj 16 -138 delay 201; +#X obj 91 -280 route 1 0; +#X obj 95 -243 route create destroy; +#X obj 176 42 outlet; +#X obj 354 42 outlet; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 8 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 2 0; +#X connect 6 1 1 0; +#X connect 6 2 7 0; +#X connect 7 0 2 0; +#X connect 7 1 1 0; +#X connect 7 2 9 0; +#X restore -10 -213 pd CREATE&DESTROY; +#X obj -10 -156 s \$0render; +#N canvas 193 48 811 486 KEYBOARD 0; +#X obj 66 -95 flow.once; +#X obj 214 -241 gemkeyname; +#X obj 80 -239 input.key.r F11; +#X obj 67 -67 t b b; +#X obj 124 -55 delay 500; +#X obj 94 93 outlet; +#X msg 69 -22 1; +#X obj 279 -215 sel F11 F12; +#X obj 288 -89 flow.once; +#X obj 289 -61 t b b; +#X obj 346 -49 delay 500; +#X msg 290 -24 0; +#X obj 410 -232 input.key.r F12; +#X connect 0 0 3 0; +#X connect 1 1 7 0; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 3 1 4 0; +#X connect 4 0 0 1; +#X connect 6 0 5 0; +#X connect 7 0 0 0; +#X connect 7 1 8 0; +#X connect 8 0 9 0; +#X connect 9 0 11 0; +#X connect 9 1 10 0; +#X connect 10 0 8 1; +#X connect 11 0 5 0; +#X connect 12 0 8 0; +#X restore 187 -95 pd KEYBOARD; +#X obj 188 -65 s \$0render; +#X obj -16 38 flow.value.changes gems.win/render; +#X obj 356 -14 s \$0gemwin; +#N canvas 1455 346 450 300 LIGHTING 1; +#X msg 152 239 lighting \$1; +#X obj 152 10 r \$0reset; +#X obj 154 44 t b b b; +#X obj 152 128 spigot; +#X msg 227 72 1; +#X msg 142 77 0; +#X obj 227 162 t f b; +#X msg 272 165 0; +#X obj 48 129 r \$0lighting; +#X obj 152 267 outlet; +#X obj 152 207 flow.value.changes gems.win/lighting; +#X obj 80 187 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 223 134 r gems:lightSet; +#X obj 237 108 s gems:lightQuery; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 13 0; +#X connect 2 2 4 0; +#X connect 3 0 10 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X connect 6 1 7 0; +#X connect 7 0 3 1; +#X connect 8 0 10 0; +#X connect 10 0 0 0; +#X connect 11 0 10 0; +#X connect 12 0 6 0; +#X restore 356 -61 pd LIGHTING; +#X connect 1 0 34 0; +#X connect 2 0 17 0; +#X connect 2 1 5 0; +#X connect 3 0 9 0; +#X connect 4 0 0 0; +#X connect 5 0 18 0; +#X connect 5 1 3 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 9 1 0 0; +#X connect 11 0 13 0; +#X connect 11 1 12 0; +#X connect 12 0 0 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 38 0; +#X connect 16 0 9 0; +#X connect 17 0 11 0; +#X connect 17 1 6 0; +#X connect 18 0 4 0; +#X connect 19 0 0 0; +#X connect 20 0 19 0; +#X connect 21 0 32 1; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X connect 23 1 21 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 28 0 31 0; +#X connect 28 1 30 0; +#X connect 29 0 38 0; +#X connect 32 0 33 0; +#X connect 34 0 35 0; +#X connect 34 1 32 0; +#X connect 36 0 37 0; +#X connect 38 0 2 0; +#X connect 40 0 39 0; diff --git a/gems.win.view-help.pd b/gems.win.view-help.pd new file mode 100644 index 0000000..339e0e1 --- /dev/null +++ b/gems.win.view-help.pd @@ -0,0 +1,185 @@ +#N canvas 269 115 905 610 10; +#X obj 31 112 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 64 106 FSAA 6; +#X obj 64 83 loadbang; +#X msg 113 106 frame 60; +#X obj 31 136 gems.win 640 480; +#X obj 281 189 cnv 15 250 400 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X obj 22 189 cnv 15 250 400 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 547 189 cnv 15 250 400 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X obj 289 390 scaleXYZ 1.02 1.02 1.02; +#X obj 288 319 scaleXYZ 0.2 0.2 0.2; +#X obj 354 363 count.iter 1 0.02; +#X obj 303 424 count.iter 0 137.5; +#X obj 289 454 rotateXYZ; +#X obj 289 524 translateXYZ; +#X obj 290 200 gemhead 50; +#X obj 288 296 scaleXYZ 1 0.5 1; +#X obj 36 461 rotateXYZ; +#X obj 36 395 rotateXYZ 0 0 0; +#X obj 123 371 count.iter 0 1; +#X obj 36 347 t a b; +#X obj 36 482 translateXYZ 4 0 0; +#X obj 313 475 count.iter 0 0.3; +#X obj 291 564 circle 0.5; +#X obj 437 495 line; +#X obj 437 451 metro 1000; +#X obj 315 502 * 0; +#X obj 437 429 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 437 472 0 \, 0.5 1000; +#X obj 289 339 gems.duplicate 150; +#X obj 289 545 colorRGB 0 1 0; +#X obj 436 406 init.lf 1; +#X obj 36 418 gems.duplicate 12; +#X obj 93 439 count.iter 0 30; +#X obj 36 503 colorRGB 1 0 0; +#X obj 36 268 colorRGB 1 1 1; +#X obj 36 290 rectangle 6 4; +#X obj 36 245 gemhead 20; +#X obj 36 326 gemhead 30; +#X obj 287 273 gemhead 60; +#X obj 556 197 gemhead 70; +#X obj 640 401 random 4; +#X obj 551 426 translateXYZ; +#X obj 574 402 random 4; +#X obj 644 445 random 4; +#X obj 588 446 random 4; +#X obj 551 468 rectangle; +#X obj 551 270 gemhead 80; +#X obj 574 336 random 100; +#X obj 574 380 t b; +#X obj 551 314 t a b; +#X obj 795 452 random 4; +#X obj 706 477 translateXYZ; +#X obj 729 453 random 4; +#X obj 809 498 random 4; +#X obj 743 499 random 4; +#X obj 706 522 rectangle; +#X obj 729 387 random 100; +#X obj 729 430 t b; +#X obj 729 409 moses 20; +#X obj 706 366 t a b; +#X obj 706 343 colorRGB 0 0 1; +#X obj 551 292 colorRGB 1 1 0; +#X obj 574 357 moses 5; +#X obj 556 220 gems.win.view 0 0.5 0.5 0.5; +#X obj 292 223 gems.win.view 0.5 0 0.5 1; +#X msg 290 247 set 80; +#X msg 343 247 set 60; +#X obj 431 161 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -195568 +-1 -1 0 1; +#X obj 371 199 hsl 50 15 0 1 0 0 empty empty empty -2 -8 0 10 -195568 +-1 -1 2500 1; +#X obj 514 163 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -195568 +-1 -1 0 1; +#X obj 456 199 hsl 50 15 0 1 0 0 empty empty empty -2 -8 0 10 -195568 +-1 -1 0 1; +#X obj 36 197 gemhead 10; +#X obj 36 219 gems.win.view 0 0 0.5 0.5; +#X text 23 165 First view port; +#X text 281 164 Second view port; +#X text 544 162 Third view port; +#X text 545 173 --------------------------; +#X text 22 175 --------------------------; +#X text 23 9 Description: Everything that is rendered after a gems.win.view +is clipped into a rectangle area defined with its lower corner location +and its dimensions.; +#X text 208 80 The lower corner position coordonates are normalized +from 0 to 1 \, and its dimensions as well. A view port starting at +corner 0 0 with dimensions of 1 1 fills the whole screen.; +#X obj 706 321 gemhead 90; +#X text 444 9 Author: Alexandre Quessy; +#X obj 37 523 circle 0.5; +#X text 395 246 <-- Changing the rendering order of a gem chain may +change its view port.; +#X text 281 176 ------------------------; +#X text 627 206 Gem chain after it in a glViewport; +#X text 624 194 <-- The rendering order puts every; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 8 0 12 0; +#X connect 9 0 28 0; +#X connect 10 0 8 1; +#X connect 10 0 8 2; +#X connect 10 0 8 3; +#X connect 11 0 12 3; +#X connect 12 0 13 0; +#X connect 13 0 29 0; +#X connect 14 0 64 0; +#X connect 15 0 9 0; +#X connect 16 0 20 0; +#X connect 17 0 31 0; +#X connect 18 0 17 3; +#X connect 19 0 17 0; +#X connect 19 1 18 0; +#X connect 20 0 33 0; +#X connect 21 0 25 0; +#X connect 23 0 25 1; +#X connect 24 0 27 0; +#X connect 25 0 13 1; +#X connect 26 0 24 0; +#X connect 27 0 23 0; +#X connect 28 0 8 0; +#X connect 28 1 10 0; +#X connect 28 1 11 0; +#X connect 28 1 21 0; +#X connect 28 2 10 1; +#X connect 28 2 11 1; +#X connect 28 2 21 1; +#X connect 29 0 22 0; +#X connect 30 0 26 0; +#X connect 31 0 16 0; +#X connect 31 1 32 0; +#X connect 31 2 32 1; +#X connect 32 0 16 3; +#X connect 33 0 82 0; +#X connect 34 0 35 0; +#X connect 36 0 34 0; +#X connect 37 0 19 0; +#X connect 38 0 15 0; +#X connect 39 0 63 0; +#X connect 40 0 41 2; +#X connect 41 0 45 0; +#X connect 42 0 41 1; +#X connect 43 0 45 2; +#X connect 44 0 45 1; +#X connect 46 0 61 0; +#X connect 47 0 62 0; +#X connect 48 0 42 0; +#X connect 48 0 40 0; +#X connect 48 0 44 0; +#X connect 48 0 43 0; +#X connect 49 0 41 0; +#X connect 49 1 47 0; +#X connect 50 0 51 2; +#X connect 51 0 55 0; +#X connect 52 0 51 1; +#X connect 53 0 55 2; +#X connect 54 0 55 1; +#X connect 56 0 58 0; +#X connect 57 0 52 0; +#X connect 57 0 50 0; +#X connect 57 0 54 0; +#X connect 57 0 53 0; +#X connect 58 0 57 0; +#X connect 59 0 51 0; +#X connect 59 1 56 0; +#X connect 60 0 59 0; +#X connect 61 0 49 0; +#X connect 62 0 48 0; +#X connect 65 0 38 0; +#X connect 66 0 38 0; +#X connect 67 0 64 2; +#X connect 68 0 64 1; +#X connect 69 0 64 4; +#X connect 70 0 64 3; +#X connect 71 0 72 0; +#X connect 80 0 60 0; diff --git a/gems.win.view.pd b/gems.win.view.pd new file mode 100644 index 0000000..a750652 --- /dev/null +++ b/gems.win.view.pd @@ -0,0 +1,61 @@ +#N canvas 786 388 652 454 10; +#X obj 27 281 GEMglViewport 0 0 320 240; +#X obj 62 64 init.df \$1 0; +#X obj 60 39 inlet; +#X obj 154 38 inlet; +#X obj 249 39 inlet; +#X obj 343 38 inlet; +#X obj 156 63 init.df \$2 0; +#X obj 249 64 init.df \$3 1; +#X obj 345 63 init.df \$4 1; +#X obj 481 73 r gems.win/state; +#X obj 482 98 route dimen; +#X obj 484 151 unpack f f; +#X obj 30 396 outlet gem; +#X obj 13 10 inlet gem; +#X obj 72 127 * 1; +#X obj 149 125 * 1; +#X obj 253 141 * 1; +#X obj 330 139 * 1; +#X obj 155 190 clip 0 9000; +#X obj 52 190 clip 0 9000; +#X obj 353 214 clip 1 9000; +#X obj 250 214 clip 1 9000; +#X obj 452 119 t b a; +#X obj 439 28 t b; +#X obj 441 6 loadbang; +#X connect 0 0 12 0; +#X connect 1 0 14 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 15 0; +#X connect 7 0 16 0; +#X connect 8 0 17 0; +#X connect 9 0 10 0; +#X connect 10 0 22 0; +#X connect 11 0 14 1; +#X connect 11 0 16 1; +#X connect 11 0 21 2; +#X connect 11 0 19 2; +#X connect 11 1 15 1; +#X connect 11 1 17 1; +#X connect 11 1 20 2; +#X connect 11 1 18 2; +#X connect 13 0 0 0; +#X connect 14 0 19 0; +#X connect 15 0 18 0; +#X connect 16 0 21 0; +#X connect 17 0 20 0; +#X connect 18 0 0 2; +#X connect 19 0 0 1; +#X connect 20 0 0 4; +#X connect 21 0 0 3; +#X connect 22 0 23 0; +#X connect 22 1 11 0; +#X connect 23 0 1 0; +#X connect 23 0 6 0; +#X connect 23 0 7 0; +#X connect 23 0 8 0; +#X connect 24 0 23 0; diff --git a/gems.write-help.pd b/gems.write-help.pd new file mode 100644 index 0000000..c37d8e8 --- /dev/null +++ b/gems.write-help.pd @@ -0,0 +1,89 @@ +#N canvas 461 77 690 628 10; +#X obj 480 562 square; +#X obj 480 537 color 1 0 0; +#X obj 482 504 rotateXYZ 0 0 0; +#X obj 566 483 count.iter; +#X obj 566 457 t b; +#X obj 484 422 gemhead 200; +#X obj 452 76 gems.win @dimen 320 240; +#X obj 158 44 tgl 50 0 empty empty empty 17 7 0 10 -258113 -1 -1 0 +1; +#X obj 452 19 tgl 50 0 empty empty empty 17 7 0 10 -191407 -1 -1 1 +1; +#X text 221 30 Wraps pix_write; +#X msg 151 164 quality \$1; +#X floatatom 151 142 5 0 0 0 - - -; +#X obj 239 166 pack f f; +#X obj 260 138 t b f; +#X floatatom 277 118 5 0 0 0 - - -; +#X floatatom 233 117 5 0 0 0 - - -; +#X msg 238 188 position \$1 \$2; +#X obj 338 165 pack f f; +#X obj 359 137 t b f; +#X floatatom 376 117 5 0 0 0 - - -; +#X floatatom 332 116 5 0 0 0 - - -; +#X msg 337 187 size \$1 \$2; +#X text 111 318 The "rate " argument/message sets it so that it +records only every n frames; +#X msg 446 259 rate \$1; +#X floatatom 449 239 5 0 0 0 - - -; +#X msg 365 251 type jpeg; +#X msg 362 228 type tiff; +#X text 111 356 Doesn't need a [gemhead]; +#X obj 111 534 pix_texture; +#X obj 111 563 rectangle 5.33333 4; +#X obj 172 446 file.path.top; +#X obj 111 499 gems.getsize; +#X obj 202 531 * 4; +#X msg 172 425 medias/images/img0.jpg; +#X obj 109 468 gems.images; +#X obj 171 404 loadbang; +#X obj 108 437 gemhead 3; +#X text 110 370 The following objects are just examples drawings to +be rendered and written to files.; +#X text 223 -4 Description: Takes a snapshot of the window frame buffer +and saves it as image files; +#X text 519 37 <-- 1) Create window; +#X text 220 57 <-- 2) start and stop recording; +#X text 113 588 Flags: @rguments; +#X obj 114 289 gems.write @file gems.write_example @type jpeg @quality +90 @rate 2; +#X msg 123 115 record \$1; +#X msg 56 193 save...; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 3; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 5 0 4 0; +#X connect 7 0 43 0; +#X connect 8 0 6 0; +#X connect 10 0 42 0; +#X connect 11 0 10 0; +#X connect 12 0 16 0; +#X connect 13 0 12 0; +#X connect 13 1 12 1; +#X connect 14 0 13 0; +#X connect 15 0 12 0; +#X connect 16 0 42 0; +#X connect 17 0 21 0; +#X connect 18 0 17 0; +#X connect 18 1 17 1; +#X connect 19 0 18 0; +#X connect 20 0 17 0; +#X connect 21 0 42 0; +#X connect 23 0 42 0; +#X connect 24 0 23 0; +#X connect 25 0 42 0; +#X connect 26 0 42 0; +#X connect 28 0 29 0; +#X connect 30 0 34 2; +#X connect 31 0 28 0; +#X connect 31 3 32 0; +#X connect 32 0 29 1; +#X connect 33 0 30 0; +#X connect 34 0 31 0; +#X connect 35 0 33 0; +#X connect 36 0 34 0; +#X connect 43 0 42 0; +#X connect 44 0 42 0; diff --git a/gems.write.pd b/gems.write.pd new file mode 100644 index 0000000..75a0deb --- /dev/null +++ b/gems.write.pd @@ -0,0 +1,58 @@ +#N canvas 538 22 748 517 10; +#X obj 61 445 pix_write; +#X obj 18 200 t a b; +#X obj 15 120 gemhead 1e+06; +#X obj 78 210 spigot; +#X obj 112 87 savepanel; +#X obj 441 288 pack s s 90; +#X obj 448 194 t b s; +#X obj 223 162 sel tiff; +#X msg 221 185 0; +#X obj 225 7 loadbang; +#X obj 223 28 dollarg; +#X obj 228 53 init.post.dollarg; +#X obj 80 246 count.modulo 1; +#X obj 84 270 sel 0; +#X obj 36 6 inlet; +#X obj 37 27 route write.one save...; +#X obj 43 84 t b; +#X obj 447 167 symbol gems.write.default; +#X obj 228 88 route record type quality position size file rate; +#X obj 221 140 symbol; +#X msg 421 231 symbol file; +#X obj 441 312 route symbol; +#X obj 443 339 t a; +#X connect 1 0 0 0; +#X connect 1 1 3 0; +#X connect 2 0 1 0; +#X connect 3 0 12 0; +#X connect 4 0 17 0; +#X connect 5 0 21 0; +#X connect 6 0 20 0; +#X connect 6 1 5 1; +#X connect 7 0 8 0; +#X connect 8 0 5 2; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 18 0; +#X connect 12 0 13 0; +#X connect 13 0 0 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 4 0; +#X connect 15 2 18 0; +#X connect 16 0 0 0; +#X connect 17 0 6 0; +#X connect 18 0 3 1; +#X connect 18 1 19 0; +#X connect 18 2 5 2; +#X connect 18 3 0 1; +#X connect 18 4 0 2; +#X connect 18 5 17 0; +#X connect 18 6 12 2; +#X connect 19 0 7 0; +#X connect 20 0 5 0; +#X connect 21 0 22 0; +#X connect 21 1 22 0; +#X connect 22 0 0 0; diff --git a/gui.browser-help.pd b/gui.browser-help.pd new file mode 100644 index 0000000..7ac8f8f --- /dev/null +++ b/gui.browser-help.pd @@ -0,0 +1,125 @@ +#N canvas 1024 68 1022 700 10; +#X obj 299 97 print; +#X msg 553 -27 clear; +#X msg 543 -127 label put_your_label; +#X msg 543 -98 label labelizer; +#X obj 422 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 200 18 5 0 0 0 - - -; +#X obj 234 210 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 0 0; +#X obj 52 208 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 15 -1 +-1 -258049 0; +#X obj 52 223 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 238 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 253 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 268 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 283 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 298 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 313 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 52 192 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144 +0; +#X text 547 -146 Change the label; +#X text 552 -42 Clear the browser; +#X msg 567 -68 will_be_shown will_be_output \, bang; +#X floatatom 655 7 5 0 0 1 size - -; +#X msg 563 134 colorRGB 0 255 0; +#X text 667 110 Change the color of the next entry; +#X msg 560 111 colorRGB 0 0 255; +#X obj 562 51 pack 0 10; +#X obj 616 26 t b a; +#X floatatom 540 24 5 0 2 1 font - -; +#X msg 562 74 text.font \$1 \$2; +#X text 46 409 Clicking on the grey bar will output a bang at gui.browser's +right outlet.; +#X msg 567 172 select.colorRGB 125 125 125; +#X text 748 170 Change the select color; +#X text 45 335 To include this browser GUI in your own GOP abstraction +\, copy the above graphical objects to your patch. Then create a [gui.browser +\$0]. You may modify the graphical details \, but do not change the +number of elements or the names of the internal sends and receives +of the gui objects.; +#N canvas 57 37 924 659 ADDING_CONTENT 0; +#X msg 34 -68 bob; +#X obj 29 363 bng 15 250 50 0 empty empty empty 0 -6 0 8 -4034 -1 -1 +; +#X msg 75 -66 mom; +#X obj 221 289 openpanel; +#X obj 221 262 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 243 260 Add a file; +#X text 18 -147 There are three modes to adding content:; +#X obj 29 406 cnv 15 400 30 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X text 127 133 FILE MODE; +#X msg 221 319 file \$1; +#X text 42 407 Everytime you change the content \, you must send a +bang to update the display!; +#X text 31 -118 PLAIN MODE; +#X text 118 152 In file mode \, only the name of the file and not the +full path is displayed. BUT \, when you select an item \, it will still +output the full path!; +#X msg 119 -66 tom; +#X text 121 -14 TAG MODE; +#X text 120 189 To use file mode \, prepend the word file to the file +path to be added.; +#X text 32 -99 In plain mode \, the message displayed and outputed +are the same.; +#X text 122 0 In tag mode \, the first element (the tag) is displayed +and the rest is outputed.; +#X msg 127 30 item_displayed items outputed; +#X msg 163 59 shown hidden; +#X obj 72 383 outlet; +#X obj 30 217 t b a; +#X text 497 181 Also \, all file paths will be split. Only the file +name will be displayed BUT the whole path will still be output!; +#X text 499 149 If the file mode is selected \, all spaces in symbols +will be displayed as "_".; +#X connect 0 0 21 0; +#X connect 1 0 20 0; +#X connect 2 0 21 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 9 0 21 0; +#X connect 13 0 21 0; +#X connect 18 0 21 0; +#X connect 19 0 21 0; +#X connect 21 0 1 0; +#X connect 21 1 20 0; +#X restore 370 -86 pd ADDING_CONTENT; +#X text 16 -13 Select items to be outputed by clicking on the gui or +by selecting by index with the left inlet.; +#X obj 342 -69 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 301 32 gui.browser \$0; +#X text 258 239 <- Use the scroll bar when there are too many items +; +#X text 34 -134 tags: gui; +#X text 36 -165 description: A little browser GUI (version to include +in your own GOP abstractions).; +#X connect 1 0 34 1; +#X connect 2 0 34 1; +#X connect 3 0 34 1; +#X connect 5 0 34 0; +#X connect 18 0 34 1; +#X connect 19 0 24 0; +#X connect 20 0 34 1; +#X connect 22 0 34 1; +#X connect 23 0 26 0; +#X connect 24 0 23 0; +#X connect 24 1 23 1; +#X connect 25 0 23 0; +#X connect 26 0 34 1; +#X connect 28 0 34 1; +#X connect 31 0 34 1; +#X connect 33 0 34 1; +#X connect 34 0 0 0; +#X connect 34 1 4 0; +#X coords 0 0 1 1 285 215 0; diff --git a/gui.browser.pd b/gui.browser.pd new file mode 100644 index 0000000..078aaa5 --- /dev/null +++ b/gui.browser.pd @@ -0,0 +1,461 @@ +#N canvas 16 0 1001 666 10; +#X obj 829 775 t f f; +#X obj 256 16 inlet; +#X obj 128 1066 outlet; +#X obj 512 348 t b f; +#X obj 769 838 abs; +#X obj 1072 891 flow.gun; +#X obj 1079 924 +; +#X obj 1117 863 - 1; +#X obj 240 547 pack s f; +#X msg 240 570 \$2 label \$1; +#X obj 1102 833 t b f f; +#X obj 267 457 -; +#X obj 7 338 spigot; +#X msg 151 330 1; +#X obj 218 475 t s b; +#X msg 234 499 0; +#X obj 34 489 -; +#X msg 40 514 \$1 label; +#X obj 489 167 +; +#X obj 1156 866 s \$0display_offset; +#X obj 652 140 r \$0display_offset; +#X obj 37 454 r \$0display_offset; +#X obj 292 351 r \$0display_offset; +#X obj 841 838 max 0; +#X obj 640 119 r \$0clicked; +#X obj 281 916 s \$0clicked; +#X obj 756 813 - 175; +#X obj 770 871 expr rint(($f1/175)*$f2); +#X msg 512 424 175; +#X obj 757 116 s \$0hradios; +#X obj 289 649 r \$0hradios; +#X msg 757 91 label \, color 112 112 0; +#X obj 644 301 r \$0highlight; +#X obj 561 950 -; +#X obj 598 884 r \$0display_offset; +#X obj 24 544 s \$0hradio; +#X obj 337 534 r \$0hradio; +#X obj 666 437 s \$0hradio; +#X obj 207 297 s \$0selected; +#X obj 477 828 r \$0selected; +#X obj 653 1077 s \$0highlight; +#X obj 214 151 s \$0reset; +#X obj 757 54 r \$0reset; +#X obj 583 916 t b f; +#X obj 511 883 f -1; +#X obj 490 922 moses 0; +#X obj 665 790 r \$0reset; +#X msg 619 839 -1; +#X obj 615 985 moses 0; +#X obj 656 1010 moses 12; +#X obj 659 1037 t f f; +#X msg 716 1046 -1; +#X msg 616 1017 -1; +#X obj 842 810 - 8; +#X msg 1074 867 8; +#N canvas 254 159 774 571 label_man 0; +#X obj 491 8 inlet label; +#X obj 291 93 symbol; +#X obj 408 91 t b b; +#X msg 450 111 symbol; +#X obj 406 70 r \$0reset; +#X obj 310 212 s \$1hider; +#X msg 282 137 label \$1; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 2 1 3 0; +#X connect 3 0 1 1; +#X connect 4 0 2 0; +#X connect 6 0 5 0; +#X restore 436 532 pd label_man; +#N canvas 1172 48 874 642 coll 1; +#X obj 16 423 outlet selected; +#X obj 733 449 outlet length; +#X obj 189 208 coll; +#C restore; +#X obj 579 114 list prepend store; +#X obj 22 13 inlet selected; +#X obj 183 23 inlet query; +#X obj 585 14 inlet add; +#X obj 587 144 list trim; +#X obj 172 419 outlet selected_index; +#X obj 542 436 outlet query_index; +#X obj 361 424 outlet query; +#X msg 116 97 0; +#X obj 277 225 f; +#X msg 255 102 1; +#X obj 109 281 demultiplex 0 1 2; +#X obj 269 288 demultiplex 0 1 2; +#X msg 395 121 length; +#X obj 492 204 r \$0reset; +#X msg 497 231 clear; +#X obj 31 77 t f b; +#X obj 186 61 t f b; +#X msg 564 233 0; +#X obj 593 85 list prepend 0; +#X msg 74 202 open; +#X obj 505 57 t b b a; +#X msg 462 123 2; +#X obj 607 347 t f f f; +#X obj 32 45 flow.wrap; +#X connect 2 0 14 0; +#X connect 2 1 15 0; +#X connect 3 0 7 0; +#X connect 4 0 27 0; +#X connect 5 0 20 0; +#X connect 6 0 24 0; +#X connect 7 0 2 0; +#X connect 11 0 12 0; +#X connect 12 0 14 1; +#X connect 12 0 15 1; +#X connect 13 0 12 0; +#X connect 14 0 0 0; +#X connect 14 1 10 0; +#X connect 14 2 26 0; +#X connect 15 0 8 0; +#X connect 15 1 9 0; +#X connect 16 0 2 0; +#X connect 17 0 18 0; +#X connect 17 0 21 0; +#X connect 18 0 2 0; +#X connect 19 0 2 0; +#X connect 19 1 11 0; +#X connect 20 0 2 0; +#X connect 20 1 13 0; +#X connect 21 0 22 1; +#X connect 22 0 3 0; +#X connect 23 0 2 0; +#X connect 24 0 16 0; +#X connect 24 1 25 0; +#X connect 24 2 22 0; +#X connect 25 0 12 0; +#X connect 26 0 1 0; +#X connect 26 1 22 1; +#X connect 26 2 27 2; +#X connect 27 0 19 0; +#X restore 196 237 pd coll; +#X obj 181 320 s \$0output; +#X obj 128 972 r \$0output; +#X obj 306 35 route bang; +#X obj 584 723 f; +#X obj 111 267 list split 1; +#X obj 185 342 list split 1; +#X obj 122 517 pack f f; +#X msg 188 80 bang; +#X msg 104 536 \$2 color -1 -1 \$1; +#X obj 368 210 list prepend -1.67772e+07; +#X obj 35 6 inlet; +#X obj 576 646 r \$0redraw; +#X obj 190 913 s \$0redraw; +#X obj 459 877 f; +#X obj 655 947 t f f; +#X obj 589 794 t b f; +#X obj 565 685 bang; +#X obj 381 996 outlet; +#X obj 373 877 b; +#X obj 1058 960 s \$0get_labels; +#X obj 30 133 r \$0get_labels; +#X obj 44 164 t f f b; +#X obj 24 111 s \$0redraw; +#X obj 984 767 r \$0updated; +#X msg 983 804 set -1; +#X obj 659 843 t b b; +#X obj 370 246 s \$0updated; +#X obj 297 239 t a b; +#X obj 243 865 t b f b; +#X obj 287 888 s \$0updated; +#X obj 901 918 change -1; +#X obj 107 105 s \$0updated; +#X obj 87 81 t b b f; +#N canvas 1233 29 815 508 radio_receives 0; +#X obj 290 32 route 0 1 2 3 4 5 6 7; +#X obj 228 4 inlet; +#X obj 651 7 inlet; +#X obj 123 91 s \$1hr_0_r; +#X obj 200 93 s \$1hr_1_r; +#X obj 274 92 s \$1hr_2_r; +#X obj 351 91 s \$1hr_3_r; +#X obj 431 91 s \$1hr_4_r; +#X obj 507 90 s \$1hr_5_r; +#X obj 581 90 s \$1hr_6_r; +#X obj 659 89 s \$1hr_7_r; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 0 2 5 0; +#X connect 0 3 6 0; +#X connect 0 4 7 0; +#X connect 0 5 8 0; +#X connect 0 6 9 0; +#X connect 0 7 10 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 2 0 6 0; +#X connect 2 0 7 0; +#X connect 2 0 8 0; +#X connect 2 0 9 0; +#X connect 2 0 10 0; +#X restore 170 682 pd radio_receives; +#N canvas 1528 395 815 508 radio_sends 0; +#X msg 229 133 0; +#X msg 313 133 1; +#X msg 358 129 2; +#X msg 397 131 3; +#X msg 427 129 4; +#X msg 469 128 5; +#X msg 517 145 6; +#X msg 555 155 7; +#X obj 373 232 outlet; +#X obj 123 93 r \$1hr_0_s; +#X obj 199 92 r \$1hr_1_s; +#X obj 274 92 r \$1hr_2_s; +#X obj 351 91 r \$1hr_3_s; +#X obj 431 91 r \$1hr_4_s; +#X obj 507 90 r \$1hr_5_s; +#X obj 583 90 r \$1hr_6_s; +#X obj 659 89 r \$1hr_7_s; +#X connect 0 0 8 0; +#X connect 1 0 8 0; +#X connect 2 0 8 0; +#X connect 3 0 8 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 9 0 0 0; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; +#X connect 14 0 5 0; +#X connect 15 0 6 0; +#X connect 16 0 7 0; +#X restore 177 806 pd radio_sends; +#X obj 436 724 r \$1slider_s; +#X obj 439 582 s \$1label_radio_r; +#X obj 598 561 s \$1slider_r; +#X obj 340 847 r \$1label_radio_s; +#X obj 450 761 flow.speed.limit 100; +#N canvas 1569 380 566 539 DISPLAY_MODES 0; +#X obj 98 29 inlet; +#X obj 146 485 outlet; +#X obj 98 147 list trim; +#X obj 98 177 route file; +#X obj 227 301 list.split 1; +#X obj 141 436 convert.list2symbol _; +#X obj 42 302 file.path.split; +#X obj 156 363 convert.symbol2list; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 3 1 4 0; +#X connect 4 0 7 0; +#X connect 5 0 1 0; +#X connect 6 1 7 0; +#X connect 7 0 5 0; +#X restore 312 416 pd DISPLAY_MODES; +#N canvas 1569 380 566 539 OUTPUT_MODES 0; +#X obj 98 29 inlet; +#X obj 125 488 outlet; +#X obj 98 147 list trim; +#X obj 257 367 list trim; +#X obj 98 177 route file; +#X obj 287 280 route bang; +#X obj 361 305 t a b; +#X obj 211 320 spigot; +#X msg 394 331 0; +#X msg 289 305 1; +#X obj 207 254 list.split 1; +#X obj 10 227 convert.list2symbol; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 11 0; +#X connect 4 1 10 0; +#X connect 5 0 9 0; +#X connect 5 1 6 0; +#X connect 6 0 3 0; +#X connect 6 1 8 0; +#X connect 7 0 3 0; +#X connect 8 0 7 1; +#X connect 9 0 7 1; +#X connect 10 0 7 0; +#X connect 10 1 5 0; +#X connect 11 0 1 0; +#X restore 128 1019 pd OUTPUT_MODES; +#N canvas 0 0 812 389 text.size 0; +#X obj 138 208 s \$1hr_0_r; +#X obj 215 210 s \$1hr_1_r; +#X obj 289 209 s \$1hr_2_r; +#X obj 366 208 s \$1hr_3_r; +#X obj 446 208 s \$1hr_4_r; +#X obj 522 207 s \$1hr_5_r; +#X obj 596 207 s \$1hr_6_r; +#X obj 674 206 s \$1hr_7_r; +#X obj 191 26 inlet; +#X obj 233 131 t a; +#X msg 201 71 label_font \$1 \$2; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 9 0 1 0; +#X connect 9 0 2 0; +#X connect 9 0 3 0; +#X connect 9 0 4 0; +#X connect 9 0 5 0; +#X connect 9 0 6 0; +#X connect 9 0 7 0; +#X connect 10 0 9 0; +#X restore 592 167 pd text.size; +#X obj 551 208 convert.rgb2num 8bit; +#X obj 237 62 route clear label color text.font colorRGB select.colorRGB +; +#X obj 752 343 convert.rgb2num 8bit; +#X obj 695 180 t b a; +#X msg 666 410 \$1 color -1 -1 \$2; +#X obj 764 260 loadbang; +#X msg 763 297 255 0 0; +#X obj 677 373 pack f f; +#X obj 44 37 route bang; +#N canvas 1447 500 563 428 convertBadSpacesTo_ 0; +#X obj 56 22 inlet; +#X obj 56 393 outlet; +#X obj 56 58 route file; +#X obj 56 141 convert.symbol2list; +#X obj 56 193 list prepend file; +#X obj 225 110 list.split 1; +#X obj 225 145 convert.symbol2list; +#X obj 391 144 convert.symbol2list; +#X obj 225 172 convert.list2symbol _; +#X obj 323 236 list append; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 5 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 8 0; +#X connect 7 0 9 1; +#X connect 8 0 9 0; +#X connect 9 0 1 0; +#X restore 540 93 pd convertBadSpacesTo_; +#X connect 0 0 53 0; +#X connect 1 0 59 0; +#X connect 3 1 0 0; +#X connect 4 0 27 0; +#X connect 5 0 6 0; +#X connect 6 0 76 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 90 0; +#X connect 10 0 54 0; +#X connect 10 1 7 0; +#X connect 10 2 19 0; +#X connect 11 0 8 1; +#X connect 11 0 63 1; +#X connect 12 0 16 0; +#X connect 13 0 12 1; +#X connect 14 0 8 0; +#X connect 14 1 15 0; +#X connect 15 0 12 1; +#X connect 16 0 17 0; +#X connect 17 0 35 0; +#X connect 18 0 56 0; +#X connect 20 0 18 1; +#X connect 21 0 16 1; +#X connect 22 0 11 1; +#X connect 23 0 27 1; +#X connect 24 0 18 0; +#X connect 26 0 4 0; +#X connect 27 0 87 0; +#X connect 28 0 94 0; +#X connect 30 0 90 1; +#X connect 31 0 29 0; +#X connect 32 0 107 0; +#X connect 33 0 71 0; +#X connect 34 0 43 0; +#X connect 36 0 90 0; +#X connect 39 0 70 1; +#X connect 42 0 31 0; +#X connect 43 0 44 0; +#X connect 43 1 33 1; +#X connect 44 0 45 0; +#X connect 45 1 33 0; +#X connect 46 0 82 0; +#X connect 47 0 44 1; +#X connect 47 0 70 1; +#X connect 48 0 52 0; +#X connect 48 1 49 0; +#X connect 49 0 50 0; +#X connect 49 1 51 0; +#X connect 50 0 40 0; +#X connect 53 0 23 0; +#X connect 54 0 5 0; +#X connect 56 0 61 0; +#X connect 56 1 38 0; +#X connect 56 2 62 0; +#X connect 56 3 11 0; +#X connect 56 4 3 0; +#X connect 58 0 98 0; +#X connect 59 0 28 0; +#X connect 59 1 101 0; +#X connect 60 0 72 0; +#X connect 61 1 57 0; +#X connect 62 0 63 0; +#X connect 62 1 97 0; +#X connect 63 0 65 0; +#X connect 64 0 41 0; +#X connect 65 0 90 0; +#X connect 66 0 84 0; +#X connect 67 0 108 0; +#X connect 68 0 73 0; +#X connect 70 0 44 0; +#X connect 71 0 48 0; +#X connect 72 0 70 0; +#X connect 72 1 26 0; +#X connect 73 0 60 0; +#X connect 75 0 74 0; +#X connect 77 0 78 0; +#X connect 78 0 12 0; +#X connect 78 1 56 1; +#X connect 78 2 13 0; +#X connect 80 0 81 0; +#X connect 81 0 87 0; +#X connect 82 0 47 0; +#X connect 82 1 81 0; +#X connect 84 0 56 2; +#X connect 84 1 83 0; +#X connect 85 0 69 0; +#X connect 85 1 25 0; +#X connect 85 2 86 0; +#X connect 87 0 10 0; +#X connect 89 0 79 0; +#X connect 89 1 88 0; +#X connect 89 2 56 0; +#X connect 91 0 85 0; +#X connect 92 0 96 0; +#X connect 95 0 75 0; +#X connect 96 0 60 0; +#X connect 97 0 14 0; +#X connect 98 0 2 0; +#X connect 100 0 66 1; +#X connect 101 0 41 0; +#X connect 101 1 55 0; +#X connect 101 2 66 1; +#X connect 101 3 99 0; +#X connect 101 4 100 0; +#X connect 101 5 103 0; +#X connect 101 6 109 0; +#X connect 102 0 107 1; +#X connect 103 0 28 0; +#X connect 103 1 102 0; +#X connect 104 0 37 0; +#X connect 105 0 106 0; +#X connect 106 0 102 0; +#X connect 107 0 104 0; +#X connect 108 1 89 0; +#X connect 109 0 66 0; +#X coords 0 0 1 1 198 138 0; diff --git a/gui.button.color-help.pd b/gui.button.color-help.pd new file mode 100644 index 0000000..fe82bc1 --- /dev/null +++ b/gui.button.color-help.pd @@ -0,0 +1,17 @@ +#N canvas 66 59 459 421 10; +#X obj 79 123 hradio 15 1 0 3 empty empty button 3 7 0 10 -1 -1 -258053 +1; +#X text 31 171 Arguments 1 to 3: color of background \, front and label +when unpressed; +#X text 30 200 Arguments 4 to 6: color of background \, front and label +when pressed; +#X text 32 225 Argument 7: release time; +#X obj 30 257 hradio 15 1 0 3 empty empty empty 3 7 0 10 -1 -13184 +-1 2; +#X obj 74 292 gui.button.color -1 -800000 -1 -1.67117e+007 -1 -1 250 +; +#X obj 36 149 gui.button.color -1 -1 -1.67117e+007 -1 -1 -1 250; +#X connect 0 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 4 0; +#X connect 6 0 0 0; diff --git a/gui.button.color.pd b/gui.button.color.pd new file mode 100644 index 0000000..07b99e4 --- /dev/null +++ b/gui.button.color.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 891 585 10; +#X obj 60 60 inlet; +#X obj 97 496 outlet; +#X obj 166 154 t b b; +#X obj 393 397 pack \$1 \$2 \$3; +#X obj 166 367 pack \$4 \$5 \$6; +#X obj 246 192 delay \$7; +#X msg 171 456 color \$1 \$2 \$3; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 4 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 1 0; diff --git a/gui.label-help.pd b/gui.label-help.pd new file mode 100644 index 0000000..cd1418b --- /dev/null +++ b/gui.label-help.pd @@ -0,0 +1,19 @@ +#N canvas 332 188 556 399 10; +#X obj 54 213 hsl 128 15 0 127 0 0 \$0s \$0r low:89dB -2 -8 0 10 -262144 +-1 -1 8900 1; +#X obj 5 97 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 5 -12 cnv 15 430 20 empty empty empty 20 12 0 14 -216438 -66577 +0; +#X obj 5 9 cnv 1 430 1 empty empty empty 4 -10 2 12 -66577 -1 0; +#X obj 5 -12 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text 18 49 Contact: patrick ( at ) 11h11.com; +#X text 18 33 Author: patrick s coulombe; +#X text 6 -9 :: gui.label ::; +#X text 19 15 Description: write gui value to label; +#X obj 251 212 gui.label \$0s \$0r 0 low dB; +#X text 23 120 Arguments: gui's send \, gui's receive \, loadbangvalue +\, label \, typeofvalue; +#X text 18 64 tags: gui; +#X text 295 -8 Version: 2009; diff --git a/gui.label.pd b/gui.label.pd new file mode 100644 index 0000000..c13c476 --- /dev/null +++ b/gui.label.pd @@ -0,0 +1,46 @@ +#N canvas 1095 197 736 442 10; +#X msg 247 390 label \$1; +#X obj 250 315 pack s s; +#X obj 269 179 int; +#X obj 306 98 del 5; +#X obj 306 77 t b; +#X obj 269 139 spigot; +#X msg 306 118 1; +#X obj 185 38 inlet; +#X obj 69 70 r \$1; +#X obj 116 419 s \$2; +#X obj 282 11 loadbang; +#X obj 283 47 t b b; +#X obj 151 180 f \$3; +#X msg 112 383 set \$1; +#X obj 268 246 symbol \$4; +#X obj 247 366 zexy/list2symbol :; +#X obj 173 66 s \$2; +#X obj 73 98 t a a; +#X obj 35 389 outlet; +#X obj 158 205 t f f; +#X obj 296 279 zexy/makesymbol %s\$5; +#X obj 269 222 t b f; +#X connect 0 0 9 0; +#X connect 1 0 15 0; +#X connect 2 0 21 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 6 0 5 1; +#X connect 7 0 16 0; +#X connect 8 0 17 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 1 4 0; +#X connect 12 0 19 0; +#X connect 13 0 9 0; +#X connect 14 0 1 0; +#X connect 15 0 0 0; +#X connect 17 0 18 0; +#X connect 17 1 5 0; +#X connect 19 0 13 0; +#X connect 19 1 2 0; +#X connect 20 0 1 1; +#X connect 21 0 14 0; +#X connect 21 1 20 0; diff --git a/gui.popup-help.pd b/gui.popup-help.pd new file mode 100644 index 0000000..d65a9f8 --- /dev/null +++ b/gui.popup-help.pd @@ -0,0 +1,31 @@ +#N canvas 630 80 450 300 10; +#N canvas 0 0 551 310 example 0; +#N canvas 70 477 605 273 1002-1 0; +#X text 77 25 This is the popup subpatch; +#X obj 144 136 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 70 167 Click here to close it.; +#X text 66 189 Or click on the toggle of the master patch.; +#X obj 137 82 tgl 15 0 \$0-1-close-tgl \$0-1-close-tgl empty 0 -6 0 +8 -262144 -1 -1 0 1; +#X text 168 81 You can as well use the send symbol -close-tgl +; +#X obj 246 142 gui.popup.close \$0-1; +#X connect 1 0 6 0; +#X connect 6 0 1 0; +#X restore 292 201 pd \$0-1; +#X obj 110 133 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 130 133 more; +#X text 83 203 It will open this subpatch :; +#X obj 217 133 gui.popup \$0-1; +#X connect 1 0 4 0; +#X connect 4 0 1 0; +#X coords 0 -1 1 1 85 60 1 100 100; +#X restore 135 111 pd example; +#X obj 181 243 tgl 15 0 \$0-1-tgl \$0-1-tgl empty 0 -6 0 8 -262144 +-1 -1 0 1; +#X text 41 227 You can also use the send/receive symbols -tgl +instead of wires :; +#X text 51 6 Several way to pop up a subpatch.; +#X text 54 25 Argument: unique id; diff --git a/gui.popup.close.pd b/gui.popup.close.pd new file mode 100644 index 0000000..e6487d7 --- /dev/null +++ b/gui.popup.close.pd @@ -0,0 +1,23 @@ +#N canvas 523 599 450 300 10; +#X obj 47 28 inlet; +#X obj 62 258 outlet; +#X obj 48 84 spigot; +#X obj 245 40 r \$1-state; +#X obj 241 263 s \$1-state; +#X obj 246 94 t b f b; +#X msg 253 134 0; +#X msg 189 126 1; +#X obj 99 32 r \$1-close-tgl; +#X obj 114 255 s \$1-close-tgl; +#X obj 116 66 init.lf 1; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 5 0 7 0; +#X connect 5 1 1 0; +#X connect 5 1 9 0; +#X connect 5 2 6 0; +#X connect 6 0 2 1; +#X connect 7 0 2 1; +#X connect 8 0 2 0; +#X connect 10 0 2 1; diff --git a/gui.popup.pd b/gui.popup.pd new file mode 100644 index 0000000..011b89c --- /dev/null +++ b/gui.popup.pd @@ -0,0 +1,42 @@ +#N canvas 790 25 460 323 10; +#X obj 244 201 pack s f; +#X obj 4 3 inlet; +#X msg 242 244 \; \$1 vis \$2; +#X obj 201 157 makesymbol pd-%s; +#X obj 210 103 symbol \$1; +#X obj 216 34 r \$1-state; +#X obj 37 125 s \$1-state; +#X obj 215 64 t b f; +#X obj 31 196 r \$1-state; +#X obj 39 297 outlet; +#X obj 28 223 t b f b; +#X msg 131 230 0; +#X msg 17 247 1; +#X obj 125 18 r \$1-tgl; +#X obj 106 300 s \$1-tgl; +#X obj 6 26 route bang; +#X msg 18 60 1; +#X msg 107 275 set \$1; +#X obj 137 101 f; +#X obj 38 90 spigot 1; +#X connect 0 0 2 0; +#X connect 1 0 15 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 7 0 4 0; +#X connect 7 1 0 1; +#X connect 8 0 10 0; +#X connect 10 0 12 0; +#X connect 10 1 9 0; +#X connect 10 1 17 0; +#X connect 10 2 11 0; +#X connect 11 0 18 0; +#X connect 12 0 18 0; +#X connect 13 0 19 0; +#X connect 15 0 16 0; +#X connect 15 1 19 0; +#X connect 16 0 19 0; +#X connect 17 0 14 0; +#X connect 18 0 19 1; +#X connect 19 0 6 0; diff --git a/gui.vsl8-help.pd b/gui.vsl8-help.pd new file mode 100644 index 0000000..853b6fc --- /dev/null +++ b/gui.vsl8-help.pd @@ -0,0 +1,60 @@ +#N canvas 0 22 1035 658 10; +#X obj 139 270 gui.vsl8 @range 0 1023; +#X floatatom 139 443 5 0 0 0 - - -; +#X floatatom 173 444 5 0 0 0 - - -; +#X floatatom 386 446 5 0 0 0 - - -; +#X floatatom 210 445 5 0 0 0 - - -; +#X floatatom 245 444 5 0 0 0 - - -; +#X floatatom 279 445 5 0 0 0 - - -; +#X floatatom 316 445 5 0 0 0 - - -; +#X floatatom 350 446 5 0 0 0 - - -; +#X obj 387 129 f; +#X msg 365 108 bang; +#X floatatom 403 107 4 55 440 0 - - -; +#X floatatom 438 129 6 440 3520 0 - - -; +#X obj 387 152 pack 0 0; +#X text 440 108 bottom-range-bound; +#X text 487 130 top-range-bound; +#X obj 274 119 pack 0 0 0; +#X obj 274 91 f; +#X msg 251 43 bang; +#X floatatom 290 41 3 0 29 0 - - -; +#X floatatom 306 61 3 0 29 0 - - -; +#X floatatom 339 77 3 0 29 0 - - -; +#X text 318 41 background; +#X text 333 61 front-color; +#X text 367 78 label-color; +#X text 261 15 preset-colors; +#X msg 387 177 range \$1 \$2; +#X msg 275 141 color \$1 \$2 \$3; +#X msg 48 180 10 20 30 40 50 60 70 80; +#X text 106 202 Inlet_1: Sets values; +#X text 16 36 Description: Eight vertical sliders; +#X text 14 55 Flags: @rguments; +#X msg 406 209 log; +#X msg 403 230 linear; +#X text 433 257 Arguments: @range \, @color; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 0 2 4 0; +#X connect 0 3 5 0; +#X connect 0 4 6 0; +#X connect 0 5 7 0; +#X connect 0 6 8 0; +#X connect 0 7 3 0; +#X connect 9 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 9 1; +#X connect 12 0 13 1; +#X connect 13 0 26 0; +#X connect 16 0 27 0; +#X connect 17 0 16 0; +#X connect 18 0 17 0; +#X connect 19 0 17 1; +#X connect 20 0 16 1; +#X connect 21 0 16 2; +#X connect 26 0 0 1; +#X connect 27 0 0 1; +#X connect 28 0 0 0; +#X connect 32 0 0 1; +#X connect 33 0 0 1; diff --git a/gui.vsl8.pd b/gui.vsl8.pd new file mode 100644 index 0000000..e7fb712 --- /dev/null +++ b/gui.vsl8.pd @@ -0,0 +1,79 @@ +#N canvas 0 22 592 638 10; +#X obj 205 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 220 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 235 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 250 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X msg 281 -17 log; +#X msg 327 -19 lin; +#X msg 363 -20 color \$1 \$2 \$3; +#X msg 220 9 range \$1 \$2; +#X obj 366 30 t a; +#X obj 265 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 280 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 295 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 310 172 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -191407 +-1 -1 0 1; +#X obj 47 -97 inlet; +#X obj 116 102 unpack f f f f f f f f; +#X obj 100 325 outlet; +#X obj 142 326 outlet; +#X obj 185 327 outlet; +#X obj 227 328 outlet; +#X obj 271 328 outlet; +#X obj 313 329 outlet; +#X obj 356 330 outlet; +#X obj 398 331 outlet; +#X obj 259 -183 inlet; +#X obj 366 -129 loadbang; +#X obj 366 -109 dollarg; +#X obj 366 -88 init.post.dollarg; +#X obj 237 -45 route range log linear color enable; +#X obj 94 3 spigot; +#X connect 0 0 15 0; +#X connect 1 0 16 0; +#X connect 2 0 17 0; +#X connect 3 0 18 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 8 0 0 0; +#X connect 8 0 1 0; +#X connect 8 0 2 0; +#X connect 8 0 3 0; +#X connect 8 0 9 0; +#X connect 8 0 10 0; +#X connect 8 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 19 0; +#X connect 10 0 20 0; +#X connect 11 0 21 0; +#X connect 12 0 22 0; +#X connect 13 0 28 0; +#X connect 14 0 0 0; +#X connect 14 1 1 0; +#X connect 14 2 2 0; +#X connect 14 3 3 0; +#X connect 14 4 9 0; +#X connect 14 5 10 0; +#X connect 14 6 11 0; +#X connect 14 7 12 0; +#X connect 23 0 27 0; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 25 1 26 1; +#X connect 26 0 27 0; +#X connect 27 0 7 0; +#X connect 27 1 4 0; +#X connect 27 2 5 0; +#X connect 27 3 6 0; +#X connect 27 4 28 1; +#X connect 28 0 14 0; +#X coords 0 -1 1 1 130 155 1 200 150; diff --git a/hardware.messenger-help.pd b/hardware.messenger-help.pd new file mode 100644 index 0000000..28180f0 --- /dev/null +++ b/hardware.messenger-help.pd @@ -0,0 +1,38 @@ +#N canvas 113 63 837 392 10; +#X text 55 22 Description: interface to the Messenger library for Arduino. +; +#X text 54 40 http://www.arduino.cc/playground/Code/Messenger; +#X msg 455 160 baud 115200; +#X msg 536 160 open 2; +#X msg 591 159 ports; +#X msg 636 158 devices; +#X msg 702 159 info; +#X obj 423 307 print INFO; +#X msg 90 175 hello world; +#X msg 117 201 1 0 0 0 0 1 0 0 0 0 1 1 0 1; +#X msg 128 222 1 0 0 0 0 1 0 0 0 0 1 1 0 0; +#X obj 90 294 print RECEIVED; +#X msg 412 159 close; +#X msg 538 235 reopen; +#X obj 92 251 hardware.messenger @baud 115200 @devicename /dev/ttyUSB0 +; +#X text 41 135 Inlet 1: messages to send. Every list is a separate +message.; +#X text 403 130 You can use all of [comport]'s messages through inlet +2; +#X text 437 252 The new message "reopen" opens the previously opened +port.; +#X text 92 316 Outlet 1: Messages received.; +#X text 492 306 Outlet 2: Debug info \, port listing.; +#X connect 2 0 14 1; +#X connect 3 0 14 1; +#X connect 4 0 14 1; +#X connect 5 0 14 1; +#X connect 6 0 14 1; +#X connect 8 0 14 0; +#X connect 9 0 14 0; +#X connect 10 0 14 0; +#X connect 12 0 14 1; +#X connect 13 0 14 1; +#X connect 14 0 11 0; +#X connect 14 1 7 0; diff --git a/hardware.messenger.pd b/hardware.messenger.pd new file mode 100644 index 0000000..9c22d73 --- /dev/null +++ b/hardware.messenger.pd @@ -0,0 +1,42 @@ +#N canvas 347 103 677 542 10; +#X obj 134 325 comport; +#X obj 134 502 outlet; +#X obj 134 395 list.build; +#X obj 346 504 outlet debug; +#X obj 134 358 sel 13 10; +#X obj 134 440 convert.int2ascii; +#X obj 130 121 convert.ascii2int 13; +#X obj 85 29 inlet; +#X obj 343 29 inlet; +#X obj 494 61 dollarg; +#X obj 494 33 loadbang; +#X obj 494 94 init.post.dollarg; +#X obj 344 180 t a a; +#X obj 457 232 list; +#X obj 457 199 b; +#X obj 457 254 list trim; +#X obj 457 279 route bang; +#X obj 343 134 relay devicename open reopen; +#X connect 0 0 4 0; +#X connect 0 1 3 0; +#X connect 2 0 5 0; +#X connect 4 0 2 0; +#X connect 4 2 2 1; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 6 0; +#X connect 8 0 17 0; +#X connect 9 0 11 0; +#X connect 9 1 11 1; +#X connect 10 0 9 0; +#X connect 11 0 17 0; +#X connect 12 0 0 0; +#X connect 12 1 13 1; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 1 0 0; +#X connect 17 0 12 0; +#X connect 17 1 12 0; +#X connect 17 2 14 0; +#X connect 17 3 0 0; diff --git a/hardware.ubw-help.pd b/hardware.ubw-help.pd new file mode 100644 index 0000000..b97c702 --- /dev/null +++ b/hardware.ubw-help.pd @@ -0,0 +1,87 @@ +#N canvas 0 0 1001 710 10; +#X msg 39 799 0 0 0 1 0 0 0 0; +#X obj 39 766 flow.prepend set; +#X obj 148 607 flow.prepend set; +#X msg 107 74 connect /dev/ttyACM0; +#X obj 109 692 route A B C D E; +#X obj 163 764 flow.prepend set; +#X obj 285 765 flow.prepend set; +#X obj 406 766 flow.prepend set; +#X obj 531 768 flow.prepend set; +#X msg 406 799 0 0 0 0 0 0 0 0; +#X msg 163 797 0 0 0 0 0 0 0 0; +#X msg 198 104 R; +#X msg 209 129 V; +#X text 258 244 Configure pic18f4550 (portA all inputs \, portB all +outputs \, portC all inputs \, portD all outputs \, portE all inputs +\, 12 analog inputs); +#X text 257 185 Configure pic18f2550 or pic18f2455 (portA all inputs +\, portB all outputs \, portC all inputs \, 12 analog inputs); +#X text 228 103 Reset; +#X text 236 126 Version; +#X obj 175 579 print UBW; +#X msg 275 331 PO B 0 1&PO B 1 1; +#X text 385 330 Set pin 0 & 1 of portB HIGH (when sending multiple +commands \, there must be no spaces before or after the '&').; +#X msg 234 158 CU 1 0; +#X text 281 157 Turns of the UBW's OK response.; +#X msg 531 801 0 0 0 0 0 0 0 0; +#X msg 284 401 T 50 1; +#X msg 288 371 T 100 0; +#X msg 285 427 T 20 0&T 20 1; +#X msg 252 216 configuration 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 +1 1 1 1 1 12; +#X msg 261 284 configuration 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 +1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 12; +#X msg 292 452 T 0 0&T 0 1; +#X text 411 592 You can use all of the UBW's commands as long as you +replace all commas by spaces instead. See the UBW's firmware D documentation +for more commands.; +#X msg 291 529 T 20 0; +#X msg 338 529 T 20 1; +#X obj 292 502 t b b; +#X obj 343 509 delay 10; +#X obj 292 482 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 286 798 1 1 0 0 0 1 0 0; +#X text 339 369 Auto-polls digitals every 100 ms; +#X text 336 397 Auto-polls analogs every 50 ms; +#X text 376 425 Auto-polls analogs and digitals every 20 ms; +#X text 372 451 Turn off auto-polling.; +#X text 399 505 Sometimes it is better to activate the auto-polling +of the digitals and analogs with a delay in between.; +#X msg 148 657; +#X obj 107 555 hardware.ubw; +#X text 77 20 Description: Interface for the UBW(http://greta.dhs.org) +; +#X connect 1 0 0 0; +#X connect 2 0 41 0; +#X connect 3 0 42 0; +#X connect 4 0 1 0; +#X connect 4 1 5 0; +#X connect 4 2 6 0; +#X connect 4 3 7 0; +#X connect 4 4 8 0; +#X connect 5 0 10 0; +#X connect 6 0 35 0; +#X connect 7 0 9 0; +#X connect 8 0 22 0; +#X connect 11 0 42 0; +#X connect 12 0 42 0; +#X connect 18 0 42 0; +#X connect 20 0 42 0; +#X connect 23 0 42 0; +#X connect 24 0 42 0; +#X connect 25 0 42 0; +#X connect 26 0 42 0; +#X connect 27 0 42 0; +#X connect 28 0 42 0; +#X connect 30 0 42 0; +#X connect 31 0 42 0; +#X connect 32 0 30 0; +#X connect 32 1 33 0; +#X connect 33 0 31 0; +#X connect 34 0 32 0; +#X connect 42 0 4 0; +#X connect 42 1 2 0; +#X connect 42 2 17 0; diff --git a/hardware.ubw.pd b/hardware.ubw.pd new file mode 100644 index 0000000..fe05f38 --- /dev/null +++ b/hardware.ubw.pd @@ -0,0 +1,146 @@ +#N canvas 139 72 915 783 10; +#X obj 51 25 inlet; +#X obj 153 306 comport; +#X obj 18 128 route float; +#X msg 9 183 open \$1; +#X msg 82 183 devicename \$1; +#X obj 82 154 symbol; +#X obj 152 492 route I A; +#X msg 198 367 32; +#X obj 152 404 list.build append; +#X obj 152 345 sel 10 13 44; +#N canvas 1344 225 867 491 parseI 0; +#X obj 25 181 convert.byte2binary; +#X obj 171 182 convert.byte2binary; +#X obj 337 179 convert.byte2binary; +#X obj 207 76 unpack f f f f f; +#X obj 214 29 inlet; +#X obj 483 179 convert.byte2binary; +#X obj 649 176 convert.byte2binary; +#X msg 23 356 A \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8; +#X obj 460 459 outlet; +#X msg 170 311 B \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8; +#X msg 338 279 C \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8; +#X msg 483 247 D \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8; +#X msg 653 213 E \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8; +#X connect 0 0 7 0; +#X connect 1 0 9 0; +#X connect 2 0 10 0; +#X connect 3 0 0 0; +#X connect 3 1 1 0; +#X connect 3 2 2 0; +#X connect 3 3 5 0; +#X connect 3 4 6 0; +#X connect 4 0 3 0; +#X connect 5 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 8 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; +#X connect 12 0 8 0; +#X restore 59 658 pd parseI; +#X obj 59 753 outlet I(DIGITALS); +#X obj 256 756 outlet A(ANALOGS); +#X obj 95 434 route bang; +#N canvas 571 343 516 522 convertCommand 0; +#X obj 33 34 inlet; +#X obj 33 482 outlet; +#X obj 149 159 list.unfold; +#X obj 33 350 list.build; +#X obj 145 205 sel 0 32 38; +#X msg 68 249 13; +#X msg 102 249 44; +#X msg 139 252 13; +#X obj 33 125 t b b a; +#X obj 33 81 convert.ascii2int; +#X connect 0 0 9 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 4 2 7 0; +#X connect 4 3 3 1; +#X connect 5 0 3 1; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 3 0; +#X connect 8 1 5 0; +#X connect 8 2 2 0; +#X connect 9 0 8 0; +#X restore 500 269 pd convertCommand; +#X obj 457 754 outlet OTHER; +#N canvas 0 0 888 609 parseConfiguration 0; +#X obj 18 20 inlet; +#X obj 25 52 t a a; +#X obj 103 94 list.length; +#X obj 103 119 sel 25 41; +#X msg 96 144 1; +#X msg 130 145 1; +#X msg 166 169 0; +#X obj 166 145 t b b; +#X obj 25 202 spigot; +#X obj 257 222 print ubw; +#X msg 257 184 ERROR...ubw was expecting either 25 or 41 floats after +the C command.; +#X obj 146 305 route list; +#X obj 59 497 list.build append; +#X obj 25 241 t b a; +#X obj 146 259 list.cut.up 8; +#X obj 146 349 convert.binary2byte; +#X obj 59 531 list prepend C; +#X obj 58 566 outlet; +#X connect 0 0 1 0; +#X connect 1 0 8 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 3 2 7 0; +#X connect 4 0 8 1; +#X connect 5 0 8 1; +#X connect 6 0 8 1; +#X connect 7 0 6 0; +#X connect 7 1 10 0; +#X connect 8 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 15 0; +#X connect 11 1 12 1; +#X connect 12 0 16 0; +#X connect 13 0 12 0; +#X connect 13 1 14 0; +#X connect 14 0 11 0; +#X connect 15 0 12 1; +#X connect 16 0 17 0; +#X restore 234 202 pd parseConfiguration; +#X obj 51 62 route connect configuration; +#X obj 234 226 t a a; +#X obj 234 273 print ubw_configuration; +#X obj 234 251 list.trim; +#X obj 152 465 convert.int2ascii; +#X connect 0 0 17 0; +#X connect 1 0 9 0; +#X connect 2 0 3 0; +#X connect 2 1 5 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 10 0; +#X connect 6 1 12 0; +#X connect 6 2 15 0; +#X connect 7 0 8 1; +#X connect 8 0 13 0; +#X connect 9 0 8 0; +#X connect 9 2 7 0; +#X connect 9 3 8 1; +#X connect 10 0 11 0; +#X connect 13 1 21 0; +#X connect 14 0 1 0; +#X connect 16 0 18 0; +#X connect 17 0 2 0; +#X connect 17 1 16 0; +#X connect 17 2 14 0; +#X connect 18 0 20 0; +#X connect 18 1 14 0; +#X connect 20 0 19 0; +#X connect 21 0 6 0; diff --git a/include/freesoundpd.py b/include/freesoundpd.py new file mode 100644 index 0000000..b2204e5 --- /dev/null +++ b/include/freesoundpd.py @@ -0,0 +1,107 @@ +"""This is an example script for the py/pyext object's threading functionality. +For threading support pyext exposes several function and variables + +- _detach([0/1]): by enabling thread detaching, threads will run in their own threads +- _priority(prio+-): you can raise or lower the priority of the current thread +- _stop({wait time in ms}): stop all running threads (you can additionally specify a wait time in ms) +- _shouldexit: this is a flag which indicates that the running thread should terminate +""" + +import os, freesoundpy +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD/Max pyext external" + +savepath = os.getcwd() +limit = 10 + +def convert2mb(nbbytes): + MB = 9.53674316 * 10e-8 + return nbbytes * MB + +class fspd(pyext._class): + """Connect to FreeSound and fetch samplings""" + + # number of inlets and outlets + _inlets=1 + _outlets=2 + + + def __init__(self,*args): + self.fs = freesoundpy.Freesound() + #arguments of [pyext freesoundpd fspd username password] + if len(args) == 2: + self.username = args[0] + self.password = args[1] + try: + self.fs.login(self.username, self.password) + print '\nConnected' + #self._outlet(1,'Connected') + except: + print '\nUsername and password error' + #self._outlet(1,'UsernamePasswordError') + + def connect_1(self,*a): + if len(a) == 2: + try: + self.fs.login(a[0], a[1]) + print '\nConnected' + #self._outlet(1,'Connected') + except: + print '\nUsername and password error' + #self._outlet(1,'UsernamePasswordError') + + def search_1(self,a): + print "\nSearching:",a + sfresult = self.fs.search(search=a, limit=limit) + print len(sfresult.getElementsByTagName("sample")), "results" + + for sample in sfresult.childNodes: + if self._shouldexit: + #print "STOP" + break + if sample.nodeType == sample.ELEMENT_NODE: + info = self.fs.get_sample_info(sample.attributes["id"].value) + sfid = info.getElementsByTagName('sample')[0].attributes["id"].value + sfpreview = info.getElementsByTagName('preview')[0].firstChild.data + sfname = info.getElementsByTagName('originalFilename')[0].firstChild.data[:30] + print "\nID".ljust(8),"Username".ljust(21),"Filename".ljust(30),"Date".ljust(13),"Down".ljust(7),"SR".ljust(8),"BIT".ljust(6),"CH".ljust(6),"Length".ljust(12),"Size".ljust(9) + print sfid.strip().ljust(7) \ + ,info.getElementsByTagName('name')[0].firstChild.data[:20].strip().ljust(21) \ + ,sfname.strip().ljust(30) \ + ,info.getElementsByTagName('date')[0].firstChild.data[:-9].strip().ljust(13) \ + ,info.getElementsByTagName('downloads')[0].firstChild.data.strip().ljust(7) \ + ,info.getElementsByTagName('samplerate')[0].firstChild.data.strip().ljust(8) \ + ,info.getElementsByTagName('bitdepth')[0].firstChild.data.strip().ljust(6) \ + ,info.getElementsByTagName('channels')[0].firstChild.data.strip().ljust(6) \ + ,"%.2fs".ljust(11," ") % float(info.getElementsByTagName('duration')[0].firstChild.data[:5]) \ + ,"%.2f".ljust(9) % convert2mb(float(info.getElementsByTagName('filesize')[0].firstChild.data)) + + def preview_1(self,a): + try: + info = self.fs.get_sample_info(a) + sfurl = info.getElementsByTagName('preview')[0].firstChild.data + self._outlet(2, str(sfurl)) + except: + print("cannot find this sampling\n") + + def set_1(self,a): + global savepath + savepath = a + + def limit_1(self,a): + print '\nLimiting result to ' + str(a) + global limit + limit = a + + def get_1(self,a): + print '\nDownloading...' + try: + info = self.fs.get_sample_info(a) + sfname = info.getElementsByTagName('originalFilename')[0].firstChild.data + dwfile = savepath + '/' + sfname + self.fs.download(a, dwfile) + print 'Done:', dwfile + except: + print("Cannot download\n") diff --git a/include/freesoundpy.py b/include/freesoundpy.py new file mode 100644 index 0000000..3f57694 --- /dev/null +++ b/include/freesoundpy.py @@ -0,0 +1,118 @@ +#encoding: latin-1 + +# Aldrin +# Modular Sequencer +# Copyright (C) 2006 The Aldrin Development Team +# +# 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; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +""" +Provides an interface to the freesound web XML api. +""" + +import urllib, urlparse, urllib2, cookielib +import xml.dom.minidom +import os,sys + +class Freesound: + BASE_URL = "http://www.freesound.org/" + LOGIN_URL = urlparse.urljoin(BASE_URL, "forum/login.php") + SEARCH_URL = urlparse.urljoin(BASE_URL, "searchTextXML.php") + FILEINFO_URL = urlparse.urljoin(BASE_URL, "samplesViewSingleXML.php") + DOWNLOAD_URL = urlparse.urljoin(BASE_URL, "samplesDownload.php") + + def __init__(self): + self.cj = cookielib.LWPCookieJar() + opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj)) + urllib2.install_opener(opener) + + def call_post(self, baseurl, **kargs): + url = baseurl + data = urllib.urlencode(kargs) + p = urllib2.urlopen(url,data) + return p.read() + + def make_url(self, baseurl, **kargs): + if kargs: + baseurl += '?' + urllib.urlencode(kargs) + return baseurl + + def call(self, baseurl, **kargs): + return urllib2.urlopen(self.make_url(baseurl,**kargs)).read() + + def call_stream(self, baseurl, **kargs): + return urllib2.urlopen(self.make_url(baseurl,**kargs)) + + def login(self,username,password): + self.call_post(self.LOGIN_URL, + username=username, + password=password, + redirect="../index.php", + login="login", + autologin="1") + assert self.is_logged_in() + + def is_logged_in(self): + return urllib2.urlopen(self.SEARCH_URL).info()['content-type'].startswith('text/xml') + + def get(self, url): + return urllib2.urlopen(url).read() + + def get_stream(self, url): + return urllib2.urlopen(url) + + def retrieve(self, url, filename): + conn = urllib2.urlopen(url) + outf = open(filename,'wb') + #print conn.info()['content-type'] + length = int(conn.info()['content-length']) + while length: + blocksize = min(length,8192) + data = conn.read(blocksize) + outf.write(data) + length -= blocksize + #return filename, conn.info() + return 'done' + #return urllib.urlretrieve(*args,**kargs) + + def get_sample_info(self, sampleid): + data = self.call( + self.FILEINFO_URL, + id=sampleid) + xmldoc = xml.dom.minidom.parseString(data) + assert xmldoc.documentElement.tagName == "freesound" + return xmldoc.documentElement + + def search(self,search,start=0,searchDescriptions=1,searchTags=1,searchFilenames=0,searchUsernames=0,order=1,limit=10): + data = self.call( + self.SEARCH_URL, + search=search, + searchDescriptions=searchDescriptions, + searchTags=searchTags, + searchFilenames=searchFilenames, + searchUsernames=searchUsernames, + order=order, + start=start, + limit=limit) + xmldoc = xml.dom.minidom.parseString(data) + assert xmldoc.documentElement.tagName == "freesound" + return xmldoc.documentElement + + def download(self, sampleid, *args, **kargs): + url = self.make_url(self.DOWNLOAD_URL,id=sampleid) + return self.retrieve(url, *args, **kargs) + +if __name__ == '__main__': + fs = Freesound() diff --git a/include/input.piano_.keys b/include/input.piano_.keys new file mode 100644 index 0000000..a921029 --- /dev/null +++ b/include/input.piano_.keys @@ -0,0 +1,256 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +60 +0 +62 +64 +75 +0 +61 +63 +0 +66 +68 +70 +0 +73 +0 +63 +0 +78 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +77 +0 +79 +0 +0 +0 +0 +55 +52 +51 +64 +0 +54 +56 +72 +58 +0 +61 +59 +57 +74 +76 +60 +65 +49 +67 +71 +53 +62 +50 +69 +48 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/include/mix.throws.thrower~.pd b/include/mix.throws.thrower~.pd new file mode 100644 index 0000000..2d2639e --- /dev/null +++ b/include/mix.throws.thrower~.pd @@ -0,0 +1,102 @@ +#N canvas 97 139 921 651 10; +#X obj 292 516 switch~; +#X msg 202 306 0; +#X msg 239 311 1; +#X obj 251 67 inlet add; +#X obj 585 55 inlet delete; +#X obj 498 451 outlet add; +#X obj 691 420 outlet delete; +#X obj 259 123 sel symbol; +#X obj 373 160 demultiplex 0 1; +#X msg 450 226 1; +#X obj 595 118 sel symbol; +#X obj 262 93 symbol; +#X obj 384 225 t s s b; +#X obj 598 94 symbol; +#X msg 561 235 symbol symbol; +#X obj 595 160 t b b b; +#X msg 454 115 0; +#X msg 239 162 Already there.; +#X msg 705 235 Deleting.; +#X obj 343 282 t b a b; +#X obj 67 427 line~; +#X obj 38 458 *~; +#X obj 167 396 pack f \$4; +#X obj 210 342 t f f; +#X obj 263 376 sel 0 1; +#X obj 267 432 delay \$4; +#X msg 275 460 0; +#X msg 363 417 1; +#X msg 277 401 stop; +#X obj 840 159 symbol; +#X obj 780 119 demultiplex 0 1; +#X obj 773 90 b; +#X obj 874 186 s \$2r; +#X obj 674 20 r \$2q; +#X msg 409 275 Adding.; +#X obj 737 58 route fade; +#X obj 16 175 r~ \$2s0; +#X obj 190 186 r~ \$2s1; +#X obj 25 534 throw~ \$3_0; +#X obj 116 533 throw~ \$3_1; +#X msg 362 353 set \$1_0; +#X msg 448 351 set \$1_1; +#X obj 161 432 line~; +#X obj 132 463 *~; +#X obj 120 192 r~ \$2s1; +#X connect 1 0 23 0; +#X connect 2 0 23 0; +#X connect 3 0 11 0; +#X connect 4 0 13 0; +#X connect 7 0 17 0; +#X connect 7 1 8 0; +#X connect 8 0 12 0; +#X connect 8 1 5 0; +#X connect 9 0 8 1; +#X connect 9 0 30 1; +#X connect 10 0 15 0; +#X connect 10 1 6 0; +#X connect 11 0 7 0; +#X connect 12 0 19 0; +#X connect 12 1 7 1; +#X connect 12 1 10 1; +#X connect 12 1 29 1; +#X connect 12 2 9 0; +#X connect 13 0 10 0; +#X connect 14 0 10 1; +#X connect 14 0 7 1; +#X connect 15 0 16 0; +#X connect 15 0 1 0; +#X connect 15 1 14 0; +#X connect 15 2 18 0; +#X connect 16 0 8 1; +#X connect 16 0 30 1; +#X connect 19 0 2 0; +#X connect 19 1 40 0; +#X connect 19 1 41 0; +#X connect 19 2 34 0; +#X connect 20 0 21 1; +#X connect 21 0 38 0; +#X connect 22 0 20 0; +#X connect 22 0 42 0; +#X connect 23 0 22 0; +#X connect 23 1 24 0; +#X connect 24 0 25 0; +#X connect 24 1 27 0; +#X connect 24 1 28 0; +#X connect 25 0 26 0; +#X connect 26 0 0 0; +#X connect 27 0 0 0; +#X connect 28 0 25 0; +#X connect 29 0 32 0; +#X connect 30 1 29 0; +#X connect 31 0 30 0; +#X connect 33 0 35 0; +#X connect 35 0 22 1; +#X connect 35 1 31 0; +#X connect 36 0 21 0; +#X connect 40 0 38 0; +#X connect 41 0 39 0; +#X connect 42 0 43 1; +#X connect 43 0 39 0; +#X connect 44 0 43 0; diff --git a/include/param.dump-help.pd b/include/param.dump-help.pd new file mode 100644 index 0000000..b508605 --- /dev/null +++ b/include/param.dump-help.pd @@ -0,0 +1,37 @@ +#N canvas 306 515 565 369 10; +#X text 41 13 Description: Dumps the values of a param.group or +multiple param.groups; +#X obj 42 162 param.dump; +#X msg 82 95 top; +#X msg 80 122 global; +#X obj 42 196 print; +#X text 80 195 <- You can parse the output with [flow.@parse]; +#X msg 42 70 dpd1; +#X msg 78 71 dpd2; +#X floatatom 256 234 5 0 0 0 - - -; +#X msg 256 253 param1 \$1; +#X floatatom 255 300 5 0 0 0 - - -; +#X msg 255 319 param1 \$1; +#X text 114 64 Sending a group's id will only output that group's parameters +; +#X text 116 90 Sending top will output the parameters of all the groups +that have the same "top" patch as param.dump; +#X text 128 119 Sending global will output the parameters of ALL the +groups; +#X msg 8 162 ---; +#X obj 256 278 medias/param.atom.template @id dpd1 @param1 127; +#X obj 255 341 medias/param.atom.template @id dpd2; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 2 0 15 0; +#X connect 3 0 1 0; +#X connect 3 0 15 0; +#X connect 6 0 1 0; +#X connect 6 0 15 0; +#X connect 7 0 1 0; +#X connect 7 0 15 0; +#X connect 8 0 9 0; +#X connect 9 0 16 0; +#X connect 10 0 11 0; +#X connect 11 0 17 0; +#X connect 15 0 4 0; diff --git a/include/param.dump.format-help.pd b/include/param.dump.format-help.pd new file mode 100644 index 0000000..4178ec7 --- /dev/null +++ b/include/param.dump.format-help.pd @@ -0,0 +1,43 @@ +#N canvas 51 136 607 394 10; +#X msg 82 95 top; +#X msg 80 122 global; +#X obj 42 196 print; +#X text 80 195 <- You can parse the output with [flow.@parse]; +#X floatatom 347 239 5 0 0 0 - - -; +#X msg 347 258 param1 \$1; +#X floatatom 346 305 5 0 0 0 - - -; +#X msg 346 324 param1 \$1; +#X msg 8 162 ---; +#X text 41 13 Description: Dumps the format of the values of a param.group +or multiple param.groups; +#X text 132 62 Sending a group's id will only output that group's parameter +formats; +#X text 116 90 Sending top will output the parameter formats of all +the groups that have the same "top" patch as param.dump; +#X text 128 119 Sending global will output the parameter formats of +ALL the groups; +#X obj 42 162 param.dump.format; +#X msg 42 70 dpdf1; +#X msg 88 70 dpdf2; +#X obj 347 283 medias/param.atom.template @id dpdf1; +#X obj 346 346 medias/param.atom.template @id dpdf2; +#X text 69 236 -- The param.atom.format --; +#X text 10 253 The format is identified by the last character:; +#X text 18 267 f: single float; +#X text 19 280 s: symbol; +#X text 18 293 c: choice list; +#X text 20 307 a: anything else (unsuported); +#X connect 0 0 8 0; +#X connect 0 0 13 0; +#X connect 1 0 8 0; +#X connect 1 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 16 0; +#X connect 6 0 7 0; +#X connect 7 0 17 0; +#X connect 8 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 8 0; +#X connect 14 0 13 0; +#X connect 15 0 8 0; +#X connect 15 0 13 0; diff --git a/include/param.dump.format.pd b/include/param.dump.format.pd new file mode 100644 index 0000000..4db9de2 --- /dev/null +++ b/include/param.dump.format.pd @@ -0,0 +1,30 @@ +#N canvas 0 0 789 470 10; +#X obj 153 408 outlet params; +#X obj 63 18 inlet id_queried; +#X obj 153 367 r \$0r; +#X obj 157 301 pdmtl/flow.send; +#X obj 560 108 t b a; +#X obj 35 221 symbol \$0r; +#X obj 249 148 pdmtl/init.dollar.zero.top; +#X obj 112 86 t b b; +#X msg 249 179 \$1@param.atom; +#X obj 62 79 t b b; +#X obj 63 40 route global top; +#X msg 104 171 param.atom.global; +#X msg 60 250 format \$1; +#X connect 1 0 10 0; +#X connect 2 0 0 0; +#X connect 4 0 5 0; +#X connect 4 1 3 1; +#X connect 5 0 12 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 3 1; +#X connect 9 0 5 0; +#X connect 9 1 11 0; +#X connect 10 0 9 0; +#X connect 10 1 7 0; +#X connect 10 2 4 0; +#X connect 11 0 3 1; +#X connect 12 0 3 0; diff --git a/include/param.dump.groups-help.pd b/include/param.dump.groups-help.pd new file mode 100644 index 0000000..1ee00c3 --- /dev/null +++ b/include/param.dump.groups-help.pd @@ -0,0 +1,16 @@ +#N canvas 603 319 557 298 10; +#X obj 85 125 param.dump.groups; +#X text 36 15 Description: Dumps the id's of all the parameter groups. +; +#X msg 85 87 top; +#X msg 116 87 global; +#X obj 85 152 print; +#X obj 317 167 param.group one; +#X obj 317 228 param.group two; +#X obj 432 135 loadbang; +#X obj 435 198 loadbang; +#X connect 0 0 4 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 7 0 5 2; +#X connect 8 0 6 2; diff --git a/include/param.dump.groups.pd b/include/param.dump.groups.pd new file mode 100644 index 0000000..2d322e9 --- /dev/null +++ b/include/param.dump.groups.pd @@ -0,0 +1,26 @@ +#N canvas 445 230 720 621 10; +#X obj 63 18 inlet id_queried; +#X obj 112 373 r \$0r; +#X obj 157 301 pdmtl/flow.send; +#X obj 35 221 symbol \$0r; +#X obj 249 148 pdmtl/init.dollar.zero.top; +#X obj 112 86 t b b; +#X msg 249 179 \$1@param.atom; +#X obj 62 79 t b b; +#X obj 63 40 route global top; +#X msg 105 171 param.atom.global; +#X obj 112 414 outlet ids; +#X msg 59 250 id \$1; +#X connect 0 0 8 0; +#X connect 1 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 5 1 4 0; +#X connect 6 0 2 1; +#X connect 7 0 3 0; +#X connect 7 1 9 0; +#X connect 8 0 7 0; +#X connect 8 1 5 0; +#X connect 9 0 2 1; +#X connect 11 0 2 0; diff --git a/include/param.dump.pd b/include/param.dump.pd new file mode 100644 index 0000000..0e6eb3d --- /dev/null +++ b/include/param.dump.pd @@ -0,0 +1,30 @@ +#N canvas 454 202 684 521 10; +#X obj 153 408 outlet params; +#X obj 63 18 inlet id_queried; +#X obj 153 367 r \$0r; +#X obj 560 108 t b a; +#X obj 35 221 symbol \$0r; +#X msg 59 250 dump \$1; +#X obj 112 86 t b b; +#X msg 249 179 \$1@param.atom; +#X obj 62 79 t b b; +#X obj 63 40 route global top; +#X msg 105 171 param.atom.global; +#X obj 249 148 pdmtl/init.dollar.zero.top; +#X obj 157 301 pdmtl/flow.send; +#X connect 1 0 9 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 3 1 12 1; +#X connect 4 0 5 0; +#X connect 5 0 12 0; +#X connect 6 0 4 0; +#X connect 6 1 11 0; +#X connect 7 0 12 1; +#X connect 8 0 4 0; +#X connect 8 1 10 0; +#X connect 9 0 8 0; +#X connect 9 1 6 0; +#X connect 9 2 3 0; +#X connect 10 0 12 1; +#X connect 11 0 7 0; diff --git a/include/param.fill-help.pd b/include/param.fill-help.pd new file mode 100644 index 0000000..da84162 --- /dev/null +++ b/include/param.fill-help.pd @@ -0,0 +1,29 @@ +#N canvas 0 0 583 437 10; +#X obj 47 268 medias/param.atom.template @id dpf; +#X obj 49 176 param.fill dpf; +#X msg 49 108 @param1 34 @param2 blablabla @param3 exp; +#X msg 64 132 @param1 64 @param2 foo @param3 lin; +#X obj 286 267 param.dump; +#X msg 286 242 dpf; +#X obj 286 294 flow.@parse; +#X obj 286 322 route param1 param2 param3; +#X floatatom 271 356 5 0 0 0 - - -; +#X symbolatom 327 369 10 0 0 0 - - -; +#X symbolatom 398 369 10 0 0 0 - - -; +#X obj 328 348 symbol; +#X obj 397 347 symbol; +#X text 302 122 1) Click on one of these.; +#X text 316 242 2) Click here; +#X text 41 13 Description: Fills the values of a param.group; +#X text 172 173 You can change the target param.group through +the right inlet.; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 11 0; +#X connect 7 2 12 0; +#X connect 11 0 9 0; +#X connect 12 0 10 0; diff --git a/include/param.fill.pd b/include/param.fill.pd new file mode 100644 index 0000000..80df10e --- /dev/null +++ b/include/param.fill.pd @@ -0,0 +1,14 @@ +#N canvas 2 70 450 300 10; +#X obj 36 4 inlet; +#X obj 330 18 inlet id_of_target; +#X obj 36 55 list prepend fill; +#X obj 248 170 loadbang; +#X obj 246 193 dollarg; +#X obj 36 86 pdmtl/list.trim; +#X obj 36 258 pdmtl/flow.send; +#X connect 0 0 2 0; +#X connect 1 0 6 1; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 1; +#X connect 5 0 6 0; diff --git a/include/param.get-help.pd b/include/param.get-help.pd new file mode 100644 index 0000000..059f621 --- /dev/null +++ b/include/param.get-help.pd @@ -0,0 +1,13 @@ +#N canvas 667 144 490 302 10; +#X text 41 13 Description: Gets the value of one parameter.; +#X obj 53 114 param.get; +#X obj 53 140 print value; +#X obj 51 206 medias/param.atom.template @id dpget @param1 18 @param2 +lol @param3 exp; +#X msg 53 46 dpget@param1; +#X msg 93 85 dpget@param3; +#X msg 83 66 dpget@param2; +#X connect 1 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; diff --git a/include/param.get.format-help.pd b/include/param.get.format-help.pd new file mode 100644 index 0000000..75b7d89 --- /dev/null +++ b/include/param.get.format-help.pd @@ -0,0 +1,13 @@ +#N canvas 725 149 450 300 10; +#X obj 53 140 print value; +#X text 41 13 Description: Gets the format of one parameter.; +#X obj 53 114 param.get.format; +#X obj 51 206 medias/param.atom.template @id dpgetf @param1 18 @param2 +lol @param3 exp; +#X msg 53 46 dpgetf@param1; +#X msg 83 66 dpgetf@param2; +#X msg 93 85 dpgetf@param3; +#X connect 2 0 0 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; diff --git a/include/param.get.format.pd b/include/param.get.format.pd new file mode 100644 index 0000000..5c769de --- /dev/null +++ b/include/param.get.format.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 38 22 inlet param; +#X obj 52 199 pdmtl/flow.send \$1; +#X obj 41 71 t b a; +#X obj 11 114 symbol \$0R; +#X obj 38 238 r \$0R; +#X obj 38 269 outlet; +#X msg 14 145 format \$1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 1 1; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 6 0 1 0; diff --git a/include/param.get.pd b/include/param.get.pd new file mode 100644 index 0000000..b0f0b55 --- /dev/null +++ b/include/param.get.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 38 22 inlet param; +#X obj 64 203 pdmtl/flow.send \$1; +#X obj 41 71 t b a; +#X msg 14 145 get \$1; +#X obj 11 114 symbol \$0R; +#X obj 38 238 r \$0R; +#X obj 38 269 outlet; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 1 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; diff --git a/include/process.py b/include/process.py new file mode 100644 index 0000000..6630776 --- /dev/null +++ b/include/process.py @@ -0,0 +1,25 @@ +import sys, os, time, signal, subprocess +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD pyext external" + sys.exit() + +class sub(pyext._class): + """A simple script to start and stop process""" + + # number of inlets and outlets + _inlets=1 + _outlets=1 + + def __init__(self,*args): + pass + + def start_1(self,a): + global process + process = subprocess.Popen(str(a)) + self._outlet(1, 'opening '+str(a)) + + def stop_1(self,*a): + os.kill(process.pid, signal.SIGTERM) + self._outlet(1, 'stopping process '+str(process.pid)) diff --git a/include/process.pyc b/include/process.pyc new file mode 100644 index 0000000..e72c288 Binary files /dev/null and b/include/process.pyc differ diff --git a/include/sample.bank.generator.pd b/include/sample.bank.generator.pd new file mode 100644 index 0000000..5ca381c --- /dev/null +++ b/include/sample.bank.generator.pd @@ -0,0 +1,40 @@ +#N canvas 225 47 722 695 10; +#X obj 275 413 spigot; +#X msg 299 266 1; +#X msg 333 264 0; +#X obj 43 67 r \$1_r; +#X obj 38 641 send \$1_s; +#X obj 368 270 s \$1_q; +#X msg 241 236 0; +#X msg 183 370 1 \, bang; +#X obj 146 639 s \$2_dump; +#X obj 143 585 route dump; +#X obj 42 160 route status turnon turnoff; +#X obj 197 281 spigot 1; +#X obj 192 321 t b b; +#X obj 333 220 t b b b b; +#X obj 146 612 list prepend \$3; +#X obj 112 520 pdmtl/sample.generator; +#X connect 0 0 15 0; +#X connect 1 0 0 1; +#X connect 1 0 11 1; +#X connect 2 0 0 0; +#X connect 3 0 10 0; +#X connect 6 0 0 1; +#X connect 6 0 11 1; +#X connect 7 0 15 0; +#X connect 9 0 14 0; +#X connect 10 0 15 1; +#X connect 10 1 11 0; +#X connect 10 2 13 0; +#X connect 10 3 15 0; +#X connect 11 0 12 0; +#X connect 12 0 7 0; +#X connect 12 1 6 0; +#X connect 13 0 1 0; +#X connect 13 1 2 0; +#X connect 13 2 5 0; +#X connect 13 3 1 0; +#X connect 14 0 8 0; +#X connect 15 0 4 0; +#X connect 15 1 9 0; diff --git a/include/sample.load_file_in_table.pd b/include/sample.load_file_in_table.pd new file mode 100644 index 0000000..81f1ae2 --- /dev/null +++ b/include/sample.load_file_in_table.pd @@ -0,0 +1,70 @@ +#N canvas 140 47 946 859 10; +#X obj 41 504 soundfiler; +#X obj 40 348 demultiplex 0 1; +#X obj 155 309 > 1; +#X obj 233 583 pack f f f; +#X obj 247 615 tabset; +#X msg 314 500 set \$1format; +#X obj 184 408 pack s s s; +#X msg 255 339 symbol \$1s0; +#X msg 413 363 symbol \$1s1; +#X obj 473 34 inlet table_id; +#X obj 41 382 pack s s; +#X obj 40 263 route filename samplerate channels; +#X msg -7 177 channels \, samplerate \, frames \, filename; +#X obj 63 598 symbol; +#X msg 531 526 set \$1p_s; +#X obj 39 542 t b f b; +#X msg 368 562 -1; +#X obj 337 637 tabset; +#X msg 475 623 set \$1file; +#X obj 375 746 tabset; +#X obj 65 621 t b s; +#X obj 64 689 outlet table_id; +#X msg -79 445 read -resize -maxsize 8e+06 \$1 \$2; +#X obj 260 16 inlet relative_path; +#X obj 71 17 inlet full_path; +#X obj 90 64 t b s; +#X msg 184 441 read -resize -maxsize 8e+08 \$1 \$2 \$3; +#X obj -8 230 pdmtl/file.audio.info; +#X obj 141 649 pdmtl/list.trim; +#X obj 233 692 pdmtl/convert.ascii2int; +#X connect 0 0 15 0; +#X connect 1 0 10 0; +#X connect 1 1 6 0; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 5 0 4 0; +#X connect 6 0 26 0; +#X connect 7 0 10 1; +#X connect 7 0 6 1; +#X connect 8 0 6 2; +#X connect 9 0 7 0; +#X connect 9 0 8 0; +#X connect 9 0 5 0; +#X connect 9 0 14 0; +#X connect 9 0 18 0; +#X connect 10 0 22 0; +#X connect 11 0 1 0; +#X connect 11 1 3 1; +#X connect 11 2 2 0; +#X connect 11 2 3 2; +#X connect 12 0 27 0; +#X connect 13 0 20 0; +#X connect 14 0 17 0; +#X connect 15 0 13 0; +#X connect 15 1 3 0; +#X connect 15 2 16 0; +#X connect 16 0 17 0; +#X connect 18 0 19 0; +#X connect 20 0 21 0; +#X connect 20 1 28 0; +#X connect 22 0 0 0; +#X connect 23 0 13 1; +#X connect 24 0 25 0; +#X connect 25 0 12 0; +#X connect 25 1 27 1; +#X connect 26 0 0 0; +#X connect 27 0 11 0; +#X connect 28 0 29 0; +#X connect 29 0 19 0; diff --git a/include/sample.looper.enveloppe~.pd b/include/sample.looper.enveloppe~.pd new file mode 100644 index 0000000..a812b6c --- /dev/null +++ b/include/sample.looper.enveloppe~.pd @@ -0,0 +1,31 @@ +#N canvas 0 0 682 464 10; +#X obj -29 166 *~ 1; +#X obj -71 227 /~ 64; +#X obj -62 279 min~ 1; +#X obj -4 219 -~ 1; +#X obj -3 244 /~ -64; +#X obj 14 292 min~ 1; +#X floatatom 64 194 5 0 0 0 - - -; +#X obj 72 229 * -1; +#X obj 22 110 * 1; +#X obj -107 29 inlet~; +#X obj -71 337 *~; +#X obj -58 373 outlet~; +#X obj 50 65 inlet frames; +#X obj 237 49 inlet; +#X connect 0 0 1 0; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 10 1; +#X connect 6 0 1 1; +#X connect 6 0 7 0; +#X connect 7 0 4 1; +#X connect 8 0 0 1; +#X connect 8 0 3 1; +#X connect 9 0 0 0; +#X connect 10 0 11 0; +#X connect 12 0 8 0; +#X connect 13 0 6 0; diff --git a/include/sample.looper.player~.pd b/include/sample.looper.player~.pd new file mode 100644 index 0000000..6ebeec2 --- /dev/null +++ b/include/sample.looper.player~.pd @@ -0,0 +1,327 @@ +#N canvas 72 46 1247 912 10; +#X obj 340 231 phasor~; +#X obj 348 469 wrap~; +#X obj 350 442 +~ 0; +#X msg 189 612 set \$1; +#X msg 442 612 set \$1; +#X obj 352 386 *~ 1; +#X obj 181 587 r \$0tableL; +#X obj 441 587 r \$0tableR; +#X obj 223 745 *~; +#X obj 440 735 *~; +#X obj 370 518 *~ 1; +#X obj 229 772 outlet~ l~; +#X obj 452 772 outlet~ r~; +#X obj 374 414 r \$0loop_in; +#X obj 375 363 r \$0loop_length; +#X obj 718 764 outlet~ loop_progress~; +#X msg 510 202 0; +#X obj 382 304 multiplex~ 0 1; +#X obj 134 690 *~; +#X obj 287 691 *~; +#X obj 67 457 r \$0length; +#X obj 422 459 r \$0frames; +#X obj 85 123 s \$0fade; +#X obj 222 221 r \$0sync; +#N canvas 0 0 621 578 fades 0; +#X obj 134 526 outlet~; +#X obj 301 539 outlet; +#X obj 158 435 line~; +#X obj 315 145 sel 1 0; +#X obj 301 434 line; +#X obj 394 66 loadbang; +#X obj 151 328 pack 1 10; +#X obj 414 208 r \$0kill; +#X msg 414 234 0 0; +#X obj 429 273 print looper_kill; +#X obj 151 293 * 1; +#X msg 274 173 1; +#N canvas 0 0 1247 912 gaincontrol 0; +#X obj 294 376 outlet; +#X obj 259 101 r \$0file_gain; +#X obj 346 135 r \$0autogain; +#X msg 375 267 1; +#X obj 259 187 spigot 1; +#X obj 260 142 f 1; +#X obj 359 158 t f f; +#X obj 362 190 sel 1 0; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 1 4 1; +#X connect 7 0 5 0; +#X connect 7 1 3 0; +#X restore 187 276 pd gaincontrol; +#X obj 321 68 r \$0fade; +#X obj 315 112 f 0; +#X obj 301 504 == 0; +#X obj 363 180 pack 0 50; +#X connect 2 0 0 0; +#X connect 3 0 11 0; +#X connect 3 1 16 0; +#X connect 3 2 11 0; +#X connect 4 0 15 0; +#X connect 5 0 14 0; +#X connect 6 0 2 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 2 0; +#X connect 8 0 4 0; +#X connect 10 0 6 0; +#X connect 11 0 10 0; +#X connect 12 0 10 1; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 1 0; +#X connect 16 0 2 0; +#X connect 16 0 4 0; +#X restore 593 650 pd fades; +#X obj 362 558 +~ 1; +#X obj 422 487 - 3; +#X obj 191 -66 inlet; +#X text 301 -65 speed \, loop_in \, loop_length \, start \, length +\, frames \, table \, table; +#X obj 287 -5 unpack f f f f f f s s; +#X obj 190 -21 route stop; +#X msg 85 78 0; +#X msg 179 87 1; +#X obj 520 66 s \$0length; +#X obj 340 130 r \$0length; +#X obj 692 65 s \$0tableL; +#X obj 781 65 s \$0tableR; +#X obj 608 64 s \$0frames; +#X obj 408 64 s \$0loop_length; +#X obj 317 59 s \$0loop_in; +#X obj 213 648 tabread4~; +#X obj 400 650 tabread4~; +#X obj 845 -65 inlet~; +#X obj 1006 -71 inlet~; +#X obj 189 56 t b b l; +#X obj 935 762 outlet bars; +#X obj 725 -69 inlet sync; +#X obj 727 -40 s \$0sync; +#X obj 300 80 s \$0speed; +#X obj 225 151 r \$0speed; +#X obj 314 187 *; +#X obj 609 292 phasor~; +#X obj 555 121 r \$0speed; +#N canvas 566 112 1011 758 sync 0; +#N canvas 0 0 450 300 transform/fit 0; +#X obj 16 39 inlet; +#X obj 144 588 outlet; +#X obj 349 36 inlet; +#X obj 221 214 /; +#X obj 193 365 *; +#X obj 274 156 t f f; +#X obj 346 403 /; +#X obj 325 588 outlet; +#X obj 412 581 outlet; +#X obj 167 241 t b f; +#N canvas 289 98 991 658 closestmult2 0; +#X msg 403 194 2; +#X obj 407 228 float; +#X obj 465 262 moses; +#X obj 521 193 * 2; +#X obj 506 374 -; +#X obj 406 145 t b f f; +#X obj 517 417 moses; +#X obj 529 339 t f f; +#X obj 564 361 * 0.25; +#X obj 492 480 float; +#X msg 490 448 bang; +#X msg 575 445 bang; +#X obj 581 476 float; +#X obj 606 501 / 2; +#X obj 513 286 t f f f; +#X obj 149 40 inlet; +#X obj 255 610 outlet; +#X obj 190 75 moses 1; +#X obj 66 81 /; +#X msg 75 53 1.125 \$1; +#X obj 327 534 demultiplex 0 1; +#X obj 301 82 t f b; +#X msg 403 354 1; +#X obj 226 124 t f b; +#X msg 365 355 0; +#X msg 408 578 1 \$1; +#X obj 412 605 /; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 14 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 5 1 2 1; +#X connect 5 2 4 1; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 4 0; +#X connect 7 1 8 0; +#X connect 8 0 6 1; +#X connect 9 0 20 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 20 0; +#X connect 14 0 7 0; +#X connect 14 1 9 1; +#X connect 14 2 12 1; +#X connect 15 0 17 0; +#X connect 17 0 19 0; +#X connect 17 1 21 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 1 16 0; +#X connect 21 0 5 0; +#X connect 21 1 22 0; +#X connect 22 0 20 1; +#X connect 23 0 5 0; +#X connect 23 1 24 0; +#X connect 24 0 20 1; +#X connect 25 0 26 0; +#X connect 26 0 16 0; +#X restore 257 279 pd closestmult2; +#X obj 252 305 t f f; +#X obj 131 290 f; +#X obj 377 451 t f f; +#X obj 494 584 outlet; +#X obj 472 516 /; +#X msg 446 485 1 \$1; +#X obj 216 82 t f b f f; +#X connect 0 0 5 0; +#X connect 2 0 17 0; +#X connect 3 0 9 0; +#X connect 4 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 3 0; +#X connect 5 1 6 1; +#X connect 6 0 7 0; +#X connect 9 0 12 0; +#X connect 9 1 10 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 11 1 4 1; +#X connect 12 0 4 0; +#X connect 13 0 8 0; +#X connect 13 1 16 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 17 0 12 1; +#X connect 17 2 3 1; +#X restore 201 197 pd transform/fit; +#X obj 136 -112 inlet frames; +#X obj 330 -107 inlet~; +#X obj 489 -106 inlet~; +#X obj 296 84 samplerate~; +#X obj 434 108 snapshot~; +#X obj 156 523 outlet~; +#X obj 28 -110 inlet speed; +#X obj 137 58 *; +#X obj 341 299 /; +#X obj 667 118 snapshot~; +#X obj 201 24 t f b b b; +#X obj 592 293 *; +#X obj 556 537 outlet; +#X obj 184 339 *~ 1; +#X obj 320 152 /; +#X msg 88 -43 1 \$1; +#X obj 126 -9 /; +#X obj 639 201 moses 0.5; +#X obj 710 262 - 1; +#X connect 0 3 9 0; +#X connect 0 3 14 1; +#X connect 1 0 11 0; +#X connect 2 0 5 0; +#X connect 2 0 14 0; +#X connect 3 0 10 0; +#X connect 4 0 15 0; +#X connect 5 0 9 1; +#X connect 5 0 15 1; +#X connect 7 0 16 0; +#X connect 8 0 0 0; +#X connect 9 0 12 0; +#X connect 10 0 18 0; +#X connect 11 0 8 1; +#X connect 11 1 4 0; +#X connect 11 2 5 0; +#X connect 11 3 10 0; +#X connect 12 0 13 0; +#X connect 14 0 6 0; +#X connect 15 0 0 1; +#X connect 16 0 17 0; +#X connect 17 0 8 0; +#X connect 18 0 12 1; +#X connect 18 1 19 0; +#X connect 19 0 12 1; +#X restore 632 249 pd sync; +#X obj 627 122 r \$0length; +#X obj 716 714 flow.hold~; +#X obj 335 154 convert.smp2freq; +#X obj -19 571 sample.looper.enveloppe~; +#X text -45 544 Loop enveloppe; +#X connect 0 0 17 0; +#X connect 1 0 10 0; +#X connect 2 0 1 0; +#X connect 3 0 40 0; +#X connect 4 0 41 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 4 0; +#X connect 8 0 11 0; +#X connect 9 0 12 0; +#X connect 10 0 25 0; +#X connect 13 0 2 1; +#X connect 14 0 5 1; +#X connect 16 0 0 1; +#X connect 17 0 5 0; +#X connect 17 0 55 0; +#X connect 17 0 57 0; +#X connect 18 0 8 0; +#X connect 19 0 9 0; +#X connect 20 0 57 1; +#X connect 21 0 26 0; +#X connect 23 0 17 0; +#X connect 24 0 9 1; +#X connect 24 0 8 1; +#X connect 24 1 55 1; +#X connect 25 0 40 0; +#X connect 25 0 41 0; +#X connect 26 0 10 1; +#X connect 27 0 30 0; +#X connect 29 0 48 0; +#X connect 29 1 39 0; +#X connect 29 2 38 0; +#X connect 29 4 33 0; +#X connect 29 5 37 0; +#X connect 29 6 35 0; +#X connect 29 7 36 0; +#X connect 30 0 31 0; +#X connect 30 1 44 0; +#X connect 31 0 22 0; +#X connect 32 0 22 0; +#X connect 34 0 56 0; +#X connect 40 0 18 1; +#X connect 41 0 19 1; +#X connect 42 0 53 2; +#X connect 43 0 53 3; +#X connect 44 0 32 0; +#X connect 44 1 16 0; +#X connect 44 2 29 0; +#X connect 46 0 47 0; +#X connect 49 0 50 0; +#X connect 50 0 0 0; +#X connect 51 0 17 1; +#X connect 52 0 53 0; +#X connect 53 0 51 0; +#X connect 53 1 51 1; +#X connect 54 0 53 1; +#X connect 55 0 15 0; +#X connect 56 0 50 1; +#X connect 57 0 18 0; +#X connect 57 0 19 0; diff --git a/include/sample.multi.player~.pd b/include/sample.multi.player~.pd new file mode 100644 index 0000000..2cd93ff --- /dev/null +++ b/include/sample.multi.player~.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 113 130 sample.r; +#X obj 113 169 sample.play~; +#X obj 182 128 midi.note.close; +#X obj 113 101 r \$1_\$2s; +#X obj 182 101 r \$1_\$2n; +#X obj 81 250 throw~ \$2l; +#X obj 162 248 throw~ \$2r; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 6 0; +#X connect 2 0 1 1; +#X connect 3 0 0 0; +#X connect 4 0 2 0; diff --git a/include/sample.particular.grain~.pd b/include/sample.particular.grain~.pd new file mode 100644 index 0000000..d74b1ed --- /dev/null +++ b/include/sample.particular.grain~.pd @@ -0,0 +1,149 @@ +#N canvas 212 227 945 657 10; +#X obj 286 117 inlet; +#X obj 185 540 throw~ \$1_1; +#X obj 300 543 throw~ \$1_2; +#X obj 495 474 f \$2; +#X obj 498 540 s \$1grain_done; +#X obj 492 395 sel 0 1; +#X obj 703 548 switch~; +#X obj 497 442 t b b; +#X msg 732 484 1; +#X msg 661 481 0; +#X msg 508 236 0; +#X obj 493 344 change 0; +#X obj 286 173 route kill; +#N canvas 64 25 1220 905 grain~ 1; +#X obj 77 831 outlet~; +#X obj 352 825 outlet; +#X obj 527 -48 inlet; +#X obj 83 807 *~ 1; +#X obj 82 773 *~; +#X obj 552 45 t l b; +#X msg 426 780 1; +#X obj 6 298 pack f f f; +#X text 82 304 start end ms; +#X msg 6 327 \$1 \, \$2 \$3; +#X obj 698 221 s \$0table; +#X obj 55 526 r \$0table; +#X msg 55 550 set \$1; +#X msg 310 787 0; +#X obj 174 829 outlet~; +#X obj 175 807 *~ 1; +#X obj 174 773 *~; +#X msg 135 549 set \$1; +#X obj 135 525 r \$0table1; +#X obj 768 222 s \$0table1; +#X obj 730 334 * 2; +#X obj 600 383 clip 0 1; +#X obj 615 304 - 1; +#X obj 606 346 * -2; +#X obj 738 368 clip 0 1; +#X text 622 410 PANNING; +#X obj 244 607 pdmtl/timing.curve~; +#X obj 16 430 Line~; +#X obj 315 325 / 2; +#X obj 315 354 * 0.5; +#X obj 221 447 -; +#X obj 312 381 t f f; +#X obj 552 109 unpack f f f f f f f s s; +#X obj 89 219 t f f; +#X obj 179 226 t f f; +#X obj 267 421 * 2; +#X obj 239 523 pack f f f; +#X msg 246 551 0 \, \$3 \$2 -0.5 \$3 \$1 0 0 \$2 0.5; +#X text 435 489 Grain must be at least 3 ms or it will not play it! +; +#X obj 391 270 >= 3; +#X obj 256 577 spigot; +#X obj 19 388 spigot; +#X obj 370 523 del 3; +#X obj 395 418 t f f; +#X obj 384 496 sel 0; +#X obj 328 224 t f f f f; +#X text 656 82 start(smp) end(smp) duration(ms) slope(rel) --- gain +tables; +#X obj 50 581 tabread4~; +#X obj 135 578 tabread4~; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 5 1 6 0; +#X connect 6 0 1 0; +#X connect 7 0 9 0; +#X connect 9 0 41 0; +#X connect 11 0 12 0; +#X connect 12 0 47 0; +#X connect 13 0 1 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 17 0 48 0; +#X connect 18 0 17 0; +#X connect 20 0 24 0; +#X connect 21 0 3 1; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X connect 24 0 15 1; +#X connect 26 0 4 0; +#X connect 26 0 16 0; +#X connect 27 0 47 0; +#X connect 27 0 48 0; +#X connect 27 1 13 0; +#X connect 28 0 29 0; +#X connect 29 0 31 0; +#X connect 30 0 36 0; +#X connect 31 0 35 0; +#X connect 31 1 36 1; +#X connect 32 0 33 0; +#X connect 32 1 34 0; +#X connect 32 2 45 0; +#X connect 32 3 29 1; +#X connect 32 5 36 2; +#X connect 32 6 20 0; +#X connect 32 6 22 0; +#X connect 32 7 10 0; +#X connect 32 8 19 0; +#X connect 33 0 7 0; +#X connect 34 0 7 1; +#X connect 35 0 30 1; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 39 0 43 0; +#X connect 40 0 26 0; +#X connect 41 0 27 0; +#X connect 42 0 13 0; +#X connect 43 0 44 0; +#X connect 43 1 40 1; +#X connect 43 1 41 1; +#X connect 44 0 42 0; +#X connect 45 0 7 2; +#X connect 45 1 30 0; +#X connect 45 2 28 0; +#X connect 45 3 39 0; +#X connect 47 0 4 1; +#X connect 48 0 16 1; +#X restore 259 301 pd grain~; +#X obj 596 478 del 500; +#X text 718 362 switches the grain off if the grain is not used for +500 milliseconds; +#X obj 633 428 t b b; +#X msg 710 418 stop; +#X connect 0 0 12 0; +#X connect 3 0 4 0; +#X connect 5 0 7 0; +#X connect 5 1 16 0; +#X connect 7 0 3 0; +#X connect 7 1 14 0; +#X connect 8 0 6 0; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 5 0; +#X connect 12 0 10 0; +#X connect 12 1 13 0; +#X connect 13 0 1 0; +#X connect 13 1 2 0; +#X connect 13 2 11 0; +#X connect 14 0 9 0; +#X connect 16 0 8 0; +#X connect 16 1 17 0; +#X connect 17 0 14 0; diff --git a/include/sampler.instrument-help.pd b/include/sampler.instrument-help.pd new file mode 100644 index 0000000..53f01b2 --- /dev/null +++ b/include/sampler.instrument-help.pd @@ -0,0 +1,47 @@ +#N canvas 1545 120 675 680 10; +#X obj 22 124 sampler.instrument \$0i; +#X obj 432 175 sampler.instrument.dump; +#X obj 432 209 print instrument_dump; +#X obj 432 77 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 432 104 f \$0; +#X msg 432 137 \$1i; +#X text 38 5 Description: A sampler.instrument is used in conjunction +with a sampler.sample to play back sound samples with various configurations. +; +#X text 19 87 Argument_1 (symbol): The instrument's name; +#X text 228 284 -- KEYS AND VALUES --; +#X text 133 318 start (0-1): Sets playback start point; +#X text 133 332 end (0-1): Sets playback end point; +#X text 134 348 pitch (float): Sets playback speed; +#X text 135 362 loop (0/1): Toggles loop playback; +#X text 136 377 sample (symbol): Assigns a sampler.sample to the instrument +; +#X text 136 395 vol (envelope): Assigns a volume envelope \, x range=100 +\, y range=1.; +#X text 138 422 pan (envelope): Assigns a pan envelope \, x range=100 +\, y range=1; +#X text 139 450 lookup (envelope): Assigns a lookup envelope \, x range=100 +\, y range=1; +#X obj 226 569 envgen 100 60 1 0 ; +#X msg 224 543 dump; +#X obj 326 642 print envelope; +#X text 236 486 -- ENVELOPES --; +#X text 138 501 To create envelopes compatible with a sampler.instrument +\, use the envgen external with the following creation arguments: envgen +100 60 1 0; +#X text 40 42 Comments: Play a sampler.instrument with sampler.play~ +; +#X text 16 228 key(symbol) value(anything): See the possible key and +value pairs below.; +#X text 16 201 dump taget(symbol): Dumps an instrument's settings to +a specified target.; +#X text 17 183 clear: Resets the instrument to it's default values. +; +#X text 17 166 Inlet_1 messages:; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 17 1 19 0; +#X connect 18 0 17 0; diff --git a/include/sampler.instrument.dump-help.pd b/include/sampler.instrument.dump-help.pd new file mode 100644 index 0000000..8b86891 --- /dev/null +++ b/include/sampler.instrument.dump-help.pd @@ -0,0 +1,48 @@ +#N canvas 402 64 828 483 10; +#X obj 73 172 sampler.instrument.dump; +#X obj 73 206 print instrument_dump; +#X text 80 27 Description: Dumps the settings of a sampler.instrument. +; +#X obj 372 258 sampler.instrument \$0i; +#X obj 73 74 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 73 101 f \$0; +#X msg 73 134 \$1i; +#X obj 86 397 sampler.instrument.dump; +#X obj 85 278 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 85 327 f \$0; +#X msg 85 360 \$1i; +#X obj 85 302 t b b; +#X msg 186 342 72; +#X obj 86 430 print instrument_dump; +#X msg 372 223 sample \$1s; +#X obj 399 168 sampler.sample \$0s; +#X obj 372 81 loadbang; +#X obj 372 106 t b b; +#X obj 372 201 f \$0; +#X text 246 363 You can modify the dumped data (specificly the duration +and the pitch) by sending a midi pitch to the second inlet.; +#X text 438 83 This dataflow loads a sample and assigns it to an instrument. +; +#X msg 208 143 SAMPLER; +#X text 132 124 Last inlet is default sampler name.; +#X msg 399 134 load medias/sounds/loop0.wav; +#X connect 0 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 13 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 11 0 9 0; +#X connect 11 1 12 0; +#X connect 12 0 7 1; +#X connect 14 0 3 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 17 1 23 0; +#X connect 18 0 14 0; +#X connect 21 0 0 2; +#X connect 23 0 15 0; diff --git a/include/sampler.instrument.dump.pd b/include/sampler.instrument.dump.pd new file mode 100644 index 0000000..4feb45c --- /dev/null +++ b/include/sampler.instrument.dump.pd @@ -0,0 +1,69 @@ +#N canvas 0 0 1004 682 10; +#X obj 9 -21 inlet; +#X obj 188 138 symbol; +#X obj 351 114 r \$0r; +#X obj 55 236 pack s \$0; +#X msg 55 265 \; \$1 dump \$2r; +#X obj 384 237 symbol; +#X obj 452 539 pack s s; +#X obj 16 7 t a b; +#X obj 453 333 sampler.sample.dump; +#X obj 352 146 route playback sample; +#X msg 375 546 sample \$1; +#X obj 379 298 t s s; +#N canvas 66 0 958 714 build_playback 0; +#X obj 51 33 inlet; +#X obj 51 79 unpack f f f f; +#X msg 24 582 start \$1; +#X msg 115 581 end \$1; +#X msg 221 613 pitch \$1; +#X msg 423 594 loop \$1; +#X obj 128 771 outlet; +#X obj 346 33 inlet samplerate; +#X msg 752 617 samplerate \$1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 4 0; +#X connect 1 3 5 0; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X restore 36 453 pd build_playback; +#X obj 515 367 t f f; +#X msg 542 398 frames \$1; +#X msg 452 565 tables \$1 \$2; +#X obj 974 -16 inlet default_sampler; +#X obj 4 144 makesymbol %s#%s; +#X obj 6 110 list prepend SAMPLER; +#X obj 35 642 outlet play; +#X obj 4 53 route float; +#X connect 0 0 7 0; +#X connect 1 0 3 0; +#X connect 2 0 9 0; +#X connect 3 0 4 0; +#X connect 5 0 11 0; +#X connect 6 0 15 0; +#X connect 7 0 20 0; +#X connect 8 0 6 0; +#X connect 8 1 6 1; +#X connect 8 2 13 0; +#X connect 8 3 12 1; +#X connect 9 0 12 0; +#X connect 9 1 5 0; +#X connect 9 2 19 0; +#X connect 10 0 19 0; +#X connect 11 0 10 0; +#X connect 11 1 8 0; +#X connect 12 0 19 0; +#X connect 13 1 14 0; +#X connect 14 0 19 0; +#X connect 15 0 19 0; +#X connect 16 0 18 1; +#X connect 17 0 3 0; +#X connect 18 0 17 0; +#X connect 20 0 18 0; +#X connect 20 1 1 0; diff --git a/include/sampler.instrument.pd b/include/sampler.instrument.pd new file mode 100644 index 0000000..873f567 --- /dev/null +++ b/include/sampler.instrument.pd @@ -0,0 +1,81 @@ +#N canvas 440 47 999 688 10; +#X obj 33 -3 loadbang; +#X obj 28 377 table \$1playback 4; +#X obj 161 284 send \$1playback; +#X msg 158 238 0 \$1 \$2 \$3 \$4; +#X obj 1009 335 symbol; +#X obj 274 347 tabdump \$1playback; +#X obj 415 357 list append 1 100 1; +#X obj 410 303 t b b b; +#X obj 577 364 list append 0.5 100 0.5; +#X obj 33 23 list append \$1; +#X obj 196 164 t b b; +#X msg 740 68 clear; +#X obj 745 96 sampler.sample \$1.sample; +#X obj 916 361 symbol \$1.sample; +#X obj 274 383 list prepend playback; +#X obj 431 394 list prepend vol; +#X obj 580 397 list prepend pan; +#X obj 915 399 list prepend sample; +#X obj 328 547 list trim; +#X obj 765 398 list prepend lookup; +#X msg 33 58 playback 0 1 1 0 \, envelope 1 100 1 \, sample \$1.sample +\, pan 0.5 100 0.5 \, lookup 0 100 1; +#X obj 762 365 list append 0 100 1; +#X obj 275 -102 inlet; +#X obj 216 136 route clear dump playback vol sample pan lookup name +; +#X obj 1186 193 tosymbol; +#X obj 298 246 t b b b b b a; +#X obj 1128 401 list prepend name; +#X obj 1098 121 pdmtl/flow.receive; +#X obj 1187 221 t a a; +#X obj 322 97 r \$1; +#X obj 1108 282 symbol noname; +#X obj 1223 263 sel noname; +#X obj 341 612 pdmtl/flow.send; +#X connect 0 0 9 0; +#X connect 3 0 2 0; +#X connect 4 0 13 1; +#X connect 5 0 14 0; +#X connect 6 0 15 0; +#X connect 7 0 6 0; +#X connect 7 1 8 0; +#X connect 7 2 21 0; +#X connect 8 0 16 0; +#X connect 9 0 20 0; +#X connect 10 0 9 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 13 0 17 0; +#X connect 14 0 18 0; +#X connect 15 0 18 0; +#X connect 16 0 18 0; +#X connect 17 0 18 0; +#X connect 18 0 32 0; +#X connect 19 0 18 0; +#X connect 20 0 23 0; +#X connect 21 0 19 0; +#X connect 22 0 23 0; +#X connect 23 0 10 0; +#X connect 23 1 25 0; +#X connect 23 2 3 0; +#X connect 23 3 6 1; +#X connect 23 4 4 0; +#X connect 23 5 8 1; +#X connect 23 6 21 1; +#X connect 23 7 24 0; +#X connect 24 0 28 0; +#X connect 25 1 5 0; +#X connect 25 2 7 0; +#X connect 25 3 13 0; +#X connect 25 4 30 0; +#X connect 25 5 32 1; +#X connect 26 0 18 0; +#X connect 27 0 23 0; +#X connect 28 0 30 1; +#X connect 28 1 31 0; +#X connect 29 0 23 0; +#X connect 30 0 26 0; +#X connect 31 0 27 0; +#X connect 31 1 27 0; diff --git a/include/sampler.instrument.set-help.pd b/include/sampler.instrument.set-help.pd new file mode 100644 index 0000000..55a4766 --- /dev/null +++ b/include/sampler.instrument.set-help.pd @@ -0,0 +1,54 @@ +#N canvas 601 131 839 649 10; +#X obj 81 187 sampler.instrument.set; +#X obj 467 331 sampler.instrument \$0i; +#X obj 586 184 sampler.sample \$0s; +#X obj 469 105 loadbang; +#X text 466 72 This dataflow loads a sample and assigns it to an instrument. +; +#X obj 469 133 t b b b; +#X msg 598 259 \$1i; +#X obj 598 230 f \$0; +#X obj 469 199 f \$0; +#X msg 469 223 sample \$1s; +#X text 28 124 Inlet_2: (float or symbol) instrument's name. Floats +are reserved to reference instruments inside a sample.manage abstraction. +; +#X text 114 227 -- KEYS AND VALUES --; +#X text 19 261 start (0-1): Sets playback start point; +#X text 19 275 end (0-1): Sets playback end point; +#X text 20 291 pitch (float): Sets playback speed; +#X text 21 305 loop (0/1): Toggles loop playback; +#X text 22 320 sample (symbol): Assigns a sampler.sample to the instrument +; +#X text 22 338 vol (envelope): Assigns a volume envelope \, x range=100 +\, y range=1.; +#X text 24 365 pan (envelope): Assigns a pan envelope \, x range=100 +\, y range=1; +#X text 25 393 lookup (envelope): Assigns a lookup envelope \, x range=100 +\, y range=1; +#X obj 112 512 envgen 100 60 1 0 ; +#X msg 110 486 dump; +#X obj 212 585 print envelope; +#X text 122 429 -- ENVELOPES --; +#X text 45 33 Description: Changes a sampler.instrument's settings. +; +#X text 28 98 Inlet_1: (key value) See the possible key and value pairs +below.; +#X text 24 444 To create envelopes compatible with a sampler.instrument +\, use the envgen external with the following creation arguments: envgen +100 60 1 0; +#X text 32 162 Inlet_3: (symbol) default sampler. Defaults to SAMPLER +; +#X obj 469 292 sampler.instrument.set; +#X msg 586 150 load medias/sounds/loop0.wav; +#X connect 3 0 5 0; +#X connect 5 0 8 0; +#X connect 5 1 7 0; +#X connect 5 2 29 0; +#X connect 6 0 28 1; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 9 0 28 0; +#X connect 20 1 22 0; +#X connect 21 0 20 0; +#X connect 29 0 2 0; diff --git a/include/sampler.instrument.set.pd b/include/sampler.instrument.set.pd new file mode 100644 index 0000000..023c7b6 --- /dev/null +++ b/include/sampler.instrument.set.pd @@ -0,0 +1,37 @@ +#N canvas 98 92 1272 750 10; +#X obj 340 -40 inlet instrument; +#X obj 506 630 tabwrite; +#X msg 57 374 set \$1; +#X msg 380 224 \$1 0; +#X msg 484 220 \$1 1; +#X msg 586 223 \$1 2; +#X msg 714 223 \$1 3; +#X obj 85 310 makesymbol %splayback; +#X obj 291 -8 route start end pitch loop; +#X obj 70 -49 inlet; +#X obj 68 42 route float; +#X obj 172 112 symbol; +#X obj 7 117 list prepend SAMPLER; +#X obj 642 -47 inlet default_sampler; +#X obj -5 460 makesymbol %s#%s; +#X obj 178 606 pdmtl/flow.send; +#X connect 0 0 10 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 2 0; +#X connect 8 0 3 0; +#X connect 8 1 4 0; +#X connect 8 2 5 0; +#X connect 8 3 6 0; +#X connect 8 4 15 0; +#X connect 9 0 8 0; +#X connect 10 0 12 0; +#X connect 10 1 11 0; +#X connect 11 0 7 0; +#X connect 11 0 15 1; +#X connect 12 0 14 0; +#X connect 13 0 12 1; +#X connect 14 0 15 1; diff --git a/include/sampler.play.guts~.pd b/include/sampler.play.guts~.pd new file mode 100644 index 0000000..683f205 --- /dev/null +++ b/include/sampler.play.guts~.pd @@ -0,0 +1,506 @@ +#N canvas 1024 0 999 664 10; +#X obj 268 620 outlet~; +#X obj 414 626 outlet~; +#X obj 593 624 outlet done; +#N canvas 440 70 999 664 read_tables 1; +#X obj 490 36 inlet lookup; +#X obj 280 25 inlet volume; +#X obj 405 23 inlet pan; +#X obj 444 655 tabread4~; +#X obj 605 651 tabread4~; +#X obj 591 183 -; +#X obj 520 77 t b f f; +#X obj 257 852 outlet~; +#X obj 466 855 outlet~; +#X obj 1011 34 inlet amp; +#X obj 939 846 outlet~; +#N canvas 1 47 999 664 volume&pan_control 0; +#X obj 272 474 *~; +#X obj 517 441 *~; +#X obj 273 504 *~; +#X obj 500 489 *~; +#N canvas 300 217 551 455 hold&ramp 0; +#X obj 45 2 inlet~; +#X obj 46 317 outlet~; +#X obj 348 4 inlet; +#X obj 177 141 snapshot~; +#X obj 46 249 +~; +#X obj 46 167 *~; +#X obj 93 161 line~; +#X obj 179 202 line~; +#X msg 96 125 0 0 \, 1 5; +#X msg 183 168 \$1 0 \, 0 5; +#X connect 0 0 5 0; +#X connect 0 0 3 0; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 3 0 8 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 5 1; +#X connect 7 0 4 1; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X restore 273 548 pd hold&ramp; +#N canvas 300 217 551 455 hold&ramp 0; +#X obj 45 2 inlet~; +#X obj 46 317 outlet~; +#X obj 348 4 inlet; +#X obj 177 141 snapshot~; +#X obj 46 249 +~; +#X obj 46 167 *~; +#X obj 93 161 line~; +#X obj 179 202 line~; +#X msg 96 125 0 0 \, 1 5; +#X msg 183 168 \$1 0 \, 0 5; +#X connect 0 0 5 0; +#X connect 0 0 3 0; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 3 0 8 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 5 1; +#X connect 7 0 4 1; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X restore 482 545 pd hold&ramp; +#X obj 393 504 r \$0h&r; +#X obj 182 187 *~ 0; +#X obj 504 31 inlet amp; +#X obj 887 36 inlet~ left; +#X obj 1023 50 inlet~ right; +#X obj 272 607 outlet~; +#X obj 489 597 outlet~; +#X obj 169 20 inlet~ volume; +#X obj 340 18 inlet~ pan; +#X obj 449 182 clip~ 0 0.5; +#X obj 448 274 +~ 1; +#X obj 449 215 -~ 0.5; +#X obj 449 249 *~ 2; +#X obj 369 273 +~ 1; +#X obj 370 181 clip~ 0.5 1; +#X obj 370 214 -~ 0.5; +#X obj 370 248 *~ -2; +#X connect 0 0 2 0; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 6 0 4 1; +#X connect 6 0 5 1; +#X connect 7 0 0 0; +#X connect 7 0 1 0; +#X connect 8 0 7 1; +#X connect 9 0 0 1; +#X connect 10 0 1 1; +#X connect 13 0 7 0; +#X connect 14 0 20 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 3 0; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X connect 19 0 2 1; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 19 0; +#X restore 263 727 pd volume&pan_control; +#X obj 632 17 inlet tableS; +#N canvas 0 0 999 664 tables 0; +#X obj 282 86 f \$0; +#X msg 259 129 set \$1none; +#X msg 347 129 set \$1none; +#X obj 187 216 outlet; +#X obj 297 13 inlet default; +#X msg 118 66 set \$1; +#X msg 176 65 set \$1; +#X obj 118 37 unpack s s; +#X obj 351 209 outlet; +#X obj 97 0 inlet; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 8 0; +#X connect 4 0 0 0; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 9 0 7 0; +#X restore 835 194 pd tables; +#X obj 17 199 tof/phasorshot~; +#X obj 25 439 tof/breakpoints~ 100 50; +#X obj 23 249 *~ 100; +#X obj 42 365 t b a; +#X msg 42 407 duration 100; +#X obj 318 453 tof/breakpoints~ 100 50; +#X obj 304 409 t b a; +#X msg 304 428 duration 100; +#X obj 176 444 tof/breakpoints~ 100 50; +#X obj 170 394 t b a; +#X msg 170 414 duration 100; +#X obj 483 562 +~ 0; +#X obj 371 533 *~ 0; +#X msg 72 160 0; +#X obj -24 46 *~ 0; +#X obj 705 847 outlet done; +#X obj 519 518 t f f; +#X obj 664 171 t f f; +#X obj 472 242 abs; +#X obj 1119 33 inlet pitch; +#X obj 633 44 route start end frames samplerate tables pitch; +#X obj 607 233 * -1; +#X obj 465 153 s \$0h&r; +#X obj 515 144 s \$0on; +#X obj 486 363 *; +#X obj 866 96 expr $f2/$f1; +#X obj 980 668 table \$0none; +#X msg 1133 433 stop; +#X msg 1100 596 0; +#X msg 1205 435 1; +#X obj 1057 556 t b b; +#N canvas 20 4 1004 682 numberOfBars 0; +#X obj 306 204 t f f; +#X obj 486 327 * 2; +#X obj 447 264 f; +#X obj 286 323 moses; +#X obj 278 270 * 44100; +#X obj 459 293 t f f; +#X obj 332 633 outlet; +#X obj 240 -4 inlet; +#X obj 655 44 inlet fileSamplerate; +#X msg 307 181 1; +#X obj 241 48 moses 44100; +#X obj 286 389 b; +#X obj 57 217 t f f; +#X obj 198 277 f; +#X obj 37 336 moses; +#X obj 29 283 * 44100; +#X obj 210 306 t f f; +#X msg 58 194 1; +#X obj 95 386 b; +#X obj 234 338 * 0.5; +#X obj 59 163 t b f b; +#X msg 450 -24 88201; +#X obj 308 150 t b f b; +#X obj 278 19 t f f; +#X obj 342 410 expr if (abs($f1 - $f2) > abs($f1*0.5 - $f2) \, $f1 +*0.5 \, $f1); +#X obj 350 485 pack f 44100; +#X msg 468 -1 70000; +#X msg 476 21 150000; +#X obj -1 487 expr if (abs($f1 - $f2) > abs($f1*2 - $f2) \, $f1 *2 +\, $f1); +#X obj 3 456 pack f 44100; +#X obj 345 556 expr ($f2/$f1); +#X msg 115 31 11000; +#X connect 0 0 4 0; +#X connect 0 1 2 1; +#X connect 1 0 0 0; +#X connect 2 0 5 0; +#X connect 3 0 11 0; +#X connect 3 1 24 0; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X connect 7 0 23 0; +#X connect 8 0 4 1; +#X connect 8 0 10 1; +#X connect 8 0 25 1; +#X connect 8 0 29 1; +#X connect 9 0 0 0; +#X connect 10 0 20 0; +#X connect 10 1 22 0; +#X connect 11 0 2 0; +#X connect 12 0 15 0; +#X connect 12 1 13 1; +#X connect 13 0 16 0; +#X connect 14 0 29 0; +#X connect 14 1 18 0; +#X connect 15 0 14 0; +#X connect 16 0 19 0; +#X connect 17 0 12 0; +#X connect 18 0 13 0; +#X connect 19 0 12 0; +#X connect 20 0 17 0; +#X connect 20 1 14 1; +#X connect 21 0 23 0; +#X connect 22 0 9 0; +#X connect 22 1 3 1; +#X connect 23 0 10 0; +#X connect 23 1 24 1; +#X connect 24 0 25 0; +#X connect 25 0 30 0; +#X connect 26 0 23 0; +#X connect 27 0 23 0; +#X connect 28 0 30 0; +#X connect 29 0 28 0; +#X connect 30 0 6 0; +#X connect 31 0 23 0; +#X restore 590 365 pd numberOfBars; +#X obj 96 20 +~ 1; +#X obj 890 378 t b b; +#X obj 473 279 t f f; +#X obj -23 116 multiplex~ 0 1; +#X obj 96 47 *~ 1; +#X obj -34 19 sig~ 1; +#X obj 594 339 /; +#X obj 662 289 t f f; +#X obj -4 782 outlet looped; +#X obj 193 192 == 0; +#X obj 225 44 != 0; +#X obj 448 115 t b b b b; +#X obj 153 229 demultiplex 0 1; +#X obj 103 -74 inlet timing; +#X obj -66 -44 inlet fit; +#X obj 258 -14 inlet loop; +#X obj 102 -50 symbol; +#X msg 102 -29 timing \$1; +#X obj -63 -9 != 0; +#X obj 1153 853 outlet SWITCH; +#X obj 1221 29 inlet play/stop; +#X obj 1127 214 sel 1 0; +#X obj 895 571 line~; +#X obj 1136 282 t b b b; +#X msg 1188 314 1; +#X obj 952 457 t b b; +#X obj 878 344 spigot; +#X obj 1098 178 t f f; +#X obj 277 799 *~; +#X obj 469 811 *~; +#X obj 1073 510 delay 100; +#X msg 894 523 0 90; +#X obj 936 789 multiplex~ 0 1; +#X obj 1399 23 inlet ~output _mode; +#X obj 891 670 /~; +#X obj 727 79 t f f; +#X obj 586 204 t f f; +#N canvas 0 0 807 525 calculateStart&End 0; +#X obj 255 -113 ==; +#X obj 175 98 *; +#X obj 336 83 *; +#X obj 73 -208 inlet start; +#X obj 275 -210 inlet end; +#X obj 466 -174 inlet frames; +#X obj 153 175 outlet; +#X obj 175 -170 pack; +#X obj 175 -143 t l l; +#X obj 173 -74 demultiplex 0 1; +#X obj 173 17 unpack; +#X obj 344 156 outlet; +#X msg 259 -39 0 1; +#X connect 0 0 9 1; +#X connect 1 0 6 0; +#X connect 2 0 11 0; +#X connect 3 0 7 0; +#X connect 4 0 7 1; +#X connect 5 0 1 1; +#X connect 5 0 2 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 0 0; +#X connect 9 0 10 0; +#X connect 9 1 12 0; +#X connect 10 0 1 0; +#X connect 10 1 2 0; +#X connect 12 0 10 0; +#X restore 603 96 pd calculateStart&End; +#X obj 476 616 pdmtl/flow.wrap~; +#X obj 96 -9 pdmtl/seq.timing.slave~; +#X obj 457 319 pdmtl/convert.smp2freq; +#X connect 0 0 20 0; +#X connect 1 0 17 0; +#X connect 2 0 23 0; +#X connect 3 0 11 3; +#X connect 4 0 11 4; +#X connect 5 0 82 0; +#X connect 6 0 57 0; +#X connect 6 1 5 0; +#X connect 6 2 30 0; +#X connect 9 0 11 2; +#X connect 11 0 74 0; +#X connect 11 1 75 0; +#X connect 12 0 34 0; +#X connect 13 0 3 0; +#X connect 13 1 4 0; +#X connect 14 0 16 0; +#X connect 14 0 78 0; +#X connect 14 2 58 0; +#X connect 15 0 11 0; +#X connect 16 0 15 0; +#X connect 16 0 19 0; +#X connect 16 0 22 0; +#X connect 17 0 18 0; +#X connect 17 1 15 0; +#X connect 18 0 15 0; +#X connect 19 0 26 0; +#X connect 20 0 21 0; +#X connect 20 1 19 0; +#X connect 21 0 19 0; +#X connect 22 0 11 1; +#X connect 23 0 24 0; +#X connect 23 1 22 0; +#X connect 24 0 22 0; +#X connect 25 0 84 0; +#X connect 26 0 25 0; +#X connect 27 0 14 1; +#X connect 28 0 49 0; +#X connect 30 0 25 1; +#X connect 30 1 84 1; +#X connect 31 0 5 1; +#X connect 31 1 84 2; +#X connect 32 0 48 0; +#X connect 33 0 39 1; +#X connect 34 0 83 0; +#X connect 34 1 83 1; +#X connect 34 2 81 0; +#X connect 34 3 45 1; +#X connect 34 4 13 0; +#X connect 34 5 39 0; +#X connect 35 0 26 1; +#X connect 38 0 28 1; +#X connect 39 0 53 0; +#X connect 41 0 76 0; +#X connect 42 0 65 0; +#X connect 43 0 65 0; +#X connect 44 0 13 1; +#X connect 44 1 42 0; +#X connect 45 0 50 1; +#X connect 46 0 50 0; +#X connect 47 0 29 0; +#X connect 47 1 76 0; +#X connect 48 0 86 0; +#X connect 48 1 52 0; +#X connect 49 0 14 0; +#X connect 50 0 49 1; +#X connect 51 0 28 0; +#X connect 52 0 45 0; +#X connect 53 0 38 1; +#X connect 53 1 52 1; +#X connect 55 0 58 1; +#X connect 56 0 14 2; +#X connect 56 0 55 0; +#X connect 57 1 27 0; +#X connect 57 2 36 0; +#X connect 57 3 37 0; +#X connect 58 0 54 0; +#X connect 58 1 72 0; +#X connect 59 0 62 0; +#X connect 60 0 64 0; +#X connect 61 0 56 0; +#X connect 62 0 63 0; +#X connect 63 0 85 0; +#X connect 64 0 49 0; +#X connect 66 0 73 0; +#X connect 67 0 69 0; +#X connect 67 1 71 0; +#X connect 68 0 74 1; +#X connect 68 0 75 1; +#X connect 69 0 43 0; +#X connect 69 1 41 0; +#X connect 69 2 70 0; +#X connect 70 0 68 0; +#X connect 71 0 77 0; +#X connect 71 1 76 0; +#X connect 72 0 47 0; +#X connect 73 0 72 1; +#X connect 73 1 67 0; +#X connect 74 0 7 0; +#X connect 75 0 8 0; +#X connect 76 0 44 0; +#X connect 77 0 68 0; +#X connect 78 0 10 0; +#X connect 79 0 78 0; +#X connect 80 0 78 1; +#X connect 81 0 83 2; +#X connect 81 1 80 1; +#X connect 82 0 32 0; +#X connect 82 1 35 0; +#X connect 83 0 6 0; +#X connect 83 1 31 0; +#X connect 84 0 3 0; +#X connect 84 0 4 0; +#X connect 84 0 80 0; +#X connect 85 0 46 0; +#X connect 86 0 38 0; +#X restore 324 454 pd read_tables; +#X obj 691 623 outlet~; +#X obj 307 235 route vol pan lookup; +#N canvas 0 0 640 423 parseInput 0; +#X obj 135 120 pdmtl/convert.m2speed; +#X obj 61 192 outlet; +#X obj 160 188 outlet; +#X obj 96 -49 inlet; +#X obj 98 -18 pdmtl/list.split 2; +#X obj 88 37 spigot; +#X obj 63 84 pdmtl/list.split 1; +#X obj 266 188 outlet; +#X obj 248 13 > 0; +#X obj 204 52 spigot; +#X obj 207 -10 t f f; +#X obj 261 118 / 127; +#X obj 449 172 outlet play/stop; +#X connect 0 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 10 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 6 1 0 0; +#X connect 8 0 5 1; +#X connect 8 0 9 1; +#X connect 8 0 12 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 10 1 8 0; +#X connect 11 0 7 0; +#X restore 250 65 pd parseInput; +#X text 495 440 <- CORE; +#X obj 147 492 s \$0trig; +#X obj 784 544 r \$0trig; +#X obj 862 19 inlet overridden; +#X obj 235 240 s \$0trig; +#X obj 275 167 t b a; +#X obj 636 213 route vol pan lookup; +#X obj 773 243 relay start end; +#X obj 784 617 outlet override; +#X obj 253 12 inlet input; +#X obj 459 14 inlet bank; +#X obj 308 199 sampler.instrument.dump; +#X obj 625 16 inlet timing; +#X obj 544 18 inlet fit; +#X obj 728 16 inlet loop; +#X obj 604 491 switch~; +#X obj 1010 23 inlet out~mode; +#X connect 3 0 8 0; +#X connect 3 1 0 0; +#X connect 3 2 1 0; +#X connect 3 3 2 0; +#X connect 3 4 4 0; +#X connect 3 5 22 0; +#X connect 5 0 3 3; +#X connect 5 1 3 4; +#X connect 5 2 3 5; +#X connect 5 3 3 6; +#X connect 6 0 12 0; +#X connect 6 1 3 8; +#X connect 6 2 3 7; +#X connect 6 3 3 9; +#X connect 9 0 15 0; +#X connect 10 0 13 0; +#X connect 12 0 11 0; +#X connect 12 1 18 0; +#X connect 13 0 3 3; +#X connect 13 1 3 4; +#X connect 13 2 3 5; +#X connect 13 3 14 0; +#X connect 14 0 3 6; +#X connect 14 1 3 6; +#X connect 16 0 6 0; +#X connect 17 0 18 1; +#X connect 18 0 5 0; +#X connect 19 0 3 1; +#X connect 20 0 3 0; +#X connect 21 0 3 2; +#X connect 23 0 3 10; diff --git a/include/sampler.sample-help.pd b/include/sampler.sample-help.pd new file mode 100644 index 0000000..9a25e1b --- /dev/null +++ b/include/sampler.sample-help.pd @@ -0,0 +1,21 @@ +#N canvas 1478 55 658 321 10; +#X text 49 125 clear: Resets the contents.; +#X text 48 107 load filename(symbol): Loads a sound file.; +#X text 36 25 Description: Stores a sound sample for use with sampler.instruments. +; +#X text 33 85 Inlet 1 messages:; +#X text 32 66 Argument 1: sampler.sample's name; +#X msg 432 88 load medias/sounds/loop1.wav; +#X obj 432 56 loadbang; +#X text 33 181 A sampler.sample stores the following data:; +#X text 47 214 The samplerate.; +#X text 47 226 The number of channels (only mono or stereo files are +supported).; +#X text 47 249 The size of the sample.; +#X text 47 202 The filename.; +#X obj 432 142 sampler.sample \$0s; +#X text 51 141 dump target(symbol): Sends a list containing the sample's +format to the designated target. The list has the following format: +frames samplerate channels; +#X connect 5 0 12 0; +#X connect 6 0 5 0; diff --git a/include/sampler.sample.dump-help.pd b/include/sampler.sample.dump-help.pd new file mode 100644 index 0000000..653a461 --- /dev/null +++ b/include/sampler.sample.dump-help.pd @@ -0,0 +1,27 @@ +#N canvas 1633 31 874 441 10; +#X msg 432 88 load medias/sounds/loop1.wav; +#X obj 432 56 loadbang; +#X obj 432 142 sampler.sample \$0s; +#X obj 106 238 sampler.sample.dump; +#X obj 106 186 f \$0; +#X msg 106 209 \$1s; +#X obj 106 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 46 282 print TABLEL; +#X text 32 23 Description: Dumps the format and tables of a sample +stored in a sampler.sample.; +#X obj 128 282 print TABLER; +#X obj 216 284 print FRAMES; +#X obj 298 284 print SAMPLERATE; +#X obj 407 284 print CHANNELS; +#X text 26 103 Inlet 1 messages: The name of the sampler.sample; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 7 0; +#X connect 3 1 9 0; +#X connect 3 2 10 0; +#X connect 3 3 11 0; +#X connect 3 4 12 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; diff --git a/include/sampler.sample.dump.file-help.pd b/include/sampler.sample.dump.file-help.pd new file mode 100644 index 0000000..1e1188f --- /dev/null +++ b/include/sampler.sample.dump.file-help.pd @@ -0,0 +1,20 @@ +#N canvas 438 356 780 442 10; +#X obj 101 185 sampler.sample.dump.file; +#X obj 366 208 sampler.sample \$0s; +#X obj 366 117 loadbang; +#X text 386 144 This dataflow loads a sample into a sampler.sample +; +#X obj 101 140 f \$0; +#X msg 101 161 \$1s; +#X obj 100 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 101 212 print FILENAME; +#X text 58 22 Description: Dumps the file name of a sample loaded in +a sampler.sample.; +#X msg 366 174 load medias/sounds/loop0.wav; +#X connect 0 0 7 0; +#X connect 2 0 9 0; +#X connect 4 0 5 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 9 0 1 0; diff --git a/include/sampler.sample.dump.file.pd b/include/sampler.sample.dump.file.pd new file mode 100644 index 0000000..d57d7d7 --- /dev/null +++ b/include/sampler.sample.dump.file.pd @@ -0,0 +1,20 @@ +#N canvas 81 371 596 496 10; +#X obj 31 -3 inlet; +#X obj 274 173 symbol; +#X obj 113 238 pack s \$0; +#X obj 182 321 r \$0r; +#X obj 181 372 outlet; +#X msg 113 267 \; \$1 file \$2r; +#X obj 128 81 route float bang; +#X obj 342 2 inlet default_sampler; +#X obj 55 144 list prepend SAMPLER; +#X obj 41 187 makesymbol %s#%s; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 6 0 8 0; +#X connect 6 2 1 0; +#X connect 7 0 8 1; +#X connect 8 0 9 0; +#X connect 9 0 2 0; diff --git a/include/sampler.sample.dump.pd b/include/sampler.sample.dump.pd new file mode 100644 index 0000000..397d978 --- /dev/null +++ b/include/sampler.sample.dump.pd @@ -0,0 +1,50 @@ +#N canvas 1423 241 776 633 10; +#X obj 150 367 tabdump; +#X msg 116 307 set \$1 \, bang; +#X obj 91 31 inlet; +#X obj 294 162 symbol; +#X obj 116 282 makesymbol %sdata; +#X obj 150 425 unpack f f f; +#X obj 216 589 outlet frames; +#X obj 351 594 outlet samplerate; +#X obj 489 594 outlet channels; +#X obj 365 441 t f f; +#X obj -51 596 outlet tableL; +#X obj 127 593 outlet tableR; +#X obj 133 213 t s s; +#X obj -38 481 demultiplex 0 1; +#X obj -54 523 t s s; +#X obj 86 543 t s s; +#X msg -114 550 symbol \$1L; +#X msg -5 546 symbol \$1R; +#X msg 64 514 symbol \$1L; +#X obj 94 69 route float bang; +#X obj 411 29 inlet default_sampler; +#X obj 42 135 list prepend SAMPLER; +#X obj 64 178 makesymbol %s#%s; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 19 0; +#X connect 3 0 12 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 5 2 9 0; +#X connect 9 0 8 0; +#X connect 9 1 13 1; +#X connect 12 0 13 0; +#X connect 12 1 4 0; +#X connect 13 0 14 0; +#X connect 13 1 18 0; +#X connect 14 0 16 0; +#X connect 14 1 17 0; +#X connect 15 0 10 0; +#X connect 15 1 11 0; +#X connect 16 0 10 0; +#X connect 17 0 11 0; +#X connect 18 0 15 0; +#X connect 19 0 21 0; +#X connect 19 2 3 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 22 0 12 0; diff --git a/include/sampler.sample.pd b/include/sampler.sample.pd new file mode 100644 index 0000000..4e5668a --- /dev/null +++ b/include/sampler.sample.pd @@ -0,0 +1,94 @@ +#N canvas 91 80 1182 762 10; +#X obj 21 161 table \$1R 3; +#X obj 23 134 table \$1L 3; +#X text 664 548 frames samplerate channels; +#X obj 801 277 soundfile_info; +#X obj 533 111 tosymbol; +#X msg 756 223 read \$1; +#X obj 590 631 send \$1data; +#X obj 796 377 unpack f s f f f; +#X obj 694 357 samplerate~; +#X obj 720 324 spigot; +#X msg 747 297 1; +#X msg 798 326 0; +#X obj 810 306 t b a; +#X obj 590 550 pack f f f; +#X msg 725 406 1; +#X obj 130 400 soundfiler; +#X msg 130 332 read -resize -maxsize 8e+06 \$1 \$2; +#X msg 343 331 read -resize -maxsize 8e+08 \$1 \$2 \$3; +#X obj 172 253 list append \$1L \$1R; +#X obj 172 282 demultiplex 0 1; +#X obj 350 260 > 1; +#X obj 590 582 list prepend 0; +#X obj 21 109 table \$1data 3; +#X obj 533 147 t a b a b a; +#X obj 557 3 r \$1; +#X obj 649 120 t b a; +#X obj 640 155 symbol none; +#X obj 462 0 inlet; +#X obj 946 424 samplerate~; +#X obj 1038 512 send \$1L; +#X obj 1106 514 send \$1R; +#X obj 939 121 loadbang; +#X obj 694 385 t f f; +#X obj 557 54 route load file clear resize; +#X msg 935 157 3; +#X msg 1038 432 resize \$1; +#X msg 1106 429 resize \$1; +#X obj 931 231 t f f f; +#X obj 926 378 t f b; +#X obj 902 467 pack f f; +#X msg 904 509 0 \$1 \$2 2; +#X obj 709 187 pdmtl/flow.send; +#X connect 3 0 12 0; +#X connect 4 0 23 0; +#X connect 5 0 3 0; +#X connect 7 0 13 1; +#X connect 7 4 13 2; +#X connect 7 4 20 0; +#X connect 8 0 32 0; +#X connect 9 0 8 0; +#X connect 10 0 9 1; +#X connect 11 0 9 1; +#X connect 12 0 11 0; +#X connect 12 1 7 0; +#X connect 13 0 21 0; +#X connect 14 0 13 2; +#X connect 14 0 20 0; +#X connect 15 0 13 0; +#X connect 16 0 15 0; +#X connect 17 0 15 0; +#X connect 18 0 19 0; +#X connect 19 0 16 0; +#X connect 19 1 17 0; +#X connect 20 0 19 1; +#X connect 21 0 6 0; +#X connect 23 0 18 0; +#X connect 23 1 9 0; +#X connect 23 2 5 0; +#X connect 23 3 10 0; +#X connect 23 4 26 1; +#X connect 24 0 33 0; +#X connect 25 0 26 0; +#X connect 25 1 41 1; +#X connect 26 0 41 0; +#X connect 27 0 33 0; +#X connect 28 0 39 1; +#X connect 31 0 34 0; +#X connect 32 0 13 1; +#X connect 32 1 14 0; +#X connect 33 0 4 0; +#X connect 33 1 25 0; +#X connect 33 2 34 0; +#X connect 33 3 37 0; +#X connect 34 0 37 0; +#X connect 35 0 29 0; +#X connect 36 0 30 0; +#X connect 37 0 38 0; +#X connect 37 1 35 0; +#X connect 37 2 36 0; +#X connect 38 0 39 0; +#X connect 38 1 28 0; +#X connect 39 0 40 0; +#X connect 40 0 6 0; diff --git a/include/search.py b/include/search.py new file mode 100644 index 0000000..7e3f2da --- /dev/null +++ b/include/search.py @@ -0,0 +1,71 @@ +import sys, os + +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD pyext external" + sys.exit() + +savepath = os.getcwd() +extension = 'wav' + +def Walk( root, recurse=1, pattern='*', return_folders=0 ): + import fnmatch, os, string + + # initialize + result = [] + + # must have at least root folder + try: + names = os.listdir(root) + except os.error: + return result + + # expand pattern + pattern = pattern or '*' + pat_list = string.splitfields( pattern , ';' ) + + # check each file + for name in names: + fullname = os.path.normpath(os.path.join(root, name)) + + # grab if it matches our pattern and entry type + for pat in pat_list: + if fnmatch.fnmatch(name, pat): + if os.path.isfile(fullname) or (return_folders and os.path.isdir(fullname)): + result.append(fullname) + continue + + # recursively scan other folders, appending results + if recurse: + if os.path.isdir(fullname) and not os.path.islink(fullname): + result = result + Walk( fullname, recurse, pattern, return_folders ) + + return result + +class file(pyext._class): + """A simple script to fetch wav in folders (recursive)""" + + # number of inlets and outlets + _inlets=1 + _outlets=2 + + def __init__(self,*args): + pass + + def set_1(self,a): + global savepath + savepath = a + + def ext_1(self,a): + global extension + extension = a + + def fetch_1(self,*a): + files = Walk(str(savepath), 1, '*.'+str(extension)) + for file in files: + self._outlet(1, str(file)) + filescap = Walk(str(savepath), 1, '*.'+str(extension).upper()) + for filecap in filescap: + self._outlet(1, str(filecap)) + self._outlet(2, 'bang') diff --git a/init.check.symbol-help.pd b/init.check.symbol-help.pd new file mode 100644 index 0000000..e616ae6 --- /dev/null +++ b/init.check.symbol-help.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 450 300 10; +#X obj 85 159 init.check.symbol \$1; +#X obj 85 117 loadbang; +#X obj 87 199 print isasymbol; +#X obj 237 199 print isnotasymbol; +#X text 25 23 Description: Verifies that a creation argument is in +fact a symbol.; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/init.check.symbol.pd b/init.check.symbol.pd new file mode 100644 index 0000000..0547892 --- /dev/null +++ b/init.check.symbol.pd @@ -0,0 +1,15 @@ +#N canvas 117 92 718 432 10; +#X obj 196 263 outlet; +#X obj 172 52 symbol \$1; +#X msg 245 104 symbol; +#X obj 155 133 sel symbol; +#X obj 170 20 inlet; +#X obj 170 74 t s b; +#X obj 346 260 outlet isnot; +#X connect 1 0 5 0; +#X connect 2 0 3 1; +#X connect 3 0 6 0; +#X connect 3 1 0 0; +#X connect 4 0 1 0; +#X connect 5 0 3 0; +#X connect 5 1 2 0; diff --git a/init.check.unique-help.pd b/init.check.unique-help.pd new file mode 100644 index 0000000..281ff37 --- /dev/null +++ b/init.check.unique-help.pd @@ -0,0 +1,50 @@ +#N canvas 0 6 897 675 10; +#X obj 107 212 init.dollar.zero.top; +#X msg 105 421 symbol bird; +#X obj 342 522 init.check.unique; +#X msg 342 479 symbol cow; +#X msg 501 440 symbol cow; +#X text 262 209 This example checks that it is the only abstraction +or the first abstraction to be linked to the top patch.; +#X obj 105 464 init.check.unique; +#X obj 107 245 init.check.unique; +#X obj 501 483 init.check.unique; +#X obj 105 392 loadbang; +#X obj 343 452 loadbang; +#X obj 503 415 loadbang; +#X obj 501 513 print COW2; +#X obj 342 552 print COW1; +#X obj 105 494 print BIRD; +#X obj 107 186 loadbang; +#X obj 286 275 init.dollar.zero.top; +#X obj 286 308 init.check.unique; +#X obj 286 249 loadbang; +#X obj 108 275 print TOP1; +#X obj 286 338 print TOP2; +#X text 440 264 TOP1 is the first to be linked to the top patch and +returns 1 The other top returns a zero because it is not the first +or unique.; +#X text 202 390 BIRD returns true because it is unique.; +#X text 451 567 COW1 is the first to use the name COW and returns 1 +The other COW returns a zero because it is not the first to use that +name.; +#X text 106 96 WARNING: init.check.unique must be used with a loadbang +or it will return wrong results.; +#X obj 84 103 cnv 15 15 15 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X text 59 26 Description: checks that a symbol name is unique.; +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 2 0 13 0; +#X connect 3 0 2 0; +#X connect 4 0 8 0; +#X connect 6 0 14 0; +#X connect 7 0 19 0; +#X connect 8 0 12 0; +#X connect 9 0 1 0; +#X connect 10 0 3 0; +#X connect 11 0 4 0; +#X connect 15 0 0 0; +#X connect 16 0 17 0; +#X connect 17 0 20 0; +#X connect 18 0 16 0; diff --git a/init.check.unique.pd b/init.check.unique.pd new file mode 100644 index 0000000..39589ab --- /dev/null +++ b/init.check.unique.pd @@ -0,0 +1,30 @@ +#N canvas 0 0 833 566 10; +#X obj 284 219 flow.receive; +#X obj 200 213 pdmtl/flow.send; +#X obj 142 233 f 1; +#X obj 236 180 t b a a; +#X obj 349 290 == \$0; +#X obj 349 314 sel 1; +#X obj 284 241 route bang; +#X obj 284 265 f \$0; +#X obj 125 19 inlet; +#X obj 144 388 outlet; +#X obj 137 109 t b a b; +#X msg 174 176 1; +#X msg 235 157 \$1CU; +#X connect 0 0 6 0; +#X connect 2 0 9 0; +#X connect 3 0 1 0; +#X connect 3 1 1 1; +#X connect 3 2 0 0; +#X connect 4 0 5 0; +#X connect 5 1 2 1; +#X connect 6 0 7 0; +#X connect 6 1 4 0; +#X connect 7 0 1 0; +#X connect 8 0 10 0; +#X connect 10 0 2 0; +#X connect 10 1 12 0; +#X connect 10 2 11 0; +#X connect 11 0 2 1; +#X connect 12 0 3 0; diff --git a/init.df-help.pd b/init.df-help.pd new file mode 100644 index 0000000..6899e5e --- /dev/null +++ b/init.df-help.pd @@ -0,0 +1,47 @@ +#N canvas 357 287 636 408 10; +#X obj 15 65 loadbang; +#X obj 15 162 metro; +#X msg 15 117 1; +#X obj 15 190 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 46 117 init.df \$1 100; +#X floatatom 46 141 5 0 0 0 - - -; +#X obj 175 63 loadbang; +#X obj 175 152 metro; +#X obj 175 177 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 208 132 5 0 0 0 - - -; +#X obj 15 89 t b b; +#X obj 175 85 t b b; +#X text 13 15 Description: Default float.; +#X text 12 36 If the first argument is 0 \, the second argument is +outputed.; +#X obj 15 278 loadbang; +#X floatatom 15 340 5 0 0 0 - - -; +#X obj 320 279 loadbang; +#X floatatom 320 341 5 0 0 0 - - -; +#X text 12 226 Inside the following abstractions \, you will find a +init.df. If the abstraction's argument is not set \, the default float +is selected.; +#X text 173 287 Argument no set.; +#X text 482 287 Argument set to 594; +#X obj 208 108 init.df 50 100; +#X obj 15 306 examples/abstraction_arguments/abs_clipper; +#X obj 320 308 examples/abstraction_arguments/abs_clipper 594; +#X connect 0 0 10 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 9 0 7 1; +#X connect 10 0 2 0; +#X connect 10 1 4 0; +#X connect 11 0 7 0; +#X connect 11 1 21 0; +#X connect 14 0 22 0; +#X connect 16 0 23 0; +#X connect 21 0 9 0; +#X connect 22 0 15 0; +#X connect 23 0 17 0; diff --git a/init.df.pd b/init.df.pd new file mode 100644 index 0000000..0b139b2 --- /dev/null +++ b/init.df.pd @@ -0,0 +1,11 @@ +#N canvas 418 219 718 432 10; +#X obj 41 190 sel 0; +#X obj 91 331 outlet; +#X obj 19 234 float \$2; +#X obj 20 2 inlet; +#X obj 40 139 float \$1; +#X connect 0 0 2 0; +#X connect 0 1 1 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; diff --git a/init.dollar.zero.top-help.pd b/init.dollar.zero.top-help.pd new file mode 100644 index 0000000..4bc42b3 --- /dev/null +++ b/init.dollar.zero.top-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X obj 90 190 init.dollar.zero.top; +#X obj 90 138 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 90 226 print; +#X text 26 31 Description: Returns as a symbol the dollar zero argument +of the "top" (root) patch.; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/init.dollar.zero.top.pd b/init.dollar.zero.top.pd new file mode 100644 index 0000000..6ccf5f4 --- /dev/null +++ b/init.dollar.zero.top.pd @@ -0,0 +1,8 @@ +#N canvas 1 47 450 300 10; +#X obj 94 31 inlet; +#X obj 94 112 b; +#X obj 94 219 outlet; +#X obj 94 167 tof/getdollarzero 10; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; diff --git a/init.ds-help.pd b/init.ds-help.pd new file mode 100644 index 0000000..0f874c8 --- /dev/null +++ b/init.ds-help.pd @@ -0,0 +1,13 @@ +#N canvas 83 452 353 180 10; +#X symbolatom 64 113 10 0 0 0 - - -; +#X symbolatom 170 113 10 0 0 0 - - -; +#X obj 170 90 init.ds steve bob; +#X obj 64 67 loadbang; +#X obj 170 67 loadbang; +#X text 60 12 Description: Default symbol.; +#X text 60 30 Same as init.df but for symbols.; +#X obj 64 90 init.ds \$1 bob; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 2 0; +#X connect 7 0 0 0; diff --git a/init.ds.pd b/init.ds.pd new file mode 100644 index 0000000..cbcafdb --- /dev/null +++ b/init.ds.pd @@ -0,0 +1,16 @@ +#N canvas 424 280 474 324 10; +#X obj 196 263 outlet; +#X obj 59 192 symbol \$2; +#X obj 172 52 symbol \$1; +#X msg 245 104 symbol; +#X obj 155 133 sel symbol; +#X obj 170 20 inlet; +#X obj 170 74 t s b; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 1 0 0; +#X connect 5 0 2 0; +#X connect 6 0 4 0; +#X connect 6 1 3 0; diff --git a/init.examples.dfabs.pd b/init.examples.dfabs.pd new file mode 100644 index 0000000..5bab84e --- /dev/null +++ b/init.examples.dfabs.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 450 300 10; +#X obj 125 77 inlet; +#X obj 128 211 outlet; +#X obj 128 137 init.df \$1 100; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/init.lb-help.pd b/init.lb-help.pd new file mode 100644 index 0000000..b893bdc --- /dev/null +++ b/init.lb-help.pd @@ -0,0 +1,5 @@ +#N canvas 47 188 400 243 12; +#X text 69 73 Description: same as a loadbang.; +#X obj 70 102 init.lb; +#X obj 70 131 print lb; +#X connect 1 0 2 0; diff --git a/init.lb.pd b/init.lb.pd new file mode 100644 index 0000000..6cf24d4 --- /dev/null +++ b/init.lb.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 456 306 12; +#X obj 249 119 loadbang; +#X obj 130 242 outlet; +#X text 220 84 SHORT FOR LOADBANG; +#X obj 142 105 inlet; +#X connect 0 0 1 0; +#X connect 3 0 1 0; diff --git a/init.lbonce.pd b/init.lbonce.pd new file mode 100644 index 0000000..c592279 --- /dev/null +++ b/init.lbonce.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 409 382 10; +#X obj 77 41 inlet; +#X obj 92 327 outlet; +#X obj 91 173 spigot 1; +#X obj 93 202 t b b; +#X msg 141 247 0; +#X obj 190 49 loadbang; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 2 0; diff --git a/init.ldf-help.pd b/init.ldf-help.pd new file mode 100644 index 0000000..5a066f8 --- /dev/null +++ b/init.ldf-help.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 526 248 10; +#X floatatom 86 102 5 0 0 0 - - -; +#X obj 86 63 init.ldf 3 4; +#X text 83 30 Description: Same as init.df but with a built-in loadbang. +; +#X connect 1 0 0 0; diff --git a/init.ldf.pd b/init.ldf.pd new file mode 100644 index 0000000..387e2dd --- /dev/null +++ b/init.ldf.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 450 300 10; +#X obj 110 136 loadbang; +#X obj 110 160 init.df \$1 \$2; +#X obj 110 194 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; diff --git a/init.lf-help.pd b/init.lf-help.pd new file mode 100644 index 0000000..c213129 --- /dev/null +++ b/init.lf-help.pd @@ -0,0 +1,5 @@ +#N canvas 146 223 375 247 12; +#X obj 73 132 print; +#X obj 73 103 init.lf 10; +#X text 68 70 Description: Loadbang a float.; +#X connect 1 0 0 0; diff --git a/init.lf.pd b/init.lf.pd new file mode 100644 index 0000000..aaf5a4d --- /dev/null +++ b/init.lf.pd @@ -0,0 +1,8 @@ +#N canvas 146 223 546 360 12; +#X obj 173 106 loadbang; +#X obj 178 208 outlet; +#X obj 172 151 float \$1; +#X obj 111 77 inlet; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; diff --git a/init.ls-help.pd b/init.ls-help.pd new file mode 100644 index 0000000..416e001 --- /dev/null +++ b/init.ls-help.pd @@ -0,0 +1,5 @@ +#N canvas 441 114 437 193 12; +#X obj 117 103 print; +#X obj 117 72 init.ls yeah; +#X text 114 38 Description: Loadbang a symbol.; +#X connect 1 0 0 0; diff --git a/init.ls.pd b/init.ls.pd new file mode 100644 index 0000000..f2aa33f --- /dev/null +++ b/init.ls.pd @@ -0,0 +1,9 @@ +#N canvas 522 261 568 382 12; +#X obj 219 89 loadbang; +#X obj 214 254 outlet; +#X obj 224 134 symbol \$1; +#X text 136 33 LOADBANGS A DEFAULT SYMBOL; +#X obj 117 84 inlet; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 4 0 2 0; diff --git a/init.make.unique-help.pd b/init.make.unique-help.pd new file mode 100644 index 0000000..7cdbc51 --- /dev/null +++ b/init.make.unique-help.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 450 300 12; +#X obj 46 173 init.make.unique; +#X text 46 56 Description: Makes sure a symbol is unique and appends +integers if necessary.; +#X msg 47 138 test; +#X obj 223 170 init.make.unique; +#X msg 224 135 test; +#X symbolatom 49 205 10 0 0 0 - - -; +#X symbolatom 226 202 10 0 0 0 - - -; +#X connect 0 0 5 0; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; diff --git a/init.make.unique.pd b/init.make.unique.pd new file mode 100644 index 0000000..8fb6daf --- /dev/null +++ b/init.make.unique.pd @@ -0,0 +1,32 @@ +#N canvas 0 0 450 300 12; +#N canvas 0 0 450 300 makeUnique 0; +#X obj 250 92 init.check.unique; +#X obj 136 124 demultiplex 0 1; +#X obj 130 208 pack s f; +#X obj 127 161 t a b; +#X obj 180 182 + 1; +#X obj 180 162 f; +#X obj 108 243 makesymbol %s%s; +#X obj 128 11 inlet; +#X obj 98 61 t a a; +#X obj 207 63 symbol; +#X obj 259 259 outlet; +#X connect 0 0 1 1; +#X connect 1 0 3 0; +#X connect 1 1 10 0; +#X connect 2 0 6 0; +#X connect 3 0 2 0; +#X connect 3 1 5 0; +#X connect 4 0 5 1; +#X connect 4 0 2 1; +#X connect 5 0 4 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X connect 8 1 9 0; +#X connect 9 0 0 0; +#X restore 106 129 pd makeUnique; +#X obj 106 55 inlet; +#X obj 106 257 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/init.mess-help.pd b/init.mess-help.pd new file mode 100644 index 0000000..807c7c0 --- /dev/null +++ b/init.mess-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X obj 62 194 print; +#X obj 45 77 init.mess foo bar 1 2; +#X obj 119 121 init.mess 5; +#X text 57 43 Description: Loads any message at loadbang; +#X connect 1 0 0 0; +#X connect 2 0 0 0; diff --git a/init.mess.pd b/init.mess.pd new file mode 100644 index 0000000..2751299 --- /dev/null +++ b/init.mess.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 333 197 10; +#X obj 82 98 dollarg; +#X obj 84 69 loadbang; +#X obj 85 170 outlet; +#X obj 107 143 list.trim; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 3 0 2 0; diff --git a/init.post.dollarg-help.pd b/init.post.dollarg-help.pd new file mode 100644 index 0000000..9c2305c --- /dev/null +++ b/init.post.dollarg-help.pd @@ -0,0 +1,16 @@ +#N canvas 317 289 445 227 10; +#X obj 30 148 init.post.dollarg; +#X obj 30 120 dollarg; +#X obj 30 96 loadbang; +#X obj 30 174 print ARGUMENTS; +#X obj 129 174 print DONE; +#X text 26 14 Description: Parses abstraction arguments.; +#X text 26 50 See examples in the pdmtl/examples/abstraction_arguments +folder for examples.; +#X text 26 33 Comments: See flow.@parse for more information.; +#X obj 314 30 flow.@parse; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 1 0; diff --git a/init.post.dollarg.pd b/init.post.dollarg.pd new file mode 100644 index 0000000..eba5958 --- /dev/null +++ b/init.post.dollarg.pd @@ -0,0 +1,17 @@ +#N canvas 0 0 763 395 10; +#X obj 83 52 inlet; +#X obj 207 51 inlet; +#X obj 248 136 sel 0; +#X obj 215 263 outlet done; +#X obj 96 256 outlet args; +#X obj 64 191 list.trim; +#X obj 251 165 t b b; +#X obj 100 137 flow.@parse; +#X connect 0 0 7 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 6 1 4 0; +#X connect 7 0 5 0; +#X connect 7 1 3 0; diff --git a/input.color.grid_-help.pd b/input.color.grid_-help.pd new file mode 100644 index 0000000..61546d5 --- /dev/null +++ b/input.color.grid_-help.pd @@ -0,0 +1,9 @@ +#N canvas 334 399 603 365 10; +#X text 146 39 Description: A color selector.; +#X text 324 199 Click and drag!!!!; +#X obj 127 145 input.color.grid_; +#X text 63 293 Float RGB; +#X obj 80 268 print float_RGB; +#X obj 270 248 print pd_color; +#X connect 2 0 4 0; +#X connect 2 1 5 0; diff --git a/input.color.grid_.pd b/input.color.grid_.pd new file mode 100644 index 0000000..39ced5b --- /dev/null +++ b/input.color.grid_.pd @@ -0,0 +1,140 @@ +#N canvas 1490 156 814 683 10; +#X obj 101 101 cnv 15 185 20 empty \$0label input.color.grid_ 4 11 +0 8 -1 -262144 0; +#X obj 105 143 hsl 179 20 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 9800 0; +#X obj 105 122 hsl 179 20 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 0; +#X obj 688 299 MouseState; +#X msg 719 273 nopoll; +#X obj 725 233 sel 0; +#X msg 610 260 zero \, poll; +#X msg 769 260 1; +#X obj 607 162 spigot 1; +#X msg 692 192 0; +#X obj 625 386 +; +#X obj 608 227 t b b f; +#X obj 450 706 s \$0label; +#X obj 94 430 convert.hsv2rgb; +#X obj 101 143 cnv 15 20 20 empty empty empty 20 12 0 14 -258049 -66577 +0; +#X obj 101 122 cnv 15 20 20 \$0cnv_s \$0cnv_r empty 20 12 0 14 -131073 +-66577 0; +#X obj 158 143 cnv 15 35 20 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 158 122 cnv 15 35 20 empty empty empty 20 12 0 14 -22726 -66577 +0; +#X obj 266 143 cnv 15 20 20 empty empty empty 20 12 0 14 -258049 -66577 +0; +#X obj 266 122 cnv 15 20 20 empty empty empty 20 12 0 14 -131073 -66577 +0; +#X obj 122 143 cnv 15 35 20 empty empty empty 20 12 0 14 -241291 -66577 +0; +#X obj 122 122 cnv 15 35 20 empty empty empty 20 12 0 14 -166411 -66577 +0; +#X obj 194 122 cnv 15 35 20 empty empty empty 20 12 0 14 -32 -66577 +0; +#X obj 194 143 cnv 15 35 20 empty empty empty 20 12 0 14 -64 -66577 +0; +#X obj 230 143 cnv 15 35 20 empty empty empty 20 12 0 14 -258112 -66577 +0; +#X obj 230 122 cnv 15 35 20 empty empty empty 20 12 0 14 -135202 -66577 +0; +#X obj 511 349 f; +#X obj 481 126 t f b f; +#X obj 446 195 t f b f; +#X msg 563 165 20; +#X obj 104 164 hsl 179 20 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 9600 0; +#X obj 101 164 cnv 15 20 20 empty empty empty 20 12 0 14 -261689 -66577 +0; +#X obj 158 164 cnv 15 35 20 empty empty empty 20 12 0 14 -225271 -66577 +0; +#X obj 266 164 cnv 15 20 20 empty empty empty 20 12 0 14 -261689 -66577 +0; +#X obj 122 164 cnv 15 35 20 empty empty empty 20 12 0 14 -262131 -66577 +0; +#X obj 194 164 cnv 15 35 20 empty empty empty 20 12 0 14 -228992 -66577 +0; +#X obj 230 164 cnv 15 35 20 empty empty empty 20 12 0 14 -257472 -66577 +0; +#X msg 544 258 30; +#X obj 332 264 t b f; +#X obj 628 429 moses 30; +#X obj 623 470 / 30; +#X obj 511 375 pack f f f; +#X obj 552 336 unpack; +#X obj 542 308 t b a; +#X obj 680 489 / 30; +#X obj 627 407 clip 0 60; +#X msg 621 498 1 \$1; +#X msg 681 522 \$1 1; +#X obj 720 560 -; +#X msg 752 562 2 \$1; +#X obj 431 653 pack; +#X msg 424 681 color \$1 \$2; +#X obj 396 513 list.op; +#X obj 468 536 * -1; +#X obj 234 574 convert.rgb2num; +#X obj 397 588 convert.rgb2num; +#X msg 392 325 50; +#X obj 11 708 outlet float_RGB; +#X obj 319 705 outlet pd_color; +#X obj 302 629 t a a; +#X obj 146 496 t a a a a; +#X obj 468 510 - 1; +#X connect 1 0 28 0; +#X connect 2 0 27 0; +#X connect 3 0 5 0; +#X connect 3 2 10 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 5 0 7 0; +#X connect 6 0 3 0; +#X connect 7 0 8 1; +#X connect 8 0 11 0; +#X connect 9 0 8 1; +#X connect 10 0 45 0; +#X connect 11 0 6 0; +#X connect 11 1 9 0; +#X connect 11 2 10 1; +#X connect 13 0 60 0; +#X connect 26 0 41 0; +#X connect 27 1 29 0; +#X connect 27 2 26 1; +#X connect 28 1 37 0; +#X connect 28 2 26 1; +#X connect 29 0 8 0; +#X connect 30 0 38 0; +#X connect 37 0 8 0; +#X connect 38 0 56 0; +#X connect 38 1 26 1; +#X connect 39 0 40 0; +#X connect 39 1 44 0; +#X connect 40 0 46 0; +#X connect 41 0 13 0; +#X connect 42 0 41 1; +#X connect 42 1 41 2; +#X connect 43 0 26 0; +#X connect 43 1 42 0; +#X connect 44 0 49 0; +#X connect 45 0 39 0; +#X connect 46 0 43 0; +#X connect 47 0 43 0; +#X connect 48 0 47 0; +#X connect 49 0 48 0; +#X connect 50 0 51 0; +#X connect 51 0 12 0; +#X connect 52 0 55 0; +#X connect 52 1 61 0; +#X connect 53 0 52 1; +#X connect 54 0 59 0; +#X connect 55 0 50 1; +#X connect 56 0 8 0; +#X connect 59 0 58 0; +#X connect 59 1 50 0; +#X connect 60 0 57 0; +#X connect 60 2 54 0; +#X connect 60 3 52 0; +#X connect 61 0 53 0; +#X coords 0 -1 1 1 187 85 1 100 100; diff --git a/input.double.click-help.pd b/input.double.click-help.pd new file mode 100644 index 0000000..2bb6f86 --- /dev/null +++ b/input.double.click-help.pd @@ -0,0 +1,15 @@ +#N canvas 1943 405 554 354 10; +#X obj 235 87 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 173 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 41 23 Description: Detects double clicks.; +#X text 37 44 Argument 1 & Inlet 2: Determines the double click interval +(defaults to 175).; +#X msg 303 93 175; +#X msg 348 92 300; +#X obj 180 139 input.double.click 300; +#X connect 0 0 6 0; +#X connect 4 0 6 1; +#X connect 5 0 6 1; +#X connect 6 0 1 0; diff --git a/input.double.click.pd b/input.double.click.pd new file mode 100644 index 0000000..ff01ac0 --- /dev/null +++ b/input.double.click.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 450 300 10; +#X obj 125 104 timer; +#X obj 125 148 b; +#X obj 132 44 inlet; +#X obj 126 72 t b b; +#X obj 131 218 outlet; +#X obj 125 128 moses 175; +#X obj 286 54 init.df \$1 175; +#X obj 285 32 loadbang; +#X obj 357 94 inlet; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 3 1 0 1; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 7 0 6 0; +#X connect 8 0 5 1; diff --git a/input.grid_-help.pd b/input.grid_-help.pd new file mode 100644 index 0000000..98fa6ab --- /dev/null +++ b/input.grid_-help.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 797 414 10; +#X obj 128 218 unpack f f; +#X floatatom 115 297 5 0 0 0 - - -; +#X floatatom 194 274 5 0 0 0 - - -; +#X text 234 138 Click and drag; +#X text 232 218 The range is -1 to 1; +#X msg 119 83 0.32 -0.5; +#X text 82 27 Description: A grid.; +#X obj 127 125 input.grid_; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 5 0 7 0; +#X connect 7 0 0 0; diff --git a/input.grid_.pd b/input.grid_.pd new file mode 100644 index 0000000..2ee35d4 --- /dev/null +++ b/input.grid_.pd @@ -0,0 +1,94 @@ +#N canvas 142 184 746 466 10; +#X obj 100 116 bng 96 250 50 0 empty empty empty 0 -6 0 8 -1 -1 -1 +; +#X obj 135 176 cnv 5 5 5 empty \$0vis empty 20 12 0 14 -262144 -66577 +0; +#X obj 318 552 s \$0vis; +#X msg 316 523 pos \$1 \$2; +#X obj 319 489 pack f f; +#X obj 298 339 + 1; +#X obj 302 363 / 2; +#X obj 472 414 + 1; +#X obj 476 438 / 2; +#X obj 291 457 + 101; +#X obj 393 459 + 117; +#X obj 377 59 MouseState; +#X msg 408 33 nopoll; +#X obj 412 7 sel 0; +#X obj 235 350 t f f; +#X obj 351 404 t f f; +#X obj 213 476 pack; +#X obj 213 523 outlet; +#X obj 512 244 t f f; +#X obj 511 216 clip -1 1; +#X obj 514 191 +; +#X obj 328 287 t f f; +#X obj 300 236 clip -1 1; +#X obj 313 186 +; +#X msg 299 20 zero \, poll; +#X obj 438 132 spigot; +#X obj 249 3 t b b; +#X obj 393 110 t b f; +#X msg 265 24 0; +#X msg 409 133 1; +#X obj 332 112 spigot; +#X obj 287 90 t b f; +#X msg 303 113 1; +#X obj 566 11 inlet; +#X obj 570 46 unpack; +#X obj 249 442 * -1; +#X obj 600 117 * -1; +#X obj 297 388 * 89; +#X obj 459 466 * 89; +#X obj 325 153 / 48; +#X obj 505 156 / 48; +#X connect 0 0 26 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 37 0; +#X connect 7 0 8 0; +#X connect 8 0 38 0; +#X connect 9 0 4 0; +#X connect 10 0 4 1; +#X connect 11 0 13 0; +#X connect 11 3 31 0; +#X connect 11 4 27 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 16 0; +#X connect 14 1 5 0; +#X connect 15 0 35 0; +#X connect 15 1 7 0; +#X connect 16 0 17 0; +#X connect 18 0 15 0; +#X connect 18 1 20 1; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 14 0; +#X connect 21 1 23 1; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 11 0; +#X connect 25 0 40 0; +#X connect 26 0 24 0; +#X connect 26 1 28 0; +#X connect 27 0 29 0; +#X connect 27 1 25 0; +#X connect 28 0 25 1; +#X connect 28 0 30 1; +#X connect 29 0 25 1; +#X connect 30 0 39 0; +#X connect 31 0 32 0; +#X connect 31 1 30 0; +#X connect 32 0 30 1; +#X connect 33 0 34 0; +#X connect 34 0 22 0; +#X connect 34 1 36 0; +#X connect 35 0 16 1; +#X connect 36 0 19 0; +#X connect 37 0 9 0; +#X connect 38 0 10 0; +#X connect 39 0 23 0; +#X connect 40 0 20 0; +#X coords 0 -1 1 1 96 112 1 100 100; diff --git a/input.hsv_-help.pd b/input.hsv_-help.pd new file mode 100644 index 0000000..7ce15f7 --- /dev/null +++ b/input.hsv_-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X obj 171 95 input.hsv_; +#X obj 174 173 flow.prepend set; +#X msg 173 195; +#X text 43 23 Description: Hue saturation value (HSV) sliders; +#X connect 0 0 1 0; +#X connect 1 0 2 0; diff --git a/input.hsv_.pd b/input.hsv_.pd new file mode 100644 index 0000000..ff138d3 --- /dev/null +++ b/input.hsv_.pd @@ -0,0 +1,65 @@ +#N canvas 306 175 722 597 10; +#X obj 103 117 hsl 128 15 0 1 0 0 empty empty hue 4 8 0 8 -1 -262144 +-262144 0 1; +#X obj 53 282 pack f f f; +#X obj 103 134 hsl 128 15 0 1 0 0 empty empty saturation 4 8 0 8 -1 +-262144 -262144 0 1; +#X obj 104 151 hsl 128 15 0 1 0 0 empty empty value 4 8 0 8 -1 -262144 +-262144 0 1; +#X obj 222 188 t b f; +#X obj 267 188 t b f; +#X obj 5 519 outlet hsvn; +#X obj 48 -45 inlet; +#X obj 129 41 unpack f f f; +#X msg 73 75 set \$1; +#X msg 144 73 set \$1; +#X msg 204 71 set \$1; +#X obj 101 101 cnv 15 132 15 empty \$0label input.hsv_ 4 8 0 8 -1 -262144 +0; +#X obj 509 517 s \$0label; +#X obj 512 462 pack; +#X msg 505 490 color \$1 \$2; +#X obj 482 306 list.op; +#X obj 482 386 convert.rgb2num; +#X obj 323 510 outlet pd_color; +#X obj 368 416 t a a; +#X obj 295 311 convert.hsv2rgb; +#X obj 338 374 convert.rgb2num; +#X obj 25 1 t l l; +#X obj 41 352 t l l; +#X obj 346 337 t a a; +#X msg 575 258 1 \$1; +#X obj 593 289 -; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 4 1 1 1; +#X connect 5 0 1 0; +#X connect 5 1 1 2; +#X connect 7 0 22 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 8 2 11 0; +#X connect 9 0 0 0; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 16 0 17 0; +#X connect 16 1 25 0; +#X connect 17 0 14 1; +#X connect 19 0 18 0; +#X connect 19 1 14 0; +#X connect 20 0 24 0; +#X connect 21 0 19 0; +#X connect 22 0 1 0; +#X connect 22 1 8 0; +#X connect 23 0 6 0; +#X connect 23 1 20 0; +#X connect 24 0 21 0; +#X connect 24 1 16 0; +#X connect 25 0 26 0; +#X connect 26 0 16 1; +#X coords 0 -1 1 1 134 67 1 100 100; diff --git a/input.key.name.learn-help.pd b/input.key.name.learn-help.pd new file mode 100644 index 0000000..092af5b --- /dev/null +++ b/input.key.name.learn-help.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 450 300 10; +#X obj 90 125 input.key.name.learn; +#X obj 90 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 90 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X symbolatom 211 170 10 0 0 0 - - -; +#X text 70 186 Key press.; +#X text 286 171 Key learned.; +#X text 109 92 Learn.; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/input.key.name.learn.pd b/input.key.name.learn.pd new file mode 100644 index 0000000..d040455 --- /dev/null +++ b/input.key.name.learn.pd @@ -0,0 +1,31 @@ +#N canvas 651 318 450 300 10; +#X obj 158 43 keyname; +#X obj 297 35 inlet; +#X obj 202 84 sel none; +#X obj 269 145 spigot; +#X msg 366 156 0; +#X obj 336 254 outlet; +#X obj 111 263 outlet; +#X obj 115 158 spigot; +#X msg 191 110 1; +#X obj 238 112 t a b; +#X msg 225 144 0; +#X obj 288 181 t a b a b; +#X msg 304 74 1; +#X connect 0 0 7 0; +#X connect 0 1 2 0; +#X connect 1 0 12 0; +#X connect 2 0 8 0; +#X connect 2 1 9 0; +#X connect 3 0 11 0; +#X connect 4 0 3 1; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 9 0 3 0; +#X connect 9 1 10 0; +#X connect 10 0 7 1; +#X connect 11 0 5 0; +#X connect 11 1 8 0; +#X connect 11 2 2 1; +#X connect 11 3 4 0; +#X connect 12 0 3 1; diff --git a/input.key.r-help.pd b/input.key.r-help.pd new file mode 100644 index 0000000..98707da --- /dev/null +++ b/input.key.r-help.pd @@ -0,0 +1,24 @@ +#N canvas 267 162 462 312 10; +#X obj 19 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 17 119 The "a" key.; +#X obj 151 156 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 149 111 The "2" key.; +#X obj 248 159 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 246 114 The left control key.; +#X obj 18 238 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 16 193 The right control key.; +#X text 10 68 Requires the zexy external.; +#X text 9 86 See also [key] and [keydown].; +#X text 10 27 Description: Receive a computer key's status.; +#X obj 19 136 input.key.r a; +#X obj 248 132 input.key.r Control_L; +#X obj 18 211 input.key.r Shift_L; +#X obj 151 129 input.key.r 2; +#X connect 11 0 0 0; +#X connect 12 0 4 0; +#X connect 13 0 6 0; +#X connect 14 0 2 0; diff --git a/input.key.r.pd b/input.key.r.pd new file mode 100644 index 0000000..7e9a5fa --- /dev/null +++ b/input.key.r.pd @@ -0,0 +1,22 @@ +#N canvas 459 264 494 344 10; +#X obj 121 253 outlet; +#X obj 116 20 keyname; +#X obj 119 117 spigot; +#X msg 207 90 1; +#X msg 248 92 0; +#X obj 111 188 change -1; +#X obj 333 40 loadbang; +#X obj 333 69 list append \$1; +#X obj 332 101 convert.list2symbol; +#X obj 223 60 sel symbol; +#X connect 1 0 2 0; +#X connect 1 1 9 0; +#X connect 2 0 5 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 5 0 0 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 1; +#X connect 9 0 3 0; +#X connect 9 1 4 0; diff --git a/input.key.text-help.pd b/input.key.text-help.pd new file mode 100644 index 0000000..e5006f2 --- /dev/null +++ b/input.key.text-help.pd @@ -0,0 +1,60 @@ +#N canvas 309 308 971 560 10; +#X obj 467 306 gemhead; +#X obj 466 327 color 1 0 0; +#X obj 704 338 gems.win; +#X obj 704 316 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 621 434 font \$1; +#X obj 544 456 text2d pdmtl; +#X obj 621 360 loadbang; +#X text 152 165 -- MODE 0 --; +#X text 151 251 -- MODE 1 --; +#X text 20 14 The focus must be given to a patcher window. They are +two input modes.; +#X text 35 313 The resulting symbols are sent as you type them.; +#X text 33 333 Enter key clears the ouput.; +#X text 31 354 Backspace removes a character.; +#X obj 831 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 713 195 list prepend text; +#X obj 714 223 list trim; +#X obj 461 82 list prepend set; +#X obj 461 112 list trim; +#X text 22 -24 Description: Builds up symbols while you type.; +#X obj 681 33 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 679 -20 loadbang; +#X msg 681 5 1; +#X text 697 29 on/off; +#X text 847 27 Mode; +#X text 44 88 Argument_2: Selects the mode (0/1).; +#X text 44 104 Inlet_2: Selects the mode (0/1).; +#X text 42 52 Argument_1: on/off (1/0).; +#X text 42 68 Inlet_1: on/off (1/0).; +#X text 571 289 -- GEM example --; +#X text 26 199 The resulting symbols are flushed when you type the +ENTER key. The BACKSPACE key reases the internal memory.; +#X text 31 140 WARNING: Has only been tested on Linux!; +#X obj 693 65 input.key.text 1 1; +#X obj 826 -26 loadbang; +#X msg 828 1 1; +#X msg 460 142 ; +#X msg 621 386 symbol pdmtl.ttf; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 6 0 35 0; +#X connect 13 0 31 1; +#X connect 14 0 15 0; +#X connect 15 0 5 0; +#X connect 16 0 17 0; +#X connect 17 0 34 0; +#X connect 19 0 31 0; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 31 0 14 0; +#X connect 31 0 16 0; +#X connect 32 0 33 0; +#X connect 33 0 13 0; +#X connect 35 0 4 0; diff --git a/input.key.text.pd b/input.key.text.pd new file mode 100644 index 0000000..61e840a --- /dev/null +++ b/input.key.text.pd @@ -0,0 +1,80 @@ +#N canvas 987 106 781 832 10; +#X msg 143 647 symbol; +#X obj 72 667 list2symbol; +#X obj 72 718 outlet; +#X obj 72 597 list.build; +#X obj 55 509 t b; +#X obj 122 296 demultiplex; +#X obj 187 57 loadbang; +#X obj 169 137 != 0; +#X obj 147 12 inlet; +#X obj 72 629 t a b; +#X obj 335 562 t b a; +#X obj 333 627 list append; +#X obj 335 652 t a a; +#X obj 505 674 list.delete; +#X obj 577 625 list.length; +#X obj 320 593 list; +#X obj 483 597 list; +#X obj 487 622 t a a; +#X obj -1 17 inlet; +#X obj 52 70 spigot \$1; +#X obj 180 92 f \$2; +#X obj 51 19 key; +#X obj 67 389 relay symbol float; +#X obj 24 148 convert.ascii2pd; +#X obj 186 498 t b; +#X obj 348 442 relay symbol float; +#X obj 410 545 b; +#X obj 160 433 route LF BS SPACE; +#X obj 468 492 route LF BS SPACE; +#X obj 543 558 makefilename %c; +#X msg 545 523 32; +#X obj 228 529 makefilename %c; +#X msg 230 494 32; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 22 0; +#X connect 5 1 25 0; +#X connect 6 0 20 0; +#X connect 7 0 5 1; +#X connect 8 0 20 0; +#X connect 9 0 1 0; +#X connect 9 1 0 0; +#X connect 10 0 15 0; +#X connect 10 1 11 1; +#X connect 11 0 12 0; +#X connect 12 0 9 0; +#X connect 12 1 15 1; +#X connect 12 1 16 1; +#X connect 13 0 12 0; +#X connect 14 0 13 1; +#X connect 15 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 13 0; +#X connect 17 1 14 0; +#X connect 18 0 19 1; +#X connect 19 0 23 0; +#X connect 20 0 7 0; +#X connect 21 0 19 0; +#X connect 22 0 3 1; +#X connect 22 1 3 1; +#X connect 22 2 27 0; +#X connect 23 0 5 0; +#X connect 24 0 3 1; +#X connect 25 0 10 0; +#X connect 25 1 10 0; +#X connect 25 2 28 0; +#X connect 26 0 12 0; +#X connect 27 0 4 0; +#X connect 27 1 24 0; +#X connect 27 2 32 0; +#X connect 28 0 26 0; +#X connect 28 1 16 0; +#X connect 28 2 30 0; +#X connect 29 0 10 0; +#X connect 30 0 29 0; +#X connect 31 0 3 1; +#X connect 32 0 31 0; diff --git a/input.min.max_-help.pd b/input.min.max_-help.pd new file mode 100644 index 0000000..a76446c --- /dev/null +++ b/input.min.max_-help.pd @@ -0,0 +1,21 @@ +#N canvas 516 75 429 336 10; +#X obj 46 255 print A; +#X obj 232 253 print B; +#X text 42 15 Description: Set a minimum and maximum value.; +#X text 42 34 Argument_1: Sets the minimum value.; +#X text 42 51 Argument_2: Sets the maximum value.; +#X msg 46 128 50 360; +#X text 42 71 Inlet_1: Sets the min max value.; +#X msg 67 151 0 1; +#X obj 46 181 input.min.max_ 0 1; +#X obj 232 182 input.min.max_ 100 200; +#X obj 111 126 nbx 3 14 0 1 0 0 empty empty min 0 -8 0 10 -262144 -1 +-1 0.29 256; +#X obj 176 157 nbx 3 14 0 1 0 0 empty empty max 0 -8 0 10 -262144 -1 +-1 0.65 256; +#X connect 5 0 8 0; +#X connect 7 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 1 0; +#X connect 10 0 8 1; +#X connect 11 0 8 2; diff --git a/input.min.max_.pd b/input.min.max_.pd new file mode 100644 index 0000000..2b15691 --- /dev/null +++ b/input.min.max_.pd @@ -0,0 +1,141 @@ +#N canvas 1390 6 1055 791 10; +#X obj 105 116 hsl 128 15 0 1 0 0 empty empty 0.0629921 0 8 0 8 -262144 +-1 -1 800 0; +#X obj 105 130 hsl 128 15 0 1 0 0 empty empty 0.354331 0 8 0 8 -262144 +-1 -1 4500 0; +#X obj 402 668 outlet; +#X obj 468 617 pack; +#X obj 445 567 t f f; +#X obj 580 563 t f f; +#X obj 908 69 loadbang; +#X obj 952 228 pack \$1 \$2; +#X obj 1002 297 ==; +#X obj 952 260 t l l; +#X obj 952 293 +; +#X obj 952 321 == 0; +#X obj 970 353 &&; +#X obj 970 380 sel 1; +#X msg 966 415 1; +#X obj 826 317 f \$1; +#X obj 866 317 f \$2; +#X msg 50 234 label \$1; +#X obj 414 135 pack; +#X obj 414 166 unpack; +#X obj 460 241 >; +#X obj 415 324 f; +#X obj 411 272 demultiplex 0 1; +#X obj 397 360 pack; +#X obj 382 189 t f f f; +#X obj 414 299 b; +#X obj 548 432 t l l; +#X obj 645 462 s \$0top; +#X obj 475 34 r \$0top; +#X obj 482 63 unpack; +#X obj 545 486 unpack; +#X obj 55 362 makesymbol %s; +#X obj 186 340 makesymbol %s; +#X obj 614 149 pack; +#X obj 615 338 f; +#X obj 611 286 demultiplex 0 1; +#X obj 597 374 pack; +#X obj 582 203 t f f f; +#X obj 614 313 b; +#X obj 614 180 unpack; +#X obj 660 255 <; +#X msg 565 395 \$2 \$1; +#X msg 142 239 label \$1; +#X msg 188 399 set \$1; +#X msg 285 424 set \$1; +#X msg 52 45 label min; +#X msg 135 48 label max; +#X obj 761 -14 inlet; +#X obj 916 139 t b b b b; +#X obj 142 -1 t b; +#X obj 773 31 t b l; +#X obj 802 236 unpack; +#X obj 441 521 scale.linear 0 1 \$1 \$2; +#X obj 626 521 scale.linear 0 1 \$1 \$2; +#X obj 937 -10 inlet max; +#X obj 855 -11 inlet min; +#X connect 0 0 18 0; +#X connect 1 0 33 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 4 1 31 0; +#X connect 5 0 3 1; +#X connect 5 1 32 0; +#X connect 6 0 48 0; +#X connect 7 0 9 0; +#X connect 8 0 12 1; +#X connect 9 0 10 0; +#X connect 9 1 8 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 52 4; +#X connect 14 0 53 4; +#X connect 15 0 52 3; +#X connect 15 0 53 3; +#X connect 16 0 52 4; +#X connect 16 0 53 4; +#X connect 17 0 0 0; +#X connect 18 0 19 0; +#X connect 19 0 24 0; +#X connect 19 1 21 1; +#X connect 19 1 20 1; +#X connect 20 0 22 1; +#X connect 21 0 23 1; +#X connect 22 0 25 0; +#X connect 22 1 23 1; +#X connect 23 0 26 0; +#X connect 24 0 23 0; +#X connect 24 1 22 0; +#X connect 24 2 20 0; +#X connect 25 0 21 0; +#X connect 26 0 30 0; +#X connect 26 1 27 0; +#X connect 28 0 29 0; +#X connect 29 0 33 1; +#X connect 29 1 18 1; +#X connect 30 0 43 0; +#X connect 30 0 52 0; +#X connect 30 1 44 0; +#X connect 30 1 53 0; +#X connect 31 0 17 0; +#X connect 32 0 42 0; +#X connect 33 0 39 0; +#X connect 34 0 36 1; +#X connect 35 0 38 0; +#X connect 35 1 36 1; +#X connect 36 0 41 0; +#X connect 37 0 36 0; +#X connect 37 1 35 0; +#X connect 37 2 40 0; +#X connect 38 0 34 0; +#X connect 39 0 37 0; +#X connect 39 1 34 1; +#X connect 39 1 40 1; +#X connect 40 0 35 1; +#X connect 41 0 26 0; +#X connect 42 0 1 0; +#X connect 43 0 0 0; +#X connect 44 0 1 0; +#X connect 45 0 0 0; +#X connect 46 0 1 0; +#X connect 47 0 50 0; +#X connect 48 0 7 0; +#X connect 48 1 15 0; +#X connect 48 2 16 0; +#X connect 48 3 49 0; +#X connect 49 0 45 0; +#X connect 49 0 46 0; +#X connect 50 0 49 0; +#X connect 50 1 51 0; +#X connect 51 0 15 0; +#X connect 51 1 16 0; +#X connect 52 0 4 0; +#X connect 53 0 5 0; +#X connect 54 0 1 0; +#X connect 55 0 0 0; +#X coords 0 -1 1 1 137 47 1 100 100; diff --git a/input.piano_-help.pd b/input.piano_-help.pd new file mode 100644 index 0000000..0d94220 --- /dev/null +++ b/input.piano_-help.pd @@ -0,0 +1,35 @@ +#N canvas 90 66 897 734 10; +#X floatatom 465 525 5 0 0 0 - - -; +#X floatatom 595 559 5 0 0 0 - - -; +#X obj 483 645 noteout; +#X text 639 559 velocity (0/127); +#X text 502 523 pitch (48 to 84); +#X text 117 107 To change these associations \, click on the LEARN +toggle in the piano window \, select the midi key with the mouse and +press the corresponding key on the keyboard. If it worked \, the toggle +previously checked with the mouse will automatically uncheck. To leave +the LEARN mode \, just uncheck the LEARN button.; +#X text 62 5 Description: Transform your computer keyboard into a midi +piano.; +#X obj 183 532 unpack; +#X floatatom 164 573 5 0 0 0 - - -; +#X floatatom 234 574 5 0 0 0 - - -; +#X text 97 473 Outlet 1 simply groups the outputs of outlets 2 and +3; +#X text 59 33 Flags: gop @rguments; +#X text 117 200 You can create input.piano_ with the different following +argument options:; +#X text 128 249 2) @on float @keys relative_path_to_keys_file; +#X text 116 58 When this abstraction loads \, it automaticaly reads +include/default.keys and triggers midi values following keypresses +on a QWERTY keyboard.; +#X obj 186 298 input.piano_ 1; +#X text 127 231 1) float(on/off) symbol(relative path to keys file) +; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 15 0 7 0; +#X connect 15 1 0 0; +#X connect 15 2 1 0; diff --git a/input.piano_.pd b/input.piano_.pd new file mode 100644 index 0000000..704b08c --- /dev/null +++ b/input.piano_.pd @@ -0,0 +1,549 @@ +#N canvas 0 0 1028 718 10; +#X obj 647 692 outlet; +#N canvas 0 0 897 621 learnkeys 0; +#X obj 531 517 tabwrite \$0keys; +#X obj 271 369 f; +#X obj 303 325 t b f; +#X obj 526 487 pack f f; +#X obj 584 84 inlet; +#X text 624 84 midi key2set; +#X obj 304 86 inlet; +#X text 339 86 keyboard keydown; +#X obj 73 572 outlet; +#X obj 216 577 print input.piano_; +#X obj 359 480 makefilename %c; +#X msg 214 540 Linked midi note \$1 to key \$2; +#X obj 257 408 t f f f; +#X obj 317 512 pack f s; +#X connect 1 0 12 0; +#X connect 2 0 1 0; +#X connect 2 1 3 1; +#X connect 2 1 10 0; +#X connect 3 0 0 0; +#X connect 4 0 1 1; +#X connect 6 0 2 0; +#X connect 10 0 13 1; +#X connect 11 0 9 0; +#X connect 12 0 8 0; +#X connect 12 1 13 0; +#X connect 12 2 3 0; +#X connect 13 0 11 0; +#X restore 621 449 page learnkeys; +#X obj 564 284 tgl 15 0 empty empty empty 0 -6 0 8 -224695 -1 -1 0 +1; +#X obj 378 415 tabread \$0keys; +#X obj 459 382 unpack; +#X obj 374 474 pack; +#X obj 373 495 route 0; +#X obj 559 689 outlet; +#X obj 427 468 * 127; +#X text 697 653 velocity; +#X text 601 690 note; +#X msg 604 257 0; +#X obj 1026 208 symbol \$0keys; +#X msg 1026 229 \; \$1 const 0; +#X obj 920 156 bng 15 250 50 0 empty empty empty 0 -6 0 8 -224695 -1 +-1; +#X text 938 154 all reset; +#X obj 889 11 table \$0keys 256; +#X obj 285 591 makesymbol \$0r%smk; +#X obj 285 613 pack s f; +#X obj 285 568 unpack; +#X msg 285 635 \; \$1 set \$2; +#N canvas 1459 246 454 304 saveload 0; +#X obj 175 127 s \$0keys; +#X obj 41 -23 r \$0load; +#X obj 104 -22 r \$0save; +#X obj 41 4 openpanel; +#X obj 104 3 savepanel; +#X msg 41 78 read \$1; +#X msg 104 79 write \$1; +#X obj 260 10 r \$0file; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 889 32 pd saveload; +#X obj 940 409 unpack; +#X obj 940 431 swap; +#X obj 928 452 pack; +#N canvas 0 49 1006 684 mouse_receives 0; +#X obj 77 86 r \$0s49; +#X obj 143 86 r \$0s50; +#X obj 202 85 r \$0s51; +#X obj 275 83 r \$0s52; +#X obj 343 83 r \$0s53; +#X obj 403 86 r \$0s54; +#X obj 465 84 r \$0s55; +#X obj 526 84 r \$0s56; +#X obj 585 86 r \$0s57; +#X obj 650 88 r \$0s58; +#X obj 703 86 r \$0s59; +#X obj 754 88 r \$0s60; +#X obj 808 89 r \$0s61; +#X obj 859 89 r \$0s62; +#X obj 914 90 r \$0s63; +#X obj 961 92 r \$0s64; +#X obj 1019 95 r \$0s65; +#X obj 8 382 r \$0s66; +#X obj 72 383 r \$0s67; +#X obj 135 381 r \$0s68; +#X obj 187 384 r \$0s69; +#X obj 238 388 r \$0s70; +#X obj 293 387 r \$0s71; +#X obj 344 387 r \$0s72; +#X obj 400 386 r \$0s73; +#X obj 452 385 r \$0s74; +#X obj 503 385 r \$0s75; +#X obj 552 385 r \$0s76; +#X obj 601 382 r \$0s77; +#X obj 654 385 r \$0s78; +#X obj 702 386 r \$0s79; +#X obj 755 386 r \$0s80; +#X obj 809 387 r \$0s81; +#X obj 859 387 r \$0s82; +#X obj 909 387 r \$0s83; +#X obj 957 388 r \$0s84; +#X obj 5 86 r \$0s48; +#X obj 3 111 pack f 48; +#X obj 69 112 pack f 49; +#X obj 135 112 pack f 50; +#X obj 200 108 pack f 51; +#X obj 277 106 pack f 52; +#X obj 341 109 pack f 53; +#X obj 404 110 pack f 54; +#X obj 464 109 pack f 55; +#X obj 526 109 pack f 56; +#X obj 587 109 pack f 57; +#X obj 498 310 outlet; +#X obj 652 108 pack f 58; +#X obj 715 114 pack f 59; +#X obj 754 144 pack f 60; +#X obj 803 167 pack f 61; +#X obj 873 198 pack f 62; +#X obj 901 231 pack f 63; +#X obj 921 278 pack f 64; +#X obj 8 412 pack f 66; +#X obj 74 413 pack f 67; +#X obj 140 413 pack f 68; +#X obj 186 459 pack f 69; +#X obj 239 423 pack f 70; +#X obj 294 448 pack f 71; +#X obj 343 422 pack f 72; +#X obj 401 448 pack f 73; +#X obj 451 419 pack f 74; +#X obj 501 441 pack f 75; +#X obj 551 416 pack f 76; +#X obj 567 468 pack f 77; +#X obj 651 411 pack f 78; +#X obj 696 457 pack f 79; +#X obj 750 421 pack f 80; +#X obj 804 446 pack f 81; +#X obj 854 420 pack f 82; +#X obj 912 446 pack f 83; +#X obj 962 417 pack f 84; +#X obj 983 297 pack f 65; +#X connect 0 0 38 0; +#X connect 1 0 39 0; +#X connect 2 0 40 0; +#X connect 3 0 41 0; +#X connect 4 0 42 0; +#X connect 5 0 43 0; +#X connect 6 0 44 0; +#X connect 7 0 45 0; +#X connect 8 0 46 0; +#X connect 9 0 48 0; +#X connect 10 0 49 0; +#X connect 11 0 50 0; +#X connect 12 0 51 0; +#X connect 13 0 52 0; +#X connect 14 0 53 0; +#X connect 15 0 54 0; +#X connect 16 0 74 0; +#X connect 17 0 55 0; +#X connect 18 0 56 0; +#X connect 19 0 57 0; +#X connect 20 0 58 0; +#X connect 21 0 59 0; +#X connect 22 0 60 0; +#X connect 23 0 61 0; +#X connect 24 0 62 0; +#X connect 25 0 63 0; +#X connect 26 0 64 0; +#X connect 27 0 65 0; +#X connect 28 0 66 0; +#X connect 29 0 67 0; +#X connect 30 0 68 0; +#X connect 31 0 69 0; +#X connect 32 0 70 0; +#X connect 33 0 71 0; +#X connect 34 0 72 0; +#X connect 35 0 73 0; +#X connect 36 0 37 0; +#X connect 37 0 47 0; +#X connect 38 0 47 0; +#X connect 39 0 47 0; +#X connect 40 0 47 0; +#X connect 41 0 47 0; +#X connect 42 0 47 0; +#X connect 43 0 47 0; +#X connect 44 0 47 0; +#X connect 45 0 47 0; +#X connect 46 0 47 0; +#X connect 48 0 47 0; +#X connect 49 0 47 0; +#X connect 50 0 47 0; +#X connect 51 0 47 0; +#X connect 52 0 47 0; +#X connect 53 0 47 0; +#X connect 54 0 47 0; +#X connect 55 0 47 0; +#X connect 56 0 47 0; +#X connect 57 0 47 0; +#X connect 58 0 47 0; +#X connect 59 0 47 0; +#X connect 60 0 47 0; +#X connect 61 0 47 0; +#X connect 62 0 47 0; +#X connect 63 0 47 0; +#X connect 64 0 47 0; +#X connect 65 0 47 0; +#X connect 66 0 47 0; +#X connect 67 0 47 0; +#X connect 68 0 47 0; +#X connect 69 0 47 0; +#X connect 70 0 47 0; +#X connect 71 0 47 0; +#X connect 72 0 47 0; +#X connect 73 0 47 0; +#X connect 74 0 47 0; +#X restore 940 388 pd mouse_receives; +#X obj 559 635 unpack; +#X obj 493 328 == 0; +#X obj 556 170 r \$0learn; +#X obj 584 362 spigot; +#X obj 717 323 spigot; +#X obj 695 544 makesymbol \$0r%smk; +#X msg 699 578 \; \$1 set 0; +#X msg 648 533 0; +#X obj 378 392 swap; +#X obj 594 403 route 1; +#N canvas 673 209 355 563 keys 0; +#X obj 142 39 key; +#X obj 213 46 keyup; +#X msg 122 102 1 \$1; +#X msg 220 104 0 \$1; +#X obj 42 461 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X restore 453 143 pd keys; +#X obj 95 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 118 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 141 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 3 16 cnv 15 20 80 empty yellow empty 20 12 0 14 -224695 -224695 +0; +#X obj 26 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 49 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 72 16 cnv 15 20 80 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 16 16 cnv 14 14 55 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 42 16 cnv 14 14 55 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 85 16 cnv 14 14 55 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 109 16 cnv 14 14 55 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 134 16 cnv 14 14 55 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 7 78 tgl 12 0 \$0s48 \$0r48mk empty 20 8 0 8 -262144 -1 -1 0 +127; +#X obj 17 57 tgl 12 0 \$0s49 \$0r49mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 30 78 tgl 12 0 \$0s50 \$0r50mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 43 57 tgl 12 0 \$0s51 \$0r51mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 53 78 tgl 12 0 \$0s52 \$0r52mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 76 78 tgl 12 0 \$0s53 \$0r53mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 99 78 tgl 12 0 \$0s55 \$0r55mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 122 78 tgl 12 0 \$0s57 \$0r57mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 86 57 tgl 12 0 \$0s54 \$0r54mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 110 57 tgl 12 0 \$0s56 \$0r56mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 135 57 tgl 12 0 \$0s58 \$0r58mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 145 78 tgl 12 0 \$0s59 \$0r59mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 256 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 279 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 302 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 164 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 187 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 211 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 233 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 177 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 203 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 246 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 270 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 295 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 168 78 tgl 12 0 \$0s60 \$0r60mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 178 57 tgl 12 0 \$0s61 \$0r61mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 191 78 tgl 12 0 \$0s62 \$0r62mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 204 57 tgl 12 0 \$0s63 \$0r63mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 214 78 tgl 12 0 \$0s64 \$0r64mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 237 78 tgl 12 0 \$0s65 \$0r65mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 260 78 tgl 12 0 \$0s67 \$0r67mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 283 78 tgl 12 0 \$0s69 \$0r69mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 247 57 tgl 12 0 \$0s66 \$0r66mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 271 57 tgl 12 0 \$0s68 \$0r68mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 296 57 tgl 12 0 \$0s70 \$0r70mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 306 78 tgl 12 0 \$0s71 \$0r71mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 325 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 348 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 371 36 cnv 15 20 60 empty empty empty 20 12 0 14 -224695 -66577 +0; +#X obj 338 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 364 36 cnv 14 14 35 empty empty empty 20 12 0 14 -1 -66577 0 +; +#X obj 329 78 tgl 12 0 \$0s72 \$0r72mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 339 57 tgl 12 0 \$0s73 \$0r73mk empty 20 8 0 8 -262144 -1 -1 +0 1; +#X obj 352 78 tgl 12 0 \$0s74 \$0r74mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 365 57 tgl 12 0 \$0s75 \$0r75mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 375 78 tgl 12 0 \$0s76 \$0r76mk empty 20 8 0 8 -262144 -1 -1 +0 127; +#X obj 253 19 tgl 12 0 \$0learn empty Learn 15 6 0 8 -257985 -1 -1 +0 1; +#X obj 167 19 bng 12 250 50 0 \$0load empty Load 15 6 0 8 -24198 -1 +-1; +#X obj 210 19 bng 12 250 50 0 \$0save empty Save 15 6 0 8 -258699 -1 +-1; +#X obj 424 698 outlet; +#X obj 349 19 bng 12 250 50 0 empty empty Panic 15 6 0 8 -258699 -1 +-1; +#X obj 930 180 t b b; +#X obj 1106 309 makesymbol \$0r%smk; +#X obj 924 226 flow.gun; +#X obj 929 249 + 47; +#X msg 918 199 29; +#X obj 624 584 pack; +#X obj 383 231 spigot \$1; +#X obj 297 19 tgl 12 0 empty empty On/Off 15 6 0 8 -262144 -1 -1 1 +1; +#X obj 962 581 makesymbol \$0r%smk; +#X obj 951 537 flow.gun; +#X obj 956 560 + 47; +#X msg 945 510 29; +#X text 986 505 clear toggles; +#X obj 819 593 makesymbol \$0r%smk; +#X msg 865 635 \; \$1 set 1; +#X msg 955 620 \; \$1 0; +#X msg 1108 342 \; \$1 set 0; +#X obj 450 570 r \$0output; +#X obj 835 318 s \$0output; +#X msg 834 294 \$1 0; +#X obj 933 268 t f f; +#X obj 495 722 tabwrite \$0states; +#X obj 432 652 t l l l; +#X obj 497 681 swap; +#X obj 891 56 table \$0states 77; +#X obj 947 290 tabread \$0states; +#X obj 957 311 sel 1; +#X obj 1007 317 f; +#X obj 1006 346 t f f; +#X obj 490 702 > 0; +#X obj 718 345 unpack; +#X obj 727 383 spigot; +#X obj 773 362 > 0; +#X obj 644 213 sel 1; +#X obj 584 202 t f f; +#X obj 665 236 t b b; +#X msg 661 264 0; +#X obj 894 485 t l l; +#X obj 748 411 t f b b; +#X msg 658 371 1; +#X obj 625 495 t f b f b; +#X msg 706 499 0; +#X msg 930 709 Ready to link midi note \$1; +#X obj 950 738 print input.piano_; +#N canvas 217 101 722 544 INIT 0; +#X obj 88 481 outlet; +#X obj 170 27 loadbang; +#X obj 89 120 dollarg; +#X obj 478 403 outlet; +#X obj 281 478 s \$0file; +#X obj 231 352 file.path.top; +#X msg 262 430 read \$1; +#X obj 45 151 init.post.dollarg; +#X obj 68 212 route keys on; +#X obj 43 379 f 1; +#X obj 134 391 symbol include/input.piano_.keys; +#X obj 230 309 convert.list2symbol; +#X obj 175 64 t b b; +#X obj 31 179 route bang; +#X obj 143 258 list.split 1; +#X obj 154 179 t b b; +#X obj 249 275 route bang; +#X connect 1 0 12 0; +#X connect 2 0 7 0; +#X connect 2 1 7 1; +#X connect 5 0 10 1; +#X connect 6 0 4 0; +#X connect 7 0 13 0; +#X connect 7 1 15 0; +#X connect 8 0 11 0; +#X connect 8 1 9 1; +#X connect 8 2 14 0; +#X connect 9 0 0 0; +#X connect 10 0 6 0; +#X connect 11 0 5 0; +#X connect 12 0 2 0; +#X connect 12 1 3 0; +#X connect 13 1 8 0; +#X connect 14 0 9 1; +#X connect 14 1 16 0; +#X connect 15 0 9 0; +#X connect 15 1 10 0; +#X connect 16 1 11 0; +#X restore 538 69 pd INIT; +#X obj 592 95 t b b b b; +#X obj 459 356 spigot 1; +#X connect 1 0 140 0; +#X connect 2 0 27 0; +#X connect 2 0 30 1; +#X connect 3 0 5 0; +#X connect 4 0 34 0; +#X connect 4 1 34 1; +#X connect 5 0 6 0; +#X connect 6 1 19 0; +#X connect 6 1 122 0; +#X connect 8 0 5 1; +#X connect 11 0 2 0; +#X connect 12 0 13 0; +#X connect 14 0 100 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 19 0 17 0; +#X connect 19 1 18 1; +#X connect 22 0 23 0; +#X connect 22 1 23 1; +#X connect 23 0 24 0; +#X connect 23 1 24 1; +#X connect 24 0 137 0; +#X connect 25 0 22 0; +#X connect 26 0 7 0; +#X connect 26 1 0 0; +#X connect 27 0 146 1; +#X connect 28 0 134 0; +#X connect 29 0 35 0; +#X connect 30 0 130 0; +#X connect 31 0 32 0; +#X connect 33 0 105 1; +#X connect 34 0 3 0; +#X connect 34 1 8 0; +#X connect 35 0 1 0; +#X connect 36 0 106 0; +#X connect 99 0 14 0; +#X connect 100 0 104 0; +#X connect 101 0 116 0; +#X connect 102 0 103 0; +#X connect 103 0 120 0; +#X connect 104 0 102 0; +#X connect 105 0 122 0; +#X connect 106 0 29 0; +#X connect 106 0 146 0; +#X connect 107 0 106 1; +#X connect 108 0 115 0; +#X connect 109 0 110 0; +#X connect 110 0 108 0; +#X connect 111 0 109 0; +#X connect 113 0 114 0; +#X connect 117 0 122 0; +#X connect 119 0 118 0; +#X connect 120 0 125 0; +#X connect 120 1 127 1; +#X connect 122 0 98 0; +#X connect 122 1 26 0; +#X connect 122 2 123 0; +#X connect 123 0 129 0; +#X connect 123 1 121 1; +#X connect 125 0 126 0; +#X connect 126 0 127 0; +#X connect 127 0 128 0; +#X connect 128 0 119 0; +#X connect 128 1 101 0; +#X connect 129 0 121 0; +#X connect 130 0 131 0; +#X connect 130 1 132 0; +#X connect 131 0 138 0; +#X connect 132 0 131 1; +#X connect 133 0 135 0; +#X connect 134 0 2 0; +#X connect 134 1 133 0; +#X connect 135 0 136 0; +#X connect 135 1 14 0; +#X connect 136 0 29 1; +#X connect 137 0 122 0; +#X connect 137 1 30 0; +#X connect 138 0 1 1; +#X connect 138 0 142 0; +#X connect 138 1 139 0; +#X connect 138 2 14 0; +#X connect 139 0 29 1; +#X connect 140 0 105 0; +#X connect 140 1 33 0; +#X connect 140 2 31 0; +#X connect 140 3 141 0; +#X connect 141 0 29 1; +#X connect 142 0 143 0; +#X connect 144 0 107 0; +#X connect 144 1 145 0; +#X connect 145 3 11 0; +#X connect 146 0 4 0; +#X coords 0 -1 1 1 394 100 1 0 0; diff --git a/input.slider.choice_-help.pd b/input.slider.choice_-help.pd new file mode 100644 index 0000000..4809c67 --- /dev/null +++ b/input.slider.choice_-help.pd @@ -0,0 +1,15 @@ +#N canvas 672 292 556 287 10; +#X obj 351 139 s \$0r; +#X obj 354 169 r \$0s; +#X obj 354 194 print selected; +#X obj 351 74 loadbang; +#X msg 351 102 choices one two three \, set two; +#X obj 23 134 input.slider.choice_ name \$0r \$0s; +#X text 23 106 input.slider.choice_ name \$0r \$0s; +#X text 31 28 Description: A horizontal slider that slides through +preset choices (symbols).; +#X text 23 77 The input.slider.choice_ below was created with the following: +; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; diff --git a/input.slider.choice_.pd b/input.slider.choice_.pd new file mode 100644 index 0000000..99b05bc --- /dev/null +++ b/input.slider.choice_.pd @@ -0,0 +1,107 @@ +#N canvas 0 0 695 826 10; +#X obj 103 100 hsl 251 15 0 1 0 0 empty empty empty 2 7 0 10 -1 -262144 +-262144 8333 1; +#X obj 114 355 list.length; +#X obj 35 344 * 0; +#X obj 118 571 coll; +#C restore; +#X obj 38 367 int; +#X obj 34 418 change -1; +#X msg 131 417 set -1; +#X obj 70 630 t a a; +#X obj 443 97 r \$2; +#X obj 111 782 s \$3; +#X obj 382 179 t b a a b b; +#N canvas 542 301 703 590 storeChoices 0; +#X obj 112 55 list.unfold; +#X msg 267 185 clear; +#X obj 181 121 t b b; +#X obj 53 212 list prepend; +#X obj 129 136 f; +#X obj 176 158 + 1; +#X obj 127 158 t f f; +#X obj 56 242 list trim; +#X msg 145 110 0; +#X obj 123 15 inlet; +#X obj 138 337 outlet; +#X obj 48 163 list; +#X obj 68 94 t a a b; +#X msg 129 186 nstore \$1; +#X obj 337 16 inlet; +#X connect 0 0 12 0; +#X connect 1 0 10 0; +#X connect 2 0 8 0; +#X connect 2 1 1 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 4 1; +#X connect 6 0 13 0; +#X connect 6 1 5 0; +#X connect 7 0 10 0; +#X connect 8 0 4 1; +#X connect 9 0 0 0; +#X connect 11 0 3 0; +#X connect 12 0 11 0; +#X connect 12 1 11 1; +#X connect 12 2 4 0; +#X connect 13 0 3 1; +#X connect 14 0 2 0; +#X restore 258 373 pd storeChoices; +#N canvas 758 464 450 300 buildLabel 0; +#X msg 112 240 label \$1; +#X obj 113 159 list prepend \$1; +#X msg 244 83 symbol; +#X obj 121 100 inlet; +#X obj 110 281 outlet; +#X obj 111 189 makesymbol %s:%s; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 5 0 0 0; +#X restore 402 712 pd buildLabel; +#X msg 497 375 symbol; +#X obj 441 133 route choices set; +#X obj 248 147 / 1; +#X obj 59 704 demultiplex 0 1; +#X msg 164 156 set \$1; +#X obj 498 182 t b a b; +#X msg 291 614 1; +#X msg 246 626 0; +#X obj 173 706 demultiplex 0 1; +#X msg 183 28 label; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 1 0 15 1; +#X connect 2 0 4 0; +#X connect 3 0 7 0; +#X connect 3 1 21 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 7 0 16 0; +#X connect 7 1 12 0; +#X connect 8 0 14 0; +#X connect 10 1 1 0; +#X connect 10 2 11 0; +#X connect 10 3 6 0; +#X connect 10 4 13 0; +#X connect 10 4 11 1; +#X connect 11 0 3 0; +#X connect 12 0 0 0; +#X connect 13 0 12 0; +#X connect 14 0 10 0; +#X connect 14 1 18 0; +#X connect 15 0 17 0; +#X connect 16 0 9 0; +#X connect 17 0 0 0; +#X connect 18 0 20 0; +#X connect 18 1 3 0; +#X connect 18 2 19 0; +#X connect 19 0 16 1; +#X connect 19 0 21 1; +#X connect 20 0 16 1; +#X connect 20 0 21 1; +#X connect 21 1 15 0; +#X connect 22 0 0 0; +#X coords 0 -1 1 1 256 15 2 100 100; diff --git a/input.slider_-help.pd b/input.slider_-help.pd new file mode 100644 index 0000000..63a467a --- /dev/null +++ b/input.slider_-help.pd @@ -0,0 +1,14 @@ +#N canvas 31 604 743 183 10; +#X text 27 15 Description: 2 ways of sliding; +#X obj 410 68 s \$0r; +#X obj 410 97 r \$0s; +#X obj 410 120 print number; +#X text 28 70 The input.slidenum_ below was created with the following: +; +#X obj 410 23 loadbang; +#X obj 31 115 input.slider_ name \$0r \$0s 4 100; +#X text 27 86 input.slider_ name \$0r \$0s; +#X msg 410 45 range 0 100 \, 34; +#X connect 2 0 3 0; +#X connect 5 0 8 0; +#X connect 8 0 1 0; diff --git a/input.slider_.pd b/input.slider_.pd new file mode 100644 index 0000000..a985041 --- /dev/null +++ b/input.slider_.pd @@ -0,0 +1,33 @@ +#N canvas 1376 266 1184 679 10; +#X obj 100 122 t f f; +#X obj 297 123 t f f; +#X msg 297 149 set \$1; +#X msg 127 155 set \$1; +#X obj 297 100 nbx 5 15 0 100 0 0 empty empty empty 0 -8 0 10 -1 -262144 +-262144 34 256; +#X obj 173 -83 r \$2; +#X obj 316 213 s \$3; +#X obj 103 100 hsl 193 15 0 100 0 0 empty empty \$1 3 8 0 10 -1 -262144 +-262144 6528 1; +#X msg 23 0 range \$1 \$2; +#X msg 106 -1 range \$1 \$2; +#X obj 173 -49 route range set; +#X msg 193 -2 set \$1; +#X connect 0 0 6 0; +#X connect 0 1 3 0; +#X connect 1 0 2 0; +#X connect 1 1 6 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 5 0 10 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 9 0 4 0; +#X connect 10 0 8 0; +#X connect 10 0 9 0; +#X connect 10 1 11 0; +#X connect 10 2 4 0; +#X connect 11 0 7 0; +#X connect 11 0 4 0; +#X coords 0 -1 1 1 251 15 2 100 100; diff --git a/jesuisunpd.sh b/jesuisunpd.sh new file mode 100755 index 0000000..3324207 --- /dev/null +++ b/jesuisunpd.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +#should detect if on osx + +if `test $# -ne 1` +then + echo "Usage: $0 path_to_your_pd" +fi + +externals=`find $1 -type d -name extra` +#echo $externals +if [ $externals ]; then + echo "Found extra folder: $externals" +else + echo "Could not find extra folder" + exit +fi + +docs=`find $1 -type d -name 5.reference` +#echo $docs +if [ $docs ]; then + echo "Found docs folder: $docs" +else + echo "Could not find docs folder" + exit +fi + + +folders="cyclone ggee iemmatrix tof toxy flatspace moocow zexy hcs maxlib iemlib ext13 creb unauthorized pdcontainer oscx pdstring" +echo "Do you want to defolderize the following externals: $folders" +echo -n "YES/NO? " + +read answer + +if [ "$answer" == 'YES' ]; then + for folder in $folders; do + external=$externals/$folder + doc=$docs/$folder + if [ -a $external ]; then + echo "Moving $external > .." + mv $external/*.* $externals + fi + + if [ -a $doc ]; then + echo "Moving $doc > .." + mv $doc/*.pd $docs + fi + + done +fi diff --git a/list.abs-help.pd b/list.abs-help.pd new file mode 100644 index 0000000..46827cd --- /dev/null +++ b/list.abs-help.pd @@ -0,0 +1,12 @@ +#N canvas 1951 268 565 308 10; +#X obj 80 209 list.abs; +#X msg 80 121 0.5 -0.3 5.3 -100; +#X msg 207 157 abs value of -100; +#X obj 80 257 print; +#X text 44 23 Description: Returns the absolute value of all floats +in a list.; +#X text 206 180 All elements that are not floats are simply ignored. +; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; diff --git a/list.abs.pd b/list.abs.pd new file mode 100644 index 0000000..19b70c7 --- /dev/null +++ b/list.abs.pd @@ -0,0 +1,12 @@ +#N canvas 1905 275 450 300 10; +#X obj 85 52 inlet list; +#X obj 100 272 outlet; +#X obj 100 137 list.op; +#X obj 243 166 abs; +#X obj 183 125 route symbol; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 4 1 3 0; diff --git a/list.avg-help.pd b/list.avg-help.pd new file mode 100644 index 0000000..c2b52a1 --- /dev/null +++ b/list.avg-help.pd @@ -0,0 +1,9 @@ +#N canvas 115 133 674 524 10; +#X obj 273 270 list.avg; +#X floatatom 273 323 5 0 0 0 - - -; +#X msg 243 192 12 43 23; +#X msg 348 198 3 10 2; +#X text 157 102 Description: Returns the average value of a list.; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; diff --git a/list.avg.pd b/list.avg.pd new file mode 100644 index 0000000..34d96ba --- /dev/null +++ b/list.avg.pd @@ -0,0 +1,26 @@ +#N canvas 115 133 674 524 10; +#X obj 224 44 inlet; +#X obj 223 184 drip; +#X obj 301 154 length; +#X obj 258 369 /; +#X obj 238 111 t l l b; +#X obj 224 231 +; +#X msg 259 206 0; +#X obj 224 257 t f f; +#X obj 262 432 outlet; +#X obj 206 86 t b l; +#X obj 194 296 f; +#X connect 0 0 9 0; +#X connect 1 0 5 0; +#X connect 2 0 3 1; +#X connect 3 0 8 0; +#X connect 4 0 1 0; +#X connect 4 1 2 0; +#X connect 4 2 6 0; +#X connect 5 0 7 0; +#X connect 6 0 5 1; +#X connect 7 0 10 1; +#X connect 7 1 5 1; +#X connect 9 0 10 0; +#X connect 9 1 4 0; +#X connect 10 0 3 0; diff --git a/list.bool2pos-help.pd b/list.bool2pos-help.pd new file mode 100644 index 0000000..7697aad --- /dev/null +++ b/list.bool2pos-help.pd @@ -0,0 +1,15 @@ +#N canvas 402 297 520 293 10; +#X msg 62 144 1 0 1 0 1 1 0 1 0 1 0 1; +#X obj 61 118 loadbang; +#X obj 62 198 prepend set; +#X msg 62 223 1 3 5 6 8 10 12; +#X text 39 26 Description: Converts a list of boolean values to a list +containing the index of values that are TRUE (1) in the first list +; +#X obj 62 173 list.bool2pos; +#X msg 185 116 0 0 0 0 1 1 1 1; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 5 0 2 0; +#X connect 6 0 5 0; diff --git a/list.bool2pos.pd b/list.bool2pos.pd new file mode 100644 index 0000000..ccf96d9 --- /dev/null +++ b/list.bool2pos.pd @@ -0,0 +1,28 @@ +#N canvas 0 0 462 441 10; +#X obj 238 72 inlet; +#X obj 254 153 drip; +#X obj 200 291 list.build; +#X obj 290 211 f; +#X msg 310 173 1; +#X obj 327 206 + 1; +#X obj 258 177 t f b; +#X obj 243 205 == 1; +#X obj 279 256 f; +#X obj 238 114 t b l b; +#X obj 209 327 outlet; +#X obj 253 234 sel 1; +#X connect 0 0 9 0; +#X connect 1 0 6 0; +#X connect 2 0 10 0; +#X connect 3 0 5 0; +#X connect 3 0 8 1; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 6 0 7 0; +#X connect 6 1 3 0; +#X connect 7 0 11 0; +#X connect 8 0 2 1; +#X connect 9 0 2 0; +#X connect 9 1 1 0; +#X connect 9 2 4 0; +#X connect 11 0 8 0; diff --git a/list.build-help.pd b/list.build-help.pd new file mode 100644 index 0000000..1aa55c2 --- /dev/null +++ b/list.build-help.pd @@ -0,0 +1,51 @@ +#N canvas 183 26 766 885 12; +#X floatatom 345 114 5 0 0 0 - - -; +#X obj 182 138 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 147 375 print result; +#X text 395 115 Data; +#X msg 343 169 symbol foo; +#X msg 347 200 symbol glue; +#X text 454 180 works with symbols too; +#X obj 343 258 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 368 258 Bang to clear current list; +#X text 35 112 Bang to output and clear; +#X floatatom 333 374 5 0 0 0 - - -; +#X text 390 374 current length of list being built; +#X text 93 59 Description: Builds a list with the incomming data. New +data is either append or prepended to the list being built.; +#X text 305 289 Appends data by default.; +#X floatatom 343 416 5 0 0 0 - - -; +#X obj 180 440 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 145 677 print result; +#X text 393 417 Data; +#X text 486 475 works with symbols too; +#X obj 410 562 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 437 559 Bang to clear current list; +#X text 33 414 Bang to output and clear; +#X floatatom 354 663 5 0 0 0 - - -; +#X text 357 682 current length of list being built; +#X text 389 591 Can also prepend.; +#X obj 200 592 list.build prepend; +#X msg 398 470 symbol a; +#X msg 402 501 symbol b; +#X msg 415 529 symbol c; +#X obj 202 290 list.build; +#X connect 0 0 29 1; +#X connect 1 0 29 0; +#X connect 4 0 29 1; +#X connect 5 0 29 1; +#X connect 7 0 29 1; +#X connect 14 0 25 1; +#X connect 15 0 25 0; +#X connect 19 0 25 1; +#X connect 25 0 16 0; +#X connect 25 1 22 0; +#X connect 26 0 25 1; +#X connect 27 0 25 1; +#X connect 28 0 25 1; +#X connect 29 0 2 0; +#X connect 29 1 10 0; diff --git a/list.build.pd b/list.build.pd new file mode 100644 index 0000000..249a292 --- /dev/null +++ b/list.build.pd @@ -0,0 +1,44 @@ +#N canvas 0 0 633 500 10; +#X obj 174 313 t l l; +#X obj 135 381 list; +#X obj 105 151 route bang; +#X obj 148 445 outlet; +#X obj 123 98 inlet; +#X obj 347 254 f; +#X obj 337 313 t f f; +#X obj 337 283 + 1; +#X msg 395 215 0; +#X obj 351 455 outlet; +#X obj 334 31 inlet clear; +#X obj 307 77 route bang; +#X obj 358 107 t b b b; +#X obj 174 277 list \$1; +#X obj 174 248 list; +#X obj 105 195 t b b b b b; +#X obj 225 177 t b b a; +#X connect 0 0 1 1; +#X connect 0 1 14 1; +#X connect 1 0 3 0; +#X connect 2 0 15 0; +#X connect 2 1 16 0; +#X connect 4 0 2 0; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 6 1 5 1; +#X connect 7 0 6 0; +#X connect 8 0 5 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 11 1 16 0; +#X connect 12 0 14 1; +#X connect 12 1 1 1; +#X connect 12 2 8 0; +#X connect 13 0 0 0; +#X connect 14 0 13 0; +#X connect 15 0 1 1; +#X connect 15 1 1 0; +#X connect 15 2 14 1; +#X connect 15 3 8 0; +#X connect 16 0 5 0; +#X connect 16 1 14 0; +#X connect 16 2 13 1; diff --git a/list.cog-help.pd b/list.cog-help.pd new file mode 100644 index 0000000..7851746 --- /dev/null +++ b/list.cog-help.pd @@ -0,0 +1,30 @@ +#N canvas 1471 0 780 574 10; +#X obj 109 432 list.cog; +#X msg 109 238 0 1 0; +#X floatatom 109 500 5 0 0 0 - - -; +#X msg 171 240 2 0 0; +#X msg 242 240 1 1 1 6; +#X msg 334 278 1 1 1 1; +#X msg 393 288 2 2 2 2 2; +#X text 379 260 If there is no center \, the middle index is output +; +#X msg 329 361 23 23 23 23 23 23 23 25; +#X msg 334 393 0 0 0 0 0 0 2 0; +#X msg 341 426 0 1 0 0 0 0 2 0; +#X text 56 87 Description: Finds the center of gravity of a one dimensional +list (average of the indexes weighted by their values).; +#X text 55 150 Works with the following formula:; +#X text 167 179 COG = (1/(sum of values)) * sum of(value*index); +#X obj 205 488 number.round; +#X floatatom 206 521 5 0 0 0 - - -; +#X connect 0 0 2 0; +#X connect 0 0 14 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 14 0 15 0; diff --git a/list.cog.pd b/list.cog.pd new file mode 100644 index 0000000..c56f6a5 --- /dev/null +++ b/list.cog.pd @@ -0,0 +1,67 @@ +#N canvas 1313 49 1247 939 10; +#X obj 585 -52 inlet; +#X obj 548 726 outlet; +#X obj 651 110 list.unfold; +#X obj 918 196 f; +#X obj 971 190 + 1; +#X msg 826 69 0; +#X obj 651 141 t a b; +#X obj 909 344 t f f; +#X obj 670 320 *; +#X obj 646 191 route float; +#X obj 579 30 t b a b; +#N canvas 0 0 450 300 error 0; +#X obj 39 163 print list.cog; +#X obj 37 42 inlet; +#X msg 32 130 Expected a list of floats but received a \$1. End result +will be garbage.; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X restore 719 224 pd error; +#X obj 726 387 + 0; +#X obj 732 412 t f f; +#X obj 517 537 f; +#X obj 522 581 *; +#X msg 944 459 1 \$1; +#X obj 947 490 /; +#X obj 889 313 + 0; +#X obj 687 261 t f f; +#X obj 918 224 t f f; +#X text 977 223 radius; +#X text 974 345 total mass; +#X text 736 256 mass; +#X obj 878 390 sel 0; +#X msg 845 441 0; +#X connect 0 0 10 0; +#X connect 2 0 6 0; +#X connect 3 0 20 0; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 5 0 12 1; +#X connect 5 0 14 1; +#X connect 5 0 18 1; +#X connect 6 0 9 0; +#X connect 6 1 3 0; +#X connect 7 0 24 0; +#X connect 7 1 18 1; +#X connect 8 0 12 0; +#X connect 9 0 19 0; +#X connect 9 1 11 0; +#X connect 10 0 14 0; +#X connect 10 1 2 0; +#X connect 10 2 5 0; +#X connect 12 0 13 0; +#X connect 13 0 14 1; +#X connect 13 1 12 1; +#X connect 14 0 15 0; +#X connect 15 0 1 0; +#X connect 16 0 17 0; +#X connect 17 0 15 1; +#X connect 18 0 7 0; +#X connect 19 0 8 0; +#X connect 19 1 18 0; +#X connect 20 0 8 1; +#X connect 20 1 4 0; +#X connect 24 0 25 0; +#X connect 24 1 16 0; +#X connect 25 0 15 1; diff --git a/list.compare-help.pd b/list.compare-help.pd new file mode 100644 index 0000000..240e737 --- /dev/null +++ b/list.compare-help.pd @@ -0,0 +1,16 @@ +#N canvas 1342 462 611 415 10; +#X obj 74 162 list.compare; +#X msg 233 71 1 2 3 4; +#X msg 89 65 4; +#X msg 123 66 1 2 3 4; +#X msg 43 65 1 2 3; +#X obj 74 221 print COMPARE; +#X text 176 223 Returns 1 if both lists are equal. 0 if not.; +#X msg 131 91 4 3 2 1; +#X text 52 20 Desciption: Compares two lists.; +#X connect 0 0 5 0; +#X connect 1 0 0 1; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 7 0 0 0; diff --git a/list.compare.pd b/list.compare.pd new file mode 100644 index 0000000..6f9d122 --- /dev/null +++ b/list.compare.pd @@ -0,0 +1,19 @@ +#N canvas 296 279 479 425 10; +#X obj 51 71 inlet; +#X obj 281 74 inlet; +#X obj 83 380 outlet; +#X obj 61 297 sel 0; +#X msg 52 331 1; +#X msg 87 330 0; +#X obj 322 135 loadbang; +#X obj 322 164 dollarg; +#X obj 62 254 strcmp; +#X connect 0 0 8 0; +#X connect 1 0 8 1; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 8 1; +#X connect 8 0 3 0; diff --git a/list.concatenate-help.pd b/list.concatenate-help.pd new file mode 100644 index 0000000..20ee6a9 --- /dev/null +++ b/list.concatenate-help.pd @@ -0,0 +1,13 @@ +#N canvas 104 134 683 489 10; +#X obj 144 191 list.concatenate; +#X msg 143 119 list a b c d; +#X msg 282 122 1 2 3 4 5; +#X text 56 11 Description: Concatenantes the elements of a list.; +#X msg 333 166 - 4 5 6; +#X msg 344 207 2d.; +#X obj 142 314 print; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; diff --git a/list.concatenate.pd b/list.concatenate.pd new file mode 100644 index 0000000..a242ed7 --- /dev/null +++ b/list.concatenate.pd @@ -0,0 +1,8 @@ +#N canvas 483 451 683 489 10; +#X obj 65 41 inlet; +#X obj 65 427 outlet; +#X obj 65 241 mergefilename; +#X obj 65 357 fromsymbol; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; diff --git a/list.contains-help.pd b/list.contains-help.pd new file mode 100644 index 0000000..e43e8d2 --- /dev/null +++ b/list.contains-help.pd @@ -0,0 +1,36 @@ +#N canvas 228 148 587 516 10; +#X floatatom 229 125 5 0 0 0 - - -; +#X obj 113 229 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 54 96 1 54 34; +#X text 107 97 List of floats; +#X floatatom 203 190 5 0 0 0 - - -; +#X text 138 266 ---------------------------; +#X obj 113 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X floatatom 227 413 5 0 0 0 - - -; +#X msg 54 316 list big ugly duck; +#X msg 215 345 list quack; +#X msg 325 345 list duck; +#X obj 113 159 list.contains 34; +#X obj 113 379 list.contains big; +#X msg 21 125 43 87 2; +#X text 18 30 Description: Check for the existence of an element in +a list.; +#X text 237 157 Argument 1: the element searched for.; +#X text 270 127 Change the element searched for.; +#X text 244 191 Returns the index where the element was found (-1 of +not found).; +#X text 135 227 1 if found \, 0 if not.; +#X text 84 280 WARNING: For list list.contains to work with symbols +\, it must be initialized with a symbol!; +#X connect 0 0 11 1; +#X connect 2 0 11 0; +#X connect 8 0 12 0; +#X connect 9 0 12 1; +#X connect 10 0 12 1; +#X connect 11 0 1 0; +#X connect 11 1 4 0; +#X connect 12 0 6 0; +#X connect 12 1 7 0; +#X connect 13 0 11 0; diff --git a/list.contains.pd b/list.contains.pd new file mode 100644 index 0000000..12bad06 --- /dev/null +++ b/list.contains.pd @@ -0,0 +1,66 @@ +#N canvas 403 186 608 502 10; +#X obj 39 17 inlet; +#X obj 141 121 length; +#X obj 232 17 inlet; +#X text 73 16 list of floats; +#X obj 155 405 outlet; +#X text 157 432 1 if in list \, 0 if not; +#X obj 14 314 f; +#X obj 41 314 + 1; +#X msg 95 332 bang; +#X msg 35 284 0; +#X obj 44 345 moses; +#X msg 94 393 0; +#X obj 67 152 lister; +#X obj 14 125 t b f; +#X obj 66 201 packel 1; +#X obj 39 160 + 1; +#X msg 220 132 bang; +#X msg 219 160 1; +#X obj 39 79 t l l b; +#X obj 299 318 f; +#X obj 315 240 - 1; +#X obj 173 361 t f b; +#X obj 400 378 outlet; +#X obj 107 367 t b b; +#X msg 395 335 -1; +#X obj 115 253 sel \$1; +#X msg 158 304 1; +#X text 266 18 element to check; +#X obj 54 48 route bang; +#X connect 0 0 28 0; +#X connect 1 0 10 1; +#X connect 2 0 25 1; +#X connect 6 0 7 0; +#X connect 6 0 10 0; +#X connect 7 0 6 1; +#X connect 8 0 6 0; +#X connect 9 0 6 1; +#X connect 10 0 13 0; +#X connect 10 1 23 0; +#X connect 11 0 4 0; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 13 1 15 0; +#X connect 14 0 25 0; +#X connect 15 0 14 1; +#X connect 15 0 20 0; +#X connect 16 0 9 0; +#X connect 16 0 17 0; +#X connect 17 0 14 1; +#X connect 17 0 20 0; +#X connect 18 0 12 0; +#X connect 18 1 1 0; +#X connect 18 2 16 0; +#X connect 19 0 22 0; +#X connect 20 0 19 1; +#X connect 21 0 4 0; +#X connect 21 1 19 0; +#X connect 23 0 11 0; +#X connect 23 1 24 0; +#X connect 24 0 22 0; +#X connect 25 0 26 0; +#X connect 25 1 8 0; +#X connect 26 0 21 0; +#X connect 28 0 23 0; +#X connect 28 1 18 0; diff --git a/list.cut.up-help.pd b/list.cut.up-help.pd new file mode 100644 index 0000000..35bdda3 --- /dev/null +++ b/list.cut.up-help.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 648 276 10; +#X obj 113 184 list.cut.up 3; +#X msg 48 125 1 2 3 4 5 6; +#X obj 113 239 print; +#X msg 191 130 list a b c d e f g; +#X text 37 11 Description: Cuts up a list into sublists. Leftovers +are also output.; +#X text 188 95 Note that with this second list \, the leftover 'g' +is output by itself.; +#X text 294 184 Argument_1: Size of cuts.; +#X text 292 168 Inlet_1: Size if cuts.; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; diff --git a/list.cut.up.pd b/list.cut.up.pd new file mode 100644 index 0000000..948e367 --- /dev/null +++ b/list.cut.up.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 450 300 10; +#X obj 96 175 zl iter \$1; +#X obj 90 77 inlet; +#X obj 122 245 outlet; +#X obj 230 80 inlet; +#X obj 193 215 list; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 2 0; diff --git a/list.cycle-help.pd b/list.cycle-help.pd new file mode 100644 index 0000000..9e1243d --- /dev/null +++ b/list.cycle-help.pd @@ -0,0 +1,33 @@ +#N canvas 756 516 681 405 10; +#X obj 30 164 prepend set; +#X msg 30 189 0 2 4 6; +#X floatatom 123 102 5 0 0 0 - - -; +#X floatatom 76 92 5 0 0 0 - - -; +#X text 22 7 Description: Cycle through the elements of a list \, giving +every n element (jumping over some \, if necessary) and a total of +up to m elements; +#X text 293 125 It is used for building chords out of a scale.; +#X msg 304 196 0 2 4 5 7 9 11; +#X obj 304 294 prepend set; +#X msg 304 319 0 0 0 0; +#X floatatom 393 228 5 0 0 0 - - -; +#X msg 30 69 0 1 2 3 4 5 6 7 8 9 10 11; +#X obj 304 170 t b f; +#X floatatom 302 148 5 0 0 0 - - -; +#X text 414 195 Major scale; +#X text 436 230 Number of notes in each chord; +#X obj 30 122 list.cycle 2 4; +#X text 378 152 Interval between each note; +#X obj 304 252 list.cycle 2 4; +#X connect 0 0 1 0; +#X connect 2 0 15 2; +#X connect 3 0 15 1; +#X connect 6 0 17 0; +#X connect 7 0 8 0; +#X connect 9 0 17 2; +#X connect 10 0 15 0; +#X connect 11 0 6 0; +#X connect 11 1 17 1; +#X connect 12 0 11 0; +#X connect 15 0 0 0; +#X connect 17 0 7 0; diff --git a/list.cycle.pd b/list.cycle.pd new file mode 100644 index 0000000..101e551 --- /dev/null +++ b/list.cycle.pd @@ -0,0 +1,55 @@ +#N canvas 37 89 642 617 10; +#X obj 139 32 inlet; +#X obj 105 554 outlet; +#X obj 103 528 list.build; +#X obj 293 128 list append; +#X obj 505 70 inlet; +#X obj 178 264 list split 1; +#X text 552 71 number of elements to keep; +#X obj 395 354 + 1; +#X obj 275 297 t a b; +#X obj 108 85 t b a b; +#X obj 155 370 spigot; +#X obj 220 455 t f f; +#X obj 514 110 loadbang; +#X obj 204 25 inlet; +#X obj 289 2 loadbang; +#X obj 291 38 init.df \$1 2; +#X text 144 11 list; +#X text 299 61 output every n items; +#X text 518 167 for m items; +#X text 228 185 formerly [list-rot]; +#X obj 516 146 init.df \$2 1; +#X obj 198 215 zl rot; +#X msg 393 310 0; +#X obj 357 353 f 0; +#X obj 360 389 <; +#X text 392 390 from 0 to n-1; +#X obj 235 99 expr 0-$f1; +#X text 277 82 Needs to be negative \, it seems; +#X connect 0 0 9 0; +#X connect 2 0 1 0; +#X connect 3 0 21 0; +#X connect 4 0 24 1; +#X connect 5 0 10 0; +#X connect 5 1 8 0; +#X connect 7 0 23 1; +#X connect 8 0 3 1; +#X connect 8 1 23 0; +#X connect 9 0 2 0; +#X connect 9 1 5 0; +#X connect 9 2 22 0; +#X connect 10 0 11 0; +#X connect 11 0 3 0; +#X connect 11 1 2 1; +#X connect 12 0 20 0; +#X connect 13 0 26 0; +#X connect 14 0 15 0; +#X connect 15 0 26 0; +#X connect 20 0 24 1; +#X connect 21 0 5 0; +#X connect 22 0 23 1; +#X connect 23 0 7 0; +#X connect 23 0 24 0; +#X connect 24 0 10 1; +#X connect 26 0 21 1; diff --git a/list.delay-help.pd b/list.delay-help.pd new file mode 100644 index 0000000..4c32307 --- /dev/null +++ b/list.delay-help.pd @@ -0,0 +1,16 @@ +#N canvas 358 242 458 308 10; +#X obj 127 157 list.delay 1000; +#X obj 127 210 print; +#X msg 70 81 4 5 6; +#X obj 235 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 256 75 stop; +#X floatatom 254 112 5 0 0 0 - - -; +#X text 291 113 delay; +#X msg 105 110 list a b c; +#X text 72 11 Description: Delays an incomming list.; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 5 0 0 1; +#X connect 7 0 0 0; diff --git a/list.delay.pd b/list.delay.pd new file mode 100644 index 0000000..dd90561 --- /dev/null +++ b/list.delay.pd @@ -0,0 +1,18 @@ +#N canvas 0 0 458 308 10; +#X obj 69 32 inlet; +#X obj 123 140 list; +#X obj 124 57 t b a; +#X obj 238 32 inlet; +#X obj 200 104 delay \$1; +#X obj 127 185 outlet; +#X obj 246 65 route bang; +#X msg 188 69 stop; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 2 1 1 1; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 6 0 7 0; +#X connect 6 1 4 1; +#X connect 7 0 4 0; diff --git a/list.delete-help.pd b/list.delete-help.pd new file mode 100644 index 0000000..7be4412 --- /dev/null +++ b/list.delete-help.pd @@ -0,0 +1,10 @@ +#N canvas 78 171 450 300 10; +#X text 73 34 Description: Delete an index from a list.; +#X obj 94 187 print; +#X floatatom 190 91 5 0 0 0 - - -; +#X msg 85 81 list a b c d; +#X text 252 91 1 = first index; +#X obj 88 134 list.delete 0; +#X connect 2 0 5 1; +#X connect 3 0 5 0; +#X connect 5 0 1 0; diff --git a/list.delete.pd b/list.delete.pd new file mode 100644 index 0000000..d1654a3 --- /dev/null +++ b/list.delete.pd @@ -0,0 +1,27 @@ +#N canvas 0 0 814 579 10; +#X obj 117 205 list split; +#X obj 85 270 list append; +#X obj 127 232 list split 1; +#X obj 87 37 inlet list; +#X obj 239 41 inlet pos; +#X obj 258 127 f \$1; +#X obj 65 323 outlet; +#X obj 48 101 demultiplex 0 1; +#X obj 290 163 > 0; +#X obj 280 85 loadbang; +#X obj 216 212 - 1; +#X obj 227 178 moses 0; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 6 0; +#X connect 2 1 1 1; +#X connect 3 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 5 0 11 0; +#X connect 7 0 6 0; +#X connect 7 1 0 0; +#X connect 8 0 7 1; +#X connect 9 0 5 0; +#X connect 10 0 0 1; +#X connect 11 1 10 0; diff --git a/list.element-help.pd b/list.element-help.pd new file mode 100644 index 0000000..f190df5 --- /dev/null +++ b/list.element-help.pd @@ -0,0 +1,21 @@ +#N canvas 1379 379 506 560 10; +#X obj 117 199 list.element; +#X msg 117 164 list a b c d e f g; +#X floatatom 315 97 5 0 0 0 - - -; +#X obj 297 126 t b f; +#X obj 117 249 print ELEMENT; +#X text 44 32 Description: Returns the nth element of a list.; +#X msg 124 413 list a b c d e f g; +#X obj 124 490 print LAST_ELEMENT; +#X obj 124 455 list.element -1; +#X text 61 365 If you use negative element numbers \, it will count +from the end of the list.; +#X text 43 48 Comment: Also works with negative values. Wraps zexy's +packel.; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 0 1; +#X connect 6 0 8 0; +#X connect 8 0 7 0; diff --git a/list.element.pd b/list.element.pd new file mode 100644 index 0000000..7a02d63 --- /dev/null +++ b/list.element.pd @@ -0,0 +1,10 @@ +#N canvas 629 206 610 380 10; +#X obj 57 29 inlet list; +#X obj 248 30 inlet element; +#X obj 78 215 outlet value; +#X text 194 126 Note: if changed must work with negatives element indices. +; +#X obj 77 113 packel \$1; +#X connect 0 0 4 0; +#X connect 1 0 4 1; +#X connect 4 0 2 0; diff --git a/list.find-help.pd b/list.find-help.pd new file mode 100644 index 0000000..1526d69 --- /dev/null +++ b/list.find-help.pd @@ -0,0 +1,17 @@ +#N canvas 582 208 542 343 10; +#X obj 90 148 list.find; +#X msg 233 106 4 5 6; +#X obj 93 192 print; +#X msg 69 100 12 43 23 54 54 4 5 6; +#X msg 298 162 1 2 3 1 2 3; +#X msg 401 160 1 2 3; +#X obj 307 203 list.find; +#X obj 309 238 print; +#X text 48 23 Description: Finds ALL the instances of a list inside +another list.; +#X connect 0 0 2 0; +#X connect 1 0 0 1; +#X connect 3 0 0 0; +#X connect 4 0 6 0; +#X connect 5 0 6 1; +#X connect 6 0 7 0; diff --git a/list.find.pd b/list.find.pd new file mode 100644 index 0000000..0a3fb15 --- /dev/null +++ b/list.find.pd @@ -0,0 +1,38 @@ +#N canvas 652 411 563 550 10; +#X obj 53 13 inlet; +#X obj 100 90 list.unfold; +#X obj 111 153 list.last.x; +#X obj 266 22 inlet; +#X obj 295 87 list.length; +#X obj 119 202 list.compare; +#X obj 268 53 t a a; +#X obj 85 452 outlet; +#X obj 53 396 list.build; +#X obj 73 266 f; +#X obj 74 291 t f f; +#X obj 123 310 + 1; +#X obj 108 236 t b f; +#X obj 133 351 spigot; +#X msg 290 202 1; +#X obj 58 44 t b a b b; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 2 1; +#X connect 5 0 12 0; +#X connect 6 0 5 1; +#X connect 6 1 4 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 13 0; +#X connect 10 1 11 0; +#X connect 11 0 9 1; +#X connect 12 0 9 0; +#X connect 12 1 13 1; +#X connect 13 0 8 1; +#X connect 14 0 9 1; +#X connect 15 0 8 0; +#X connect 15 1 1 0; +#X connect 15 2 2 2; +#X connect 15 3 14 0; diff --git a/list.for.each-help.pd b/list.for.each-help.pd new file mode 100644 index 0000000..165681d --- /dev/null +++ b/list.for.each-help.pd @@ -0,0 +1,26 @@ +#N canvas 0 0 757 318 10; +#X msg 59 96 2 6 3; +#X obj 162 157 * 2; +#X obj 59 229 print RESULT; +#X msg 206 93 list foo bar; +#X obj 299 154 makesymbol tube_%s; +#X obj 204 210 print SYMBOLS; +#X msg 436 98 1 2 3; +#X obj 434 215 print no_op; +#X text 476 185 No operation \, gives you nothing (a bang).; +#X obj 59 155 list.for.each; +#X obj 204 153 list.for.each; +#X obj 434 158 list.for.each; +#X text 65 17 Description: Execute an operation on a list of floats +or symbols.; +#X text 67 50 Comments: Another name for list.op.; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 3 0 10 0; +#X connect 4 0 10 1; +#X connect 6 0 11 0; +#X connect 9 0 2 0; +#X connect 9 1 1 0; +#X connect 10 0 5 0; +#X connect 10 1 4 0; +#X connect 11 0 7 0; diff --git a/list.for.each.pd b/list.for.each.pd new file mode 100644 index 0000000..20ea494 --- /dev/null +++ b/list.for.each.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 450 300 10; +#X obj 139 52 inlet; +#X obj 193 157 list.op; +#X obj 287 82 inlet; +#X obj 139 210 outlet; +#X obj 277 207 outlet; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X connect 2 0 1 1; diff --git a/list.index.pd b/list.index.pd new file mode 100644 index 0000000..d985c7e --- /dev/null +++ b/list.index.pd @@ -0,0 +1,4 @@ +#N canvas 0 0 531 294 10; +#X text 52 66 Description: Abstractions to build lists or execute operations +on them. These abstractions were optimized for speed when possible. +; diff --git a/list.last.x-help.pd b/list.last.x-help.pd new file mode 100644 index 0000000..13db727 --- /dev/null +++ b/list.last.x-help.pd @@ -0,0 +1,19 @@ +#N canvas 786 220 494 450 10; +#X floatatom 33 87 5 0 0 0 - - -; +#X floatatom 131 194 5 0 0 0 - - -; +#X text 184 192 Length of list; +#X obj 186 244 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 207 238 Reset; +#X msg 65 116 symbol youppi; +#X text 81 86 Float stream; +#X obj 47 323 print Result; +#X text 166 118 Symbols work too; +#X obj 77 249 list.last.x 4; +#X text 15 25 Description: Make a list out of the last X elements in +time.; +#X connect 0 0 9 0; +#X connect 1 0 9 1; +#X connect 3 0 9 2; +#X connect 5 0 9 0; +#X connect 9 0 7 0; diff --git a/list.last.x.pd b/list.last.x.pd new file mode 100644 index 0000000..52db32d --- /dev/null +++ b/list.last.x.pd @@ -0,0 +1,31 @@ +#N canvas 1469 111 885 712 12; +#X obj 111 95 inlet; +#X text 158 94 float; +#X obj 326 86 inlet; +#X text 373 85 list length; +#X obj 483 88 inlet; +#X text 529 87 reset; +#X obj 154 494 outlet; +#X obj 216 401 t l l; +#X obj 354 419 list.split 1; +#X obj 173 247 list prepend; +#X obj 337 248 t b b b b; +#X msg 386 284 0; +#X msg 351 286 1; +#X obj 209 322 repack \$1; +#X obj 213 360 spigot 1; +#X connect 0 0 9 0; +#X connect 2 0 13 1; +#X connect 4 0 10 0; +#X connect 7 0 6 0; +#X connect 7 1 8 0; +#X connect 8 1 9 1; +#X connect 9 0 13 0; +#X connect 10 0 9 1; +#X connect 10 1 12 0; +#X connect 10 2 13 0; +#X connect 10 3 11 0; +#X connect 11 0 14 1; +#X connect 12 0 14 1; +#X connect 13 0 14 0; +#X connect 14 0 7 0; diff --git a/list.length-help.pd b/list.length-help.pd new file mode 100644 index 0000000..fadb9bd --- /dev/null +++ b/list.length-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X obj 141 182 list.length; +#X text 86 62 Description: Returns the length of a list.; +#X msg 139 116 list ab d e f; +#X floatatom 142 218 5 0 0 0 - - -; +#X msg 226 143 list; +#X connect 0 0 3 0; +#X connect 2 0 0 0; +#X connect 4 0 0 0; diff --git a/list.length.pd b/list.length.pd new file mode 100644 index 0000000..a522068 --- /dev/null +++ b/list.length.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 450 300 10; +#X obj 135 54 inlet; +#X obj 156 248 outlet; +#X obj 140 166 length; +#X text 44 24 Note: if changed \, must automatically convert anything. +; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/list.make-help.pd b/list.make-help.pd new file mode 100644 index 0000000..119cf93 --- /dev/null +++ b/list.make-help.pd @@ -0,0 +1,48 @@ +#N canvas 230 339 934 518 10; +#X msg 241 135 10; +#X text 275 132 # of elements; +#X obj 328 171 random 250; +#X obj 241 255 print; +#X text 290 256 Outputs a list of 10 random elements between 0 and +249; +#X msg 329 150 bang; +#X msg 39 317 10; +#X text 73 314 # of elements; +#X obj 39 437 print; +#X obj 126 353 * 2; +#X obj 241 167 list.make; +#X text 35 58 inlet 1: number of elements in the list; +#X text 33 80 outlet 1: result (list); +#X text 34 100 outlet 2: index number; +#X text 88 438 Outputs a linear list of multiples of 2; +#X msg 402 315 10; +#X text 436 312 # of elements; +#X obj 402 435 print; +#X text 451 436 Outputs a linear list; +#X msg 642 315 10; +#X text 676 312 # of elements; +#X obj 642 435 print; +#X msg 729 330 bang; +#X obj 733 351 f 1; +#X text 691 436 Outputs a linear list of 1s; +#X obj 39 349 list.make; +#X obj 402 347 list.make; +#X obj 642 347 list.make; +#X text 39 20 Description: Creates different kinds of lists quickly. +; +#X connect 0 0 10 0; +#X connect 2 0 10 1; +#X connect 5 0 2 0; +#X connect 6 0 25 0; +#X connect 9 0 25 1; +#X connect 10 0 3 0; +#X connect 10 1 5 0; +#X connect 15 0 26 0; +#X connect 19 0 27 0; +#X connect 22 0 23 0; +#X connect 23 0 27 1; +#X connect 25 0 8 0; +#X connect 25 1 9 0; +#X connect 26 0 17 0; +#X connect 27 0 21 0; +#X connect 27 1 22 0; diff --git a/list.make.pd b/list.make.pd new file mode 100644 index 0000000..e3f010d --- /dev/null +++ b/list.make.pd @@ -0,0 +1,68 @@ +#N canvas 613 105 582 487 10; +#X obj 226 317 t l l; +#X msg 262 196 list; +#X obj 177 362 lister; +#X obj 110 42 inlet; +#X obj 348 428 outlet; +#X obj 395 94 inlet; +#X obj 88 407 outlet; +#X obj 164 152 t f b; +#X obj 77 244 - 1; +#X obj 268 260 list prepend; +#X obj 137 104 moses 1; +#X obj 408 362 spigot; +#X obj 360 182 t a b; +#X msg 388 217 0; +#X obj 359 317 t f f b; +#X msg 451 325 1; +#N canvas 0 0 450 300 flow.gun 0; +#X obj 66 157 until; +#X obj 68 353 outlet; +#X obj 66 32 inlet; +#X obj 66 103 t f f; +#X obj 66 136 t f b; +#X obj 68 218 + 1; +#X obj 66 193 f; +#X msg 117 158 0; +#X obj 110 295 sel; +#X obj 158 350 outlet; +#X obj 68 246 t f f f; +#X obj 66 61 f \$1; +#X obj 225 33 inlet; +#X connect 0 0 6 0; +#X connect 2 0 11 0; +#X connect 3 0 4 0; +#X connect 3 1 8 1; +#X connect 4 0 0 0; +#X connect 4 1 7 0; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 10 0 8 0; +#X connect 10 1 1 0; +#X connect 10 2 6 1; +#X connect 11 0 3 0; +#X connect 12 0 11 1; +#X restore 72 194 pd flow.gun; +#X connect 0 0 2 1; +#X connect 0 1 9 1; +#X connect 1 0 9 1; +#X connect 2 0 6 0; +#X connect 3 0 10 0; +#X connect 5 0 12 0; +#X connect 7 0 16 0; +#X connect 7 1 1 0; +#X connect 8 0 14 0; +#X connect 9 0 0 0; +#X connect 10 1 7 0; +#X connect 11 0 9 0; +#X connect 12 0 9 0; +#X connect 12 1 13 0; +#X connect 13 0 11 1; +#X connect 14 0 11 0; +#X connect 14 1 4 0; +#X connect 14 2 15 0; +#X connect 15 0 11 1; +#X connect 16 0 8 0; +#X connect 16 1 2 0; diff --git a/list.match-help.pd b/list.match-help.pd new file mode 100644 index 0000000..a849708 --- /dev/null +++ b/list.match-help.pd @@ -0,0 +1,25 @@ +#N canvas 267 198 601 325 10; +#X msg 105 145 1 2 3 4; +#X obj 70 111 print INPUT; +#X floatatom 40 63 5 0 0 0 - - -; +#X obj 40 86 t a a; +#X msg 177 144 120 30; +#X obj 40 252 print MATCH; +#X msg 40 228 found; +#X text 261 101 inlet0: number stream; +#X text 261 119 inlet1: list of numbers (pattern to match); +#X text 261 146 outlet0: bang (on match); +#X text 302 223 Author: Roman Haefeli; +#X obj 40 190 list.match; +#X text 303 242 Version: 2008-03-05; +#X obj 0 -21 cnv 15 600 30 empty empty list.match 2 12 1 14 -233017 +-66577 0; +#X text 14 23 Description: finds given sequence in a number stream +and outputs a bang \, if a match is detected.; +#X connect 0 0 11 1; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 3 1 1 0; +#X connect 4 0 11 1; +#X connect 6 0 5 0; +#X connect 11 0 6 0; diff --git a/list.match.pd b/list.match.pd new file mode 100644 index 0000000..48156a8 --- /dev/null +++ b/list.match.pd @@ -0,0 +1,30 @@ +#N canvas 490 401 311 289 10; +#X obj 24 172 list split 1; +#X obj 24 148 list append; +#X obj 241 153 bang; +#X obj 54 117 t b a; +#X obj 151 141 b; +#X obj 54 82 list; +#X obj 54 44 t b a; +#X obj 8 219 sel; +#X obj 241 194 outlet; +#X obj 8 11 inlet; +#X obj 54 11 inlet; +#X text 122 240 Author: Roman Haefeli; +#X text 122 258 Version: 2008-03-05; +#X connect 0 0 7 1; +#X connect 0 1 1 1; +#X connect 0 2 2 0; +#X connect 1 0 0 0; +#X connect 2 0 5 0; +#X connect 2 0 8 0; +#X connect 3 0 1 0; +#X connect 3 1 1 1; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 5 1; +#X connect 7 0 1 0; +#X connect 7 1 4 0; +#X connect 9 0 7 0; +#X connect 10 0 6 0; diff --git a/list.min.max-help.pd b/list.min.max-help.pd new file mode 100644 index 0000000..ed60afb --- /dev/null +++ b/list.min.max-help.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 454 304 10; +#X obj 94 151 list.min.max; +#X text 41 31 Description: Outputs the minimum and maximum values of +a list.; +#X text 46 66 Comments: wraps zexy's minmax; +#X msg 82 106 10 2; +#X msg 117 123 1 2 3 4 9 6 -1 7; +#X floatatom 86 177 5 0 0 0 - - -; +#X floatatom 167 174 5 0 0 0 - - -; +#X connect 0 0 5 0; +#X connect 0 1 6 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; diff --git a/list.min.max.pd b/list.min.max.pd new file mode 100644 index 0000000..2b40c1d --- /dev/null +++ b/list.min.max.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 458 308 10; +#X obj 129 124 minmax; +#X obj 108 46 inlet; +#X obj 96 203 outlet; +#X obj 196 199 outlet; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; diff --git a/list.op-help.pd b/list.op-help.pd new file mode 100644 index 0000000..c94aca8 --- /dev/null +++ b/list.op-help.pd @@ -0,0 +1,25 @@ +#N canvas 335 340 756 308 10; +#X msg 59 96 2 6 3; +#X obj 134 157 * 2; +#X obj 59 229 print RESULT; +#X msg 206 93 list foo bar; +#X obj 279 155 makesymbol tube_%s; +#X obj 204 210 print SYMBOLS; +#X msg 436 98 1 2 3; +#X obj 434 215 print no_op; +#X obj 59 155 list.op; +#X obj 434 158 list.op; +#X obj 204 153 list.op; +#X text 64 31 Description: Execute an operation on a list of floats +or symbols.; +#X text 500 157 No operation \, gives you nothing (a bang).; +#X connect 0 0 8 0; +#X connect 1 0 8 1; +#X connect 3 0 10 0; +#X connect 4 0 10 1; +#X connect 6 0 9 0; +#X connect 8 0 2 0; +#X connect 8 1 1 0; +#X connect 9 0 7 0; +#X connect 10 0 5 0; +#X connect 10 1 4 0; diff --git a/list.op.pd b/list.op.pd new file mode 100644 index 0000000..ac809b6 --- /dev/null +++ b/list.op.pd @@ -0,0 +1,26 @@ +#N canvas 187 254 739 514 10; +#X msg 303 287 list; +#X obj 110 42 inlet; +#X obj 468 457 outlet; +#X obj 492 80 inlet; +#X obj 82 455 outlet; +#X obj 208 317 list prepend; +#X obj 475 219 drip; +#X obj 104 414 demultiplex 0 1; +#X msg 177 250 1; +#X msg 117 278 0; +#X obj 90 123 t b b a b b; +#X connect 0 0 5 1; +#X connect 1 0 10 0; +#X connect 3 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 2 0; +#X connect 7 0 4 0; +#X connect 7 1 5 1; +#X connect 8 0 7 1; +#X connect 9 0 7 1; +#X connect 10 0 5 0; +#X connect 10 1 9 0; +#X connect 10 2 6 0; +#X connect 10 3 0 0; +#X connect 10 4 8 0; diff --git a/list.op2-help.pd b/list.op2-help.pd new file mode 100644 index 0000000..02a902a --- /dev/null +++ b/list.op2-help.pd @@ -0,0 +1,48 @@ +#N canvas 543 385 704 507 10; +#X obj 86 238 print; +#X obj 86 152 list.op2; +#X obj 154 198 +; +#X msg 45 105 0 1 2 3 4; +#X text 22 21 Description: Execute an operation on a list with another +list.; +#X msg 166 105 10 11 12; +#X text 171 85 Second list.; +#X text 36 85 First list.; +#X text 197 148 This example will add the elements of both lists. The +resulting list will be the length of the first list.; +#X text 205 181 Because the second list is not as long as the first +\, list.op2 will wrap the values of the second list to fit the length +of the first list. The second list therefore becomes: 10 11 12 10 11 +; +#X obj 54 352 list.op2; +#X msg 24 299 (first list); +#X msg 128 301 (second list); +#X msg 28 432 (result); +#X msg 73 401 (first list elements); +#X msg 124 371 (second list elements); +#X msg 128 335 (feedback value); +#X obj 439 355 list.op2; +#X msg 379 296 list bird apple; +#X msg 509 297 list worm pear; +#X obj 498 407 makesymbol %s+%s; +#X obj 474 381 pack s s; +#X obj 415 438 print symbols; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 1 2 2 1; +#X connect 2 0 1 2; +#X connect 3 0 1 0; +#X connect 5 0 1 1; +#X connect 10 0 13 0; +#X connect 10 1 14 0; +#X connect 10 2 15 0; +#X connect 11 0 10 0; +#X connect 12 0 10 1; +#X connect 16 0 10 2; +#X connect 17 0 22 0; +#X connect 17 1 21 0; +#X connect 17 2 21 1; +#X connect 18 0 17 0; +#X connect 19 0 17 1; +#X connect 20 0 17 2; +#X connect 21 0 20 0; diff --git a/list.op2.pd b/list.op2.pd new file mode 100644 index 0000000..ae04943 --- /dev/null +++ b/list.op2.pd @@ -0,0 +1,82 @@ +#N canvas 71 367 739 514 10; +#X msg 303 287 list; +#X obj 110 42 inlet; +#X obj 459 465 outlet; +#X obj 624 58 inlet; +#X obj 82 455 outlet; +#X obj 208 317 list prepend; +#X obj 104 414 demultiplex 0 1; +#X msg 177 250 1; +#X msg 117 278 0; +#X obj 417 366 list; +#X obj 613 482 outlet; +#X obj 658 282 list; +#X obj 636 422 packel; +#X obj 459 164 length; +#X obj 417 391 packel; +#X obj 470 133 t l l; +#X obj 537 301 moses; +#X obj 523 202 t b f b; +#X obj 534 243 f; +#X obj 583 248 + 1; +#X msg 596 215 0; +#X obj 535 272 t f f; +#X obj 582 293 + 1; +#X obj 487 331 t b b b f f; +#X obj 389 31 inlet; +#X obj 637 110 t l l; +#X obj 649 206 length; +#X obj 600 355 mod; +#X obj 556 361 - 1; +#X obj 680 399 + 1; +#X obj 645 348 route bang; +#X obj 465 81 route bang; +#X obj 90 123 t b b l b b b; +#X obj 395 78 list; +#X connect 0 0 5 1; +#X connect 1 0 32 0; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 1 5 1; +#X connect 7 0 6 1; +#X connect 8 0 6 1; +#X connect 9 0 14 0; +#X connect 11 0 30 0; +#X connect 12 0 10 0; +#X connect 13 0 17 0; +#X connect 14 0 2 0; +#X connect 15 0 13 0; +#X connect 15 1 9 1; +#X connect 16 0 23 0; +#X connect 17 0 18 0; +#X connect 17 1 22 0; +#X connect 17 2 20 0; +#X connect 18 0 19 0; +#X connect 19 0 21 0; +#X connect 20 0 18 1; +#X connect 21 0 16 0; +#X connect 21 1 18 1; +#X connect 22 0 16 1; +#X connect 23 0 18 0; +#X connect 23 1 9 0; +#X connect 23 2 11 0; +#X connect 23 3 14 1; +#X connect 23 4 28 0; +#X connect 24 0 33 1; +#X connect 25 0 26 0; +#X connect 25 1 11 1; +#X connect 26 0 27 1; +#X connect 27 0 29 0; +#X connect 28 0 27 0; +#X connect 29 0 12 1; +#X connect 30 1 12 0; +#X connect 31 0 11 1; +#X connect 31 1 25 0; +#X connect 32 0 5 0; +#X connect 32 1 8 0; +#X connect 32 2 15 0; +#X connect 32 3 0 0; +#X connect 32 4 7 0; +#X connect 32 5 33 0; +#X connect 33 0 31 0; diff --git a/list.pak.2-help.pd b/list.pak.2-help.pd new file mode 100644 index 0000000..5069f50 --- /dev/null +++ b/list.pak.2-help.pd @@ -0,0 +1,50 @@ +#N canvas 580 37 460 736 10; +#X obj 144 177 flow.prepend set; +#X msg 143 197 0 0 0 -10 15; +#X text 72 54 Description: [pack] with all hot inlets; +#X floatatom 142 121 5 0 0 0 - - -; +#X floatatom 186 120 5 0 0 0 - - -; +#X obj 144 155 list.pak.5 0 0 0 0 0; +#X floatatom 229 121 5 0 0 0 - - -; +#X floatatom 273 120 5 0 0 0 - - -; +#X floatatom 314 120 5 0 0 0 - - -; +#X obj 155 305 flow.prepend set; +#X msg 154 325 0 0 0 -10 15; +#X floatatom 151 249 5 0 0 0 - - -; +#X floatatom 195 248 5 0 0 0 - - -; +#X floatatom 238 249 5 0 0 0 - - -; +#X floatatom 282 248 5 0 0 0 - - -; +#X obj 155 283 list.pak.4 0 0 0 0; +#X obj 153 415 flow.prepend set; +#X msg 152 435 0 0 0 -10 15; +#X floatatom 149 359 5 0 0 0 - - -; +#X floatatom 193 358 5 0 0 0 - - -; +#X floatatom 236 359 5 0 0 0 - - -; +#X obj 153 393 list.pak.3 f f f; +#X obj 161 529 flow.prepend set; +#X msg 160 549 18 0; +#X floatatom 157 473 5 0 0 0 - - -; +#X obj 161 507 list.pak.2 f f f; +#X floatatom 259 474 5 0 0 0 - - -; +#X connect 0 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 5 2; +#X connect 7 0 5 3; +#X connect 8 0 5 4; +#X connect 9 0 10 0; +#X connect 11 0 15 0; +#X connect 12 0 15 1; +#X connect 13 0 15 2; +#X connect 14 0 15 3; +#X connect 15 0 9 0; +#X connect 16 0 17 0; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 20 0 21 2; +#X connect 21 0 16 0; +#X connect 22 0 23 0; +#X connect 24 0 25 0; +#X connect 25 0 22 0; +#X connect 26 0 25 1; diff --git a/list.pak.2.pd b/list.pak.2.pd new file mode 100644 index 0000000..9916a95 --- /dev/null +++ b/list.pak.2.pd @@ -0,0 +1,11 @@ +#N canvas 0 22 258 213 10; +#X obj 50 65 inlet; +#X obj 123 59 inlet; +#X obj 57 112 pack \$1 \$2; +#X obj 104 88 t b a; +#X obj 61 140 outlet; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 3 1 2 1; diff --git a/list.pak.3-help.pd b/list.pak.3-help.pd new file mode 100644 index 0000000..5069f50 --- /dev/null +++ b/list.pak.3-help.pd @@ -0,0 +1,50 @@ +#N canvas 580 37 460 736 10; +#X obj 144 177 flow.prepend set; +#X msg 143 197 0 0 0 -10 15; +#X text 72 54 Description: [pack] with all hot inlets; +#X floatatom 142 121 5 0 0 0 - - -; +#X floatatom 186 120 5 0 0 0 - - -; +#X obj 144 155 list.pak.5 0 0 0 0 0; +#X floatatom 229 121 5 0 0 0 - - -; +#X floatatom 273 120 5 0 0 0 - - -; +#X floatatom 314 120 5 0 0 0 - - -; +#X obj 155 305 flow.prepend set; +#X msg 154 325 0 0 0 -10 15; +#X floatatom 151 249 5 0 0 0 - - -; +#X floatatom 195 248 5 0 0 0 - - -; +#X floatatom 238 249 5 0 0 0 - - -; +#X floatatom 282 248 5 0 0 0 - - -; +#X obj 155 283 list.pak.4 0 0 0 0; +#X obj 153 415 flow.prepend set; +#X msg 152 435 0 0 0 -10 15; +#X floatatom 149 359 5 0 0 0 - - -; +#X floatatom 193 358 5 0 0 0 - - -; +#X floatatom 236 359 5 0 0 0 - - -; +#X obj 153 393 list.pak.3 f f f; +#X obj 161 529 flow.prepend set; +#X msg 160 549 18 0; +#X floatatom 157 473 5 0 0 0 - - -; +#X obj 161 507 list.pak.2 f f f; +#X floatatom 259 474 5 0 0 0 - - -; +#X connect 0 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 5 2; +#X connect 7 0 5 3; +#X connect 8 0 5 4; +#X connect 9 0 10 0; +#X connect 11 0 15 0; +#X connect 12 0 15 1; +#X connect 13 0 15 2; +#X connect 14 0 15 3; +#X connect 15 0 9 0; +#X connect 16 0 17 0; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 20 0 21 2; +#X connect 21 0 16 0; +#X connect 22 0 23 0; +#X connect 24 0 25 0; +#X connect 25 0 22 0; +#X connect 26 0 25 1; diff --git a/list.pak.3.pd b/list.pak.3.pd new file mode 100644 index 0000000..e6f8ffa --- /dev/null +++ b/list.pak.3.pd @@ -0,0 +1,16 @@ +#N canvas 37 296 454 304 10; +#X obj 50 65 inlet; +#X obj 123 59 inlet; +#X obj 104 88 t b a; +#X obj 61 213 outlet; +#X obj 175 59 inlet; +#X obj 156 88 t b a; +#X obj 57 185 pack \$1 \$2 \$3; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 6 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 6 2; +#X connect 6 0 3 0; diff --git a/list.pak.4-help.pd b/list.pak.4-help.pd new file mode 100644 index 0000000..5069f50 --- /dev/null +++ b/list.pak.4-help.pd @@ -0,0 +1,50 @@ +#N canvas 580 37 460 736 10; +#X obj 144 177 flow.prepend set; +#X msg 143 197 0 0 0 -10 15; +#X text 72 54 Description: [pack] with all hot inlets; +#X floatatom 142 121 5 0 0 0 - - -; +#X floatatom 186 120 5 0 0 0 - - -; +#X obj 144 155 list.pak.5 0 0 0 0 0; +#X floatatom 229 121 5 0 0 0 - - -; +#X floatatom 273 120 5 0 0 0 - - -; +#X floatatom 314 120 5 0 0 0 - - -; +#X obj 155 305 flow.prepend set; +#X msg 154 325 0 0 0 -10 15; +#X floatatom 151 249 5 0 0 0 - - -; +#X floatatom 195 248 5 0 0 0 - - -; +#X floatatom 238 249 5 0 0 0 - - -; +#X floatatom 282 248 5 0 0 0 - - -; +#X obj 155 283 list.pak.4 0 0 0 0; +#X obj 153 415 flow.prepend set; +#X msg 152 435 0 0 0 -10 15; +#X floatatom 149 359 5 0 0 0 - - -; +#X floatatom 193 358 5 0 0 0 - - -; +#X floatatom 236 359 5 0 0 0 - - -; +#X obj 153 393 list.pak.3 f f f; +#X obj 161 529 flow.prepend set; +#X msg 160 549 18 0; +#X floatatom 157 473 5 0 0 0 - - -; +#X obj 161 507 list.pak.2 f f f; +#X floatatom 259 474 5 0 0 0 - - -; +#X connect 0 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 5 2; +#X connect 7 0 5 3; +#X connect 8 0 5 4; +#X connect 9 0 10 0; +#X connect 11 0 15 0; +#X connect 12 0 15 1; +#X connect 13 0 15 2; +#X connect 14 0 15 3; +#X connect 15 0 9 0; +#X connect 16 0 17 0; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 20 0 21 2; +#X connect 21 0 16 0; +#X connect 22 0 23 0; +#X connect 24 0 25 0; +#X connect 25 0 22 0; +#X connect 26 0 25 1; diff --git a/list.pak.4.pd b/list.pak.4.pd new file mode 100644 index 0000000..045abec --- /dev/null +++ b/list.pak.4.pd @@ -0,0 +1,21 @@ +#N canvas 0 22 454 304 10; +#X obj 50 65 inlet; +#X obj 123 59 inlet; +#X obj 104 88 t b a; +#X obj 61 213 outlet; +#X obj 175 59 inlet; +#X obj 156 88 t b a; +#X obj 229 57 inlet; +#X obj 210 86 t b a; +#X obj 57 185 pack \$1 \$2 \$3 \$4; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 2 0 8 0; +#X connect 2 1 8 1; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 5 1 8 2; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 8 3; +#X connect 8 0 3 0; diff --git a/list.pak.5-help.pd b/list.pak.5-help.pd new file mode 100644 index 0000000..5069f50 --- /dev/null +++ b/list.pak.5-help.pd @@ -0,0 +1,50 @@ +#N canvas 580 37 460 736 10; +#X obj 144 177 flow.prepend set; +#X msg 143 197 0 0 0 -10 15; +#X text 72 54 Description: [pack] with all hot inlets; +#X floatatom 142 121 5 0 0 0 - - -; +#X floatatom 186 120 5 0 0 0 - - -; +#X obj 144 155 list.pak.5 0 0 0 0 0; +#X floatatom 229 121 5 0 0 0 - - -; +#X floatatom 273 120 5 0 0 0 - - -; +#X floatatom 314 120 5 0 0 0 - - -; +#X obj 155 305 flow.prepend set; +#X msg 154 325 0 0 0 -10 15; +#X floatatom 151 249 5 0 0 0 - - -; +#X floatatom 195 248 5 0 0 0 - - -; +#X floatatom 238 249 5 0 0 0 - - -; +#X floatatom 282 248 5 0 0 0 - - -; +#X obj 155 283 list.pak.4 0 0 0 0; +#X obj 153 415 flow.prepend set; +#X msg 152 435 0 0 0 -10 15; +#X floatatom 149 359 5 0 0 0 - - -; +#X floatatom 193 358 5 0 0 0 - - -; +#X floatatom 236 359 5 0 0 0 - - -; +#X obj 153 393 list.pak.3 f f f; +#X obj 161 529 flow.prepend set; +#X msg 160 549 18 0; +#X floatatom 157 473 5 0 0 0 - - -; +#X obj 161 507 list.pak.2 f f f; +#X floatatom 259 474 5 0 0 0 - - -; +#X connect 0 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 5 2; +#X connect 7 0 5 3; +#X connect 8 0 5 4; +#X connect 9 0 10 0; +#X connect 11 0 15 0; +#X connect 12 0 15 1; +#X connect 13 0 15 2; +#X connect 14 0 15 3; +#X connect 15 0 9 0; +#X connect 16 0 17 0; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 20 0 21 2; +#X connect 21 0 16 0; +#X connect 22 0 23 0; +#X connect 24 0 25 0; +#X connect 25 0 22 0; +#X connect 26 0 25 1; diff --git a/list.pak.5.pd b/list.pak.5.pd new file mode 100644 index 0000000..7d30d9b --- /dev/null +++ b/list.pak.5.pd @@ -0,0 +1,26 @@ +#N canvas 0 22 454 304 10; +#X obj 50 65 inlet; +#X obj 123 59 inlet; +#X obj 104 88 t b a; +#X obj 61 213 outlet; +#X obj 175 59 inlet; +#X obj 156 88 t b a; +#X obj 57 185 pack \$1 \$2 \$3 \$4 \$5; +#X obj 229 57 inlet; +#X obj 210 86 t b a; +#X obj 281 57 inlet; +#X obj 262 86 t b a; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 6 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 6 2; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 8 1 6 3; +#X connect 9 0 10 0; +#X connect 10 0 6 0; +#X connect 10 1 6 4; diff --git a/list.q-help.pd b/list.q-help.pd new file mode 100644 index 0000000..65aea4f --- /dev/null +++ b/list.q-help.pd @@ -0,0 +1,31 @@ +#N canvas 413 202 771 528 10; +#X obj 128 457 print; +#X msg 122 217 2000 rocky is tougth; +#X msg 167 244 500 eat fish; +#X msg 40 216 1000 kurt; +#X obj 213 297 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 236 295 Stop and clear; +#X obj 227 459 bng 15 250 50 0 empty empty done 0 -6 0 8 -262144 -1 +-1; +#X text 32 67 Please note that the message/list delay starts once the +preceding message is output.; +#X msg 345 363 seconds; +#X msg 344 388 milliseconds; +#X obj 128 404 list.q; +#X text 32 17 Description: Receives a list and outputs it after a certain +delay. It can accumulate many lists that are erased when are outputed. +; +#X text 35 124 input format : (delay time) (followed by message/list) +; +#X text 346 315 You can change the timing scale (the scale is applied +to all the next and current messages/lists). The timing scale is in +milliseconds by default.; +#X connect 1 0 10 0; +#X connect 2 0 10 0; +#X connect 3 0 10 0; +#X connect 4 0 10 1; +#X connect 8 0 10 1; +#X connect 9 0 10 1; +#X connect 10 0 0 0; +#X connect 10 1 6 0; diff --git a/list.q.man-help.pd b/list.q.man-help.pd new file mode 100644 index 0000000..9c3b1a2 --- /dev/null +++ b/list.q.man-help.pd @@ -0,0 +1,22 @@ +#N canvas 95 471 555 395 10; +#X msg 191 167 list 1 2 3; +#X obj 92 192 bng 15 250 50 0 empty empty output 0 -6 0 8 -262144 -1 +-1; +#X obj 117 298 print; +#X obj 193 290 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 213 210 list a b c; +#X text 213 291 Nothing to output; +#X text 267 187 Store lists; +#X obj 213 245 bng 15 250 50 0 empty empty clear 0 -6 0 8 -262144 -1 +-1; +#X text 9 21 Description: Accumultate lists and outputs them on bangs +(first in first out). Lists are erased once they are outputed.; +#X obj 108 251 list.q.man; +#X obj 59 392 examples/abstraction_arguments/abs_clipper; +#X connect 0 0 9 1; +#X connect 1 0 9 0; +#X connect 4 0 9 1; +#X connect 7 0 9 1; +#X connect 9 0 2 0; +#X connect 9 1 3 0; diff --git a/list.q.man.pd b/list.q.man.pd new file mode 100644 index 0000000..23174cd --- /dev/null +++ b/list.q.man.pd @@ -0,0 +1,42 @@ +#N canvas -66 235 909 607 10; +#X obj 129 38 inlet; +#X obj 200 534 outlet; +#X obj 40 47 inlet; +#X obj 383 485 outlet; +#X text 398 513 empty; +#X obj 162 227 fifop; +#X obj 117 125 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 176 280 t a b; +#X obj 74 256 spigot; +#X obj 36 169 t b b b; +#X msg 89 211 1; +#X msg 226 304 0; +#X obj 217 113 route bang; +#X obj 198 252 demultiplex 0 1; +#X obj 251 169 t b b b; +#X msg 304 191 1; +#X msg 234 194 0; +#X obj 320 280 b; +#X connect 0 0 12 0; +#X connect 2 0 9 0; +#X connect 5 0 13 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 7 1 11 0; +#X connect 8 0 3 0; +#X connect 9 0 8 0; +#X connect 9 1 5 0; +#X connect 9 2 10 0; +#X connect 10 0 8 1; +#X connect 11 0 8 1; +#X connect 12 0 14 0; +#X connect 12 1 5 0; +#X connect 13 0 7 0; +#X connect 13 1 17 0; +#X connect 14 0 16 0; +#X connect 14 1 5 0; +#X connect 14 2 15 0; +#X connect 15 0 13 1; +#X connect 16 0 13 1; +#X connect 17 0 5 0; diff --git a/list.q.pd b/list.q.pd new file mode 100644 index 0000000..15992f3 --- /dev/null +++ b/list.q.pd @@ -0,0 +1,55 @@ +#N canvas 22 26 909 607 10; +#X obj 172 357 niagara 1; +#X obj 191 457 lister; +#X obj 119 433 delay; +#X obj 103 90 inlet; +#X obj 219 539 outlet; +#X obj 189 503 t b a; +#X obj 349 53 inlet; +#X obj 167 194 t b a; +#X obj 102 155 route bang; +#X obj 144 232 spigot 1; +#X obj 175 319 t a b; +#X msg 233 314 0; +#X msg 347 287 1; +#X obj 279 309 t b b; +#X obj 373 541 outlet; +#X msg 471 319 stop; +#X obj 438 152 t b b b; +#X msg 327 196 1; +#X obj 346 88 route seconds milliseconds; +#X obj 120 404 * 1; +#X msg 346 112 1000; +#X msg 415 113 1; +#X obj 168 276 list.q.man; +#X connect 0 0 19 0; +#X connect 0 1 1 1; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 8 0; +#X connect 5 0 22 0; +#X connect 5 1 4 0; +#X connect 6 0 18 0; +#X connect 7 0 9 0; +#X connect 7 1 22 1; +#X connect 8 1 7 0; +#X connect 9 0 22 0; +#X connect 10 0 0 0; +#X connect 10 1 11 0; +#X connect 11 0 9 1; +#X connect 12 0 9 1; +#X connect 13 0 14 0; +#X connect 13 1 12 0; +#X connect 15 0 2 0; +#X connect 16 0 17 0; +#X connect 16 1 22 1; +#X connect 16 2 15 0; +#X connect 17 0 9 1; +#X connect 18 0 20 0; +#X connect 18 1 21 0; +#X connect 18 2 16 0; +#X connect 19 0 2 0; +#X connect 20 0 19 1; +#X connect 21 0 19 1; +#X connect 22 0 10 0; +#X connect 22 1 13 0; diff --git a/list.repack.indexed-help.pd b/list.repack.indexed-help.pd new file mode 100644 index 0000000..f0b0c7e --- /dev/null +++ b/list.repack.indexed-help.pd @@ -0,0 +1,10 @@ +#N canvas 321 268 867 416 12; +#X msg 52 94 1 2 3 4 5 6 7 8 9 10 11 12; +#X obj 86 173 list.repack.indexed 3; +#X obj 50 262 print all; +#X msg 182 122 list big r e f g r rer tuy abc toomany; +#X text 47 29 Description: Repacks a big list into sub lists of X+1 +size. Every sub list is preceded by an index number.; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; diff --git a/list.repack.indexed.pd b/list.repack.indexed.pd new file mode 100644 index 0000000..3c1264d --- /dev/null +++ b/list.repack.indexed.pd @@ -0,0 +1,30 @@ +#N canvas 528 243 500 511 12; +#X obj 68 282 t b l; +#X obj 46 94 inlet; +#X obj 83 385 + 1; +#X obj 48 356 t f f; +#X obj 48 328 f 0; +#X msg 167 260 0; +#X obj 75 499 outlet; +#X obj 29 192 repack \$1; +#X obj 111 425 glue; +#X obj 241 106 inlet; +#X obj 19 239 route bang; +#X obj -11 160 t b l; +#X obj 55 128 t l b; +#X connect 0 0 4 0; +#X connect 0 1 8 1; +#X connect 1 0 12 0; +#X connect 2 0 4 1; +#X connect 3 0 8 0; +#X connect 3 1 2 0; +#X connect 4 0 3 0; +#X connect 5 0 4 1; +#X connect 7 0 10 0; +#X connect 8 0 6 0; +#X connect 9 0 7 1; +#X connect 10 1 0 0; +#X connect 11 0 7 0; +#X connect 11 1 7 0; +#X connect 12 0 11 0; +#X connect 12 1 5 0; diff --git a/list.repetitions.count-help.pd b/list.repetitions.count-help.pd new file mode 100644 index 0000000..3f050b4 --- /dev/null +++ b/list.repetitions.count-help.pd @@ -0,0 +1,12 @@ +#N canvas 314 574 553 325 10; +#X msg 77 95 1 2 2 3 4 3 5 5 5; +#X msg 216 125 unique triple double double triple triple; +#X obj 115 173 list.repetitions.count; +#X obj 264 229 print LIST.ELEMENT; +#X obj 116 228 print ELEMENT.COUNT; +#X text 42 18 Description: outputs every element of a list and the +number of times it has been found in the list.; +#X connect 0 0 2 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 1 3 0; diff --git a/list.repetitions.count.pd b/list.repetitions.count.pd new file mode 100644 index 0000000..dede6b2 --- /dev/null +++ b/list.repetitions.count.pd @@ -0,0 +1,23 @@ +#N canvas 0 0 935 738 10; +#X obj 54 43 inlet; +#X obj 152 715 outlet; +#X obj 356 716 outlet; +#X obj 248 422 coll; +#C restore; +#X msg 258 283 clear; +#X msg 134 432 dump; +#X obj 73 232 t b a b b; +#X msg 125 304 merge \$1 1; +#X obj 125 269 list.unfold; +#X obj 169 535 list.sum; +#X connect 0 0 6 0; +#X connect 3 0 9 0; +#X connect 3 1 2 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 8 0; +#X connect 6 2 4 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; diff --git a/list.repetitions.remove-help.pd b/list.repetitions.remove-help.pd new file mode 100644 index 0000000..d8d059f --- /dev/null +++ b/list.repetitions.remove-help.pd @@ -0,0 +1,9 @@ +#N canvas 314 574 450 300 10; +#X msg 77 95 1 2 2 3 4 3 5 5 5; +#X msg 216 125 unique triple double double triple triple; +#X obj 116 229 print; +#X obj 115 173 list.repetitions.remove; +#X text 42 18 Description: removes repititions from a list.; +#X connect 0 0 3 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; diff --git a/list.repetitions.remove.pd b/list.repetitions.remove.pd new file mode 100644 index 0000000..8e5f32c --- /dev/null +++ b/list.repetitions.remove.pd @@ -0,0 +1,30 @@ +#N canvas 190 196 553 514 10; +#X obj 232 249 coll; +#C restore; +#X obj 109 96 drip; +#X obj 66 31 inlet; +#X msg 242 110 clear; +#X msg 109 131 store \$1 1; +#X msg 118 259 dump; +#X obj 57 59 t b a b b; +#X obj 228 384 list; +#X obj 310 340 t a a; +#X obj 66 215 t b b; +#X obj 229 424 outlet; +#X obj 309 317 list prepend; +#X connect 0 1 11 0; +#X connect 1 0 4 0; +#X connect 2 0 6 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 9 0; +#X connect 6 1 1 0; +#X connect 6 2 3 0; +#X connect 6 3 11 1; +#X connect 7 0 10 0; +#X connect 8 0 7 1; +#X connect 8 1 11 1; +#X connect 9 0 7 0; +#X connect 9 1 5 0; +#X connect 11 0 8 0; diff --git a/list.reverse-help.pd b/list.reverse-help.pd new file mode 100644 index 0000000..b406bbb --- /dev/null +++ b/list.reverse-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X obj 100 129 list.reverse; +#X text 48 24 Description: Reverses the elements in a list.; +#X msg 118 75 c b a; +#X msg 213 76 3 2 1 0; +#X obj 102 174 print; +#X connect 0 0 4 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; diff --git a/list.reverse.pd b/list.reverse.pd new file mode 100644 index 0000000..d43f1dd --- /dev/null +++ b/list.reverse.pd @@ -0,0 +1,8 @@ +#N canvas 0 0 450 300 10; +#X obj 116 61 inlet; +#X obj 139 262 outlet; +#X obj 119 174 zl rev; +#X obj 162 219 list; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; diff --git a/list.speed.limit-help.pd b/list.speed.limit-help.pd new file mode 100644 index 0000000..4ca41e6 --- /dev/null +++ b/list.speed.limit-help.pd @@ -0,0 +1,12 @@ +#N canvas 338 204 450 300 10; +#X obj 150 185 list.speed.limit 1000; +#X msg 162 118 \$1 10 32; +#X floatatom 170 80 5 0 0 0 - - -; +#X obj 153 237 print; +#X text 41 23 Description: Speed limit for incomming lists.; +#X floatatom 287 152 5 0 0 0 - - -; +#X text 326 151 Limit time(ms); +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 5 0 0 1; diff --git a/list.speed.limit.pd b/list.speed.limit.pd new file mode 100644 index 0000000..919054d --- /dev/null +++ b/list.speed.limit.pd @@ -0,0 +1,18 @@ +#N canvas 0 0 450 300 10; +#X obj 125 88 inlet; +#X obj 132 251 outlet; +#X obj 298 187 list.wait; +#X msg 397 229 1; +#X obj 299 214 t a b b; +#X obj 340 253 delay \$1; +#X msg 386 188 0; +#X obj 386 98 inlet; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 2 1; +#X connect 4 0 1 0; +#X connect 4 1 5 0; +#X connect 4 2 3 0; +#X connect 5 0 6 0; +#X connect 6 0 2 1; +#X connect 7 0 5 1; diff --git a/list.split-help.pd b/list.split-help.pd new file mode 100644 index 0000000..b327846 --- /dev/null +++ b/list.split-help.pd @@ -0,0 +1,40 @@ +#N canvas 1 57 629 579 10; +#X msg 103 328 1 2 3; +#X msg 79 231 list cis boom bah; +#X msg 99 263 bang; +#X floatatom 182 396 3 -5 5 0 - - -; +#X obj 78 494 print split1; +#X obj 239 497 print split2; +#X msg 79 204 walk the dog; +#X msg 102 306 1 2; +#X msg 100 285 1; +#X msg 103 349 1 2 3 4; +#X msg 103 372 1 2 so are you; +#X text 75 513 first n; +#X text 210 419 <-- creation arg inits split point; +#X text 201 202 non-list message converted to list; +#X text 245 231 list with three symbols; +#X text 139 288 list with one number; +#X text 177 310 ... etc; +#X text 241 370 <- if the first item is a number \, it's a list.; +#X text 142 262 list with no items; +#X text 49 25 Description: split a list into smaller ones; +#X text 236 516 rest of list (will output a bang if list is too short) +; +#X text 48 61 The "list split" object takes lists and outputs the first +"n" items (left outlet) and the remaining ones (right outlet). The +two outputs appear in the usual right-to-left order. The creation argument +or the inlet sets the split point.; +#X text 218 394 new split point(CAN BE A NEGATIVE NUMBER); +#X obj 79 421 list.split 2; +#X connect 0 0 23 0; +#X connect 1 0 23 0; +#X connect 2 0 23 0; +#X connect 3 0 23 1; +#X connect 6 0 23 0; +#X connect 7 0 23 0; +#X connect 8 0 23 0; +#X connect 9 0 23 0; +#X connect 10 0 23 0; +#X connect 23 0 4 0; +#X connect 23 1 5 0; diff --git a/list.split.on-help.pd b/list.split.on-help.pd new file mode 100644 index 0000000..45b4b5b --- /dev/null +++ b/list.split.on-help.pd @@ -0,0 +1,23 @@ +#N canvas 649 133 445 646 10; +#X msg 25 68 4 23 5 6; +#X msg 229 114 5; +#X msg 82 98 78 32 67 5 987 32 43; +#X obj 70 230 print A; +#X obj 176 230 print B; +#X text 16 16 Description: splits a list on the first instance of a +float.; +#X msg 26 321 4 23 5 6; +#X msg 91 322 78 32 67 5 987 32 43; +#X obj 26 442 print A; +#X obj 113 442 print B; +#X obj 26 387 list.split.on 5; +#X obj 86 143 list.split.on; +#X connect 0 0 11 0; +#X connect 1 0 11 1; +#X connect 2 0 11 0; +#X connect 6 0 10 0; +#X connect 7 0 10 0; +#X connect 10 0 8 0; +#X connect 10 1 9 0; +#X connect 11 0 3 0; +#X connect 11 1 4 0; diff --git a/list.split.on.pd b/list.split.on.pd new file mode 100644 index 0000000..4082b79 --- /dev/null +++ b/list.split.on.pd @@ -0,0 +1,48 @@ +#N canvas 1572 125 739 777 10; +#X obj 56 72 inlet; +#X obj 56 651 outlet; +#X obj 386 79 inlet; +#X obj 183 652 outlet; +#X obj 75 390 sel; +#X obj 313 431 loadbang; +#X obj 89 314 list; +#X obj 126 262 t b f f; +#X obj 126 228 moses; +#X obj 56 116 t a b a b a; +#X obj 98 436 f; +#X obj 383 281 b; +#X obj 126 310 + 1; +#X obj 227 204 t f f; +#X obj 313 455 iemlib/dollarg; +#X obj 227 181 zexy/length; +#X obj 70 346 list.element; +#X obj 126 194 count.iter; +#X obj 114 532 list.split 1; +#X obj 56 488 list.split; +#X connect 0 0 9 0; +#X connect 2 0 4 1; +#X connect 4 0 10 0; +#X connect 4 1 11 0; +#X connect 5 0 14 0; +#X connect 6 0 16 0; +#X connect 7 0 6 0; +#X connect 7 1 12 0; +#X connect 7 2 10 1; +#X connect 8 0 7 0; +#X connect 9 0 19 0; +#X connect 9 1 17 0; +#X connect 9 2 6 1; +#X connect 9 3 17 1; +#X connect 9 4 15 0; +#X connect 10 0 19 1; +#X connect 11 0 17 0; +#X connect 12 0 16 1; +#X connect 13 0 8 1; +#X connect 13 1 19 1; +#X connect 14 0 4 1; +#X connect 15 0 13 0; +#X connect 16 0 4 0; +#X connect 17 0 8 0; +#X connect 18 1 3 0; +#X connect 19 0 1 0; +#X connect 19 1 18 0; diff --git a/list.split.pd b/list.split.pd new file mode 100644 index 0000000..ef696e1 --- /dev/null +++ b/list.split.pd @@ -0,0 +1,43 @@ +#N canvas 596 266 541 561 10; +#X obj 48 40 inlet; +#X obj 28 377 outlet; +#X obj 259 10 inlet; +#X obj 145 375 outlet; +#X obj 48 284 list split \$1; +#X obj 182 310 t a b; +#X obj 262 49 moses 0; +#X obj 48 150 demultiplex 0 1; +#X obj 271 111 t f b; +#X msg 305 138 0; +#X msg 233 92 1; +#X obj 242 202 list.length; +#X obj 207 67 t f b; +#X obj 251 246 +; +#X obj 254 279 max 0; +#X obj 142 187 t a a; +#X obj 386 78 loadbang; +#X obj 386 104 f \$1; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 1 0; +#X connect 4 1 3 0; +#X connect 4 2 5 0; +#X connect 5 0 1 0; +#X connect 5 1 3 0; +#X connect 6 0 12 0; +#X connect 6 1 8 0; +#X connect 7 0 4 0; +#X connect 7 1 15 0; +#X connect 8 0 4 1; +#X connect 8 1 9 0; +#X connect 9 0 7 1; +#X connect 10 0 7 1; +#X connect 11 0 13 0; +#X connect 12 0 13 1; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 4 1; +#X connect 15 0 4 0; +#X connect 15 1 11 0; +#X connect 16 0 17 0; +#X connect 17 0 6 0; diff --git a/list.substitute-help.pd b/list.substitute-help.pd new file mode 100644 index 0000000..3c9e703 --- /dev/null +++ b/list.substitute-help.pd @@ -0,0 +1,12 @@ +#N canvas 616 200 562 345 10; +#X obj 34 116 list.substitute 32 44; +#X msg 34 62 76 32 99; +#X obj 34 165 print; +#X text 29 15 Description: Substitutes an element in a list for another. +; +#X msg 96 77 32; +#X msg 151 75 44; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; diff --git a/list.substitute.pd b/list.substitute.pd new file mode 100644 index 0000000..4b86d2d --- /dev/null +++ b/list.substitute.pd @@ -0,0 +1,20 @@ +#N canvas 758 300 471 466 10; +#X obj 12 18 inlet; +#X obj 77 84 list.unfold; +#X obj 77 132 sel \$1; +#X obj 17 238 list.build; +#X obj 12 51 t b a; +#X obj 17 346 outlet; +#X obj 48 173 list append \$2; +#X obj 150 16 inlet; +#X obj 246 18 inlet; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 1; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 4 1 1 0; +#X connect 6 0 3 1; +#X connect 7 0 2 1; +#X connect 8 0 6 1; diff --git a/list.sum-help.pd b/list.sum-help.pd new file mode 100644 index 0000000..5fad5b7 --- /dev/null +++ b/list.sum-help.pd @@ -0,0 +1,10 @@ +#N canvas 477 324 587 497 10; +#X msg 144 116 1 2 3 4; +#X obj 164 291 print; +#X msg 225 119 4 2 6; +#X text 100 17 Description: Returns the total of a list.; +#X text 101 36 Comments: Wraps zexy's [sum].; +#X obj 169 192 list.sum; +#X connect 0 0 5 0; +#X connect 2 0 5 0; +#X connect 5 0 1 0; diff --git a/list.sum.pd b/list.sum.pd new file mode 100644 index 0000000..4c512c0 --- /dev/null +++ b/list.sum.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 587 497 10; +#X obj 167 80 inlet; +#X obj 190 347 outlet; +#X obj 182 190 sum; +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/list.trim-help.pd b/list.trim-help.pd new file mode 100644 index 0000000..40c42bb --- /dev/null +++ b/list.trim-help.pd @@ -0,0 +1,21 @@ +#N canvas 549 134 460 347 10; +#X text 27 54 Comments: Wraps [list trim].; +#X text 30 19 Description: convert list to message \, using first item +as selector.; +#X msg 142 188 1 2 3; +#X msg 142 139 list cis boom bah; +#X msg 143 214 bang; +#X msg 142 112 walk the dog; +#X obj 117 312 print trim; +#X msg 143 236 1 x y; +#X msg 142 262 x 1 y; +#X msg 142 162 55; +#X obj 117 290 list.trim; +#X connect 2 0 10 0; +#X connect 3 0 10 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 7 0 10 0; +#X connect 8 0 10 0; +#X connect 9 0 10 0; +#X connect 10 0 6 0; diff --git a/list.trim.pd b/list.trim.pd new file mode 100644 index 0000000..d5a7dbf --- /dev/null +++ b/list.trim.pd @@ -0,0 +1,6 @@ +#N canvas 63 519 450 300 10; +#X obj 137 167 list trim; +#X obj 134 64 inlet; +#X obj 137 247 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/list.unfold-help.pd b/list.unfold-help.pd new file mode 100644 index 0000000..9079f98 --- /dev/null +++ b/list.unfold-help.pd @@ -0,0 +1,25 @@ +#N canvas 230 214 664 370 10; +#X text 89 80 Comments: Wraps zexy's drip.; +#X text 84 51 Description: Unfolds a list into it's individual elements. +; +#X obj 39 226 print; +#X msg 42 115 list a short list; +#X msg 129 141 1 84 32 3; +#X text 263 193 creation:; +#X text 255 229 is the initial drop-delay in [ms]; +#X text 255 262 n==0 will DO scheduling (and is therefore somewhat +"slower" than without arguments; +#X text 253 247 default is NO scheduling; +#X text 254 297 negative values for turn off scheduling; +#X text 327 193 drip ; +#X obj 39 167 list.unfold; +#X obj 204 228 print; +#X msg 207 117 list a short list; +#X msg 294 143 1 84 32 3; +#X obj 206 170 list.unfold 100; +#X connect 3 0 11 0; +#X connect 4 0 11 0; +#X connect 11 0 2 0; +#X connect 13 0 15 0; +#X connect 14 0 15 0; +#X connect 15 0 12 0; diff --git a/list.unfold.pd b/list.unfold.pd new file mode 100644 index 0000000..33e871a --- /dev/null +++ b/list.unfold.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 466 316 10; +#X obj 107 72 inlet; +#X obj 104 265 outlet; +#X obj 111 167 drip; +#X obj 233 101 dollarg; +#X obj 234 73 loadbang; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; diff --git a/list.wait-help.pd b/list.wait-help.pd new file mode 100644 index 0000000..3f0311a --- /dev/null +++ b/list.wait-help.pd @@ -0,0 +1,18 @@ +#N canvas 388 416 817 442 12; +#X obj 133 212 list.wait; +#X msg 37 130 4 54 3; +#X msg 110 130 list test; +#X obj 215 171 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 210 311 print waiting; +#X obj 84 330 print out; +#X text 46 34 Descrition: Makes a list wait until the flag is lowered. +; +#X text 234 170 wait flag; +#X text 239 218 When wait is flagged \, it stores the last list. Once +the flag is changed \, the waiting list is immediatly outputed.; +#X connect 0 0 5 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; diff --git a/list.wait.pd b/list.wait.pd new file mode 100644 index 0000000..cbf23cd --- /dev/null +++ b/list.wait.pd @@ -0,0 +1,32 @@ +#N canvas 12 50 1012 718 12; +#X obj 130 289 list; +#X obj 124 178 demultiplex 0 1; +#X obj 130 317 route bang; +#X msg 252 135 0; +#X msg 370 202 1; +#X obj 125 85 inlet; +#X obj 211 450 outlet; +#X obj 332 59 inlet; +#X obj 337 142 t b b b; +#X obj 387 454 outlet; +#X text 450 454 waiting list; +#X obj 340 112 sel 0 1; +#X obj 127 234 t a b; +#X obj 237 230 t a a; +#X connect 0 0 2 0; +#X connect 1 0 12 0; +#X connect 1 1 13 0; +#X connect 2 1 6 0; +#X connect 3 0 1 1; +#X connect 4 0 1 1; +#X connect 5 0 1 0; +#X connect 7 0 11 0; +#X connect 8 0 0 1; +#X connect 8 1 0 0; +#X connect 8 2 3 0; +#X connect 11 0 8 0; +#X connect 11 1 4 0; +#X connect 12 0 0 0; +#X connect 12 1 0 1; +#X connect 13 0 9 0; +#X connect 13 1 0 1; diff --git a/list.walk-help.pd b/list.walk-help.pd new file mode 100644 index 0000000..06f1aae --- /dev/null +++ b/list.walk-help.pd @@ -0,0 +1,37 @@ +#N canvas 691 24 666 505 10; +#X msg 141 243 list one two three four; +#X obj 141 335 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X text 162 336 bang when done or index out of range; +#X floatatom 98 127 5 0 0 0 - - -; +#X msg 81 80 bang; +#X msg 167 288 0 1 2 3 4 5 6 7 8 9; +#X msg 153 266 twenty three 23; +#X text 141 126 output item by index number (zero-based \, only positive) +; +#X text 321 466 2007 Hans-Christoph Steiner \, Frank Barknecht; +#X msg 129 197 set; +#X msg 121 176 set \$1; +#X floatatom 121 156 5 0 0 0 - - -; +#X text 163 197 just "set" is "set 0" (rewind); +#X text 173 176 set start position without output; +#X text 122 79 output one item and move to the next (takes off \, where +the last float \, set or bang message was); +#X obj 81 366 flow.prepend set; +#X text 78 18 Description: walk through a list element by element - +similar to textfile and qlist; +#X obj 141 223 init.lb; +#X obj 81 310 list.walk; +#X msg 81 395; +#X connect 0 0 18 1; +#X connect 3 0 18 0; +#X connect 4 0 18 0; +#X connect 5 0 18 1; +#X connect 6 0 18 1; +#X connect 9 0 18 0; +#X connect 10 0 18 0; +#X connect 11 0 10 0; +#X connect 15 0 19 0; +#X connect 17 0 0 0; +#X connect 18 0 15 0; +#X connect 18 1 1 0; diff --git a/list.walk.pd b/list.walk.pd new file mode 100644 index 0000000..92ddc69 --- /dev/null +++ b/list.walk.pd @@ -0,0 +1,48 @@ +#N canvas 640 40 634 604 10; +#X obj 105 76 inlet; +#X obj 300 74 inlet; +#X obj 135 501 outlet; +#X obj 300 500 outlet; +#X text 349 72 list to manipulate; +#X text 298 523 bang when done or index out of range; +#X text 134 522 output value; +#X obj 135 416 list; +#X obj 300 438 bang; +#X obj 135 317 moses; +#X obj 127 239 + 1; +#X msg 105 191 0; +#X obj 135 391 t b a; +#X obj 89 239 f; +#X obj 89 317 moses; +#X obj 300 103 t b a a; +#X obj 105 109 route set; +#X obj 105 139 route bang; +#X text 31 23 bang for next item \, float for index or set for no-output. +; +#X obj 135 449 list.element; +#X obj 216 416 + 1; +#X obj 167 290 list.length; +#X connect 0 0 16 0; +#X connect 1 0 15 0; +#X connect 7 0 19 0; +#X connect 8 0 3 0; +#X connect 9 0 12 0; +#X connect 9 1 8 0; +#X connect 10 0 13 1; +#X connect 11 0 13 1; +#X connect 12 0 7 0; +#X connect 12 1 20 0; +#X connect 13 0 10 0; +#X connect 13 0 14 0; +#X connect 14 0 8 0; +#X connect 14 1 9 0; +#X connect 15 0 11 0; +#X connect 15 1 21 0; +#X connect 15 2 7 1; +#X connect 16 0 17 0; +#X connect 16 1 13 0; +#X connect 17 0 11 0; +#X connect 17 1 13 1; +#X connect 19 0 2 0; +#X connect 20 0 19 1; +#X connect 21 0 9 1; diff --git a/lua_test.pd_lua b/lua_test.pd_lua new file mode 100644 index 0000000..61dcb61 --- /dev/null +++ b/lua_test.pd_lua @@ -0,0 +1,21 @@ +pd.post("Hello, universe!") + +local lua_test = pd.Class:new():register("lua_test") + +function lua_test:initialize(name, atoms) + pd.post("Hello, world!") + self.inlets = 1 + self.outlets = 1 + return true +end + +function lua_test:finalize() + pd.post("Bye bye, world!") +end + +function lua_test:in_1(sel,atoms) + for i,v in ipairs(atoms) do + pd.post(sel.." " .. i .. " = " .. v) + end + self:outlet(1, "got", atoms) -- 2nd arg is an array +end diff --git a/luax_test.pd_luax b/luax_test.pd_luax new file mode 100644 index 0000000..8539a56 --- /dev/null +++ b/luax_test.pd_luax @@ -0,0 +1,67 @@ +local modes = {"alea", "series", "sequence", "rota"} + +local function contains(t,x) + for k,v in pairs(t) do + if v == x then return true end + end + return false +end + + +return function(self, sel, atoms) + self.inlets = 1 + self.outlets = 1 + pd.post("lua: selector:"..sel) + pd.post("lua: atoms:") + for i,v in ipairs(atoms) do + pd.post("lua: attr " .. i .. " = " .. v) + end + + --[[ + function self:in_1(sel,atoms) + --pd.post("float: " .. f) + local ret ={} + if (sel=="toto") then + pd.post("sel is toto") + end + for i,v in ipairs(atoms) do + if type(v) == "number" then + pd.post("number!") + elseif type(v) == "string" then + pd.post("str!") + end + pd.post(" " .. i .. " = " .. v) + end + self:outlet(1, "selecto", {3,"fdsfd"}) --? + end + ]]-- + function self:in_1_yahoo(atoms) + pd.post("lua: sel is yahoo") + for i,v in ipairs(atoms) do + pd.post("lua: " .. i .. " = " .. v) + end + self:outlet(1, "got", atoms) -- 2nd arg is an array + end + + function self:in_1_gem_state(atoms) + pd.post("lua: script.lua:gem_state renders!") + end + + return true +end + + +--if type(atoms[1]) == "number" then +-- self.mode = modes[atoms[1]] +-- if self.mode == "series" then +-- self.u = urn.new(#self.periods) +-- end +-- self.i = 1 +-- elseif type(atoms[1]) == "string" then +-- if contains(modes, atoms[1]) then +-- self.mode = atoms[1] +-- else +-- self:error("no such mode: " .. atoms[1]) +-- end +-- + diff --git a/math.f.mod-help.pd b/math.f.mod-help.pd new file mode 100644 index 0000000..49a6ad1 --- /dev/null +++ b/math.f.mod-help.pd @@ -0,0 +1,9 @@ +#N canvas 0 0 450 300 10; +#X floatatom 79 75 5 0 0 0 - - -; +#X floatatom 252 99 5 0 0 0 - - -; +#X floatatom 120 276 5 0 0 0 - - -; +#X obj 147 172 math.f.mod 12; +#X text 41 21 Description: Floating-point modulo operation.; +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 3 0 2 0; diff --git a/math.f.mod.pd b/math.f.mod.pd new file mode 100644 index 0000000..d2fe6a1 --- /dev/null +++ b/math.f.mod.pd @@ -0,0 +1,13 @@ +#N canvas 0 0 450 300 10; +#X obj 267 23 inlet; +#X obj 303 77 init.df \$1 1; +#X obj 305 56 loadbang; +#X obj 55 29 inlet; +#X obj 89 266 outlet; +#X text 254 259 See also creb/f_mod; +#X obj 108 164 expr fmod($f1 \, $f2); +#X connect 0 0 6 1; +#X connect 1 0 6 1; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 6 0 4 0; diff --git a/math.power.of-help.pd b/math.power.of-help.pd new file mode 100644 index 0000000..eea23e6 --- /dev/null +++ b/math.power.of-help.pd @@ -0,0 +1,14 @@ +#N canvas 740 194 362 172 10; +#X floatatom 39 45 5 0 0 0 - - -; +#X floatatom 39 94 12 0 0 0 - - -; +#X floatatom 188 45 5 0 0 0 - - -; +#X floatatom 188 93 9 0 0 0 - - -; +#X floatatom 126 44 5 0 0 0 - - -; +#X text 35 14 Description: Power of a certain number.; +#X obj 188 67 math.power.of 3; +#X obj 39 67 math.power.of 2; +#X connect 0 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 7 1; +#X connect 6 0 3 0; +#X connect 7 0 1 0; diff --git a/math.power.of.pd b/math.power.of.pd new file mode 100644 index 0000000..1fa52ce --- /dev/null +++ b/math.power.of.pd @@ -0,0 +1,21 @@ +#N canvas 434 221 638 316 10; +#X obj 132 53 inlet; +#X obj 112 245 outlet; +#X obj 116 162 pow; +#X obj 132 90 t b f; +#X obj 102 122 f \$1; +#X text 177 124 <-- see how the dollar-1 is replaced by the first argument +of the abstraction.; +#X text 212 52 This abstraction works much like a subpatch :; +#N canvas 0 0 450 300 subpatch 0; +#X text 37 89 This is a subpatch. (nested in a patch); +#X text 38 109 Different than an abstraction \, which can be reused. +; +#X restore 542 52 pd subpatch; +#X obj 293 79 inlet; +#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; +#X connect 8 0 4 1; diff --git a/medias/data/drum.kit.coll b/medias/data/drum.kit.coll new file mode 100644 index 0000000..43a9d94 --- /dev/null +++ b/medias/data/drum.kit.coll @@ -0,0 +1,8 @@ +0, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum00.wav; +1, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum01.wav; +2, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum02.wav; +3, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum03.wav; +4, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum04.wav; +5, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum05.wav; +6, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum06.wav; +7, 1 5 0 1 5 0 1 0 1 1 medias/sounds/drum07.wav; diff --git a/medias/data/flow.cues.txt b/medias/data/flow.cues.txt new file mode 100644 index 0000000..995b31c --- /dev/null +++ b/medias/data/flow.cues.txt @@ -0,0 +1,4 @@ +1000 Bing +3000 Bang +5000 Boum +9000 Yippy diff --git a/medias/data/loops.coll b/medias/data/loops.coll new file mode 100644 index 0000000..dbf2446 --- /dev/null +++ b/medias/data/loops.coll @@ -0,0 +1,4 @@ +0, 1 5 0 1 5 0 1 0 1 1 medias/sounds/loop0.wav +; +1, 1 5 0 1 5 0 1 0 1 1 medias/sounds/loop1.wav +; diff --git a/medias/data/sampler.bank.help.txt b/medias/data/sampler.bank.help.txt new file mode 100644 index 0000000..7dd7821 --- /dev/null +++ b/medias/data/sampler.bank.help.txt @@ -0,0 +1,67 @@ +@id sample.play~-help; +@progress 0 @loop 0 @timing TIMING @fit 0 @bank sph~; +@id trackerSampler; +SUB map; +clear; +store 0 matrix 12 16 3 -1 -1 3 -1 -1 -1 3 -1 -1 3 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 5 5 -1 5 -1 5 -1 5 5 5 -1 -1 5 5 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 6 -1 4 -1 -1 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 60 -1 127 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; +store 1 matrix 12 16 3 -1 -1 3 -1 -1 -1 3 -1 -1 3 -1 -1 -1 3 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 5 5 -1 5 -1 5 -1 5 5 5 -1 -1 5 5 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 6 -1 4 -1 -1 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 60 -1 127 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 48 -1 -1 -1 60 -1 48 -1 -1 -1 -1 -1 -1 -1 60 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; +store 2 matrix 12 16 3 -1 3 3 -1 -1 -1 3 -1 -1 3 -1 -1 3 3 3 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 60 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 10 40 60 5 5 5 -1 5 -1 5 -1 5 5 5 -1 -1 5 5 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 -1 -1 -1 -1 -1 6 -1 4 -1 -1 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 127 -1 -1 -1 -1 -1 60 -1 127 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 60 -1 -1 -1 60 -1 48 -1 -1 -1 60 -1 -1 -1 -1 -1 60 -1 -1 -1 -1 -1 -1 -1 -1 -1 90 -1 -1 -1 -1 -1; +END; +@timing trackingSampler @play 0 @trigger onbeat @pattern 2; +@id trackingSampler; +@external 0 @bpm 120; +@id sph~; +SUB INSTRUMENTS; +clear; +store 0 instrument 0; +store 1 name loop1; +store 2 file medias/sounds/loop0.wav; +store 3 lookup 0 100 1; +store 4 pan 0.5 100 0.5; +store 5 vol 1 100 1; +store 6 playback 0 1 1 0; +store 7 instrument 1; +store 8 name noname; +store 9 file medias/sounds/loop1.wav; +store 10 lookup 0 100 1; +store 11 pan 0.5 100 0.5; +store 12 vol 1 100 1; +store 13 playback 0 1 1 0; +store 14 instrument 2; +store 15 name noname; +store 16 file medias/sounds/loop2.wav; +store 17 lookup 0 100 1; +store 18 pan 0.5 100 0.5; +store 19 vol 1 100 1; +store 20 playback 0 1 1 0; +store 21 instrument 3; +store 22 name noname; +store 23 file medias/sounds/drum00.wav; +store 24 lookup 0 100 1; +store 25 pan 0.5 100 0.5; +store 26 vol 1 100 1; +store 27 playback 0 1 1 0; +store 28 instrument 4; +store 29 name noname; +store 30 file medias/sounds/drum01.wav; +store 31 lookup 0 100 1; +store 32 pan 0.5 100 0.5; +store 33 vol 1 100 1; +store 34 playback 0 1 1 0; +store 35 instrument 5; +store 36 name noname; +store 37 file medias/sounds/drum04.wav; +store 38 lookup 0 100 1; +store 39 pan 0.5 100 0.5; +store 40 vol 1 100 1; +store 41 playback 0 1 1 0; +store 42 instrument 6; +store 43 name noname; +store 44 file medias/sounds/drum07.wav; +store 45 lookup 0 100 1; +store 46 pan 0.5 100 0.5; +store 47 vol 1 100 1; +store 48 playback 0 1 1 0; +END; +@id sphtiming; +@external 0 @bpm 120; diff --git a/medias/pdmtl_logo.gif b/medias/pdmtl_logo.gif new file mode 100644 index 0000000..1830df0 Binary files /dev/null and b/medias/pdmtl_logo.gif differ diff --git a/medias/sample.bank.gui.gif b/medias/sample.bank.gui.gif new file mode 100644 index 0000000..675483f Binary files /dev/null and b/medias/sample.bank.gui.gif differ diff --git a/medias/shaders/deforme_texture.frag b/medias/shaders/deforme_texture.frag new file mode 100644 index 0000000..e61c340 --- /dev/null +++ b/medias/shaders/deforme_texture.frag @@ -0,0 +1,52 @@ +uniform float K1,K2,K3; +uniform float mvt1, mvt2, mvt3; + +uniform sampler2D texture; + +uniform vec2 offset; + +void main (void) +{ + vec3 noiseVec1; + vec3 noiseVec2; + vec3 noiseVec3; + vec2 displacement1; + vec2 displacement2; + vec2 displacement3; + vec4 color; + float a,b,c; + + vec2 texture1 = (gl_TexCoord[0].st * 0.5); + + displacement1 = (gl_TexCoord[0].st * 0.5) + vec2(0.0,0.5); + displacement2 = (gl_TexCoord[0].st * 0.5) + vec2(0.5,0.0); + displacement3 = (gl_TexCoord[0].st * 0.5) + vec2(0.5,0.5); + + + + noiseVec1 = normalize(texture2D(texture, displacement1.xy).xyz); + noiseVec1 = (noiseVec1 * 2.0 - 1.0) * 0.01 * K1; + a = cos(mvt1)*0.5 +1.; + b = cos(mvt1+2.0944)*0.5 +1.; + c = cos(mvt1+4.1888)*0.5 +1.; + noiseVec1 = vec3 ( a * noiseVec1.x + b * noiseVec1.y + c * noiseVec1.z, b * noiseVec1.x + c * noiseVec1.y + a * noiseVec1.z, 0) ; + + noiseVec2 = normalize(texture2D(texture, displacement2.xy).xyz); + noiseVec2 = (noiseVec2 * 2.0 - 1.0) * 0.01 * K2; + a = cos(mvt2)*0.5 +1.; + b = cos(mvt2+2.0944)*0.5 +1.; + c = cos(mvt2+4.1888)*0.5 +1.; + noiseVec2 = vec3 ( a * noiseVec2.x + b * noiseVec2.y + c * noiseVec2.z, b * noiseVec2.x + c * noiseVec2.y + a * noiseVec2.z, 0) ; + + noiseVec3 = normalize(texture2D(texture, displacement3.xy).xyz); + noiseVec3 = (noiseVec3 * 2.0 - 1.0) * 0.01 * K3; + a = cos(mvt3)*0.5 +1.; + b = cos(mvt3+2.0944)*0.5 +1.; + c = cos(mvt3+4.1888)*0.5 +1.; + noiseVec3 = vec3 ( a * noiseVec3.x + b * noiseVec3.y + c * noiseVec3.z, b * noiseVec3.x + c * noiseVec3.y + a * noiseVec3.z, 0) ; + +// gl_FragColor = texture2D(texture, texture1 + noiseVec1.xy + noiseVec2.xy + noiseVec3.xy ); + color = texture2D(texture, texture1 + noiseVec1.xy + noiseVec2.xy + noiseVec3.xy ); +// color.a = 0.5; + gl_FragColor = color; +} diff --git a/medias/shaders/deforme_texture.vert b/medias/shaders/deforme_texture.vert new file mode 100644 index 0000000..32fa3a0 --- /dev/null +++ b/medias/shaders/deforme_texture.vert @@ -0,0 +1,8 @@ +uniform vec2 offset; + +void main() +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_Position = ftransform(); +} + diff --git a/medias/shaders/fractal.frag b/medias/shaders/fractal.frag new file mode 100644 index 0000000..4296813 --- /dev/null +++ b/medias/shaders/fractal.frag @@ -0,0 +1,20 @@ +uniform float maxIterations; + +varying vec2 coord; // texture coordinates + +void main () +{ + vec2 c = coord; + vec2 z = c; + gl_FragColor = vec4(1.0,1.,0.,1.); + for (float i = 0.; i < maxIterations ; i += 1.0) + { + z = vec2(z.x*z.x - z.y*z.y, 2.0*z.x*z.y) + c; + if (dot(z, z) > 4.0) + { + gl_FragColor *= (i / maxIterations); + break; + } + } + +} diff --git a/medias/shaders/fractal.vert b/medias/shaders/fractal.vert new file mode 100644 index 0000000..cbe1851 --- /dev/null +++ b/medias/shaders/fractal.vert @@ -0,0 +1,9 @@ +varying vec2 coord; +uniform vec2 center; +uniform float zoom; + +void main(void) +{ + coord = zoom * (gl_Vertex.xy) + center; + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; +} diff --git a/medias/shaders/twirl.frag b/medias/shaders/twirl.frag new file mode 100755 index 0000000..2880f56 --- /dev/null +++ b/medias/shaders/twirl.frag @@ -0,0 +1,34 @@ +uniform float twirl; +uniform float size; +uniform float radius; +uniform vec2 origin; + +uniform sampler2DRect tex0; + +varying vec2 texcoord0; +varying vec2 texdim0; + +void main (void) +{ + + vec2 point = texcoord0/texdim0; + + vec2 normCoord = vec2(2.0) * point - vec2(1.0); + + normCoord += origin; + + float r = length(normCoord); + float phi = atan(normCoord.y, normCoord.x); + + + phi = phi + (1.0 - smoothstep(-size, size,r)) * twirl; + + normCoord.x = r* cos(phi); + normCoord.y = r* sin(phi); + + normCoord -= origin; + + vec2 texCoord0 = (normCoord / 2.0 + 0.5) * texdim0; + gl_FragColor = texture2DRect(tex0, texCoord0); + +} diff --git a/medias/shaders/twirl.vert b/medias/shaders/twirl.vert new file mode 100755 index 0000000..6221da4 --- /dev/null +++ b/medias/shaders/twirl.vert @@ -0,0 +1,14 @@ + +varying vec2 texcoord0; +varying vec2 texdim0; + + +void main() +{ + gl_Position = ftransform(); + + texcoord0 = vec2(gl_TextureMatrix[0] * gl_MultiTexCoord0); + + texdim0 = vec2 (abs(gl_TextureMatrix[0][0][0]),abs(gl_TextureMatrix[0][1][1])); + +} \ No newline at end of file diff --git a/midi.chord.guess-help.pd b/midi.chord.guess-help.pd new file mode 100644 index 0000000..2762985 --- /dev/null +++ b/midi.chord.guess-help.pd @@ -0,0 +1,26 @@ +#N canvas 330 306 711 366 10; +#X obj 39 105 notein; +#X obj 39 141 pack f f; +#X obj 36 252 midi.chord.guess; +#X obj 188 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 209 237 clear notes that might be stuck on.; +#X msg 102 327 4; +#X obj 36 277 route none; +#X obj 36 305 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 101 302 flow.prepend set; +#X obj 287 76 input.piano_ 1; +#X text 17 17 Description: Processes a stream of midi notes so that +we only keep the notes that are currently on. Furthermore \, it rounds +them all to the same octave so that we can use them as a chord in musical +computations.; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 2 1; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 8 0 5 0; +#X connect 9 0 1 0; diff --git a/midi.chord.guess.pd b/midi.chord.guess.pd new file mode 100644 index 0000000..3622b9d --- /dev/null +++ b/midi.chord.guess.pd @@ -0,0 +1,92 @@ +#N canvas 489 38 525 830 10; +#X obj 105 84 inlet stream of midi notes; +#X obj 135 378 coll; +#C restore; +#X obj 135 278 route 0; +#X obj 105 226 t b l; +#X msg 135 253 \$3 \$1 \$2; +#X msg 179 303 \$2 \$3; +#X msg 135 327 remove \$1; +#X msg 84 329 dump; +#X obj 105 168 poly 24; +#X msg 135 454; +#X msg 38 369 set; +#X obj 135 526 sort; +#X obj 157 582 drip; +#X obj 135 400 % 12; +#X msg 135 424 add2 \$1; +#X obj 105 200 pack f f f; +#X text 208 252 velocity \, index \, note; +#X text 227 299 index \, note; +#X text 190 199 voice \, note \, velocity; +#X msg 178 135 61 80; +#X msg 168 107 61 0; +#X msg 44 102 62 34; +#X msg 45 129 62 0; +#X obj 433 91 inlet clear; +#X msg 433 117 clear; +#X msg 135 703; +#X msg 248 668 add2 \$1; +#X msg 211 593 -1; +#X obj 211 623 change; +#X obj 135 552 t b l b; +#X obj 211 645 sel -1; +#X obj 26 287 t b b b; +#X obj 135 482 t l b; +#X text 244 593 resets the change; +#X text 172 704 uniques notes; +#X obj 135 795 outlet; +#X msg 35 730; +#X text 101 728 There is still a little delay where we get "none" but +there is actually a set of notes being processed. It happens on every +chord. This should be ignored by some way.; +#X obj 307 781 cnv 15 200 35 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 319 798 MUZAQ - GNU Public License; +#X text 316 783 (c) 2006 Alexandre Quessy; +#X obj 433 144 t b a a; +#X text 171 455 all notes on \, in one octave; +#X connect 0 0 8 0; +#X connect 1 0 13 0; +#X connect 2 0 6 0; +#X connect 2 1 5 0; +#X connect 3 0 31 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 15 0; +#X connect 8 1 15 1; +#X connect 8 2 15 2; +#X connect 9 0 32 0; +#X connect 10 0 9 0; +#X connect 10 0 25 0; +#X connect 10 0 36 0; +#X connect 11 0 29 0; +#X connect 12 0 28 0; +#X connect 13 0 14 0; +#X connect 14 0 9 0; +#X connect 15 0 3 0; +#X connect 19 0 8 0; +#X connect 20 0 8 0; +#X connect 21 0 8 0; +#X connect 22 0 8 0; +#X connect 23 0 24 0; +#X connect 24 0 41 0; +#X connect 25 0 35 0; +#X connect 26 0 25 0; +#X connect 27 0 28 0; +#X connect 28 0 30 0; +#X connect 29 0 25 0; +#X connect 29 1 12 0; +#X connect 30 1 26 0; +#X connect 31 0 9 0; +#X connect 31 1 7 0; +#X connect 31 2 10 0; +#X connect 32 0 11 0; +#X connect 32 1 27 0; +#X connect 36 0 35 0; +#X connect 41 0 10 0; +#X connect 41 1 1 0; +#X connect 41 2 8 0; diff --git a/midi.note&f-help.pd b/midi.note&f-help.pd new file mode 100644 index 0000000..e66109b --- /dev/null +++ b/midi.note&f-help.pd @@ -0,0 +1,25 @@ +#N canvas 501 262 746 438 10; +#X obj 181 292 midi.note&f; +#X floatatom 130 149 5 0 0 0 - - -; +#X obj 180 151 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 237 190 60 127; +#X msg 182 353 60 0; +#X obj 181 319 flow.prepend set; +#X msg 110 194 2; +#X msg 105 238 0; +#X msg 287 241 0 57 65; +#X msg 305 266 0 57 0; +#X msg 266 216 60 0; +#X text 45 9 Description: Converts float inputs to midi notes. Removes +any channel information. Ignores regular midi notes.; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; diff --git a/midi.note&f.pd b/midi.note&f.pd new file mode 100644 index 0000000..5655819 --- /dev/null +++ b/midi.note&f.pd @@ -0,0 +1,33 @@ +#N canvas 187 313 629 476 10; +#X obj 57 32 inlet; +#X obj 59 148 demultiplex 0 1 2; +#X obj 61 62 t a a; +#X obj 136 82 list.length; +#X obj 199 427 outlet; +#X obj 173 176 list.split 1; +#X obj 57 184 sel 0; +#X obj 51 240 f 60; +#X obj 108 237 convert.speed2m; +#X obj 333 35 inlet; +#X obj 111 264 t f f; +#X msg 114 292 \$1 127; +#X msg 37 286 \$1 0; +#X obj 144 116 - 1; +#X connect 0 0 2 0; +#X connect 1 0 6 0; +#X connect 1 1 4 0; +#X connect 1 2 5 0; +#X connect 2 0 1 0; +#X connect 2 1 3 0; +#X connect 3 0 13 0; +#X connect 5 1 4 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 12 0; +#X connect 8 0 10 0; +#X connect 9 0 8 1; +#X connect 10 0 11 0; +#X connect 10 1 7 1; +#X connect 11 0 4 0; +#X connect 12 0 4 0; +#X connect 13 0 1 1; diff --git a/midi.note.close-help.pd b/midi.note.close-help.pd new file mode 100644 index 0000000..4909b04 --- /dev/null +++ b/midi.note.close-help.pd @@ -0,0 +1,69 @@ +#N canvas 238 73 796 709 10; +#X obj 42 378 osc~ 440; +#X obj 42 493 *~; +#X msg 82 167 64 127; +#X msg 135 167 64 0; +#X msg 131 204 67 127; +#X msg 186 204 67 0; +#X text 191 -16 Description: Closes an opened note before opening a +new one.; +#X obj 201 572 mix.out_~; +#X obj 97 448 synth.adsr~ 5 5 0.5 5; +#X obj 83 336 mtof; +#X obj 87 270 midi.note.close 5; +#X obj 522 422 synth.adsr~ 5 5 0.5 5; +#X obj 404 398 osc~ 440; +#X obj 376 352 mtof; +#X obj 459 499 *~; +#X msg 408 212 64 127; +#X msg 464 212 64 0; +#X msg 460 249 67 127; +#X msg 515 249 67 0; +#X obj 84 297 midi.note.split; +#X obj 381 317 midi.note.split; +#X text 188 35 Argument_1: The delay time (must match the release time +of synth.adsr~); +#X text 188 4 Comments: This abstraction is monophonic. Understands +float triggers.; +#X msg 227 239 1; +#X msg 264 237 0; +#X msg 311 284 1; +#X msg 348 282 0; +#X text 95 472 WARNING: midi.note.close's argument (the close delay) +must be the same value as the release time)!; +#X text 108 100 COMPARE TRIGGERING NOTES WITH midi.note.close TO THE +LEFT AND WITHOUT midi.note.close ON THE RIGHT.; +#X text 74 147 Try only triggerind note_ons; +#X text 360 184 Try only triggerind note_ons; +#X text 165 328 NO GLITCHING!; +#X text 487 291 GLITCHING!; +#X text 324 584 <- Don't forget to turn mix.out~ on!; +#X connect 0 0 1 0; +#X connect 1 0 7 0; +#X connect 1 0 7 1; +#X connect 2 0 10 0; +#X connect 3 0 10 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 8 0 1 1; +#X connect 9 0 0 0; +#X connect 10 0 19 0; +#X connect 11 0 14 1; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 14 0 7 0; +#X connect 14 0 7 1; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 20 0; +#X connect 18 0 20 0; +#X connect 19 0 9 0; +#X connect 19 1 8 0; +#X connect 19 2 8 0; +#X connect 20 0 13 0; +#X connect 20 1 11 0; +#X connect 20 2 11 0; +#X connect 23 0 10 0; +#X connect 24 0 10 0; +#X connect 25 0 20 0; +#X connect 26 0 20 0; diff --git a/midi.note.close.pd b/midi.note.close.pd new file mode 100644 index 0000000..1cde0ec --- /dev/null +++ b/midi.note.close.pd @@ -0,0 +1,94 @@ +#N canvas 606 158 535 735 10; +#X obj 49 -48 inlet; +#X obj 48 666 outlet; +#X obj 48 250 t a a; +#X obj 85 282 unpack f f; +#X obj 85 329 spigot; +#X obj 143 311 != 0; +#X obj 103 379 t f b; +#X obj 157 444 f; +#X msg 209 338 1; +#X obj 383 672 outlet forced_close; +#X obj 321 290 list; +#X msg 160 483 \$1 0; +#X obj 301 331 route bang; +#X obj 313 391 t a b; +#X msg 401 410 0; +#X obj 88 47 unpack f f; +#X obj 50 21 t a a; +#X obj 48 111 demultiplex; +#X obj 151 76 == 0; +#X msg 222 125 0; +#X obj 250 239 delay 5; +#X obj 323 48 loadbang; +#X obj 325 86 init.df \$1 5; +#N canvas 0 0 907 659 float_triggers 0; +#X obj 146 111 route float; +#X obj 326 200 convert.speed2m; +#X msg 321 310 127; +#X obj 56 43 inlet; +#X obj 78 462 outlet; +#X obj 286 360 pack f f; +#X obj 231 162 sel 0; +#X obj 222 227 f 60; +#X obj 284 281 t f b f; +#X msg 210 267 \$1 0; +#X connect 0 0 6 0; +#X connect 0 1 4 0; +#X connect 1 0 8 0; +#X connect 2 0 5 1; +#X connect 3 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 1 1 0; +#X connect 7 0 9 0; +#X connect 8 0 5 0; +#X connect 8 1 2 0; +#X connect 8 2 7 1; +#X connect 9 0 4 0; +#X restore 49 -13 pd float_triggers; +#X obj 194 101 t a b b; +#X msg 258 125 stop; +#X obj 308 200 t b b a b b; +#X obj 48 148 demultiplex 0 1 2; +#X msg 226 159 2; +#X connect 0 0 23 0; +#X connect 2 0 1 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 6 0; +#X connect 5 0 4 1; +#X connect 6 0 7 1; +#X connect 6 1 8 0; +#X connect 7 0 11 0; +#X connect 8 0 27 1; +#X connect 10 0 12 0; +#X connect 11 0 1 0; +#X connect 12 1 13 0; +#X connect 13 0 2 0; +#X connect 13 1 14 0; +#X connect 14 0 27 1; +#X connect 15 1 18 0; +#X connect 16 0 17 0; +#X connect 16 1 15 0; +#X connect 17 0 27 0; +#X connect 17 1 24 0; +#X connect 18 0 17 1; +#X connect 19 0 27 1; +#X connect 20 0 10 0; +#X connect 21 0 22 0; +#X connect 22 0 20 1; +#X connect 23 0 16 0; +#X connect 24 0 1 0; +#X connect 24 1 19 0; +#X connect 24 2 25 0; +#X connect 25 0 20 0; +#X connect 26 0 20 0; +#X connect 26 1 7 0; +#X connect 26 2 10 1; +#X connect 26 3 28 0; +#X connect 26 4 9 0; +#X connect 27 0 2 0; +#X connect 27 1 26 0; +#X connect 28 0 27 1; diff --git a/midi.note.split-help.pd b/midi.note.split-help.pd new file mode 100644 index 0000000..458fac9 --- /dev/null +++ b/midi.note.split-help.pd @@ -0,0 +1,21 @@ +#N canvas 0 0 570 465 10; +#X obj 83 269 midi.note.split; +#X text 36 78 Description: Splits floats and note off from a midi stream. +; +#X obj 56 190 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 196 299 print note_off; +#X obj 148 346 print note_on_vel; +#X obj 57 397 print note_on_pitch; +#X msg 93 187 2; +#X msg 100 210 0; +#X msg 168 196 73 127; +#X msg 178 219 54 0; +#X connect 0 0 5 0; +#X connect 0 1 4 0; +#X connect 0 2 3 0; +#X connect 2 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; diff --git a/midi.note.split.pd b/midi.note.split.pd new file mode 100644 index 0000000..d094716 --- /dev/null +++ b/midi.note.split.pd @@ -0,0 +1,34 @@ +#N canvas 272 194 752 574 10; +#X obj 78 23 inlet; +#X obj 177 376 outlet note; +#X obj 330 384 outlet vel; +#X obj 435 384 outlet off; +#X obj 322 252 spigot; +#X obj 420 211 t f f; +#X obj 399 245 > 0; +#X obj 452 241 sel 0; +#X obj 73 94 route float; +#X obj 49 132 sel 0; +#X obj 135 169 convert.speed2m; +#X obj 202 199 t f b; +#X msg 244 230 127; +#X msg 438 346 0; +#X obj 330 176 list.split 1; +#X connect 0 0 8 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 4 1; +#X connect 7 0 13 0; +#X connect 7 1 2 0; +#X connect 8 0 9 0; +#X connect 8 1 14 0; +#X connect 9 0 13 0; +#X connect 9 1 10 0; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 11 1 12 0; +#X connect 12 0 2 0; +#X connect 13 0 3 0; +#X connect 14 0 4 0; +#X connect 14 1 5 0; diff --git a/mix.aux~-help.pd b/mix.aux~-help.pd new file mode 100644 index 0000000..9313ef2 --- /dev/null +++ b/mix.aux~-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 814 528 10; +#X obj 94 121 mix.aux~; +#X text 67 26 Description: Receives an aux stereo signal routed by +mix.channel~; +#X text 175 115 Argument 1: The aux number. Can be an integer number +between 0 and 127; +#X coords 0 0 1 1 133 33 0; diff --git a/mix.aux~.pd b/mix.aux~.pd new file mode 100644 index 0000000..fa95ced --- /dev/null +++ b/mix.aux~.pd @@ -0,0 +1,21 @@ +#N canvas 1597 138 814 528 10; +#X obj 147 267 outlet~; +#X obj 373 268 outlet~; +#X obj 458 47 loadbang; +#X obj 458 86 init.dollar.zero.top; +#X obj 147 184 catch13~; +#X obj 372 181 catch13~; +#X obj 461 144 makesymbol %s_%s; +#X msg 453 201 set \$1L; +#X msg 558 201 set \$1R; +#X obj 459 117 pack s \$1; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 4 0 0 0; +#X connect 5 0 1 0; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 4 0; +#X connect 8 0 5 0; +#X connect 9 0 6 0; +#X coords 0 0 1 1 133 33 0; diff --git a/mix.channel~-help.pd b/mix.channel~-help.pd new file mode 100644 index 0000000..29fe387 --- /dev/null +++ b/mix.channel~-help.pd @@ -0,0 +1,7 @@ +#N canvas 659 40 450 300 10; +#X text 35 22 Description: Controls the panning and volume of a stereo +signal.; +#X obj 252 140 param.gui; +#X msg 252 109 mch; +#X obj 46 143 mix.channel~ @id mch; +#X connect 2 0 1 0; diff --git a/mix.channel~.pd b/mix.channel~.pd new file mode 100644 index 0000000..c79739e --- /dev/null +++ b/mix.channel~.pd @@ -0,0 +1,139 @@ +#N canvas 1330 423 843 523 10; +#X obj 29 35 inlet~; +#X obj 161 37 inlet~; +#X obj 303 93 param.group; +#X obj 348 37 dollarg; +#X obj 349 12 loadbang; +#X obj 260 24 inlet; +#N canvas 0 0 804 504 pre_volume&pan 0; +#X obj 34 152 *~; +#X obj 87 231 line~; +#X msg 87 210 \$1 5; +#X obj 130 169 *~; +#X obj 293 159 / 127; +#X obj 239 239 * 1; +#X obj 309 238 * 1; +#X obj 205 186 line~; +#X msg 205 165 \$1 5; +#X obj 594 285 clip 0 63; +#X obj 412 287 clip 64 127; +#X obj 412 331 expr 1-(($f1-64)/63); +#X obj 598 324 expr $f1/63; +#X obj 415 360 t b f; +#X obj 605 359 t b f; +#X obj 28 44 inlet~; +#X obj 177 45 inlet~; +#X obj 27 406 outlet~; +#X obj 171 392 outlet~; +#X obj 433 216 param.atom pan 63 0 127; +#X obj 291 133 param.atom pre_volume 127 0 127; +#X connect 0 0 17 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 18 0; +#X connect 4 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 6 0 8 0; +#X connect 7 0 3 1; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 13 1 5 1; +#X connect 14 0 6 0; +#X connect 14 1 6 1; +#X connect 15 0 0 0; +#X connect 16 0 3 0; +#X connect 19 0 10 0; +#X connect 19 0 9 0; +#X connect 20 0 4 0; +#X restore 38 137 pd pre_volume&pan; +#N canvas 320 253 1021 720 aux 0; +#X obj 31 128 inlet~; +#X obj 138 144 inlet~; +#X obj 32 306 outlet~; +#X obj 144 306 outlet~; +#X obj 199 195 *~; +#X obj 276 204 *~; +#X obj 610 123 int; +#X obj 267 143 line~; +#X msg 273 110 \$1 5; +#X obj 316 75 / 127; +#X obj 426 95 param.atom aux_number 0 0 127; +#X obj 311 44 param.atom aux_volume 0 0 127; +#X obj 365 218 makesymbol %s_%s; +#X obj 413 163 init.dollar.zero.top; +#X obj 447 131 t b f; +#X obj 365 191 pack s f; +#X msg 334 249 set \$1L; +#X msg 431 251 set \$1R; +#X obj 240 301 throw13~ \$0dummy; +#X obj 356 300 throw13~ \$0dummy; +#X obj 485 301 catch13~ \$0aux; +#X connect 0 0 2 0; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X connect 1 0 5 0; +#X connect 4 0 18 0; +#X connect 5 0 19 0; +#X connect 6 0 15 1; +#X connect 7 0 4 1; +#X connect 7 0 5 1; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 14 0; +#X connect 11 0 9 0; +#X connect 12 0 16 0; +#X connect 12 0 17 0; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 14 1 6 0; +#X connect 15 0 12 0; +#X connect 16 0 18 0; +#X connect 17 0 19 0; +#X restore 56 209 pd aux; +#N canvas 0 0 602 325 main 0; +#X obj 51 27 inlet~; +#X obj 184 28 inlet~; +#X obj 361 37 loadbang; +#X obj 361 76 init.dollar.zero.top; +#X msg 333 111 set \$1ML; +#X msg 410 111 set \$1MR; +#X obj 336 232 catch13~ \$0dummy; +#X obj 54 231 throw13~ \$0dummy; +#X obj 188 228 throw13~ \$0dummy; +#X obj 64 121 *~; +#X obj 181 130 *~; +#X msg 113 101 \$1 5; +#X obj 112 132 line~; +#X obj 107 72 / 127; +#X obj 112 46 param.atom main_volume 0 0 127; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 9 0 7 0; +#X connect 10 0 8 0; +#X connect 11 0 12 0; +#X connect 12 0 9 1; +#X connect 12 0 10 1; +#X connect 13 0 11 0; +#X connect 14 0 13 0; +#X restore 59 274 pd main; +#X text 59 3 Requires ext13; +#X connect 0 0 6 0; +#X connect 1 0 6 1; +#X connect 3 0 2 1; +#X connect 3 1 2 2; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 7 0 8 0; +#X connect 7 1 8 1; diff --git a/mix.crossfade.stereo~-help.pd b/mix.crossfade.stereo~-help.pd new file mode 100644 index 0000000..837b854 --- /dev/null +++ b/mix.crossfade.stereo~-help.pd @@ -0,0 +1,137 @@ +#N canvas 73 80 686 574 10; +#N canvas 0 0 450 300 graph2 0; +#X array \$0cf1 100 float 2; +#X array \$0cf2 100 float 2; +#X coords 0 1 100 0 200 140 1; +#X restore 438 239 graph; +#X obj 105 118 osc~ 440; +#X floatatom 152 185 5 0 1 0 - - -; +#X obj 53 375 mix.out_~; +#X obj 155 162 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 12700 1; +#N canvas 0 0 454 304 tables 0; +#X obj 287 104 r \$0tables; +#X obj 123 137 inlet; +#X obj 182 136 inlet; +#X obj 107 179 tabwrite \$0cf1; +#X obj 217 181 tabwrite \$0cf2; +#X obj 326 136 + 100; +#X obj 342 165 / 2; +#X connect 0 0 5 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 0 3 1; +#X restore 350 322 pd tables; +#X text 256 44 Creation arguments.; +#X floatatom 135 282 5 0 0 0 - - -; +#X floatatom 156 245 5 0 0 0 - - -; +#X text 171 283 Left volume.; +#X text 193 245 Right volume.; +#X text 256 60 Arg 1: curve (defaults to 1). 1 == linear.; +#X text 257 78 Arg 2: start crossfade value (-1 to 1).; +#X text 150 144 -1(left) to 1(right); +#X obj 288 291 mix.crossfade~ 2 0; +#X text 43 18 Description: Crossfades 2 mono inputs along different +curves.; +#X text 361 170 Check out the curves:; +#X msg 366 191 0.25; +#X msg 407 190 1; +#X msg 446 189 3; +#X msg 486 189 10; +#X obj 366 236 t b f; +#N canvas 0 0 454 304 tableindices 0; +#X obj 184 142 t f f; +#N canvas 0 0 454 304 in_betweens 0; +#X obj 171 207 until; +#X obj 161 42 int; +#X obj 171 121 -; +#X obj 228 237 f; +#X obj 228 265 +; +#N canvas 0 0 454 304 sign 0; +#X obj 97 184 abs; +#X obj 105 79 inlet; +#X obj 105 143 t f f; +#X obj 160 186 moses 0; +#X msg 159 215 -1; +#X msg 209 217 1; +#X obj 101 249 outlet; +#X obj 190 260 outlet; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X restore 171 147 pd sign; +#X obj 228 297 t f f f; +#X obj 163 177 sel 0; +#X obj 142 247 f; +#X obj 175 77 t f f; +#X obj 159 13 inlet; +#X text 40 -15 Spills values between integers.; +#X obj 320 15 inlet; +#X obj 228 328 outlet; +#X msg 274 133 -100; +#X connect 0 0 3 0; +#X connect 1 0 9 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 5 1 4 1; +#X connect 6 0 13 0; +#X connect 6 1 3 1; +#X connect 6 2 2 1; +#X connect 7 0 8 0; +#X connect 7 1 0 0; +#X connect 8 0 13 0; +#X connect 9 0 2 0; +#X connect 9 1 8 1; +#X connect 10 0 1 0; +#X connect 12 0 14 0; +#X connect 14 0 3 1; +#X restore 183 122 pd in_betweens; +#X obj 157 173 / 100; +#X obj 211 172 s \$0tables; +#X obj 176 226 outlet; +#X obj 182 25 inlet; +#X obj 184 50 t b b; +#X msg 185 74 -100 \, 100; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 1 1; +#X connect 7 0 1 0; +#X restore 297 261 pd tableindices; +#X msg 526 189 40; +#X obj 56 89 osc~ 100; +#X floatatom 256 191 5 0 0 0 curve - -; +#X obj 55 219 mix.crossfade.stereo~; +#X connect 1 0 26 2; +#X connect 1 0 26 3; +#X connect 2 0 26 4; +#X connect 4 0 2 0; +#X connect 14 1 5 0; +#X connect 14 2 5 1; +#X connect 17 0 21 0; +#X connect 18 0 21 0; +#X connect 19 0 21 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 21 1 14 3; +#X connect 22 0 14 2; +#X connect 23 0 21 0; +#X connect 24 0 26 0; +#X connect 24 0 26 1; +#X connect 25 0 26 5; +#X connect 26 0 3 0; +#X connect 26 1 3 1; +#X connect 26 2 7 0; +#X connect 26 3 8 0; diff --git a/mix.crossfade.stereo~.pd b/mix.crossfade.stereo~.pd new file mode 100644 index 0000000..af549d4 --- /dev/null +++ b/mix.crossfade.stereo~.pd @@ -0,0 +1,105 @@ +#N canvas 0 0 927 631 10; +#X obj 51 524 +~; +#X obj 391 350 -; +#X msg 391 326 1 \$1; +#X obj 520 118 loadbang; +#X obj 523 568 outlet; +#X obj 654 553 outlet; +#X obj 365 293 t f f; +#N canvas 0 0 458 308 pow 0; +#X obj 125 174 pow 2; +#X msg 127 216 1 \$1; +#X obj 135 243 -; +#X obj 121 141 inlet; +#X obj 201 140 inlet; +#X obj 135 270 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X restore 395 374 pd pow; +#N canvas 0 0 454 304 pow 0; +#X obj 125 174 pow 2; +#X msg 127 216 1 \$1; +#X obj 135 243 -; +#X obj 121 141 inlet; +#X obj 201 140 inlet; +#X obj 135 270 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X restore 170 254 pd pow; +#X obj 170 278 t f f; +#X obj 375 394 t f f; +#X obj 504 146 f \$2; +#X obj 654 61 loadbang; +#X obj 653 90 f \$1; +#X obj 504 182 clip -1 1; +#X obj 491 209 + 1; +#X obj 460 248 / 2; +#X obj 752 147 sel 0; +#X obj 708 123 moses 0; +#X msg 708 174 1; +#X obj 728 218 f; +#X obj 145 195 line~; +#X msg 145 170 \$1 5; +#X obj 55 241 *~; +#X obj 240 257 *~; +#X obj 276 237 line~; +#X msg 276 212 \$1 5; +#X obj 625 31 inlet curve; +#X obj 471 28 inlet mix(-1_to_1); +#X obj 9 27 inlet~ left_1; +#X obj 105 27 inlet~ right_1; +#X obj 243 28 inlet~ left_2; +#X obj 359 28 inlet~ left_1; +#X obj 51 559 outlet~ left; +#X obj 204 564 outlet~ right; +#X obj 174 510 +~; +#X obj 106 249 *~; +#X obj 331 263 *~; +#X connect 0 0 33 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 11 0; +#X connect 6 0 8 0; +#X connect 6 1 2 0; +#X connect 7 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 4 0; +#X connect 9 1 22 0; +#X connect 10 0 5 0; +#X connect 10 1 26 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 18 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 6 0; +#X connect 17 0 19 0; +#X connect 17 1 20 0; +#X connect 18 0 19 0; +#X connect 18 1 17 0; +#X connect 19 0 20 0; +#X connect 20 0 7 1; +#X connect 20 0 8 1; +#X connect 21 0 23 1; +#X connect 21 0 36 1; +#X connect 22 0 21 0; +#X connect 23 0 0 0; +#X connect 24 0 0 1; +#X connect 25 0 24 1; +#X connect 25 0 37 1; +#X connect 26 0 25 0; +#X connect 27 0 13 0; +#X connect 28 0 11 0; +#X connect 29 0 23 0; +#X connect 30 0 36 0; +#X connect 31 0 24 0; +#X connect 32 0 37 0; +#X connect 35 0 34 0; +#X connect 36 0 35 0; +#X connect 37 0 35 1; diff --git a/mix.crossfade~-help.pd b/mix.crossfade~-help.pd new file mode 100644 index 0000000..227fa45 --- /dev/null +++ b/mix.crossfade~-help.pd @@ -0,0 +1,133 @@ +#N canvas 149 375 686 416 10; +#N canvas 0 0 450 300 graph2 0; +#X array \$0cf1 100 float 2; +#X array \$0cf2 100 float 2; +#X coords 0 1 100 0 200 140 1; +#X restore 438 239 graph; +#X obj 82 116 osc~ 440; +#X floatatom 109 196 5 0 1 0 - - -; +#X obj 56 328 mix.out_~; +#X obj 112 173 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#N canvas 0 0 454 304 tables 0; +#X obj 287 104 r \$0tables; +#X obj 123 137 inlet; +#X obj 182 136 inlet; +#X obj 107 179 tabwrite \$0cf1; +#X obj 217 181 tabwrite \$0cf2; +#X obj 326 136 + 100; +#X obj 342 165 / 2; +#X connect 0 0 5 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 4 1; +#X connect 6 0 3 1; +#X restore 350 322 pd tables; +#X text 256 44 Creation arguments.; +#X floatatom 95 256 5 0 0 0 - - -; +#X floatatom 136 241 5 0 0 0 - - -; +#X text 131 257 Left volume.; +#X text 173 241 Right volume.; +#X text 256 60 Arg 1: curve (defaults to 1). 1 == linear.; +#X text 257 78 Arg 2: start crossfade value (-1 to 1).; +#X text 107 155 -1(left) to 1(right); +#X obj 288 291 mix.crossfade~ 2 0; +#X obj 55 219 mix.crossfade~; +#X text 43 18 Description: Crossfades 2 mono inputs along different +curves.; +#X text 361 170 Check out the curves:; +#X msg 366 191 0.25; +#X msg 407 190 1; +#X msg 446 189 3; +#X msg 486 189 10; +#X obj 366 236 t b f; +#N canvas 0 0 454 304 tableindices 0; +#X obj 184 142 t f f; +#N canvas 0 0 454 304 in_betweens 0; +#X obj 171 207 until; +#X obj 161 42 int; +#X obj 171 121 -; +#X obj 228 237 f; +#X obj 228 265 +; +#N canvas 0 0 454 304 sign 0; +#X obj 97 184 abs; +#X obj 105 79 inlet; +#X obj 105 143 t f f; +#X obj 160 186 moses 0; +#X msg 159 215 -1; +#X msg 209 217 1; +#X obj 101 249 outlet; +#X obj 190 260 outlet; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X restore 171 147 pd sign; +#X obj 228 297 t f f f; +#X obj 163 177 sel 0; +#X obj 142 247 f; +#X obj 175 77 t f f; +#X obj 159 13 inlet; +#X text 40 -15 Spills values between integers.; +#X obj 320 15 inlet; +#X obj 228 328 outlet; +#X msg 274 133 -100; +#X connect 0 0 3 0; +#X connect 1 0 9 0; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 5 1 4 1; +#X connect 6 0 13 0; +#X connect 6 1 3 1; +#X connect 6 2 2 1; +#X connect 7 0 8 0; +#X connect 7 1 0 0; +#X connect 8 0 13 0; +#X connect 9 0 2 0; +#X connect 9 1 8 1; +#X connect 10 0 1 0; +#X connect 12 0 14 0; +#X connect 14 0 3 1; +#X restore 183 122 pd in_betweens; +#X obj 157 173 / 100; +#X obj 211 172 s \$0tables; +#X obj 176 226 outlet; +#X obj 182 25 inlet; +#X obj 184 50 t b b; +#X msg 185 74 -100 \, 100; +#X connect 0 0 2 0; +#X connect 0 1 3 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 1 1; +#X connect 7 0 1 0; +#X restore 297 261 pd tableindices; +#X msg 526 189 40; +#X obj 56 89 osc~ 100; +#X connect 1 0 15 1; +#X connect 2 0 15 2; +#X connect 4 0 2 0; +#X connect 14 1 5 0; +#X connect 14 2 5 1; +#X connect 15 0 3 0; +#X connect 15 0 3 1; +#X connect 15 1 7 0; +#X connect 15 2 8 0; +#X connect 18 0 22 0; +#X connect 19 0 22 0; +#X connect 20 0 22 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 22 1 14 3; +#X connect 23 0 14 2; +#X connect 24 0 22 0; +#X connect 25 0 15 0; diff --git a/mix.crossfade~.pd b/mix.crossfade~.pd new file mode 100644 index 0000000..a07da34 --- /dev/null +++ b/mix.crossfade~.pd @@ -0,0 +1,95 @@ +#N canvas 0 0 912 500 10; +#X obj 60 48 inlet~; +#X obj 227 62 inlet~; +#X obj 62 373 outlet~; +#X obj 62 338 +~; +#X obj 396 257 -; +#X msg 396 233 1 \$1; +#X obj 365 67 loadbang; +#X obj 224 418 outlet; +#X obj 408 422 outlet; +#X obj 370 200 t f f; +#N canvas 0 0 458 308 pow 0; +#X obj 125 174 pow 2; +#X msg 127 216 1 \$1; +#X obj 135 243 -; +#X obj 121 141 inlet; +#X obj 201 140 inlet; +#X obj 135 270 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X restore 400 281 pd pow; +#N canvas 0 0 454 304 pow 0; +#X obj 125 174 pow 2; +#X msg 127 216 1 \$1; +#X obj 135 243 -; +#X obj 121 141 inlet; +#X obj 201 140 inlet; +#X obj 135 270 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; +#X restore 175 161 pd pow; +#X obj 176 198 t f f; +#X obj 416 329 t f f; +#X obj 364 96 f \$2; +#X obj 539 58 loadbang; +#X obj 538 87 f \$1; +#X obj 364 132 clip -1 1; +#X obj 411 165 + 1; +#X obj 465 155 / 2; +#X obj 637 144 sel 0; +#X obj 593 120 moses 0; +#X msg 593 171 1; +#X obj 613 215 f; +#X obj 60 148 *~; +#X obj 245 164 *~; +#X obj 510 28 inlet curve; +#X obj 326 39 inlet mix(-1_to_1); +#X obj 710 30 inlet cross_ms; +#X obj 128 45 pack f 5; +#X obj 281 105 pack f 5; +#X obj 119 114 line~; +#X obj 281 144 line~; +#X connect 0 0 24 0; +#X connect 1 0 25 0; +#X connect 3 0 2 0; +#X connect 4 0 10 0; +#X connect 5 0 4 0; +#X connect 6 0 14 0; +#X connect 9 0 11 0; +#X connect 9 1 5 0; +#X connect 10 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 7 0; +#X connect 12 1 29 0; +#X connect 13 0 8 0; +#X connect 13 1 30 0; +#X connect 14 0 17 0; +#X connect 15 0 16 0; +#X connect 16 0 21 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 9 0; +#X connect 20 0 22 0; +#X connect 20 1 23 0; +#X connect 21 0 22 0; +#X connect 21 1 20 0; +#X connect 22 0 23 0; +#X connect 23 0 10 1; +#X connect 23 0 11 1; +#X connect 24 0 3 0; +#X connect 25 0 3 1; +#X connect 26 0 16 0; +#X connect 27 0 14 0; +#X connect 28 0 30 1; +#X connect 28 0 29 1; +#X connect 29 0 31 0; +#X connect 30 0 32 0; +#X connect 31 0 24 1; +#X connect 32 0 25 1; diff --git a/mix.fade~-help.pd b/mix.fade~-help.pd new file mode 100644 index 0000000..345ab06 --- /dev/null +++ b/mix.fade~-help.pd @@ -0,0 +1,63 @@ +#N canvas 266 243 719 488 10; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0cf1 4410 float 2; +#X coords 0 1 4410 0 200 140 1; +#X restore 467 187 graph; +#X obj 47 99 osc~ 440; +#X obj 48 333 mix.out_~; +#X obj 76 140 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 17 33 Creation arguments.; +#X text 15 13 Description: Fades an input along different curves.; +#X text 71 121 0(none) to 1(all); +#X obj 48 246 mix.fade~; +#X obj 99 272 anal.sig_~; +#X text 139 255 Volume.; +#X obj 594 144 tabwrite~ \$0cf1; +#X obj 158 332 anal.scope_~ 1; +#X msg 222 128 _lin; +#X msg 223 148 _linsqrt; +#X msg 223 168 _sqrt; +#X msg 223 188 _sin; +#X msg 224 209 _sinhann; +#X msg 224 229 _hann; +#X obj 73 196 line~; +#X msg 73 166 \$1 5; +#X obj 475 76 line~; +#X msg 605 -24 _lin; +#X msg 606 -4 _linsqrt; +#X msg 606 16 _sqrt; +#X msg 606 36 _sin; +#X msg 607 57 _sinhann; +#X msg 607 77 _hann; +#X obj 555 88 t b a b; +#X msg 475 55 0 \, 1 100; +#X text 223 110 Curve; +#X text 432 1 Try out the curves here:; +#X obj 439 126 mix.fade~ 2 1; +#X connect 1 0 7 0; +#X connect 3 0 19 0; +#X connect 7 0 2 0; +#X connect 7 0 2 1; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 12 0 7 2; +#X connect 13 0 7 2; +#X connect 14 0 7 2; +#X connect 15 0 7 2; +#X connect 16 0 7 2; +#X connect 17 0 7 2; +#X connect 18 0 7 1; +#X connect 19 0 18 0; +#X connect 20 0 31 1; +#X connect 21 0 27 0; +#X connect 22 0 27 0; +#X connect 23 0 27 0; +#X connect 24 0 27 0; +#X connect 25 0 27 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 27 1 31 2; +#X connect 27 2 10 0; +#X connect 28 0 20 0; +#X connect 31 1 10 0; diff --git a/mix.fade~.pd b/mix.fade~.pd new file mode 100644 index 0000000..03d037e --- /dev/null +++ b/mix.fade~.pd @@ -0,0 +1,22 @@ +#N canvas 203 234 996 671 10; +#X obj 60 48 inlet~; +#X obj 61 395 outlet~; +#X obj 61 240 *~; +#X obj 411 38 inlet curve; +#X obj 327 39 inlet~ mix~; +#X obj 326 399 outlet~; +#X obj 326 223 fade~; +#X obj 497 90 dollarg; +#X obj 497 40 loadbang; +#X obj 360 162 symbol; +#X msg 360 187 set \$1; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 6 0; +#X connect 6 0 2 1; +#X connect 6 0 5 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 6 0; diff --git a/mix.in_~-help.pd b/mix.in_~-help.pd new file mode 100644 index 0000000..f552e20 --- /dev/null +++ b/mix.in_~-help.pd @@ -0,0 +1,15 @@ +#N canvas 731 400 450 239 10; +#X text 36 15 Description: Control stereo volume of the ADC~ and displays +a VU for both channels.; +#X text 198 78 You need to specify the stereo channels; +#X obj 198 145 param.gui; +#X obj 41 149 mix.out_~ @id out; +#X msg 198 122 top; +#X msg 264 122 out; +#X msg 225 122 input; +#X obj 41 79 mix.in_~ 1 2 @id input; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 7 0 3 0; +#X connect 7 1 3 1; diff --git a/mix.in_~.pd b/mix.in_~.pd new file mode 100644 index 0000000..bacf28c --- /dev/null +++ b/mix.in_~.pd @@ -0,0 +1,217 @@ +#N canvas 525 186 650 593 10; +#X obj 101 133 cnv 1 44 5 empty \$0left empty 20 12 0 14 -24198 -262144 +0; +#X obj 159 139 cnv 1 45 5 empty \$0right empty 20 12 0 14 -24198 -262144 +0; +#X obj 190 116 tgl 15 0 empty empty empty 17 7 0 10 -1 -262144 -262144 +1 1; +#N canvas 142 53 886 636 guts 0; +#X obj 367 426 peakenv~ 1000; +#X obj 371 459 snapshot~; +#X obj 481 401 peakenv~ 1000; +#X obj 474 466 snapshot~; +#N canvas 0 0 734 553 size&color 0; +#X obj 90 14 inlet; +#X obj 26 371 s \$0left; +#X msg 45 158 vis_size \$1 5; +#X obj 162 187 moses 50; +#X obj 88 121 t f f; +#X msg 157 213 0; +#X msg 213 230 1; +#X msg 193 315 color 14; +#X msg 260 318 color 13; +#X msg 120 312 color 16; +#X obj 195 285 sel 0 1 2; +#X obj 193 257 change -1; +#X msg 264 235 2; +#X obj 213 208 moses 90; +#X obj 87 96 + 1; +#X obj 96 74 * 99; +#X obj 85 34 change -1; +#X obj 86 53 clip 0 1; +#X connect 0 0 16 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 3 1 13 0; +#X connect 4 0 2 0; +#X connect 4 1 3 0; +#X connect 5 0 11 0; +#X connect 6 0 11 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 10 1 7 0; +#X connect 10 2 8 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 6 0; +#X connect 13 1 12 0; +#X connect 14 0 4 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X restore 353 543 pd size&color; +#N canvas 294 219 734 553 size&color 0; +#X obj 139 271 s \$0right; +#X obj 200 154 -; +#X obj 140 167 pack; +#X obj 165 98 t f f f; +#X obj 336 223 moses 50; +#X msg 331 249 0; +#X msg 387 266 1; +#X msg 440 267 2; +#X msg 367 351 color 14; +#X msg 434 354 color 13; +#X msg 294 348 color 16; +#X obj 369 321 sel 0 1 2; +#X obj 157 15 inlet; +#X obj 293 24 clip 0 1; +#X obj 367 293 change -1; +#X obj 388 243 moses 90; +#X obj 293 47 * 99; +#X msg 115 209 pos \$2 139 \, vis_size \$1 5; +#X msg 192 130 205 \$1; +#X obj 198 35 change -1; +#X obj 294 70 + 1.001; +#X connect 1 0 2 1; +#X connect 2 0 17 0; +#X connect 3 0 2 0; +#X connect 3 1 18 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 4 1 15 0; +#X connect 5 0 14 0; +#X connect 6 0 14 0; +#X connect 7 0 14 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 10 0; +#X connect 11 1 8 0; +#X connect 11 2 9 0; +#X connect 12 0 19 0; +#X connect 13 0 16 0; +#X connect 14 0 11 0; +#X connect 15 0 6 0; +#X connect 15 1 7 0; +#X connect 16 0 20 0; +#X connect 17 0 0 0; +#X connect 18 0 1 0; +#X connect 19 0 13 0; +#X connect 20 0 3 0; +#X restore 487 519 pd size&color; +#X obj 47 18 loadbang; +#X msg 52 44 0; +#X obj 241 85 inlet~; +#X obj 421 89 inlet~; +#X obj 493 184 line~; +#X obj 50 291 *~; +#X obj 173 309 *~; +#X obj 27 359 hip~ 10; +#X obj 102 369 hip~ 10; +#X obj 551 86 inlet vol; +#X obj 37 485 outlet~; +#X obj 144 490 outlet~; +#X msg 535 135 \$1 100; +#X obj 715 90 inlet switch; +#X obj 714 137 switch~; +#X obj 596 210 sel 0; +#X msg 558 243 0; +#X obj 647 260 metro 200; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 7 0 5 0; +#X connect 8 0 11 0; +#X connect 9 0 12 0; +#X connect 10 0 11 1; +#X connect 10 0 12 1; +#X connect 11 0 13 0; +#X connect 11 0 0 0; +#X connect 12 0 14 0; +#X connect 12 0 2 0; +#X connect 13 0 16 0; +#X connect 14 0 17 0; +#X connect 15 0 18 0; +#X connect 18 0 10 0; +#X connect 19 0 20 0; +#X connect 19 0 21 0; +#X connect 21 0 22 0; +#X connect 21 1 23 0; +#X connect 22 0 5 0; +#X connect 22 0 4 0; +#X connect 22 0 23 0; +#X connect 23 0 1 0; +#X connect 23 0 3 0; +#X restore 56 443 pd guts; +#X obj 208 389 mix.switch.nice 101; +#X obj 101 116 cnv 15 25 15 empty empty Vol: 2 8 0 7 -1 -262144 0; +#X obj 127 116 nbx 3 15 0 120 0 0 empty empty empty 0 -6 0 10 -1 -262144 +-1 120 256; +#X obj 160 116 cnv 8 28 15 empty empty /100 5 10 0 7 -1 -262144 0; +#X obj 127 307 / 100; +#X obj 127 331 pow 3; +#X obj 359 20 inlet volume(0-100); +#X obj 360 46 clip 0 120; +#X obj 149 212 > 0; +#X obj 127 179 t f f f; +#X obj 232 146 sel 0 1; +#X obj 262 234 f 60; +#X obj 236 269 t f f; +#X msg 158 155 set \$1; +#X msg 227 172 0; +#X msg 149 262 set \$1; +#X obj 149 237 t f f; +#X msg 243 333 \; pd dsp 1; +#X obj 243 308 sel 1; +#X obj 509 68 param.group; +#X obj 563 20 loadbang; +#X obj 563 44 dollarg; +#X obj 483 20 inlet params; +#X obj 10 199 adc~ \$1; +#X obj 69 198 adc~ \$2; +#X obj 55 475 outlet~; +#X obj 105 475 outlet~; +#X obj 350 1 param.atom inputvol 0 0 120; +#X obj 190 73 param.atom switch false; +#X obj 350 91 > 0; +#X connect 2 0 14 0; +#X connect 3 0 29 0; +#X connect 3 1 30 0; +#X connect 4 0 3 3; +#X connect 6 0 13 0; +#X connect 8 0 9 0; +#X connect 9 0 4 0; +#X connect 9 0 3 2; +#X connect 10 0 11 0; +#X connect 11 0 6 0; +#X connect 12 0 20 0; +#X connect 13 0 8 0; +#X connect 13 1 12 0; +#X connect 13 2 15 1; +#X connect 14 0 18 0; +#X connect 14 1 15 0; +#X connect 15 0 16 0; +#X connect 16 0 8 0; +#X connect 16 1 17 0; +#X connect 17 0 6 0; +#X connect 18 0 16 0; +#X connect 19 0 2 0; +#X connect 20 0 19 0; +#X connect 20 1 22 0; +#X connect 22 0 21 0; +#X connect 24 0 25 0; +#X connect 25 0 23 1; +#X connect 25 1 23 2; +#X connect 26 0 23 0; +#X connect 27 0 3 0; +#X connect 28 0 3 1; +#X connect 31 0 11 0; +#X connect 31 0 33 0; +#X connect 32 0 2 0; +#X connect 33 0 32 0; +#X coords 0 -1 1 1 105 47 1 100 100; diff --git a/mix.main~-help.pd b/mix.main~-help.pd new file mode 100644 index 0000000..d832664 --- /dev/null +++ b/mix.main~-help.pd @@ -0,0 +1,4 @@ +#N canvas 395 418 450 300 10; +#X obj 54 134 mix.main~; +#X text 32 19 Description: Reveives a stereo signal routed by mix.channel~ +; diff --git a/mix.main~.pd b/mix.main~.pd new file mode 100644 index 0000000..66e6cc3 --- /dev/null +++ b/mix.main~.pd @@ -0,0 +1,17 @@ +#N canvas 288 431 530 336 10; +#X obj 51 183 outlet~; +#X obj 187 187 outlet~; +#X obj 260 3 loadbang; +#X obj 260 42 init.dollar.zero.top; +#X msg 232 77 set \$1ML; +#X msg 309 77 set \$1MR; +#X obj 50 126 catch13~; +#X text 60 21 Needs: ext13; +#X obj 184 124 catch13~; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 0 0; +#X connect 8 0 1 0; diff --git a/mix.nop~-help.pd b/mix.nop~-help.pd new file mode 100644 index 0000000..8e7547d --- /dev/null +++ b/mix.nop~-help.pd @@ -0,0 +1,4 @@ +#N canvas 0 0 415 122 10; +#X obj 61 63 mix.nop~; +#X text 58 39 Description: A no-operation which doesn't do anything. +; diff --git a/mix.nop~.pd b/mix.nop~.pd new file mode 100644 index 0000000..0fcd51c --- /dev/null +++ b/mix.nop~.pd @@ -0,0 +1,4 @@ +#N canvas 0 0 450 300 10; +#X obj 199 75 inlet~; +#X obj 199 206 outlet~; +#X connect 0 0 1 0; diff --git a/mix.out_~-help.pd b/mix.out_~-help.pd new file mode 100644 index 0000000..34e2fc3 --- /dev/null +++ b/mix.out_~-help.pd @@ -0,0 +1,14 @@ +#N canvas 229 361 516 245 10; +#X obj 149 107 *~; +#X text 13 14 Description: Controls stereo volume output and displays +a VU for both channels.; +#X obj 205 91 osc~ 0.2; +#X obj 149 75 osc~ 90; +#X floatatom 315 147 5 0 0 0 - - -; +#X obj 231 137 adc~; +#X obj 150 178 mix.out_~ @id mouh @mastervol 100; +#X connect 0 0 6 0; +#X connect 2 0 0 1; +#X connect 3 0 0 0; +#X connect 4 0 6 2; +#X connect 5 0 6 1; diff --git a/mix.out_~.pd b/mix.out_~.pd new file mode 100644 index 0000000..efc5018 --- /dev/null +++ b/mix.out_~.pd @@ -0,0 +1,207 @@ +#N canvas 97 39 650 593 10; +#X obj 55 475 dac~ 1 2; +#X obj 192 117 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -262144 +1 1; +#N canvas 130 50 886 636 guts 0; +#X obj 367 426 peakenv~ 1000; +#X obj 371 459 snapshot~; +#X obj 481 401 peakenv~ 1000; +#X obj 474 466 snapshot~; +#N canvas 1 25 734 553 size&color 0; +#X obj 90 14 inlet; +#X obj 26 371 s \$0left; +#X obj 162 187 moses 50; +#X obj 88 121 t f f; +#X msg 157 213 0; +#X msg 213 230 1; +#X msg 193 315 color 14; +#X msg 260 318 color 13; +#X msg 120 312 color 16; +#X obj 195 285 sel 0 1 2; +#X obj 193 257 change -1; +#X msg 264 235 2; +#X obj 213 208 moses 90; +#X obj 87 96 + 1; +#X obj 85 34 change -1; +#X obj 86 53 clip 0 1; +#X obj 96 74 * 100; +#X obj 67 178 * 1.5; +#X msg 43 217 vis_size \$1 7; +#X connect 0 0 14 0; +#X connect 2 0 4 0; +#X connect 2 1 12 0; +#X connect 3 0 17 0; +#X connect 3 1 2 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 8 0; +#X connect 9 1 6 0; +#X connect 9 2 7 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 5 0; +#X connect 12 1 11 0; +#X connect 13 0 3 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 13 0; +#X connect 17 0 18 0; +#X connect 18 0 1 0; +#X restore 353 543 pd size&color; +#X obj 47 18 loadbang; +#X msg 52 44 0; +#X obj 241 85 inlet~; +#X obj 421 89 inlet~; +#X obj 493 184 line~; +#X obj 50 291 *~; +#X obj 173 309 *~; +#X obj 27 359 hip~ 10; +#X obj 102 369 hip~ 10; +#X obj 551 86 inlet vol; +#X obj 37 485 outlet~; +#X obj 144 490 outlet~; +#X msg 535 135 \$1 100; +#X obj 715 90 inlet switch; +#X obj 714 137 switch~; +#X obj 596 210 sel 0; +#X msg 558 243 0; +#X obj 647 260 metro 200; +#N canvas 0 0 734 553 size&color 0; +#X obj 90 14 inlet; +#X obj 162 187 moses 50; +#X obj 88 121 t f f; +#X msg 157 213 0; +#X msg 213 230 1; +#X msg 193 315 color 14; +#X msg 260 318 color 13; +#X msg 120 312 color 16; +#X obj 195 285 sel 0 1 2; +#X obj 193 257 change -1; +#X msg 264 235 2; +#X obj 213 208 moses 90; +#X obj 87 96 + 1; +#X obj 96 74 * 99; +#X obj 85 34 change -1; +#X obj 86 53 clip 0 1; +#X obj 26 371 s \$0right; +#X obj 83 178 * 1.5; +#X msg 44 224 vis_size \$1 7; +#X connect 0 0 14 0; +#X connect 1 0 3 0; +#X connect 1 1 11 0; +#X connect 2 0 17 0; +#X connect 2 1 1 0; +#X connect 3 0 9 0; +#X connect 4 0 9 0; +#X connect 5 0 16 0; +#X connect 6 0 16 0; +#X connect 7 0 16 0; +#X connect 8 0 7 0; +#X connect 8 1 5 0; +#X connect 8 2 6 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 4 0; +#X connect 11 1 10 0; +#X connect 12 0 2 0; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X restore 485 536 pd size&color; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 23 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 0 23 0; +#X connect 7 0 10 0; +#X connect 8 0 11 0; +#X connect 9 0 10 1; +#X connect 9 0 11 1; +#X connect 10 0 12 0; +#X connect 10 0 0 0; +#X connect 11 0 13 0; +#X connect 11 0 2 0; +#X connect 12 0 15 0; +#X connect 13 0 16 0; +#X connect 14 0 17 0; +#X connect 17 0 9 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 20 0 21 0; +#X connect 20 1 22 0; +#X connect 21 0 4 0; +#X connect 21 0 22 0; +#X connect 21 0 23 0; +#X connect 22 0 1 0; +#X connect 22 0 3 0; +#X restore 56 443 pd guts; +#X obj 10 199 inlet~; +#X obj 69 198 inlet~; +#X obj 208 389 mix.switch.nice 101; +#X obj 127 307 / 100; +#X obj 127 331 pow 3; +#X obj 355 -52 inlet volume(0-100); +#X obj 353 26 clip 0 120; +#X obj 149 212 > 0; +#X obj 127 179 t f f f; +#X obj 232 146 sel 0 1; +#X obj 262 234 f 60; +#X obj 236 269 t f f; +#X msg 158 155 set \$1; +#X msg 227 172 0; +#X msg 149 262 set \$1; +#X obj 149 237 t f f; +#X msg 243 333 \; pd dsp 1; +#X obj 243 308 sel 1; +#X obj 509 68 param.group; +#X obj 563 20 loadbang; +#X obj 563 44 dollarg; +#X obj 483 20 inlet params; +#X obj 350 -11 param.atom mastervol 60 0 120; +#X obj 209 116 cnv 7 149 15 empty empty empty 20 12 0 14 -1 -66577 +0; +#X obj 209 116 cnv 1 1 7 empty \$0left empty 20 12 0 14 -24198 -262144 +0; +#X obj 209 124 cnv 1 1 7 empty \$0right empty 20 12 0 14 -24198 -262144 +0; +#X obj 103 117 hsl 84 15 0 120 0 0 empty empty empty -2 -8 0 10 -228856 +-1 -1 0 1; +#X connect 1 0 12 0; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 3; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 7 0 2 2; +#X connect 8 0 25 0; +#X connect 9 0 29 0; +#X connect 10 0 18 0; +#X connect 11 0 6 0; +#X connect 11 1 10 0; +#X connect 11 2 13 1; +#X connect 12 0 16 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 14 0 6 0; +#X connect 14 1 15 0; +#X connect 16 0 14 0; +#X connect 17 0 1 0; +#X connect 18 0 17 0; +#X connect 18 1 20 0; +#X connect 20 0 19 0; +#X connect 22 0 23 0; +#X connect 23 0 21 1; +#X connect 23 1 21 2; +#X connect 24 0 21 0; +#X connect 25 0 9 0; +#X connect 29 0 11 0; +#X coords 0 -1 1 1 258 32 1 100 100; diff --git a/mix.pan.stereo~-help.pd b/mix.pan.stereo~-help.pd new file mode 100644 index 0000000..a28396d --- /dev/null +++ b/mix.pan.stereo~-help.pd @@ -0,0 +1,43 @@ +#N canvas 288 174 543 348 10; +#X obj 151 195 mix.out_~; +#X obj 150 121 osc~ 100; +#X obj 295 58 t b b; +#X obj 295 119 line; +#X floatatom 295 141 5 0 0 0 - - -; +#X obj 295 37 metro 2000; +#X msg 372 77 0 \, 127 1000; +#X obj 295 78 delay 1000; +#X msg 295 98 0 1000; +#X obj 150 167 mix.pan.stereo~; +#X text -18 12 Description: Pans a stereo signal.; +#X obj -16 194 anal.scope_~ 1; +#X obj 264 195 anal.scope_~ 1; +#X text 267 167 Inlet_3: 63=center.; +#X obj 375 140 hsl 74 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 3621 1; +#X obj 372 121 init.lf 63; +#X obj 372 103 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 295 19 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 317 18 automatic; +#X text 391 101 reset; +#X obj 199 143 osc~ 50; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 2 1 6 0; +#X connect 3 0 4 0; +#X connect 4 0 9 2; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 3 0; +#X connect 9 0 11 0; +#X connect 9 0 0 0; +#X connect 9 1 12 0; +#X connect 9 1 0 1; +#X connect 14 0 9 2; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 17 0 5 0; +#X connect 20 0 9 1; diff --git a/mix.pan.stereo~.pd b/mix.pan.stereo~.pd new file mode 100644 index 0000000..b403947 --- /dev/null +++ b/mix.pan.stereo~.pd @@ -0,0 +1,34 @@ +#N canvas 657 31 634 600 10; +#X obj 33 72 inlet~; +#X obj 35 502 outlet~; +#X obj 369 298 line~; +#X obj 88 306 line~; +#X obj 34 364 *~; +#X obj 422 24 inlet panning; +#X obj 277 348 *~; +#X obj 277 505 outlet~; +#X obj 277 38 inlet~; +#X obj 422 80 t f f; +#X obj 422 50 scale.linear 0 127 0 1; +#X obj 354 128 clip 0.5 1; +#X obj 459 128 clip 0 0.5; +#X obj 88 244 scale.linear 0.5 1 1 0; +#X obj 427 187 * 2; +#X msg 88 278 \$1 5; +#X msg 369 277 \$1 5; +#X connect 0 0 4 0; +#X connect 2 0 6 1; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 5 0 10 0; +#X connect 6 0 7 0; +#X connect 8 0 6 0; +#X connect 9 0 11 0; +#X connect 9 1 12 0; +#X connect 10 0 9 0; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 14 0 16 0; +#X connect 15 0 3 0; +#X connect 16 0 2 0; diff --git a/mix.pan~-help.pd b/mix.pan~-help.pd new file mode 100644 index 0000000..ad17611 --- /dev/null +++ b/mix.pan~-help.pd @@ -0,0 +1,27 @@ +#N canvas 657 120 590 418 10; +#X obj 80 294 mix.out_~; +#X obj 81 265 mix.pan~; +#X obj 80 162 osc~ 100; +#X obj 241 78 loadbang; +#X obj 245 129 t b b; +#X obj 226 225 line; +#X floatatom 132 242 5 0 0 0 - - -; +#X obj 240 104 metro 2000; +#X msg 283 183 0 \, 127 1000; +#X obj 179 155 delay 1000; +#X msg 171 185 0 1000; +#X text 81 34 Description: Pans a mono signal.; +#X text 257 255 Inlet_1: Signal; +#X text 257 272 Inlet_2: Pan(0-127) \, 63=center; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 9 0; +#X connect 4 1 8 0; +#X connect 5 0 6 0; +#X connect 6 0 1 1; +#X connect 7 0 4 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 5 0; diff --git a/mix.pan~.pd b/mix.pan~.pd new file mode 100644 index 0000000..7aff151 --- /dev/null +++ b/mix.pan~.pd @@ -0,0 +1,29 @@ +#N canvas 406 134 634 600 10; +#X obj 30 100 inlet~; +#X obj 17 344 outlet~; +#X obj 348 201 line~; +#X obj 141 210 line~; +#X obj 51 266 *~; +#X obj 345 26 inlet panning; +#X obj 261 259 *~; +#X msg 151 132 1 \$1; +#X obj 151 157 -; +#X obj 347 90 / 127; +#X obj 344 64 clip 0 127; +#X obj 289 352 outlet~; +#X msg 348 180 \$1 5; +#X msg 151 183 \$1 5; +#X connect 0 0 4 0; +#X connect 0 0 6 0; +#X connect 2 0 6 1; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 5 0 10 0; +#X connect 6 0 11 0; +#X connect 7 0 8 0; +#X connect 8 0 13 0; +#X connect 9 0 12 0; +#X connect 9 0 7 0; +#X connect 10 0 9 0; +#X connect 12 0 2 0; +#X connect 13 0 3 0; diff --git a/mix.save~-help.pd b/mix.save~-help.pd new file mode 100644 index 0000000..4bc4ae9 --- /dev/null +++ b/mix.save~-help.pd @@ -0,0 +1,16 @@ +#N canvas 264 373 500 180 10; +#X text 57 8 Description: record your mix in a file (pcm24 - wav); +#X obj 62 105 mix.save~; +#X obj 63 50 osc~ 22; +#X obj 119 50 osc~ 44; +#X obj 176 92 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 +-1 0 1; +#X obj 177 51 bng 15 250 50 0 empty empty filename 17 7 0 10 -262144 +-1 -1; +#X symbolatom 177 71 10 0 0 0 - - -; +#X text 253 71 filename (save in current folder); +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 4 0 1 4; +#X connect 5 0 1 2; +#X connect 6 0 1 3; diff --git a/mix.save~.pd b/mix.save~.pd new file mode 100644 index 0000000..eca1e41 --- /dev/null +++ b/mix.save~.pd @@ -0,0 +1,23 @@ +#N canvas 86 130 973 644 10; +#X msg 363 141 start; +#X msg 336 168 stop; +#X obj 81 213 writesf~ 2; +#X obj 82 65 inlet~ left; +#X obj 154 65 inlet~ right; +#X obj 241 64 inlet; +#X obj 336 89 sel 0; +#X obj 241 89 savepanel; +#X msg 241 110 open -bytes 3 \$1; +#X obj 336 65 inlet; +#X obj 286 65 inlet; +#X connect 0 0 2 0; +#X connect 1 0 2 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 7 0; +#X connect 6 0 1 0; +#X connect 6 1 0 0; +#X connect 7 0 8 0; +#X connect 8 0 2 0; +#X connect 9 0 6 0; +#X connect 10 0 8 0; diff --git a/mix.switch.nice-help.pd b/mix.switch.nice-help.pd new file mode 100644 index 0000000..8fcc66d --- /dev/null +++ b/mix.switch.nice-help.pd @@ -0,0 +1,59 @@ +#N canvas 93 123 591 508 10; +#X obj 28 283 mix.out_~; +#X obj 20 -11 cnv 15 430 22 empty empty empty 20 12 0 14 -241404 -66577 +0; +#X obj 20 10 cnv 6 430 1 empty empty ::mix.switch.nice:: 0 -10 0 12 +-66577 -1 0; +#X obj 20 -11 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 10 82 osc~ 440; +#X obj 39 103 osc~ 660; +#X obj 20 63 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 21 58 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#N canvas 0 0 474 324 volumes 0; +#X obj 364 32 inlet switch; +#X obj 35 24 inlet~; +#X obj 135 25 inlet~; +#X obj 37 261 outlet~; +#X obj 180 263 outlet~; +#X obj 96 123 *~; +#X obj 126 123 *~; +#X obj 235 25 inlet~; +#X obj 358 81 switch~; +#X connect 0 0 8 0; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 6 1; +#X connect 7 0 5 1; +#X restore 55 258 pd volumes; +#X text 25 29 Author: ClaudiusMaximus. Modified by Thomas Ouellet Fredericks +; +#X text 140 259 <- Put the [switch~] object inside a subpatch!; +#X text 376 -7 Version: 1; +#X text 26 14 Description: Simpler version of a switch~ without glitches. +; +#X text 304 141 Outlet 1: to switch~; +#X obj 125 80 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 0 1; +#X floatatom 119 101 5 0 0 0 - - -; +#X text 305 124 Inlet 1: volume (0-1); +#X obj 172 140 mix.switch.nice 10; +#X text 216 166 Argument 1: Delay time. Defaults to the minimum value +of 10ms. You usually want the delay time to be higher than the volume +line time.; +#X msg 100 132 \$1 9; +#X obj 100 155 line~; +#X connect 4 0 8 0; +#X connect 5 0 8 1; +#X connect 8 0 0 0; +#X connect 8 1 0 1; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 15 0 19 0; +#X connect 17 0 8 3; +#X connect 19 0 20 0; +#X connect 20 0 8 2; diff --git a/mix.switch.nice.pd b/mix.switch.nice.pd new file mode 100644 index 0000000..615ca3d --- /dev/null +++ b/mix.switch.nice.pd @@ -0,0 +1,30 @@ +#N canvas 375 361 598 373 10; +#X obj 212 -23 inlet; +#X msg 248 256 1; +#X msg 278 256 0; +#X msg 246 171 stop; +#X obj 248 283 outlet; +#X obj 311 213 delay 10; +#X obj 207 50 select 1; +#X obj 211 29 change; +#X obj 213 3 > 0; +#X obj 207 83 t b b; +#X obj 323 124 b; +#X obj 413 46 loadbang; +#X obj 416 87 f \$1; +#X obj 415 129 max 10; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 5 0 2 0; +#X connect 6 0 9 0; +#X connect 6 1 10 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 1 0; +#X connect 9 1 3 0; +#X connect 10 0 5 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 5 1; diff --git a/mix.switch.nice~-help.pd b/mix.switch.nice~-help.pd new file mode 100644 index 0000000..c8ed119 --- /dev/null +++ b/mix.switch.nice~-help.pd @@ -0,0 +1,51 @@ +#N canvas 77 314 560 321 10; +#X obj 24 217 mix.out_~; +#X obj 126 95 tgl 15 0 empty empty :off/on: 20 7 0 8 -33289 -262144 +-1 0 1; +#X obj 20 -11 cnv 15 430 22 empty empty empty 20 12 0 14 -241404 -66577 +0; +#X obj 20 10 cnv 6 430 1 empty empty ::mix.switch.nice~:: 0 -10 0 12 +-66577 -1 0; +#X obj 20 -11 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text 256 123 Outlet 2: to switch~; +#X text 256 107 Outlet 1: amplitude smooth ramps; +#X obj 27 109 osc~ 440; +#X obj 56 130 osc~ 660; +#X text 376 -7 Version: 2; +#X obj 20 63 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 21 58 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text 26 18 Description: switch~ without glitches.; +#N canvas 0 0 454 304 volumes 0; +#X obj 364 32 inlet switch; +#X obj 35 24 inlet~; +#X obj 135 25 inlet~; +#X obj 37 261 outlet~; +#X obj 180 263 outlet~; +#X obj 96 123 *~; +#X obj 126 123 *~; +#X obj 235 25 inlet~; +#X obj 358 81 switch~; +#X connect 0 0 8 0; +#X connect 1 0 5 0; +#X connect 2 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 6 1; +#X connect 7 0 5 1; +#X restore 51 192 pd volumes; +#X text 25 33 Author: ClaudiusMaximus. Modified by Thomas Ouellet Fredericks +; +#X text 127 195 <- Put the [switch~] object inside a subpatch!; +#X obj 127 116 mix.switch.nice~ 10; +#X text 189 158 Argument 1: Delay time (2xfade time). Defaults to the +minimum value of 10ms.; +#X connect 1 0 16 0; +#X connect 7 0 13 0; +#X connect 8 0 13 1; +#X connect 13 0 0 0; +#X connect 13 1 0 1; +#X connect 16 0 13 2; +#X connect 16 1 13 3; diff --git a/mix.switch.nice~.pd b/mix.switch.nice~.pd new file mode 100644 index 0000000..f814582 --- /dev/null +++ b/mix.switch.nice~.pd @@ -0,0 +1,44 @@ +#N canvas 561 514 586 361 10; +#X obj 99 284 outlet~; +#X obj 212 -23 inlet; +#X msg 266 264 1; +#X msg 296 264 0; +#X msg 258 149 stop; +#X obj 266 291 outlet; +#X obj 401 174 line~; +#X obj 268 176 delay 10; +#X obj 207 50 select 1; +#X obj 211 29 change; +#X obj 213 3 > 0; +#X obj 207 83 t b b b; +#X obj 286 98 t b b; +#X obj 445 48 loadbang; +#X msg 374 124 0; +#X msg 325 133 1; +#X obj 387 146 pack f 5; +#X obj 449 77 f \$1; +#X obj 455 108 max 10; +#X obj 456 134 / 2; +#X connect 1 0 10 0; +#X connect 2 0 5 0; +#X connect 3 0 5 0; +#X connect 4 0 7 0; +#X connect 6 0 0 0; +#X connect 7 0 3 0; +#X connect 8 0 11 0; +#X connect 8 1 12 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 2 0; +#X connect 11 1 15 0; +#X connect 11 2 4 0; +#X connect 12 0 7 0; +#X connect 12 1 14 0; +#X connect 13 0 17 0; +#X connect 14 0 16 0; +#X connect 15 0 16 0; +#X connect 16 0 6 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 7 1; +#X connect 19 0 16 1; diff --git a/mix.switch.ramp~-help.pd b/mix.switch.ramp~-help.pd new file mode 100644 index 0000000..517afb6 --- /dev/null +++ b/mix.switch.ramp~-help.pd @@ -0,0 +1,55 @@ +#N canvas 285 118 813 643 10; +#X obj 66 380 mix.out_~; +#X obj 20 10 cnv 6 430 1 empty empty mis.switch.ramp~ 0 -10 0 12 -66577 +-1 0; +#X obj 20 -11 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text 21 15 Description: removes discontinuities when changin sources. +; +#X text 315 -7 Version: 2007-10-02; +#X text 18 30 Author: Thomas Ouellet Fredericks \, based on an idea +by Miller Puckette; +#X obj 49 236 *~ 1; +#X obj 83 215 == 0; +#X obj 146 239 *~ 0; +#X obj 276 179 t f b; +#X obj 276 142 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 99 316 mix.switch.ramp~; +#X obj 48 148 osc~ 100; +#X obj 406 247 *~ 1; +#X obj 440 226 == 0; +#X obj 503 250 *~ 0; +#X obj 633 153 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 405 159 osc~ 100; +#X obj 633 190 t f; +#X obj 488 386 mix.out_~; +#X obj 153 150 osc~ 234; +#X obj 504 159 osc~ 234; +#X text 36 114 With mix.switch.ramp~ you get no clicks; +#X text 444 125 Without \, you get clicks; +#X text 106 470 Inlet_1: input signal; +#X text 106 494 Inlet_2: bang when switching; +#X text 106 521 outlet_1: output signal; +#X connect 6 0 11 0; +#X connect 7 0 6 1; +#X connect 8 0 11 0; +#X connect 9 0 7 0; +#X connect 9 0 8 1; +#X connect 9 1 11 1; +#X connect 10 0 9 0; +#X connect 11 0 0 0; +#X connect 11 0 0 1; +#X connect 12 0 6 0; +#X connect 13 0 19 0; +#X connect 13 0 19 1; +#X connect 14 0 13 1; +#X connect 15 0 19 0; +#X connect 15 0 19 1; +#X connect 16 0 18 0; +#X connect 17 0 13 0; +#X connect 18 0 14 0; +#X connect 18 0 15 1; +#X connect 20 0 8 0; +#X connect 21 0 15 0; diff --git a/mix.switch.ramp~.pd b/mix.switch.ramp~.pd new file mode 100644 index 0000000..f9cdc28 --- /dev/null +++ b/mix.switch.ramp~.pd @@ -0,0 +1,22 @@ +#N canvas 229 511 586 361 10; +#X obj 45 2 inlet~; +#X obj 46 317 outlet~; +#X obj 348 4 inlet; +#X obj 46 249 +~; +#X obj 46 167 *~; +#X msg 96 125 0 0 \, 1 5; +#X msg 183 168 \$1 0 \, 0 5; +#X obj 179 202 vline~; +#X obj 93 161 vline~; +#X obj 177 141 vsnapshot~; +#X connect 0 0 4 0; +#X connect 0 0 9 0; +#X connect 2 0 9 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 6 0; +#X connect 9 0 5 0; diff --git a/mix.wet.stereo~-help.pd b/mix.wet.stereo~-help.pd new file mode 100644 index 0000000..b1a34cf --- /dev/null +++ b/mix.wet.stereo~-help.pd @@ -0,0 +1,65 @@ +#N canvas 28 47 650 700 10; +#X obj 118 104 osc~ 222; +#X obj 110 307 mix.out_~; +#X msg 219 203 curve \$1; +#X obj 251 241 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 8 25 cnv 15 600 56 empty empty mix.wet.stereo~ 0 -10 0 16 -33289 +-66577 0; +#X obj 9 29 cnv 15 598 50 empty empty empty 20 12 0 14 -241404 -66577 +0; +#X text 13 61 Author: Thomas Ouellet Fredericks; +#X text 14 31 Description: Controls the wetness of an effect.; +#X text 13 46 Flags: Internal; +#X text 247 224 dry; +#X text 360 225 wet; +#X obj 219 186 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262144 -1 -1 1 256; +#X text 277 186 1= linear (default) \, 3= logarithm; +#X floatatom 248 262 5 0 0 0 - - -; +#X obj 328 565 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 324 548 dry; +#X floatatom 325 586 5 0 0 0 - - -; +#X text 83 394 You can also use mix.wet~ to turn off effects (stored +in a subpatch) when they are not in use:; +#X obj 194 437 osc~ 222; +#N canvas 642 215 623 522 fx 0; +#X obj 121 52 inlet~; +#X obj 127 296 outlet~; +#X obj 382 123 switch~; +#X obj 411 55 inlet; +#X obj 156 124 pdmtl/fx.distortion~ 127 127; +#X connect 0 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 215 477 pd fx; +#X obj 154 631 mix.out_~; +#X obj 198 598 mix.wet~; +#X obj 134 265 mix.wet.stereo~; +#X text 537 10 Version: 1; +#X text 252 300 Argument 1: Curve (see mix.crossfade~ for the different +curves); +#X obj 296 619 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 163 146 pdmtl/fx.distortion~ 127 127; +#X connect 0 0 22 0; +#X connect 0 0 22 1; +#X connect 0 0 26 0; +#X connect 2 0 22 4; +#X connect 3 0 13 0; +#X connect 3 0 22 4; +#X connect 11 0 2 0; +#X connect 14 0 16 0; +#X connect 14 0 21 2; +#X connect 18 0 19 0; +#X connect 18 0 21 0; +#X connect 19 0 21 1; +#X connect 21 0 20 0; +#X connect 21 0 20 1; +#X connect 21 1 19 1; +#X connect 21 1 25 0; +#X connect 22 0 1 0; +#X connect 22 1 1 1; +#X connect 26 0 22 2; +#X connect 26 0 22 3; diff --git a/mix.wet.stereo~.pd b/mix.wet.stereo~.pd new file mode 100644 index 0000000..9010a6c --- /dev/null +++ b/mix.wet.stereo~.pd @@ -0,0 +1,31 @@ +#N canvas 128 124 779 516 10; +#X obj 550 82 clip 0 127; +#X obj 499 16 inlet; +#X obj 500 36 route curve; +#X obj 560 123 scale.linear 0 127 -1 1; +#X obj 541 443 outlet switch; +#X obj 19 23 inlet~ dry_left; +#X obj 122 22 inlet~ dry_right; +#X obj 250 24 inlet~ fx_left; +#X obj 367 24 inlet~ fx_right; +#X obj 137 251 mix.crossfade.stereo~ 1 -1; +#X obj 94 444 outlet~ left; +#X obj 215 446 outlet~ right~; +#X obj 584 173 loadbang; +#X obj 584 199 dollarg; +#X obj 459 322 mix.switch.nice 12; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 9 5; +#X connect 2 1 0 0; +#X connect 3 0 9 4; +#X connect 5 0 9 0; +#X connect 6 0 9 1; +#X connect 7 0 9 2; +#X connect 8 0 9 3; +#X connect 9 0 10 0; +#X connect 9 1 11 0; +#X connect 9 3 14 0; +#X connect 12 0 13 0; +#X connect 13 0 9 5; +#X connect 14 0 4 0; diff --git a/mix.wet~-help.pd b/mix.wet~-help.pd new file mode 100644 index 0000000..fb1f79e --- /dev/null +++ b/mix.wet~-help.pd @@ -0,0 +1,60 @@ +#N canvas 28 47 654 704 10; +#X obj 174 269 mix.wet~; +#X obj 173 106 osc~ 222; +#X obj 174 296 mix.out_~; +#X msg 219 203 curve \$1; +#X obj 251 241 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 8 25 cnv 15 600 56 empty empty mix.wet~ 0 -10 0 16 -33289 -66577 +0; +#X obj 9 29 cnv 15 598 50 empty empty empty 20 12 0 14 -241404 -66577 +0; +#X text 13 61 Author: Thomas Ouellet Fredericks; +#X text 14 31 Description: Controls the wetness of an effect.; +#X text 13 46 Flags: Internal; +#X text 247 224 dry; +#X text 360 225 wet; +#X obj 219 186 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262144 -1 -1 1 256; +#X text 277 186 1= linear (default) \, 3= logarithm; +#X floatatom 248 262 5 0 0 0 - - -; +#X text 537 10 Version: 2; +#X obj 328 565 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 324 548 dry; +#X floatatom 325 586 5 0 0 0 - - -; +#X text 83 394 You can also use mix.wet~ to turn off effects (stored +in a subpatch) when they are not in use:; +#X obj 194 437 osc~ 222; +#N canvas 1 47 623 522 fx 0; +#X obj 121 52 inlet~; +#X obj 127 296 outlet~; +#X obj 382 123 switch~; +#X obj 411 55 inlet; +#X obj 156 124 pdmtl/fx.distortion~ 127 127; +#X connect 0 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 215 477 pd fx; +#X obj 154 631 mix.out_~; +#X obj 198 598 mix.wet~; +#X text 293 279 Argument 1: Curve (see mix.crossfade~ for the different +curves); +#X obj 197 148 pdmtl/fx.distortion~ 127 127; +#X connect 0 0 2 0; +#X connect 0 0 2 1; +#X connect 1 0 0 0; +#X connect 1 0 25 0; +#X connect 3 0 0 2; +#X connect 4 0 0 2; +#X connect 4 0 14 0; +#X connect 12 0 3 0; +#X connect 16 0 18 0; +#X connect 16 0 23 2; +#X connect 20 0 21 0; +#X connect 20 0 23 0; +#X connect 21 0 23 1; +#X connect 23 0 22 0; +#X connect 23 0 22 1; +#X connect 23 1 21 1; +#X connect 25 0 0 1; diff --git a/mix.wet~.pd b/mix.wet~.pd new file mode 100644 index 0000000..883e18d --- /dev/null +++ b/mix.wet~.pd @@ -0,0 +1,25 @@ +#N canvas 245 252 783 520 10; +#X obj 178 417 outlet~; +#X obj 103 15 inlet~ dry; +#X obj 261 25 inlet~ fx; +#X obj 472 78 clip 0 127; +#X obj 381 26 inlet; +#X obj 382 46 route curve; +#X obj 482 119 scale.linear 0 127 -1 1; +#X obj 480 419 outlet switch; +#X obj 175 240 mix.crossfade~ 1 -1; +#X obj 584 173 loadbang; +#X obj 584 199 dollarg; +#X obj 360 341 mix.switch.nice 12; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 8 3; +#X connect 5 1 3 0; +#X connect 6 0 8 2; +#X connect 8 0 0 0; +#X connect 8 2 11 0; +#X connect 9 0 10 0; +#X connect 10 0 8 3; +#X connect 11 0 7 0; diff --git a/musical.arpeggio-help.pd b/musical.arpeggio-help.pd new file mode 100644 index 0000000..6e3d416 --- /dev/null +++ b/musical.arpeggio-help.pd @@ -0,0 +1,46 @@ +#N canvas 617 28 517 489 10; +#X msg 173 167 0 2 4 7 9; +#X obj 26 347 synth.simple.phasor~; +#X obj 25 398 mix.out_~; +#X text 23 13 Description: Simple arppegiator using a list as a chord +and a note index.; +#X msg 26 320 \$1 1; +#X obj 26 227 + 36; +#X obj 26 188 musical.arpeggio 0 4 7 11; +#X msg 143 325 0 0 1 40; +#X obj 143 304 loadbang; +#X obj 61 297 f; +#X obj 26 252 t f b f; +#X msg 61 321 \$1 0; +#X obj 26 99 t b; +#X obj 26 120 count.up&down 0 25; +#X obj 26 52 timing.tempo_ 220; +#X floatatom 94 253 5 0 0 0 - - -; +#X floatatom 47 208 5 0 0 0 - - -; +#X obj 61 275 del 55; +#X floatatom 34 145 5 0 0 0 - - -; +#X text 73 146 Inlet_1: note index from 0 to infinity; +#X text 239 168 Inlet_2: chord as a list of floats; +#X obj 25 373 fx.punch~; +#X connect 0 0 6 1; +#X connect 1 0 21 0; +#X connect 1 0 21 1; +#X connect 4 0 1 0; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 7 0 1 1; +#X connect 8 0 7 0; +#X connect 9 0 11 0; +#X connect 10 0 4 0; +#X connect 10 1 17 0; +#X connect 10 2 9 1; +#X connect 11 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 6 0; +#X connect 13 0 18 0; +#X connect 14 0 12 0; +#X connect 15 0 17 1; +#X connect 16 0 5 1; +#X connect 17 0 9 0; +#X connect 21 0 2 0; +#X connect 21 1 2 1; diff --git a/musical.arpeggio.pd b/musical.arpeggio.pd new file mode 100644 index 0000000..f67be07 --- /dev/null +++ b/musical.arpeggio.pd @@ -0,0 +1,38 @@ +#N canvas 567 137 412 526 10; +#X obj 50 166 list append; +#X obj 251 5 inlet; +#X obj 47 23 inlet; +#X obj 51 293 +; +#X obj 206 215 * 12; +#X obj 213 98 t a a; +#X obj 50 236 list.element; +#X obj 179 149 t f f; +#X obj 208 191 div; +#X obj 48 487 outlet; +#X obj 307 4 loadbang; +#X obj 304 26 dollarg; +#X obj 51 80 t b f; +#X obj 305 57 list; +#X obj 248 146 list.length; +#X obj 172 181 mod; +#X obj 171 202 + 1; +#X connect 0 0 6 0; +#X connect 1 0 5 0; +#X connect 2 0 12 0; +#X connect 3 0 9 0; +#X connect 4 0 3 1; +#X connect 5 0 0 1; +#X connect 5 1 14 0; +#X connect 6 0 3 0; +#X connect 7 0 15 0; +#X connect 7 1 8 0; +#X connect 8 0 4 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 0 0; +#X connect 12 1 7 0; +#X connect 13 0 5 0; +#X connect 14 0 8 1; +#X connect 14 0 15 1; +#X connect 15 0 16 0; +#X connect 16 0 6 1; diff --git a/musical.bars-help.pd b/musical.bars-help.pd new file mode 100644 index 0000000..6e9e299 --- /dev/null +++ b/musical.bars-help.pd @@ -0,0 +1,28 @@ +#N canvas 497 114 514 385 10; +#X floatatom 135 166 5 0 0 0 - - -; +#X floatatom 164 188 5 0 0 0 - - -; +#X floatatom 201 207 5 0 0 0 - - -; +#X obj 81 250 musical.bars 32 4 2; +#X floatatom 86 319 5 0 0 0 - - -; +#X floatatom 223 282 5 0 0 0 - - -; +#X floatatom 18 187 5 0 0 0 - - -; +#X obj 103 300 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 39 13 Definition: A bar counter for building musical charts +; +#X text 133 323 current bar number; +#X text 140 341 from 0 to n-1; +#X text 205 187 # beats/bar; +#X text 243 203 # num count per beat; +#X text 175 165 total # bars; +#X text 247 218 i.e. what is the smallest unit; +#X text 263 281 beat in the bar; +#X obj 60 88 timing.tempo_; +#X connect 0 0 3 1; +#X connect 1 0 3 2; +#X connect 2 0 3 3; +#X connect 3 0 4 0; +#X connect 3 0 7 0; +#X connect 3 1 5 0; +#X connect 16 0 3 0; +#X connect 16 0 6 0; diff --git a/musical.bars.pd b/musical.bars.pd new file mode 100644 index 0000000..290f1ce --- /dev/null +++ b/musical.bars.pd @@ -0,0 +1,62 @@ +#N canvas 673 225 822 447 10; +#X obj 90 33 inlet; +#X obj 360 53 inlet; +#X obj 259 51 init.df \$1 1; +#X obj 259 81 f; +#X obj 514 56 inlet; +#X obj 424 85 f; +#X obj 425 56 init.df \$2 4; +#X obj 668 59 inlet; +#X obj 578 88 f; +#X text 461 85 # beats/bar; +#X text 614 87 # num count per beat; +#X obj 261 19 t b b b; +#X obj 263 -4 loadbang; +#X obj 544 288 %; +#X obj 98 168 t f f; +#X obj 110 357 outlet; +#X text 131 332 current bar change; +#X obj 129 202 div; +#X obj 107 244 f; +#X text 298 80 total # bars; +#X obj 110 276 %; +#X obj 101 135 t f f; +#X obj 538 352 outlet; +#X obj 579 59 init.df \$3 1; +#X text 618 102 i.e. what is the smallest unit; +#X text 594 352 beat in the bar; +#X obj 114 76 % 1; +#X obj 78 56 t f f; +#X obj 120 98 == 0; +#X obj 71 108 spigot; +#X obj 34 204 seq.every; +#X connect 0 0 27 0; +#X connect 1 0 3 0; +#X connect 2 0 3 0; +#X connect 3 0 20 1; +#X connect 4 0 5 0; +#X connect 5 0 17 1; +#X connect 5 0 13 1; +#X connect 5 0 30 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 26 1; +#X connect 11 0 2 0; +#X connect 11 1 6 0; +#X connect 11 2 23 0; +#X connect 12 0 11 0; +#X connect 13 0 22 0; +#X connect 14 0 30 0; +#X connect 14 1 17 0; +#X connect 17 0 18 1; +#X connect 18 0 20 0; +#X connect 20 0 15 0; +#X connect 21 0 14 0; +#X connect 21 1 13 0; +#X connect 23 0 8 0; +#X connect 26 0 28 0; +#X connect 27 0 29 0; +#X connect 27 1 26 0; +#X connect 28 0 29 1; +#X connect 29 0 21 0; +#X connect 30 0 18 0; diff --git a/musical.closest.note-help.pd b/musical.closest.note-help.pd new file mode 100644 index 0000000..5e542cf --- /dev/null +++ b/musical.closest.note-help.pd @@ -0,0 +1,96 @@ +#N canvas 733 24 707 627 10; +#X obj 23 411 mtof; +#X obj 22 459 mix.out_~; +#X floatatom 57 411 5 0 0 0 - - -; +#X msg 200 53 0 2 4 5 7 9 11; +#X text 297 54 major; +#X msg 211 76 0 1 4 5 7 8 11; +#X msg 223 99 0 2 4 6 7 9 10; +#X msg 234 121 0 2 3 5 7 8 11; +#X msg 257 166 0 2 4 6 8 10; +#X msg 267 188 0 2 3 5 6 8 9 11; +#X obj 23 283 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 287 254 0 0.5 1 1.5 2 2.5 3 3.5 4; +#X text 309 76 middle-east-like minor; +#X text 320 100 lydian-dominant (jazzy); +#X text 332 123 harmonic minor; +#X msg 245 144 0 2 3 4 5 6 7 9 10 11; +#X text 383 145 chromatic blues; +#X text 343 168 whole-tones scale; +#X text 375 190 diminished scale; +#X msg 275 210 0 2 4 7 9; +#X text 343 211 pentatonic; +#X text 375 232 pentatonic blues; +#X msg 283 232 0 2 3 4 7 8 9; +#X msg 292 276 0 0.33 0.66 1 1.33 1.66 2; +#X obj 200 343 musical.transpose; +#X floatatom 311 366 5 0 0 0 - - -; +#X text 352 366 Change tonic; +#X obj 311 384 musical.cycle5; +#X floatatom 23 367 5 0 0 0 - - -; +#X obj 23 304 metro 180; +#X text 22 529 Of course \, if you use several [musical.closest.note] +objects at a time with the same scale and key \, you will be able to +compose a realtime symphony. It will always be continuous if you use +scales with the same number of notes. Also \, it will prevent the notes +from being too high.; +#X obj 404 521 musical.closest.note 0 2 4 7 9; +#X msg 405 455 60 61 62 63 64 65 66 67 68 69 70 71 72; +#X obj 404 477 t a b; +#X msg 456 543 set; +#X msg 404 565 60 62 62 63.1 65 65 67 67 69 69 70 72 72; +#X msg 404 542 add2 \$1; +#X obj 404 499 drip; +#X msg 581 499 0 2 3.1 5 7 9 10; +#X msg 298 299 0 1.5 3 4.5 6 7.5 9 10.5; +#X text 101 428 Argument: the list of the current chord.; +#X text 20 7 Description: Rounds an incoming MIDI note to a note listed +in a given chord or scale.; +#X text 105 417 inlets: note offset to play \, scale/chord list (any +length); +#X text 444 6 Author: Alexandre Quessy (c) 2006; +#X text 451 256 tests; +#X floatatom 299 324 5 0 0 0 - - -; +#X obj 23 387 musical.closest.note 0 2 4 7 9; +#X obj 23 433 osc~; +#X msg 66 39 22 20 25 22 18 17 22 18 10 13 17 15; +#X obj 23 326 count.modulo 12; +#X obj 23 347 + 60; +#X obj 35 116 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 300 1; +#X connect 0 0 47 0; +#X connect 3 0 24 0; +#X connect 5 0 24 0; +#X connect 6 0 24 0; +#X connect 7 0 24 0; +#X connect 8 0 24 0; +#X connect 9 0 24 0; +#X connect 10 0 29 0; +#X connect 11 0 24 0; +#X connect 15 0 24 0; +#X connect 19 0 24 0; +#X connect 22 0 24 0; +#X connect 23 0 24 0; +#X connect 24 0 46 1; +#X connect 25 0 27 0; +#X connect 29 0 49 0; +#X connect 31 0 36 0; +#X connect 32 0 33 0; +#X connect 33 0 37 0; +#X connect 33 1 34 0; +#X connect 34 0 35 0; +#X connect 36 0 35 0; +#X connect 37 0 31 0; +#X connect 38 0 31 1; +#X connect 39 0 24 0; +#X connect 45 0 24 1; +#X connect 46 0 2 0; +#X connect 46 0 0 0; +#X connect 47 0 1 0; +#X connect 47 0 1 1; +#X connect 48 0 24 0; +#X connect 49 0 50 0; +#X connect 50 0 28 0; +#X connect 50 0 46 0; +#X connect 51 0 50 0; diff --git a/musical.closest.note.pd b/musical.closest.note.pd new file mode 100644 index 0000000..783c60f --- /dev/null +++ b/musical.closest.note.pd @@ -0,0 +1,53 @@ +#N canvas 314 224 742 589 10; +#X obj 173 244 + 12; +#X obj 173 275 -; +#X obj 141 179 t b a; +#X obj 171 200 drip; +#X obj 141 154 list append; +#X obj 122 108 t f b f b; +#X obj 359 20 inlet; +#X obj 297 163 f; +#X obj 177 326 min; +#X obj 207 350 f; +#X obj 143 385 f; +#X obj 122 60 inlet; +#X obj 122 417 +; +#X obj 122 449 outlet; +#X obj 301 263 f 12; +#X text 301 113 minimum ( Each of the notes in the scale - the current +input note ); +#X text 239 417 + the current input note; +#X text 47 491 Need abs() to make it more accurate (such as rint() +but for floats); +#X text 317 298 Differences; +#X obj 218 449 outlet; +#X obj 365 69 dollarg; +#X obj 361 46 loadbang; +#X obj 173 223 expr fmod($f1 \, 12); +#X obj 171 299 expr fmod($f1 \, 12); +#X obj 297 186 expr fmod($f1 \, 12); +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 2 0 10 0; +#X connect 2 1 3 0; +#X connect 3 0 22 0; +#X connect 4 0 2 0; +#X connect 5 0 12 0; +#X connect 5 1 4 0; +#X connect 5 2 7 0; +#X connect 5 3 14 0; +#X connect 6 0 4 1; +#X connect 7 0 24 0; +#X connect 8 0 9 0; +#X connect 9 0 8 1; +#X connect 9 0 10 1; +#X connect 10 0 12 1; +#X connect 10 0 19 0; +#X connect 11 0 5 0; +#X connect 12 0 13 0; +#X connect 14 0 8 1; +#X connect 20 0 4 1; +#X connect 21 0 20 0; +#X connect 22 0 0 0; +#X connect 23 0 8 0; +#X connect 24 0 1 1; diff --git a/musical.cycle5-help.pd b/musical.cycle5-help.pd new file mode 100644 index 0000000..2dd61e8 --- /dev/null +++ b/musical.cycle5-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X floatatom 181 99 5 0 0 0 - - -; +#X floatatom 174 219 5 0 0 0 - - -; +#X text 72 47 Descrption: Cycles through the serie of fifths; +#X obj 175 164 musical.cycle5; +#X connect 0 0 3 0; +#X connect 3 0 1 0; diff --git a/musical.cycle5.pd b/musical.cycle5.pd new file mode 100644 index 0000000..d669d45 --- /dev/null +++ b/musical.cycle5.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 450 300 10; +#X obj 55 68 inlet; +#X obj 251 112 init.df \$1 0; +#X obj 260 71 loadbang; +#X obj 69 226 expr ((abs($f1+12)%12)*7)%12; +#X obj 21 277 outlet; +#X connect 0 0 3 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; diff --git a/musical.degree2chord-help.pd b/musical.degree2chord-help.pd new file mode 100644 index 0000000..376178b --- /dev/null +++ b/musical.degree2chord-help.pd @@ -0,0 +1,24 @@ +#N canvas 550 235 496 571 10; +#X floatatom 185 173 5 0 0 0 - - -; +#X text 201 153 Number of notes in the chord; +#X floatatom 97 107 5 0 0 0 - - -; +#X text 145 108 Degree of the chord in the major scale; +#X obj 92 336 musical.transpose; +#X floatatom 239 311 5 0 0 0 - - -; +#X obj 90 391 prepend set; +#X msg 91 423 2 5 9 0; +#X text 138 288 You might want to transpose as well; +#X obj 237 334 musical.cycle5; +#X floatatom 237 358 5 0 0 0 - - -; +#X text 53 22 Description: Cycles through the chords of n notes in +a scale \, the major scale by default; +#X text 154 121 1 is the first degree \, not 0; +#X obj 107 236 musical.degree2chord; +#X connect 0 0 13 1; +#X connect 2 0 13 0; +#X connect 4 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 7 0; +#X connect 9 0 4 1; +#X connect 9 0 10 0; +#X connect 13 0 4 0; diff --git a/musical.degree2chord.pd b/musical.degree2chord.pd new file mode 100644 index 0000000..b8968b1 --- /dev/null +++ b/musical.degree2chord.pd @@ -0,0 +1,44 @@ +#N canvas 536 126 1071 785 10; +#X obj 191 419 list; +#X msg 771 504 1 0 1 0 1 1 0 1 0 1 0 1; +#X obj 774 480 loadbang; +#X obj 754 455 inlet; +#X obj 146 87 inlet; +#X text 797 535 The major; +#X obj 849 650 - 1; +#X text 776 428 Scale; +#X obj 224 174 t b f; +#X text 94 54 Offset (degree) of the chord to get; +#X obj 459 192 init.df \$1 3; +#X obj 412 179 inlet; +#X text 418 153 Number of notes in the chord; +#X obj 415 224 f; +#X obj 183 694 outlet; +#X obj 183 639 list.cycle 2 3; +#X obj 716 620 list.bool2pos; +#X obj 226 130 - 1; +#X obj 156 524 zl rot; +#X text 199 89 In music \, index 1 is the first degree. In computer +sciences \, it is index 0; +#X obj 717 653 list.op; +#X obj 218 464 expr 0-$f1; +#X text 302 464 The offset are the inverse (negative) than those in +list-rot; +#X connect 0 0 18 0; +#X connect 1 0 16 0; +#X connect 2 0 1 0; +#X connect 3 0 16 0; +#X connect 4 0 17 0; +#X connect 6 0 20 1; +#X connect 8 0 0 0; +#X connect 8 1 21 0; +#X connect 10 0 13 0; +#X connect 11 0 13 0; +#X connect 13 0 15 2; +#X connect 15 0 14 0; +#X connect 16 0 20 0; +#X connect 17 0 8 0; +#X connect 18 0 15 0; +#X connect 20 0 0 1; +#X connect 20 1 6 0; +#X connect 21 0 18 1; diff --git a/musical.dodeca-help.pd b/musical.dodeca-help.pd new file mode 100644 index 0000000..588ec13 --- /dev/null +++ b/musical.dodeca-help.pd @@ -0,0 +1,37 @@ +#N canvas 669 81 385 377 10; +#X floatatom 72 158 5 0 0 0 - - -; +#X floatatom 34 211 5 0 0 0 - - -; +#X floatatom 153 161 5 0 0 0 - - -; +#X obj 72 212 mtof; +#X obj 72 234 osc~; +#X obj 72 264 mix.out_~; +#X obj 33 112 f; +#X obj 62 112 + 1; +#X obj 33 134 % 60; +#X obj 33 156 + 60; +#X floatatom 84 39 5 0 0 0 - - -; +#X obj 33 81 metro 150; +#X obj 33 60 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 72 183 musical.dodeca; +#X obj 84 58 convert.bpm2ms; +#X text 150 142 change the seed \, resynths the serie; +#X text 21 -14 Description: Given a seed \, the serie will always be +the same.; +#X text 22 11 Comments: gets a note from the serie; +#X connect 0 0 13 0; +#X connect 2 0 13 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 5 1; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 14 0; +#X connect 11 0 6 0; +#X connect 12 0 11 0; +#X connect 13 0 1 0; +#X connect 13 0 3 0; +#X connect 14 0 11 1; diff --git a/musical.dodeca.pd b/musical.dodeca.pd new file mode 100644 index 0000000..b7e7853 --- /dev/null +++ b/musical.dodeca.pd @@ -0,0 +1,66 @@ +#N canvas 43 71 721 504 10; +#X obj 353 190 until; +#X msg 510 123 clear; +#X obj 383 319 pack f f; +#X obj 384 368 tabwrite \$0-serie; +#N canvas 0 0 450 300 graph1 0; +#X array \$0-serie 12 float 2; +#X coords 0 11 11 0 120 120 1; +#X restore 105 273 graph; +#X obj 62 45 inlet; +#X obj 28 133 tabread \$0-serie; +#X obj 35 199 outlet; +#X floatatom 590 289 5 0 0 0 - - -; +#X obj 498 233 f 0; +#X obj 533 232 + 1; +#X obj 353 149 t b f b; +#X obj 328 113 inlet; +#X obj 399 54 loadbang; +#X obj 403 87 f \$1; +#X text 337 8 seed (resets it); +#X text 67 11 offset; +#X msg 512 156 0; +#X obj 367 219 t b b; +#X floatatom 331 56 5 0 0 0 - - -; +#X msg 503 191 seed \$1; +#X floatatom 135 48 5 0 0 0 - - -; +#X floatatom 103 196 5 0 0 0 - - -; +#X obj 70 75 t f f; +#X text 189 -28 serial music abstraction; +#X msg 353 168 12; +#X obj 384 256 urn 12; +#X obj 205 124 div 12; +#X obj 32 112 % 12; +#X text 110 248 this is a permutation; +#X text 690 -18 @uses zexy; +#X obj 32 170 expr $f1+12*$f2; +#X connect 0 0 18 0; +#X connect 1 0 26 0; +#X connect 2 0 3 0; +#X connect 5 0 23 0; +#X connect 6 0 31 0; +#X connect 9 0 10 0; +#X connect 9 0 8 0; +#X connect 9 0 2 1; +#X connect 10 0 9 1; +#X connect 11 0 25 0; +#X connect 11 1 20 0; +#X connect 11 2 1 0; +#X connect 11 2 17 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 11 0; +#X connect 17 0 9 1; +#X connect 18 0 26 0; +#X connect 18 1 9 0; +#X connect 19 0 11 0; +#X connect 20 0 26 0; +#X connect 21 0 23 0; +#X connect 23 0 28 0; +#X connect 23 1 27 0; +#X connect 25 0 0 0; +#X connect 26 0 2 0; +#X connect 27 0 31 1; +#X connect 28 0 6 0; +#X connect 31 0 22 0; +#X connect 31 0 7 0; diff --git a/musical.fit-help.pd b/musical.fit-help.pd new file mode 100644 index 0000000..4f4e765 --- /dev/null +++ b/musical.fit-help.pd @@ -0,0 +1,37 @@ +#N canvas 20 172 567 427 10; +#X floatatom 210 145 5 0 0 0 - - -; +#X floatatom 96 348 5 0 0 0 - - -; +#X msg 246 107 4500; +#X msg 288 107 2500; +#X msg 336 109 2000; +#X msg 208 105 250; +#X floatatom 128 321 5 0 0 0 - - -; +#X floatatom 150 297 5 0 0 0 - - -; +#X text 140 357 Fitted length.; +#X text 229 277 Ratio of fitted length / reference length.; +#X text 201 296 Ratio of reference length / fitted length.; +#X floatatom 180 272 5 0 0 0 - - -; +#X text 182 320 Multiplier of original length to fit reference length. +; +#X text 248 145 Lenght base.; +#X msg 23 92 300; +#X msg 59 91 1000; +#X msg 108 90 3000; +#X text 11 21 Description: Tries to fit a length with an another based +on musical 4/4 divisions.; +#X text 14 68 Length to fit.; +#X obj 210 75 loadbang; +#X obj 97 176 musical.fit; +#X connect 0 0 20 1; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 14 0 20 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 19 0 5 0; +#X connect 20 0 1 0; +#X connect 20 1 6 0; +#X connect 20 2 7 0; +#X connect 20 3 11 0; diff --git a/musical.fit.pd b/musical.fit.pd new file mode 100644 index 0000000..8c21960 --- /dev/null +++ b/musical.fit.pd @@ -0,0 +1,109 @@ +#N canvas 0 46 1060 658 10; +#X obj 417 24 inlet; +#X obj 545 573 outlet; +#X obj 750 21 inlet; +#X obj 622 199 /; +#X obj 594 350 *; +#X obj 675 141 t f f; +#X obj 698 425 /; +#X obj 726 573 outlet; +#X obj 813 566 outlet; +#X obj 568 226 t b f; +#N canvas 289 98 991 658 closestmult2 0; +#X msg 403 194 2; +#X obj 407 228 float; +#X obj 465 262 moses; +#X obj 521 193 * 2; +#X obj 506 374 -; +#X obj 406 145 t b f f; +#X obj 517 417 moses; +#X obj 529 339 t f f; +#X obj 564 361 * 0.25; +#X obj 492 480 float; +#X msg 490 448 bang; +#X msg 575 445 bang; +#X obj 581 476 float; +#X obj 606 501 / 2; +#X obj 513 286 t f f f; +#X obj 149 40 inlet; +#X obj 255 610 outlet; +#X obj 190 75 moses 1; +#X obj 66 81 /; +#X msg 75 53 1.125 \$1; +#X obj 327 534 demultiplex 0 1; +#X obj 301 82 t f b; +#X msg 403 354 1; +#X obj 226 124 t f b; +#X msg 365 355 0; +#X msg 408 578 1 \$1; +#X obj 412 605 /; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 14 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 5 1 2 1; +#X connect 5 2 4 1; +#X connect 6 0 10 0; +#X connect 6 1 11 0; +#X connect 7 0 4 0; +#X connect 7 1 8 0; +#X connect 8 0 6 1; +#X connect 9 0 20 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 20 0; +#X connect 14 0 7 0; +#X connect 14 1 9 1; +#X connect 14 2 12 1; +#X connect 15 0 17 0; +#X connect 17 0 19 0; +#X connect 17 1 21 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 1 16 0; +#X connect 21 0 5 0; +#X connect 21 1 22 0; +#X connect 22 0 20 1; +#X connect 23 0 5 0; +#X connect 23 1 24 0; +#X connect 24 0 20 1; +#X connect 25 0 26 0; +#X connect 26 0 16 0; +#X restore 658 264 pd closestmult2; +#X obj 653 290 t f f; +#X obj 532 275 f; +#X obj 778 436 t f f; +#X obj 895 569 outlet; +#X obj 873 501 /; +#X msg 847 470 1 \$1; +#X obj 617 67 t f b f f; +#X obj 966 569 outlet; +#X obj 925 407 expr $f2/$f1; +#X connect 0 0 5 0; +#X connect 2 0 17 0; +#X connect 3 0 9 0; +#X connect 4 0 6 0; +#X connect 4 0 1 0; +#X connect 4 0 19 0; +#X connect 5 0 3 0; +#X connect 5 1 6 1; +#X connect 5 1 19 1; +#X connect 6 0 7 0; +#X connect 9 0 12 0; +#X connect 9 1 10 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 11 1 4 1; +#X connect 12 0 4 0; +#X connect 13 0 8 0; +#X connect 13 1 16 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 17 0 12 1; +#X connect 17 2 3 1; +#X connect 19 0 18 0; diff --git a/musical.form-help.pd b/musical.form-help.pd new file mode 100644 index 0000000..7fe6e0f --- /dev/null +++ b/musical.form-help.pd @@ -0,0 +1,51 @@ +#N canvas 391 85 515 557 10; +#X msg 289 125 a a b a; +#X obj 132 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 145 244 set \$1; +#X msg 145 269 b; +#X obj 290 99 loadbang; +#X msg 282 212 a b a c a b a; +#X obj 132 124 metro 350; +#X text 22 -40 States machine looping through a sequence of states +; +#X text 23 -27 Mainly for musical forms; +#X text 25 -5 Does not use arguments \, but the right inlet; +#X msg 288 264 a b; +#X text 25 16 2nd inlet : list representing the form; +#X msg 287 289 a a b b; +#X msg 290 149 a b a; +#X msg 285 333 a b a c a d a; +#X text 399 333 Rondo; +#X text 390 125 Ternary; +#X text 391 212 Arch form; +#X text 395 266 Binary; +#X msg 58 134 reset; +#X msg 52 226 behave \$1; +#X obj 50 201 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 25 37 behave : (1 0) reset when the moment you change the form. +Defaults to false; +#X text 25 70 reset : resets to the first part of the form (0); +#X obj 143 196 musical.form; +#X text 42 409 For instance \, you could have a set of chords for each +part of the form. You could bang this to get the current part \, looping +through all the parts of the form you set it to use. You might want +to use a sequencer with this \, with a different use of it in each +part.; +#X msg 284 355 1 2 1 3 1 4 1; +#X connect 0 0 24 1; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 4 0 0 0; +#X connect 5 0 24 1; +#X connect 6 0 24 0; +#X connect 10 0 24 1; +#X connect 12 0 24 1; +#X connect 13 0 24 1; +#X connect 14 0 24 1; +#X connect 19 0 24 0; +#X connect 20 0 24 0; +#X connect 21 0 20 0; +#X connect 24 0 2 0; +#X connect 26 0 24 1; diff --git a/musical.form.pd b/musical.form.pd new file mode 100644 index 0000000..9148080 --- /dev/null +++ b/musical.form.pd @@ -0,0 +1,44 @@ +#N canvas 417 141 1069 624 10; +#X obj 37 14 inlet; +#X obj 193 106 bang; +#X obj 68 194 f 0; +#X obj 110 196 + 1; +#X msg -16 143 0; +#X text 523 71 form a a b a; +#X obj 466 25 inlet; +#X obj 181 341 list; +#X obj 213 398 list split 1; +#X obj 181 371 list split; +#X obj 184 280 t b f; +#X obj 193 582 outlet; +#X obj -15 121 bang; +#X text 292 370 get element at; +#X obj 74 236 %; +#X obj 451 82 t a a b; +#X obj 204 173 spigot; +#X msg 203 193 1; +#X obj 54 72 route reset behave; +#X obj 470 231 length; +#X connect 0 0 18 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 14 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 6 0 15 0; +#X connect 7 0 9 0; +#X connect 8 0 11 0; +#X connect 9 1 8 0; +#X connect 10 0 7 0; +#X connect 10 1 9 1; +#X connect 12 0 4 0; +#X connect 14 0 10 0; +#X connect 15 0 7 1; +#X connect 15 1 19 0; +#X connect 15 2 16 0; +#X connect 16 0 17 0; +#X connect 17 0 3 1; +#X connect 18 0 12 0; +#X connect 18 1 16 1; +#X connect 18 2 1 0; +#X connect 19 0 14 1; diff --git a/musical.isosonic~-help.pd b/musical.isosonic~-help.pd new file mode 100644 index 0000000..4e68d82 --- /dev/null +++ b/musical.isosonic~-help.pd @@ -0,0 +1,50 @@ +#N canvas 291 70 495 680 10; +#X declare -lib iemmatrix; +#X floatatom -13 195 5 0 0 0 - - -; +#X obj -13 261 mtof; +#X obj -12 287 osc~; +#X obj -12 406 *~; +#X obj -11 450 mix.out_~; +#X obj -13 237 t f f; +#X obj -13 57 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 137 178 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X text -18 8 Description: Amplitude correction according to the MIDI +note of the original sound in order to obtain an equal perceptual loudness +for every pitch; +#X text -13 573 Of course \, it created distorsion on very low notes +\, because the amplification is too important and it clips.; +#X obj 2 315 musical.isosonic~ 60 50; +#X obj -25 -22 cnv 15 430 20 empty empty empty 20 12 0 14 -216438 -66577 +0; +#X obj -25 -1 cnv 1 430 1 empty empty empty 4 -10 2 12 -66577 -1 0 +; +#X obj -25 -22 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text 265 -18 Version: 2007-02-12; +#X text -24 -19 :: musical.isosonic~ ::; +#X obj -13 214 clip 23 127; +#X obj 2 358 line~; +#X obj 2 337 pack f 50; +#X obj 2 379 dbtorms~; +#X text 76 341 You simply need to pass the dB correction factor into +[dbtorms] and then [*~] the audio source to be corrected; +#X text 22 193 MIDI note; +#X text 158 173 Estimated output loudness (dB); +#X obj 101 420 anal.scope_~ 1; +#X connect 0 0 16 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 23 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 5 0 1 0; +#X connect 5 1 10 0; +#X connect 6 0 0 0; +#X connect 7 0 10 1; +#X connect 10 0 18 0; +#X connect 16 0 5 0; +#X connect 17 0 19 0; +#X connect 18 0 17 0; +#X connect 19 0 3 1; diff --git a/musical.isosonic~.pd b/musical.isosonic~.pd new file mode 100644 index 0000000..40688e1 --- /dev/null +++ b/musical.isosonic~.pd @@ -0,0 +1,22 @@ +#N canvas 290 77 341 255 10; +#X declare -lib iemmatrix; +#X obj 41 98 mtx 1 1; +#X obj 41 123 mtx_phon_curve 60; +#X msg 41 150 \$3; +#X obj 40 70 mtof; +#X obj 39 24 inlet; +#X obj 140 41 inlet; +#X obj 152 88 init.df \$1 60; +#X obj 152 65 loadbang; +#X obj 41 177 outlet; +#X obj 39 49 clip 1 127; +#X obj 239 22 import iemmatrix; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 8 0; +#X connect 3 0 0 0; +#X connect 4 0 9 0; +#X connect 5 0 1 1; +#X connect 6 0 1 1; +#X connect 7 0 6 0; +#X connect 9 0 3 0; diff --git a/musical.m2harm-help.pd b/musical.m2harm-help.pd new file mode 100644 index 0000000..8b4e4e5 --- /dev/null +++ b/musical.m2harm-help.pd @@ -0,0 +1,14 @@ +#N canvas 815 400 665 344 10; +#X floatatom 86 61 5 0 0 0 - - -; +#X obj 82 189 prepend set; +#X msg 84 212 32 44 51.0196 56 59.8631 63.0196 65.6883 68 70.0391 71.8631 +73.5132 75.0195; +#X obj 78 162 musical.m2harm 12; +#X text 72 22 Gets the MIDI notes of the harmonic serie of a MIDI note +; +#X floatatom 198 133 5 0 0 0 - - -; +#X text 241 132 You can change the number of harmonics displayed; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X connect 5 0 3 1; diff --git a/musical.m2harm.pd b/musical.m2harm.pd new file mode 100644 index 0000000..21faffd --- /dev/null +++ b/musical.m2harm.pd @@ -0,0 +1,40 @@ +#N canvas 505 222 659 622 10; +#X obj 16 7 inlet; +#X obj 298 95 init.df \$1 8; +#X obj 298 68 loadbang; +#X obj 83 320 *; +#X obj 177 231 until; +#X obj 202 263 f 1; +#X obj 235 267 + 1; +#X obj 178 211 f; +#X msg 221 242 1; +#X obj 391 94 inlet; +#X obj 173 34 t b b f b b; +#X obj 60 347 ftom; +#X obj 63 204 mtof; +#X obj 200 415 list prepend; +#X obj 162 452 list append; +#X obj 126 492 list append; +#X obj 136 542 outlet; +#X connect 0 0 10 0; +#X connect 1 0 7 1; +#X connect 2 0 1 0; +#X connect 3 0 11 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 5 1; +#X connect 7 0 4 0; +#X connect 8 0 5 1; +#X connect 9 0 7 1; +#X connect 10 0 15 0; +#X connect 10 1 7 0; +#X connect 10 2 12 0; +#X connect 10 3 8 0; +#X connect 10 4 13 1; +#X connect 11 0 13 0; +#X connect 12 0 3 1; +#X connect 13 0 14 0; +#X connect 14 0 13 1; +#X connect 14 0 15 1; +#X connect 15 0 16 0; diff --git a/musical.m2name.pd b/musical.m2name.pd new file mode 100644 index 0000000..f06e75a --- /dev/null +++ b/musical.m2name.pd @@ -0,0 +1,45 @@ +#N canvas 0 0 555 353 10; +#X obj 170 59 inlet; +#X obj 167 131 sel 0 1 2 3 4 5 6 7 8 9 10 11; +#X obj 170 104 % 12; +#X obj 270 295 symbol; +#X obj 273 319 outlet; +#X msg 111 191 C; +#X msg 172 192 D; +#X msg 142 192 C#; +#X msg 203 191 Eb; +#X msg 235 190 E; +#X msg 265 191 F; +#X msg 295 191 F#; +#X msg 326 190 G; +#X msg 356 192 Ab; +#X msg 387 193 A; +#X msg 417 193 Bb; +#X msg 448 192 B; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 1 1 7 0; +#X connect 1 2 6 0; +#X connect 1 3 8 0; +#X connect 1 4 9 0; +#X connect 1 5 10 0; +#X connect 1 6 11 0; +#X connect 1 7 12 0; +#X connect 1 8 13 0; +#X connect 1 9 14 0; +#X connect 1 10 15 0; +#X connect 1 11 16 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 7 0 3 0; +#X connect 8 0 3 0; +#X connect 9 0 3 0; +#X connect 10 0 3 0; +#X connect 11 0 3 0; +#X connect 12 0 3 0; +#X connect 13 0 3 0; +#X connect 14 0 3 0; +#X connect 15 0 3 0; +#X connect 16 0 3 0; diff --git a/musical.note.index-help.pd b/musical.note.index-help.pd new file mode 100644 index 0000000..fecd032 --- /dev/null +++ b/musical.note.index-help.pd @@ -0,0 +1,77 @@ +#N canvas 510 164 808 609 10; +#X obj 110 399 mtof; +#X obj 85 496 mix.out_~; +#X floatatom 144 384 5 0 0 0 - - -; +#X obj 109 72 metro 250; +#X obj 109 93 f 0; +#X obj 177 96 + 1; +#X floatatom 127 141 5 0 0 0 - - -; +#X floatatom 309 321 5 0 0 0 - - -; +#X msg 248 -5 0 2 4 5 7 9 11; +#X text 359 -4 major; +#X msg 270 22 0 1 4 5 7 8 11; +#X msg 282 45 0 2 4 6 7 9 10; +#X msg 305 78 0 2 3 5 7 8 11; +#X msg 329 129 0 2 4 6 8 10; +#X msg 348 153 0 2 3 5 6 8 9 11; +#X obj 109 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 356 233 0 0.5 1 1.5 2 2.5 3 3.5 4; +#X text 385 23 middle-east-like minor; +#X text 396 47 lydian-dominant (jazzy); +#X text 424 79 harmonic minor; +#X msg 317 107 0 2 3 4 5 6 7 9 10 11; +#X text 467 107 chromatic blues; +#X text 437 133 whole-tones scale; +#X text 471 154 diminished scale; +#X text 377 276 don't know why semitones dont work yet; +#X obj 231 414 cnv 15 400 100 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X msg 356 179 0 2 4 7 9; +#X text 438 182 pentatonic; +#X text 456 204 pentatonic blues; +#X msg 352 205 0 2 3 4 7 8 9; +#X text 351 323 key (0-11); +#X text 213 376 params: note offset to play \, scale list (any length) +\, key (0-11); +#X msg 422 256 0 0.33 0.66 1 1.33 1.66 2; +#X floatatom 30 452 5 0 0 0 - - -; +#X obj 14 12 inlet; +#X obj 109 118 expr $f1 % 14 + 28; +#X obj 110 423 osc~; +#X text 235 496 Needs ZEXY; +#X text 237 477 MUZAQ (fomer lib) is GPL \, copyleft Alexandre Quessy +(c) 2006; +#X msg 659 64 \; pd dsp 1; +#X obj 118 363 musical.note.index; +#X text 235 411 Of course \, if you use several [musical.note.index] +objects at a time with the same scale and key \, you will be able to +compose a realtime symphony. It will always be continuous if you use +scales with the same number of notes. Also \, it will prevent the notes +from being too high.; +#X connect 0 0 33 0; +#X connect 0 0 36 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 35 0; +#X connect 5 0 4 1; +#X connect 7 0 40 2; +#X connect 8 0 40 1; +#X connect 10 0 40 1; +#X connect 11 0 40 1; +#X connect 12 0 40 1; +#X connect 13 0 40 1; +#X connect 14 0 40 1; +#X connect 15 0 3 0; +#X connect 16 0 40 1; +#X connect 20 0 40 1; +#X connect 26 0 40 1; +#X connect 29 0 40 1; +#X connect 32 0 40 1; +#X connect 34 0 40 1; +#X connect 35 0 6 0; +#X connect 35 0 40 0; +#X connect 36 0 1 0; +#X connect 36 0 1 1; +#X connect 40 0 2 0; +#X connect 40 0 0 0; diff --git a/musical.note.index.pd b/musical.note.index.pd new file mode 100644 index 0000000..2533a30 --- /dev/null +++ b/musical.note.index.pd @@ -0,0 +1,84 @@ +#N canvas 693 213 750 454 10; +#X obj 187 12 inlet list; +#X obj 248 68 list prepend set; +#X obj 248 94 route list; +#X obj 449 135 t b f; +#X obj 318 347 sort; +#X obj 418 45 inlet key; +#X obj 61 11 inlet note; +#X obj 49 390 outlet; +#X obj 187 37 t b l; +#X obj 458 247 + 0; +#X obj 412 223 % 12; +#X msg 248 170 0 2 4 7 9; +#N canvas 840 217 608 592 play-note-at 0; +#X obj 30 44 inlet note; +#X obj 30 184 t f f; +#X obj 137 276 * 12; +#X obj 30 217 div 1; +#X obj 65 456 +; +#X obj 69 499 outlet; +#X text 227 40 get a scale (list); +#X text 30 12 get an offset to be played; +#X obj 289 76 inlet scale; +#X obj 137 226 div 7; +#X obj 30 328 % 7; +#X obj 289 106 t l l; +#N canvas 0 0 450 300 list-value-at 0; +#X obj 94 235 list split 0; +#X msg 94 159 0 2 4 7 9; +#X obj 168 270 list split 1; +#X obj 203 97 t b f b; +#X msg 247 159 1; +#X obj 203 38 inlet indexof; +#X obj 371 27 inlet list; +#X obj 371 59 list prepend set; +#X obj 371 85 route list; +#X obj 168 304 outlet; +#X text 51 9 Gets an atom at index x in a list; +#X text 180 356 Both inlets are actually active; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 9 0; +#X connect 3 0 1 0; +#X connect 3 1 0 1; +#X connect 3 2 4 0; +#X connect 4 0 2 1; +#X connect 5 0 3 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X restore 37 379 pd list-value-at; +#X obj 319 141 list.length; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 9 0; +#X connect 2 0 4 1; +#X connect 3 0 10 0; +#X connect 4 0 5 0; +#X connect 8 0 11 0; +#X connect 9 0 2 0; +#X connect 10 0 12 0; +#X connect 11 0 12 1; +#X connect 11 1 13 0; +#X connect 12 0 4 0; +#X connect 13 0 9 1; +#X connect 13 0 10 1; +#X restore 67 264 pd play-note-at; +#X obj 268 246 list.op; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 2 0 11 0; +#X connect 3 0 11 0; +#X connect 3 1 9 1; +#X connect 4 0 12 1; +#X connect 5 0 3 0; +#X connect 6 0 12 0; +#X connect 8 0 11 0; +#X connect 8 1 1 0; +#X connect 9 0 13 1; +#X connect 10 0 9 0; +#X connect 11 0 13 0; +#X connect 12 0 7 0; +#X connect 13 0 4 0; +#X connect 13 1 10 0; diff --git a/musical.octava-help.pd b/musical.octava-help.pd new file mode 100644 index 0000000..6815a7a --- /dev/null +++ b/musical.octava-help.pd @@ -0,0 +1,19 @@ +#N canvas 0 0 640 453 10; +#X obj 187 320 musical.octava; +#X msg 99 122 0 4 7; +#X obj 352 133 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 7; +#X floatatom 351 292 5 0 0 0 - - -; +#X obj 188 355 prepend set; +#X msg 189 380 0 4 7; +#X obj 352 260 expr 7-$f1; +#X text 387 139 Choose your octava; +#X text 149 121 Major chord; +#X text 83 87 Desription: Transposes a chord to a higher or lower octava +; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 4 0 5 0; +#X connect 6 0 0 1; +#X connect 6 0 3 0; diff --git a/musical.octava.pd b/musical.octava.pd new file mode 100644 index 0000000..26681a7 --- /dev/null +++ b/musical.octava.pd @@ -0,0 +1,15 @@ +#N canvas 0 0 450 300 10; +#X obj 61 105 inlet; +#X obj 149 192 expr $f1+12*$f2; +#X obj 306 71 inlet; +#X obj 302 155 init.df \$1 0; +#X obj 351 100 loadbang; +#X obj 65 235 outlet; +#X obj 39 190 list.op; +#X connect 0 0 6 0; +#X connect 1 0 6 1; +#X connect 2 0 3 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 1 0; diff --git a/musical.transpose-help.pd b/musical.transpose-help.pd new file mode 100644 index 0000000..e215c7c --- /dev/null +++ b/musical.transpose-help.pd @@ -0,0 +1,12 @@ +#N canvas 647 326 450 300 10; +#X obj 134 151 musical.transpose; +#X msg 121 67 0 4 7; +#X text 176 67 Major chord; +#X floatatom 288 68 5 0 0 0 - - -; +#X obj 137 179 prepend set; +#X msg 138 208 1 5 8; +#X text 95 16 Description: Transposes a chord; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 5 0; diff --git a/musical.transpose.pd b/musical.transpose.pd new file mode 100644 index 0000000..2233b6a --- /dev/null +++ b/musical.transpose.pd @@ -0,0 +1,18 @@ +#N canvas 0 0 541 553 10; +#X obj 93 115 inlet; +#X obj 69 476 outlet; +#X obj 321 247 +; +#X obj 355 158 inlet; +#X obj 321 282 % 12; +#X text 327 342 Todo: use creb's; +#X text 325 389 instead of %; +#X obj 137 201 list append; +#X obj 140 250 list.op; +#X obj 330 364 fmod 12; +#X connect 0 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 2 1; +#X connect 4 0 8 1; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X connect 8 1 2 0; diff --git a/net.udp.send-help.pd b/net.udp.send-help.pd new file mode 100644 index 0000000..a75c05d --- /dev/null +++ b/net.udp.send-help.pd @@ -0,0 +1,41 @@ +#N canvas 538 72 765 403 10; +#X obj 91 112 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X obj 81 201 prepend set; +#X msg 79 228 foo 52; +#X msg 62 39 foo \$1; +#X obj 66 18 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 5200 1; +#X symbolatom 136 46 10 0 0 0 - - -; +#X obj 321 65 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X msg 350 62 host 255.255.255.255; +#X msg 356 31 host 127.0.0.1; +#X obj 184 204 route foo; +#X obj 187 229 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144 +-1 -1 5200 1; +#X text 76 315 Description: Wrapper around netsend in UDP.; +#X text 73 330 Author: Alexandre Quessy; +#X obj 81 176 netreceive 8001 1; +#X obj 93 87 net.udp.send @host localhost @port 8001; +#X obj 360 192 net.udp.send @host 127.0.0.1 @port 8001 @autoconnect +0 @delay 10000; +#X obj 670 164 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X floatatom 361 166 5 0 0 0 - - -; +#X obj 362 230 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1 +1; +#X connect 1 0 2 0; +#X connect 3 0 14 0; +#X connect 4 0 3 0; +#X connect 5 0 14 0; +#X connect 6 0 14 1; +#X connect 7 0 14 1; +#X connect 8 0 14 1; +#X connect 9 0 10 0; +#X connect 13 0 1 0; +#X connect 13 0 9 0; +#X connect 14 0 0 0; +#X connect 15 0 18 0; +#X connect 16 0 15 1; +#X connect 17 0 15 0; diff --git a/net.udp.send.pd b/net.udp.send.pd new file mode 100644 index 0000000..16eb08c --- /dev/null +++ b/net.udp.send.pd @@ -0,0 +1,86 @@ +#N canvas 0 22 821 541 10; +#X obj 31 231 netsend 1; +#X obj 286 73 init.post.dollarg; +#X obj 289 47 dollarg; +#X obj 289 -1 loadbang; +#X obj 169 268 flow.any; +#X obj 169 310 prepend connect; +#X obj 31 52 prepend send; +#X obj 31 30 inlet; +#X obj 36 470 outlet; +#X obj 172 111 spigot 1; +#X msg 455 205 disconnect; +#X obj 382 22 inlet; +#X obj 483 152 sel 1 0; +#X obj 169 290 pack s f; +#X obj 210 442 sel 0; +#X obj 399 455 spigot 1; +#X obj 284 99 route host port autoconnect disconnect connect float +delay; +#X obj 399 478 delay 1000; +#X msg 617 423 0; +#X obj 503 176 t b b; +#X obj 364 124 f; +#X text 391 124 autoconnect; +#X text 454 427 if autoconnect; +#X msg 646 423 1; +#X obj 399 427 spigot 1; +#X obj 30 121 spigot; +#X text 459 455 if supposed to be connected; +#X msg 472 127 0; +#X msg 516 132 1; +#X obj 169 204 t b b; +#X obj 210 241 convert.list2symbol; +#X obj 289 24 t b b; +#X msg 452 75 host localhost \, port 3001; +#X text 615 75 default values; +#X obj 42 269 print net.udp.send; +#X obj 211 162 print net.udp.send::host; +#X connect 0 0 8 0; +#X connect 0 0 14 0; +#X connect 0 0 25 1; +#X connect 1 0 16 0; +#X connect 1 1 9 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 31 0; +#X connect 4 0 13 0; +#X connect 5 0 0 0; +#X connect 5 0 34 0; +#X connect 6 0 25 0; +#X connect 7 0 6 0; +#X connect 9 0 29 0; +#X connect 10 0 0 0; +#X connect 10 0 34 0; +#X connect 11 0 16 0; +#X connect 12 0 23 0; +#X connect 12 0 29 0; +#X connect 12 1 19 0; +#X connect 13 0 5 0; +#X connect 14 0 24 0; +#X connect 15 0 17 0; +#X connect 16 0 30 0; +#X connect 16 0 35 0; +#X connect 16 1 13 1; +#X connect 16 2 20 0; +#X connect 16 3 27 0; +#X connect 16 4 28 0; +#X connect 16 5 12 0; +#X connect 16 6 17 1; +#X connect 17 0 4 0; +#X connect 18 0 15 1; +#X connect 19 0 10 0; +#X connect 19 1 18 0; +#X connect 20 0 9 1; +#X connect 20 0 24 1; +#X connect 23 0 15 1; +#X connect 24 0 15 0; +#X connect 25 0 0 0; +#X connect 27 0 12 0; +#X connect 28 0 12 0; +#X connect 29 0 4 0; +#X connect 29 1 23 0; +#X connect 30 0 4 1; +#X connect 31 0 2 0; +#X connect 31 1 32 0; +#X connect 32 0 16 0; diff --git a/number.fibonacci-help.pd b/number.fibonacci-help.pd new file mode 100644 index 0000000..2cf13bd --- /dev/null +++ b/number.fibonacci-help.pd @@ -0,0 +1,7 @@ +#N canvas 0 0 450 300 10; +#X floatatom 91 131 9 0 0 0 - - -; +#X floatatom 93 192 9 0 0 0 - - -; +#X text 17 20 Description: Gets a number in the Fibonacci serie; +#X obj 92 158 number.fibonacci; +#X connect 0 0 3 0; +#X connect 3 0 1 0; diff --git a/number.fibonacci.pd b/number.fibonacci.pd new file mode 100644 index 0000000..8bf3946 --- /dev/null +++ b/number.fibonacci.pd @@ -0,0 +1,29 @@ +#N canvas 967 369 509 554 10; +#X obj 40 35 inlet; +#X obj 40 81 max 0; +#X obj 65 145 until; +#X obj 40 445 outlet; +#X obj 40 59 i; +#X obj 40 423 f; +#X obj 76 211 f 1; +#X obj 202 199 + 0; +#X obj 200 172 t f f; +#X msg 117 148 1; +#X msg 155 144 0; +#X obj 40 103 t b f b b; +#X connect 0 0 4 0; +#X connect 1 0 11 0; +#X connect 2 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 6 0 5 1; +#X connect 7 0 6 1; +#X connect 8 0 7 1; +#X connect 8 1 7 0; +#X connect 9 0 6 1; +#X connect 10 0 7 1; +#X connect 11 0 5 0; +#X connect 11 1 2 0; +#X connect 11 2 9 0; +#X connect 11 3 10 0; diff --git a/number.phi-help.pd b/number.phi-help.pd new file mode 100644 index 0000000..6863db0 --- /dev/null +++ b/number.phi-help.pd @@ -0,0 +1,9 @@ +#N canvas 535 339 450 300 10; +#X obj 111 83 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 111 168 print; +#X text 47 16 Description: Outputs the constant phi ((1+sqrt(5))/2). +; +#X obj 111 124 number.phi; +#X connect 0 0 3 0; +#X connect 3 0 1 0; diff --git a/number.phi.pd b/number.phi.pd new file mode 100644 index 0000000..67fba76 --- /dev/null +++ b/number.phi.pd @@ -0,0 +1,16 @@ +#N canvas 263 342 446 296 10; +#X obj 93 21 inlet; +#X obj 93 162 outlet; +#X obj 148 80 sqrt; +#X msg 148 58 5; +#X obj 148 101 + 1; +#X obj 148 121 / 2; +#X obj 148 35 loadbang; +#X obj 93 125 f; +#X connect 0 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 7 1; +#X connect 6 0 3 0; +#X connect 7 0 1 0; diff --git a/number.pi-help.pd b/number.pi-help.pd new file mode 100644 index 0000000..9d2951b --- /dev/null +++ b/number.pi-help.pd @@ -0,0 +1,8 @@ +#N canvas 862 207 450 300 10; +#X obj 111 124 number.pi; +#X obj 111 83 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 117 170 print; +#X text 46 16 Description: Outputs the constant pi (3.14159).; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/number.pi.pd b/number.pi.pd new file mode 100644 index 0000000..e40b671 --- /dev/null +++ b/number.pi.pd @@ -0,0 +1,15 @@ +#N canvas 387 204 446 296 10; +#X obj 82 73 inlet; +#X obj 82 206 outlet; +#X text 15 17 bang to get the value of pi; +#X msg 151 111 1; +#X obj 151 133 atan; +#X obj 151 152 * 4; +#X obj 82 178 f; +#X obj 151 87 loadbang; +#X connect 0 0 6 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 6 0 1 0; +#X connect 7 0 3 0; diff --git a/number.prime-help.pd b/number.prime-help.pd new file mode 100644 index 0000000..1e61419 --- /dev/null +++ b/number.prime-help.pd @@ -0,0 +1,11 @@ +#N canvas 0 0 450 300 10; +#X floatatom 96 124 5 0 0 0 - - -; +#X floatatom 106 212 5 0 0 0 - - -; +#X text 21 21 Definition: Get one of the 1000 first prime numbers; +#X text 156 123 Inlet: number from 0 to 999; +#X text 165 212 Outlet: prime number; +#X text 21 35 Author: Alexandre Quessy; +#X text 19 49 Version: 2007-01-07; +#X obj 103 175 number.prime; +#X connect 0 0 7 0; +#X connect 7 0 1 0; diff --git a/number.prime.pd b/number.prime.pd new file mode 100644 index 0000000..89d575d --- /dev/null +++ b/number.prime.pd @@ -0,0 +1,88 @@ +#N canvas 0 0 1125 935 10; +#X msg 339 -214 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 +71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 +167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 +263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 +367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 +463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 +587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 +683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 +811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 +929 937 941 947 953 967 971 977 983 991 997 1009 1013 1019 1021 1031 +1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103 1109 1117 +1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229 +1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 +1321 1327 1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 +1451 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 +1549 1553 1559 1567 1571 1579 1583 1597 1601 1607 1609 1613 1619 1621 +1627 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733 1741 +1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1831 1847 1861 1867 +1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973 1979 +1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081 +2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 +2203 2207 2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 +2297 2309 2311 2333 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 +2393 2399 2411 2417 2423 2437 2441 2447 2459 2467 2473 2477 2503 2521 +2531 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617 2621 2633 2647 +2657 2659 2663 2671 2677 2683 2687 2689 2693 2699 2707 2711 2713 2719 +2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819 2833 +2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953 +2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 +3079 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 +3209 3217 3221 3229 3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 +3323 3329 3331 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413 3433 +3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3527 3529 3533 3539 +3541 3547 3557 3559 3571 3581 3583 3593 3607 3613 3617 3623 3631 3637 +3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3739 3761 +3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877 +3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 +4003 4007 4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 +4111 4127 4129 4133 4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 +4231 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297 4327 4337 4339 +4349 4357 4363 4373 4391 4397 4409 4421 4423 4441 4447 4451 4457 4463 +4481 4483 4493 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583 4591 +4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679 4691 4703 +4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817 +4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 +4967 4969 4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 +5077 5081 5087 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 +5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5297 5303 5309 5323 +5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5431 5437 5441 +5443 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5531 5557 +5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5669 +5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 +5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 +5897 5903 5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 +6053 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 +6173 6197 6199 6203 6211 6217 6221 6229 6247 6257 6263 6269 6271 6277 +6287 6299 6301 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367 6373 +6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 6491 6521 6529 6547 +6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653 6659 6661 +6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 +6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 +6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 +7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 +7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 +7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 +7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 +7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 +7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 +7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 +7919; +#X text 48 -210 See: http://primes.utm.edu; +#X obj 66 -160 inlet; +#X obj 69 -125 clip 0 1000; +#X obj 71 -29 t b f; +#X text 50 -194 1000 first prime numbers; +#X obj 61 44 list split 1; +#X obj 28 20 list split; +#X obj 203 293 outlet; +#X obj 64 -90 int; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 4 0 0 0; +#X connect 4 1 7 1; +#X connect 6 0 8 0; +#X connect 7 1 6 0; +#X connect 9 0 4 0; diff --git a/number.round-help.pd b/number.round-help.pd new file mode 100644 index 0000000..2af5367 --- /dev/null +++ b/number.round-help.pd @@ -0,0 +1,12 @@ +#N canvas 535 446 694 301 10; +#X floatatom 86 52 5 0 0 0 - - -; +#X floatatom 86 93 5 0 0 0 - - -; +#X floatatom 86 138 5 0 0 0 - - -; +#X obj 86 70 / 10; +#X text 70 11 Description: Rounds a float to it's closest integer. +; +#X obj 86 112 number.round; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 3 0 1 0; +#X connect 5 0 2 0; diff --git a/number.round.pd b/number.round.pd new file mode 100644 index 0000000..185459c --- /dev/null +++ b/number.round.pd @@ -0,0 +1,6 @@ +#N canvas 46 221 689 376 12; +#X obj 148 1 inlet; +#X obj 166 233 outlet; +#X obj 166 132 expr rint($f1); +#X connect 0 0 2 0; +#X connect 2 0 1 0; diff --git a/number.round.up-help.pd b/number.round.up-help.pd new file mode 100644 index 0000000..9031c5e --- /dev/null +++ b/number.round.up-help.pd @@ -0,0 +1,7 @@ +#N canvas 271 141 728 446 10; +#X floatatom 86 93 5 0 0 0 - - -; +#X floatatom 86 138 5 0 0 0 - - -; +#X text 70 10 Description: Rounds a float up.; +#X obj 85 112 number.round.up; +#X connect 0 0 3 0; +#X connect 3 0 1 0; diff --git a/number.round.up.pd b/number.round.up.pd new file mode 100644 index 0000000..61e78e2 --- /dev/null +++ b/number.round.up.pd @@ -0,0 +1,11 @@ +#N canvas 1230 214 728 446 10; +#X obj 172 113 inlet; +#X obj 175 338 outlet; +#X obj 264 230 expr if ( modf($f1) \, int($f1) + 1 \, int($f1)); +#X obj 172 162 moses 0; +#X obj -105 222 expr int($f1); +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 3 1 2 0; +#X connect 4 0 1 0; diff --git a/param.atom-help.pd b/param.atom-help.pd new file mode 100644 index 0000000..c82687e --- /dev/null +++ b/param.atom-help.pd @@ -0,0 +1,52 @@ +#N canvas 479 47 960 686 10; +#X text 37 84 Inlet 2: Set but do not output.; +#X text 34 123 Outlet 2: Parameter format.; +#X text 649 217 -- CHOICE LIST --; +#X text 42 33 Comments: Must be used with param.group; +#X text 37 67 Inlet 1: Set and output.; +#X text 31 108 Outlet 1: Value output.; +#X text 42 7 Description: The basic PARAM element for floats \, symbols +\, choice lists and toggles.; +#X floatatom 42 188 5 0 0 0 - - -; +#X text 679 145 argument 1: name; +#X text 678 157 argument 2: start float value; +#X text 677 169 argument 3: minimum value; +#X text 676 181 argument 4: maximum value; +#X text 215 228 argument 1: name; +#X text 214 240 argument 2: start symbol value; +#X obj 380 49 cnv 15 500 30 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 199 158 argument 1: name; +#X text 198 170 argument 2: start float value; +#X text 406 50 The type of parameter stored through a param.atom depends +on the quantity and the type of its arguments.; +#X text 247 140 -- FLOAT --; +#X text 236 203 -- SYMBOL --; +#X text 625 130 -- FLOAT IN A FIXED RANGED --; +#X text 714 236 argument 1: name; +#X text 227 271 -- TOGGLE (0/1) --; +#X text 243 311 argument 1: name; +#X text 716 248 argument 2: start symbol choice; +#X text 639 265 argument 3 and more: the different choices; +#X obj 468 532 param.gui; +#X msg 468 476 param.atom.help; +#X obj 528 510 bng 15 250 50 0 empty empty clear_gui 17 7 0 10 -262144 +-1 -1; +#X text 242 351 In this special case \, a true is translated as a 1 +\, and a false as a 0; +#X text 245 326 argument 2: true or false keyword that determines the +start value.; +#X text 143 415 The abstraction below contains an example of all the +different types of param.atoms:; +#X text 466 441 Click the message below to create and display the param.atom +guis; +#X obj 177 453 param.template @id param.atom.help; +#X obj 462 161 param.atom range 0 0 127; +#X obj 43 165 param.atom number 0; +#X obj 46 234 param.atom text blabla; +#X obj 466 243 param.atom choices lin exp log lin; +#X obj 54 309 param.atom toggle1 true; +#X obj 52 331 param.atom toggle2 false; +#X connect 27 0 26 0; +#X connect 28 0 26 1; +#X connect 35 0 7 0; diff --git a/param.atom.pd b/param.atom.pd new file mode 100644 index 0000000..d9056cb --- /dev/null +++ b/param.atom.pd @@ -0,0 +1,191 @@ +#N canvas 342 138 902 664 10; +#X obj 28 33 inlet; +#X obj 31 642 outlet; +#X obj 71 425 list; +#X obj 380 78 parentdollarzero; +#X obj 450 175 flow.receive; +#X obj 629 143 flow.receive; +#X obj 260 -3 loadbang; +#X obj 127 585 list prepend; +#X obj 444 440 makesymbol @%s; +#X obj 478 473 makesymbol >%s; +#X obj 621 119 makesymbol %s>; +#X obj 267 99 list append \$1; +#X obj 380 102 t a a a; +#X obj 671 254 route float; +#X obj 724 319 symbol; +#X text 23 15 iem zexy; +#X obj 261 21 t b b b; +#X obj 257 615 list prepend; +#X obj 141 375 t b b; +#X msg 162 431 0; +#X obj 370 376 t b b; +#X obj 255 496 list append; +#X obj 628 400 list prepend; +#N canvas 3 93 861 664 dataFormat 0; +#X obj 107 57 dollarg; +#X obj 107 96 list.split 1; +#X obj 176 139 list.split 1; +#X obj 123 280 route bang float symbol; +#X obj 138 359 t f b; +#X msg 341 442 f; +#X obj 217 353 t s b; +#X msg 446 504 s; +#X obj 455 557 list prepend; +#X msg 108 398 a; +#X obj 81 364 t b b; +#X obj 107 26 inlet; +#X obj 131 602 outlet; +#X obj 455 612 outlet; +#X msg 503 489 c; +#X obj 377 270 list.length; +#X obj 409 457 demultiplex 0 1; +#X obj 377 301 > 0; +#X obj 24 195 select true false; +#X obj 3 233 t b b; +#X obj 60 229 t b b; +#X msg 87 267 t; +#X msg 3 268 1; +#X msg 47 269 0; +#X obj 774 621 outlet; +#X obj 224 405 demultiplex 0 1; +#X obj 435 237 t a a a; +#X msg 227 438 n; +#X connect 0 0 1 0; +#X connect 1 1 2 0; +#X connect 2 0 18 0; +#X connect 2 1 26 0; +#X connect 3 0 10 0; +#X connect 3 1 4 0; +#X connect 3 2 6 0; +#X connect 4 0 12 0; +#X connect 4 1 25 0; +#X connect 5 0 8 0; +#X connect 6 0 12 0; +#X connect 6 1 16 0; +#X connect 7 0 8 0; +#X connect 8 0 13 0; +#X connect 9 0 8 0; +#X connect 10 1 9 0; +#X connect 11 0 0 0; +#X connect 14 0 8 0; +#X connect 15 0 17 0; +#X connect 16 0 7 0; +#X connect 16 1 14 0; +#X connect 17 0 16 1; +#X connect 17 0 25 1; +#X connect 18 0 19 0; +#X connect 18 1 20 0; +#X connect 18 2 3 0; +#X connect 19 0 22 0; +#X connect 19 1 21 0; +#X connect 20 0 23 0; +#X connect 20 1 21 0; +#X connect 21 0 8 0; +#X connect 22 0 12 0; +#X connect 23 0 12 0; +#X connect 25 0 27 0; +#X connect 25 1 5 0; +#X connect 26 0 15 0; +#X connect 26 1 24 0; +#X connect 26 2 8 1; +#X connect 27 0 8 0; +#X restore 136 132 pd dataFormat; +#X obj 72 470 demultiplex 0 1; +#X obj 367 211 route get format; +#X msg 192 430 1; +#X obj 187 377 t b b a; +#X obj 255 575 demultiplex 0 1; +#X obj 298 375 t b b a; +#X msg 400 427 0; +#X msg 330 445 1; +#X obj 628 8 inlet SET; +#X obj 142 266 t a a; +#X obj 711 659 outlet FORMAT_ARGUMENTS; +#X obj 622 182 route dump id format listen save init; +#X obj 67 172 list; +#X obj 52 199 spigot 1; +#X obj 807 211 b; +#X obj 47 241 list trim; +#X obj 453 237 t a b; +#X msg 482 258 0; +#X obj 629 424 s DPL; +#X obj 26 314 t a a a; +#X text 504 132 done; +#X obj 453 146 makesymbol %s@\$1; +#X text 788 348 done; +#X text 95 8 ORDER CONVERSION DONE; +#X obj 709 368 list append \$1; +#X obj 140 500 pdmtl/flow.send; +#X obj 356 620 pdmtl/flow.send; +#X obj 265 674 pdmtl/flow.send; +#X connect 0 0 43 0; +#X connect 2 0 24 0; +#X connect 3 0 12 0; +#X connect 4 0 25 0; +#X connect 5 0 35 0; +#X connect 6 0 16 0; +#X connect 7 0 51 0; +#X connect 8 0 7 1; +#X connect 8 0 17 1; +#X connect 9 0 51 1; +#X connect 10 0 5 0; +#X connect 11 0 8 0; +#X connect 12 0 9 0; +#X connect 12 1 45 0; +#X connect 12 2 10 0; +#X connect 13 0 45 0; +#X connect 13 0 48 0; +#X connect 13 1 14 0; +#X connect 14 0 45 0; +#X connect 14 0 48 0; +#X connect 16 0 23 0; +#X connect 16 1 3 0; +#X connect 16 2 11 0; +#X connect 17 0 51 0; +#X connect 18 0 2 0; +#X connect 18 1 19 0; +#X connect 19 0 24 1; +#X connect 20 0 21 0; +#X connect 20 1 30 0; +#X connect 21 0 28 0; +#X connect 22 0 42 0; +#X connect 23 0 36 1; +#X connect 23 1 21 1; +#X connect 23 2 34 0; +#X connect 24 0 7 0; +#X connect 24 1 49 0; +#X connect 25 0 27 0; +#X connect 25 1 29 0; +#X connect 25 2 40 0; +#X connect 26 0 24 1; +#X connect 27 0 2 0; +#X connect 27 1 26 0; +#X connect 27 2 49 1; +#X connect 28 0 17 0; +#X connect 28 1 50 0; +#X connect 29 0 21 0; +#X connect 29 1 31 0; +#X connect 29 2 50 1; +#X connect 30 0 28 1; +#X connect 31 0 28 1; +#X connect 32 0 33 0; +#X connect 33 0 2 1; +#X connect 33 1 22 0; +#X connect 35 0 18 0; +#X connect 35 1 13 0; +#X connect 35 2 20 0; +#X connect 35 4 18 0; +#X connect 35 5 38 0; +#X connect 36 0 37 0; +#X connect 37 0 39 0; +#X connect 38 0 36 0; +#X connect 39 0 43 0; +#X connect 40 0 43 0; +#X connect 40 1 41 0; +#X connect 41 0 37 1; +#X connect 43 0 1 0; +#X connect 43 1 2 1; +#X connect 43 2 22 0; +#X connect 45 0 4 0; +#X connect 48 0 22 1; diff --git a/param.bang-help.pd b/param.bang-help.pd new file mode 100644 index 0000000..f9a9051 --- /dev/null +++ b/param.bang-help.pd @@ -0,0 +1,7 @@ +#N canvas 1532 342 400 240 10; +#X text 34 21 Description: A parameter that bangs.; +#X text 33 40 Comments: Must be used with a param.group; +#X obj 105 134 param.bang parameter_name; +#X obj 105 108 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 3 0 2 0; diff --git a/param.bang.pd b/param.bang.pd new file mode 100644 index 0000000..0cba432 --- /dev/null +++ b/param.bang.pd @@ -0,0 +1,66 @@ +#N canvas 97 63 1013 765 10; +#X obj 28 33 inlet; +#X obj 25 668 outlet; +#X obj 380 78 parentdollarzero; +#X obj 258 187 flow.receive; +#X obj 621 149 flow.receive; +#X obj 265 674 pdmtl/flow.send; +#X obj 260 -3 loadbang; +#X obj 505 473 makesymbol >%s; +#X obj 621 119 makesymbol %s>; +#X obj 380 102 t a a a; +#X obj 644 246 route float; +#X obj 707 290 symbol; +#X text 25 3 iem zexy; +#X obj 261 21 t b b b; +#X obj 370 376 t b b; +#X obj 255 575 demultiplex 0 1; +#X obj 280 346 t b b a; +#X msg 400 427 0; +#X msg 330 445 1; +#X obj 474 676 pdmtl/flow.send; +#X obj 242 499 list append b; +#X obj 622 182 route dump id format; +#X obj 195 622 list prepend @\$1; +#X obj 261 158 makesymbol %s@\$1; +#X obj 38 322 t b b; +#X obj 259 237 route format get; +#X obj 689 541 s DPL; +#X obj 693 421 list append \$1 bang; +#X obj 679 476 list; +#X connect 0 0 24 0; +#X connect 2 0 9 0; +#X connect 3 0 25 0; +#X connect 4 0 21 0; +#X connect 6 0 13 0; +#X connect 7 0 5 1; +#X connect 8 0 4 0; +#X connect 9 0 7 0; +#X connect 9 1 23 0; +#X connect 9 2 8 0; +#X connect 10 0 23 0; +#X connect 10 0 27 0; +#X connect 10 1 11 0; +#X connect 11 0 23 0; +#X connect 11 0 27 0; +#X connect 13 1 2 0; +#X connect 14 0 20 0; +#X connect 14 1 17 0; +#X connect 15 0 22 0; +#X connect 15 1 19 0; +#X connect 16 0 20 0; +#X connect 16 1 18 0; +#X connect 16 2 19 1; +#X connect 17 0 15 1; +#X connect 18 0 15 1; +#X connect 20 0 15 0; +#X connect 21 1 10 0; +#X connect 21 2 14 0; +#X connect 22 0 5 0; +#X connect 23 0 3 0; +#X connect 24 0 1 0; +#X connect 24 1 28 0; +#X connect 25 0 16 0; +#X connect 25 2 24 0; +#X connect 27 0 28 1; +#X connect 28 0 26 0; diff --git a/param.group-help.pd b/param.group-help.pd new file mode 100644 index 0000000..c49fb70 --- /dev/null +++ b/param.group-help.pd @@ -0,0 +1,28 @@ +#N canvas 252 161 577 340 10; +#X obj 81 87 loadbang; +#X obj 81 116 dollarg; +#X text 171 101 1st inlet: auto route to param.atom abstractions; +#X text 323 225 <- peek inside here; +#X text 40 182 A data.group's id is set thought it's parent's @id argument. +; +#X obj 44 155 param.group; +#X obj 39 223 param.template @id param.group.help; +#X text 48 17 Description: Groups various PARAMS; +#X text 39 44 Must be connected to a loadbang and a dollarg as illustrated +in the folloing example:; +#X text 172 127 param.group's outlet outputs a list of all non @rguments. +; +#N canvas 104 171 648 322 default_id(advanced) 0; +#X obj 250 122 loadbang; +#X obj 250 151 dollarg; +#X obj 165 182 param.group default_name; +#X text 80 42 Do not feed param.group any arguments UNLESS you are +building a special abstraction that has a default ID (i.e. an automatically +assigned ID that can be overwrittend by an @id @rgument).; +#X connect 0 0 1 0; +#X connect 1 0 2 1; +#X connect 1 1 2 2; +#X restore 35 298 pd default_id(advanced); +#X connect 0 0 1 0; +#X connect 1 0 5 1; +#X connect 1 1 5 2; diff --git a/param.group.pd b/param.group.pd new file mode 100644 index 0000000..da18ac4 --- /dev/null +++ b/param.group.pd @@ -0,0 +1,197 @@ +#N canvas 0 0 1008 714 10; +#X obj 470 -1 init.post.dollarg; +#X obj 555 -105 inlet dollarg2; +#X obj 363 -108 inlet dollarg1; +#X obj 358 367 flow.receive; +#X obj 808 721 pdmtl/flow.send; +#X obj 807 656 list; +#X obj 829 540 list.split 1; +#X obj 805 618 t b a; +#X obj 973 328 parentdollarzero; +#X obj 115 818 pdmtl/flow.send; +#X obj 406 708 pdmtl/flow.send; +#X obj 669 763 flow.receive; +#X obj 603 579 makesymbol %s>; +#X obj 672 679 makesymbol >%s; +#X obj 252 679 list; +#X obj 864 680 makesymbol %s@%s; +#X obj 539 501 list prepend id; +#X obj 839 500 flow.@parse; +#X obj 144 -97 inlet auto_route; +#N canvas 1690 11 693 429 top&globalReceives 0; +#X obj 108 17 inlet; +#X obj 108 180 flow.receive; +#X obj 108 126 pdmtl/init.dollar.zero.top; +#X obj 246 177 flow.receive; +#X msg 108 157 \$1@param.atom; +#X msg 246 125 param.atom.global; +#X obj 108 56 t b b; +#X obj 104 325 outlet dump; +#X obj 180 325 outlet format; +#X obj 272 325 outlet listen; +#X obj 404 20 inlet rack; +#X obj 404 178 flow.receive; +#X obj 378 326 outlet id; +#X obj 109 228 route dump format listen id save; +#X obj 464 326 outlet save; +#X connect 0 0 6 0; +#X connect 1 0 13 0; +#X connect 2 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 1 0; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 1 5 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 13 0 7 0; +#X connect 13 1 8 0; +#X connect 13 2 9 0; +#X connect 13 3 12 0; +#X connect 13 4 14 0; +#X restore 147 393 pd top&globalReceives; +#X obj 329 338 t b a; +#X msg 76 565 dump; +#X msg 169 563 format; +#X text 176 817 Return to querier; +#X text 750 762 receive from params; +#X text 468 708 Send to all params; +#X text 370 348 group receive; +#X text 871 718 send to individual param; +#X msg 216 499 listen \$1; +#X obj 524 386 t a a a; +#X obj 490 466 list prepend @id; +#X obj 538 524 list trim; +#X obj 113 728 list.build; +#X obj 27 494 t b b a; +#X obj 143 495 t b b a; +#X obj 199 643 t a b; +#X obj 474 49 route id rack; +#X obj 1069 805 outlet id; +#X obj 513 358 t a a; +#X obj 751 -69 t b b; +#X obj 276 469 t b b a; +#X obj 392 524 list; +#X obj 336 399 route dump format fill save; +#X obj 338 526 symbol; +#X obj 342 476 t b a a; +#X msg 327 556 save \$1; +#X obj 276 714 list; +#X obj 336 711 t b a; +#X obj 730 -8 dollarg; +#X msg 799 243 init; +#X obj 555 70 route bang; +#X obj 864 658 list prepend; +#X obj 555 -83 f 0; +#X obj 555 -58 t a b; +#X obj 509 141 list; +#X obj 458 172 route bang; +#X obj 615 18 t b b; +#X obj 732 60 t a b; +#X obj 645 111 demultiplex; +#X obj 780 124 t f f f; +#X obj 840 123 + 1; +#X obj 710 156 list append; +#X obj 710 180 makesymbol %s_%s; +#X obj 731 30 list split 1; +#X obj 726 97 > 0; +#X obj 779 94 value \$1V; +#X obj 515 276 list trim; +#X obj 515 234 init.make.unique; +#X connect 0 0 36 0; +#X connect 0 1 56 0; +#X connect 1 0 52 0; +#X connect 2 0 0 0; +#X connect 3 0 42 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 1 5 1; +#X connect 7 0 5 0; +#X connect 7 1 51 0; +#X connect 8 0 12 0; +#X connect 8 0 13 0; +#X connect 8 0 51 1; +#X connect 11 0 32 1; +#X connect 12 0 10 1; +#X connect 13 0 11 0; +#X connect 14 0 32 1; +#X connect 15 0 4 1; +#X connect 16 0 31 0; +#X connect 17 0 6 0; +#X connect 18 0 6 0; +#X connect 19 0 33 0; +#X connect 19 1 34 0; +#X connect 19 2 28 0; +#X connect 19 3 40 0; +#X connect 19 4 44 0; +#X connect 20 0 19 0; +#X connect 20 1 3 0; +#X connect 21 0 10 0; +#X connect 22 0 10 0; +#X connect 28 0 10 0; +#X connect 29 0 30 0; +#X connect 29 0 41 1; +#X connect 29 1 16 0; +#X connect 29 2 51 1; +#X connect 30 0 14 1; +#X connect 30 0 46 1; +#X connect 31 0 10 0; +#X connect 32 0 9 0; +#X connect 33 0 32 0; +#X connect 33 1 21 0; +#X connect 33 2 35 0; +#X connect 34 0 32 0; +#X connect 34 1 22 0; +#X connect 34 2 35 0; +#X connect 35 0 9 1; +#X connect 35 1 14 0; +#X connect 36 0 54 1; +#X connect 36 1 19 1; +#X connect 36 2 50 0; +#X connect 38 0 37 0; +#X connect 38 1 29 0; +#X connect 39 0 48 0; +#X connect 39 1 8 0; +#X connect 40 0 32 0; +#X connect 40 1 41 0; +#X connect 40 2 9 1; +#X connect 41 0 32 1; +#X connect 42 0 33 0; +#X connect 42 1 34 0; +#X connect 42 2 17 0; +#X connect 42 3 44 0; +#X connect 43 0 45 0; +#X connect 44 0 32 0; +#X connect 44 1 43 0; +#X connect 44 2 47 0; +#X connect 45 0 10 0; +#X connect 46 0 9 0; +#X connect 47 0 46 0; +#X connect 47 1 9 1; +#X connect 48 0 63 0; +#X connect 49 0 10 0; +#X connect 50 1 6 0; +#X connect 51 0 15 0; +#X connect 52 0 53 0; +#X connect 53 0 0 1; +#X connect 53 1 39 0; +#X connect 54 0 55 0; +#X connect 55 1 67 0; +#X connect 56 0 49 0; +#X connect 56 1 54 0; +#X connect 57 0 58 0; +#X connect 57 1 65 0; +#X connect 58 0 54 1; +#X connect 58 1 61 0; +#X connect 59 0 64 0; +#X connect 59 1 61 1; +#X connect 59 2 60 0; +#X connect 60 0 65 0; +#X connect 61 0 62 0; +#X connect 62 0 54 1; +#X connect 63 0 57 0; +#X connect 64 0 58 1; +#X connect 65 0 59 0; +#X connect 66 0 20 0; +#X connect 66 0 38 0; +#X connect 67 0 66 0; diff --git a/param.gui-help.pd b/param.gui-help.pd new file mode 100644 index 0000000..4451d91 --- /dev/null +++ b/param.gui-help.pd @@ -0,0 +1,35 @@ +#N canvas 487 216 578 416 10; +#X msg 82 95 top; +#X msg 80 122 global; +#X floatatom 45 247 5 0 0 0 - - -; +#X msg 78 71 dpg2; +#X obj 42 162 param.gui; +#X text 114 64 Sending a group's id will build a gui of that group. +; +#X text 116 90 Sending top will build a gui of all groups that share +the same top.; +#X text 128 119 Sending global will build a gui of ALL groups.; +#X msg 42 49 dpg1; +#X obj 156 147 bng 15 250 50 0 empty empty CLEAR 17 7 0 10 -262144 +-1 -1; +#X obj 146 183 cnv 15 500 60 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X text 160 191 Warning: Once a GUI is created \, it is not re-created. +If you added abstractions to your patch and you want to build a top +or global GUI \, you must clear param.gui first!; +#X msg 45 266 number \$1; +#X obj 44 289 param.template @id dpg1 @number 43; +#X msg 42 341 toggle1 \$1; +#X obj 43 322 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 43 364 param.template @id dpg2 @toggle1 0; +#X text 41 13 Description: Builds a dynamic gui of PARAMS; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 12 0; +#X connect 3 0 4 0; +#X connect 8 0 4 0; +#X connect 9 0 4 1; +#X connect 12 0 13 0; +#X connect 14 0 16 0; +#X connect 15 0 14 0; diff --git a/param.gui.pd b/param.gui.pd new file mode 100644 index 0000000..3266cab --- /dev/null +++ b/param.gui.pd @@ -0,0 +1,509 @@ +#N canvas 477 146 806 642 10; +#N canvas 797 0 999 688 build_GUI 0; +#X obj 393 345 flow.@parse; +#X obj 393 379 route id; +#X obj 385 -35 inlet; +#X obj 393 440 s \$0id; +#X obj 14 483 r \$0id; +#X obj 614 324 list.split -1; +#X msg 655 376 0; +#X msg 687 375 1; +#X text 707 323 Split the type from the rest; +#X obj 1110 556 print GUI_BUILDING; +#N canvas 3 27 754 570 build_slider 0; +#X obj 271 184 makesymbol %s@%s; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 130 172 pd yPosition; +#X obj 349 141 r \$0id; +#X obj 266 66 list.split 1; +#X text 164 65 The params name; +#X obj 31 288 route bang; +#X obj 219 171 symbol; +#X msg 30 314 0 127; +#X text 106 292 range; +#X obj 126 115 t b b a a; +#X obj 265 23 inlet; +#X obj 181 543 outlet; +#X msg 220 346 obj 13 \$1 hsl 251 15 \$4 \$5 0 0 \$3 \$3R \$2 2 8 0 +10 -262144 -1 -1 0 1; +#X obj 32 253 list; +#X obj 214 289 pack f s s; +#X msg 69 354 range \$1 \$2; +#X msg 214 315 obj 10 \$1 input.slider_ \$2 \$3R \$3; +#X obj 79 442 pdmtl/flow.send; +#X msg 136 399 \$1R; +#X obj 271 161 list prepend; +#X connect 0 0 14 2; +#X connect 0 0 18 0; +#X connect 1 0 14 0; +#X connect 2 0 19 1; +#X connect 3 0 9 0; +#X connect 3 1 13 1; +#X connect 5 0 7 0; +#X connect 5 1 15 0; +#X connect 6 0 14 1; +#X connect 7 0 15 0; +#X connect 9 0 13 0; +#X connect 9 1 1 0; +#X connect 9 2 6 0; +#X connect 9 3 19 0; +#X connect 10 0 3 0; +#X connect 13 0 5 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 16 0 11 0; +#X connect 18 0 17 1; +#X connect 19 0 0 0; +#X restore 296 534 pd build_slider; +#X msg 721 376 2; +#X msg 755 378 3; +#N canvas 1318 300 754 570 build_symbol 0; +#X obj 271 184 makesymbol %s@%s; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 130 172 pd yPosition; +#X obj 349 141 r \$0id; +#X text 195 83 The params name; +#X obj 219 171 symbol; +#X obj 126 115 t b b a a; +#X obj 265 23 inlet; +#X obj 134 438 outlet; +#X obj 214 289 pack f s s; +#X msg 212 332 symbolatom 10 \$1 33 0 0 1 \$2 \$3R \$3; +#X obj 271 161 list prepend; +#X connect 0 0 8 2; +#X connect 1 0 8 0; +#X connect 2 0 10 1; +#X connect 4 0 8 1; +#X connect 5 1 1 0; +#X connect 5 2 4 0; +#X connect 5 3 10 0; +#X connect 6 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 0 0; +#X restore 576 534 pd build_symbol; +#X text 644 296 --- BUILD ---; +#X msg 1110 531 Don't know what to do with this type for  \$1; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 65 99 + 3; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 5 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X restore 64 542 pd yPosition; +#X obj 15 565 pack s f; +#X obj 32 520 t a b; +#X obj 489 124 value \$0y; +#X msg 793 378 4; +#N canvas 464 130 712 638 build_toggle 0; +#X obj 271 184 makesymbol %s@%s; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 98 211 pd yPosition; +#X obj 349 141 r \$0id; +#X text 195 83 The params name; +#X obj 187 210 symbol; +#X obj 126 115 t b b a a; +#X obj 265 23 inlet; +#X obj 88 477 outlet; +#X obj 168 328 pack f s s; +#X msg 166 371 obj 10 \$1 tgl 15 0 \$3 \$3R \$2 17 7 0 10 -1 -262144 +-1 0; +#X obj 271 161 list prepend; +#X connect 0 0 8 2; +#X connect 1 0 8 0; +#X connect 2 0 10 1; +#X connect 4 0 8 1; +#X connect 5 1 1 0; +#X connect 5 2 4 0; +#X connect 5 3 10 0; +#X connect 6 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 0 0; +#X restore 692 534 pd build_toggle; +#N canvas 1477 193 754 568 build_slider_choice 0; +#X obj 219 225 makesymbol %s@%s; +#N canvas 1962 550 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 70 231 pd yPosition; +#X obj 297 182 r \$0id; +#X obj 266 66 list.split 1; +#X obj 154 231 symbol; +#X obj 65 136 t b b a a; +#X obj 265 23 inlet; +#X obj 291 400 outlet; +#X obj 291 375 list trim; +#X text 164 65 The param name; +#X obj 292 307 pack f s s; +#X obj 55 451 pdmtl/flow.send; +#X msg 204 376 \$1R; +#X obj 5 331 list prepend choices; +#X obj 35 407 list.trim; +#X obj 39 281 list; +#X msg 291 347 obj 10 \$1 input.slider.choice_ \$2 \$3R \$3; +#X obj 219 202 list prepend; +#X connect 0 0 10 2; +#X connect 0 0 12 0; +#X connect 1 0 10 0; +#X connect 2 0 17 1; +#X connect 3 0 5 0; +#X connect 3 1 15 1; +#X connect 4 0 10 1; +#X connect 5 0 15 0; +#X connect 5 1 1 0; +#X connect 5 2 4 0; +#X connect 5 3 17 0; +#X connect 6 0 3 0; +#X connect 8 0 7 0; +#X connect 10 0 16 0; +#X connect 12 0 11 1; +#X connect 13 0 14 0; +#X connect 14 0 11 0; +#X connect 15 0 13 0; +#X connect 16 0 8 0; +#X connect 17 0 0 0; +#X restore 412 533 pd build_slider_choice; +#X msg 16 615 obj 10 \$2 cnv 15 256 15 empty empty \$1 2 8 0 10 -258113 +-262144 0; +#X msg 488 97 15; +#N canvas 346 228 655 537 build_bang 0; +#X obj 271 184 makesymbol %s@%s; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 98 211 pd yPosition; +#X obj 349 141 r \$0id; +#X text 195 83 The params name; +#X obj 187 210 symbol; +#X obj 126 115 t b b a a; +#X obj 265 23 inlet; +#X obj 88 477 outlet; +#X obj 168 328 pack f s s; +#X msg 166 371 obj 10 \$1 bng 15 250 50 0 \$3 empty \$2 17 7 0 10 -262144 +-1 -1; +#X obj 271 161 list prepend; +#X connect 0 0 8 2; +#X connect 1 0 8 0; +#X connect 2 0 10 1; +#X connect 4 0 8 1; +#X connect 5 1 1 0; +#X connect 5 2 4 0; +#X connect 5 3 10 0; +#X connect 6 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 7 0; +#X connect 10 0 0 0; +#X restore 804 534 pd build_bang; +#X obj 918 -4 count.iter; +#X obj 916 51 * 20; +#X obj 487 794 pdmtl/flow.send; +#X obj 616 265 pdmtl/flow.send; +#X text 965 150 Build the patch to hold the gui; +#X text 1096 411 Build the update controller; +#X obj 1000 412 s pd-\$0CONTROLS; +#X obj 912 -29 t b; +#X obj 856 85 list append; +#X obj 1053 255 * 20; +#X obj 1027 236 t f f; +#X obj 1003 319 list append; +#X obj 937 25 t f f; +#X obj 981 197 t f f f; +#X obj 985 175 * 3; +#X obj 1018 219 + 1; +#X obj 1099 205 + 2; +#X obj 957 224 t f f; +#X obj 984 248 * 20; +#X obj 1133 252 * 20; +#X obj 1103 227 t f f; +#X obj 995 284 pack f f f f f f \$0; +#X obj 1016 -72 r \$0CLEAR; +#X obj 1029 75 r \$0CLEAR; +#X msg 1028 103 clear; +#X obj 1094 437 r \$0CLEAR; +#X msg 1093 465 clear; +#X obj 417 1 symbol; +#X obj 889 166 s pd-\$0GUIS; +#X msg 997 357 obj 0 \$3 r \$1update \, obj 0 \$5 symbol \$1 \, obj +0 \$7 send \$8update \, connect \$2 0 \$4 0 \, connect \$4 0 \$6 0 +; +#X msg 450 179 obj 10 0 bng 15 250 50 0 \$1update empty update 17 7 +0 10 -1 -262144 -1; +#X obj 434 38 t a a a b a a a b; +#X obj 252 163 s \$0update; +#X obj 401 237 list trim; +#X msg 565 139 symbol pd-\$1GUI; +#X msg 887 124 obj 0 \$2 pd \$1GUI; +#X msg 883 380 6; +#X msg 830 377 5; +#X obj 613 419 demultiplex 0 1 2 3 4 5 6; +#N canvas 1114 61 655 537 build_nbx 0; +#X obj 271 184 makesymbol %s@%s; +#N canvas 1817 423 450 300 yPosition 0; +#X obj 21 21 inlet; +#X obj 79 245 outlet; +#X obj 81 128 t f f; +#X obj 39 69 value \$0y; +#X obj 173 89 + 17; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 2 1 4 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X restore 98 211 pd yPosition; +#X obj 351 128 r \$0id; +#X text 195 83 The params name; +#X obj 187 210 symbol; +#X obj 126 115 t b b a a; +#X obj 95 52 inlet; +#X obj 88 477 outlet; +#X obj 168 328 pack f s s; +#X obj 271 161 list prepend; +#X msg 167 371 floatatom 10 \$1 33 0 0 1 \$2 \$3R \$3; +#X connect 0 0 8 2; +#X connect 1 0 8 0; +#X connect 2 0 9 1; +#X connect 4 0 8 1; +#X connect 5 1 1 0; +#X connect 5 2 4 0; +#X connect 5 3 9 0; +#X connect 6 0 5 0; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 10 0 7 0; +#X restore 904 532 pd build_nbx; +#X obj 717 347 sel f c s t b n; +#X obj 392 288 include/param.dump.format; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 5 0; +#X connect 2 0 53 0; +#X connect 4 0 18 0; +#X connect 5 0 64 0; +#X connect 5 1 66 0; +#X connect 6 0 64 1; +#X connect 7 0 64 1; +#X connect 10 0 28 0; +#X connect 11 0 64 1; +#X connect 12 0 64 1; +#X connect 13 0 28 0; +#X connect 15 0 9 0; +#X connect 16 0 17 1; +#X connect 17 0 23 0; +#X connect 18 0 17 0; +#X connect 18 1 16 0; +#X connect 20 0 64 1; +#X connect 21 0 28 0; +#X connect 22 0 28 0; +#X connect 23 0 28 0; +#X connect 24 0 19 0; +#X connect 25 0 28 0; +#X connect 26 0 38 0; +#X connect 27 0 34 1; +#X connect 33 0 26 0; +#X connect 34 0 61 0; +#X connect 35 0 47 3; +#X connect 36 0 47 2; +#X connect 36 1 35 0; +#X connect 37 0 55 0; +#X connect 38 0 27 0; +#X connect 38 1 40 0; +#X connect 39 0 43 0; +#X connect 39 1 41 0; +#X connect 39 2 42 0; +#X connect 40 0 39 0; +#X connect 41 0 36 0; +#X connect 42 0 46 0; +#X connect 43 0 47 0; +#X connect 43 1 44 0; +#X connect 44 0 47 1; +#X connect 45 0 47 5; +#X connect 46 0 47 4; +#X connect 46 1 45 0; +#X connect 47 0 37 1; +#X connect 48 0 26 1; +#X connect 49 0 50 0; +#X connect 50 0 54 0; +#X connect 51 0 52 0; +#X connect 52 0 32 0; +#X connect 53 0 57 0; +#X connect 55 0 32 0; +#X connect 56 0 29 0; +#X connect 57 0 58 0; +#X connect 57 1 59 0; +#X connect 57 2 56 0; +#X connect 57 3 24 0; +#X connect 57 4 60 0; +#X connect 57 5 37 0; +#X connect 57 6 34 0; +#X connect 57 7 33 0; +#X connect 59 0 67 0; +#X connect 60 0 29 1; +#X connect 60 0 28 1; +#X connect 61 0 54 0; +#X connect 62 0 64 1; +#X connect 63 0 64 1; +#X connect 64 0 10 0; +#X connect 64 1 22 0; +#X connect 64 2 13 0; +#X connect 64 3 21 0; +#X connect 64 4 25 0; +#X connect 64 5 65 0; +#X connect 64 6 15 0; +#X connect 65 0 28 0; +#X connect 66 0 6 0; +#X connect 66 1 7 0; +#X connect 66 2 11 0; +#X connect 66 3 12 0; +#X connect 66 4 20 0; +#X connect 66 5 63 0; +#X connect 66 6 62 0; +#X connect 67 0 0 0; +#X restore 297 378 pd build_GUI; +#X obj 192 32 inlet instance_name(id); +#X obj 574 360 bng 15 250 50 0 empty empty clear 17 7 0 10 -262144 +-1 -1; +#X obj 192 186 data.index; +#X obj 192 217 b; +#X obj 249 216 b; +#N canvas 1311 427 298 341 \$0GUIS 0; +#N canvas 0 0 450 300 topGUI 0; +#X obj 10 0 bng 15 250 50 0 topupdate empty update 17 7 0 10 -1 -262144 +-1; +#X obj 10 18 cnv 15 256 15 empty empty sample.play~-help 2 8 0 10 -258113 +-262144 0; +#X obj 10 35 tgl 15 0 sample.play~-help@progress sample.play~-help@progressR +progress 17 7 0 10 -1 -262144 -1 0 1; +#X obj 10 52 tgl 15 0 sample.play~-help@loop sample.play~-help@loopR +loop 17 7 0 10 -1 -262144 -1 0 1; +#X symbolatom 10 69 33 0 0 1 timing sample.play~-help@timingR sample.play~-help@timing +; +#X obj 10 86 tgl 15 0 sample.play~-help@fit sample.play~-help@fitR +fit 17 7 0 10 -1 -262144 -1 0 1; +#X symbolatom 10 103 33 0 0 1 bank sample.play~-help@bankR sample.play~-help@bank +; +#X obj 10 123 cnv 15 256 15 empty empty sph~ 2 8 0 10 -258113 -262144 +0; +#X obj 10 140 bng 15 250 50 0 sph~@GUI empty GUI 17 7 0 10 -262144 +-1 -1; +#X obj 10 160 cnv 15 256 15 empty empty or 2 8 0 10 -258113 -262144 +0; +#X obj 10 177 input.slider.choice_ segment or@segmentR or@segment; +#X obj 10 194 input.slider_ direction or@directionR or@direction; +#X obj 10 211 input.slider_ speed or@speedR or@speed; +#X obj 10 228 input.slider_ jump or@jumpR or@jump; +#X restore 0 0 pd topGUI; +#X restore 91 428 pd \$0GUIS; +#N canvas 769 308 670 482 update_GUI 0; +#X obj 346 264 flow.@parse; +#X msg 353 424 \; \$1 set \$2; +#X obj 392 305 list.split 1; +#X obj 354 389 list; +#X obj 275 359 makesymbol %s@%sR; +#X obj 346 285 route id; +#X obj 242 191 list trim; +#X obj 242 110 r \$0update; +#X obj 118 29 inlet; +#X obj 118 113 t a a; +#X obj 118 74 symbol; +#X msg 45 163 \; pd-\$1GUI vis 1; +#X obj 273 335 list prepend; +#X obj 346 242 include/param.dump; +#X connect 0 0 5 0; +#X connect 2 0 12 0; +#X connect 2 1 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 12 1; +#X connect 5 1 2 0; +#X connect 6 0 13 0; +#X connect 7 0 6 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 9 1 6 0; +#X connect 10 0 9 0; +#X connect 12 0 4 0; +#X connect 13 0 0 0; +#X restore 192 377 pd update_GUI; +#N canvas 881 459 298 341 \$0CONTROLS 0; +#X obj 0 0 r topupdate; +#X obj 0 20 symbol top; +#X obj 0 40 send 1286update; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X restore 194 430 pd \$0CONTROLS; +#X obj 574 401 s \$0CLEAR; +#X obj 303 143 r \$0CLEAR; +#X obj 192 83 symbol; +#X obj 192 273 symbol; +#X obj 297 272 symbol; +#X obj 192 120 t s s s; +#X obj 574 42 inlet CLEAR; +#X text 95 8 ORDER CONVERSION DONE; +#X connect 1 0 11 0; +#X connect 2 0 9 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 12 0; +#X connect 5 0 13 0; +#X connect 10 0 3 1; +#X connect 11 0 14 0; +#X connect 12 0 7 0; +#X connect 13 0 0 0; +#X connect 14 0 3 0; +#X connect 14 1 12 1; +#X connect 14 2 13 1; +#X connect 15 0 2 0; diff --git a/param.load-help.pd b/param.load-help.pd new file mode 100644 index 0000000..90b34ae --- /dev/null +++ b/param.load-help.pd @@ -0,0 +1,10 @@ +#N canvas 638 544 450 300 10; +#X obj 63 137 param.load; +#X text 39 23 Description: Loads a previously saved param.atom configuration. +; +#X text 45 66 Inlet 1 \, configuration_file(symbol); +#X obj 63 107 openpanel; +#X obj 63 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X connect 3 0 0 0; +#X connect 4 0 3 0; diff --git a/param.load.pd b/param.load.pd new file mode 100644 index 0000000..fe2a7d2 --- /dev/null +++ b/param.load.pd @@ -0,0 +1,47 @@ +#N canvas 346 120 791 664 10; +#X declare -lib pdmtl; +#X obj 52 12 inlet; +#X obj 109 157 msgfile; +#X msg 109 113 clear \, read \$1 \, flush; +#X obj 109 207 list trim; +#X obj 345 569 pdmtl/flow.send; +#X obj 269 283 demultiplex 0 1; +#X msg 431 307 1; +#X msg 347 227 0; +#X obj 109 258 route @id END SUB; +#X obj 449 508 makesymbol %s@%s; +#X obj 348 189 t b b; +#X msg 406 239 END; +#X obj 460 410 t b a b; +#X msg 398 484 SUB; +#X obj 449 485 list prepend; +#X obj 109 76 file.path.top; +#X obj 52 46 route bang; +#X obj 29 86 openpanel; +#X obj 100 572 include/param.fill; +#X connect 0 0 16 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 8 0; +#X connect 5 0 18 0; +#X connect 5 1 4 0; +#X connect 6 0 5 1; +#X connect 7 0 5 1; +#X connect 8 0 14 1; +#X connect 8 0 18 1; +#X connect 8 1 10 0; +#X connect 8 2 12 0; +#X connect 8 3 5 0; +#X connect 9 0 4 1; +#X connect 10 0 7 0; +#X connect 10 1 11 0; +#X connect 11 0 4 0; +#X connect 12 0 13 0; +#X connect 12 1 14 0; +#X connect 12 2 6 0; +#X connect 13 0 4 0; +#X connect 14 0 9 0; +#X connect 15 0 2 0; +#X connect 16 0 17 0; +#X connect 16 1 15 0; +#X connect 17 0 2 0; diff --git a/param.map-help.pd b/param.map-help.pd new file mode 100644 index 0000000..9d1dd5c --- /dev/null +++ b/param.map-help.pd @@ -0,0 +1,19 @@ +#N canvas 219 336 673 371 10; +#X text 23 62 Does not work with get \, dump or dump.format; +#X msg 111 136 store key value; +#X msg 59 139 key; +#X text 26 27 Description: A collection of key and value pairs that +can be saved and restored (with param.save and param.load). +; +#X obj 111 213 print; +#X text 209 233 Outlet 2 bangs when param.save requests the map +data.; +#X text 208 216 Outlet 1 outputs the value of the requested key; +#X text 210 249 Outlet 3 bangs when param.load is about to restore +data.; +#X text 215 275 Outlet 4 bangs when param.load has finished restoring +the data.; +#X obj 111 180 param.map map_name; +#X connect 1 0 9 0; +#X connect 2 0 9 0; +#X connect 9 0 4 0; diff --git a/param.map.midi-help.pd b/param.map.midi-help.pd new file mode 100644 index 0000000..1b86900 --- /dev/null +++ b/param.map.midi-help.pd @@ -0,0 +1,40 @@ +#N canvas 670 384 769 384 10; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X declare -lib pdmtl; +#X obj 60 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 73 14 Description: Maps a parameter to MIDI controllers.; +#X text 87 99 Send a bang \, move a MIDI controller then change a parameter. +They will be linked. These associations are saved with param.save; +#X obj 523 137 param.gui; +#X msg 524 108 top; +#X obj 316 250 savepanel; +#X obj 316 226 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 427 224 top; +#X msg 442 249 global; +#X msg 451 276 dps1; +#X msg 462 297 dps2; +#X obj 316 287 param.save; +#X obj 537 284 param.load; +#X obj 58 149 param.map.midi; +#X obj 77 285 fx.template~ @id test; +#X obj 535 254 openpanel; +#X obj 537 220 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 575 37 import pdmtl; +#X connect 0 0 13 0; +#X connect 4 0 3 0; +#X connect 5 0 11 0; +#X connect 6 0 5 0; +#X connect 7 0 11 1; +#X connect 8 0 11 1; +#X connect 9 0 11 1; +#X connect 10 0 11 1; +#X connect 15 0 12 0; +#X connect 16 0 15 0; diff --git a/param.map.midi.pd b/param.map.midi.pd new file mode 100644 index 0000000..6dffa74 --- /dev/null +++ b/param.map.midi.pd @@ -0,0 +1,139 @@ +#N canvas 193 0 867 664 10; +#X obj -15 23 inlet; +#X obj 19 351 s param.atom.global; +#X obj 194 -43 ctlin; +#X obj 392 403 list; +#X obj 404 172 t b a; +#X obj 384 264 &&; +#X msg 377 196 1; +#X obj 519 177 t b b a; +#X msg 509 206 1; +#X obj 385 292 sel 1; +#X msg 330 238 0 0; +#X obj 15 86 route bang; +#X msg 7 172 1; +#X obj 11 234 s \$0learn; +#X obj 450 367 list; +#X obj 5 129 t b b; +#X obj 19 293 r \$0learn; +#X obj 543 415 s \$0learn; +#X msg 543 392 0; +#X obj 471 555 print param.map.midi; +#X obj 284 586 sel f; +#X obj 208 668 demultiplex 0 1; +#X obj 168 812 pdmtl/flow.send; +#X obj 295 692 list.split 1; +#X obj 168 784 expr (($f1 / 127) * ($f3 - $f2)) + $f2; +#X obj 364 721 unpack f f; +#X msg 19 325 listen \$1; +#X obj 207 110 demultiplex 0 1; +#X obj 294 75 r \$0learn; +#X obj 82 117 spigot 1; +#X obj 126 72 r \$0learn; +#X obj 126 94 == 0; +#X obj 209 566 list.split -1; +#X obj 207 -10 pack; +#X obj 207 15 makesymbol ctl.%s.%s; +#X obj 209 464 t a b; +#X msg 237 495 0; +#X msg 284 613 1; +#X msg 319 613 0; +#X obj 284 639 t f f; +#X obj 81 668 demultiplex 0 1; +#X obj 391 488 list prepend store; +#X obj 391 513 list trim; +#X obj 168 503 symbol; +#X obj 392 431 list; +#X obj 392 462 list; +#X obj 448 423 t a a; +#X obj 393 538 t a a; +#X obj 209 540 param.map MIDIMAP; +#X obj 599 -22 loadbang; +#X obj 599 9 dollarg; +#X obj -142 78 param.bang learn; +#X obj -118 122 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 513 94 r DPL; +#X obj 386 331 t b b b b; +#X msg 458 291 0; +#X obj 555 98 r \$0learn; +#X obj 520 131 spigot; +#X obj 553 38 param.group MIDIMAP; +#X msg 544 511 \$1@\$2; +#X obj 451 394 list split 2; +#X obj 474 455 include/param.get.format; +#X connect 0 0 11 0; +#X connect 2 0 29 0; +#X connect 2 1 33 0; +#X connect 2 2 33 1; +#X connect 3 0 44 0; +#X connect 4 0 6 0; +#X connect 4 1 3 1; +#X connect 5 0 9 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 7 1 8 0; +#X connect 7 2 14 1; +#X connect 8 0 5 1; +#X connect 9 0 54 0; +#X connect 10 0 5 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 14 0 60 0; +#X connect 15 0 12 0; +#X connect 15 1 10 0; +#X connect 16 0 26 0; +#X connect 18 0 17 0; +#X connect 20 0 37 0; +#X connect 20 1 38 0; +#X connect 21 1 23 0; +#X connect 23 0 22 1; +#X connect 23 1 25 0; +#X connect 24 0 22 0; +#X connect 25 0 24 1; +#X connect 25 1 24 2; +#X connect 26 0 1 0; +#X connect 27 0 35 0; +#X connect 27 1 4 0; +#X connect 28 0 27 1; +#X connect 29 0 40 0; +#X connect 30 0 31 0; +#X connect 31 0 29 1; +#X connect 32 0 21 0; +#X connect 32 1 20 0; +#X connect 33 0 34 0; +#X connect 34 0 27 0; +#X connect 35 0 43 0; +#X connect 35 1 36 0; +#X connect 36 0 40 1; +#X connect 37 0 39 0; +#X connect 38 0 39 0; +#X connect 39 0 40 1; +#X connect 39 1 21 1; +#X connect 40 1 24 0; +#X connect 41 0 42 0; +#X connect 42 0 47 0; +#X connect 43 0 48 0; +#X connect 44 0 45 0; +#X connect 45 0 41 0; +#X connect 46 0 44 1; +#X connect 46 1 61 0; +#X connect 47 0 48 0; +#X connect 47 1 19 0; +#X connect 48 0 32 0; +#X connect 49 0 50 0; +#X connect 50 0 58 1; +#X connect 50 1 58 2; +#X connect 51 0 15 0; +#X connect 51 0 52 0; +#X connect 53 0 57 0; +#X connect 54 0 3 0; +#X connect 54 1 14 0; +#X connect 54 2 18 0; +#X connect 54 3 55 0; +#X connect 55 0 5 1; +#X connect 56 0 57 1; +#X connect 57 0 7 0; +#X connect 59 0 46 0; +#X connect 60 0 59 0; +#X connect 61 0 45 1; diff --git a/param.map.osc-help.pd b/param.map.osc-help.pd new file mode 100644 index 0000000..1825f99 --- /dev/null +++ b/param.map.osc-help.pd @@ -0,0 +1,19 @@ +#N canvas 295 28 654 500 10; +#X msg 272 171 connect localhost 3333; +#X obj 40 281 fx.template~ @id bob; +#X floatatom 118 317 5 0 0 0 - - -; +#X floatatom 302 215 5 0 0 0 - - -; +#X obj 272 329 sendOSC; +#X msg 303 264 send /bob/param1 \$1; +#X obj 18 70 param.map.osc 3333; +#X text 24 15 Description: Links params to OSC commands.; +#X text 20 51 Argument 1: the port for incomming OSC messages; +#X text 18 102 param.map.osc simply converts an OSC type messsage (/id/param +value) to a param message (id@param value); +#X text 268 155 1) Connect to this patch; +#X text 347 215 2) Change bob@param1's value; +#X text 345 283 Maps to bob@param1 value; +#X connect 0 0 4 0; +#X connect 1 4 2 0; +#X connect 3 0 5 0; +#X connect 5 0 4 0; diff --git a/param.map.osc.pd b/param.map.osc.pd new file mode 100644 index 0000000..98906c3 --- /dev/null +++ b/param.map.osc.pd @@ -0,0 +1,18 @@ +#N canvas 1928 339 584 487 10; +#X obj 70 315 list; +#X obj 97 360 list trim; +#X obj 111 412 pdmtl/flow.send; +#X obj 63 120 convert.symbol2list /; +#X obj 59 230 t b a; +#X obj 63 90 list.split 1; +#X msg 200 346 \$1@\$2; +#X obj 63 65 dumpOSC \$1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 4 1 6 0; +#X connect 5 0 3 0; +#X connect 5 1 0 1; +#X connect 6 0 2 1; +#X connect 7 0 5 0; diff --git a/param.map.pd b/param.map.pd new file mode 100644 index 0000000..b8efb59 --- /dev/null +++ b/param.map.pd @@ -0,0 +1,85 @@ +#N canvas 1280 0 1272 961 10; +#X obj 28 33 inlet; +#X obj 26 767 outlet; +#X obj 380 78 parentdollarzero; +#X obj 621 149 flow.receive; +#X obj 274 705 pdmtl/flow.send; +#X obj 260 -3 loadbang; +#X obj 621 119 makesymbol %s>; +#X text 25 3 iem zexy; +#X obj 261 21 t b b b; +#X obj 26 400 coll; +#C restore; +#X msg 102 313 dump; +#X obj 26 474 demultiplex 0 1; +#X obj 137 474 demultiplex 0 1; +#X msg 138 298 1; +#X msg 58 284 0; +#X obj 317 262 flow.receive; +#X obj 662 217 route float; +#X obj 725 253 symbol; +#X obj 620 178 route save id; +#X obj 380 102 t a a a; +#X obj 122 543 list prepend; +#X obj 122 570 list prepend store; +#X obj 440 460 list trim; +#X obj 140 608 list trim; +#X obj 278 540 t b a; +#X obj 115 203 t b b b b a; +#X msg 222 622 END; +#X msg 267 624 SUB \$1 \, clear; +#X obj 270 583 list append \$1; +#X obj 609 745 outlet BANG_WHEN_SAVE_REQUESTED; +#X obj 592 263 t a b; +#X obj 1086 745 outlet BANG_WHEN_LOAD_FINISHED; +#X obj 579 371 b; +#X obj 832 744 outlet BANG_WHEN_LOAD_STARTED; +#X obj 317 290 route get format END SUB; +#X obj 548 413 b; +#X obj 500 203 makesymbol %s@\$1; +#X connect 0 0 9 0; +#X connect 2 0 19 0; +#X connect 3 0 18 0; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 8 1 2 0; +#X connect 9 0 11 0; +#X connect 9 1 12 0; +#X connect 10 0 9 0; +#X connect 11 0 1 0; +#X connect 11 1 20 0; +#X connect 12 1 20 1; +#X connect 13 0 11 1; +#X connect 13 0 12 1; +#X connect 14 0 11 1; +#X connect 14 0 12 1; +#X connect 15 0 34 0; +#X connect 16 0 36 0; +#X connect 16 1 17 0; +#X connect 17 0 36 0; +#X connect 18 0 30 0; +#X connect 18 1 16 0; +#X connect 19 1 36 0; +#X connect 19 2 6 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 22 0 9 0; +#X connect 23 0 4 0; +#X connect 24 0 28 0; +#X connect 24 1 4 1; +#X connect 25 0 14 0; +#X connect 25 1 26 0; +#X connect 25 2 10 0; +#X connect 25 3 13 0; +#X connect 25 4 24 0; +#X connect 26 0 4 0; +#X connect 27 0 4 0; +#X connect 28 0 27 0; +#X connect 30 0 25 0; +#X connect 30 1 29 0; +#X connect 32 0 31 0; +#X connect 34 2 32 0; +#X connect 34 3 35 0; +#X connect 34 4 22 0; +#X connect 35 0 33 0; +#X connect 36 0 15 0; diff --git a/param.save-help.pd b/param.save-help.pd new file mode 100644 index 0000000..6cc4f0c --- /dev/null +++ b/param.save-help.pd @@ -0,0 +1,19 @@ +#N canvas 350 97 446 345 10; +#X text 30 10 Description: Saves a param.atom configuration.; +#X obj 50 171 savepanel; +#X obj 50 147 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 161 145 top; +#X msg 176 170 global; +#X msg 185 197 dps1; +#X msg 196 218 dps2; +#X text 40 82 Inlet 2 \, global/top/ID(symbol): The scope of the parameters +to be saved.; +#X text 41 63 Inlet 1 \, configuration_file(symbol); +#X obj 50 208 param.save; +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 3 0 9 1; +#X connect 4 0 9 1; +#X connect 5 0 9 1; +#X connect 6 0 9 1; diff --git a/param.save.pd b/param.save.pd new file mode 100644 index 0000000..f7014ab --- /dev/null +++ b/param.save.pd @@ -0,0 +1,137 @@ +#N canvas 0 24 1022 666 10; +#X obj 69 39 inlet; +#X obj 296 379 list trim; +#X obj 441 84 loadbang; +#X obj 532 158 dollarg; +#X msg -59 367 write \$1; +#X obj 74 142 t a b b; +#X msg 145 352 clear; +#X obj 345 111 inlet; +#X obj 235 264 list trim; +#X obj 235 238 list append top; +#N canvas 0 0 657 512 send_save 0; +#X obj 153 408 outlet params; +#X obj 63 18 inlet id_queried; +#X obj 153 367 r \$0r; +#X obj 157 301 pdmtl/flow.send; +#X obj 560 108 t b a; +#X obj 35 221 symbol \$0r; +#X obj 249 148 pdmtl/init.dollar.zero.top; +#X obj 112 86 t b b; +#X msg 249 179 \$1@param.atom; +#X obj 62 79 t b b; +#X obj 63 40 route global top; +#X msg 105 171 param.atom.global; +#X msg 59 250 save \$1; +#X connect 1 0 10 0; +#X connect 2 0 0 0; +#X connect 4 0 5 0; +#X connect 4 1 3 1; +#X connect 5 0 12 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 3 1; +#X connect 9 0 5 0; +#X connect 9 1 11 0; +#X connect 10 0 9 0; +#X connect 10 1 7 0; +#X connect 10 2 4 0; +#X connect 11 0 3 1; +#X connect 12 0 3 0; +#X restore 235 289 pd send_save; +#X obj 245 320 route bang; +#X obj -46 614 msgfile; +#X obj 296 355 list prepend add; +#X obj 25 218 t a a; +#X obj 46 289 print param.save; +#X msg 48 247 writing \$1; +#X obj -1 189 file.path.top; +#X obj 71 69 route bang; +#X obj -6 100 savepanel; +#X obj 241 607 msgfile; +#X obj -14 321 t a a b; +#X msg 334 565 write \$1; +#X obj 1068 364 makefilename %d; +#N canvas 0 0 793 510 dateit 0; +#X obj 137 230 moses 10; +#X obj 133 267 makefilename 0%d; +#X obj 249 266 makefilename %d; +#X obj 167 140 date; +#X obj 370 234 moses 10; +#X obj 366 271 makefilename 0%d; +#X obj 482 270 makefilename %d; +#X obj 705 98 f; +#X obj 708 126 + 1; +#X obj 366 72 time; +#X obj 313 138 moses 10; +#X obj 309 175 makefilename 0%d; +#X obj 425 174 makefilename %d; +#X obj 527 137 moses 10; +#X obj 546 174 makefilename 0%d; +#X obj 109 36 inlet; +#X obj 265 446 outlet; +#X obj 669 172 makefilename %d; +#X obj 271 397 makesymbol %s-%s-%s-%s-%s-%s(%s); +#X obj 112 109 t a b b b; +#X obj 271 363 pack s f s s s s f; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 20 2; +#X connect 2 0 20 2; +#X connect 3 0 20 1; +#X connect 3 1 0 0; +#X connect 3 2 4 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 20 3; +#X connect 6 0 20 3; +#X connect 7 0 8 0; +#X connect 8 0 7 1; +#X connect 8 0 20 6; +#X connect 9 0 10 0; +#X connect 9 1 13 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 20 4; +#X connect 12 0 20 4; +#X connect 13 0 14 0; +#X connect 13 1 17 0; +#X connect 14 0 20 5; +#X connect 15 0 19 0; +#X connect 17 0 20 5; +#X connect 18 0 16 0; +#X connect 19 0 20 0; +#X connect 19 1 3 0; +#X connect 19 2 9 0; +#X connect 19 3 7 0; +#X connect 20 0 18 0; +#X restore 346 488 pd dateit; +#X connect 0 0 18 0; +#X connect 1 0 12 0; +#X connect 1 0 20 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 12 0; +#X connect 5 0 17 0; +#X connect 5 1 9 0; +#X connect 5 2 6 0; +#X connect 6 0 12 0; +#X connect 6 0 20 0; +#X connect 7 0 9 1; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 1 13 0; +#X connect 13 0 1 0; +#X connect 14 0 21 0; +#X connect 14 1 16 0; +#X connect 16 0 15 0; +#X connect 17 0 14 0; +#X connect 18 0 19 0; +#X connect 18 1 5 0; +#X connect 19 0 5 0; +#X connect 21 0 4 0; +#X connect 21 1 24 0; +#X connect 22 0 20 0; +#X connect 24 0 22 0; diff --git a/param.template.pd b/param.template.pd new file mode 100644 index 0000000..b26551b --- /dev/null +++ b/param.template.pd @@ -0,0 +1,37 @@ +#N canvas 0 0 722 489 10; +#X obj 52 145 param.atom number 0; +#X obj 260 149 param.atom range 0 0 127; +#X obj 46 234 param.atom text blabla; +#X obj 251 231 param.atom choices lin exp log lin; +#X obj 48 346 param.atom toggle1 true; +#X obj 262 349 param.atom toggle2 false; +#X floatatom 52 170 5 0 0 0 - - -; +#X floatatom 260 173 5 0 0 0 - - -; +#X obj 46 256 symbol; +#X symbolatom 47 280 10 0 0 0 - - -; +#X obj 52 376 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 263 372 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 251 257 symbol; +#X symbolatom 252 281 10 0 0 0 - - -; +#X obj 299 62 param.group; +#X obj 327 7 loadbang; +#X obj 328 36 dollarg; +#X obj 154 13 inlet; +#X obj 266 424 param.bang bang1; +#X obj 266 453 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 0 0 6 0; +#X connect 1 0 7 0; +#X connect 2 0 8 0; +#X connect 3 0 12 0; +#X connect 4 0 10 0; +#X connect 5 0 11 0; +#X connect 8 0 9 0; +#X connect 12 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 14 1; +#X connect 16 1 14 2; +#X connect 17 0 14 0; +#X connect 18 0 19 0; diff --git a/pdmtl-meta.pd b/pdmtl-meta.pd new file mode 100644 index 0000000..3296de7 --- /dev/null +++ b/pdmtl-meta.pd @@ -0,0 +1,11 @@ +#N canvas 10 47 200 200 10; +#N canvas 320 267 420 300 META 1; +#X text 18 125 META this is a prototype of a libdir meta file; +#X text 15 8 VERSION 2.2; +#X text 16 23 LICENSE GPL; +#X text 17 40 NAME pdmtl; +#X text 15 60 DESCRIPTION A collection of abstractions made by Montreal +pd users.; +#X text 17 90 AUTHOR Thomas Ouellet Fredericks - Alexandre Quessy - +Patrick Sebastien Coulombe; +#X restore 10 10 pd META; diff --git a/pdmtl.lister.pd b/pdmtl.lister.pd new file mode 100644 index 0000000..e74c8e6 --- /dev/null +++ b/pdmtl.lister.pd @@ -0,0 +1,130 @@ +#N canvas 198 92 1047 848 10; +#X obj -74 0 inlet root_path; +#X obj 255 174 t a a b; +#X obj 307 360 spigot; +#X text 530 32 files= simply dump all abstraction files paths; +#X text 529 58 descriptions; +#X msg 616 507 symbol .; +#X obj 488 490 t a b; +#X obj 432 744 coll; +#C restore; +#X obj 416 682 list trim; +#X obj 330 583 list; +#X obj 566 665 r \$0reset; +#X msg 571 690 clear; +#X obj 284 66 s \$0reset; +#X obj 255 14 loadbang; +#X text 476 747 <- cats and abs; +#X obj -68 117 route dump.categories dump.category; +#X obj 255 45 t b b; +#X obj 393 647 list prepend merge; +#X msg 318 727 open; +#X obj 330 29 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 173 775 coll; +#C restore; +#X obj 288 552 t a a; +#X obj 199 663 list trim; +#X obj 199 631 list prepend merge; +#X msg 199 602 list \$1 1; +#X msg 264 749 open; +#X obj 282 671 r \$0reset; +#X msg 287 696 clear; +#X text 217 778 <- cats; +#X msg 89 697 dump; +#X obj 96 916 outlet categories; +#X obj -80 912 outlet number_of_entries; +#X obj 325 913 outlet abstractions; +#X obj 52 197 symbol; +#X obj 147 865 symbol; +#X obj 400 838 list prepend; +#X obj 628 795 t s s; +#X obj -54 73 route bang; +#X msg 336 517 symbol \$1.; +#X obj 255 122 file.folder.dump; +#X obj 255 146 file.path.split; +#X obj 355 419 file.path.explode .; +#X obj 355 473 list.split 1; +#X obj 488 543 convert.list2symbol; +#X obj 486 568 scale.symbol -8; +#X obj 97 808 list.sum; +#X obj 417 796 list.unfold; +#X obj 332 880 list.concatenate; +#X obj 615 96 inlet abs_help_to_open; +#X obj 609 271 pack s s; +#X obj 607 210 t a b; +#X msg 512 331 \; pd open \$1 \$2; +#X msg 636 353 Trying to open \$1 in folder \$2.; +#X msg 525 249 \$1-help.pd; +#X obj 608 296 t a a; +#X obj 614 144 symbol; +#X obj 574 404 print pdmtl; +#X obj 255 88 file.path.current; +#X obj 679 254 file.path.current; +#X obj 313 201 convert.symbol2list -help.pd; +#X obj 336 245 list.length; +#X obj 342 278 > 1; +#X connect 0 0 37 0; +#X connect 1 0 2 0; +#X connect 1 1 59 0; +#X connect 2 0 41 0; +#X connect 5 0 43 1; +#X connect 6 0 43 0; +#X connect 6 1 5 0; +#X connect 7 0 46 0; +#X connect 8 0 7 0; +#X connect 9 0 17 0; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 13 0 16 0; +#X connect 15 0 29 0; +#X connect 15 1 33 0; +#X connect 16 0 57 0; +#X connect 16 1 12 0; +#X connect 17 0 8 0; +#X connect 18 0 7 0; +#X connect 19 0 16 0; +#X connect 20 0 45 0; +#X connect 20 1 34 0; +#X connect 21 0 24 0; +#X connect 21 1 9 0; +#X connect 22 0 20 0; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +#X connect 25 0 20 0; +#X connect 26 0 27 0; +#X connect 27 0 20 0; +#X connect 29 0 20 0; +#X connect 33 0 36 0; +#X connect 34 0 30 0; +#X connect 35 0 47 0; +#X connect 36 0 7 0; +#X connect 36 1 35 1; +#X connect 37 0 16 0; +#X connect 37 1 15 0; +#X connect 38 0 21 0; +#X connect 39 0 40 0; +#X connect 40 1 1 0; +#X connect 41 0 42 0; +#X connect 42 0 38 0; +#X connect 42 1 6 0; +#X connect 43 0 44 0; +#X connect 44 0 9 1; +#X connect 45 0 31 0; +#X connect 46 0 35 0; +#X connect 47 0 32 0; +#X connect 48 0 55 0; +#X connect 49 0 54 0; +#X connect 50 0 53 0; +#X connect 50 1 58 0; +#X connect 51 0 56 0; +#X connect 52 0 56 0; +#X connect 53 0 49 0; +#X connect 54 0 51 0; +#X connect 54 1 52 0; +#X connect 55 0 50 0; +#X connect 57 0 39 0; +#X connect 58 0 49 1; +#X connect 59 0 60 0; +#X connect 60 0 61 0; +#X connect 61 0 2 1; diff --git a/pdmtl.ttf b/pdmtl.ttf new file mode 100644 index 0000000..948d853 Binary files /dev/null and b/pdmtl.ttf differ diff --git a/pyext.freesound-help.pd b/pyext.freesound-help.pd new file mode 100644 index 0000000..00d5b99 --- /dev/null +++ b/pyext.freesound-help.pd @@ -0,0 +1,94 @@ +#N canvas 255 278 826 507 10; +#X msg 28 261 doc+; +#X msg 22 242 reload; +#X symbolatom 196 80 20 0 0 0 - - -; +#X msg 196 100 search \$1; +#X msg 279 101 stop; +#X obj 20 90 t a b; +#X msg 60 133 detach \$1; +#X msg 60 113 1; +#X msg 20 67 connect pdmtl pdabs; +#X obj 22 321 print; +#X obj 196 119 t a; +#X symbolatom 384 69 8 0 0 0 - - -; +#X msg 384 87 preview \$1; +#X symbolatom 584 219 8 0 0 0 - - -; +#X obj 584 256 t a; +#X msg 584 237 get \$1; +#X obj 124 322 convert.list2symbol; +#X symbolatom 124 343 40 0 0 0 - - -; +#X obj 124 409 shell; +#X obj 154 430 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 194 60 look at pd console; +#X text 445 69 ID; +#X text 646 219 ID; +#X text 382 48 3) preview a sf; +#X text 195 47 2) search a keyword; +#X text 20 49 1) connect; +#X msg 430 122 killall mplayer; +#X obj 385 106 t a b; +#X obj 430 143 shell; +#X obj 582 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 584 237 get \$1; +#X obj 583 141 t a; +#X msg 583 121 set \$1; +#X obj 20 112 s c\$0; +#X obj 122 281 r c\$0; +#X obj 196 139 s c\$0; +#X obj 385 129 s c\$0; +#X obj 584 276 s c\$0; +#X obj 60 154 s p\$0; +#X obj 279 122 s p\$0; +#X text 579 50 4) path to save the sampling; +#X text 582 198 5) download the sampling; +#X obj 583 162 s c\$0; +#X text 581 64 by default in your home folder; +#X obj 32 280 r p\$0; +#X text 17 13 Description: Freesound binding via pyext; +#X text 222 408 ^------- can be oss \, alsa \, jack; +#X obj 499 361 adc~; +#X msg 124 375 mplayer -ao jack:name=sfpreview:port=pure_data_0 \$1 +-really-quiet > /dev/null 2>&1 < /dev/null; +#X text 140 358 mplayer (using jack) for previewing the soundfile; +#X obj 154 468 shell; +#X msg 154 447 killall mplayer; +#X obj 500 381 mix.out_~; +#X obj 582 102 tof/folderpanel; +#X obj 22 302 pyext.freesound; +#X connect 0 0 54 0; +#X connect 1 0 54 0; +#X connect 2 0 3 0; +#X connect 3 0 10 0; +#X connect 4 0 39 0; +#X connect 5 0 33 0; +#X connect 5 1 7 0; +#X connect 6 0 38 0; +#X connect 7 0 6 0; +#X connect 8 0 5 0; +#X connect 10 0 35 0; +#X connect 11 0 12 0; +#X connect 12 0 27 0; +#X connect 13 0 15 0; +#X connect 14 0 37 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 17 0 48 0; +#X connect 18 1 19 0; +#X connect 19 0 51 0; +#X connect 26 0 28 0; +#X connect 27 0 36 0; +#X connect 27 1 26 0; +#X connect 29 0 53 0; +#X connect 31 0 42 0; +#X connect 32 0 31 0; +#X connect 34 0 54 1; +#X connect 44 0 54 0; +#X connect 47 0 52 0; +#X connect 47 1 52 1; +#X connect 48 0 18 0; +#X connect 51 0 50 0; +#X connect 53 0 32 0; +#X connect 54 0 9 0; +#X connect 54 1 16 0; diff --git a/pyext.freesound.pd b/pyext.freesound.pd new file mode 100644 index 0000000..7cb39f8 --- /dev/null +++ b/pyext.freesound.pd @@ -0,0 +1,10 @@ +#N canvas 246 184 388 175 10; +#X obj 40 37 inlet; +#X obj 245 38 inlet; +#X obj 40 90 outlet; +#X obj 142 87 outlet; +#X obj 40 64 pyext include/freesoundpd fspd; +#X connect 0 0 4 0; +#X connect 1 0 4 1; +#X connect 4 0 2 0; +#X connect 4 1 3 0; diff --git a/pyext.process-help.pd b/pyext.process-help.pd new file mode 100644 index 0000000..f8b76e6 --- /dev/null +++ b/pyext.process-help.pd @@ -0,0 +1,15 @@ +#N canvas 652 186 450 300 10; +#X obj 121 157 pyext.process; +#X msg 121 204 stopping process 6853; +#X obj 121 181 flow.prepend set; +#X symbolatom 121 118 30 0 0 0 - - -; +#X obj 209 138 bng 15 250 50 0 empty empty stop 17 7 0 10 -262144 -1 +-1; +#X text 119 96 process to start (ie xclock); +#X text 27 31 Description: A simple python script to start and stop +(SIGTERM) process; +#X text 34 259 TODO: give the choice to SIGKILL \, SIGQUIT...; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 0 1; diff --git a/pyext.process.pd b/pyext.process.pd new file mode 100644 index 0000000..4e6a982 --- /dev/null +++ b/pyext.process.pd @@ -0,0 +1,20 @@ +#N canvas 652 186 450 300 10; +#X msg 73 67 help; +#X msg 77 89 doc+; +#X msg 65 48 reload; +#X obj 237 87 t a; +#X msg 237 68 start \$1; +#X obj 237 45 inlet; +#X msg 312 68 stop; +#X obj 312 45 inlet; +#X obj 65 135 outlet; +#X obj 65 111 pyext include/process sub; +#X connect 0 0 9 0; +#X connect 1 0 9 0; +#X connect 2 0 9 0; +#X connect 3 0 9 1; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 9 1; +#X connect 7 0 6 0; +#X connect 9 0 8 0; diff --git a/pyext.search-help.pd b/pyext.search-help.pd new file mode 100644 index 0000000..21d21df --- /dev/null +++ b/pyext.search-help.pd @@ -0,0 +1,63 @@ +#N canvas 380 312 625 493 10; +#X obj 38 49 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 36 26 1 - where to look (this script is recursive); +#X symbolatom 143 96 10 0 0 0 - - -; +#X text 142 57 2 - extension you're looking for (wav \, mov) case-insentitive +; +#X text 161 125 3 - output a list of files (including path); +#X obj 147 261 t b; +#X obj 147 284 bng 15 250 50 0 empty empty done 17 7 0 10 -262144 -1 +-1; +#X obj 143 76 init.ls wav; +#X obj 220 348 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 0 0; +#X obj 38 346 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 361 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 376 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 391 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 406 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 421 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 436 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 451 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 38 330 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144 +0; +#X obj 38 259 gui.browser \$0; +#X msg 81 236 clear; +#X obj 38 236 t b a; +#X obj 38 281 flow.prepend set; +#X msg 137 223 text.font 0 8; +#X obj 137 203 init.lb; +#X text 35 2 Description: Recursive search of files by their extension. +; +#X obj 162 144 bng 15 250 50 0 empty empty search 20 7 0 10 -262144 +-1 -1; +#X obj 52 95 t b; +#X msg 38 301; +#X obj 38 69 tof/folderpanel; +#X obj 38 209 pyext.search; +#X connect 0 0 28 0; +#X connect 2 0 29 1; +#X connect 5 0 6 0; +#X connect 7 0 2 0; +#X connect 18 0 21 0; +#X connect 19 0 18 1; +#X connect 20 0 18 1; +#X connect 20 1 18 1; +#X connect 21 0 27 0; +#X connect 22 0 18 1; +#X connect 23 0 22 0; +#X connect 25 0 29 2; +#X connect 26 0 19 0; +#X connect 28 0 26 0; +#X connect 28 0 29 0; +#X connect 29 0 20 0; +#X connect 29 1 5 0; diff --git a/pyext.search.pd b/pyext.search.pd new file mode 100644 index 0000000..e6c4dce --- /dev/null +++ b/pyext.search.pd @@ -0,0 +1,30 @@ +#N canvas 706 410 454 272 10; +#X msg 26 142 help; +#X msg 30 164 doc+; +#X msg 18 123 reload; +#X msg 169 80 set \$1; +#X msg 328 163 fetch; +#X obj 274 128 t a; +#X msg 274 108 ext \$1; +#X obj 274 69 init.ls wav; +#X obj 168 18 inlet; +#X obj 218 18 inlet; +#X obj 268 18 inlet; +#X obj 18 220 outlet; +#X obj 76 219 outlet; +#X obj 18 195 pyext include/search file; +#X obj 169 100 t a; +#X connect 0 0 13 0; +#X connect 1 0 13 0; +#X connect 2 0 13 0; +#X connect 3 0 14 0; +#X connect 4 0 13 1; +#X connect 5 0 13 1; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 3 0; +#X connect 9 0 6 0; +#X connect 10 0 4 0; +#X connect 13 0 11 0; +#X connect 13 1 12 0; +#X connect 14 0 13 1; diff --git a/random.delay-help.pd b/random.delay-help.pd new file mode 100644 index 0000000..c35fdda --- /dev/null +++ b/random.delay-help.pd @@ -0,0 +1,66 @@ +#N canvas 218 177 879 641 10; +#X obj 131 58 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 134 222 1 \, 0 150; +#X obj 29 198 noise~; +#X obj 34 290 *~; +#X obj 90 259 line~; +#X obj 298 31 loadbang; +#X msg 248 54 0 100; +#X obj 42 331 *~ 0.1; +#X obj 103 334 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 44 370 mix.out_~; +#X msg 216 53 0; +#X msg 299 56 0 500; +#X obj 299 93 unpack f f; +#X text 163 373 Works also with floats \, symbol \, anything.; +#X text 163 318 Descrition: Generates a random delay of the incoming +data.; +#X text 163 332 See: random.f; +#X obj 280 418 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 279 442 metro 500; +#X obj 132 23 loadbang; +#X obj 277 480 random 1000; +#X floatatom 278 566 5 0 0 0 - - -; +#X obj 127 92 metro 501; +#X floatatom 278 505 5 0 0 0 - - -; +#X obj 491 421 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 490 445 metro 500; +#X obj 488 483 symbol test; +#X symbolatom 490 564 10 0 0 0 - - -; +#X msg 572 432 symbol test; +#X msg 666 431 symbol bird; +#X obj 130 167 random.delay 0 500; +#X obj 278 530 random.delay 0 500; +#X obj 489 533 random.delay 200 500; +#X connect 0 0 21 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 3 1; +#X connect 5 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 7 1; +#X connect 10 0 12 0; +#X connect 11 0 12 0; +#X connect 12 0 29 1; +#X connect 12 1 29 2; +#X connect 16 0 17 0; +#X connect 17 0 19 0; +#X connect 18 0 0 0; +#X connect 19 0 22 0; +#X connect 21 0 29 0; +#X connect 22 0 30 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 31 0; +#X connect 27 0 25 1; +#X connect 28 0 25 1; +#X connect 29 0 1 0; +#X connect 30 0 20 0; +#X connect 31 0 26 0; diff --git a/random.delay.pd b/random.delay.pd new file mode 100644 index 0000000..827193d --- /dev/null +++ b/random.delay.pd @@ -0,0 +1,29 @@ +#N canvas 634 102 593 625 10; +#X obj 152 38 inlet; +#X obj 314 26 inlet; +#X obj 200 104 t a b; +#X obj 203 202 del; +#X obj 215 166 t b f; +#X obj 137 366 outlet; +#X text 147 13 Anything; +#X obj 330 62 init.df \$1 0; +#X obj 378 33 loadbang; +#X obj 460 38 inlet; +#X obj 524 45 loadbang; +#X obj 476 74 init.df \$2 1; +#X obj 220 144 random.f; +#X obj 145 311 list; +#X connect 0 0 2 0; +#X connect 1 0 12 1; +#X connect 2 0 13 1; +#X connect 2 1 12 0; +#X connect 3 0 13 0; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 7 0 12 1; +#X connect 8 0 7 0; +#X connect 9 0 12 2; +#X connect 10 0 11 0; +#X connect 11 0 12 2; +#X connect 12 0 4 0; +#X connect 13 0 5 0; diff --git a/random.drunk-help.pd b/random.drunk-help.pd new file mode 100644 index 0000000..22eecb1 --- /dev/null +++ b/random.drunk-help.pd @@ -0,0 +1,104 @@ +#N canvas 632 12 847 912 10; +#X obj 166 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 210 228 5 0 0 0 - - -; +#X floatatom 271 78 5 0 0 0 - - -; +#X floatatom 316 107 5 0 0 0 - - -; +#X text 315 76 min random value; +#X text 359 106 max random value; +#X text 7 96 Bang to output random.f value; +#X floatatom 44 464 10 0 0 0 - - -; +#X obj 91 365 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X text 107 3 Description: Outputs a random number in a moving range. +; +#N canvas 0 0 450 300 graph4 0; +#X array \$0test 200 float 0; +#X coords 0 1 199 0 200 140 1; +#X restore 358 342 graph; +#X obj 122 460 table.write.next \$0test; +#X obj 90 341 loadbang; +#X obj 94 399 metro 50; +#X text 141 293 COMPARE THE OUTPUT OF A RANDOM DRUNK TO A REGULAR RANDOM +; +#X text 253 338 RANDOM DRUNK; +#X floatatom 110 662 5 0 0 0 - - -; +#X obj 129 573 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#N canvas 0 0 450 300 graph4 0; +#X array \$0test2 200 float 0; +#X coords 0 1 199 0 200 140 1; +#X restore 341 550 graph; +#X obj 128 549 loadbang; +#X obj 128 598 metro 50; +#X obj 157 660 table.write.next \$0test2; +#X obj 129 623 random.f 0 1; +#X floatatom 365 132 5 0 0 0 - - -; +#X text 396 181 Argument_1: Minimum value.; +#X text 396 199 Argument_2: Maximum value.; +#X text 243 503 NORMAL RANDOM; +#X obj 84 868 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 85 890 metro 500; +#X text 109 21 The min and max values are included in the values that +can be output.; +#X floatatom 84 940 5 0 0 0 - - -; +#X text 396 220 Argument_3: step size (default 0.1).; +#X text 394 239 Argument_4: lock to step size.; +#X text 35 802 random.drunk can also only be limited to integers by +setting the third argument to an integer and the last argument to 1 +; +#N canvas 0 0 450 300 graph4 0; +#X array \$0test1 200 float 0; +#X coords 0 1 199 0 200 140 1; +#X restore 597 858 graph; +#X obj 83 846 loadbang; +#X text 226 743 LOCKING TO STEP SIZE (set with the last argument or +inlet); +#X floatatom 352 978 10 0 0 0 - - -; +#X obj 399 879 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 398 855 loadbang; +#X obj 402 913 metro 50; +#X obj 430 974 table.write.next \$0test1; +#X text 453 816 In this example \, the output is locked to the step +size.; +#X obj 364 157 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 408 132 step size; +#X text 387 155 lock to step size; +#X msg 49 179 set 5; +#X text 10 155 Sets the internal value; +#X msg 60 225 set 0; +#X text 12 206 Sets the internal value; +#X obj 211 172 random.drunk 0 10; +#X obj 404 942 random.drunk 0 1 0.25 1; +#X obj 96 427 random.drunk 0 1 0.1; +#X obj 86 913 random.drunk 0 10 1 1; +#X connect 0 0 50 0; +#X connect 2 0 50 1; +#X connect 3 0 50 2; +#X connect 8 0 13 0; +#X connect 12 0 8 0; +#X connect 13 0 52 0; +#X connect 17 0 20 0; +#X connect 19 0 17 0; +#X connect 20 0 22 0; +#X connect 22 0 16 0; +#X connect 22 0 21 0; +#X connect 23 0 50 3; +#X connect 27 0 28 0; +#X connect 28 0 53 0; +#X connect 35 0 27 0; +#X connect 38 0 40 0; +#X connect 39 0 38 0; +#X connect 40 0 51 0; +#X connect 43 0 50 4; +#X connect 46 0 50 0; +#X connect 48 0 50 0; +#X connect 50 0 1 0; +#X connect 51 0 37 0; +#X connect 51 0 41 0; +#X connect 52 0 7 0; +#X connect 52 0 11 0; +#X connect 53 0 30 0; diff --git a/random.drunk.pd b/random.drunk.pd new file mode 100644 index 0000000..d1d5b01 --- /dev/null +++ b/random.drunk.pd @@ -0,0 +1,88 @@ +#N canvas 41 250 1243 660 10; +#X obj 141 154 inlet; +#X obj 180 235 b; +#X obj 129 596 outlet; +#X obj 398 108 inlet; +#X obj 488 103 inlet; +#X text 394 82 min; +#X text 482 81 max; +#X obj 389 238 t f f f; +#X obj 481 240 t b f f; +#X obj 685 102 inlet; +#X text 690 82 step; +#X obj 594 242 t b f f; +#X obj 119 309 random.f -1 1; +#X obj 132 369 *; +#X obj 185 466 +; +#X obj 186 493 clip 0 1; +#X obj 187 523 t f f; +#X obj 166 274 demultiplex 0 1; +#X obj 852 111 inlet; +#X obj 410 375 random 3; +#X obj 418 403 - 1; +#X obj 111 193 route set; +#X obj 951 183 loadbang; +#X obj 953 234 dollarg; +#X obj 997 266 sel 0; +#X obj 1084 319 - 1; +#X obj 423 188 f; +#X obj 506 196 f; +#X obj 680 188 f; +#X obj 729 482 unpack f f f f; +#X obj 956 349 demultiplex 0 1 2 3; +#X obj 824 172 f; +#X obj 691 524 t b b f; +#X msg 991 297 0 1 0.1 0; +#X msg 906 391 0 \$1 0.1 0; +#X msg 992 391 \$1 \$2 0.1 0; +#X msg 1085 390 \$1 \$2 \$3 0; +#X msg 1121 364 \$1 \$2 \$3 \$4; +#X connect 0 0 21 0; +#X connect 1 0 17 0; +#X connect 3 0 26 0; +#X connect 4 0 27 0; +#X connect 7 0 15 1; +#X connect 8 0 26 0; +#X connect 8 1 15 2; +#X connect 9 0 28 0; +#X connect 11 0 27 0; +#X connect 11 2 13 1; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 16 1 14 1; +#X connect 17 0 12 0; +#X connect 17 1 19 0; +#X connect 18 0 31 0; +#X connect 19 0 20 0; +#X connect 20 0 13 0; +#X connect 21 0 14 1; +#X connect 21 1 1 0; +#X connect 22 0 23 0; +#X connect 23 0 30 0; +#X connect 23 1 24 0; +#X connect 24 0 33 0; +#X connect 24 1 25 0; +#X connect 25 0 30 1; +#X connect 26 0 7 0; +#X connect 27 0 8 0; +#X connect 28 0 11 0; +#X connect 29 0 32 0; +#X connect 29 1 27 1; +#X connect 29 2 28 1; +#X connect 29 3 31 1; +#X connect 30 0 34 0; +#X connect 30 1 35 0; +#X connect 30 2 36 0; +#X connect 30 3 37 0; +#X connect 31 0 17 1; +#X connect 32 0 28 0; +#X connect 32 1 31 0; +#X connect 32 2 26 1; +#X connect 33 0 29 0; +#X connect 34 0 29 0; +#X connect 35 0 29 0; +#X connect 36 0 29 0; +#X connect 37 0 29 0; diff --git a/random.f-help.pd b/random.f-help.pd new file mode 100644 index 0000000..aad0784 --- /dev/null +++ b/random.f-help.pd @@ -0,0 +1,39 @@ +#N canvas 929 362 638 607 10; +#X obj 166 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 210 228 5 0 0 0 - - -; +#X floatatom 271 78 5 0 0 0 - - -; +#X floatatom 316 107 5 0 0 0 - - -; +#X text 315 76 min random value; +#X text 359 106 max random value; +#X text 7 96 Bang to output random.f value; +#X obj 34 271 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 35 365 5 0 0 0 - - -; +#X text 78 16 Description: Generates a random.f in a certain range. +; +#X text 373 173 Args: min \, max; +#X obj 237 274 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 238 368 5 0 0 0 - - -; +#X text 357 311 min: -3 \, max: 1; +#X obj 239 402 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 240 496 5 0 0 0 - - -; +#X text 99 308 min:0 \, max: 1; +#X obj 34 309 random.f; +#X obj 211 172 random.f 0 1; +#X obj 237 312 random.f @min -3; +#X text 442 439 min: -100 \, max: 100; +#X obj 239 440 random.f @max 100 @min -100; +#X text 79 36 flags: @rguments; +#X connect 0 0 18 0; +#X connect 2 0 18 1; +#X connect 3 0 18 2; +#X connect 7 0 17 0; +#X connect 11 0 19 0; +#X connect 14 0 21 0; +#X connect 17 0 8 0; +#X connect 18 0 1 0; +#X connect 19 0 12 0; +#X connect 21 0 15 0; diff --git a/random.f.pd b/random.f.pd new file mode 100644 index 0000000..4f41433 --- /dev/null +++ b/random.f.pd @@ -0,0 +1,78 @@ +#N canvas 282 228 887 638 12; +#X obj 67 43 inlet; +#X obj 64 155 b; +#X obj 71 272 random 1e+06; +#X obj 169 404 outlet; +#N canvas 0 22 901 719 scale 0; +#X obj 329 625 outlet; +#X text 431 56 max output; +#X text 297 54 min output; +#X text 375 533 min output; +#X obj 330 74 inlet; +#X obj 440 74 inlet; +#X obj 145 62 inlet; +#X obj 442 319 t b f; +#X obj 352 240 t f f; +#X obj 324 532 + 0; +#X obj 420 436 - 0; +#X obj 382 383 f 1; +#X obj 322 504 * 1; +#X connect 4 0 8 0; +#X connect 5 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 11 0; +#X connect 7 1 10 1; +#X connect 8 0 9 1; +#X connect 8 1 7 0; +#X connect 9 0 0 0; +#X connect 10 0 12 1; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X restore 231 366 pd scale; +#X obj 290 54 inlet; +#X obj 380 49 inlet; +#X text 286 28 min; +#X text 374 27 max; +#X obj 71 305 * 1e-06; +#X obj 69 217 demultiplex 0 1; +#X obj 195 266 f; +#X obj 267 164 t f f f; +#X obj 371 175 t b f f; +#X obj 601 97 loadbang; +#X obj 601 135 dollarg; +#X obj 594 173 init.post.dollarg; +#X obj 596 209 route min max; +#X obj 708 241 route bang; +#X obj 437 86 unpack; +#X obj 320 121 f 0; +#X obj 392 144 f 1; +#X obj 259 225 == 1; +#X connect 0 0 1 0; +#X connect 1 0 10 0; +#X connect 2 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 20 0; +#X connect 6 0 21 0; +#X connect 9 0 4 0; +#X connect 10 0 2 0; +#X connect 10 1 11 0; +#X connect 11 0 3 0; +#X connect 12 0 11 1; +#X connect 12 1 22 0; +#X connect 12 2 4 1; +#X connect 13 0 22 0; +#X connect 13 1 22 1; +#X connect 13 2 4 2; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 16 1; +#X connect 16 0 17 0; +#X connect 17 0 20 0; +#X connect 17 1 21 0; +#X connect 17 2 18 0; +#X connect 18 1 19 0; +#X connect 19 0 20 0; +#X connect 19 1 21 0; +#X connect 20 0 12 0; +#X connect 21 0 13 0; +#X connect 22 0 10 1; diff --git a/random.integer-help.pd b/random.integer-help.pd new file mode 100644 index 0000000..c4734e9 --- /dev/null +++ b/random.integer-help.pd @@ -0,0 +1,44 @@ +#N canvas 815 290 690 703 10; +#X obj 115 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 115 192 5 0 0 0 - - -; +#X obj 74 453 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 74 516 10 0 0 0 - - -; +#X text 78 16 Description: Generates a random integer included in a +certain range.; +#X obj 162 261 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 162 345 5 0 0 0 - - -; +#X floatatom 226 260 5 0 0 0 - - -; +#X floatatom 290 288 5 0 0 0 - - -; +#X text 268 258 min random value; +#X text 333 287 max random value; +#X text 110 101 Bang to output one of the numbers 5 \, 6 \, 7 \, 8 +\, 9 OR 10; +#X text 316 345 Argument_1: Minimum value.; +#X text 316 366 Argument_2: Maximum value (included in the possible +outputs).; +#X text 189 487 If you do not set any arguments \, it defaults to min=0 +and max=1.; +#X obj 76 552 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 76 615 10 0 0 0 - - -; +#X text 202 579 If you set one argument \, min=0 and max=argument. +; +#X text 80 59 WARNING: VALUES OUTPUTED INCLUDED THE MIN AN MAX VALUES. +; +#X obj 116 161 random.integer 5 10; +#X obj 162 317 random.integer 0 10; +#X obj 74 486 random.integer; +#X obj 76 585 random.integer 10; +#X connect 0 0 19 0; +#X connect 2 0 21 0; +#X connect 5 0 20 0; +#X connect 7 0 20 1; +#X connect 8 0 20 2; +#X connect 15 0 22 0; +#X connect 19 0 1 0; +#X connect 20 0 6 0; +#X connect 21 0 3 0; +#X connect 22 0 16 0; diff --git a/random.integer.pd b/random.integer.pd new file mode 100644 index 0000000..a800d6d --- /dev/null +++ b/random.integer.pd @@ -0,0 +1,64 @@ +#N canvas 570 387 912 661 10; +#X obj 67 43 inlet; +#X obj 64 155 b; +#X obj 147 281 random 1e+06; +#X obj 241 470 outlet; +#X obj 290 54 inlet; +#X obj 380 49 inlet; +#X text 286 28 min; +#X text 374 27 max; +#X obj 456 272 int; +#X obj 348 240 int; +#X obj 346 361 -; +#X obj 346 324 swap; +#X obj 361 284 t f f; +#X obj 249 381 +; +#X obj 355 81 t b f; +#X obj 353 394 + 1; +#X obj 298 145 f \$1; +#X obj 392 144 f \$2; +#X obj 542 33 loadbang; +#X obj 758 241 print random.integer; +#X msg 760 204 Wrong number of arguments; +#X msg 583 206 0 \$1; +#X obj 557 168 demultiplex 0 1 2 3; +#X obj 622 121 moses 3; +#X msg 693 129 3; +#X obj 437 86 unpack; +#X msg 491 197 0 1; +#X obj 600 94 sel 0; +#X obj 548 69 dollarg; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 13 0; +#X connect 4 0 16 0; +#X connect 5 0 14 0; +#X connect 8 0 11 1; +#X connect 9 0 12 0; +#X connect 10 0 15 0; +#X connect 11 0 10 0; +#X connect 11 1 10 1; +#X connect 12 0 11 0; +#X connect 12 1 13 1; +#X connect 13 0 3 0; +#X connect 14 0 16 0; +#X connect 14 1 17 0; +#X connect 15 0 2 1; +#X connect 16 0 9 0; +#X connect 17 0 8 0; +#X connect 18 0 28 0; +#X connect 20 0 19 0; +#X connect 21 0 25 0; +#X connect 22 1 21 0; +#X connect 22 2 25 0; +#X connect 22 3 20 0; +#X connect 23 0 22 1; +#X connect 23 1 24 0; +#X connect 24 0 22 1; +#X connect 25 0 16 0; +#X connect 25 1 17 0; +#X connect 26 0 25 0; +#X connect 27 0 26 0; +#X connect 27 1 23 0; +#X connect 28 0 22 0; +#X connect 28 1 27 0; diff --git a/random.markov.chain-help.pd b/random.markov.chain-help.pd new file mode 100644 index 0000000..204efd8 --- /dev/null +++ b/random.markov.chain-help.pd @@ -0,0 +1,13 @@ +#N canvas 262 190 425 381 10; +#X obj 94 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 104 241 5 0 0 0 - - -; +#X msg 249 133 5 0 0 0; +#X text 59 25 Description: A variable length markov chain. For weighted +random.; +#X text 58 54 Author: Alexandre Quessy 2007; +#X obj 89 209 random.markov.chain 3 54 9; +#X text 77 297 See also seq.markov.machine; +#X connect 0 0 5 0; +#X connect 2 0 5 1; +#X connect 5 0 1 0; diff --git a/random.markov.chain.pd b/random.markov.chain.pd new file mode 100644 index 0000000..45909be --- /dev/null +++ b/random.markov.chain.pd @@ -0,0 +1,70 @@ +#N canvas 532 82 509 609 10; +#X obj 107 23 dollarg; +#X obj 107 2 loadbang; +#X obj 47 1 inlet; +#X obj 83 126 drip; +#X obj 198 147 sum; +#X obj 141 249 /; +#X obj 129 203 +; +#X msg 233 150 0; +#X obj 222 206 f; +#X text 89 563 Each treshold is added to all the numbers before... +; +#X obj 238 279 random 1e+06; +#X obj 100 392 moses; +#X obj 92 344 f; +#X msg 301 155 bang; +#X obj 56 58 list append; +#X obj 185 9 inlet; +#X obj 255 407 f 0; +#X obj 288 409 + 1; +#X obj 66 469 f; +#X obj 55 505 outlet; +#X obj 132 170 t f b; +#X obj 141 272 * 1e+06; +#X msg 405 142 0; +#X obj 137 295 t b f; +#X obj 55 32 t b; +#X obj 83 148 spigot; +#X obj 57 82 t b a a b b b b; +#X msg 120 129 1; +#X obj 78 418 t b b; +#X msg 441 239 0; +#X connect 0 0 14 1; +#X connect 1 0 0 0; +#X connect 2 0 24 0; +#X connect 3 0 25 0; +#X connect 4 0 5 1; +#X connect 5 0 21 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X connect 8 0 6 1; +#X connect 8 0 5 0; +#X connect 10 0 12 1; +#X connect 11 0 28 0; +#X connect 12 0 11 0; +#X connect 13 0 10 0; +#X connect 14 0 26 0; +#X connect 15 0 14 1; +#X connect 16 0 17 0; +#X connect 16 0 18 1; +#X connect 17 0 16 1; +#X connect 18 0 19 0; +#X connect 20 0 6 0; +#X connect 20 1 16 0; +#X connect 21 0 23 0; +#X connect 22 0 16 1; +#X connect 23 0 12 0; +#X connect 23 1 11 1; +#X connect 24 0 14 0; +#X connect 25 0 20 0; +#X connect 26 1 3 0; +#X connect 26 2 4 0; +#X connect 26 3 7 0; +#X connect 26 4 13 0; +#X connect 26 5 22 0; +#X connect 26 6 27 0; +#X connect 27 0 25 1; +#X connect 28 0 18 0; +#X connect 28 1 29 0; +#X connect 29 0 25 1; diff --git a/random.offset-help.pd b/random.offset-help.pd new file mode 100644 index 0000000..af3f4f3 --- /dev/null +++ b/random.offset-help.pd @@ -0,0 +1,25 @@ +#N canvas 195 239 638 436 10; +#X floatatom 71 297 5 0 0 0 - - -; +#X msg 75 155 1; +#X msg 127 149 10; +#X msg 168 149 8; +#X msg 37 163 0.25; +#X obj 76 89 loadbang; +#X obj 76 126 metro 250; +#X obj 76 109 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 168 198 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 243 239 Inlet 2 sets the offset (0.1 = 10%); +#X text 242 253 ARGUMENT : determines offset percentage.; +#X obj 73 241 random.offset 0.1; +#X text 27 30 Description: Outputs a slightly offset number.; +#X connect 1 0 11 0; +#X connect 2 0 11 0; +#X connect 3 0 11 0; +#X connect 4 0 11 0; +#X connect 5 0 7 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 11 1; +#X connect 11 0 0 0; diff --git a/random.offset.pd b/random.offset.pd new file mode 100644 index 0000000..f922525 --- /dev/null +++ b/random.offset.pd @@ -0,0 +1,37 @@ +#N canvas 278 22 620 452 10; +#X obj 59 50 inlet; +#X obj 120 233 +; +#X obj 163 189 random; +#X obj 127 102 t f b f; +#X obj 171 218 -; +#X obj 258 74 inlet; +#X obj 174 131 * 0; +#X obj 110 299 outlet; +#X text 296 71 percent of difference; +#X obj 203 151 * 50000; +#X obj 164 249 / 50000; +#X obj 215 176 t f f; +#X obj 230 203 / 2; +#X text 100 50 VALUE; +#X obj 240 121 * 2; +#X text 296 84 (1 = 100%); +#X text 157 302 similar VALUE; +#X obj 294 151 loadbang; +#X obj 301 177 f \$1; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 3 1 2 0; +#X connect 3 2 6 0; +#X connect 4 0 10 0; +#X connect 5 0 14 0; +#X connect 6 0 9 0; +#X connect 9 0 11 0; +#X connect 10 0 1 1; +#X connect 11 0 2 1; +#X connect 11 1 12 0; +#X connect 12 0 4 1; +#X connect 14 0 6 1; +#X connect 17 0 18 0; +#X connect 18 0 14 0; diff --git a/random.sometimes-help.pd b/random.sometimes-help.pd new file mode 100644 index 0000000..4bf8010 --- /dev/null +++ b/random.sometimes-help.pd @@ -0,0 +1,33 @@ +#N canvas 0 0 450 300 10; +#X obj 156 210 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 213 261 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 186 233 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 265 133 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 178 86 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 179 64 init.lf 1; +#X text 13 23 Description: random probabilities of a bang passing of +not; +#X obj 156 175 random.sometimes 0.2; +#X obj 186 198 random.sometimes 0.5; +#X obj 213 226 random.sometimes 1; +#X obj 129 187 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 129 152 random.sometimes 0; +#X obj 178 105 metro 500; +#X text 14 40 Proportion normalized on 1; +#X connect 4 0 12 0; +#X connect 5 0 4 0; +#X connect 7 0 0 0; +#X connect 8 0 2 0; +#X connect 9 0 1 0; +#X connect 11 0 10 0; +#X connect 12 0 3 0; +#X connect 12 0 7 0; +#X connect 12 0 8 0; +#X connect 12 0 9 0; +#X connect 12 0 11 0; diff --git a/random.sometimes.pd b/random.sometimes.pd new file mode 100644 index 0000000..0512d7f --- /dev/null +++ b/random.sometimes.pd @@ -0,0 +1,14 @@ +#N canvas 424 183 450 300 10; +#X obj 70 77 inlet; +#X obj 64 115 random 1e+06; +#X obj 64 162 moses \$1; +#X obj 66 183 t b; +#X obj 65 208 outlet; +#X obj 207 85 inlet; +#X obj 64 137 / 1e+06; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 2 1; +#X connect 6 0 2 0; diff --git a/sample.adsr-help.pd b/sample.adsr-help.pd new file mode 100644 index 0000000..7332b15 --- /dev/null +++ b/sample.adsr-help.pd @@ -0,0 +1,27 @@ +#N canvas 497 47 597 363 10; +#X obj 58 127 file.path.top; +#X msg 58 99 medias/sounds/loop0.wav; +#X msg 208 99 medias/sounds/loop1.wav; +#X floatatom 69 289 5 0 0 0 - - -; +#X floatatom 113 289 5 0 0 0 - - -; +#X floatatom 165 289 5 0 0 0 - - -; +#X floatatom 215 289 5 0 0 0 - - -; +#X floatatom 269 290 5 0 0 0 - - -; +#X text 160 219 Controls the gain (g \, 0-1.27) \, attack (a \, ms) +\, decay (d \, ms) \, sustain (s \, 0-1.27) and release (r \, ms) of +a sample.; +#X msg 120 193 1 10 0 1 100; +#X text 216 190 gain attack decay sustain release; +#X obj 57 223 sample.adsr; +#X obj 58 153 sample.filer; +#X text 55 48 Description: Adsr for sample; +#X connect 0 0 12 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 9 0 11 1; +#X connect 11 1 3 0; +#X connect 11 2 4 0; +#X connect 11 3 5 0; +#X connect 11 4 6 0; +#X connect 11 5 7 0; +#X connect 12 0 11 0; diff --git a/sample.adsr.pd b/sample.adsr.pd new file mode 100644 index 0000000..64350c5 --- /dev/null +++ b/sample.adsr.pd @@ -0,0 +1,34 @@ +#N canvas 141 113 887 659 10; +#X obj 79 160 sample.handler; +#X obj 25 13 inlet sample_id; +#X obj 25 104 t f f; +#X obj 25 524 outlet; +#X obj 290 8 inlet gadsr; +#X obj 267 47 spigot; +#X obj 81 197 == 1; +#X obj 121 524 outlet gain; +#X obj 238 523 outlet attack; +#X obj 360 522 outlet decay; +#X obj 470 521 outlet sustain; +#X obj 179 281 unpack f f f f f; +#X obj 587 522 outlet release; +#X obj 200 217 sel 0; +#X obj 202 195 change; +#X msg 199 241 0 0 0 0 0; +#X connect 0 0 6 0; +#X connect 0 3 11 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 0 0; +#X connect 4 0 5 0; +#X connect 5 0 0 2; +#X connect 6 0 5 1; +#X connect 6 0 14 0; +#X connect 11 0 7 0; +#X connect 11 1 8 0; +#X connect 11 2 9 0; +#X connect 11 3 10 0; +#X connect 11 4 12 0; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 15 0 11 0; diff --git a/sample.adsr_-help.pd b/sample.adsr_-help.pd new file mode 100644 index 0000000..cd8c283 --- /dev/null +++ b/sample.adsr_-help.pd @@ -0,0 +1,18 @@ +#N canvas 338 146 667 319 10; +#X obj 52 144 sample.filer; +#X obj 52 113 file.path.top; +#X msg 52 82 medias/sounds/loop0.wav; +#X msg 209 82 medias/sounds/loop1.wav; +#X obj 52 208 sample.adsr_; +#X text 252 190 The greyed number boxes indicate that the actual stored +and sent value is divided by 100 So \, if a grey box display 50 \, +the actual value is 0.5. This is done to simplify the user input of +values with decimal ranges.; +#X text 253 136 Controls the gain (g \, 0-1.27) \, attack (a \, ms) +\, decay (d \, ms) \, sustain (s \, 0-1.27) and release (r \, ms) of +a sample.; +#X text 51 40 Description: Adsr for sample (gui); +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; diff --git a/sample.adsr_.pd b/sample.adsr_.pd new file mode 100644 index 0000000..e4a25c2 --- /dev/null +++ b/sample.adsr_.pd @@ -0,0 +1,93 @@ +#N canvas 392 274 855 627 10; +#X obj 25 13 inlet sample_id; +#X obj 25 524 outlet; +#X obj 314 10 inlet gadsr; +#X obj 121 524 outlet gain; +#X obj 238 523 outlet attack; +#X obj 360 522 outlet decay; +#X obj 470 521 outlet sustain; +#X obj 587 522 outlet release; +#X obj 23 287 sample.adsr; +#X obj 100 100 cnv 15 180 20 empty empty empty 20 12 0 14 -1 -66577 +0; +#X obj 100 113 nbx 3 14 0 127 0 0 empty empty g 12 -6 0 8 -1 -166441 +-262144 0 256; +#X obj 132 113 nbx 4 14 0 1e+37 0 0 empty empty a 18 -6 0 8 -1 -262144 +-262144 0 256; +#X obj 210 113 nbx 3 14 0 127 0 0 empty empty s 12 -6 0 8 -1 -166441 +-262144 0 256; +#X obj 171 113 nbx 4 14 0 1e+37 0 0 empty empty d 18 -6 0 8 -1 -262144 +-262144 0 256; +#X obj 242 113 nbx 4 14 0 1e+37 0 0 empty empty r 18 -6 0 8 -1 -262144 +-262144 0 256; +#X msg 161 264 set \$1; +#X obj 162 239 * 100; +#X msg 339 262 set \$1; +#X obj 340 237 * 100; +#X msg 225 264 set \$1; +#X msg 282 263 set \$1; +#X msg 411 263 set \$1; +#X obj -125 144 / 100; +#X obj 49 381 t f f f; +#X obj 105 383 t f f f; +#X obj 163 383 t f f f; +#X obj 221 387 t f f f; +#X obj 293 383 t f f f; +#X obj -126 226 pack 0 1 10 0 1 100; +#X obj -126 249 route 0; +#X obj -125 168 t b f; +#X obj -83 166 t b f; +#X obj -42 166 t b f; +#X obj 0 168 t b f; +#X obj 51 165 t b f; +#X obj 0 145 / 100; +#X connect 0 0 8 0; +#X connect 2 0 8 1; +#X connect 8 0 1 0; +#X connect 8 1 23 0; +#X connect 8 2 24 0; +#X connect 8 3 25 0; +#X connect 8 4 26 0; +#X connect 8 5 27 0; +#X connect 10 0 22 0; +#X connect 11 0 31 0; +#X connect 12 0 35 0; +#X connect 13 0 32 0; +#X connect 14 0 34 0; +#X connect 15 0 10 0; +#X connect 16 0 15 0; +#X connect 17 0 12 0; +#X connect 18 0 17 0; +#X connect 19 0 11 0; +#X connect 20 0 13 0; +#X connect 21 0 14 0; +#X connect 22 0 30 0; +#X connect 23 0 3 0; +#X connect 23 1 16 0; +#X connect 23 2 28 1; +#X connect 24 0 4 0; +#X connect 24 1 19 0; +#X connect 24 2 28 2; +#X connect 25 0 5 0; +#X connect 25 1 20 0; +#X connect 25 2 28 3; +#X connect 26 0 6 0; +#X connect 26 1 18 0; +#X connect 26 2 28 4; +#X connect 27 0 7 0; +#X connect 27 1 21 0; +#X connect 27 2 28 5; +#X connect 28 0 29 0; +#X connect 29 0 8 1; +#X connect 30 0 28 0; +#X connect 30 1 28 1; +#X connect 31 0 28 0; +#X connect 31 1 28 2; +#X connect 32 0 28 0; +#X connect 32 1 28 3; +#X connect 33 0 28 0; +#X connect 33 1 28 4; +#X connect 34 0 28 0; +#X connect 34 1 28 5; +#X connect 35 0 33 0; +#X coords 0 -1 1 1 180 28 1 100 100; diff --git a/sample.bank-help.pd b/sample.bank-help.pd new file mode 100644 index 0000000..48d531e --- /dev/null +++ b/sample.bank-help.pd @@ -0,0 +1,85 @@ +#N canvas 343 66 997 716 10; +#X text 11 21 Description: load many samples and ditribute them dynamically. +; +#X msg 108 525 none; +#X msg 17 446 group_name 0; +#X msg 74 500 group_name 2; +#X msg 61 472 group_name 1; +#X text 204 72 <- Click on the the three messages to load the files. +; +#X text 639 22 WARNING: LOADING A BUNCH OF FILES TAKES A LOT OF RESSOURCES. +PRELOAD ALL YOUR FILES BEFORE PERFORMING.; +#X msg 98 273 write medias/data/sample.bank2.coll; +#X msg 10 73 0 medias/sounds/loop0.wav; +#X msg 26 109 1 medias/sounds/loop1.wav; +#X text 227 126 Use the full paths if you want them to be stored as +full paths.; +#X text 227 90 Use relative paths (to the patch containing sample.bank) +if you want them to be stored as relative paths.; +#X msg 36 141 0 medias/sounds/loop1.wav; +#X obj 451 669 sample.display_; +#X text 174 316 <- The samples stored inside share a common group name +(sample.bank's first argument); +#X msg 440 606 0; +#X msg 490 606 none; +#X obj 17 553 sample.r; +#X obj 450 638 sample.r; +#X text 544 603 When sample.bank is lined to the top patch \, you simply +need to use the sample index to receive a sample with a sample.r that +is also linked to the same top patch.; +#X msg 401 605 1; +#X text 78 220 You can also store and reload your sample list.; +#X obj 17 580 sample.display_; +#X obj 17 665 sample.pitch_; +#X obj 17 699 sample.bounds_; +#X obj 17 752 sample.adsr_; +#X obj 6 380 cnv 15 420 60 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 10 389 If you modify a sample's parameters and then save the +sample.bank \, all of the sample's parameters will also be saved.; +#X obj 485 553 cnv 15 420 30 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X text 485 553 If you use the "auto" keyword \, the samples will be +indexed automatically.; +#X msg 382 472 auto medias/sounds/loop0.wav; +#X msg 490 494 auto medias/sounds/loop1.wav; +#X msg 85 246 read medias/data/drum.kit.coll; +#X obj 9 360 cnv 15 420 15 empty empty empty 20 12 0 14 -225271 -66577 +0; +#X text 11 361 Once the files are loaded you can access them with sample.r +; +#X obj 442 397 cnv 15 420 70 empty empty empty 20 12 0 14 -261689 -66577 +0; +#X text 449 425 BUT: If you de not define an ID (group name) the top +patch's dollar zero will be used. There can still only be one sample.bank +linked to the same top patch.; +#X text 449 398 WARNING: Every sample.bank must have a unique ID (group +name).; +#X obj 11 318 sample.bank group_name; +#X obj 382 551 sample.bank; +#X obj 508 515 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 531 515 Bang will open an openpanel to add a file with "auto" +indexing.; +#X msg 59 176 2 medias/sounds/loop1.wav; +#X connect 1 0 17 0; +#X connect 2 0 17 0; +#X connect 3 0 17 0; +#X connect 4 0 17 0; +#X connect 7 0 38 0; +#X connect 8 0 38 0; +#X connect 9 0 38 0; +#X connect 12 0 38 0; +#X connect 15 0 18 0; +#X connect 16 0 18 0; +#X connect 17 0 22 0; +#X connect 18 0 13 0; +#X connect 20 0 18 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 30 0 39 0; +#X connect 31 0 39 0; +#X connect 32 0 38 0; +#X connect 40 0 39 0; +#X connect 42 0 38 0; diff --git a/sample.bank.browser_-help.pd b/sample.bank.browser_-help.pd new file mode 100644 index 0000000..135a45c --- /dev/null +++ b/sample.bank.browser_-help.pd @@ -0,0 +1,55 @@ +#N canvas 229 47 1031 719 10; +#X obj 83 346 print; +#X obj 65 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 63 -3 loadbang; +#X obj 573 -13 loadbang; +#X obj 574 118 file.folder.dump; +#X msg 681 84 wav; +#X msg 574 85 medias/sounds; +#X msg 574 152 auto \$1; +#X obj 574 44 t b b; +#X text 624 38 This loads all the wavs found in medias/sounds; +#X text 634 153 All files are automatically indexed.; +#X obj 573 15 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 574 184 sample.bank OTHER; +#X msg 559 259 OTHER; +#X obj 587 464 print; +#X text 59 -41 Description: browse and select samples from a sample.bank. +; +#X obj 63 63 sample.bank; +#X msg 63 29 read medias/data/loops.coll; +#X text 554 231 You must send an ID to browse a sample.bank with an +ID.; +#X text 85 117 A bang will browse the contents of a sample.bank linked +to the top patch.; +#X obj 559 289 sample.bank.browser_; +#X obj 65 161 sample.bank.browser_; +#X text 66 538 If you add stuff to the sample.banks \, the browser +will not update automatically! You must do it manually.; +#X text 127 333 Outputs the index of the selected sample linked to +the top patch.; +#X text 636 463 Outputs the ID and index of the selected sample.; +#X obj 65 393 sample.r; +#X obj 65 429 sample.display_; +#X obj 559 498 sample.r; +#X obj 559 527 sample.display_; +#X connect 1 0 21 0; +#X connect 2 0 17 0; +#X connect 3 0 11 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 7 0 12 0; +#X connect 8 0 6 0; +#X connect 8 1 5 0; +#X connect 11 0 8 0; +#X connect 13 0 20 0; +#X connect 17 0 16 0; +#X connect 20 0 14 0; +#X connect 20 0 27 0; +#X connect 21 0 0 0; +#X connect 21 0 25 0; +#X connect 25 0 26 0; +#X connect 27 0 28 0; diff --git a/sample.bank.browser_.pd b/sample.bank.browser_.pd new file mode 100644 index 0000000..0c34599 --- /dev/null +++ b/sample.bank.browser_.pd @@ -0,0 +1,78 @@ +#N canvas 321 202 713 550 10; +#X obj 314 267 sample.bank.dump; +#X obj 282 136 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 11400 0; +#X obj 100 134 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 8 -1 +-1 -262144 2; +#X obj 100 149 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 8 -1 +-1 -262144 3; +#X obj 100 164 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 8 -1 +-1 -262144 2; +#X obj 100 179 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 8 -1 +-1 -262144 3; +#X obj 100 194 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 8 -1 +-1 -262144 2; +#X obj 100 209 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 8 -1 +-1 -262144 3; +#X obj 100 224 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 100 239 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 8 -1 +-1 -262144 0; +#X obj 100 118 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144 +0; +#X msg 572 267 clear; +#X obj 315 404 gui.browser \$0; +#X obj 355 3 inlet; +#X obj 192 538 outlet; +#X obj 311 342 convert.list2symbol _; +#X obj 503 410 pack s f; +#X obj 314 303 t a a; +#X obj 550 369 list.element 1; +#X msg 466 225 label sample.bank:top_patch; +#X obj 346 97 route bang; +#X obj 494 142 list prepend sample.bank; +#X obj 497 164 convert.list2symbol :; +#X msg 501 190 label \$1; +#X obj 382 49 t a b; +#X obj 643 288 loadbang; +#X msg 594 323 text.font 0 8; +#X obj 262 476 demultiplex 0 1; +#X obj 340 149 t b b b; +#X msg 453 448 0; +#X obj 376 505 list prepend; +#X obj 439 116 t a a a b; +#X msg 507 488 1; +#X connect 0 0 17 0; +#X connect 0 1 12 1; +#X connect 11 0 12 1; +#X connect 12 0 27 0; +#X connect 13 0 24 0; +#X connect 15 0 16 0; +#X connect 16 0 12 1; +#X connect 17 0 15 0; +#X connect 17 1 18 0; +#X connect 18 0 16 1; +#X connect 19 0 12 1; +#X connect 20 0 28 0; +#X connect 20 1 31 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 12 1; +#X connect 24 0 20 0; +#X connect 24 1 11 0; +#X connect 25 0 11 0; +#X connect 25 0 26 0; +#X connect 26 0 12 1; +#X connect 27 0 14 0; +#X connect 27 1 30 0; +#X connect 28 0 0 0; +#X connect 28 1 19 0; +#X connect 28 2 29 0; +#X connect 29 0 27 1; +#X connect 30 0 14 0; +#X connect 31 0 0 0; +#X connect 31 1 21 0; +#X connect 31 2 30 1; +#X connect 31 3 32 0; +#X connect 32 0 27 1; +#X coords 0 -1 1 1 197 155 1 100 100; diff --git a/sample.bank.dump-help.pd b/sample.bank.dump-help.pd new file mode 100644 index 0000000..71b8f3c --- /dev/null +++ b/sample.bank.dump-help.pd @@ -0,0 +1,50 @@ +#N canvas 583 126 559 447 10; +#X obj 210 121 sample.bank; +#X obj 66 153 print; +#X obj 66 56 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 342 186 sample.bank.dump; +#X obj 342 133 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 249 244 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0 +-8 0 8 -1 -262144 -1 0 0; +#X obj 67 242 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 257 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 272 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 287 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 302 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 317 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 332 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 347 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 15 -1 +-1 -262144 0; +#X obj 67 226 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144 +0; +#X obj 66 99 sample.bank.dump; +#X obj 342 157 t b b; +#X msg 392 157 clear; +#X obj 311 252 gui.browser \$0; +#X obj 310 292 flow.prepend set; +#X obj 342 216 convert.list2symbol -; +#X msg 210 88 read medias/data/drum.kit.coll; +#X obj 210 55 loadbang; +#X msg 310 324; +#X connect 2 0 15 0; +#X connect 3 0 20 0; +#X connect 3 1 18 1; +#X connect 4 0 16 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 16 1 17 0; +#X connect 17 0 18 1; +#X connect 18 0 19 0; +#X connect 19 0 23 0; +#X connect 20 0 18 1; +#X connect 21 0 0 0; +#X connect 22 0 21 0; diff --git a/sample.bank.dump.pd b/sample.bank.dump.pd new file mode 100644 index 0000000..e911c2d --- /dev/null +++ b/sample.bank.dump.pd @@ -0,0 +1,34 @@ +#N canvas 60 129 730 392 10; +#X obj 46 16 inlet; +#X obj 46 57 route bang; +#X obj 34 113 init.dollar.zero.top; +#X obj 418 25 r \$0sample.r.b; +#X obj 23 180 f \$0; +#X obj 30 271 flow.send; +#X msg 200 216 symbol \$1sample.bank.b; +#X msg 18 215 symbol \$1sample.r.b; +#X obj 420 125 list.split 1; +#X obj 500 153 list.split 10; +#X obj 415 252 pack f s; +#X obj 487 206 file.path.split; +#X obj 417 348 outlet; +#X obj 127 82 symbol; +#X obj 582 338 outlet done; +#X obj 34 151 t b b a; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 13 0; +#X connect 2 0 15 0; +#X connect 3 0 8 0; +#X connect 4 0 7 0; +#X connect 6 0 5 1; +#X connect 7 0 5 0; +#X connect 8 0 10 0; +#X connect 8 1 9 0; +#X connect 9 1 11 0; +#X connect 10 0 12 0; +#X connect 11 1 10 1; +#X connect 13 0 15 0; +#X connect 15 0 14 0; +#X connect 15 1 4 0; +#X connect 15 2 6 0; diff --git a/sample.bank.pd b/sample.bank.pd new file mode 100644 index 0000000..ab56b13 --- /dev/null +++ b/sample.bank.pd @@ -0,0 +1,544 @@ +#N canvas 0 34 1028 734 10; +#X obj 21 -302 inlet; +#X obj 56 37 route float; +#X msg 211 85 Warning... wrong arguments. Missing load index... cancelling! +; +#X obj 194 59 convert.list2symbol; +#X obj 91 -1 list.split 1; +#N canvas 0 0 546 396 \$0tables 0; +#X obj 0 90 s 2834table_ids; +#X restore 612 271 pd \$0tables; +#N canvas 0 0 590 495 check_in_tables 0; +#X obj 135 204 coll; +#C restore; +#X obj 50 22 inlet file_path; +#X obj 135 242 t f b; +#X obj 49 307 spigot; +#X msg 157 286 0; +#X msg 104 154 1; +#X obj 49 391 outlet read_file; +#X obj 342 394 outlet sample_id_extract; +#X obj 292 20 inlet file_path table_id; +#X obj 292 76 flow.prepend store; +#X obj 258 166 r \$0clear; +#X msg 260 194 clear; +#X obj 297 109 list trim; +#X obj 259 356 list prepend; +#X msg 299 228 open; +#X obj 50 119 t a s b; +#X connect 0 0 2 0; +#X connect 0 1 13 1; +#X connect 1 0 15 0; +#X connect 2 0 13 0; +#X connect 2 1 4 0; +#X connect 3 0 6 0; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 8 0 9 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 13 0 7 0; +#X connect 14 0 0 0; +#X connect 15 0 3 0; +#X connect 15 1 0 0; +#X connect 15 2 5 0; +#X restore 194 155 pd check_in_tables; +#X obj 333 -250 s \$0clear; +#N canvas 0 0 778 580 create_table 0; +#X obj 491 138 f \$0; +#X obj 491 93 loadbang; +#X msg 560 172 list pd- \$1 tables; +#X obj 567 212 convert.list2symbol none; +#X obj 33 29 inlet; +#X obj 177 514 outlet; +#X text 223 517 table_id; +#X obj 241 117 f; +#X obj 377 44 r \$0clear; +#X msg 312 84 0; +#X obj 320 124 + 1; +#X obj 361 264 * 80; +#X obj 275 298 convert.list2symbol _; +#X obj 275 272 pack f \$0; +#X obj 305 341 pack s f f; +#X msg 287 402 obj \$3 30 r \$1 \, obj \$3 60 sample.table; +#X obj 33 321 symbol; +#X obj 175 465 r \$0table_ids; +#X obj 33 63 t b b; +#X obj 34 347 t b s; +#X obj 372 172 f \$0; +#X msg 372 205 clear \, obj 0 90 s \$1table_ids; +#X obj 293 218 t f f f; +#X obj 109 243 + 1; +#X obj 140 190 * 2; +#X obj 243 147 t f f f; +#X obj 120 220 t f f; +#X obj 143 246 + 2; +#X obj 114 268 pack; +#X msg 122 375 connect \$1 0 \$2 0 \, connect \$2 0 0 0; +#X obj 391 477 flow.send; +#X obj 23 384 flow.send; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 30 1; +#X connect 4 0 18 0; +#X connect 7 0 25 0; +#X connect 8 0 9 0; +#X connect 8 0 0 0; +#X connect 8 0 20 0; +#X connect 9 0 7 1; +#X connect 10 0 7 1; +#X connect 11 0 14 2; +#X connect 12 0 14 0; +#X connect 12 0 16 1; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 30 0; +#X connect 16 0 19 0; +#X connect 17 0 5 0; +#X connect 18 0 16 0; +#X connect 18 1 7 0; +#X connect 19 0 31 0; +#X connect 19 1 31 1; +#X connect 20 0 21 0; +#X connect 21 0 30 0; +#X connect 22 0 13 0; +#X connect 22 1 14 1; +#X connect 22 2 11 0; +#X connect 23 0 28 0; +#X connect 24 0 26 0; +#X connect 25 0 24 0; +#X connect 25 1 22 0; +#X connect 25 2 10 0; +#X connect 26 0 23 0; +#X connect 26 1 27 0; +#X connect 27 0 28 1; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X restore 376 229 pd create_table; +#X obj 341 386 s \$0print; +#X obj 663 382 r \$0print; +#X msg 233 355 Loaded \$1 in table_id \$2.; +#X obj 56 153 spigot; +#X obj 215 327 t a a a b; +#X msg 127 119 1; +#X obj 91 -24 t a b; +#X msg 112 91 0; +#N canvas 0 0 622 533 check_in_generators 0; +#X obj 139 222 coll; +#C restore; +#X obj 137 280 t f b; +#X obj 49 307 spigot; +#X msg 199 308 0; +#X msg 117 144 1; +#X obj 273 120 r \$0clear; +#X msg 275 148 clear; +#X obj 50 22 inlet generator_number; +#X obj 292 20 inlet generator_number; +#X obj 333 460 outlet generator_found; +#X obj 40 457 outlet generator_create; +#X msg 290 74 store \$1 \$1; +#X msg 260 188 open; +#X obj 389 175 r \$0do_dump; +#X obj 52 76 t a f b b; +#X obj 139 248 demultiplex 0 1; +#X msg 155 134 0; +#X obj 390 208 t b b; +#X msg 424 231 1; +#X msg 270 224 dump; +#X obj 375 378 convert.list2symbol _; +#X obj 375 341 list append; +#X obj 375 314 list prepend \$1; +#X msg 434 287 \$1_r; +#X obj 286 267 t b b f; +#X msg 276 338 dump; +#X obj 321 398 flow.send; +#X obj 498 275 r \$0ID; +#X connect 0 0 15 0; +#X connect 1 0 9 0; +#X connect 1 1 3 0; +#X connect 2 0 10 0; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 14 0; +#X connect 8 0 11 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 13 0 17 0; +#X connect 14 0 2 0; +#X connect 14 1 0 0; +#X connect 14 2 4 0; +#X connect 14 3 16 0; +#X connect 15 0 1 0; +#X connect 15 1 24 0; +#X connect 16 0 15 1; +#X connect 17 0 19 0; +#X connect 17 1 18 0; +#X connect 18 0 15 1; +#X connect 19 0 0 0; +#X connect 20 0 26 1; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 21 1; +#X connect 24 0 25 0; +#X connect 24 1 22 0; +#X connect 24 2 23 0; +#X connect 25 0 26 0; +#X connect 27 0 22 1; +#X restore 19 193 pd check_in_generators; +#N canvas 0 0 611 512 create_generator 0; +#X obj 44 67 inlet generator_number; +#X obj 29 409 outlet generator_number; +#X obj 189 155 f; +#X obj 195 180 t f f; +#X obj 232 158 + 1; +#X obj 240 85 r \$0clear; +#X msg 230 130 0; +#X obj 282 120 t b b b; +#X obj 314 202 f \$0; +#X obj 353 165 loadbang; +#X msg 252 184 clear; +#X obj 195 210 * 30; +#X obj 54 217 convert.list2symbol _; +#X obj 58 182 list append; +#X obj 58 155 list prepend \$1; +#X obj 314 261 convert.list2symbol none; +#X msg 312 230 list pd- \$1generators; +#X obj 149 364 flow.send; +#X obj 45 103 t f b f b f; +#X obj 107 276 pack s f \$0 f; +#X msg 122 310 obj 0 \$2 include/sample.bank.generator \$1 \$3 \$4 +; +#X obj 240 31 r \$0ID; +#X connect 0 0 18 0; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 3 1 4 0; +#X connect 4 0 2 1; +#X connect 5 0 7 0; +#X connect 6 0 2 1; +#X connect 7 0 6 0; +#X connect 7 1 10 0; +#X connect 7 2 8 0; +#X connect 8 0 16 0; +#X connect 9 0 8 0; +#X connect 10 0 17 0; +#X connect 11 0 19 1; +#X connect 12 0 19 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 15 0 17 1; +#X connect 16 0 15 0; +#X connect 18 0 1 0; +#X connect 18 1 14 0; +#X connect 18 2 13 1; +#X connect 18 3 2 0; +#X connect 18 4 19 3; +#X connect 19 0 20 0; +#X connect 20 0 17 0; +#X connect 21 0 14 1; +#X restore 19 224 pd create_generator; +#N canvas 0 0 602 452 \$0generators 0; +#X restore 594 168 pd \$0generators; +#X obj 20 252 t f f; +#N canvas 92 212 1024 730 assing_table_id2generator 0; +#X obj 48 16 inlet; +#X obj 324 211 convert.list2symbol _; +#X obj 324 174 list append; +#X obj 324 147 list prepend \$1; +#X obj 47 50 unpack s f f; +#X obj 195 90 t b b f; +#X obj 379 634 flow.send; +#X msg 383 120 \$1_r; +#X obj 513 25 inlet settings; +#X msg 22 441 turnoff \, status 1; +#X obj 192 245 list; +#X obj 295 321 t a b; +#X obj 183 288 route bang; +#X obj 114 126 t b f; +#X obj 251 400 list append; +#X msg 112 329 1 5 0 1 5 0 1 0 1 1; +#X obj 258 445 list prepend set; +#X obj 272 480 list trim; +#X obj 27 223 b; +#X obj 457 121 r \$0ID; +#X connect 0 0 4 0; +#X connect 1 0 6 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 18 0; +#X connect 4 1 13 0; +#X connect 4 2 5 0; +#X connect 5 1 3 0; +#X connect 5 2 7 0; +#X connect 7 0 2 1; +#X connect 8 0 10 1; +#X connect 9 0 6 0; +#X connect 10 0 12 0; +#X connect 11 0 14 0; +#X connect 11 1 10 1; +#X connect 12 0 15 0; +#X connect 12 1 11 0; +#X connect 13 0 10 0; +#X connect 13 1 14 1; +#X connect 14 0 16 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 17 0 6 0; +#X connect 18 0 9 0; +#X connect 19 0 3 1; +#X restore 63 400 pd assing_table_id2generator; +#X obj 418 -254 loadbang; +#X obj 418 -229 dollarg; +#X obj 462 -201 sel 0; +#X obj 79 -106 spigot; +#X obj 470 398 r \$0error; +#X obj 245 34 s \$0error; +#X obj 20 313 list prepend; +#X obj -41 491 s \$0print; +#X msg -42 459 Assigned file \$1 from table_id \$2 to slot \$3; +#X obj 328 -321 loadbang; +#X msg 213 -112 1; +#X obj 663 432 print sample.bank; +#X obj 299 183 t a b; +#X obj -12 -148 r \$0restore_files; +#X obj 96 -182 s \$0restore_files; +#X obj 227 -183 s \$0restore_settings; +#X obj 260 411 r \$0restore_settings; +#X obj 28 -270 route bang; +#X obj 4 355 t a a a a; +#X obj 211 260 include/sample.load_file_in_table; +#X obj 194 182 t s s b; +#X obj 193 222 file.path.top; +#X obj 215 301 list prepend; +#X obj 214 281 f; +#X obj 579 -96 s \$0print; +#X msg 580 -120 Not using an ID... linking to top patch.; +#X obj 512 -40 s \$0ID; +#X obj 419 -83 init.check.unique; +#X obj 463 -177 t b b; +#X obj 464 -151 init.dollar.zero.top; +#X obj 318 -56 demultiplex 0 1; +#X obj 386 -127 t a a; +#X obj 416 -36 t b a; +#X msg 418 -107 symbol \$1sample.bank; +#X msg 244 -14 There is already a sample.bank with the ID \$1 or there +is already a sample.bank linked to the top patch. Abstraction is disabled! +; +#X obj 470 430 print !!!!!:sample.bank; +#X obj 209 120 s \$0error; +#X obj 1 -73 route auto; +#N canvas 1541 314 499 363 AUTO_INDEXING 0; +#X obj 141 42 f; +#X obj 197 47 + 1; +#X obj 142 67 t f f; +#X obj 57 104 list prepend; +#X obj 57 33 t a b; +#X obj 57 -36 inlet; +#X obj 63 263 outlet; +#X obj 250 -69 r \$0clear; +#X msg 252 -45 0; +#X connect 0 0 2 0; +#X connect 1 0 0 1; +#X connect 2 0 3 1; +#X connect 2 1 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 4 1 0 0; +#X connect 5 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 0 1; +#X restore -44 -46 pd AUTO_INDEXING; +#N canvas 178 175 1038 735 read&write&browse 1; +#X obj 92 261 s \$0do_dump; +#X obj 408 -81 r \$0_dump; +#X obj 26 66 route bang; +#X obj 26 90 savepanel; +#X obj 408 38 list append; +#X obj 407 102 list prepend store; +#X obj 407 144 list.trim; +#X msg 22 278 write \$1; +#X obj 123 124 file.path.top; +#X obj 148 -17 route write read; +#X obj 210 17 route bang; +#X obj 286 46 file.path.top; +#X obj 210 41 openpanel; +#X obj 174 -99 inlet; +#X msg 123 290 clear; +#X msg 418 321 clear; +#X msg 286 205 read \$1; +#X obj 180 436 spigot; +#X obj 166 413 coll; +#C restore; +#X obj 75 234 t a b b b; +#X msg 176 238 0; +#X obj 262 139 t b a b b; +#X msg 387 212 1; +#X obj 315 440 t b b; +#X msg 299 470 dump; +#X obj 117 489 list prepend; +#X obj 31 461 list.split 10; +#X obj 82 518 list; +#X obj 230 553 outlet settings; +#X obj 32 553 outlet load; +#X obj 33 486 t b a; +#X obj 584 290 outlet; +#X obj 574 50 tabdump; +#X msg 574 20 set \$1file \, bang; +#X obj 407 3 list.split 11; +#X msg 53 398 open; +#X obj 769 -70 r \$0ID; +#X obj 769 -16 flow.receive; +#X obj 698 180 flow.send; +#X msg 769 -44 symbol \$1sample.bank.b; +#X obj 408 66 demultiplex 0 1; +#X obj 769 9 t b b a; +#X msg 791 33 1; +#X obj 722 60 s \$0do_dump; +#X obj 574 78 convert.int2ascii; +#X connect 1 0 34 0; +#X connect 2 0 3 0; +#X connect 2 1 8 0; +#X connect 3 0 19 0; +#X connect 4 0 40 0; +#X connect 5 0 6 0; +#X connect 6 0 18 0; +#X connect 7 0 18 0; +#X connect 8 0 19 0; +#X connect 9 0 2 0; +#X connect 9 1 10 0; +#X connect 9 2 31 0; +#X connect 10 0 12 0; +#X connect 10 1 11 0; +#X connect 11 0 21 0; +#X connect 12 0 21 0; +#X connect 13 0 9 0; +#X connect 14 0 18 0; +#X connect 15 0 18 0; +#X connect 16 0 18 0; +#X connect 17 0 23 0; +#X connect 18 0 26 0; +#X connect 18 1 25 1; +#X connect 18 2 17 0; +#X connect 19 0 7 0; +#X connect 19 1 0 0; +#X connect 19 2 14 0; +#X connect 19 3 20 0; +#X connect 20 0 17 1; +#X connect 20 0 40 1; +#X connect 21 1 16 0; +#X connect 21 2 15 0; +#X connect 21 3 22 0; +#X connect 22 0 17 1; +#X connect 23 0 24 0; +#X connect 24 0 18 0; +#X connect 25 0 27 1; +#X connect 26 0 30 0; +#X connect 26 1 25 0; +#X connect 27 0 29 0; +#X connect 30 0 27 0; +#X connect 30 1 28 0; +#X connect 32 0 44 0; +#X connect 33 0 32 0; +#X connect 34 0 4 0; +#X connect 34 1 33 0; +#X connect 35 0 18 0; +#X connect 36 0 39 0; +#X connect 37 0 41 0; +#X connect 39 0 37 0; +#X connect 40 0 5 0; +#X connect 40 1 38 0; +#X connect 41 0 43 0; +#X connect 41 1 42 0; +#X connect 41 2 38 1; +#X connect 42 0 40 1; +#X connect 44 0 4 1; +#X restore 98 -232 pd read&write&browse; +#X obj -14 -233 openpanel; +#X obj 254 -212 route clear; +#X obj 358 -274 b; +#X msg -15 -204 auto \$1; +#X obj 417 -306 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 0 0 39 0; +#X connect 1 0 12 0; +#X connect 1 1 2 0; +#X connect 2 0 58 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 4 1 3 0; +#X connect 6 0 42 0; +#X connect 6 1 34 0; +#X connect 8 0 41 2; +#X connect 8 0 45 1; +#X connect 10 0 33 0; +#X connect 11 0 9 0; +#X connect 12 0 17 0; +#X connect 13 0 28 1; +#X connect 13 1 11 0; +#X connect 13 2 6 1; +#X connect 13 3 14 0; +#X connect 14 0 12 1; +#X connect 15 0 4 0; +#X connect 15 1 16 0; +#X connect 16 0 12 1; +#X connect 17 0 18 0; +#X connect 17 1 28 0; +#X connect 18 0 20 0; +#X connect 20 0 28 0; +#X connect 20 1 17 1; +#X connect 22 0 23 0; +#X connect 23 0 53 0; +#X connect 23 1 24 0; +#X connect 24 0 50 0; +#X connect 25 0 59 0; +#X connect 26 0 57 0; +#X connect 28 0 40 0; +#X connect 30 0 29 0; +#X connect 31 0 7 0; +#X connect 32 0 25 1; +#X connect 34 0 28 1; +#X connect 34 1 14 0; +#X connect 35 0 25 0; +#X connect 38 0 21 1; +#X connect 39 0 62 0; +#X connect 39 1 61 0; +#X connect 40 0 30 0; +#X connect 40 3 21 0; +#X connect 41 0 45 0; +#X connect 42 0 43 0; +#X connect 42 1 41 1; +#X connect 42 1 44 1; +#X connect 42 2 8 0; +#X connect 43 0 41 0; +#X connect 44 0 13 0; +#X connect 45 0 44 0; +#X connect 47 0 46 0; +#X connect 49 0 52 1; +#X connect 50 0 51 0; +#X connect 50 1 47 0; +#X connect 51 0 53 0; +#X connect 52 0 56 0; +#X connect 52 1 54 0; +#X connect 53 0 52 0; +#X connect 53 1 55 0; +#X connect 54 0 32 0; +#X connect 54 1 48 0; +#X connect 55 0 49 0; +#X connect 56 0 27 0; +#X connect 59 0 60 0; +#X connect 59 1 15 0; +#X connect 60 0 15 0; +#X connect 61 0 36 0; +#X connect 61 1 37 0; +#X connect 61 2 63 0; +#X connect 62 0 65 0; +#X connect 63 0 64 0; +#X connect 63 1 25 0; +#X connect 64 0 7 0; +#X connect 65 0 25 0; +#X connect 66 0 64 0; diff --git a/sample.bounds-help.pd b/sample.bounds-help.pd new file mode 100644 index 0000000..93fb87a --- /dev/null +++ b/sample.bounds-help.pd @@ -0,0 +1,49 @@ +#N canvas 352 47 525 639 10; +#X obj 85 507 sample.bounds; +#X floatatom 169 548 5 0 0 0 - - -; +#X floatatom 217 548 10 0 0 0 - - -; +#X floatatom 298 548 10 0 0 0 - - -; +#X text 169 567 start; +#X text 298 567 frames; +#X floatatom 278 442 5 0 0 0 - - -; +#X floatatom 329 445 10 0 0 0 - - -; +#X text 275 425 start; +#X text 39 35 Flags: sample_id; +#X text 40 84 Check out the graphical version of sample.bounds: sample.bounds_ +; +#X text 41 54 Version: 2007-7-11; +#X text 39 5 Description: Change the region (start and length) and +the loops points (loop_in and loop_out) of a sample.; +#X obj 85 230 file.path.top; +#X msg 85 166 medias/sounds/loop0.wav; +#X obj 85 288 sample.display_; +#X obj 85 394 sample.print 1; +#X msg 110 193 medias/sounds/loop1.wav; +#X text 329 425 length; +#X text 217 567 length; +#X floatatom 69 553 5 0 0 0 - - -; +#X floatatom 115 553 5 0 0 0 - - -; +#X text 44 577 loop_in; +#X text 103 577 loop_out; +#X obj 198 482 pack f f f f; +#X floatatom 152 453 5 0 0 0 - - -; +#X floatatom 210 419 5 0 0 0 - - -; +#X text 149 428 loop_in; +#X text 207 400 loop_out; +#X obj 85 258 sample.filer; +#X connect 0 1 20 0; +#X connect 0 2 21 0; +#X connect 0 3 1 0; +#X connect 0 4 2 0; +#X connect 0 5 3 0; +#X connect 6 0 24 2; +#X connect 7 0 24 3; +#X connect 13 0 29 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 17 0 13 0; +#X connect 24 0 0 1; +#X connect 25 0 24 0; +#X connect 26 0 24 1; +#X connect 29 0 15 0; diff --git a/sample.bounds.pd b/sample.bounds.pd new file mode 100644 index 0000000..56b8ab8 --- /dev/null +++ b/sample.bounds.pd @@ -0,0 +1,64 @@ +#N canvas 0 34 1028 734 10; +#X obj 40 26 inlet; +#X obj -101 514 outlet; +#X obj 40 88 t f f; +#X obj 75 203 == 1; +#X obj 392 512 outlet; +#X msg 76 282 0; +#X obj 121 181 sample.handler; +#X obj 49 241 sel 0; +#X obj 389 280 unpack f f f; +#X obj -30 500 outlet; +#X obj 44 502 outlet; +#X obj 132 510 outlet start; +#X obj 245 510 outlet length; +#X obj 264 -9 inlet bounds; +#X obj 182 318 unpack f f f f; +#X obj 21 335 t f f f f f; +#X obj 259 394 *; +#X obj 317 418 *; +#X obj 244 49 unpack f f f f; +#X obj 222 146 pack f f f f; +#X obj 280 108 / 1; +#X obj 338 89 / 1; +#X obj 397 359 t f f; +#X obj 362 37 sel 0; +#X msg 375 115 1; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 2 1 6 0; +#X connect 3 0 7 0; +#X connect 5 0 15 0; +#X connect 6 0 3 0; +#X connect 6 4 14 0; +#X connect 6 7 8 0; +#X connect 7 0 5 0; +#X connect 8 0 22 0; +#X connect 13 0 18 0; +#X connect 14 0 9 0; +#X connect 14 1 10 0; +#X connect 14 2 16 0; +#X connect 14 3 17 0; +#X connect 15 0 9 0; +#X connect 15 1 10 0; +#X connect 15 2 11 0; +#X connect 15 3 12 0; +#X connect 15 4 22 0; +#X connect 16 0 11 0; +#X connect 17 0 12 0; +#X connect 18 0 19 0; +#X connect 18 1 19 1; +#X connect 18 2 20 0; +#X connect 18 3 21 0; +#X connect 19 0 6 3; +#X connect 20 0 19 2; +#X connect 21 0 19 3; +#X connect 22 0 4 0; +#X connect 22 1 17 1; +#X connect 22 1 16 1; +#X connect 22 1 23 0; +#X connect 23 0 24 0; +#X connect 23 1 21 1; +#X connect 23 1 20 1; +#X connect 24 0 21 1; +#X connect 24 0 20 1; diff --git a/sample.bounds_-help.pd b/sample.bounds_-help.pd new file mode 100644 index 0000000..9f76bca --- /dev/null +++ b/sample.bounds_-help.pd @@ -0,0 +1,30 @@ +#N struct 1247preview float x float y float p float h; +#N canvas 176 98 792 472 10; +#X text 70 19 Description: Graphical version of sample.bounds.; +#X text 399 181 * Click and drag the horizontal slider sideways \, +up and down to change a samples start and length bounds.; +#X text 399 218 * The center section display from left to right: start +\, length and frames. The first two are editable.; +#X text 402 256 * The bottom section sets the start or length to fractions +of the total file.; +#X obj 73 326 sample.bounds_; +#X text 70 36 Flags: gui sample_id; +#X obj 73 149 file.path.top; +#X obj 73 89 loadbang; +#X obj 73 212 sample.display_; +#X text 70 54 Version: 2007-06-12; +#X msg 73 122 medias/sounds/loop0.wav; +#X obj 73 174 sample.filer; +#X text 402 289 * The loop section controls the loop points (displayed +as a green and orange bars in smaple.display_).; +#X text 70 391 The greyed number boxes indicate that the actual stored +and sent value is divided by 100 So \, if a grey box display 50 \, +the actual value is 0.5. This is done to simplify the user input of +values in decimal ranges.; +#X msg 248 123 medias/sounds/loop1.wav; +#X connect 6 0 11 0; +#X connect 7 0 10 0; +#X connect 8 0 4 0; +#X connect 10 0 6 0; +#X connect 11 0 8 0; +#X connect 14 0 6 0; diff --git a/sample.bounds_.pd b/sample.bounds_.pd new file mode 100644 index 0000000..2f94540 --- /dev/null +++ b/sample.bounds_.pd @@ -0,0 +1,216 @@ +#N canvas 116 58 912 714 10; +#X obj 103 100 hsl 295 15 0 1 0 0 empty empty empty -2 -6 0 8 -1 -262144 +-1 0 1; +#X obj -280 -160 inlet; +#X obj 100 117 cnv 15 98 15 empty empty empty 3 8 0 8 -1 -262144 0 +; +#X obj 301 117 cnv 15 99 15 empty \$0framesd 0 3 8 0 8 -1 -262144 0 +; +#X obj -304 518 outlet; +#X obj 200 117 cnv 15 99 15 empty empty empty 3 8 0 8 -1 -262144 0 +; +#X obj 103 118 nbx 11 14 0 0 0 0 empty empty st 80 8 0 8 -1 -262144 +-262144 0 256; +#X obj 204 117 nbx 11 14 0 0 0 0 empty empty len 75 8 0 8 -1 -262144 +-262144 0 256; +#X msg 315 6 set \$1; +#X msg 339 191 set \$1; +#X obj 454 89 makesymbol %s; +#N canvas 0 0 649 523 mouse 0; +#X obj 214 305 MouseState; +#X msg 111 169 0; +#X obj 49 362 sel 0; +#X msg 188 231 nopoll; +#X obj 71 425 t b b; +#X msg 191 116 1; +#X obj 39 130 spigot 1; +#X obj 167 386 spigot; +#X msg 71 275 1; +#X msg 107 453 0; +#X obj 57 64 inlet; +#X obj 330 467 outlet; +#X obj 377 195 f; +#X obj 49 182 t b b b; +#X obj 288 405 +; +#X obj 493 100 inlet frames; +#X obj 349 100 inlet length; +#X msg 49 206 zero \, poll; +#X obj 485 259 / -300; +#X obj 265 375 * -1000; +#X obj 320 434 clip 0 0; +#X connect 0 0 7 0; +#X connect 0 2 19 0; +#X connect 1 0 6 1; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 4 0 9 0; +#X connect 4 1 3 0; +#X connect 5 0 6 1; +#X connect 6 0 13 0; +#X connect 7 0 2 0; +#X connect 8 0 7 1; +#X connect 9 0 7 1; +#X connect 10 0 6 0; +#X connect 12 0 14 1; +#X connect 13 0 17 0; +#X connect 13 1 12 0; +#X connect 13 2 1 0; +#X connect 13 2 8 0; +#X connect 14 0 20 0; +#X connect 15 0 18 0; +#X connect 15 0 20 2; +#X connect 16 0 12 1; +#X connect 17 0 0 0; +#X connect 18 0 19 1; +#X connect 19 0 14 0; +#X connect 20 0 11 0; +#X restore 105 402 pd mouse; +#X msg 372 51 0; +#X obj 418 -20 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 292 35 set \$1; +#X obj 100 134 cnv 15 98 15 empty empty empty 3 8 0 8 -1 -262144 0 +; +#X obj 101 135 hradio 12 1 0 8 \$0js empty empty 0 -6 0 8 -1 -262144 +-1 0; +#X obj 210 -7 r \$0js; +#X obj 448 153 s \$0framesd; +#X obj 214 29 / 8; +#X obj 40 55 s \$0frames; +#X obj 475 61 r \$0frames; +#X obj 473 278 / 8; +#X obj 514 280 r \$0frames; +#X obj 455 311 *; +#X obj 476 235 r \$0jl; +#X obj 200 134 cnv 15 99 15 empty empty empty 3 8 0 8 -1 -262144 0 +; +#X obj 202 135 hradio 12 1 0 8 \$0jl empty empty 0 -6 0 8 -1 -262144 +-1 0; +#X obj 475 256 + 1; +#X obj -283 62 sample.bounds; +#X msg 449 123 label \$1; +#N canvas 0 0 687 608 ranges 0; +#X msg 180 415 range 0 \$1; +#X obj 270 214 r \$0frames; +#X obj 346 252 r \$0mode; +#X obj 263 272 demultiplex; +#X msg 319 426 range 0 100; +#X obj 240 485 outlet; +#X connect 0 0 5 0; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 0 0; +#X connect 3 1 4 0; +#X connect 4 0 5 0; +#X restore 227 55 pd ranges; +#X obj 118 263 t f f; +#X msg 296 333 set \$1; +#X msg -97 246 set \$1; +#X msg -54 167 set \$1; +#X obj 272 267 *; +#X obj 312 252 r \$0frames; +#X obj 308 380 /; +#X obj 358 366 r \$0frames; +#X obj 154 372 r \$0frames; +#X obj 301 134 cnv 14 98 14 empty empty loop 3 8 0 8 -1 -262144 0; +#X obj 333 134 nbx 3 14 0 100 0 0 empty empty empty 0 -8 0 8 -1 -166441 +-1 0 256; +#X obj 367 134 nbx 3 14 0 100 0 0 empty empty empty 0 -8 0 8 -1 -166441 +-1 0 256; +#X msg -176 496 set \$1; +#X msg -30 454 set \$1; +#X obj -197 448 * 100; +#X obj 66 452 * 100; +#X obj -198 -79 t b f; +#X obj -63 -49 / 100; +#X obj -150 -129 / 100; +#X obj -235 -79 f; +#X obj -77 120 t f f f; +#X obj -152 -37 t b f; +#X obj -209 523 outlet; +#X obj -11 519 outlet; +#X obj -120 526 outlet; +#X obj 135 521 outlet; +#X obj 63 517 outlet; +#X obj -213 385 t f f f; +#X obj 47 425 t f f f; +#X obj -116 103 t f f; +#X obj -11 55 t f f; +#X obj -15 -164 inlet bounds; +#X obj -262 2 pack f f f f; +#X obj -193 -49 t b f; +#X obj -163 163 t f f f; +#X connect 0 0 11 0; +#X connect 0 0 36 0; +#X connect 1 0 29 0; +#X connect 6 0 32 0; +#X connect 7 0 53 0; +#X connect 10 0 30 0; +#X connect 11 0 7 0; +#X connect 12 0 8 0; +#X connect 12 0 9 0; +#X connect 12 0 14 0; +#X connect 12 0 10 0; +#X connect 13 0 12 0; +#X connect 17 0 19 0; +#X connect 19 0 0 0; +#X connect 21 0 10 0; +#X connect 22 0 24 0; +#X connect 23 0 24 1; +#X connect 24 0 7 0; +#X connect 25 0 28 0; +#X connect 28 0 22 0; +#X connect 29 0 4 0; +#X connect 29 1 59 0; +#X connect 29 2 60 0; +#X connect 29 3 66 0; +#X connect 29 4 61 0; +#X connect 29 5 62 0; +#X connect 30 0 18 0; +#X connect 31 0 7 0; +#X connect 31 0 6 0; +#X connect 32 0 65 0; +#X connect 32 1 38 0; +#X connect 33 0 0 0; +#X connect 34 0 6 0; +#X connect 35 0 7 0; +#X connect 36 0 6 0; +#X connect 37 0 36 1; +#X connect 38 0 33 0; +#X connect 39 0 38 1; +#X connect 40 0 11 2; +#X connect 42 0 50 0; +#X connect 43 0 49 0; +#X connect 44 0 42 0; +#X connect 45 0 43 0; +#X connect 46 0 44 0; +#X connect 47 0 45 0; +#X connect 48 0 51 0; +#X connect 48 1 64 1; +#X connect 49 0 48 0; +#X connect 50 0 51 0; +#X connect 51 0 64 0; +#X connect 52 0 35 0; +#X connect 52 1 64 3; +#X connect 52 2 11 1; +#X connect 53 0 64 0; +#X connect 53 1 64 3; +#X connect 59 0 54 0; +#X connect 59 1 46 0; +#X connect 59 2 51 1; +#X connect 60 0 56 0; +#X connect 60 1 47 0; +#X connect 60 2 64 1; +#X connect 61 0 58 0; +#X connect 61 1 52 0; +#X connect 62 0 57 0; +#X connect 62 1 20 0; +#X connect 63 0 29 1; +#X connect 64 0 29 1; +#X connect 65 0 64 0; +#X connect 65 1 64 2; +#X connect 66 0 55 0; +#X connect 66 1 34 0; +#X connect 66 2 64 2; +#X coords 0 -1 1 1 300 49 1 100 100; diff --git a/sample.display_-help.pd b/sample.display_-help.pd new file mode 100644 index 0000000..68da766 --- /dev/null +++ b/sample.display_-help.pd @@ -0,0 +1,16 @@ +#N canvas 116 68 597 370 10; +#X text 36 20 Description: Displays a "sample".; +#X text 35 59 Version: 2006-01-11; +#X text 36 39 Flags: gui sample_id; +#X text 162 185 Inlet_1: sample_id signal; +#X text 161 204 Outlet_1: sample_id signal; +#X msg 35 142 medias/sounds/loop0.wav; +#X text 35 119 Click below; +#X msg 207 142 medias/sounds/loop1.wav; +#X obj 35 233 sample.display_; +#X obj 35 208 sample.print 1; +#X obj 35 185 sample.filer; +#X connect 5 0 10 0; +#X connect 7 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; diff --git a/sample.display_.pd b/sample.display_.pd new file mode 100644 index 0000000..feef30d --- /dev/null +++ b/sample.display_.pd @@ -0,0 +1,330 @@ +#N canvas 0 27 1028 718 10; +#X obj 335 -199 inlet; +#X obj 475 295 pack s s; +#X obj 259 -117 outlet; +#X obj 562 479 s \$0label; +#X msg 503 446 label \$1; +#X obj 470 408 makesymbol %s(%s); +#X obj 332 -162 t f f; +#X msg 635 448 label -no_sample-; +#X obj 907 -173 bng 15 250 50 0 empty empty CLEAR 0 -6 0 8 -262144 +-1 -1; +#X obj 571 107 t f f; +#N canvas 0 0 1012 734 boundaries_vis 0; +#X obj 791 27 inlet reset; +#X obj 340 709 s \$0selected; +#X msg 357 560 1; +#X obj 132 593 + 100; +#X text 242 582 start; +#X text 479 596 length; +#X obj 330 523 t b b; +#X obj 46 832 outlet; +#X obj 777 827 outlet; +#X obj 23 13 inlet start; +#X obj 121 11 inlet length; +#X obj 937 100 r \$0clear; +#X obj 124 521 clip 1 299; +#X obj 415 559 clip 1 298; +#X msg 307 551 1; +#X obj 808 631 * 298; +#X obj 124 475 * 298; +#X obj 438 523 * 298; +#X msg 126 622 pos \$1 117; +#X msg 436 626 vis_size \$1 63; +#X connect 0 0 6 0; +#X connect 2 0 19 0; +#X connect 3 0 18 0; +#X connect 6 0 14 0; +#X connect 6 1 2 0; +#X connect 9 0 16 0; +#X connect 10 0 15 0; +#X connect 10 0 17 0; +#X connect 11 0 6 0; +#X connect 12 0 3 0; +#X connect 12 0 7 0; +#X connect 13 0 19 0; +#X connect 14 0 3 0; +#X connect 15 0 8 0; +#X connect 16 0 12 0; +#X connect 17 0 13 0; +#X connect 18 0 1 0; +#X connect 19 0 1 0; +#X restore 505 136 pd boundaries_vis; +#N canvas 141 378 458 308 \$0preview 0; +#X obj 11 155 struct \$0preview float x float y float p float h; +#X obj 15 93 drawpolygon \$1 1 0 0 0 h; +#X restore 39 -122 pd \$0preview; +#X obj 1001 568 s \$0rec; +#X obj 997 388 int; +#X obj 999 410 change; +#X obj 1026 433 + 100; +#X msg 1001 455 pos \$1 116; +#X msg 841 423 1; +#X obj 850 450 change -1; +#X obj 808 377 r \$0clear; +#X obj 513 345 t l b; +#X obj 876 474 sel 0 1; +#X msg 792 446 0; +#X msg 949 515 vis_size 1 65; +#X msg 771 532 vis_size 1 1 \, pos 101 101; +#X obj 882 323 f; +#X obj 994 366 * 300; +#X obj 390 260 file.path.split; +#X obj 678 148 convert.smp2time; +#X obj 740 62 s \$0channels; +#X obj 633 13 unpack f f f; +#X obj 409 -96 sample.handler; +#X obj 821 -216 loadbang; +#N canvas 0 34 1028 734 loop_vis 0; +#X obj 275 24 inlet; +#X obj 377 24 inlet; +#X obj 68 367 s \$0l_i; +#X obj 188 149 * 1; +#X obj 181 70 t b f; +#X obj 228 361 s \$0l_o; +#X obj 83 117 f 0; +#X obj 185 119 f 1; +#X obj 84 143 * 0; +#X obj 91 175 +; +#X obj 73 296 + 100; +#X obj 196 180 +; +#X obj 207 287 + 100; +#X obj 472 19 inlet; +#X obj 104 202 int; +#X obj 192 208 int; +#X obj 255 148 - 1; +#X msg 409 131 298; +#X msg 352 123 1; +#X obj 440 85 r \$0clear; +#X obj 133 21 inlet out; +#X obj 53 24 inlet in; +#X obj 207 253 clip 1 298; +#X obj 41 240 clip 1 298; +#X msg 134 402 vis_size 1 63; +#X msg 320 391 vis_size 1 63; +#X msg 75 336 pos \$1 117; +#X msg 220 332 pos \$1 117; +#X connect 0 0 4 0; +#X connect 1 0 8 1; +#X connect 1 0 3 1; +#X connect 3 0 11 0; +#X connect 4 0 6 0; +#X connect 4 0 7 0; +#X connect 4 1 16 0; +#X connect 4 1 9 1; +#X connect 6 0 8 0; +#X connect 7 0 3 0; +#X connect 8 0 9 0; +#X connect 9 0 14 0; +#X connect 10 0 26 0; +#X connect 11 0 15 0; +#X connect 12 0 27 0; +#X connect 13 0 18 0; +#X connect 13 0 17 0; +#X connect 14 0 23 0; +#X connect 15 0 22 0; +#X connect 16 0 11 1; +#X connect 17 0 22 0; +#X connect 18 0 10 0; +#X connect 19 0 17 0; +#X connect 19 0 18 0; +#X connect 20 0 7 0; +#X connect 21 0 6 0; +#X connect 22 0 12 0; +#X connect 23 0 10 0; +#X connect 24 0 2 0; +#X connect 25 0 5 0; +#X connect 26 0 2 0; +#X connect 27 0 5 0; +#X restore 472 181 pd loop_vis; +#N canvas 0 0 1028 734 draw 0; +#N canvas 0 0 977 734 dumptables 0; +#X obj 110 35 inlet; +#X msg 121 199 set \$1p0; +#X msg 319 185 set \$1p1; +#X obj 43 608 outlet; +#X obj 374 114 r \$0channels; +#X obj 280 142 spigot; +#X obj 352 140 > 1; +#X obj 522 51 inlet stop; +#X obj 24 179 sel 300; +#X obj 25 139 count.timed 3; +#X obj 34 305 tabread; +#X obj 196 320 tabread; +#X obj 559 608 outlet; +#X obj 115 89 t b a a a b; +#X msg 197 173 set \$1p0; +#X obj 53 203 t f f f; +#X obj 68 527 pack f f f; +#X connect 0 0 13 0; +#X connect 1 0 10 0; +#X connect 2 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 6 0 5 1; +#X connect 7 0 9 2; +#X connect 8 0 9 2; +#X connect 8 1 15 0; +#X connect 9 0 8 0; +#X connect 10 0 16 0; +#X connect 11 0 16 1; +#X connect 13 0 9 0; +#X connect 13 1 1 0; +#X connect 13 2 5 0; +#X connect 13 3 14 0; +#X connect 13 4 12 0; +#X connect 14 0 11 0; +#X connect 15 0 10 0; +#X connect 15 1 11 0; +#X connect 15 2 16 2; +#X connect 16 0 3 0; +#X restore 488 313 pd dumptables; +#N canvas 15 41 549 631 traversal 0; +#X text 488 -32 click to get pointer; +#X obj 461 -11 f \$0; +#X obj 462 10 makesymbol pd-%sdata; +#X obj 458 -37 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 468 51 traverse \$1 \, bang; +#X obj 470 90 pointer; +#X msg 501 -98 \; \$1 clear; +#X obj 506 -134 makesymbol pd-%sdata; +#X obj 513 -160 f \$0; +#X obj 124 198 append \$0preview x y h; +#X obj 428 -333 inlet; +#X msg 171 135 \$2 0 \$1; +#X obj 415 -211 t b b b; +#X msg 494 -229 0; +#X obj 7 -315 inlet l_r_x; +#X obj 27 -165 unpack f f f; +#X msg 68 133 \$3 \$2 \$1; +#X obj 18 -50 +; +#X obj 54 -117 t f f; +#X obj 59 94 pack f f f; +#X obj 66 -61 * -1; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 9 3; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 10 0 12 0; +#X connect 11 0 9 0; +#X connect 12 0 3 0; +#X connect 12 1 8 0; +#X connect 12 2 13 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 15 1 18 0; +#X connect 15 2 19 2; +#X connect 16 0 9 0; +#X connect 17 0 19 0; +#X connect 18 0 17 1; +#X connect 18 1 20 0; +#X connect 19 0 16 0; +#X connect 20 0 19 1; +#X restore 488 446 pd traversal; +#X obj 359 -101 inlet; +#X obj 499 -110 inlet table_id; +#X obj 485 129 f; +#X obj 642 352 r \$0clear; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 2 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 0 0; +#X connect 5 0 1 1; +#X connect 5 0 0 1; +#X restore 257 64 pd draw; +#X obj 626 65 s \$0frames; +#N canvas 52 568 399 343 \$0data 0; +#X coords 0 1.3 300 -1 300 65 1; +#X restore 100 116 pd \$0data; +#X obj 101 117 cnv 1 1 63 empty \$0selected empty 20 12 0 14 -191407 +-1 0; +#X obj 101 101 cnv 1 1 1 empty \$0rec empty 20 12 0 14 -258699 -66577 +0; +#X obj 101 117 cnv 1 1 63 empty \$0l_i empty 20 12 0 14 -23558 -66577 +0; +#X obj 398 117 cnv 1 1 63 empty \$0l_o empty 20 12 0 14 -260818 -66577 +0; +#X obj 100 100 cnv 15 300 15 empty \$0label -no_sample- 3 9 0 8 -1 +-262144 0; +#X obj 453 85 unpack f f f f; +#X obj 639 422 r \$0clear; +#X obj 229 -15 sel -1 1; +#X obj 818 -44 s \$0clear; +#X obj 818 -74 t b b; +#X obj 819 -129 b; +#X obj 132 -23 spigot; +#X msg 185 32 1; +#X obj 243 23 t b b; +#X msg 286 9 0; +#X obj 159 -110 t f f; +#X obj 130 -57 sel 1 0; +#X obj 141 -82 == 1; +#X msg 240 -74 getfile; +#X connect 0 0 6 0; +#X connect 1 0 20 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 2 0; +#X connect 6 1 31 0; +#X connect 7 0 3 0; +#X connect 8 0 47 0; +#X connect 9 1 28 0; +#X connect 10 0 33 2; +#X connect 10 1 33 3; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 12 0; +#X connect 17 0 18 0; +#X connect 18 0 21 0; +#X connect 19 0 22 0; +#X connect 20 0 5 0; +#X connect 20 1 22 0; +#X connect 21 0 24 0; +#X connect 21 1 23 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 12 0; +#X connect 25 0 17 0; +#X connect 25 0 26 0; +#X connect 26 0 13 0; +#X connect 27 1 1 0; +#X connect 28 0 1 1; +#X connect 30 0 9 0; +#X connect 30 0 35 0; +#X connect 30 1 28 1; +#X connect 30 2 29 0; +#X connect 31 0 52 0; +#X connect 31 1 25 0; +#X connect 31 2 27 0; +#X connect 31 4 42 0; +#X connect 31 5 44 0; +#X connect 31 6 34 1; +#X connect 31 7 30 0; +#X connect 32 0 47 0; +#X connect 42 0 33 0; +#X connect 42 1 33 1; +#X connect 42 2 10 0; +#X connect 42 3 10 1; +#X connect 43 0 7 0; +#X connect 44 0 49 0; +#X connect 44 1 50 0; +#X connect 46 0 45 0; +#X connect 47 0 46 0; +#X connect 48 0 31 4; +#X connect 49 0 48 1; +#X connect 50 0 34 0; +#X connect 50 1 51 0; +#X connect 51 0 48 1; +#X connect 52 0 54 0; +#X connect 53 0 48 0; +#X connect 53 0 55 0; +#X connect 53 1 46 0; +#X connect 54 0 53 0; +#X connect 55 0 31 1; +#X coords 0 -1 1 1 300 81 1 100 100; diff --git a/sample.drum.machine~-help.pd b/sample.drum.machine~-help.pd new file mode 100644 index 0000000..37704e4 --- /dev/null +++ b/sample.drum.machine~-help.pd @@ -0,0 +1,145 @@ +#N canvas 358 47 959 708 10; +#X declare -lib iemmatrix; +#X obj 62 327 mix.out_~; +#X obj 44 -64 timing.tempo_ 120 1 8; +#X msg 63 200 36; +#X msg 124 200 39; +#X msg 156 200 41; +#X msg 187 200 42; +#X msg 217 200 46; +#X msg 250 200 48; +#X msg 283 200 49; +#X msg 63 261 \$1 127; +#X msg 92 200 38; +#X obj 481 -113 loadbang; +#N canvas 0 0 470 320 randomize 0; +#X obj 204 160 convert.byte2binary; +#X obj 137 23 inlet; +#X obj 136 253 outlet; +#X obj 211 135 random 255; +#X obj 135 83 flow.iter; +#X msg 134 51 8; +#X obj 138 126 t f b; +#X obj 125 216 list append; +#X connect 0 0 7 1; +#X connect 1 0 5 0; +#X connect 3 0 0 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 1 3 0; +#X connect 7 0 2 0; +#X restore 199 0 pd randomize; +#X obj 199 -19 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#N canvas 0 0 450 300 GENERAL_MIDI_PERCUSSION_MAP 0; +#X text 54 84 35 - Acoustic BD; +#X text 55 64 General MIDI Percussion Key Map; +#X text 54 98 36 - Bass Drum 1; +#X text 54 161 40 - Electric Snare; +#X text 54 145 39 - Hand Clap; +#X text 54 129 38 - Acoustic Snare; +#X text 54 114 37 - Stick; +#X text 54 176 41 - Low Floor Tom; +#X text 54 192 42 - Closed Hi-Hat; +#X text 198 82 43 - High Floor Tom; +#X text 198 98 44 - Pedal Hi-Hat; +#X text 198 114 45 - Low Tom; +#X text 198 130 46 - Open Hi-Hat; +#X text 198 146 47 - Low-Mid Tom; +#X text 198 161 48 - Hi-Mid Tom; +#X text 198 176 49 - Crash Cymbal 1; +#X text 199 192 50 - High Tom; +#X text 199 208 51 - Ride Cymbal 1; +#X restore 144 457 pd GENERAL_MIDI_PERCUSSION_MAP; +#X obj 63 282 sample.drum.machine~; +#X obj 44 20 seq.8x8_; +#X obj 62 305 fx.limiter~; +#X text 70 485 To assign a sample to a note \, simply send the message: +; +#X text 75 407 sample.drum.machine~ only triggers with midi NOTE ONs +of values 35 to 51 (note offs are ignored). This follows the general +midi percussion map.; +#X obj 504 18 file.folder.dump; +#X msg 611 -16 wav; +#X msg 504 -15 medias/sounds; +#X text 576 -62 This loads all the wavs found in medias/sounds; +#X text 564 53 All files are automatically indexed.; +#X text 50 -111 Description: A drum machine for sample_id streams. +; +#X obj 481 -85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 504 105 sample.bank; +#X obj 335 133 sample.bank.browser_; +#X obj 482 -56 t b b b; +#X text 70 506 "(midi_note) (sample_index)" if the sample.bank is linked +to the top patch.; +#X text 72 540 "(midi_note) (ID) (sample_index)" if the sample.bank +has an ID.; +#X obj 585 76 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 335 111 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 601 74 Add some more files (then bang sample.bank.browser_ +to update it's contents); +#X msg 504 52 auto \$1; +#X msg 419 309 36; +#X msg 480 309 39; +#X msg 512 309 41; +#X msg 543 309 42; +#X msg 573 309 46; +#X msg 606 309 48; +#X msg 639 309 49; +#X msg 448 309 38; +#X obj 296 331 list prepend 36; +#X text 416 334 Select to which note you wish to assign this sample. +; +#X obj 296 355 flow.prepend set; +#X msg 296 379 48 7; +#X connect 1 0 16 0; +#X connect 2 0 9 0; +#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 15 0; +#X connect 10 0 9 0; +#X connect 11 0 26 0; +#X connect 12 0 16 1; +#X connect 13 0 12 0; +#X connect 15 0 17 0; +#X connect 15 1 17 1; +#X connect 16 1 2 0; +#X connect 16 2 10 0; +#X connect 16 3 3 0; +#X connect 16 4 4 0; +#X connect 16 5 5 0; +#X connect 16 6 6 0; +#X connect 16 7 7 0; +#X connect 16 8 8 0; +#X connect 17 0 0 0; +#X connect 17 1 0 1; +#X connect 20 0 35 0; +#X connect 21 0 20 1; +#X connect 22 0 20 0; +#X connect 26 0 29 0; +#X connect 28 0 44 0; +#X connect 29 0 33 0; +#X connect 29 1 22 0; +#X connect 29 2 21 0; +#X connect 32 0 27 0; +#X connect 33 0 28 0; +#X connect 35 0 27 0; +#X connect 36 0 44 1; +#X connect 37 0 44 1; +#X connect 38 0 44 1; +#X connect 39 0 44 1; +#X connect 40 0 44 1; +#X connect 41 0 44 1; +#X connect 42 0 44 1; +#X connect 43 0 44 1; +#X connect 44 0 15 1; +#X connect 44 0 46 0; +#X connect 46 0 47 0; diff --git a/sample.drum.machine~.pd b/sample.drum.machine~.pd new file mode 100644 index 0000000..c0733ff --- /dev/null +++ b/sample.drum.machine~.pd @@ -0,0 +1,300 @@ +#N canvas 248 153 807 682 10; +#X obj 41 16 inlet note_in; +#X obj 86 547 outlet~ left; +#X obj 207 546 outlet~ right; +#X obj 378 23 inlet assign; +#N canvas 0 0 1028 734 make_drums 0; +#X obj 470 600 flow.send; +#X obj 562 134 f \$0; +#X obj 562 192 convert.list2symbol none; +#X obj 243 65 t b b; +#X msg 459 152 clear; +#X obj 281 200 f \$0; +#X obj 16 283 flow.iter; +#X obj 170 112 t b b b b; +#X obj 113 171 sel 0; +#X msg 101 198 1; +#X obj 189 185 flow.iter; +#X obj 193 247 list.build; +#X obj 471 410 list trim; +#X obj 128 234 t f b f; +#X obj 66 383 t f f; +#X obj 10 328 t f f f; +#X obj 246 12 inlet; +#X msg 6 47 loadbang; +#X obj 31 251 t f f; +#X obj 245 281 t a a; +#X obj 491 329 list prepend obj 0 30 route; +#X msg 107 304 connect 0 0 4 0 \, connect 1 0 5 0; +#X obj -76 341 + 6; +#X obj -69 310 * 2; +#X obj -76 368 t f f; +#X obj -42 396 + 1; +#X msg 562 161 list pd- \$1 drums; +#X obj 130 148 f 17; +#X obj 65 356 * 100; +#X obj 262 332 list prepend obj 400 30 route; +#X obj -64 427 pack f f f f; +#X msg -107 542 connect 4 \$3 \$1 0 \, connect 5 \$3 \$2 1 \, connect +\$1 0 \$2 0 \, connect \$2 0 2 0 \, connect \$2 1 3 0 \, connect 5 +\$4 \$2 1; +#X msg 217 414 obj \$1 200 sample.r; +#X msg 44 415 obj \$1 300 sample.play~; +#X msg 346 255 obj 0 0 r \$1assign \, obj 120 0 r \$1notes \, obj 0 +500 throw~ \$1l \, obj 120 500 throw~ \$1r; +#X obj 244 218 + 35; +#X connect 1 0 26 0; +#X connect 2 0 0 1; +#X connect 3 0 7 0; +#X connect 3 1 1 0; +#X connect 4 0 0 0; +#X connect 5 0 34 0; +#X connect 6 0 15 0; +#X connect 7 0 17 0; +#X connect 7 1 27 0; +#X connect 7 2 5 0; +#X connect 7 3 4 0; +#X connect 8 0 9 0; +#X connect 8 1 13 0; +#X connect 9 0 13 0; +#X connect 10 0 35 0; +#X connect 10 1 11 0; +#X connect 11 0 19 0; +#X connect 12 0 0 0; +#X connect 13 0 18 0; +#X connect 13 1 21 0; +#X connect 13 2 10 0; +#X connect 14 0 33 0; +#X connect 14 1 32 0; +#X connect 15 0 23 0; +#X connect 15 1 30 2; +#X connect 15 2 28 0; +#X connect 16 0 3 0; +#X connect 17 0 0 0; +#X connect 18 0 6 0; +#X connect 18 1 30 3; +#X connect 19 0 29 0; +#X connect 19 1 20 0; +#X connect 20 0 12 0; +#X connect 21 0 0 0; +#X connect 22 0 24 0; +#X connect 23 0 22 0; +#X connect 24 0 30 0; +#X connect 24 1 25 0; +#X connect 25 0 30 1; +#X connect 26 0 2 0; +#X connect 27 0 8 0; +#X connect 28 0 14 0; +#X connect 29 0 12 0; +#X connect 30 0 31 0; +#X connect 31 0 0 0; +#X connect 32 0 0 0; +#X connect 33 0 0 0; +#X connect 34 0 0 0; +#X connect 35 0 11 1; +#X restore 293 632 pd make_drums; +#N canvas 33 22 995 687 \$0drums 0; +#X obj 0 30 route 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 +; +#X obj 400 30 route 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 +51; +#X obj 0 200 sample.r; +#X obj 0 300 sample.play~; +#X obj 100 200 sample.r; +#X obj 100 300 sample.play~; +#X obj 200 200 sample.r; +#X obj 200 300 sample.play~; +#X obj 300 200 sample.r; +#X obj 300 300 sample.play~; +#X obj 400 200 sample.r; +#X obj 400 300 sample.play~; +#X obj 500 200 sample.r; +#X obj 500 300 sample.play~; +#X obj 600 200 sample.r; +#X obj 600 300 sample.play~; +#X obj 700 200 sample.r; +#X obj 700 300 sample.play~; +#X obj 800 200 sample.r; +#X obj 800 300 sample.play~; +#X obj 900 200 sample.r; +#X obj 900 300 sample.play~; +#X obj 1000 200 sample.r; +#X obj 1000 300 sample.play~; +#X obj 1100 200 sample.r; +#X obj 1100 300 sample.play~; +#X obj 1200 200 sample.r; +#X obj 1200 300 sample.play~; +#X obj 1300 200 sample.r; +#X obj 1300 300 sample.play~; +#X obj 1400 200 sample.r; +#X obj 1400 300 sample.play~; +#X obj 1500 200 sample.r; +#X obj 1500 300 sample.play~; +#X obj 1600 200 sample.r; +#X obj 1600 300 sample.play~; +#X obj 0 500 outlet~; +#X obj 120 500 outlet~; +#X obj 0 0 inlet; +#X obj 120 0 inlet; +#X obj 776 506 outlet; +#X connect 0 0 2 0; +#X connect 0 1 4 0; +#X connect 0 2 6 0; +#X connect 0 3 8 0; +#X connect 0 4 10 0; +#X connect 0 5 12 0; +#X connect 0 6 14 0; +#X connect 0 7 16 0; +#X connect 0 8 18 0; +#X connect 0 9 20 0; +#X connect 0 10 22 0; +#X connect 0 11 24 0; +#X connect 0 12 26 0; +#X connect 0 13 28 0; +#X connect 0 14 30 0; +#X connect 0 15 32 0; +#X connect 0 16 34 0; +#X connect 0 17 40 0; +#X connect 1 0 3 1; +#X connect 1 1 5 1; +#X connect 1 2 7 1; +#X connect 1 3 9 1; +#X connect 1 4 11 1; +#X connect 1 5 13 1; +#X connect 1 6 15 1; +#X connect 1 7 17 1; +#X connect 1 8 19 1; +#X connect 1 9 21 1; +#X connect 1 10 23 1; +#X connect 1 11 25 1; +#X connect 1 12 27 1; +#X connect 1 13 29 1; +#X connect 1 14 31 1; +#X connect 1 15 33 1; +#X connect 1 16 35 1; +#X connect 1 17 3 1; +#X connect 1 17 5 1; +#X connect 1 17 7 1; +#X connect 1 17 9 1; +#X connect 1 17 11 1; +#X connect 1 17 13 1; +#X connect 1 17 15 1; +#X connect 1 17 17 1; +#X connect 1 17 19 1; +#X connect 1 17 21 1; +#X connect 1 17 23 1; +#X connect 1 17 25 1; +#X connect 1 17 27 1; +#X connect 1 17 29 1; +#X connect 1 17 31 1; +#X connect 1 17 33 1; +#X connect 1 17 35 1; +#X connect 2 0 3 0; +#X connect 3 0 36 0; +#X connect 3 1 37 0; +#X connect 4 0 5 0; +#X connect 5 0 36 0; +#X connect 5 1 37 0; +#X connect 6 0 7 0; +#X connect 7 0 36 0; +#X connect 7 1 37 0; +#X connect 8 0 9 0; +#X connect 9 0 36 0; +#X connect 9 1 37 0; +#X connect 10 0 11 0; +#X connect 11 0 36 0; +#X connect 11 1 37 0; +#X connect 12 0 13 0; +#X connect 13 0 36 0; +#X connect 13 1 37 0; +#X connect 14 0 15 0; +#X connect 15 0 36 0; +#X connect 15 1 37 0; +#X connect 16 0 17 0; +#X connect 17 0 36 0; +#X connect 17 1 37 0; +#X connect 18 0 19 0; +#X connect 19 0 36 0; +#X connect 19 1 37 0; +#X connect 20 0 21 0; +#X connect 21 0 36 0; +#X connect 21 1 37 0; +#X connect 22 0 23 0; +#X connect 23 0 36 0; +#X connect 23 1 37 0; +#X connect 24 0 25 0; +#X connect 25 0 36 0; +#X connect 25 1 37 0; +#X connect 26 0 27 0; +#X connect 27 0 36 0; +#X connect 27 1 37 0; +#X connect 28 0 29 0; +#X connect 29 0 36 0; +#X connect 29 1 37 0; +#X connect 30 0 31 0; +#X connect 31 0 36 0; +#X connect 31 1 37 0; +#X connect 32 0 33 0; +#X connect 33 0 36 0; +#X connect 33 1 37 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 35 1 37 0; +#X connect 38 0 0 0; +#X connect 39 0 1 0; +#X restore 106 491 pd \$0drums; +#X obj 342 155 route assign; +#X obj 61 102 unpack f f; +#X obj 126 127 sel 0; +#X obj 62 171 spigot; +#X msg 126 152 0; +#X obj 163 153 t b f; +#X msg 148 178 1; +#X obj 58 234 pack f 60 f; +#X obj 3 135 flow.split 35 51; +#X obj 427 260 list.length; +#X obj 344 216 t a a; +#X obj 427 285 == 2; +#X obj 327 319 demultiplex 0 1; +#X obj 427 348 list.split 1; +#X obj 490 435 list append; +#X obj 507 375 t b a; +#X obj 490 406 init.dollar.zero.top; +#X obj 374 453 list append; +#X text 294 600 This is an abstraction that helped create [pd \$0drums] +\, do not execute it again or you will break sample.drum.machine~. +; +#X obj 354 555 print !!!!:sample.drum.machine~; +#X msg 355 527 Assignement of \$3 to \$1(35-51) out of range.; +#X connect 0 0 7 0; +#X connect 3 0 6 0; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X connect 5 2 26 0; +#X connect 6 0 16 0; +#X connect 6 1 16 0; +#X connect 7 0 14 0; +#X connect 7 1 8 0; +#X connect 8 0 10 0; +#X connect 8 1 11 0; +#X connect 9 0 13 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 11 1 13 2; +#X connect 12 0 9 1; +#X connect 13 0 5 1; +#X connect 14 0 9 0; +#X connect 15 0 17 0; +#X connect 16 0 18 0; +#X connect 16 1 15 0; +#X connect 17 0 18 1; +#X connect 18 0 5 0; +#X connect 18 1 19 0; +#X connect 19 0 23 0; +#X connect 19 1 21 0; +#X connect 20 0 23 1; +#X connect 21 0 22 0; +#X connect 21 1 20 1; +#X connect 22 0 20 0; +#X connect 23 0 5 0; +#X connect 26 0 25 0; diff --git a/sample.filer-help.pd b/sample.filer-help.pd new file mode 100644 index 0000000..a625ccf --- /dev/null +++ b/sample.filer-help.pd @@ -0,0 +1,39 @@ +#N canvas 253 47 600 558 10; +#X obj 28 -81 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 26 -165 cnv 15 430 22 empty empty empty 20 12 0 14 -241404 -66577 +0; +#X text 39 -119 Author: Thomas Ouellet Fredericks; +#X text 39 -134 Description: [soundfiler] adapted for the "sample" +format.; +#X obj 26 -144 cnv 6 430 1 empty empty ::sample.filer:: 0 -10 0 12 +-66577 -66577 0; +#X text 382 -161 Version: 1; +#X obj 26 -165 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj 39 289 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 38 -102 Flags: sample_id; +#X obj 36 87 file.path.top; +#X obj 165 93 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 188 92 <- Try with one of your own sound files!; +#X text 33 21 Click below to watch the sample load in the sample.table. +; +#X text 37 259 -- OTHER MESSAGES --; +#X text 58 289 turn on/off the sample_id signal.; +#X msg 36 41 medias/sounds/loop0.wav; +#X msg 215 41 medias/sounds/loop1.wav; +#X text 33 -58 This method can load any file Pure Data's soundfiler +object can read BUT it will not be capable of extracting information +(number of channels \, samplerate \, etc) if the file is not a 16 bit +WAV file.; +#X obj 36 148 sample.display_; +#X obj 39 326 sample.filer; +#X obj 36 121 sample.filer; +#X connect 7 0 19 0; +#X connect 9 0 20 0; +#X connect 10 0 20 0; +#X connect 15 0 9 0; +#X connect 16 0 9 0; +#X connect 20 0 18 0; diff --git a/sample.filer.pd b/sample.filer.pd new file mode 100644 index 0000000..669671b --- /dev/null +++ b/sample.filer.pd @@ -0,0 +1,57 @@ +#N canvas 0 0 1012 718 10; +#X obj 29 -76 inlet file; +#X obj 122 817 outlet sample_id; +#X obj 190 3 list; +#X obj 180 28 list2symbol; +#X obj 83 15 openpanel; +#X obj 83 -27 route bang float; +#X obj 824 78 print sample.filer; +#X obj 291 477 s \$0loadedfile; +#X obj 320 29 r \$0loadedfile; +#X obj 179 70 sel symbol; +#X obj 307 109 symbol; +#X obj 229 367 include/sample.load_file_in_table; +#X obj 304 161 send \$0print; +#X obj 823 37 r \$0print; +#X msg 307 136 File \$1 already loaded! Igoring.; +#X obj 229 451 f; +#X obj 291 447 symbol; +#X obj 229 403 t b b; +#X obj 228 497 t b f; +#X msg 166 597 1; +#X msg 216 603 set 1 5 0 1 5 0 1 0 1 1 \$1; +#X obj 143 331 file.path.top; +#X obj 229 286 t s s s b; +#X obj 424 303 sample.table; +#X obj 123 742 sample.generator; +#X connect 0 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 9 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 5 1 24 0; +#X connect 5 2 2 0; +#X connect 8 0 9 1; +#X connect 8 0 10 1; +#X connect 9 0 10 0; +#X connect 9 1 22 0; +#X connect 10 0 14 0; +#X connect 11 0 17 0; +#X connect 13 0 6 0; +#X connect 14 0 12 0; +#X connect 15 0 18 0; +#X connect 16 0 7 0; +#X connect 17 0 15 0; +#X connect 17 1 16 0; +#X connect 18 0 19 0; +#X connect 18 1 20 0; +#X connect 19 0 24 1; +#X connect 20 0 24 0; +#X connect 21 0 11 0; +#X connect 22 0 21 0; +#X connect 22 1 16 1; +#X connect 22 2 11 1; +#X connect 22 3 23 0; +#X connect 23 0 11 2; +#X connect 23 0 15 1; +#X connect 24 0 1 0; diff --git a/sample.generator-help.pd b/sample.generator-help.pd new file mode 100644 index 0000000..7e0c98f --- /dev/null +++ b/sample.generator-help.pd @@ -0,0 +1,52 @@ +#N canvas 0 0 1028 734 10; +#X floatatom 177 553 5 0 0 1 sample_id - -; +#X msg 229 295 -1; +#X msg 261 295 0; +#X msg 300 296 1; +#X text 329 295 Status; +#X obj 148 251 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 176 247 on/off (on by default); +#X text 44 81 Flags: internal sample_id; +#X text 40 109 WARNING: This is an abstraction to help the development +of sample_id abstractions. It will be further documented in pdmtls +next release).; +#X obj 45 28 cnv 10 200 10 empty empty sample.generator 0 -10 0 16 +-33289 -66577 0; +#X text 43 47 Description: Generates a sample_id. It is to be used +inside the "sample_id" abstractions. Works with sample.handler.; +#X text 317 24 Version: 2007-06-12; +#X text 504 211 -1: Nothing loaded or invalid sample.; +#X text 457 193 Status values (second inlet of sample.generator):; +#X text 456 154 A sample_id stream must start with ONE sample.generator +nested inside your abstraction.; +#X text 472 280 Sample properties that can be set:; +#X msg 22 455 clear; +#X text 20 435 clear(and set status to -1); +#X obj 177 492 sample.generator ---; +#X text 503 407 inlet 8: sample format (frames samplerate channels) +; +#X text 510 227 1: Annouces that the sample is loaded and ready to +play.; +#X text 511 244 0: Announces the sample is loading or being changed. +; +#X text 173 583 Note: The sample_id is output every 50 milliseconds. +; +#X text 496 302 inlet 3: progress; +#X text 499 319 inlet 4: file name; +#X text 500 335 inlet 5: gadsr (gain attack decay sustain release) +; +#X text 501 352 inlet 6: bounds (loop_in loop_out start length); +#X text 502 372 inlet 6: preview_state; +#X text 503 388 inlet 7: table_id; +#X text 500 426 inlet 9: playback; +#X msg 33 505 dump; +#X obj 204 520 print dump; +#X connect 1 0 18 1; +#X connect 2 0 18 1; +#X connect 3 0 18 1; +#X connect 5 0 18 0; +#X connect 16 0 18 0; +#X connect 18 0 0 0; +#X connect 18 1 31 0; +#X connect 30 0 18 0; diff --git a/sample.generator.pd b/sample.generator.pd new file mode 100644 index 0000000..af39762 --- /dev/null +++ b/sample.generator.pd @@ -0,0 +1,306 @@ +#N canvas 0 0 1024 718 10; +#X obj 8 545 outlet; +#X obj -16 -77 inlet commands; +#N canvas 494 247 534 525 sample_id_metro 0; +#X obj 39 319 f \$0; +#X obj 122 75 loadbang; +#X obj 117 130 delay 5; +#X obj 118 101 random 200; +#X obj 18 147 t f b; +#X msg 44 173 stop; +#X obj 5 174 != 0; +#X obj 24 78 f 1; +#X obj 13 119 change -1; +#X obj 31 28 inlet; +#X obj 35 402 outlet; +#X obj 30 233 metro 50; +#X obj 278 39 inlet; +#X connect 0 0 10 0; +#X connect 1 0 3 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 6 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 8 0 4 0; +#X connect 9 0 7 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X restore 9 343 pd sample_id_metro; +#X obj 99 -78 inlet status; +#X obj 195 -89 inlet progress; +#X obj 232 -25 s \$0progress; +#X obj 395 120 sel -1 0 1; +#X msg 377 152 -1; +#X msg 421 151 0; +#X msg 472 155 1; +#X obj 359 -86 inlet gadsr; +#X text 735 -112 frames samplerate channels; +#X text 406 -115 gadsr; +#X text 565 -140 start length; +#X text 589 -111 preview_state table_id; +#X text 325 -122 name; +#X obj 915 -102 inlet playback; +#N canvas 566 401 462 312 gadsr 0; +#X obj 83 25 inlet; +#X obj 200 93 max 0; +#X obj 141 93 list.op; +#X obj 160 261 outlet; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X connect 2 0 3 0; +#X connect 2 1 1 0; +#X restore 369 -12 pd gadsr; +#X obj 449 544 outlet gadsr; +#X obj 929 545 outlet playback; +#X obj 615 541 outlet bounds; +#N canvas 0 0 1028 548 bounds 0; +#N canvas 0 0 462 312 check_loop 0; +#X obj 85 0 inlet; +#X obj 133 85 t f f; +#X obj 186 200 f; +#X obj 129 119 moses; +#X obj 51 85 t f b f; +#X obj 122 271 outlet; +#X obj 147 62 clip 0 1; +#X obj 37 55 clip 0 1; +#X obj 188 -1 inlet; +#X obj 227 266 outlet; +#X connect 0 0 7 0; +#X connect 1 0 3 1; +#X connect 1 1 2 1; +#X connect 2 0 9 0; +#X connect 3 1 2 1; +#X connect 4 0 5 0; +#X connect 4 1 2 0; +#X connect 4 2 3 0; +#X connect 6 0 1 0; +#X connect 7 0 4 0; +#X connect 8 0 6 0; +#X restore 93 160 pd check_loop; +#X obj 141 460 outlet send2all; +#X obj 146 97 unpack f f f f; +#X obj 125 36 inlet bounds; +#X obj 124 256 pack f f f f; +#N canvas 0 0 597 431 check_region 0; +#X obj 85 0 inlet; +#X obj 52 362 outlet; +#X obj 224 57 clip 0 1; +#X obj 37 55 clip 0 1; +#X obj 188 -1 inlet; +#X obj 226 362 outlet; +#X obj 136 164 +; +#X obj 157 197 > 1; +#X obj 224 92 t f f; +#X obj 194 279 f; +#X msg 256 288 1 \$1; +#X obj 262 315 -; +#X obj 161 232 sel 0 1; +#X obj 52 85 t f f f; +#X obj 257 259 f; +#X connect 0 0 3 0; +#X connect 2 0 8 0; +#X connect 3 0 13 0; +#X connect 4 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 12 0; +#X connect 8 0 6 1; +#X connect 8 1 9 1; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 11 0 5 0; +#X connect 12 0 9 0; +#X connect 12 1 14 0; +#X connect 13 0 1 0; +#X connect 13 1 6 0; +#X connect 13 2 14 1; +#X connect 14 0 10 0; +#X restore 209 167 pd check_region; +#X connect 0 0 4 0; +#X connect 0 1 4 1; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 2 2 5 0; +#X connect 2 3 5 1; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 4 2; +#X connect 5 1 4 3; +#X restore 510 -5 pd bounds; +#X obj 514 -84 inlet bounds; +#X obj 696 -82 inlet table_id; +#X text 428 -126 loop_in loop_out start length; +#X obj 216 580 outlet special; +#X obj 217 516 list prepend dump; +#X obj 215 544 list trim; +#N canvas 0 0 756 403 dump 0; +#X msg 307 152 0; +#X obj 349 221 list; +#X obj 276 243 list; +#X obj 163 261 list; +#X obj 126 71 t b b b b; +#X obj 165 305 outlet; +#X obj 129 18 inlet; +#X msg 451 152 0; +#X obj 69 175 tabdump \$0tgadsr; +#X obj 177 175 tabdump \$0tbounds; +#X obj 307 175 tabread \$0tplayback; +#X obj 451 175 tabread \$0ttable_id; +#X connect 0 0 10 0; +#X connect 1 0 2 1; +#X connect 2 0 3 1; +#X connect 3 0 5 0; +#X connect 4 0 8 0; +#X connect 4 1 9 0; +#X connect 4 2 0 0; +#X connect 4 3 7 0; +#X connect 6 0 4 0; +#X connect 7 0 11 0; +#X connect 8 0 3 0; +#X connect 9 0 2 0; +#X connect 10 0 1 0; +#X connect 11 0 1 1; +#X restore 218 475 pd dump; +#X obj 478 517 s \$0gadsr; +#X obj 449 494 t a a; +#X obj 605 478 t a a; +#X obj 653 498 s \$0bounds; +#X obj 934 485 t a a; +#X msg 1004 430 0; +#X msg 791 431 0; +#X obj 963 508 s \$0playback; +#N canvas 0 0 482 332 send_table_details 0; +#X obj 92 18 inlet; +#X obj 167 83 t f f f; +#X obj 22 191 tabread; +#X msg 22 149 set \$1p_s \, 0; +#X obj 224 188 tabdump; +#X obj 90 239 s \$0table_id; +#X obj 224 242 s \$0format; +#X obj 22 235 s \$0p_s; +#X obj 90 51 sel 0 -1; +#X msg 126 140 -1 -1; +#X obj 123 183 unpack f f; +#X msg 215 161 set \$1format \, bang; +#X connect 0 0 8 0; +#X connect 1 0 3 0; +#X connect 1 1 5 0; +#X connect 1 2 11 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 8 0 9 0; +#X connect 8 1 9 0; +#X connect 8 2 1 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 10 1 5 0; +#X connect 11 0 4 0; +#X restore 746 529 pd send_table_details; +#X obj 64 419 table \$0tgadsr 5; +#X obj 65 446 table \$0tbounds 4; +#X obj 480 434 tabdump \$0tgadsr; +#X obj 619 426 tabdump \$0tbounds; +#X obj 791 454 tabread \$0ttable_id; +#X obj 1004 453 tabread \$0tplayback; +#X obj 494 -41 r \$0rbounds; +#X obj 961 -75 r \$0rplayback; +#X obj 430 44 tabset \$0tgadsr; +#X obj 368 15 t a a; +#X obj 592 44 tabset \$0tbounds; +#X obj 537 27 t a a; +#X obj 750 65 tabwrite \$0ttable_id; +#X msg 750 27 \$1 0; +#X msg 932 -23 \$1 0; +#X obj 932 15 tabwrite \$0tplayback; +#X obj 883 -47 t f f; +#X obj 64 471 table \$0ttable_id 2; +#X obj 64 494 table \$0tplayback 2; +#X obj 66 518 table \$0tstatus 2; +#X obj 418 230 t f f; +#X msg 479 264 \$1 0; +#X obj 484 290 tabwrite \$0tstatus; +#X obj 478 182 t f b f; +#X obj 663 329 t b b b b; +#X obj 371 -50 r \$0rgadsr; +#X obj 389 288 s \$0status; +#X obj 9 0 route float bang dump set; +#N canvas 0 0 688 357 set_tables 0; +#X obj 55 24 inlet; +#X obj 58 83 list.split 5; +#X obj 127 115 list.split 4; +#X obj 196 144 list.split 1; +#X obj 37 266 tabset \$0tgadsr; +#X obj 152 269 tabset \$0tbounds; +#X obj 262 271 tabwrite \$0tplayback; +#X msg 255 197 \$1 0; +#X obj 426 276 tabwrite \$0ttable_id; +#X msg 390 198 \$1 0; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 2 0; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 3 0 7 0; +#X connect 3 1 9 0; +#X connect 7 0 6 0; +#X connect 9 0 8 0; +#X restore 154 63 pd set_tables; +#X connect 1 0 65 0; +#X connect 2 0 0 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 6 2 9 0; +#X connect 7 0 58 0; +#X connect 8 0 58 0; +#X connect 9 0 61 0; +#X connect 10 0 46 0; +#X connect 16 0 52 0; +#X connect 17 0 47 0; +#X connect 21 0 49 0; +#X connect 22 0 48 0; +#X connect 23 0 51 0; +#X connect 26 0 27 0; +#X connect 27 0 25 0; +#X connect 28 0 26 0; +#X connect 30 0 18 0; +#X connect 30 1 29 0; +#X connect 31 0 20 0; +#X connect 31 1 32 0; +#X connect 33 0 19 0; +#X connect 33 1 36 0; +#X connect 34 0 43 0; +#X connect 35 0 42 0; +#X connect 40 0 30 0; +#X connect 41 0 31 0; +#X connect 42 0 37 0; +#X connect 43 0 33 0; +#X connect 44 0 21 0; +#X connect 45 0 54 0; +#X connect 47 0 30 0; +#X connect 47 1 46 0; +#X connect 49 0 31 0; +#X connect 49 1 48 0; +#X connect 51 0 50 0; +#X connect 52 0 53 0; +#X connect 54 0 33 0; +#X connect 54 1 52 0; +#X connect 58 0 64 0; +#X connect 58 1 59 0; +#X connect 59 0 60 0; +#X connect 61 0 64 0; +#X connect 61 1 62 0; +#X connect 61 2 59 0; +#X connect 62 0 40 0; +#X connect 62 1 41 0; +#X connect 62 2 35 0; +#X connect 62 3 34 0; +#X connect 63 0 17 0; +#X connect 65 0 2 0; +#X connect 65 1 2 1; +#X connect 65 2 28 0; +#X connect 65 3 66 0; diff --git a/sample.groove.poly~-help.pd b/sample.groove.poly~-help.pd new file mode 100644 index 0000000..d8678a3 --- /dev/null +++ b/sample.groove.poly~-help.pd @@ -0,0 +1,72 @@ +#N struct 1130preview float x float y float p float h; +#N canvas 139 51 889 662 10; +#X msg 145 364 60 64; +#X msg 196 364 60 0; +#X msg 232 366 62 64; +#X msg 287 364 62 0; +#X obj 34 141 sample.filer; +#X obj 34 171 sample.display_; +#X obj 33 538 mix.out_~; +#X obj 34 262 sample.bounds_; +#X msg 119 433 loop 1; +#X msg 298 394 stop; +#X text 204 479 <-- first argument \, number of voices \; second argument +selects voice stealing; +#X text 154 533 You can also use all of sample.groove~'s messages and +settings. See sample.groove~'s help for more information.; +#X text 31 34 Description: A polyphonic version of sample.groove~. +; +#X obj 34 117 file.path.top; +#X obj 34 69 loadbang; +#X obj 34 323 sample.adsr_; +#X obj 488 63 timing.tempo_ 120 1 8; +#X obj 488 147 seq.8x8_; +#X msg 488 350 \$1 127; +#X obj 34 385 sample.pitch_; +#X obj 42 511 fx.limiter~; +#X obj 35 480 sample.groove.poly~ 4 1; +#X msg 488 318 60; +#X msg 517 318 61; +#X msg 549 318 62; +#X msg 581 318 63; +#X msg 612 318 64; +#X msg 642 318 65; +#X msg 676 317 66; +#X msg 706 317 67; +#X msg 34 89 medias/sounds/note0.wav; +#X connect 0 0 21 1; +#X connect 1 0 21 1; +#X connect 2 0 21 1; +#X connect 3 0 21 1; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 7 0 15 0; +#X connect 8 0 21 1; +#X connect 9 0 21 1; +#X connect 13 0 4 0; +#X connect 14 0 30 0; +#X connect 15 0 19 0; +#X connect 16 0 17 0; +#X connect 17 1 22 0; +#X connect 17 2 23 0; +#X connect 17 3 24 0; +#X connect 17 4 25 0; +#X connect 17 5 26 0; +#X connect 17 6 27 0; +#X connect 17 7 28 0; +#X connect 17 8 29 0; +#X connect 18 0 21 1; +#X connect 19 0 21 0; +#X connect 20 0 6 0; +#X connect 20 1 6 1; +#X connect 21 0 20 0; +#X connect 21 1 20 1; +#X connect 22 0 18 0; +#X connect 23 0 18 0; +#X connect 24 0 18 0; +#X connect 25 0 18 0; +#X connect 26 0 18 0; +#X connect 27 0 18 0; +#X connect 28 0 18 0; +#X connect 29 0 18 0; +#X connect 30 0 13 0; diff --git a/sample.groove.poly~.pd b/sample.groove.poly~.pd new file mode 100644 index 0000000..2a23fc3 --- /dev/null +++ b/sample.groove.poly~.pd @@ -0,0 +1,155 @@ +#N canvas 81 45 945 694 10; +#X obj -37 8 inlet sample_id; +#X obj 245 6 inlet note_in; +#X obj 275 218 s \$0notes; +#X obj 196 172 pack 0 0 0; +#N canvas 0 0 626 476 1407voices 0; +#X obj 0 0 r 1407sample_id; +#X obj 120 0 r 1407notes; +#X obj 300 120 throw~ 1407l; +#X obj 300 140 throw~ 1407r; +#X obj 120 30 route 1 2 3 4; +#X obj 0 60 sample.groove~; +#X obj 30 90 sample.groove~; +#X obj 60 120 sample.groove~; +#X obj 90 150 sample.groove~; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 0 0 7 0; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 4 0 5 1; +#X connect 4 1 6 1; +#X connect 4 2 7 1; +#X connect 4 3 8 1; +#X connect 4 4 5 1; +#X connect 4 4 6 1; +#X connect 4 4 7 1; +#X connect 4 4 8 1; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 6 0 2 0; +#X connect 6 1 3 0; +#X connect 7 0 2 0; +#X connect 7 1 3 0; +#X connect 8 0 2 0; +#X connect 8 1 3 0; +#X restore 547 266 pd \$0voices; +#X obj -37 211 s \$0sample_id; +#X obj 90 436 catch~ \$0l; +#X obj 198 438 catch~ \$0r; +#N canvas 0 0 1028 734 make_voices 0; +#X obj 130 148 f \$1; +#X obj 494 515 flow.send; +#X obj 400 93 f \$0; +#X obj 492 183 convert.list2symbol none; +#X obj 243 65 t b b; +#X msg 355 202 clear; +#X msg 402 130 list pd- \$1 voices; +#X obj 281 200 f \$0; +#X obj 16 283 flow.iter; +#X obj 170 112 t b b b b; +#X obj 113 171 sel 0; +#X msg 101 198 1; +#X obj 115 371 * 30; +#X msg 346 257 obj 0 0 r \$1sample_id \, obj 120 0 r \$1notes \, obj +300 120 throw~ \$1l \, obj 300 140 throw~ \$1r; +#X obj 205 438 pack; +#X obj 189 185 flow.iter; +#X obj 193 247 list.build; +#X obj 209 295 list prepend obj 120 30 route; +#X obj 233 324 list trim; +#X obj 128 234 t f b f; +#X msg 107 304 connect 1 0 4 0; +#X obj 158 382 t f f; +#X msg 212 472 obj \$1 \$2 sample.groove~; +#X obj 237 425 + 60; +#X obj -40 328 + 5; +#X obj 10 328 t f f f; +#X obj 246 12 inlet; +#X obj 244 218 + 1; +#X msg -90 519 loadbang; +#X obj -92 372 pack f f f; +#X obj 31 251 t f f; +#X msg -141 406 connect 0 0 \$1 0 \, connect 4 \$2 \$1 1 \, connect +\$1 0 2 0 \, connect \$1 1 3 0 \, connect 4 \$3 \$1 1; +#X connect 0 0 10 0; +#X connect 2 0 6 0; +#X connect 3 0 1 1; +#X connect 4 0 9 0; +#X connect 4 1 2 0; +#X connect 5 0 1 0; +#X connect 6 0 3 0; +#X connect 7 0 13 0; +#X connect 8 0 25 0; +#X connect 9 0 28 0; +#X connect 9 1 0 0; +#X connect 9 2 7 0; +#X connect 9 3 5 0; +#X connect 10 0 11 0; +#X connect 10 1 19 0; +#X connect 11 0 19 0; +#X connect 12 0 21 0; +#X connect 13 0 1 0; +#X connect 14 0 22 0; +#X connect 15 0 27 0; +#X connect 15 1 16 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 18 0 1 0; +#X connect 19 0 30 0; +#X connect 19 1 20 0; +#X connect 19 2 15 0; +#X connect 20 0 1 0; +#X connect 21 0 14 0; +#X connect 21 1 23 0; +#X connect 22 0 1 0; +#X connect 23 0 14 1; +#X connect 24 0 29 0; +#X connect 25 0 24 0; +#X connect 25 1 29 1; +#X connect 25 2 12 0; +#X connect 26 0 4 0; +#X connect 27 0 16 1; +#X connect 28 0 1 0; +#X connect 29 0 31 0; +#X connect 30 0 8 0; +#X connect 30 1 29 2; +#X connect 31 0 1 0; +#X restore 546 199 pd make_voices; +#X obj 509 170 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X obj 546 170 loadbang; +#X obj 86 547 outlet~ left; +#X obj 207 546 outlet~ right; +#X obj 249 65 route list; +#X obj 201 35 relay stop; +#X obj 193 147 poly \$1 \$2; +#X obj 6 66 sample.handler; +#X obj -37 36 t f f; +#X obj -13 103 == 1; +#X obj -15 136 sel 0; +#X msg 28 171 stop; +#X obj 244 96 spigot; +#X connect 0 0 17 0; +#X connect 1 0 14 0; +#X connect 3 0 2 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 13 0 21 0; +#X connect 13 1 2 0; +#X connect 14 0 15 0; +#X connect 14 1 13 0; +#X connect 15 0 3 0; +#X connect 15 1 3 1; +#X connect 15 2 3 2; +#X connect 16 0 18 0; +#X connect 17 0 5 0; +#X connect 17 1 16 0; +#X connect 18 0 19 0; +#X connect 18 0 21 1; +#X connect 19 0 20 0; +#X connect 20 0 15 0; +#X connect 21 0 15 0; diff --git a/sample.groove~-help.pd b/sample.groove~-help.pd new file mode 100644 index 0000000..b66dc1a --- /dev/null +++ b/sample.groove~-help.pd @@ -0,0 +1,99 @@ +#N struct 4215preview float x float y float p float h; +#N canvas 1331 34 789 899 10; +#X msg -225 423 1; +#X msg -253 412 0; +#X text -151 648 You can send a signal to sample.groove~'s third inlet +to modulate the playback rate.; +#X text 41 217 <- Click and drag up and down to change the playback +region.; +#X obj -292 -37 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X obj -292 -130 cnv 15 430 20 empty empty empty 20 12 0 14 -216438 +-66577 0; +#X obj -292 -109 cnv 1 430 1 empty empty empty 4 -10 2 12 -66577 -1 +0; +#X obj -292 -130 cnv 1 430 1 empty empty empty 0 -10 0 16 -66577 -66577 +0; +#X text -276 -97 Description: Groove a sample.; +#X text -279 -67 Comments: Wraps xgroove~ from the xsample library +; +#X text -291 -127 :: sample/groove ::; +#X msg -23 422 speed \$1; +#X obj -83 326 vradio 15 1 0 3 empty empty empty 0 -8 0 8 -195568 -262144 +-1 0; +#X obj -20 377 hsl 50 22 -10 10 0 0 empty empty empty -2 -8 0 8 -33289 +-262144 -33289 0 1; +#X obj -264 127 sample.display_; +#X obj -264 214 sample.bounds_; +#X text -278 -26 WARNING: This abstraction requires the xsample library. +; +#X obj -263 53 file.path.top; +#X floatatom -23 403 5 0 0 0 - - -; +#X text -2 -126 Version: 2007-06-12; +#X msg -263 7 medias/sounds/loop0.wav; +#X msg -155 29 medias/sounds/loop1.wav; +#X obj -264 97 sample.filer; +#X msg -39 52 medias/sounds/note0.wav; +#X floatatom 43 393 5 0 0 0 - - -; +#X text 81 391 milliseconds; +#X obj -267 702 mix.out_~; +#X obj -261 655 sample.groove~; +#X obj 206 363 vdl 15 0 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1 +0; +#X text 225 378 keep loop length; +#X text 225 394 keep fade length; +#X text 225 409 zone inside loop; +#X msg 43 422 xfade \$1; +#X msg 205 428 xfademode \$1; +#X text 225 362 keep loop pos (default); +#X obj -264 271 sample.adsr_; +#X msg -243 345 56 0; +#X msg -253 321 56 64; +#X text 41 245 <- Set the sustain loop by changing the loop region. +; +#X text -64 342 loop forward; +#X text -64 357 loop back&forth; +#X text -64 325 play once (ignore sustain loop); +#X msg -83 423 loop \$1; +#X text -278 -82 Flags: sample_id; +#X msg -173 322 60 127; +#X msg -145 342 60 0; +#X msg -250 468 -1; +#X msg 21 556 realtime.bounds 1; +#X text 19 575 Usually a change in the bounds of a sample will only +take effect once you retrigger sample.groove~. But \, if you set realtime.bounds +to 1 \, the changes to bounds will immediatly affect the the sample +being played.; +#X obj -153 73 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X obj -133 700 anal.sig_~; +#X text -32 701 Relative progress; +#X connect 0 0 27 1; +#X connect 1 0 27 1; +#X connect 11 0 27 1; +#X connect 12 0 42 0; +#X connect 13 0 18 0; +#X connect 14 0 15 0; +#X connect 15 0 35 0; +#X connect 17 0 22 0; +#X connect 18 0 11 0; +#X connect 20 0 17 0; +#X connect 21 0 17 0; +#X connect 22 0 14 0; +#X connect 23 0 17 0; +#X connect 24 0 32 0; +#X connect 27 0 26 0; +#X connect 27 1 26 1; +#X connect 27 2 50 0; +#X connect 28 0 33 0; +#X connect 32 0 27 1; +#X connect 33 0 27 1; +#X connect 35 0 27 0; +#X connect 36 0 27 1; +#X connect 37 0 27 1; +#X connect 42 0 27 1; +#X connect 44 0 27 1; +#X connect 45 0 27 1; +#X connect 46 0 27 1; +#X connect 47 0 27 1; +#X connect 49 0 22 0; diff --git a/sample.groove~.pd b/sample.groove~.pd new file mode 100644 index 0000000..fcca736 --- /dev/null +++ b/sample.groove~.pd @@ -0,0 +1,565 @@ +#N canvas 0 0 1169 813 10; +#X msg 674 611 set \$1; +#X obj 666 589 r \$0tableR; +#X obj 405 935 outlet~ l~; +#X obj 580 935 outlet~ r~; +#N canvas 44 84 984 688 sample_parse 0; +#X obj 213 2 inlet; +#N canvas 0 0 1247 910 set_tables 0; +#X obj 243 39 > 1; +#X obj 132 70 demultiplex 0 1; +#X msg 128 95 symbol \$1s0; +#X msg 227 96 symbol \$1s0; +#X msg 346 99 symbol \$1s1; +#X obj 131 3 inlet; +#X obj 236 8 inlet; +#X obj 83 222 outlet; +#X obj 244 224 outlet; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 1 4 0; +#X connect 2 0 7 0; +#X connect 2 0 8 0; +#X connect 3 0 7 0; +#X connect 4 0 8 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X restore 112 416 pd set_tables; +#X obj 86 183 sel 1; +#X obj 155 474 s \$0tableR; +#X obj 53 477 s \$0tableL; +#X obj 80 328 f \$0; +#X msg 89 356 symbol \$1dummy; +#X obj 117 323 s \$0ready; +#X msg 116 294 0; +#X msg 41 211 1; +#X obj 41 236 s \$0ready; +#X obj 156 300 s \$0kill; +#X obj 76 268 t b b b; +#X obj 563 572 s \$0length; +#X obj 679 484 s \$0frames; +#X obj 488 575 s \$0start; +#X obj 382 124 sample.handler; +#X obj 86 154 change; +#X obj 110 105 == 1; +#X obj 489 247 unpack f f f; +#X obj 676 326 samplerate~; +#X obj 613 313 t f b; +#X obj 657 360 /; +#X obj 679 393 s \$0file_speed; +#X obj 368 63 table \$0dummy 100; +#X obj 263 564 s \$0loop_in; +#X obj 339 564 s \$0loop_out; +#X obj 324 275 s \$0gadsr; +#X obj 656 260 s \$0playback; +#X obj 821 35 inlet trig; +#X obj 261 526 f; +#X obj 350 532 f; +#X obj 472 519 f; +#X obj 544 526 f; +#X obj 531 424 t b b b b; +#X obj 496 354 r \$0rtb; +#X obj 391 354 t b a; +#X obj 420 407 spigot; +#X obj 372 439 unpack f f f f; +#X obj 480 490 *; +#X obj 533 494 *; +#X connect 0 0 16 0; +#X connect 1 0 4 0; +#X connect 1 1 3 0; +#X connect 2 0 9 0; +#X connect 2 1 12 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 6 0 3 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 12 0 5 0; +#X connect 12 1 8 0; +#X connect 12 2 11 0; +#X connect 16 0 18 0; +#X connect 16 3 27 0; +#X connect 16 4 36 0; +#X connect 16 6 1 0; +#X connect 16 7 19 0; +#X connect 16 8 28 0; +#X connect 17 0 2 0; +#X connect 18 0 17 0; +#X connect 19 0 14 0; +#X connect 19 0 39 1; +#X connect 19 0 40 1; +#X connect 19 1 21 0; +#X connect 19 2 1 1; +#X connect 20 0 22 1; +#X connect 21 0 22 0; +#X connect 21 1 20 0; +#X connect 22 0 23 0; +#X connect 29 0 34 0; +#X connect 30 0 25 0; +#X connect 31 0 26 0; +#X connect 32 0 15 0; +#X connect 33 0 13 0; +#X connect 34 0 30 0; +#X connect 34 1 31 0; +#X connect 34 2 32 0; +#X connect 34 3 33 0; +#X connect 35 0 37 1; +#X connect 36 0 37 0; +#X connect 36 1 38 0; +#X connect 37 0 34 0; +#X connect 38 0 30 1; +#X connect 38 1 31 1; +#X connect 38 2 39 0; +#X connect 38 3 40 0; +#X connect 39 0 32 1; +#X connect 40 0 33 1; +#X restore 6 233 pd sample_parse; +#X obj 689 172 r \$0speed; +#X obj -48 41 inlet sample; +#X obj 220 271 spigot; +#X obj 290 190 r \$0ready; +#X obj 272 237 t b f; +#N canvas 143 23 885 734 trigger 0; +#X obj 338 513 s \$0speed; +#X obj 71 50 inlet; +#X obj 175 260 sel 0; +#X obj 34 653 outlet play; +#X obj 354 664 outlet release; +#X obj 158 648 s \$0velocity; +#X msg 176 601 127; +#X obj 84 160 route list; +#X obj 43 226 unpack f f; +#X obj 110 259 sel 0; +#X msg 76 317 0; +#X obj 30 412 convert.m2speed; +#X obj 153 319 t b f; +#X msg 123 341 1; +#X obj 30 351 spigot; +#X obj 76 294 t b b; +#X obj 44 444 t b f; +#X obj 243 333 t f b b f; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 2 1 17 0; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 7 1 2 0; +#X connect 8 0 14 0; +#X connect 8 1 9 0; +#X connect 9 0 15 0; +#X connect 9 1 12 0; +#X connect 10 0 14 1; +#X connect 11 0 16 0; +#X connect 12 0 13 0; +#X connect 12 1 5 0; +#X connect 13 0 14 1; +#X connect 14 0 11 0; +#X connect 15 0 10 0; +#X connect 15 1 4 0; +#X connect 16 0 3 0; +#X connect 16 1 0 0; +#X connect 17 1 3 0; +#X connect 17 2 6 0; +#X connect 17 3 0 0; +#X restore 220 301 pd trigger; +#X msg 684 329 0; +#X obj 626 283 r \$0kill; +#X obj 243 213 f; +#X obj 869 56 inlet~; +#X obj 759 319 sig~; +#X obj 874 406 +~; +#X obj 201 28 inlet; +#X obj 99 171 s \$0speed; +#X obj 344 165 s \$0mode; +#X obj 425 167 s \$0xzone; +#X msg 218 76 1; +#X obj 863 231 r \$0file_speed; +#X obj 718 663 unpack; +#N canvas 0 0 1026 734 region 0; +#X obj 225 32 r \$0start; +#X obj 296 91 r \$0length; +#X obj 270 111 +; +#X obj 170 152 pack; +#X obj 222 59 t f f; +#X obj 77 327 outlet; +#X obj 181 105 int; +#X obj 267 161 int; +#X obj 387 118 r \$0sus_loop; +#X obj 507 122 r \$0playing; +#X obj 422 216 &&; +#X obj 398 175 == 0; +#X obj 395 151 f; +#X obj 507 161 t b f; +#X obj 11 70 inlet; +#X obj 95 221 list; +#X obj 161 191 t l l; +#X obj 198 243 spigot; +#X connect 0 0 4 0; +#X connect 1 0 2 1; +#X connect 2 0 7 0; +#X connect 3 0 16 0; +#X connect 4 0 6 0; +#X connect 4 1 2 0; +#X connect 6 0 3 0; +#X connect 7 0 3 1; +#X connect 8 0 12 0; +#X connect 9 0 13 0; +#X connect 10 0 17 1; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 13 1 10 1; +#X connect 14 0 15 0; +#X connect 15 0 5 0; +#X connect 16 0 17 0; +#X connect 16 1 15 1; +#X connect 17 0 5 0; +#X restore 771 599 pd region; +#N canvas 0 0 1012 734 loop 0; +#X obj 272 905 outlet susloop_list; +#X obj 421 647 threshold~ 0 0 0 0; +#X obj 506 251 r \$0loop_in; +#X obj 697 368 r \$0loop_out; +#X obj 380 773 f; +#X obj 399 845 pack; +#X obj 637 454 *; +#X obj 638 479 +; +#X obj 688 281 r \$0length; +#X obj 542 346 *; +#X obj 543 371 +; +#X obj 653 214 r \$0start; +#X obj 537 507 +; +#X obj 539 533 / 2; +#X msg 516 593 set \$1 0 \$1 0; +#X obj 388 296 r \$0sus_loop; +#X obj 364 263 pack; +#X obj 504 448 t f f f; +#X obj 639 514 t f f f; +#X obj 379 747 t b b; +#X msg 496 794 1; +#X obj 527 817 s \$0sus_loop; +#X obj 353 327 spigot; +#X obj 424 684 r \$0sus_loop_allow; +#X obj 379 721 spigot; +#X obj 101 237 inlet~; +#X obj 687 313 t f f; +#X obj 637 421 f 1; +#X obj 654 247 t b b f f; +#X obj 682 557 int; +#X obj 512 416 int; +#X connect 1 0 24 0; +#X connect 2 0 9 0; +#X connect 3 0 27 0; +#X connect 4 0 5 0; +#X connect 5 0 0 0; +#X connect 6 0 7 0; +#X connect 7 0 29 0; +#X connect 8 0 26 0; +#X connect 9 0 10 0; +#X connect 10 0 30 0; +#X connect 11 0 28 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 1 0; +#X connect 15 0 22 1; +#X connect 16 0 22 0; +#X connect 17 0 16 0; +#X connect 17 1 12 0; +#X connect 17 2 4 1; +#X connect 18 0 16 1; +#X connect 18 1 12 1; +#X connect 18 2 5 1; +#X connect 19 0 4 0; +#X connect 19 1 20 0; +#X connect 20 0 21 0; +#X connect 22 0 0 0; +#X connect 23 0 24 1; +#X connect 24 0 19 0; +#X connect 25 0 1 0; +#X connect 26 0 9 1; +#X connect 26 1 6 1; +#X connect 27 0 6 0; +#X connect 28 1 27 0; +#X connect 28 2 10 1; +#X connect 28 3 7 1; +#X connect 29 0 18 0; +#X connect 30 0 17 0; +#X restore 814 687 pd loop; +#N canvas 0 72 1028 570 play 0; +#X obj 446 34 inlet; +#X obj 339 510 outlet; +#X obj 747 501 outlet; +#X msg 803 242 stop; +#X obj 706 236 s \$0sus_loop; +#X msg 709 213 0; +#X obj 613 170 r \$0mode; +#X obj 602 233 f; +#X msg 595 299 loop \$1; +#X obj 524 367 s \$0sus_loop_allow; +#X msg 545 302 1; +#X obj 544 233 > 0; +#X obj 473 260 demultiplex; +#X msg 469 298 0; +#X obj 804 204 s \$0sus_loop_allow; +#X msg 710 152 0; +#X obj 165 253 r \$0start; +#X msg 182 360 pos \$1 \, bang; +#X obj 153 280 int; +#X obj 155 319 + 1; +#X obj 430 186 t b b; +#X obj 284 232 r \$0start; +#X obj 307 262 +; +#X obj 357 233 r \$0length; +#X obj 267 144 r \$0speed; +#X obj 266 170 < 0; +#X obj 167 204 demultiplex 0 1; +#X obj 260 299 f; +#X obj 260 326 - 1; +#X obj 854 132 s \$0playing; +#X msg 769 80 1; +#X obj 930 487 outlet; +#X obj 688 299 > 0; +#X obj 640 263 t f f; +#X obj 466 87 t b b b b b b b b b; +#X obj 701 29 s \$0ramp; +#X connect 0 0 34 0; +#X connect 5 0 4 0; +#X connect 6 0 11 0; +#X connect 6 0 7 1; +#X connect 7 0 33 0; +#X connect 8 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 12 1; +#X connect 12 0 13 0; +#X connect 12 1 10 0; +#X connect 13 0 9 0; +#X connect 15 0 14 0; +#X connect 16 0 18 1; +#X connect 17 0 1 0; +#X connect 18 0 19 0; +#X connect 19 0 17 0; +#X connect 20 1 12 0; +#X connect 21 0 22 0; +#X connect 22 0 27 1; +#X connect 23 0 22 1; +#X connect 24 0 25 0; +#X connect 25 0 26 1; +#X connect 26 0 18 0; +#X connect 26 1 27 0; +#X connect 27 0 28 0; +#X connect 28 0 17 0; +#X connect 30 0 29 0; +#X connect 32 0 31 0; +#X connect 33 0 8 0; +#X connect 33 1 32 0; +#X connect 34 0 20 0; +#X connect 34 1 26 0; +#X connect 34 2 2 0; +#X connect 34 3 7 0; +#X connect 34 4 5 0; +#X connect 34 5 3 0; +#X connect 34 6 15 0; +#X connect 34 7 30 0; +#X connect 34 8 35 0; +#X restore 229 360 pd play; +#N canvas 98 142 930 630 release 0; +#X obj 202 296 s \$0sus_loop; +#X msg 191 266 0; +#X obj 245 268 s \$0sus_loop_allow; +#X msg 215 230 0; +#X obj 113 81 inlet; +#X obj 389 414 outlet; +#X obj 193 427 outlet; +#X obj 625 311 s \$0velocity; +#X msg 657 233 0; +#X obj 106 184 t b b b b b b; +#X obj 313 153 s \$0playing; +#X msg 310 126 0; +#X msg 120 327 loop 0; +#X connect 1 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 9 1 5 0; +#X connect 9 2 1 0; +#X connect 9 3 3 0; +#X connect 9 4 11 0; +#X connect 9 5 8 0; +#X connect 11 0 10 0; +#X connect 12 0 6 0; +#X restore 643 439 pd release; +#X obj 629 320 t b b; +#N canvas 186 310 706 522 setup 0; +#X obj 135 231 outlet; +#X obj 89 22 loadbang; +#X obj 74 52 t b b; +#X msg 272 119 units 0 \, sclmode 0; +#X obj 172 23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 249 322 xfade \$1; +#X obj 249 257 vdl 15 0 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1 +0; +#X text 248 238 loop zone mode; +#X text 268 256 keep loop pos; +#X text 268 272 keep loop length; +#X text 268 288 keep fade length; +#X text 268 303 zone inside loop; +#X msg 51 156 xzone 4410 \, xfade 0; +#X connect 1 0 2 0; +#X connect 2 0 12 0; +#X connect 2 1 3 0; +#X connect 3 0 0 0; +#X connect 4 0 2 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 12 0 0 0; +#X restore 291 514 pd setup; +#N canvas 414 177 614 543 crossfade 0; +#X obj 91 270 outlet; +#X msg 116 195 xzone \$1; +#X obj 143 88 convert.ms2smp; +#X obj 278 56 r \$0file_speed; +#X obj 140 147 * 1; +#X obj 278 90 t b f; +#X obj 160 50 f 20; +#X obj 146 6 r \$0xzone; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 1 4 1; +#X connect 6 0 2 0; +#X connect 7 0 6 0; +#X restore 359 598 pd crossfade; +#X obj 680 692 xgroove~; +#X obj 293 700 xgroove~; +#X msg 131 701 set \$1; +#X obj 123 679 r \$0tableL; +#N canvas 0 0 1028 734 gadsr 0; +#X obj 260 284 synth.adsr~; +#X obj 260 521 outlet~; +#X obj 248 174 unpack f f f f f; +#X obj 261 373 *~ 1; +#X obj 168 78 r \$0velocity; +#X obj 248 135 r \$0gadsr; +#X obj 601 525 outlet release_done; +#X obj 410 522 outlet attack_started; +#X connect 0 0 3 0; +#X connect 0 1 7 0; +#X connect 0 3 6 0; +#X connect 2 0 3 1; +#X connect 2 1 0 1; +#X connect 2 2 0 2; +#X connect 2 3 0 3; +#X connect 2 4 0 4; +#X connect 3 0 1 0; +#X connect 4 0 0 0; +#X connect 5 0 2 0; +#X restore 521 768 pd gadsr; +#X obj 406 848 *~; +#X obj 575 869 *~; +#X obj 173 54 route float bang list; +#X msg 507 212 xfade \$1; +#X obj 781 181 r \$0playback; +#X obj 741 223 * 0; +#X obj 757 259 * 0; +#X obj 730 871 switch~; +#X msg 663 832 0; +#X obj 644 803 delay 10; +#X msg 729 820 1; +#X obj 791 811 r \$0kill; +#X msg 795 833 0; +#X obj 597 579 spigot; +#X obj 211 326 t b b; +#X obj 162 99 route speed autoplay autogain loop xfade original.pitch +xfademode realtime.bounds; +#X obj 506 159 s \$0rtb; +#X obj 957 933 outlet~ progress; +#X obj 957 886 /~ 1; +#X obj 980 845 r \$0frames; +#X obj 403 890 mix.switch.ramp~; +#X obj 576 901 mix.switch.ramp~; +#X obj 719 918 r \$0ramp; +#X connect 0 0 31 0; +#X connect 1 0 0 0; +#X connect 5 0 41 0; +#X connect 6 0 4 0; +#X connect 7 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 9 1 7 1; +#X connect 10 0 50 0; +#X connect 10 1 27 0; +#X connect 11 0 15 0; +#X connect 12 0 28 0; +#X connect 13 0 7 0; +#X connect 14 0 16 1; +#X connect 15 0 16 0; +#X connect 16 0 32 0; +#X connect 16 0 31 0; +#X connect 17 0 38 0; +#X connect 21 0 7 0; +#X connect 22 0 42 1; +#X connect 23 0 31 1; +#X connect 23 0 32 1; +#X connect 23 1 31 2; +#X connect 23 1 32 2; +#X connect 24 0 23 0; +#X connect 25 0 23 0; +#X connect 26 0 31 0; +#X connect 26 0 32 0; +#X connect 26 1 24 0; +#X connect 26 1 46 0; +#X connect 26 2 49 1; +#X connect 27 0 49 0; +#X connect 27 1 24 0; +#X connect 28 0 27 0; +#X connect 28 1 11 0; +#X connect 29 0 31 0; +#X connect 29 0 32 0; +#X connect 30 0 31 0; +#X connect 30 0 32 0; +#X connect 31 0 37 0; +#X connect 31 1 25 0; +#X connect 31 1 54 0; +#X connect 32 0 36 0; +#X connect 33 0 32 0; +#X connect 34 0 33 0; +#X connect 35 0 36 1; +#X connect 35 0 37 1; +#X connect 35 2 45 0; +#X connect 36 0 56 0; +#X connect 37 0 57 0; +#X connect 38 0 7 0; +#X connect 38 1 21 0; +#X connect 38 2 7 0; +#X connect 38 3 51 0; +#X connect 39 0 32 0; +#X connect 39 0 31 0; +#X connect 40 0 41 1; +#X connect 41 0 42 0; +#X connect 42 0 15 0; +#X connect 44 0 43 0; +#X connect 45 0 44 0; +#X connect 46 0 43 0; +#X connect 47 0 48 0; +#X connect 48 0 43 0; +#X connect 49 0 32 0; +#X connect 49 0 31 0; +#X connect 50 0 26 0; +#X connect 50 1 4 1; +#X connect 51 0 18 0; +#X connect 51 1 13 1; +#X connect 51 3 19 0; +#X connect 51 4 20 0; +#X connect 51 6 39 0; +#X connect 51 7 52 0; +#X connect 54 0 53 0; +#X connect 55 0 54 1; +#X connect 56 0 2 0; +#X connect 57 0 3 0; +#X connect 58 0 56 1; +#X connect 58 0 57 1; diff --git a/sample.handler-help.pd b/sample.handler-help.pd new file mode 100644 index 0000000..da9cbd0 --- /dev/null +++ b/sample.handler-help.pd @@ -0,0 +1,46 @@ +#N canvas 113 21 915 734 10; +#X obj 29 19 cnv 10 200 10 empty empty sample.handler 0 -10 0 16 -33289 +-66577 0; +#X text 29 83 Author: Thomas Ouellet Fredericks; +#X text 29 68 Flags: internal sample_id; +#X obj 48 253 file.path.top; +#X floatatom 20 657 5 0 0 1 status - -; +#X obj 96 604 print name; +#X obj 51 402 sample.handler; +#X text 453 202 -1: Nothing loaded or invalid sample.; +#X text 459 218 1: Sample loaded and ready to play.; +#X text 406 184 How to decode the status (first outlet of sample.handler): +; +#X text 28 34 Description: Handles the data of a synthd "sample_id" +stream.; +#X text 493 10 Version: 2007-06-12; +#X obj 20 681 print status; +#X text 460 235 0: Sample changing/loading.; +#X msg 31 193 medias/sounds/loop0.wav; +#X msg 80 219 medias/sounds/loop1.wav; +#X obj 68 335 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 89 331 Force output; +#X obj 117 579 print gadsr; +#X obj 198 491 print format; +#X obj 226 469 print playback; +#X obj 46 626 print progress; +#X obj 49 296 sample.filer; +#X obj 158 534 print preview_state; +#X obj 136 557 print bounds; +#X obj 181 513 print table_id; +#X connect 3 0 22 0; +#X connect 4 0 12 0; +#X connect 6 0 4 0; +#X connect 6 1 21 0; +#X connect 6 2 5 0; +#X connect 6 3 18 0; +#X connect 6 4 24 0; +#X connect 6 5 23 0; +#X connect 6 6 25 0; +#X connect 6 7 19 0; +#X connect 6 8 20 0; +#X connect 14 0 3 0; +#X connect 15 0 3 0; +#X connect 16 0 6 1; +#X connect 22 0 6 0; diff --git a/sample.handler.pd b/sample.handler.pd new file mode 100644 index 0000000..15b22a2 --- /dev/null +++ b/sample.handler.pd @@ -0,0 +1,289 @@ +#N canvas 0 50 1024 714 10; +#X obj 97 109 change -1; +#X obj 4 643 outlet status; +#X msg 225 136 set -1; +#X obj 113 9 t f b; +#X obj 121 -33 inlet sample; +#X obj 140 37 delay 100; +#X obj 168 609 outlet progress; +#X obj 400 618 outlet gadsr; +#X obj 874 620 outlet format; +#X obj 980 619 outlet playback; +#X obj 518 -19 inlet gadsr; +#X obj 1033 -3 inlet playback; +#X obj 291 -31 inlet; +#X obj 691 -32 inlet bounds; +#X obj 518 622 outlet bounds; +#X obj 621 622 outlet preview_state; +#X obj 405 546 flow.receive; +#X obj 546 540 flow.receive; +#X obj 930 549 flow.receive; +#X obj 741 502 flow.receive; +#X obj 176 571 flow.receive; +#X obj 22 403 flow.receive; +#X msg 22 380 \$1status; +#X msg 205 460 \$1progress; +#X msg 667 458 \$1table_id; +#X msg 401 502 \$1gadsr; +#X msg 550 482 \$1bounds; +#X msg 934 468 \$1playback; +#X obj 758 621 outlet table_id; +#N canvas 0 0 824 471 dump_sample_generator 0; +#X msg 354 228 0; +#X obj 129 18 inlet; +#X msg 506 228 0; +#X obj 128 272 tabdump; +#X obj 231 281 tabdump; +#X obj 364 272 tabread; +#X obj 508 272 tabread; +#X msg 396 234 set \$1ttable_id; +#X msg 552 225 set \$1tplayback; +#X msg 258 233 set \$1tbounds; +#X msg 166 221 set \$1tgadsr; +#X obj 129 99 t b b b b b f; +#X obj 115 376 outlet; +#X obj 245 362 outlet; +#X obj 364 358 outlet; +#X obj 452 354 outlet; +#X connect 0 0 5 0; +#X connect 1 0 11 0; +#X connect 2 0 6 0; +#X connect 3 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 14 0; +#X connect 6 0 15 0; +#X connect 7 0 5 0; +#X connect 8 0 6 0; +#X connect 9 0 4 0; +#X connect 10 0 3 0; +#X connect 11 1 3 0; +#X connect 11 2 4 0; +#X connect 11 3 0 0; +#X connect 11 4 2 0; +#X connect 11 5 10 0; +#X connect 11 5 9 0; +#X connect 11 5 7 0; +#X connect 11 5 8 0; +#X restore 489 403 pd dump_sample_generator; +#N canvas 0 0 711 558 dump_table_id 0; +#X obj 55 14 inlet; +#X obj 188 353 tabread; +#X msg 188 311 set \$1p_s \, 0; +#X obj 401 352 tabdump; +#X obj 136 172 sel 0 -1; +#X msg 276 307 -1 -1; +#X obj 273 350 unpack f f; +#X obj 180 418 outlet; +#X obj 324 421 outlet; +#X obj 401 396 outlet; +#X msg 392 325 set \$1format \, bang; +#X obj 214 204 t f f f f; +#X obj 107 200 t b b; +#X obj 10 408 outlet; +#X msg 94 237 -1; +#X connect 0 0 4 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 12 0; +#X connect 4 1 12 0; +#X connect 4 2 11 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 10 0 3 0; +#X connect 11 0 13 0; +#X connect 11 1 2 0; +#X connect 11 2 8 0; +#X connect 11 3 10 0; +#X connect 12 0 14 0; +#X connect 12 1 5 0; +#X connect 14 0 13 0; +#X restore 717 564 pd dump_table_id; +#X obj 436 387 f; +#X obj 517 86 flow.send; +#X msg 570 56 \$1rgadsr; +#X msg 767 38 \$1rbounds; +#X msg 965 95 \$1make_preview; +#X msg 1135 74 \$1rplayback; +#X obj 870 -2 inlet make_preview; +#X obj 852 108 flow.send; +#X obj 919 64 sel 0 -1; +#X obj 696 86 flow.send; +#X obj 1078 110 flow.send; +#X obj 220 220 send \$0id; +#X obj 13 508 t f f; +#X obj 44 581 f; +#N canvas 0 0 474 324 read_status 0; +#X msg 132 85 set \$1tstatus; +#X obj 85 129 tabread; +#X msg 86 69 0; +#X obj 95 17 inlet; +#X obj 101 44 t b f; +#X obj 87 178 outlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 0 0; +#X restore 168 272 pd read_status; +#X obj 388 41 spigot; +#X obj 165 316 sel 1; +#X msg 171 369 1; +#X msg 230 315 0; +#X obj 273 602 convert.list2symbol; +#N canvas 0 0 482 332 file 0; +#X obj 103 288 outlet; +#X obj 174 206 tabdump; +#X msg 173 176 set \$1file \, bang; +#X obj 106 19 inlet; +#X obj 108 74 f; +#X obj 106 47 b; +#X obj 309 27 inlet; +#X msg 29 159 symbol --none--; +#X obj 104 103 sel -1 0; +#X obj 174 236 convert.int2ascii; +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 1 7 0; +#X connect 8 2 2 0; +#X connect 9 0 0 0; +#X restore 298 569 pd file; +#X obj 287 632 outlet file; +#X obj 403 -10 r \$0status; +#X obj 224 384 s \$0status; +#X obj 11 484 r \$0status; +#X obj 267 111 s \$0cut_top; +#X obj 273 137 s \$0cut_but; +#X obj 990 185 r \$0cut_top; +#X obj 714 192 r \$0set_top; +#X obj 218 495 r \$0cut_but; +#X obj 797 456 r \$0cut_but; +#X obj 110 542 r \$0id; +#X obj 486 358 r \$0id; +#X obj 206 244 s \$0set_but; +#X obj 234 418 r \$0set_but; +#X obj 747 405 r \$0set_but; +#X obj 71 586 s \$0cut_top; +#X obj 172 339 t b b; +#X obj 186 179 t f f f; +#X obj 22 449 s \$0status; +#X obj 23 425 == 1; +#X obj 195 69 t b b b b; +#X obj 43 614 send \$0set_top; +#X obj 894 299 flow.receive; +#X msg 962 225 \$1preview; +#X msg 96 191 -1; +#X obj 424 14 == 1; +#X obj 96 220 s \$0status; +#X obj 44 545 sel 1 0; +#X obj 57 518 == 1; +#X obj 716 534 t f f; +#X obj 393 78 route bang; +#X obj 306 2 route getfile; +#X connect 0 0 69 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 3 1 5 0; +#X connect 4 0 3 0; +#X connect 5 0 72 0; +#X connect 10 0 32 0; +#X connect 11 0 41 0; +#X connect 12 0 83 0; +#X connect 13 0 40 0; +#X connect 16 0 7 0; +#X connect 17 0 14 0; +#X connect 18 0 9 0; +#X connect 19 0 81 0; +#X connect 20 0 6 0; +#X connect 21 0 71 0; +#X connect 22 0 21 0; +#X connect 23 0 20 0; +#X connect 24 0 19 0; +#X connect 25 0 16 0; +#X connect 26 0 17 0; +#X connect 27 0 18 0; +#X connect 29 0 7 0; +#X connect 29 1 14 0; +#X connect 29 2 81 0; +#X connect 29 3 9 0; +#X connect 30 0 51 1; +#X connect 30 1 15 0; +#X connect 30 2 28 0; +#X connect 30 3 8 0; +#X connect 31 0 29 0; +#X connect 33 0 32 1; +#X connect 34 0 40 1; +#X connect 35 0 38 1; +#X connect 36 0 41 1; +#X connect 37 0 38 0; +#X connect 39 0 38 1; +#X connect 39 0 74 0; +#X connect 39 1 38 1; +#X connect 39 1 74 0; +#X connect 39 2 35 0; +#X connect 39 2 75 0; +#X connect 43 0 1 0; +#X connect 43 1 80 0; +#X connect 44 0 73 0; +#X connect 45 0 47 0; +#X connect 46 0 82 0; +#X connect 47 0 68 0; +#X connect 47 1 49 0; +#X connect 48 0 54 0; +#X connect 49 0 54 0; +#X connect 50 0 52 0; +#X connect 51 0 50 0; +#X connect 53 0 77 0; +#X connect 55 0 43 0; +#X connect 58 0 32 1; +#X connect 58 0 40 1; +#X connect 58 0 38 1; +#X connect 58 0 41 1; +#X connect 58 0 74 0; +#X connect 59 0 33 0; +#X connect 59 0 34 0; +#X connect 59 0 36 0; +#X connect 60 0 21 0; +#X connect 60 0 20 0; +#X connect 60 0 16 0; +#X connect 61 0 17 0; +#X connect 61 0 19 0; +#X connect 61 0 18 0; +#X connect 62 0 44 1; +#X connect 63 0 31 1; +#X connect 65 0 22 0; +#X connect 65 0 23 0; +#X connect 65 0 25 0; +#X connect 66 0 26 0; +#X connect 66 0 24 0; +#X connect 66 0 27 0; +#X connect 68 0 48 0; +#X connect 68 1 31 0; +#X connect 69 0 45 0; +#X connect 69 1 64 0; +#X connect 69 2 42 0; +#X connect 71 0 70 0; +#X connect 72 0 76 0; +#X connect 72 1 2 0; +#X connect 72 2 57 0; +#X connect 72 3 56 0; +#X connect 74 0 15 0; +#X connect 75 0 74 0; +#X connect 76 0 78 0; +#X connect 77 0 46 1; +#X connect 79 0 44 0; +#X connect 79 1 67 0; +#X connect 80 0 79 0; +#X connect 81 0 30 0; +#X connect 81 1 39 0; +#X connect 82 0 31 0; +#X connect 83 0 51 0; +#X connect 83 1 46 0; diff --git a/sample.particular~-help.pd b/sample.particular~-help.pd new file mode 100644 index 0000000..96f4452 --- /dev/null +++ b/sample.particular~-help.pd @@ -0,0 +1,119 @@ +#N struct 2527preview float x float y float p float h; +#N canvas 36 -8 912 734 10; +#X floatatom 16 9 5 0 0 0 voices - -; +#X obj -114 32 mix.out_~ 1 2; +#X obj -87 -486 sample.display_; +#X obj -87 -541 file.path.top; +#X text -91 -613 Flags: sample_id; +#X msg -40 -312 lastgrain; +#X obj 20 -24 print last_grain; +#X text -83 -628 Description: Granular synthesizer.; +#X obj -87 -514 sample.filer; +#X msg 46 -544 medias/sounds/note0.wav; +#X obj -87 -387 sample.bounds_; +#X msg 287 -490 slope \$1; +#X msg 303 -391 gain.spread \$1; +#X obj 290 -511 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 1000 1; +#X obj 307 -430 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 295 -576 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X msg 286 -295 inter.onset \$1; +#X floatatom 304 -410 5 0 0 0 - - -; +#X msg 290 -550 stereo.spread \$1; +#X text 428 -512 default: 1; +#X text 446 -432 default: 0; +#X text 431 -577 default: 1; +#X text 424 -400 range: 0 to 1; +#X text 427 -495 range: 0 to 1; +#X text 431 -562 range: 0 to 1; +#X msg 446 -186 max.duration \$1; +#X text 397 -263 Note: minimum inter onset time is 1ms.; +#X floatatom 446 -207 5 0 0 0 - - -; +#X obj 400 21 noise~; +#X msg -16 -267 64 127; +#X msg -5 -239 64 0; +#X msg 52 -271 75 127; +#X msg 45 -240 75 0; +#X floatatom 296 -330 5 0 0 0 - - -; +#X obj 354 -80 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 +-1 -1 3; +#X floatatom 448 -3 5 0 100 0 - - -; +#X obj 448 21 / 100; +#X text 292 -348 Fixed milliseconds between each grain.; +#X text 581 -356 Ramdon milliseconds between each grain.; +#X msg 597 -285 inter.onset \$1 \$2; +#X msg -86 -572 medias/sounds/loop0.wav; +#X obj 502 25 osc~ 0.1; +#X text 370 -35 Oscillator; +#X text 372 -65 Random (noise); +#X text 372 -49 Fixed(sig); +#X text 373 -80 Phasor; +#X obj 360 89 multiplex~ 0 1 2 3; +#X obj 360 -4 phasor~ 0.5; +#X obj 503 48 +~ 1; +#X obj 504 74 *~ 0.5; +#X obj -87 -71 sample.particular~; +#X obj 401 53 abs~; +#X text 430 -127 -- Onset control --; +#X text 347 -105 The onset is controlled by a signal with a range of +0 to 1; +#X obj 441 55 sig~ 0.5; +#X obj 627 -338 input.min.max_ 0 50; +#X text 294 -530 Slope determines the slope of the envelope of each +grain.; +#X text 297 -604 Stereo spread determines how much the grains are panned +appart.; +#X text 304 -462 Gain spread determines how much the volume can different +between each grain.; +#X text 443 -157 Note: Minimum grain time is 3 ms.; +#X text -34 -331 Sends out the last grain's properties.; +#X msg -95 -268 60 127; +#X msg -84 -240 60 0; +#X text 565 -193 default: 20(0 = disabled).; +#X msg 88 -204 50 127; +#X msg 94 -179 50 0; +#X connect 2 0 10 0; +#X connect 3 0 8 0; +#X connect 5 0 50 1; +#X connect 8 0 2 0; +#X connect 9 0 3 0; +#X connect 10 0 50 0; +#X connect 11 0 50 1; +#X connect 12 0 50 1; +#X connect 13 0 11 0; +#X connect 14 0 17 0; +#X connect 15 0 18 0; +#X connect 16 0 50 1; +#X connect 17 0 12 0; +#X connect 18 0 50 1; +#X connect 25 0 50 1; +#X connect 27 0 25 0; +#X connect 28 0 51 0; +#X connect 29 0 50 1; +#X connect 30 0 50 1; +#X connect 31 0 50 1; +#X connect 32 0 50 1; +#X connect 33 0 16 0; +#X connect 34 0 46 0; +#X connect 35 0 36 0; +#X connect 36 0 54 0; +#X connect 39 0 50 1; +#X connect 40 0 3 0; +#X connect 41 0 48 0; +#X connect 46 0 50 2; +#X connect 47 0 46 0; +#X connect 48 0 49 0; +#X connect 49 0 46 3; +#X connect 50 0 1 0; +#X connect 50 1 1 1; +#X connect 50 2 0 0; +#X connect 50 3 6 0; +#X connect 51 0 46 1; +#X connect 54 0 46 2; +#X connect 55 0 39 0; +#X connect 61 0 50 1; +#X connect 62 0 50 1; +#X connect 64 0 50 1; +#X connect 65 0 50 1; diff --git a/sample.particular~.pd b/sample.particular~.pd new file mode 100644 index 0000000..0164a51 --- /dev/null +++ b/sample.particular~.pd @@ -0,0 +1,728 @@ +#N canvas 0 58 1028 714 10; +#X text 208 -170 interonset timer; +#N canvas 0 0 450 300 linear_sequence_of_32_floats 0; +#X obj 171 141 - 32; +#X obj 169 168 abs; +#X obj 170 64 loadbang; +#N canvas 0 0 458 308 gun.guts 0; +#X obj 66 157 until; +#X obj 68 353 outlet; +#X obj 66 32 inlet; +#X obj 66 103 t f f; +#X obj 66 136 t f b; +#X obj 68 218 + 1; +#X obj 66 193 f; +#X msg 117 158 0; +#X obj 110 295 sel; +#X obj 158 350 outlet; +#X obj 68 246 t f f f; +#X obj 66 61 f \$1; +#X obj 225 33 inlet; +#X connect 0 0 6 0; +#X connect 2 0 11 0; +#X connect 3 0 4 0; +#X connect 3 1 8 1; +#X connect 4 0 0 0; +#X connect 4 1 7 0; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 10 0 8 0; +#X connect 10 1 1 0; +#X connect 10 2 6 1; +#X connect 11 0 3 0; +#X connect 12 0 11 1; +#X restore 171 117 pd gun.guts; +#X msg 170 88 32; +#X obj 168 207 outlet; +#X obj 121 40 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 6 0 4 0; +#X restore 251 -72 pd linear_sequence_of_32_floats; +#X text 253 -34 request a grain voice; +#N canvas 0 0 1012 718 parameters 0; +#X obj 87 27 inlet; +#N canvas 0 0 450 300 float|list 0; +#X obj 273 90 route list; +#X obj 273 118 unpack f f; +#X obj 349 115 t f f; +#X obj 284 54 inlet; +#X obj 268 181 outlet; +#X obj 359 188 outlet; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 3 0 0 0; +#X restore 148 406 pd float|list; +#X obj 148 376 r \$0speed; +#X obj 52 886 outlet; +#X text 49 911 trigger; +#X obj 68 827 t l l; +#X obj 579 558 symbol \$0dummy; +#X obj 632 30 inlet; +#X obj 85 79 t f b b b b b b b b; +#X obj 607 903 outlet; +#X obj 756 29 inlet; +#X obj 749 554 symbol \$0dummy; +#X obj 590 491 t b b; +#X obj 132 447 random.f 1 1; +#X obj 1288 207 r \$0region; +#X obj 1148 195 r \$0loop; +#X obj 1144 239 unpack; +#X obj 1289 236 unpack; +#X obj 1194 383 * 44100; +#X obj 1104 381 t f f; +#X obj 1048 372 +; +#X obj 1172 454 +; +#X obj 1312 275 t b f f; +#X obj 1222 269 t b f f; +#X obj 1105 352 * 44100; +#X obj 52 774 pack f f f f f f f f s s f f; +#X obj 294 317 r \$0slope; +#N canvas 151 0 877 734 check_limits 0; +#X obj -3 205 pack; +#X obj 4 106 clip; +#X obj 7 143 demultiplex; +#X obj 139 129 < 0; +#X obj 120 -41 r \$0region; +#X obj 120 -9 unpack; +#X obj 144 57 +; +#X obj 33 -199 inlet; +#X obj -8 284 unpack; +#X obj -10 619 outlet; +#X obj 93 620 outlet; +#X obj 673 -165 inlet speed; +#X obj 81 188 pack; +#X obj 74 22 t f f f; +#X obj 423 -123 -; +#X obj 422 -100 abs; +#X obj 424 -78 convert.smp2ms; +#X text 457 157 optimisation could be done here... whatever...; +#X obj 452 304 r \$0max.duration; +#X obj 244 -122 demultiplex; +#X obj 356 -149 > 0; +#X obj 417 -186 abs; +#X obj 429 -42 moses; +#X obj 536 -80 convert.smp2ms; +#X obj 317 -98 t l l; +#X obj 460 17 f; +#X obj 454 -4 b; +#X obj 464 48 convert.ms2smp; +#X obj 328 -67 unpack; +#X obj 337 -9 t f f; +#X obj 345 25 pack; +#X text 322 618 start(smp) end(smp) duration(ms); +#X obj 226 620 outlet; +#X obj 162 346 convert.smp2ms; +#X obj 197 401 demultiplex; +#X obj 453 329 abs; +#X obj 194 435 t b f; +#X obj 110 283 -; +#X obj 15 239 t l l; +#X obj 115 308 abs; +#X floatatom 100 365 5 0 0 0 - - -; +#X floatatom 297 581 5 0 0 0 - - -; +#X msg 140 466 1; +#X obj 316 506 t b f f; +#X msg 96 413 0; +#X obj 36 454 spigot 1; +#X obj 107 585 +; +#X obj -6 518 t f f; +#X obj 46 550 spigot 1; +#X msg 172 467 0; +#X msg 141 535 1; +#X obj 347 441 moses; +#X obj 193 378 / 1; +#X obj 460 359 t f f f; +#X obj 399 454 b; +#X obj 291 552 convert.ms2smp; +#X obj 360 529 * 1; +#X obj 400 477 f 20; +#X obj 315 395 > 0; +#X connect 0 0 38 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 12 0; +#X connect 3 0 2 1; +#X connect 4 0 5 0; +#X connect 5 0 13 0; +#X connect 5 1 6 1; +#X connect 6 0 1 2; +#X connect 6 0 0 1; +#X connect 7 0 1 0; +#X connect 8 0 47 0; +#X connect 8 1 45 0; +#X connect 11 0 3 0; +#X connect 11 0 52 1; +#X connect 11 0 56 1; +#X connect 12 0 38 0; +#X connect 13 0 1 1; +#X connect 13 1 12 1; +#X connect 13 2 6 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 22 0; +#X connect 18 0 35 0; +#X connect 19 1 24 0; +#X connect 20 0 19 1; +#X connect 21 0 20 0; +#X connect 21 0 23 0; +#X connect 22 1 26 0; +#X connect 23 0 22 1; +#X connect 23 0 25 1; +#X connect 24 0 28 0; +#X connect 24 1 14 0; +#X connect 25 0 27 0; +#X connect 26 0 25 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 33 0 52 0; +#X connect 34 0 36 0; +#X connect 34 1 51 0; +#X connect 35 0 53 0; +#X connect 36 0 42 0; +#X connect 36 0 49 0; +#X connect 36 1 32 0; +#X connect 37 0 39 0; +#X connect 38 0 8 0; +#X connect 38 1 37 0; +#X connect 39 0 33 0; +#X connect 39 0 40 0; +#X connect 42 0 45 1; +#X connect 43 0 44 0; +#X connect 43 0 50 0; +#X connect 43 1 56 0; +#X connect 43 2 32 0; +#X connect 44 0 45 1; +#X connect 45 0 10 0; +#X connect 46 0 10 0; +#X connect 47 0 9 0; +#X connect 47 1 48 0; +#X connect 48 0 46 0; +#X connect 49 0 48 1; +#X connect 50 0 48 1; +#X connect 51 0 36 0; +#X connect 51 1 54 0; +#X connect 52 0 34 0; +#X connect 53 0 58 0; +#X connect 53 1 51 1; +#X connect 53 2 57 1; +#X connect 54 0 57 0; +#X connect 55 0 41 0; +#X connect 55 0 46 1; +#X connect 56 0 55 0; +#X connect 57 0 43 0; +#X connect 58 0 34 1; +#X restore 83 702 pd check_limits; +#X obj 214 334 f 1; +#X obj 411 138 random 2; +#X obj 443 169 * 2; +#X obj 446 194 - 1; +#X obj 545 157 clip 0 1; +#X obj 506 242 + 0.5; +#X obj 512 216 * 0.5; +#X obj 544 187 * 0.5; +#X obj 540 103 r \$0pan; +#X obj 297 244 -; +#X msg 297 222 1 \$1; +#X obj 295 141 r \$0gain; +#X obj 289 188 clip 0 1; +#X obj 245 283 random.f 1 1; +#X obj 1017 28 inlet~; +#X text 135 900 voice start(smp) end(smp) duration(ms) slope(rel) --- +gain tables; +#X text 220 618 start; +#X obj 983 409 t f f; +#X obj 1004 433 -; +#X obj 992 475 abs; +#X obj 860 397 snapshot~; +#X obj 859 451 *; +#X obj 865 483 +; +#X obj 902 425 wrap 0 1; +#X connect 0 0 8 0; +#X connect 1 0 13 1; +#X connect 1 1 13 2; +#X connect 2 0 1 0; +#X connect 5 0 3 0; +#X connect 5 1 9 0; +#X connect 6 0 25 8; +#X connect 7 0 6 1; +#X connect 8 0 25 0; +#X connect 8 1 48 0; +#X connect 8 3 13 0; +#X connect 8 4 28 0; +#X connect 8 6 41 0; +#X connect 8 7 12 0; +#X connect 8 8 29 0; +#X connect 10 0 11 1; +#X connect 11 0 25 9; +#X connect 12 0 6 0; +#X connect 12 1 11 0; +#X connect 13 0 27 1; +#X connect 14 0 17 0; +#X connect 15 0 16 0; +#X connect 16 0 24 0; +#X connect 16 1 18 0; +#X connect 17 0 23 0; +#X connect 17 1 22 0; +#X connect 18 0 21 0; +#X connect 19 0 20 0; +#X connect 20 0 45 0; +#X connect 21 0 46 1; +#X connect 22 1 24 1; +#X connect 22 2 18 1; +#X connect 23 1 20 1; +#X connect 23 2 21 1; +#X connect 24 0 19 0; +#X connect 25 0 5 0; +#X connect 26 0 28 1; +#X connect 27 0 25 1; +#X connect 27 1 25 2; +#X connect 27 2 25 3; +#X connect 28 0 25 4; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 34 0; +#X connect 32 0 35 0; +#X connect 33 0 25 7; +#X connect 34 0 33 0; +#X connect 35 0 34 1; +#X connect 36 0 32 0; +#X connect 37 0 41 1; +#X connect 38 0 37 0; +#X connect 39 0 40 0; +#X connect 40 0 38 0; +#X connect 41 0 25 6; +#X connect 42 0 48 0; +#X connect 45 0 50 1; +#X connect 45 1 46 0; +#X connect 46 0 47 0; +#X connect 47 0 49 1; +#X connect 48 0 51 0; +#X connect 49 0 50 0; +#X connect 50 0 27 0; +#X connect 51 0 49 0; +#X restore 270 41 pd parameters; +#X obj 51 -91 r \$0grain_done; +#N canvas 835 272 450 300 new_interonset 0; +#X obj 101 47 inlet; +#X obj 101 258 outlet; +#N canvas 0 0 450 300 float|list 0; +#X obj 273 90 route list; +#X obj 273 118 unpack f f; +#X obj 349 115 t f f; +#X obj 284 54 inlet; +#X obj 268 181 outlet; +#X obj 359 188 outlet; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 3 0 0 0; +#X restore 199 86 pd float|list; +#X obj 254 16 r \$0interonset; +#X msg 123 157 1; +#X msg 203 150 1; +#X obj 130 107 moses 1; +#X obj 201 126 moses 1; +#X obj 101 192 random.f 1 10; +#X connect 0 0 8 0; +#X connect 2 0 6 0; +#X connect 2 1 7 0; +#X connect 3 0 2 0; +#X connect 4 0 8 1; +#X connect 5 0 8 2; +#X connect 6 0 4 0; +#X connect 6 1 8 1; +#X connect 7 0 5 0; +#X connect 7 1 8 2; +#X connect 8 0 1 0; +#X restore -8 -212 pd new_interonset; +#X obj 126 -140 t b b; +#X obj 71 113 r \$0grains; +#X obj 544 -270 inlet; +#X obj 122 -172 delay 100; +#X obj 765 2 s \$0interonset; +#X obj 48 10 count.accum; +#X msg 164 -16 1; +#X msg 21 -34 -1; +#N canvas 0 151 1028 621 sample_parse 0; +#X obj 510 337 s \$0frames; +#X obj 379 332 s \$0grains; +#X obj 105 7 inlet; +#X obj 383 113 table \$0dummy 44100; +#X obj 257 189 f \$0; +#X msg 384 211 44100; +#X msg 266 217 table \$1dummy; +#X obj 119 176 sel -1 1 0; +#X msg 547 268 kill; +#X obj 397 48 s \$0ready; +#X msg 357 6 1; +#X obj 277 142 t b b b b; +#X msg 356 147 0; +#X msg 4 297 symbol \$1s0; +#X obj 1 348 outlet; +#X obj 121 347 outlet; +#X obj 15 270 demultiplex 0 1; +#X obj 176 257 > 1; +#X msg 91 298 symbol \$1s0; +#X msg 185 294 symbol \$1s1; +#X obj -17 76 sample.handler; +#X obj 128 62 unpack f f f; +#X obj 251 520 s \$0region; +#X obj 69 517 s \$0loop; +#X obj 318 426 s \$0gadsr; +#X obj 582 213 /; +#X obj 524 160 t f b; +#X obj 599 184 samplerate~; +#X obj 635 258 s \$0filespeed; +#X obj 729 147 s \$0playback; +#X obj 100 32 r \$0op; +#X obj 106 404 list.split 2; +#X obj 222 429 unpack f f; +#X obj 245 492 pack f f; +#X obj 232 460 *; +#X obj 280 459 *; +#X connect 2 0 20 0; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 7 0 11 0; +#X connect 7 1 10 0; +#X connect 7 2 11 0; +#X connect 8 0 1 0; +#X connect 10 0 9 0; +#X connect 11 2 8 0; +#X connect 11 3 12 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 0 15 0; +#X connect 16 0 13 0; +#X connect 16 1 18 0; +#X connect 16 1 19 0; +#X connect 17 0 16 1; +#X connect 18 0 14 0; +#X connect 19 0 15 0; +#X connect 20 0 7 0; +#X connect 20 3 24 0; +#X connect 20 4 31 0; +#X connect 20 6 16 0; +#X connect 20 7 21 0; +#X connect 20 8 29 0; +#X connect 21 0 0 0; +#X connect 21 0 34 1; +#X connect 21 0 35 1; +#X connect 21 1 26 0; +#X connect 21 2 17 0; +#X connect 25 0 28 0; +#X connect 26 0 25 0; +#X connect 26 1 27 0; +#X connect 27 0 25 1; +#X connect 31 0 23 0; +#X connect 31 1 32 0; +#X connect 32 0 34 0; +#X connect 32 1 35 0; +#X connect 33 0 22 0; +#X connect 34 0 33 0; +#X connect 35 0 33 1; +#X restore 528 -229 pd sample_parse; +#X obj 822 -26 s \$0length; +#X obj 855 -96 s \$0gain; +#X obj 154 -308 r \$0on/off; +#X obj 171 -232 sel 1 0; +#X msg 191 -200 stop; +#X obj 477 363 outlet; +#X obj 546 365 outlet; +#X text 473 390 voices; +#X obj 210 -4 t f b; +#X obj 59 -70 t f b; +#X obj 973 -121 s \$0peek; +#X text 545 389 peek; +#X obj 43 383 outlet~; +#X obj 166 379 outlet~; +#X obj 829 -316 inlet; +#X obj 200 -105 spigot; +#X obj 228 -135 r \$0ready; +#X obj 1034 -80 s \$0pan; +#X obj 326 115 b; +#X obj 328 93 r \$0peek; +#X obj 453 92 list; +#X obj 356 -189 sel 0 1; +#X msg 503 -146 Ready.; +#X obj 405 136 route bang; +#X obj 479 164 t l b; +#X msg 320 -144 Not ready(no sample).; +#X obj 326 -109 print sample.particular~; +#N canvas 0 25 1247 914 grains 0; +#X obj 160 172 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 +19 20 21 22 23 24 25 26 27 28 29 30 31; +#X obj 20 1 inlet; +#X obj 20 214 t a; +#X obj 56 527 outlet~; +#X obj 310 15 inlet; +#X obj 166 526 outlet~; +#X obj 28 330 include/sample.particular.grain~ \$0 0; +#X text 62 4 all; +#X text 354 14 one; +#X obj 97 466 catch~ \$0_1; +#X obj 191 464 catch~ \$0_2; +#X obj 28 359 include/sample.particular.grain~ \$0 10; +#X obj 182 359 include/sample.particular.grain~ \$0 11; +#X obj 1115 359 include/sample.particular.grain~ \$0 17; +#X obj 1278 359 include/sample.particular.grain~ \$0 18; +#X obj 182 330 include/sample.particular.grain~ \$0 1; +#X obj 328 330 include/sample.particular.grain~ \$0 2; +#X obj 491 330 include/sample.particular.grain~ \$0 3; +#X obj 645 330 include/sample.particular.grain~ \$0 4; +#X obj 798 330 include/sample.particular.grain~ \$0 5; +#X obj 962 330 include/sample.particular.grain~ \$0 6; +#X obj 1115 330 include/sample.particular.grain~ \$0 7; +#X obj 1278 330 include/sample.particular.grain~ \$0 8; +#X obj 1432 330 include/sample.particular.grain~ \$0 9; +#X obj 328 359 include/sample.particular.grain~ \$0 12; +#X obj 491 359 include/sample.particular.grain~ \$0 13; +#X obj 645 359 include/sample.particular.grain~ \$0 14; +#X obj 798 359 include/sample.particular.grain~ \$0 15; +#X obj 962 359 include/sample.particular.grain~ \$0 16; +#X obj 1432 359 include/sample.particular.grain~ \$0 19; +#X obj 28 388 include/sample.particular.grain~ \$0 20; +#X obj 182 388 include/sample.particular.grain~ \$0 21; +#X obj 328 388 include/sample.particular.grain~ \$0 22; +#X obj 491 388 include/sample.particular.grain~ \$0 23; +#X obj 646 388 include/sample.particular.grain~ \$0 24; +#X obj 799 388 include/sample.particular.grain~ \$0 25; +#X obj 962 388 include/sample.particular.grain~ \$0 26; +#X obj 1115 388 include/sample.particular.grain~ \$0 27; +#X obj 1278 388 include/sample.particular.grain~ \$0 28; +#X obj 1432 388 include/sample.particular.grain~ \$0 29; +#X obj 28 417 include/sample.particular.grain~ \$0 30; +#X obj 182 417 include/sample.particular.grain~ \$0 31; +#X connect 0 0 6 0; +#X connect 0 1 15 0; +#X connect 0 2 16 0; +#X connect 0 3 17 0; +#X connect 0 4 18 0; +#X connect 0 5 19 0; +#X connect 0 6 20 0; +#X connect 0 7 21 0; +#X connect 0 8 22 0; +#X connect 0 9 23 0; +#X connect 0 10 11 0; +#X connect 0 11 12 0; +#X connect 0 12 24 0; +#X connect 0 13 25 0; +#X connect 0 14 26 0; +#X connect 0 15 27 0; +#X connect 0 16 28 0; +#X connect 0 17 13 0; +#X connect 0 18 14 0; +#X connect 0 19 29 0; +#X connect 0 20 30 0; +#X connect 0 21 31 0; +#X connect 0 22 32 0; +#X connect 0 23 33 0; +#X connect 0 24 34 0; +#X connect 0 25 35 0; +#X connect 0 26 36 0; +#X connect 0 27 37 0; +#X connect 0 28 38 0; +#X connect 0 29 39 0; +#X connect 0 30 40 0; +#X connect 0 31 41 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 2 0 11 0; +#X connect 2 0 12 0; +#X connect 2 0 13 0; +#X connect 2 0 14 0; +#X connect 2 0 15 0; +#X connect 2 0 16 0; +#X connect 2 0 17 0; +#X connect 2 0 18 0; +#X connect 2 0 19 0; +#X connect 2 0 20 0; +#X connect 2 0 21 0; +#X connect 2 0 22 0; +#X connect 2 0 23 0; +#X connect 2 0 24 0; +#X connect 2 0 25 0; +#X connect 2 0 26 0; +#X connect 2 0 27 0; +#X connect 2 0 28 0; +#X connect 2 0 29 0; +#X connect 2 0 30 0; +#X connect 2 0 31 0; +#X connect 2 0 32 0; +#X connect 2 0 33 0; +#X connect 2 0 34 0; +#X connect 2 0 35 0; +#X connect 2 0 36 0; +#X connect 2 0 37 0; +#X connect 2 0 38 0; +#X connect 2 0 39 0; +#X connect 2 0 40 0; +#X connect 2 0 41 0; +#X connect 4 0 0 0; +#X connect 9 0 3 0; +#X connect 10 0 5 0; +#X restore 75 174 pd grains; +#X obj 878 -46 s \$0slope; +#X obj 206 -32 lifop; +#X obj 992 -286 inlet~; +#X obj 1110 -86 s \$0max.duration; +#X obj 54 333 *~; +#X obj 160 300 *~; +#N canvas 1483 214 744 531 mtospeed 0; +#X obj 204 190 s \$0speed; +#X obj 201 -11 convert.m2speed; +#X obj 214 -158 inlet; +#X obj 223 -120 unpack f f; +#X obj 325 -89 sel 0; +#X obj 218 -62 spigot; +#X msg 349 -39 1; +#X obj 430 1 s \$0velocity; +#X msg 287 -88 0; +#X obj 312 -62 t f f; +#X obj 309 189 s \$0onset.speed; +#X obj 218 106 t f b; +#X msg 251 129 1; +#X obj 479 -30 s \$0trig; +#X obj 573 -23 s \$0on/off; +#X obj 368 -64 t b f b b; +#X msg 553 -54 1; +#X obj 257 22 r \$0playback; +#X obj 276 58 r \$0filespeed; +#X obj 187 25 *; +#X obj 203 58 *; +#X connect 1 0 19 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 3 1 4 0; +#X connect 4 0 8 0; +#X connect 4 1 15 0; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 8 0 9 0; +#X connect 9 0 5 1; +#X connect 9 1 7 0; +#X connect 11 0 0 0; +#X connect 11 1 12 0; +#X connect 12 0 10 0; +#X connect 15 0 6 0; +#X connect 15 1 7 0; +#X connect 15 2 13 0; +#X connect 15 3 16 0; +#X connect 16 0 14 0; +#X connect 17 0 19 1; +#X connect 18 0 20 1; +#X connect 19 0 20 0; +#X connect 20 0 11 0; +#X restore 673 -206 pd mtospeed; +#X msg 525 221 grain \$1 start \$2 end \$3 duration \$4 slope \$5 gain +\$7 pan \$8; +#X obj 1167 -172 loadbang; +#X msg 1172 -142 20; +#X obj 727 -283 route list; +#X obj 302 307 snapshot~; +#X obj 333 418 s \$0on/off; +#X obj 327 330 > 0; +#X obj 330 372 sel 0 1; +#X msg 333 396 0; +#X obj 324 355 change; +#X obj 112 -228 spigot; +#X obj 149 -265 t f f; +#N canvas 0 0 1005 704 gadsr 0; +#X obj 74 120 synth.adsr~; +#X obj 79 64 r \$0velocity; +#X obj 179 76 unpack f f f f f; +#X obj 205 35 r \$0gadsr; +#X obj 73 174 outlet~; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 1 0 1; +#X connect 2 2 0 2; +#X connect 2 3 0 3; +#X connect 2 4 0 4; +#X connect 3 0 2 0; +#X restore 202 216 pd gadsr; +#X obj 771 -186 route inter.onset length gain.spread slope lastgrain +stereo.spread max.duration original.pitch; +#X obj 1016 20 s \$0op; +#X connect 1 0 44 0; +#X connect 3 0 42 1; +#X connect 3 1 35 1; +#X connect 4 0 24 0; +#X connect 5 0 60 0; +#X connect 6 0 5 0; +#X connect 6 1 30 0; +#X connect 7 0 42 0; +#X connect 8 0 14 0; +#X connect 9 0 6 0; +#X connect 11 0 20 0; +#X connect 12 0 11 0; +#X connect 13 0 11 0; +#X connect 14 0 3 1; +#X connect 14 1 3 2; +#X connect 17 0 61 0; +#X connect 18 0 9 0; +#X connect 18 1 19 0; +#X connect 19 0 9 0; +#X connect 23 0 3 0; +#X connect 23 1 12 0; +#X connect 23 1 54 0; +#X connect 24 0 44 0; +#X connect 24 1 13 0; +#X connect 29 0 53 0; +#X connect 30 0 44 0; +#X connect 31 0 30 1; +#X connect 31 0 36 0; +#X connect 33 0 35 0; +#X connect 34 0 33 0; +#X connect 35 0 38 0; +#X connect 36 0 40 0; +#X connect 36 1 37 0; +#X connect 37 0 41 0; +#X connect 38 1 39 0; +#X connect 39 0 50 0; +#X connect 39 1 35 1; +#X connect 40 0 41 0; +#X connect 42 0 47 0; +#X connect 42 1 48 0; +#X connect 44 0 23 0; +#X connect 45 0 3 3; +#X connect 47 0 27 0; +#X connect 48 0 28 0; +#X connect 50 0 21 0; +#X connect 51 0 52 0; +#X connect 52 0 46 0; +#X connect 53 0 49 0; +#X connect 53 1 63 0; +#X connect 54 0 56 0; +#X connect 56 0 59 0; +#X connect 57 0 58 0; +#X connect 58 0 55 0; +#X connect 59 0 57 0; +#X connect 60 0 9 0; +#X connect 61 0 18 0; +#X connect 61 1 60 1; +#X connect 62 0 54 0; +#X connect 62 0 48 1; +#X connect 62 0 47 1; +#X connect 63 0 10 0; +#X connect 63 1 15 0; +#X connect 63 2 16 0; +#X connect 63 3 43 0; +#X connect 63 4 25 0; +#X connect 63 5 32 0; +#X connect 63 6 46 0; +#X connect 63 7 64 0; diff --git a/sample.pitch-help.pd b/sample.pitch-help.pd new file mode 100644 index 0000000..2235ab9 --- /dev/null +++ b/sample.pitch-help.pd @@ -0,0 +1,41 @@ +#N canvas 326 150 559 474 10; +#X obj 55 209 sample.pitch; +#X obj 54 358 sample.play~; +#X obj 56 421 mix.out_~; +#X obj 55 91 sample.filer; +#X msg 56 41 medias/sounds/loop1.wav; +#X obj 54 298 sample.print; +#X msg 147 309 1; +#X msg 153 348 0; +#X obj 141 273 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X floatatom 184 185 5 0 0 0 - - -; +#X floatatom 160 154 5 0 0 0 - - -; +#X text 213 167 OR; +#X text 227 181 MIDI base note; +#X floatatom 91 258 5 0 0 0 - - -; +#X floatatom 131 235 5 0 0 0 - - -; +#X text 174 231 MIDI base note; +#X text 154 126 You can change the base pitch of a sample by either +of these two inlets:; +#X text 195 151 base pitch (for note 60); +#X text 125 255 base pitch (for note 60); +#X text 181 311 <- By changing the pitch with sample.pitch \, the sample +will play at the new pitch when trigged.; +#X msg 184 383 60 126; +#X msg 184 410 60 0; +#X connect 0 0 5 0; +#X connect 0 1 13 0; +#X connect 0 2 14 0; +#X connect 1 0 2 0; +#X connect 1 1 2 1; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X connect 6 0 1 1; +#X connect 7 0 1 1; +#X connect 8 0 5 1; +#X connect 9 0 0 2; +#X connect 10 0 0 1; +#X connect 20 0 1 1; +#X connect 21 0 1 1; diff --git a/sample.pitch.pd b/sample.pitch.pd new file mode 100644 index 0000000..1e6b196 --- /dev/null +++ b/sample.pitch.pd @@ -0,0 +1,40 @@ +#N canvas 376 237 609 438 10; +#X obj 80 127 sample.handler; +#X obj 22 385 outlet sample_id; +#X obj 22 6 inlet sample_id; +#X obj 22 55 t f f; +#X obj 218 373 outlet playback_speed; +#X obj 204 8 inlet playback_speed; +#X obj 392 36 convert.m2speed; +#X obj 391 9 inlet midi_base_note; +#X obj 419 372 outlet midi_base_note; +#X obj 311 232 convert.speed2m; +#X obj 189 169 t f f; +#X msg 268 181 1 \$1; +#X obj 293 205 /; +#X msg 324 92 1 \$1; +#X obj 349 116 /; +#X obj 66 169 == 1; +#X obj 65 201 sel 0; +#X obj 75 250 t f f; +#X msg 62 224 0; +#X connect 0 0 15 0; +#X connect 0 8 10 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 0 0; +#X connect 5 0 0 5; +#X connect 6 0 13 0; +#X connect 7 0 6 0; +#X connect 9 0 8 0; +#X connect 10 0 4 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 14 0 0 5; +#X connect 15 0 16 0; +#X connect 16 0 18 0; +#X connect 17 0 4 0; +#X connect 17 1 8 0; +#X connect 18 0 17 0; diff --git a/sample.pitch_-help.pd b/sample.pitch_-help.pd new file mode 100644 index 0000000..c292318 --- /dev/null +++ b/sample.pitch_-help.pd @@ -0,0 +1,26 @@ +#N canvas 326 150 563 478 10; +#X obj 54 332 sample.play~; +#X obj 56 395 mix.out_~; +#X obj 54 135 sample.filer; +#X msg 55 85 medias/sounds/loop1.wav; +#X obj 54 272 sample.print; +#X msg 147 283 1; +#X msg 153 322 0; +#X obj 141 247 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X text 181 285 <- By changing the pitch with sample.pitch \, the sample +will play at the new pitch when trigged.; +#X msg 184 357 60 126; +#X msg 184 384 60 0; +#X obj 54 190 sample.pitch_; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 2 0 11 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 6 0 0 1; +#X connect 7 0 4 1; +#X connect 9 0 0 1; +#X connect 10 0 0 1; +#X connect 11 0 4 0; diff --git a/sample.pitch_.pd b/sample.pitch_.pd new file mode 100644 index 0000000..2c7aba1 --- /dev/null +++ b/sample.pitch_.pd @@ -0,0 +1,39 @@ +#N canvas 0 0 509 382 10; +#X obj 45 176 sample.pitch; +#X obj 17 27 inlet; +#X obj 17 256 outlet; +#X obj 109 40 inlet; +#X obj 233 53 inlet; +#X obj 77 257 outlet; +#X obj 152 256 outlet; +#X obj 101 115 nbx 3 15 0 1e+037 0 0 empty empty empty 0 20 0 10 -1 +-191407 -1 0 256; +#X obj 164 115 nbx 3 15 0 127 0 0 empty empty empty 0 20 0 10 -1 -262144 +-1 0 256; +#X obj 134 115 cnv 8 28 15 empty empty /100 5 10 0 7 -1 -262144 0; +#X obj 197 115 cnv 8 28 15 empty empty MIDI 5 10 0 7 -1 -262144 0; +#X obj 101 67 * 100; +#X obj 101 135 / 100; +#X obj 232 175 * 100; +#X obj 90 214 t f f; +#X msg 232 197 set \$1; +#X obj 168 218 t f f; +#X msg 215 227 set \$1; +#X connect 0 0 2 0; +#X connect 0 1 14 0; +#X connect 0 2 16 0; +#X connect 1 0 0 0; +#X connect 3 0 11 0; +#X connect 4 0 8 0; +#X connect 7 0 12 0; +#X connect 8 0 0 2; +#X connect 11 0 7 0; +#X connect 12 0 0 1; +#X connect 13 0 15 0; +#X connect 14 0 5 0; +#X connect 14 1 13 0; +#X connect 15 0 7 0; +#X connect 16 0 6 0; +#X connect 16 1 17 0; +#X connect 17 0 8 0; +#X coords 0 -1 1 1 126 30 1 100 100; diff --git a/sample.play.multi~-help.pd b/sample.play.multi~-help.pd new file mode 100644 index 0000000..d6c8a69 --- /dev/null +++ b/sample.play.multi~-help.pd @@ -0,0 +1,51 @@ +#N canvas 1341 116 907 611 10; +#X obj 328 139 sample.bank; +#X obj 328 67 file.folder.dump; +#X msg 329 29 medias/sounds/; +#X obj 329 -27 t b b; +#X msg 435 29 wav; +#X obj 330 -68 loadbang; +#X obj 388 -52 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 328 101 auto \$1; +#X msg 335 223 2 2; +#X obj 146 366 mix.out_~; +#X obj 464 175 sample.r; +#X obj 465 203 sample.display_; +#X msg 463 141 0; +#X obj 161 32 f \$0; +#X obj 167 64 print; +#X obj 167 -23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 503 143 1; +#X msg 121 167 2 64 127; +#X msg 23 117 0 64 100; +#X msg 91 141 1 50 127; +#X msg 258 221 0 1; +#X msg 297 221 1 0; +#X msg 326 263 3 3; +#X msg 146 193 3 64 100; +#X obj 133 284 sample.play.multi~; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 3 1 4 0; +#X connect 4 0 1 1; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 7 0 0 0; +#X connect 8 0 24 1; +#X connect 10 0 11 0; +#X connect 12 0 10 0; +#X connect 13 0 14 0; +#X connect 15 0 13 0; +#X connect 16 0 10 0; +#X connect 17 0 24 0; +#X connect 18 0 24 0; +#X connect 19 0 24 0; +#X connect 20 0 24 1; +#X connect 21 0 24 1; +#X connect 22 0 24 1; +#X connect 23 0 24 0; +#X connect 24 0 9 0; +#X connect 24 1 9 1; diff --git a/sample.play.multi~.pd b/sample.play.multi~.pd new file mode 100644 index 0000000..788a7dc --- /dev/null +++ b/sample.play.multi~.pd @@ -0,0 +1,83 @@ +#N canvas 1679 305 827 618 10; +#X obj 5 455 catch~ \$0l; +#X obj 105 462 catch~ \$0r; +#X obj 5 546 outlet~ left; +#X obj 102 547 outlet~ right; +#X obj 186 -16 inlet sample_assignment; +#X obj -4 9 inlet notes; +#X obj 186 40 list.split 1; +#X obj 186 295 list; +#X obj 186 329 flow.send; +#X obj 240 268 pack f \$0; +#X obj 239 292 makesymbol %s_%ss; +#X obj -4 50 list.split 1; +#X obj 0 120 list; +#X obj -1 153 flow.send; +#X obj -1 78 t b a; +#X obj 54 93 pack f \$0; +#N canvas 0 0 450 300 \$0players 0; +#X restore 518 377 pd \$0players; +#X obj 444 533 s pd-\$0players; +#X msg 444 436 obj 10 \$1 include/sample.multi.player~ \$2 \$3; +#X obj 272 121 coll; +#C restore; +#X obj 257 189 spigot; +#X msg 272 143 0; +#X obj 186 79 t b a a a b; +#X msg 312 122 1; +#X obj 412 292 f; +#X obj 412 315 + 20; +#X obj 412 338 t f f; +#X obj 412 378 pack f f \$0; +#X obj 333 73 f; +#X msg 478 280 store \$1 \$1; +#X msg 585 478 clear; +#X obj 587 457 loadbang; +#X obj 53 117 makesymbol %s_%sn; +#X obj 356 407 t b b a; +#X obj 430 250 t b a a b; +#X msg 300 480 \; pd dsp 1; +#X msg 600 275 \; pd dsp 0; +#X obj 333 445 delay 1; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 4 0 6 0; +#X connect 5 0 11 0; +#X connect 6 0 22 0; +#X connect 6 1 7 1; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 11 0 14 0; +#X connect 11 1 12 1; +#X connect 12 0 13 0; +#X connect 14 0 12 0; +#X connect 14 1 15 0; +#X connect 15 0 32 0; +#X connect 18 0 17 0; +#X connect 19 0 21 0; +#X connect 20 0 34 0; +#X connect 21 0 20 1; +#X connect 22 0 7 0; +#X connect 22 1 9 0; +#X connect 22 2 20 0; +#X connect 22 3 28 0; +#X connect 22 4 23 0; +#X connect 23 0 20 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 26 1 24 1; +#X connect 27 0 33 0; +#X connect 28 0 19 0; +#X connect 29 0 19 0; +#X connect 30 0 17 0; +#X connect 31 0 30 0; +#X connect 32 0 13 1; +#X connect 33 1 37 0; +#X connect 33 2 18 0; +#X connect 34 0 24 0; +#X connect 34 1 27 1; +#X connect 34 2 29 0; +#X connect 34 3 36 0; +#X connect 37 0 35 0; diff --git a/sample.play.poly~-help.pd b/sample.play.poly~-help.pd new file mode 100644 index 0000000..606d7f9 --- /dev/null +++ b/sample.play.poly~-help.pd @@ -0,0 +1,39 @@ +#N struct 4917preview float x float y float p float h; +#N canvas 57 149 889 662 10; +#X msg 356 392 60 64; +#X msg 407 392 60 0; +#X msg 443 394 62 64; +#X msg 498 392 62 0; +#X obj 34 141 sample.filer; +#X obj 34 200 sample.display_; +#X obj 40 549 mix.out_~; +#X msg 540 394 stop; +#X text 204 479 <-- first argument \, number of voices \; second argument +selects voice stealing; +#X text 31 34 Description: A polyphonic version of sample.groove~. +; +#X obj 34 117 file.path.top; +#X obj 34 69 loadbang; +#X obj 34 323 sample.adsr_; +#X obj 34 385 sample.pitch_; +#X obj 43 521 fx.limiter~; +#X msg 34 89 medias/sounds/note0.wav; +#X obj 403 251 input.piano_; +#X obj 36 480 sample.play.poly~ 4 0; +#X connect 0 0 17 1; +#X connect 1 0 17 1; +#X connect 2 0 17 1; +#X connect 3 0 17 1; +#X connect 4 0 5 0; +#X connect 5 0 12 0; +#X connect 7 0 17 1; +#X connect 10 0 4 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 13 0 17 0; +#X connect 14 0 6 0; +#X connect 14 1 6 1; +#X connect 15 0 10 0; +#X connect 16 0 17 1; +#X connect 17 0 14 0; +#X connect 17 1 14 1; diff --git a/sample.play.poly~.pd b/sample.play.poly~.pd new file mode 100644 index 0000000..2550e6f --- /dev/null +++ b/sample.play.poly~.pd @@ -0,0 +1,129 @@ +#N canvas 81 45 945 694 10; +#X obj -37 8 inlet sample_id; +#X obj 245 6 inlet note_in; +#X obj 275 218 s \$0notes; +#X obj 196 172 pack 0 0 0; +#N canvas 576 436 626 476 \$0voices 0; +#X restore 547 266 pd \$0voices; +#X obj -37 211 s \$0sample_id; +#X obj 90 436 catch~ \$0l; +#X obj 198 438 catch~ \$0r; +#N canvas 1315 203 1028 734 make_voices 0; +#X obj 130 148 f \$1; +#X obj 494 515 flow.send; +#X obj 400 93 f \$0; +#X obj 492 183 convert.list2symbol none; +#X obj 243 65 t b b; +#X msg 355 202 clear; +#X msg 402 130 list pd- \$1 voices; +#X obj 281 200 f \$0; +#X obj 16 283 flow.iter; +#X obj 170 112 t b b b b; +#X obj 113 171 sel 0; +#X msg 101 198 1; +#X obj 115 371 * 30; +#X obj 205 438 pack; +#X obj 189 185 flow.iter; +#X obj 193 247 list.build; +#X obj 209 295 list prepend obj 120 30 route; +#X obj 233 324 list trim; +#X obj 128 234 t f b f; +#X obj 158 382 t f f; +#X obj 237 425 + 60; +#X obj 10 328 t f f f; +#X obj 246 12 inlet; +#X obj 244 218 + 1; +#X msg -87 582 loadbang; +#X obj -92 372 pack f f f; +#X obj 31 251 t f f; +#X msg 212 472 obj \$1 \$2 sample.play~; +#X msg 346 257 obj 0 0 r \$1sample_id \, obj 120 0 r \$1notes \, obj +300 120 throw~ \$1l \, obj 300 140 throw~ \$1r \, obj 0 150 s \$1off +; +#X msg 122 330 connect 1 0 5 0; +#X obj -40 328 + 6; +#X msg -178 435 connect 0 0 \$1 0 \, connect 5 \$2 \$1 1 \, connect +\$1 0 2 0 \, connect \$1 1 3 0 \, connect 5 \$3 \$1 1 \, connect \$1 +2 4 0; +#X connect 0 0 10 0; +#X connect 2 0 6 0; +#X connect 3 0 1 1; +#X connect 4 0 9 0; +#X connect 4 1 2 0; +#X connect 5 0 1 0; +#X connect 6 0 3 0; +#X connect 7 0 28 0; +#X connect 8 0 21 0; +#X connect 9 0 24 0; +#X connect 9 1 0 0; +#X connect 9 2 7 0; +#X connect 9 3 5 0; +#X connect 10 0 11 0; +#X connect 10 1 18 0; +#X connect 11 0 18 0; +#X connect 12 0 19 0; +#X connect 13 0 27 0; +#X connect 14 0 23 0; +#X connect 14 1 15 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 1 0; +#X connect 18 0 26 0; +#X connect 18 1 29 0; +#X connect 18 2 14 0; +#X connect 19 0 13 0; +#X connect 19 1 20 0; +#X connect 20 0 13 1; +#X connect 21 0 30 0; +#X connect 21 1 25 1; +#X connect 21 2 12 0; +#X connect 22 0 4 0; +#X connect 23 0 15 1; +#X connect 24 0 1 0; +#X connect 25 0 31 0; +#X connect 26 0 8 0; +#X connect 26 1 25 2; +#X connect 27 0 1 0; +#X connect 28 0 1 0; +#X connect 29 0 1 0; +#X connect 30 0 25 0; +#X connect 31 0 1 0; +#X restore 546 199 pd make_voices; +#X obj 509 170 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X obj 546 170 loadbang; +#X obj 86 547 outlet~ left; +#X obj 207 546 outlet~ right; +#X obj 249 65 route list; +#X obj 201 35 relay stop; +#X obj 193 147 poly \$1 \$2; +#X obj 6 66 sample.handler; +#X obj -37 36 t f f; +#X obj -13 103 == 1; +#X obj -15 136 sel 0; +#X msg 28 171 stop; +#X obj 244 96 spigot; +#X obj 336 96 r \$0off; +#X connect 0 0 17 0; +#X connect 1 0 14 0; +#X connect 3 0 2 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 13 0 21 0; +#X connect 13 1 2 0; +#X connect 14 0 15 0; +#X connect 14 1 13 0; +#X connect 15 0 3 0; +#X connect 15 1 3 1; +#X connect 15 2 3 2; +#X connect 16 0 18 0; +#X connect 17 0 5 0; +#X connect 17 1 16 0; +#X connect 18 0 19 0; +#X connect 18 0 21 1; +#X connect 19 0 20 0; +#X connect 20 0 15 0; +#X connect 21 0 15 0; +#X connect 22 0 15 0; diff --git a/sample.play~-help.pd b/sample.play~-help.pd new file mode 100644 index 0000000..98ea267 --- /dev/null +++ b/sample.play~-help.pd @@ -0,0 +1,59 @@ +#N struct 3943preview float x float y float p float h; +#N canvas 1430 173 848 710 10; +#X obj 20 413 sample.play~; +#X obj 20 134 sample.display_; +#X obj 20 113 sample.filer; +#X obj 21 518 mix.out_~; +#X msg 52 328 1; +#X msg 107 328 0; +#X obj 20 221 sample.bounds_; +#X obj 20 274 sample.adsr_; +#X msg 80 328 2; +#X msg 20 32 medias/sounds/note0.wav; +#X text 18 15 Description: A non looping pitchable sample player.; +#X msg 188 328 60 127; +#X msg 238 328 60 64; +#X msg 139 328 55 127; +#X obj 433 71 file.browser_; +#X msg 720 32 patterns wav aiff; +#X msg 614 30 medias/sounds; +#X obj 37 84 r \$0sample; +#X obj 433 249 s \$0sample; +#X text 118 111 but still takes the region into account.; +#X text 118 96 sample.play~ ignores the loop points \,; +#X text 430 48 load another sampling; +#X obj 149 447 anal.sig_~; +#X obj 641 -15 loadbang; +#X obj 645 7 t b b; +#X text 258 451 Progress (relative to the whole file lenght).; +#X msg 198 396 -1; +#X msg 27 54 medias/sounds/loop1.wav; +#X msg 32 366 0.5; +#X obj 134 489 print DONE; +#X obj 76 381 midi.note.close; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 0 2 29 0; +#X connect 0 3 22 0; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 4 0 30 0; +#X connect 5 0 30 0; +#X connect 6 0 7 0; +#X connect 7 0 0 0; +#X connect 8 0 30 0; +#X connect 9 0 2 0; +#X connect 11 0 30 0; +#X connect 12 0 30 0; +#X connect 13 0 30 0; +#X connect 14 0 18 0; +#X connect 15 0 14 1; +#X connect 16 0 14 1; +#X connect 17 0 2 0; +#X connect 23 0 24 0; +#X connect 24 0 16 0; +#X connect 24 1 15 0; +#X connect 26 0 0 1; +#X connect 27 0 2 0; +#X connect 28 0 30 0; +#X connect 30 0 0 1; diff --git a/sample.play~.pd b/sample.play~.pd new file mode 100644 index 0000000..150c9ec --- /dev/null +++ b/sample.play~.pd @@ -0,0 +1,357 @@ +#N canvas 0 24 1247 915 10; +#X obj 26 50 sample.handler; +#X obj 25 18 inlet sample_id; +#X obj 12 565 synth.adsr~; +#N canvas 1477 270 899 627 table.play~ 0; +#X obj 26 482 tabread4~; +#X obj 357 -99 inlet table; +#X msg 357 9 set \$1; +#X obj 357 -48 symbol; +#X obj 294 563 outlet~; +#X obj 437 559 outlet done; +#X obj 34 191 pack f f f; +#X obj 71 28 t f f; +#X obj 35 125 expr (1/$f1)*$f2; +#X obj 24 -101 inlet speed start length; +#X obj 735 -91 inlet stop; +#X obj 31 -25 unpack f f f; +#X obj 118 31 t f f; +#X obj 148 92 convert.smp2ms; +#X obj 102 70 +; +#X msg 34 282 \$2 \, \$3 \$1; +#X obj 36 335 timing.line~; +#X msg 735 -41 stop; +#X obj 32 57 < 0; +#X obj 3 31 t f f; +#X obj 5 82 abs; +#X obj 38 242 demultiplex 0 1; +#X msg 161 288 \$3 \, \$2 \$1; +#X obj 513 -96 inlet table_2; +#X text 778 550 0=normal \, 1=reverse; +#X obj 670 550 outlet reverse; +#X obj 670 509 f; +#X obj 23 213 t b a; +#X obj 143 573 outlet~ right; +#X obj 35 572 outlet~ left; +#X msg 506 5 set \$1; +#X obj 506 -52 symbol; +#X obj 127 487 tabread4~; +#X connect 0 0 29 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 6 0 27 0; +#X connect 7 0 6 1; +#X connect 7 1 14 0; +#X connect 8 0 6 0; +#X connect 9 0 11 0; +#X connect 10 0 17 0; +#X connect 11 0 19 0; +#X connect 11 1 7 0; +#X connect 11 2 12 0; +#X connect 12 0 14 1; +#X connect 12 1 13 0; +#X connect 13 0 8 1; +#X connect 14 0 6 2; +#X connect 15 0 16 0; +#X connect 16 0 4 0; +#X connect 16 0 0 0; +#X connect 16 0 32 0; +#X connect 16 1 5 0; +#X connect 17 0 16 0; +#X connect 18 0 21 1; +#X connect 18 0 26 1; +#X connect 19 0 20 0; +#X connect 19 1 18 0; +#X connect 20 0 8 0; +#X connect 21 0 15 0; +#X connect 21 1 22 0; +#X connect 22 0 16 0; +#X connect 23 0 31 0; +#X connect 26 0 25 0; +#X connect 27 0 26 0; +#X connect 27 1 21 0; +#X connect 30 0 32 0; +#X connect 31 0 30 0; +#X connect 32 0 28 0; +#X restore 180 425 pd table.play~; +#X obj 650 745 outlet done; +#X obj -63 721 *~; +#X obj 537 -49 inlet speed(trig); +#X obj 712 241 *; +#X obj 713 295 *; +#X text 748 238 *playback speed; +#X obj 303 156 unpack f f f; +#X text 390 155 frames samplerate channels; +#N canvas 0 0 454 304 relative_samplerate 0; +#X obj 174 172 /; +#X obj 150 138 t f b; +#X obj 192 148 samplerate~; +#X obj 139 40 inlet; +#X obj 166 264 outlet; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 2 0 0 1; +#X connect 3 0 1 0; +#X restore 374 183 pd relative_samplerate; +#X text 744 295 *relative_samplerate; +#X msg 334 259 \$1s0; +#X text 111 141 region; +#X obj 160 378 pack f f f; +#X msg -60 138 0; +#X obj -61 76 == 1; +#X obj -37 223 s \$0ready; +#X obj 591 38 spigot; +#X obj 725 -31 r \$0ready; +#X obj -60 104 sel 0 1; +#X msg -27 140 1; +#X obj -14 433 unpack f f f f f; +#X obj -59 459 *; +#X text -8 410 gain a d s r; +#X obj -64 811 outlet~; +#X text -67 43 state; +#X obj -122 421 r \$0vel; +#X obj -120 179 s \$0vel; +#X obj 219 650 s \$0vel; +#N canvas 0 0 916 634 manage_float&midi_input 0; +#X obj 308 251 convert.m2speed; +#X obj 93 201 sel 0; +#X obj 288 113 unpack f f; +#X obj 236 89 route float list; +#X obj 392 137 sel 0; +#X obj 299 163 spigot; +#X obj 122 460 s \$0vel; +#X msg 154 245 127; +#X msg 90 224 0; +#X obj 473 303 s \$0vel; +#X msg 397 159 0; +#X obj 405 196 t f f; +#X obj 447 150 t b f; +#X msg 451 172 1; +#X obj 238 26 inlet; +#X obj 279 443 outlet; +#X obj 208 280 s \$0trigData; +#X msg 208 253 \$1 0; +#X obj 127 221 t f b f; +#X obj 370 324 s \$0trigData; +#X msg 370 297 \$1 0; +#X obj 316 197 t f f; +#X connect 0 0 15 0; +#X connect 1 0 8 0; +#X connect 1 1 18 0; +#X connect 2 0 5 0; +#X connect 2 1 4 0; +#X connect 3 0 1 0; +#X connect 3 1 2 0; +#X connect 4 0 10 0; +#X connect 4 1 12 0; +#X connect 5 0 21 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 5 1; +#X connect 11 1 9 0; +#X connect 12 0 13 0; +#X connect 12 1 9 0; +#X connect 13 0 5 1; +#X connect 14 0 3 0; +#X connect 17 0 16 0; +#X connect 18 0 15 0; +#X connect 18 1 7 0; +#X connect 18 2 17 0; +#X connect 20 0 19 0; +#X connect 21 0 0 0; +#X connect 21 1 20 0; +#X restore 626 93 pd manage_float&midi_input; +#X obj 461 817 switch~; +#X msg 457 783 0; +#X obj 712 322 t b b f b; +#X obj 69 808 outlet~; +#X obj 68 721 *~; +#X obj 345 229 t f f; +#X obj 409 268 demultiplex 0 1; +#X obj 541 199 > 1; +#X obj 72 157 unpack f f f f; +#X obj 134 197 *; +#X obj 165 198 *; +#X obj 891 767 outlet~ progress; +#X obj 884 711 /~ 1; +#X msg 411 294 \$1s0; +#X msg 505 292 \$1s1; +#X obj 306 429 s \$0reverse; +#X obj 117 232 s \$0start; +#X obj 111 314 r \$0start; +#X obj 74 349 r \$0play; +#X obj 816 389 s \$0play; +#X obj 187 231 s \$0length; +#X obj 191 333 r \$0length; +#X obj 292 180 s \$0frames; +#X obj 910 663 r \$0frames; +#X obj 184 157 r \$0frames; +#X obj 93 607 s \$0stop; +#X obj 456 749 r \$0stop; +#X obj 532 748 r \$0play; +#X msg 531 779 1; +#N canvas 1410 108 944 751 autorelease 0; +#X obj 540 38 inlet reset; +#X obj 21 26 inlet~ progress; +#X obj 83 645 threshold~; +#X obj 468 232 convert.ms2smp; +#X msg 80 730 0; +#X obj 125 422 -; +#X obj 526 366 t b b; +#X obj 102 518 +; +#X obj 147 601 r \$0reverse; +#X obj 83 705 spigot; +#X obj 148 622 t f f; +#X obj 143 675 == 0; +#X obj 197 682 spigot; +#X msg 196 713 0; +#X obj 135 485 r \$0start; +#X obj 133 282 r \$0length; +#X obj 97 299 f; +#X obj 463 187 r \$0release; +#X obj 82 781 outlet; +#X obj 510 737 outlet; +#X obj 177 210 t b b b b; +#X obj 178 327 f; +#X obj 214 310 r \$0start; +#X obj 207 420 +; +#X obj 596 248 r \$0length; +#X obj 120 560 pack; +#X msg 102 580 set \$1 0 \$2 0; +#X msg 652 472 ADSR Error... Release set too high... bypassing!; +#X obj 499 301 moses; +#X obj 601 278 t f f; +#X obj 525 448 / 2; +#X obj 521 411 f; +#X obj 363 367 f; +#X connect 0 0 20 0; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 2 1 12 0; +#X connect 3 0 28 0; +#X connect 4 0 18 0; +#X connect 5 0 7 0; +#X connect 6 0 31 0; +#X connect 6 1 27 0; +#X connect 7 0 25 0; +#X connect 8 0 10 0; +#X connect 9 0 4 0; +#X connect 10 0 2 1; +#X connect 10 1 11 0; +#X connect 10 1 12 1; +#X connect 11 0 9 1; +#X connect 12 0 13 0; +#X connect 13 0 18 0; +#X connect 14 0 7 1; +#X connect 15 0 16 1; +#X connect 16 0 5 0; +#X connect 17 0 3 0; +#X connect 20 0 16 0; +#X connect 20 1 21 0; +#X connect 21 0 23 0; +#X connect 22 0 21 1; +#X connect 23 0 25 1; +#X connect 24 0 29 0; +#X connect 25 0 26 0; +#X connect 26 0 2 0; +#X connect 27 0 19 0; +#X connect 28 0 32 0; +#X connect 28 1 6 0; +#X connect 29 0 28 1; +#X connect 29 1 31 1; +#X connect 30 0 32 0; +#X connect 31 0 30 0; +#X connect 32 0 23 1; +#X connect 32 0 5 1; +#X restore 224 615 pd autorelease; +#X obj 330 395 r \$0stop; +#X obj 88 477 s \$0release; +#X obj 80 531 r \$0release; +#X obj 319 656 print sample.play~; +#X obj 606 659 r \$0stop; +#X obj -64 764 mix.switch.ramp~; +#X obj 69 763 mix.switch.ramp~; +#X obj 102 383 t a b; +#X obj 650 715 list; +#X obj 684 670 r \$0trigData; +#X connect 0 0 18 0; +#X connect 0 3 24 0; +#X connect 0 4 41 0; +#X connect 0 6 38 0; +#X connect 0 7 10 0; +#X connect 0 8 7 1; +#X connect 1 0 0 0; +#X connect 2 0 5 0; +#X connect 2 0 37 0; +#X connect 2 3 58 0; +#X connect 3 0 5 1; +#X connect 3 1 37 1; +#X connect 3 2 45 0; +#X connect 3 2 62 0; +#X connect 3 4 48 0; +#X connect 5 0 68 0; +#X connect 6 0 20 0; +#X connect 7 0 8 0; +#X connect 8 0 35 0; +#X connect 10 0 55 0; +#X connect 10 1 12 0; +#X connect 10 2 40 0; +#X connect 12 0 8 1; +#X connect 14 0 3 1; +#X connect 16 0 3 0; +#X connect 17 0 19 0; +#X connect 17 0 30 0; +#X connect 18 0 22 0; +#X connect 20 0 32 0; +#X connect 21 0 20 1; +#X connect 22 0 17 0; +#X connect 22 1 23 0; +#X connect 23 0 19 0; +#X connect 24 0 25 1; +#X connect 24 1 2 1; +#X connect 24 2 2 2; +#X connect 24 3 2 3; +#X connect 24 4 64 0; +#X connect 25 0 2 0; +#X connect 29 0 25 0; +#X connect 32 0 7 0; +#X connect 34 0 33 0; +#X connect 35 1 62 1; +#X connect 35 2 52 0; +#X connect 37 0 69 0; +#X connect 38 0 14 0; +#X connect 38 1 39 0; +#X connect 39 0 46 0; +#X connect 39 1 47 0; +#X connect 40 0 39 1; +#X connect 41 2 42 0; +#X connect 41 3 43 0; +#X connect 42 0 49 0; +#X connect 43 0 53 0; +#X connect 45 0 44 0; +#X connect 46 0 3 2; +#X connect 47 0 3 2; +#X connect 50 0 16 1; +#X connect 51 0 70 0; +#X connect 54 0 16 2; +#X connect 56 0 45 1; +#X connect 57 0 43 1; +#X connect 57 0 42 1; +#X connect 59 0 34 0; +#X connect 60 0 61 0; +#X connect 61 0 33 0; +#X connect 62 0 31 0; +#X connect 62 1 66 0; +#X connect 63 0 3 3; +#X connect 65 0 2 4; +#X connect 67 0 71 0; +#X connect 68 0 27 0; +#X connect 69 0 36 0; +#X connect 70 0 16 0; +#X connect 70 1 69 1; +#X connect 70 1 68 1; +#X connect 71 0 4 0; +#X connect 72 0 71 1; diff --git a/sample.print-help.pd b/sample.print-help.pd new file mode 100644 index 0000000..e74da02 --- /dev/null +++ b/sample.print-help.pd @@ -0,0 +1,19 @@ +#N canvas 431 49 644 322 10; +#X text 47 32 Description: Prints a sample's details.; +#X text 46 69 Version: 2; +#X text 195 212 If you initiate it with a 1 \, it will print everytime +there is a change in the sample.; +#X text 46 51 Flags: sample_id; +#X text 270 128 Inlet_1: sample_id signal; +#X text 270 146 Outlet_1: sample_id signal; +#X msg 50 99 medias/sounds/loop0.wav; +#X msg 226 99 medias/sounds/loop1.wav; +#X obj 129 194 bng 15 250 50 0 empty empty print 0 -6 0 8 -262144 -1 +-1; +#X obj 197 187 sample.print 1; +#X obj 50 218 sample.print; +#X obj 50 158 sample.filer; +#X connect 6 0 11 0; +#X connect 7 0 11 0; +#X connect 8 0 10 1; +#X connect 11 0 10 0; diff --git a/sample.print.pd b/sample.print.pd new file mode 100644 index 0000000..5fff371 --- /dev/null +++ b/sample.print.pd @@ -0,0 +1,57 @@ +#N canvas 0 34 1028 734 10; +#X obj 74 5 inlet; +#X obj 295 615 print :|; +#X obj -9 110 t f f; +#X obj -7 624 outlet; +#X obj 680 18 inlet; +#X obj 733 254 t b b b; +#X msg 867 431 1; +#X msg 818 428 0; +#X obj 221 530 spigot \$1; +#X obj 177 188 sample.handler; +#X msg 175 275 gadsr \$1 \$2 \$3 \$4 \$5; +#X msg 368 286 playback \$1; +#X obj 36 281 t b a; +#X msg 18 458 -------------------------------; +#X obj 398 247 t a b; +#X msg 417 336 frames+samplerate+channels \$1 \$2 \$3; +#X msg 405 375 table_id \$1; +#X msg 353 433 preview_state \$1; +#X msg 252 390 bounds \$1 \$2 \$3 \$4; +#X msg 41 312 file \$1; +#X msg 201 144 bang; +#X obj 148 236 t b a; +#X msg 137 98 getfile; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 9 0; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 5 1 20 0; +#X connect 5 2 6 0; +#X connect 6 0 8 1; +#X connect 7 0 8 1; +#X connect 8 0 1 0; +#X connect 9 2 12 0; +#X connect 9 3 21 0; +#X connect 9 4 18 0; +#X connect 9 5 17 0; +#X connect 9 6 16 0; +#X connect 9 7 15 0; +#X connect 9 8 14 0; +#X connect 10 0 8 0; +#X connect 11 0 8 0; +#X connect 12 0 13 0; +#X connect 12 1 19 0; +#X connect 13 0 8 0; +#X connect 14 0 11 0; +#X connect 14 1 13 0; +#X connect 15 0 8 0; +#X connect 16 0 8 0; +#X connect 17 0 8 0; +#X connect 18 0 8 0; +#X connect 19 0 8 0; +#X connect 20 0 9 1; +#X connect 21 0 22 0; +#X connect 21 1 10 0; +#X connect 22 0 9 1; diff --git a/sample.r-help.pd b/sample.r-help.pd new file mode 100644 index 0000000..17b50eb --- /dev/null +++ b/sample.r-help.pd @@ -0,0 +1,45 @@ +#N struct 1210preview float x float y float p float h; +#N struct 1317preview float x float y float p float h; +#N canvas 344 128 773 613 10; +#X text 24 49 Description: Receives sample_id streams.; +#X obj 36 265 sample.display_; +#X msg 245 106 medias/sounds/loop0.wav; +#X obj 246 142 file.path.top; +#X msg 20 180 SREX 0; +#X obj 248 204 sample.bank SREX; +#X msg 92 191 none; +#X msg 249 171 0 \$1; +#X obj 246 75 loadbang; +#X msg 28 393 0 medias/sounds/loop0.wav; +#X obj 31 523 sample.display_; +#X msg -10 460 0; +#X msg 70 460 none; +#X msg 137 418 1 medias/sounds/loop1.wav; +#X obj 29 423 sample.bank; +#X text 124 457 When sample.bank is lined to the top patch \, you simply +need to use the sample index to receive a sample with a sample.r that +is also linked to the same top patch.; +#X msg 25 458 1; +#X text 477 342 or; +#X text 345 330 Inlet_1: group sample_index ("none" to disconnect) +; +#X text 349 358 Inlet_1: sample_index (if sample.bank is linked to +the top patch...see below); +#X obj 110 362 loadbang; +#X obj 30 492 sample.r; +#X obj 36 228 sample.r SREX 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 22 0; +#X connect 6 0 22 0; +#X connect 7 0 5 0; +#X connect 8 0 2 0; +#X connect 9 0 14 0; +#X connect 11 0 21 0; +#X connect 12 0 21 0; +#X connect 13 0 14 0; +#X connect 16 0 21 0; +#X connect 20 0 9 0; +#X connect 20 0 13 0; +#X connect 21 0 10 0; +#X connect 22 0 1 0; diff --git a/sample.r.pd b/sample.r.pd new file mode 100644 index 0000000..0723c74 --- /dev/null +++ b/sample.r.pd @@ -0,0 +1,52 @@ +#N canvas 378 258 650 514 10; +#X obj -25 290 outlet; +#X obj -50 -15 inlet; +#X obj 220 293 flow.send; +#X obj 21 53 route none; +#X obj -25 247 flow.receive; +#X msg 220 188 turnon; +#X msg 156 209 turnoff; +#X obj 279 80 flow.receive; +#X obj -25 150 t b b b b; +#X obj 76 79 t b a a a; +#X obj 278 25 list append q; +#X obj 326 200 list append r; +#X obj 82 118 list append s; +#X obj -46 26 route float; +#X obj -119 82 init.dollar.zero.top; +#X obj -120 52 t b f; +#X obj -115 117 pack s f; +#X obj 121 -51 loadbang; +#X obj 122 -26 dollarg; +#X obj 76 158 makesymbol %s_%s_%s; +#X obj 279 54 makesymbol %s_%s_%s; +#X obj 324 228 makesymbol %s_%s_%s; +#X connect 1 0 13 0; +#X connect 3 0 8 0; +#X connect 3 1 9 0; +#X connect 4 0 0 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 7 0 5 0; +#X connect 8 0 4 0; +#X connect 8 1 2 1; +#X connect 8 2 6 0; +#X connect 8 3 7 0; +#X connect 9 0 5 0; +#X connect 9 1 12 0; +#X connect 9 2 11 0; +#X connect 9 3 10 0; +#X connect 10 0 20 0; +#X connect 11 0 21 0; +#X connect 12 0 19 0; +#X connect 13 0 15 0; +#X connect 13 1 3 0; +#X connect 14 0 16 0; +#X connect 15 0 14 0; +#X connect 15 1 16 1; +#X connect 16 0 9 0; +#X connect 17 0 18 0; +#X connect 18 0 13 0; +#X connect 19 0 4 0; +#X connect 20 0 7 0; +#X connect 21 0 2 1; diff --git a/sample.record~-help.pd b/sample.record~-help.pd new file mode 100644 index 0000000..6b709bf --- /dev/null +++ b/sample.record~-help.pd @@ -0,0 +1,37 @@ +#N canvas 23 25 520 517 10; +#X text 25 -79 Comment: Wraps cyclone's record~.; +#X obj 171 45 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 194 43 start/stop recording; +#X text 26 -32 Contact: tof@danslchamp.org; +#X obj 196 97 bng 15 250 50 0 empty empty filled_table 0 -6 0 8 -262144 +-1 -1; +#X obj 29 118 sample.display_; +#X text 26 -48 Flags: sample_id; +#X obj 28 356 mix.out_~; +#X obj 29 240 sample.bounds_; +#X text 32 -3 Arguments: channels (defaults to the maximum \, 2 \, +by default) \, maxsize (882000 if not set); +#X msg 75 295 1; +#X msg 103 295 0; +#X text 26 -94 Description: Records a sample (sample_id).; +#X obj 30 30 adc~ 1 2; +#X obj 29 318 sample.play~; +#X obj 140 341 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X text 27 -64 Version: 3; +#X obj 30 79 sample.record~ 2 888200; +#X text 33 207 sample.record~ will always start recording from the +start value (labeled st below) in sample.bounds_.; +#X connect 1 0 17 2; +#X connect 5 0 8 0; +#X connect 8 0 14 0; +#X connect 10 0 14 1; +#X connect 11 0 14 1; +#X connect 13 0 17 0; +#X connect 13 1 17 1; +#X connect 14 0 7 0; +#X connect 14 1 7 1; +#X connect 14 2 15 0; +#X connect 17 0 5 0; +#X connect 17 1 4 0; diff --git a/sample.record~.pd b/sample.record~.pd new file mode 100644 index 0000000..9527a14 --- /dev/null +++ b/sample.record~.pd @@ -0,0 +1,272 @@ +#N canvas 12 8 1012 734 10; +#X obj -16 24 inlet~; +#X obj 167 42 inlet~; +#X obj 263 795 outlet sample_id; +#X obj 291 18 inlet; +#X obj 57 331 loadbang; +#N canvas 0 95 1028 677 init_tables 0; +#X obj 30 5 inlet; +#X msg 101 172 resize \$1; +#X obj 30 441 outlet; +#X obj 400 159 > 1; +#X obj 373 130 t f f; +#X text 261 212 init tables to 20 seconds @ 44100; +#X obj 170 214 spigot; +#X obj 30 142 init.df \$2 882000; +#X obj 373 100 init.df \$1 2; +#X obj 373 373 outlet; +#X obj 193 442 tabset; +#X msg 582 300 set \$1format; +#X obj 30 52 t b f b; +#X obj 101 295 flow.send; +#X obj 170 296 flow.send; +#X obj 148 397 pack f f f; +#X obj 176 356 samplerate~; +#X msg 274 140 symbol \$1s1; +#X msg 197 138 symbol \$1s0; +#X obj 30 330 t f f b; +#X obj 513 446 tabwrite; +#X msg 622 346 set \$1p_s; +#X msg 493 382 -1 0; +#X obj 508 299 t b f; +#X obj 767 320 t b f; +#X msg 742 361 record~; +#X obj 777 485 tabset; +#X msg 881 367 set \$1file; +#X obj 738 385 convert.ascii2int; +#X obj 696 449 list append 0; +#X connect 0 0 12 0; +#X connect 1 0 6 0; +#X connect 1 0 13 0; +#X connect 3 0 6 1; +#X connect 4 0 9 0; +#X connect 4 0 15 2; +#X connect 4 1 3 0; +#X connect 6 0 14 0; +#X connect 7 0 1 0; +#X connect 7 0 19 0; +#X connect 8 0 4 0; +#X connect 11 0 10 0; +#X connect 12 0 7 0; +#X connect 12 1 18 0; +#X connect 12 1 17 0; +#X connect 12 1 11 0; +#X connect 12 1 23 0; +#X connect 12 1 24 0; +#X connect 12 2 8 0; +#X connect 15 0 10 0; +#X connect 16 0 15 1; +#X connect 17 0 14 1; +#X connect 18 0 13 1; +#X connect 19 0 2 0; +#X connect 19 1 15 0; +#X connect 19 2 16 0; +#X connect 21 0 20 0; +#X connect 22 0 20 0; +#X connect 23 0 22 0; +#X connect 23 1 21 0; +#X connect 24 0 25 0; +#X connect 24 1 27 0; +#X connect 25 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 29 0; +#X connect 29 0 26 0; +#X restore 13 531 pd init_tables; +#X obj 94 574 s \$0channels; +#X obj 13 572 s \$0frames; +#X obj 538 816 s \$0msstart; +#X obj 48 266 r \$0msstart; +#X obj 646 796 s \$0framestart; +#X obj 304 733 sample.generator; +#X obj 539 792 convert.smp2ms; +#X obj 579 765 t f f; +#X obj 178 151 r \$0channels; +#X obj 181 180 > 1; +#X msg 581 742 \$3; +#N canvas 0 0 458 308 todo 0; +#X text -42 -123 Todo: append.; +#X msg 3 -81 loop \$1; +#X obj 3 -104 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 28 -103 record continously; +#X text 68 -82 WARNING: will disable sample status 0 \, therefore all +sample abstractions can read the table while it is being recorded. +Will also probably disable start and length properties.; +#X connect 2 0 1 0; +#X restore 604 90 pd todo; +#X obj 58 356 sample.table; +#X msg -66 276 set \$1s0; +#X msg 174 280 set \$1s1; +#X obj -17 245 record~; +#X obj 101 243 record~; +#X obj 157 206 spigot; +#X obj 59 378 t f f; +#X text 39 -2 Should add something that checks for a realtime change +in samplerate; +#X obj 350 154 s \$0rec; +#X obj 233 327 r \$0rec; +#X obj 229 386 snapshot~; +#X obj 233 351 metro 100; +#X obj 264 423 / 1; +#X obj 310 395 r \$0frames; +#X obj 331 538 r \$0rec; +#X msg 218 674 1; +#X obj 331 567 sel 0 1; +#X msg 361 614 0; +#X obj 62 482 threshold~ 0 0 0 0; +#X obj 212 463 r \$0rec; +#X obj 167 433 sel 1; +#X msg 170 458 1; +#X obj 207 561 s \$0rec; +#X obj 78 410 s \$0table_id; +#X obj 480 637 r \$0table_id; +#X obj 542 509 loadbang; +#X msg 685 570 1; +#X msg 574 566 0 1 0 1; +#X obj 546 540 t b b b; +#X msg 500 568 1 10 0 1 10; +#X obj 828 760 outlet; +#X obj 177 516 t b b; +#X msg 207 538 0; +#X obj -63 454 snapshot~; +#N canvas 0 0 458 308 erase_preview 0; +#X obj 162 47 r \$0table_id; +#X obj 53 136 tabwrite; +#X msg 162 80 set \$1p_s; +#X msg 107 59 -1 0; +#X obj 63 21 inlet; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X restore 248 677 pd erase_preview; +#X obj -65 497 sel -1; +#X msg -64 562 1; +#X obj -28 660 pack 0 1 0 1; +#X obj -30 627 t b f; +#X obj 291 42 == 1; +#X obj 230 621 t b b b b; +#X obj -100 613 s \$0stop; +#X obj 75 139 r \$0stop; +#X msg 75 162 0; +#X obj 309 124 t f f; +#X obj 299 150 sel 1; +#X obj 286 223 s \$0start; +#X obj 6 145 r \$0start; +#X msg 6 168 1; +#X obj -32 565 / 1; +#X obj 297 84 change; +#X obj -30 591 t b f; +#X obj 182 496 spigot; +#X obj 355 39 r \$0rec; +#X msg 356 62 set \$1; +#X obj 374 754 list.element 3; +#X obj 308 179 t b b; +#X obj 362 209 f; +#X obj 363 322 s \$0msstart; +#X obj 363 273 *; +#X obj 404 267 r \$0frames; +#X obj 363 298 convert.smp2ms; +#X obj 385 185 r \$0smpstart; +#X obj 375 777 s \$0smpstart; +#X obj 23 618 r \$0fstart; +#X obj 428 239 s \$0fstart; +#X obj 362 231 t f f; +#X obj 86 646 -; +#X obj 101 620 r \$0fstart; +#X obj 86 666 abs; +#X connect 0 0 21 0; +#X connect 1 0 22 0; +#X connect 3 0 57 0; +#X connect 4 0 18 0; +#X connect 5 0 7 0; +#X connect 5 0 67 1; +#X connect 5 1 6 0; +#X connect 9 0 21 1; +#X connect 9 0 22 1; +#X connect 11 0 2 0; +#X connect 11 3 73 0; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 13 1 10 0; +#X connect 14 0 15 0; +#X connect 15 0 23 1; +#X connect 16 0 13 0; +#X connect 18 0 24 0; +#X connect 19 0 21 0; +#X connect 20 0 22 0; +#X connect 21 0 28 0; +#X connect 21 0 51 0; +#X connect 21 0 36 0; +#X connect 23 0 22 0; +#X connect 24 0 5 0; +#X connect 24 1 19 0; +#X connect 24 1 20 0; +#X connect 24 1 41 0; +#X connect 27 0 29 0; +#X connect 28 0 30 0; +#X connect 29 0 28 0; +#X connect 30 0 11 2; +#X connect 31 0 30 1; +#X connect 32 0 34 0; +#X connect 33 0 11 1; +#X connect 34 0 58 0; +#X connect 34 1 35 0; +#X connect 35 0 11 1; +#X connect 36 1 70 0; +#X connect 37 0 38 0; +#X connect 37 0 70 1; +#X connect 38 0 39 0; +#X connect 39 0 36 1; +#X connect 42 0 11 5; +#X connect 43 0 46 0; +#X connect 44 0 11 6; +#X connect 45 0 11 4; +#X connect 46 0 47 0; +#X connect 46 1 45 0; +#X connect 46 2 44 0; +#X connect 47 0 11 3; +#X connect 49 0 48 0; +#X connect 49 1 50 0; +#X connect 50 0 40 0; +#X connect 51 0 53 0; +#X connect 53 0 54 0; +#X connect 53 1 67 0; +#X connect 54 0 56 0; +#X connect 55 0 11 4; +#X connect 56 0 55 0; +#X connect 56 1 85 0; +#X connect 57 0 68 0; +#X connect 58 0 33 0; +#X connect 58 1 52 0; +#X connect 58 3 51 0; +#X connect 60 0 61 0; +#X connect 61 0 21 0; +#X connect 61 0 23 0; +#X connect 62 0 63 0; +#X connect 62 1 26 0; +#X connect 63 0 74 0; +#X connect 65 0 66 0; +#X connect 66 0 21 0; +#X connect 66 0 23 0; +#X connect 67 0 69 0; +#X connect 68 0 62 0; +#X connect 69 0 59 0; +#X connect 69 1 56 0; +#X connect 70 0 49 0; +#X connect 71 0 72 0; +#X connect 72 0 68 0; +#X connect 73 0 81 0; +#X connect 74 0 64 0; +#X connect 74 1 75 0; +#X connect 75 0 84 0; +#X connect 77 0 79 0; +#X connect 78 0 77 1; +#X connect 79 0 76 0; +#X connect 80 0 75 1; +#X connect 82 0 55 2; +#X connect 84 0 77 0; +#X connect 84 1 83 0; +#X connect 85 0 87 0; +#X connect 86 0 85 1; +#X connect 87 0 55 3; diff --git a/sample.table-help.pd b/sample.table-help.pd new file mode 100644 index 0000000..fa4882b --- /dev/null +++ b/sample.table-help.pd @@ -0,0 +1,77 @@ +#N canvas 94 86 869 607 10; +#X obj 347 159 sample.table; +#X obj 347 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X obj 347 218 print table_id; +#X text 370 110 Inlet_1: bang to output table id; +#X obj 469 237 tabdump; +#X obj 469 268 print frames+samplerate+channels; +#X text 412 131 Inlet_2: set with a list the frames+samplerate+channels +; +#X text 37 22 Description: Stores the frame data of a sample_id.; +#X obj 44 193 openpanel; +#X text 34 44 Comment: This abstraction is ONLY used to develop new +or custom sample_id abstractions.; +#N canvas 0 0 648 684 load_file_in_table 0; +#X obj 41 504 soundfiler; +#X obj 40 234 file.audio.info; +#X obj 107 134 t b s b; +#X obj 40 348 demultiplex 0 1; +#X obj 155 309 > 1; +#X obj 169 573 pack f f f; +#X obj 180 647 tabset; +#X msg 314 500 set \$1format; +#X obj 184 408 pack s s s; +#X msg 255 339 symbol \$1s0; +#X msg 413 363 symbol \$1s1; +#X msg 37 423 read -resize \$1 \$2; +#X msg 184 441 read -resize \$1 \$2 \$3; +#X obj 71 17 inlet file; +#X obj 473 34 inlet table_id; +#X obj 509 599 outlet get_table_id; +#X obj 41 382 pack s s; +#X obj 40 263 route filename samplerate channels; +#X msg 41 181 channels \, samplerate \, frames \, filename; +#X connect 0 0 5 0; +#X connect 1 0 17 0; +#X connect 2 0 18 0; +#X connect 2 1 1 1; +#X connect 2 2 15 0; +#X connect 3 0 16 0; +#X connect 3 1 8 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 7 0 6 0; +#X connect 8 0 12 0; +#X connect 9 0 16 1; +#X connect 9 0 8 1; +#X connect 10 0 8 2; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 13 0 2 0; +#X connect 14 0 9 0; +#X connect 14 0 10 0; +#X connect 14 0 7 0; +#X connect 16 0 11 0; +#X connect 17 0 3 0; +#X connect 17 1 5 1; +#X connect 17 2 4 0; +#X connect 17 2 5 2; +#X connect 18 0 1 0; +#X restore 45 225 pd load_file_in_table; +#X obj 45 160 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 +-1; +#X msg 469 190 set \$1format; +#X obj 576 196 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 +-1 -1; +#X text 595 196 Bang to get format of loaded sound; +#X connect 0 0 2 0; +#X connect 0 0 12 0; +#X connect 0 0 10 1; +#X connect 1 0 0 0; +#X connect 4 0 5 0; +#X connect 8 0 10 0; +#X connect 10 0 0 0; +#X connect 11 0 8 0; +#X connect 12 0 4 0; +#X connect 13 0 4 0; diff --git a/sample.table.pd b/sample.table.pd new file mode 100644 index 0000000..f912272 --- /dev/null +++ b/sample.table.pd @@ -0,0 +1,146 @@ +#N canvas 0 0 743 589 10; +#X obj 44 42 inlet; +#X obj 44 270 outlet; +#X obj 44 86 b; +#X obj 44 149 f \$0; +#X obj 126 187 table \$0format 3; +#X obj 126 122 table \$0s0 0; +#X obj 224 153 table \$0p1 300; +#X obj 225 123 table \$0s1 0; +#X obj 125 152 table \$0p0 300; +#X obj 333 137 table \$0p_s 2; +#X obj 459 147 r \$0make_preview; +#X obj 138 255 table \$0file 300; +#N canvas 131 92 686 474 draw 0; +#N canvas 59 75 969 697 makepreview 0; +#X obj 54 14 inlet; +#X obj 80 305 tabread; +#X msg 125 181 set \$1s0; +#X msg 330 327 set \$1s1; +#X obj 388 268 spigot; +#X obj 279 388 tabread; +#X obj 35 119 count.timed 1; +#X obj 26 164 sel 300; +#X obj 155 400 tabwrite; +#X msg 152 289 set \$1p0; +#X obj 14 192 t b b; +#X obj 32 509 outlet; +#X msg 32 452 1; +#X obj 501 35 inlet frames; +#X obj 377 164 / 300; +#X obj 68 268 * 1; +#X msg 425 325 set \$1p1; +#X obj 371 496 tabwrite; +#X obj 241 292 spigot; +#X obj 249 324 t f f; +#X obj 67 232 t f f f; +#X obj 270 365 * 1; +#X obj 360 103 > 1; +#X obj 114 337 abs; +#X obj 276 410 abs; +#X obj 98 377 t f f; +#X obj 97 91 t b b f; +#X obj 133 48 r \$0abort_preview; +#X obj 652 42 inlet channels; +#X connect 0 0 26 0; +#X connect 1 0 23 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 4 0 16 0; +#X connect 5 0 24 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 7 1 20 0; +#X connect 9 0 8 0; +#X connect 10 0 12 0; +#X connect 10 1 6 2; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 15 1; +#X connect 14 0 21 1; +#X connect 15 0 1 0; +#X connect 16 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 21 0; +#X connect 19 1 17 1; +#X connect 20 0 15 0; +#X connect 20 1 8 1; +#X connect 20 2 18 0; +#X connect 21 0 5 0; +#X connect 22 0 4 1; +#X connect 22 0 18 1; +#X connect 23 0 25 0; +#X connect 24 0 17 0; +#X connect 25 1 8 0; +#X connect 26 0 6 0; +#X connect 26 2 2 0; +#X connect 26 2 9 0; +#X connect 26 2 4 0; +#X connect 27 0 6 2; +#X connect 28 0 22 0; +#X restore 246 174 pd makepreview; +#X obj 250 -77 inlet; +#X obj 248 0 f \$0; +#X obj 376 38 tabread \$0format; +#X msg 376 4 0; +#X obj 248 89 spigot; +#X obj 247 134 t f b; +#X obj 392 83 t f f; +#X obj 325 116 > 0; +#X obj 370 251 outlet gate; +#X obj 200 262 outlet done; +#X obj 248 -34 t b b b; +#X obj 530 46 tabread \$0format; +#X msg 530 12 2; +#X connect 0 0 10 0; +#X connect 1 0 11 0; +#X connect 2 0 5 0; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 1 9 0; +#X connect 7 0 8 0; +#X connect 7 1 0 1; +#X connect 8 0 5 1; +#X connect 11 0 2 0; +#X connect 11 1 4 0; +#X connect 11 2 13 0; +#X connect 12 0 0 2; +#X connect 13 0 12 0; +#X restore 459 311 pd draw; +#X obj 554 439 print sample.table; +#X msg 554 412 Creating preview.; +#X obj 553 361 t b b; +#X msg 427 377 1 0; +#X obj 400 501 send \$0preview; +#X obj 403 349 t b b; +#X msg 400 449 1; +#X obj 427 429 tabwrite \$0p_s; +#X obj 547 224 tabread \$0p_s; +#X obj 459 176 t b b; +#X msg 524 195 0; +#X obj 547 250 == -1; +#X obj 459 267 spigot; +#X msg 521 391 0 0; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 10 0 22 0; +#X connect 12 0 18 0; +#X connect 12 1 15 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 15 1 26 0; +#X connect 16 0 20 0; +#X connect 18 0 19 0; +#X connect 18 1 16 0; +#X connect 19 0 17 0; +#X connect 21 0 24 0; +#X connect 22 0 25 0; +#X connect 22 1 23 0; +#X connect 23 0 21 0; +#X connect 24 0 25 1; +#X connect 25 0 12 0; +#X connect 26 0 20 0; diff --git a/sampler.bank~-help.pd b/sampler.bank~-help.pd new file mode 100644 index 0000000..6f91fcc --- /dev/null +++ b/sampler.bank~-help.pd @@ -0,0 +1,40 @@ +#N canvas 438 115 964 637 10; +#X declare -stdpath extra/tof; +#X obj 16 111 dac~; +#X obj 16 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 521 111 savepanel; +#X obj 521 90 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 521 134 param.save; +#X obj 673 93 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 673 115 openpanel; +#X obj 673 137 param.load; +#X text 13 136 Outlet_1 (~): Left preview output; +#X text 13 152 Outlet_2 (~): Right preview output; +#X obj 415 332 image medias/sample.bank.gui.gif; +#X text 16 -32 Description: Manage a bank of samples and instruments +through a graphical interface.; +#X text 297 176 -- The graphical interface --; +#X obj 440 -16 cnv 15 500 30 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 16 8 By default \, a sampler.bank~'s ID is SAMPLER.; +#X text 443 -16 Use sampler.play~ to playback instruments stored in +a sampler.bank~.; +#X text 515 54 You can save/load a sampler.bank~'s configuration with +param.atoms; +#X obj 214 472 cnv 15 500 45 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X text 239 475 When setting an instrument's name \, make sure the +name is unique or the wrong instrument may be selected when playing +back.; +#X text 15 38 Inlet_1 (bang): Show the graphical interface.; +#X obj 16 84 sampler.bank~ @id bank; +#X connect 1 0 20 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 20 0 0 0; +#X connect 20 1 0 1; diff --git a/sampler.bank~.pd b/sampler.bank~.pd new file mode 100644 index 0000000..7eec025 --- /dev/null +++ b/sampler.bank~.pd @@ -0,0 +1,994 @@ +#N canvas 0 0 788 550 10; +#X declare -stdpath extra/tof; +#N canvas 0 0 450 300 \$0instruments 0; +#X obj 10 20 include/sampler.instrument SAMPLER#0; +#X restore 1081 405 pd \$0instruments; +#N canvas 1359 282 837 595 check&createInstruments 0; +#X obj 196 147 coll; +#C restore; +#X obj 45 257 spigot; +#X msg 105 210 0; +#X msg 205 86 1; +#X obj 370 330 f; +#X obj 370 353 + 20; +#X obj 370 376 t f f; +#X msg 478 280 store \$1 \$1; +#X obj 361 289 t b a a b; +#X obj 132 17 inlet; +#X obj 387 554 s pd-\$0instruments; +#X obj 387 423 pack f s; +#X msg 387 518 obj 10 \$1 include/sampler.instrument \$2; +#X msg 463 158 0; +#X msg 430 131 clear; +#X obj 465 321 r \$0ID; +#X obj 362 455 t a a; +#X obj 505 26 inlet; +#X msg 583 177 clear; +#X msg 317 514 \; \$2 clear; +#X obj 110 185 demultiplex 0 1; +#X obj 215 228 demultiplex 0 1; +#X obj 159 49 t f f b b; +#X msg 267 101 0; +#X obj 266 7 r \$0dump_sampler; +#X msg 355 94 1; +#X msg 262 68 dump; +#X msg 344 174 open; +#X obj 269 35 t b b a; +#X obj 271 322 flow.send; +#X obj 408 353 list prepend; +#X obj 408 376 makesymbol %s#%s; +#X connect 0 0 20 0; +#X connect 0 1 21 0; +#X connect 1 0 8 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 11 0; +#X connect 6 1 4 1; +#X connect 7 0 0 0; +#X connect 8 0 4 0; +#X connect 8 1 30 0; +#X connect 8 2 7 0; +#X connect 9 0 22 0; +#X connect 11 0 16 0; +#X connect 12 0 10 0; +#X connect 13 0 4 1; +#X connect 14 0 0 0; +#X connect 15 0 30 1; +#X connect 16 0 19 0; +#X connect 16 1 12 0; +#X connect 17 0 14 0; +#X connect 17 0 13 0; +#X connect 17 0 18 0; +#X connect 18 0 10 0; +#X connect 20 0 2 0; +#X connect 21 1 29 0; +#X connect 22 0 1 0; +#X connect 22 1 0 0; +#X connect 22 2 3 0; +#X connect 22 3 23 0; +#X connect 23 0 20 1; +#X connect 23 0 21 1; +#X connect 24 0 28 0; +#X connect 25 0 20 1; +#X connect 25 0 21 1; +#X connect 26 0 0 0; +#X connect 27 0 0 0; +#X connect 28 0 26 0; +#X connect 28 1 25 0; +#X connect 28 2 29 1; +#X connect 30 0 31 0; +#X connect 31 0 11 1; +#X restore 913 405 pd check&createInstruments; +#X obj 949 483 r \$0ID; +#N canvas 1118 27 999 688 check&createSample 0; +#X obj 38 8 inlet; +#X obj 784 41 inlet; +#X obj 233 174 convert.spaces2 _; +#X obj -35 587 outlet; +#X obj 215 137 t s s; +#N canvas 0 0 999 664 createSample&Load 0; +#X obj 436 159 f; +#X obj 437 183 + 20; +#X obj 438 211 t f f; +#X obj 437 247 pack f s; +#X msg 444 303 obj 10 \$1 include/sampler.sample \$2; +#X obj 473 401 s pd-\$0samples; +#X obj 122 347 flow.send; +#X obj 94 185 list prepend load; +#X obj 92 220 list trim; +#X obj 253 -1 inlet file; +#X obj 446 110 t b s; +#X obj 780 -9 inlet clear; +#X msg 816 150 clear; +#X msg 743 123 0; +#X obj 255 37 list split 1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 0 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 14 0; +#X connect 10 0 0 0; +#X connect 10 1 3 1; +#X connect 11 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 5 0; +#X connect 13 0 0 1; +#X connect 14 0 7 0; +#X connect 14 1 10 0; +#X connect 14 1 6 1; +#X restore 485 480 pd createSample&Load; +#X obj 753 88 t b b b; +#X obj 234 263 data.index; +#X obj 383 305 r \$0ID; +#X obj 302 328 list prepend; +#X obj 303 347 makesymbol %s#%s; +#X obj 485 391 list prepend; +#X obj 46 452 r \$0ID; +#X obj -35 475 list prepend; +#X obj -35 498 makesymbol %s#%s; +#X obj 303 374 t a a; +#X connect 0 0 4 0; +#X connect 1 0 6 0; +#X connect 2 0 7 0; +#X connect 4 0 2 0; +#X connect 4 1 11 1; +#X connect 6 0 7 1; +#X connect 6 2 5 1; +#X connect 7 0 13 0; +#X connect 7 1 9 0; +#X connect 8 0 9 1; +#X connect 9 0 10 0; +#X connect 10 0 15 0; +#X connect 11 0 5 0; +#X connect 12 0 13 1; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 3 0; +#X connect 15 1 11 0; +#X restore 72 349 pd check&createSample; +#N canvas 0 0 450 300 \$0samples 0; +#X restore 225 348 pd \$0samples; +#X obj 195 316 r \$0clear; +#X obj 1066 380 r \$0clear; +#X obj 1131 268 s \$0clear; +#X obj 875 129 loadbang; +#X obj 72 323 spigot; +#X obj 105 291 r \$0active; +#X obj 986 263 s \$0active; +#X msg 885 219 0; +#X obj 310 863 include/sampler.instrument.set; +#X obj 980 616 s \$0instrument; +#X obj 412 834 r \$0instrument; +#X obj 1137 207 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 398 590 r \$0loops; +#X obj 11 585 r \$0strs; +#X obj 81 527 r \$0ends; +#X obj 72 373 t b a; +#X obj 14 201 r \$0files; +#X obj 14 222 b; +#X obj 628 457 s \$0br; +#X msg 662 417 patterns wav aiff folders; +#X obj 878 162 t b b b b; +#X obj 735 311 r \$0active; +#N canvas 1062 46 999 664 updateGui 0; +#X obj 339 326 s \$0preview; +#X obj 31 456 r \$0preview; +#N canvas 1280 0 1272 961 preview 0; +#X obj 265 365 tabread; +#X obj 438 478 tabread; +#X obj 129 151 count.timed 1; +#X obj 211 224 sel 300; +#X obj 199 252 t b b; +#X obj 620 105 / 300; +#X obj 253 328 * 1; +#X obj 401 356 t f f; +#X obj 252 292 t f f f; +#X obj 412 416 * 1; +#X obj 265 395 abs; +#X obj 435 500 abs; +#X obj 283 437 t f f; +#X obj 193 52 t b a; +#X msg 347 184 set \$1; +#X msg 444 168 set \$1; +#X obj 501 517 * -1; +#X obj 328 574 tabwrite \$0PL; +#X obj 556 556 tabwrite \$0PR; +#X obj 227 -43 unpack s s f; +#X obj 165 -88 inlet; +#X obj 580 692 table \$0PR 300; +#X obj 484 693 table \$0PL 300; +#X obj 268 731 t b b; +#X obj 251 771 tabdump \$0PL; +#X obj 341 770 tabdump \$0PR; +#X obj 251 796 tabset \$0L; +#X obj 340 803 tabset \$0R; +#X msg 119 662 0; +#X obj 109 -49 route bang; +#X connect 0 0 10 0; +#X connect 1 0 11 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 1 8 0; +#X connect 4 0 23 0; +#X connect 4 1 2 2; +#X connect 5 0 6 1; +#X connect 5 0 9 1; +#X connect 6 0 0 0; +#X connect 7 0 9 0; +#X connect 7 1 18 1; +#X connect 8 0 6 0; +#X connect 8 1 17 1; +#X connect 8 2 7 0; +#X connect 9 0 1 0; +#X connect 10 0 12 0; +#X connect 11 0 16 0; +#X connect 12 1 17 0; +#X connect 13 0 2 0; +#X connect 13 1 14 0; +#X connect 14 0 0 0; +#X connect 15 0 1 0; +#X connect 16 0 18 0; +#X connect 19 0 13 0; +#X connect 19 1 15 0; +#X connect 19 2 5 0; +#X connect 20 0 29 0; +#X connect 23 0 24 0; +#X connect 23 1 25 0; +#X connect 24 0 26 0; +#X connect 25 0 27 0; +#X connect 28 0 26 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 29 0 2 2; +#X connect 29 1 19 0; +#X restore 31 483 pd preview; +#X msg 18 187 set \$1; +#X msg 85 187 set \$1; +#X obj 17 316 s \$0strr; +#X obj 935 427 s \$0framesr; +#X obj 251 232 s \$0loopr; +#X msg 253 196 set \$1; +#X obj 816 308 r \$0framess; +#X msg 886 403 set \$1; +#X obj 887 370 f; +#X obj 819 336 b; +#X msg 990 338 range 0 \$1; +#X msg 100 278 range 0 \$1; +#X obj 524 309 include/sampler.sample.dump.file; +#X msg 115 856 label \$1; +#X obj 472 641 convert.ascii2int; +#X obj 579 756 convert.int2ascii; +#X obj 579 733 list.substitute 32 95; +#X obj 115 814 symbol; +#X obj 344 278 pack s s f; +#X obj 115 891 s \$0filer; +#X obj 156 25 inlet; +#X obj 170 667 t b b; +#X obj 84 319 s \$0endr; +#X obj 102 253 r \$0frames; +#X obj 358 168 s \$0frames; +#X obj 401 235 r \$0frames; +#X obj 918 223 r \$0frames; +#X obj 919 259 t f f; +#X msg 160 197 set \$1; +#X obj 161 232 s \$0pitchr; +#X obj 157 164 convert.speed2m; +#X obj 23 153 unpack f f; +#X obj 257 165 s \$0csm; +#X obj 309 166 s \$0cem; +#X obj 472 669 list.split -30; +#X obj 470 204 s \$0vol; +#X obj 556 207 s \$0pan; +#X obj 348 586 sel none; +#X obj 408 617 t b a; +#X obj 694 60 r \$0resetvol; +#X obj 785 57 r \$0resetpan; +#X obj 633 202 s \$0lookup; +#X obj 913 57 r \$0resetlookup; +#X msg -15 713 label; +#X msg 657 108 1 100 1 \, dump; +#X msg 766 110 0.5 100 0.5 \, dump; +#X msg 873 112 0 100 1 \, dump; +#X obj 156 57 include/sampler.instrument.dump; +#X obj 156 90 route playback pitch loop start end frames tables sample +vol pan lookup name; +#X obj 749 224 s \$0namer; +#X obj 731 161 tosymbol; +#X msg 734 189 set \$1; +#X connect 1 0 2 0; +#X connect 3 0 5 0; +#X connect 4 0 25 0; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 10 0 6 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 6 0; +#X connect 14 0 5 0; +#X connect 14 0 25 0; +#X connect 15 0 40 0; +#X connect 16 0 22 0; +#X connect 17 0 37 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 0 16 0; +#X connect 21 0 0 0; +#X connect 23 0 50 0; +#X connect 24 0 46 0; +#X connect 26 0 14 0; +#X connect 28 0 21 2; +#X connect 29 0 30 0; +#X connect 30 0 11 0; +#X connect 30 1 13 0; +#X connect 31 0 32 0; +#X connect 33 0 31 0; +#X connect 34 0 3 0; +#X connect 34 1 4 0; +#X connect 37 1 19 0; +#X connect 40 0 24 0; +#X connect 40 1 41 0; +#X connect 41 1 17 0; +#X connect 42 0 47 0; +#X connect 43 0 48 0; +#X connect 45 0 49 0; +#X connect 46 0 22 0; +#X connect 47 0 38 0; +#X connect 48 0 39 0; +#X connect 49 0 44 0; +#X connect 50 0 51 0; +#X connect 51 0 34 0; +#X connect 51 1 33 0; +#X connect 51 2 8 0; +#X connect 51 3 35 0; +#X connect 51 4 36 0; +#X connect 51 5 27 0; +#X connect 51 6 21 0; +#X connect 51 7 15 0; +#X connect 51 8 38 0; +#X connect 51 9 39 0; +#X connect 51 10 44 0; +#X connect 51 11 53 0; +#X connect 53 0 54 0; +#X connect 54 0 52 0; +#X restore 887 618 pd updateGui; +#X obj 90 128 r \$0bs; +#X obj 217 243 outlet~; +#X obj 323 240 outlet~; +#X obj 655 340 demultiplex; +#X msg 601 409 clear; +#X obj 27 248 symbol none; +#X obj 27 277 sel none; +#X obj 16 437 s \$0refresh; +#N canvas 0 0 948 567 instrument_select 0; +#X obj 470 205 spigot; +#X obj 524 179 r \$0active; +#X obj 291 134 t b f; +#X obj 318 230 f; +#X obj 470 229 change -1; +#X obj 287 79 r \$0instruments; +#X obj 216 42 r \$0in; +#X obj 173 42 r \$0ip; +#X msg 175 71 -1; +#X msg 216 72 1; +#X obj 200 112 + 0; +#X obj 191 149 clip 0 127; +#X obj 172 185 s \$0instrumentr; +#X obj 409 472 outlet; +#X obj 465 7 inlet; +#X obj 290 169 delay 100; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 15 0; +#X connect 2 1 3 1; +#X connect 2 1 10 1; +#X connect 3 0 0 0; +#X connect 4 0 13 0; +#X connect 5 0 2 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 8 0 10 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 2 0; +#X connect 11 0 12 0; +#X connect 14 0 0 0; +#X connect 15 0 3 0; +#X restore 886 330 pd instrument_select; +#X msg 986 238 1; +#N canvas 1138 241 879 409 instrument_preview 0; +#X obj 122 -10 r \$0previews; +#X obj 198 142 r \$0instrument; +#X obj 155 22 r \$0active; +#X obj 122 43 spigot; +#X obj 125 100 * 127; +#X obj 125 126 t b f; +#X obj 127 314 outlet~; +#X obj 205 313 outlet~; +#X obj 131 220 symbol; +#X obj 131 244 pack s 60 f; +#X obj 288 299 s \$0previewr; +#X msg 298 275 set 0; +#X obj 124 68 t f f; +#X obj 188 68 sel 1; +#X obj 188 93 s \$0apply_envelopes; +#X obj 324 151 r \$0ID; +#X msg 323 210 bank \$1; +#X obj 325 176 symbol; +#X obj 129 275 sampler.play~; +#X connect 0 0 3 0; +#X connect 1 0 8 1; +#X connect 2 0 3 1; +#X connect 3 0 12 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 5 1 9 2; +#X connect 8 0 9 0; +#X connect 9 0 18 0; +#X connect 11 0 10 0; +#X connect 12 0 4 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 15 0 17 0; +#X connect 16 0 18 0; +#X connect 17 0 16 0; +#X connect 18 0 6 0; +#X connect 18 1 7 0; +#X connect 18 2 11 0; +#X restore 337 186 pd instrument_preview; +#N canvas 0 0 727 501 browser_preview 0; +#X obj 165 156 MouseState; +#X msg 165 123 poll; +#X msg 208 122 nopoll; +#X obj 165 191 sel 0; +#X obj 14 21 inlet; +#X obj 27 139 delay 500; +#X obj 42 61 t b a b; +#X obj 57 221 symbol; +#X msg 257 189 stop; +#X obj 273 145 t b b b; +#X msg 63 268 open \$1 \, 1; +#X msg 192 265 0; +#X obj 61 351 outlet~; +#X obj 62 311 readsf~ 2; +#X obj 116 349 outlet~; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 9 0; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 6 1 7 1; +#X connect 6 2 1 0; +#X connect 7 0 10 0; +#X connect 8 0 5 0; +#X connect 9 0 2 0; +#X connect 9 1 8 0; +#X connect 9 2 11 0; +#X connect 10 0 13 0; +#X connect 11 0 13 0; +#X connect 13 0 12 0; +#X connect 13 1 14 0; +#X restore 217 185 pd browser_preview; +#X obj 886 578 t s s; +#X obj 886 377 t f f; +#N canvas 0 82 997 632 refresh 0; +#X msg 602 473 dump; +#X obj 499 323 t f b b; +#X msg 514 347 1; +#X obj 538 389 spigot; +#X obj 649 173 r \$0refresh; +#X obj 499 269 f; +#X obj 649 194 b; +#X obj 494 123 inlet; +#X obj 497 531 outlet; +#X obj 597 524 s \$0vol; +#X obj 666 525 s \$0pan; +#X obj 595 423 t b b b; +#X msg 666 469 dump; +#X msg 760 472 dump; +#X obj 687 366 r \$0avol; +#X obj 760 363 r \$0apan; +#X obj 633 301 r \$0apply_envelopes; +#X obj 827 360 r \$0alookup; +#X obj 744 522 s \$0lookup; +#X obj 499 444 f; +#X obj 405 404 r \$0update; +#X obj 666 400 delay 100; +#X obj 734 407 delay 100; +#X obj 822 408 delay 100; +#X connect 0 0 9 0; +#X connect 1 0 19 0; +#X connect 1 1 2 0; +#X connect 1 2 3 0; +#X connect 2 0 3 1; +#X connect 3 0 11 0; +#X connect 4 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 11 0 0 0; +#X connect 11 1 12 0; +#X connect 11 2 13 0; +#X connect 12 0 10 0; +#X connect 13 0 18 0; +#X connect 14 0 21 0; +#X connect 15 0 22 0; +#X connect 16 0 11 0; +#X connect 17 0 23 0; +#X connect 19 0 8 0; +#X connect 20 0 19 0; +#X connect 21 0 0 0; +#X connect 22 0 12 0; +#X connect 23 0 13 0; +#X restore 886 445 pd refresh; +#X obj 52 690 /; +#X obj 35 604 r \$0frames; +#X obj 102 622 /; +#X obj 117 592 r \$0frames; +#X obj 283 473 r \$0pitchs; +#X obj 282 583 convert.m2speed; +#X obj 296 524 sel 0; +#X msg 285 547 60; +#X obj 707 849 s \$0sm; +#X obj 790 851 s \$0em; +#X obj 76 718 s \$0csm; +#X obj 707 713 r \$0csm; +#X obj 790 712 r \$0cem; +#X obj 133 655 s \$0cem; +#X msg 233 55 vis 1; +#X obj 235 2 inlet; +#X text 735 689 BOUNDS VIS; +#X obj 514 586 r \$0vols; +#X obj 515 639 r \$0pans; +#X obj 630 -7 r \$0save; +#X obj 766 -7 r \$0load; +#X obj 630 101 savepanel; +#X obj 766 98 openpanel; +#N canvas 193 69 1052 863 save&load 0; +#X obj 113 192 r \$0ID; +#X obj 509 160 s \$0dump_sampler; +#X obj 75 147 t f f; +#X obj 80 283 pack s \$0; +#X msg 81 311 \; \$1 dump \$2instrument_data; +#X obj 113 380 route sample; +#X obj 113 419 include/sampler.sample.dump.file; +#X obj 114 519 list prepend file; +#X obj 114 550 list trim; +#X obj 352 24 inlet; +#X msg 433 79 clear; +#X obj 317 686 list trim; +#X msg 406 421 write \$1; +#X obj 253 593 t a b; +#X msg 304 411 instrument \$1; +#X obj 319 516 t f f; +#X obj 314 473 f; +#X obj 364 490 + 1; +#X msg 316 549 store \$1; +#X obj 349 64 t a b b b; +#X msg 398 144 0; +#X obj 896 20 inlet; +#X obj 637 375 msgfile; +#X obj 253 623 list prepend add; +#X msg 816 191 clear \, read \$1 \, flush; +#X obj 637 445 list trim; +#X obj 611 758 flow.send; +#X obj 913 625 r \$0ID; +#X msg 613 555 clear; +#X obj 707 754 flow.send; +#X msg 850 718 symbol \$1.sample; +#X msg 706 702 load \$1; +#X obj 708 647 tosymbol; +#X obj 638 487 route instrument file; +#X obj 774 432 spigot; +#X obj 639 399 t a b; +#X obj 808 519 s \$0clear; +#X msg 855 373 1; +#X obj 808 463 t b b; +#X msg 860 440 0; +#X obj 813 580 s \$0create_instrument; +#X obj 638 518 t b f f; +#X obj 872 66 t b a b; +#X obj 652 621 route none; +#X msg 57 486 none; +#X obj 708 672 file.path.top; +#X obj 57 457 sel none; +#X obj 114 482 file.path.relative; +#X obj 651 236 s \$0update; +#X obj 509 108 f \$0; +#X msg 509 138 \$1local_save; +#X obj 113 350 r \$0instrument_data; +#X obj 74 122 r \$0local_save; +#X obj 50 217 list prepend; +#X obj 78 254 makesymbol %s#%s; +#X obj 850 651 list prepend; +#X obj 850 692 makesymbol %s#%s; +#X connect 0 0 53 1; +#X connect 2 0 53 0; +#X connect 2 1 14 0; +#X connect 3 0 4 0; +#X connect 5 0 6 0; +#X connect 5 1 13 0; +#X connect 6 0 46 0; +#X connect 7 0 8 0; +#X connect 8 0 13 0; +#X connect 9 0 19 0; +#X connect 10 0 22 0; +#X connect 11 0 22 0; +#X connect 12 0 22 0; +#X connect 13 0 23 0; +#X connect 14 0 13 0; +#X connect 15 0 18 0; +#X connect 15 1 17 0; +#X connect 16 0 15 0; +#X connect 17 0 16 1; +#X connect 19 0 12 0; +#X connect 19 1 49 0; +#X connect 19 2 10 0; +#X connect 19 3 20 0; +#X connect 20 0 16 1; +#X connect 21 0 42 0; +#X connect 22 0 35 0; +#X connect 23 0 11 0; +#X connect 24 0 22 0; +#X connect 25 0 33 0; +#X connect 27 0 55 1; +#X connect 28 0 26 0; +#X connect 30 0 29 1; +#X connect 31 0 29 0; +#X connect 32 0 45 0; +#X connect 33 0 41 0; +#X connect 33 1 43 0; +#X connect 33 2 26 0; +#X connect 34 0 38 0; +#X connect 35 0 25 0; +#X connect 35 1 34 0; +#X connect 37 0 34 1; +#X connect 38 0 36 0; +#X connect 38 1 39 0; +#X connect 39 0 34 1; +#X connect 41 0 28 0; +#X connect 41 1 55 0; +#X connect 41 2 40 0; +#X connect 42 0 48 0; +#X connect 42 1 24 0; +#X connect 42 2 37 0; +#X connect 43 1 32 0; +#X connect 44 0 7 0; +#X connect 45 0 31 0; +#X connect 46 0 44 0; +#X connect 46 1 47 0; +#X connect 47 0 7 0; +#X connect 49 0 50 0; +#X connect 50 0 1 0; +#X connect 51 0 5 0; +#X connect 52 0 2 0; +#X connect 53 0 54 0; +#X connect 54 0 3 0; +#X connect 55 0 56 0; +#X connect 56 0 26 1; +#X connect 56 0 30 0; +#X restore 630 134 pd save&load; +#X obj 928 377 r \$0create_instrument; +#X obj 663 16 r \$0active; +#X obj 630 45 spigot; +#X obj 824 18 r \$0active; +#X obj 766 35 spigot; +#X obj 234 23 route bang save load; +#X obj 766 71 file.path.top; +#X obj 630 73 file.path.top; +#X obj 517 694 r \$0lookups; +#X obj 514 616 list prepend vol; +#X obj 515 666 list prepend pan; +#X obj 517 721 list prepend lookup; +#X obj 417 755 list trim; +#X msg 398 623 loop \$1; +#X msg 285 615 pitch \$1; +#X msg 141 699 end \$1; +#X msg 63 760 start \$1; +#X msg 141 435 sample \$1; +#X obj 455 62 file.path.top; +#X obj 427 119 file.path.top; +#N canvas 1414 92 1099 825 param.atomS&L 0; +#X obj 113 192 r \$0ID; +#X obj 269 222 s \$0dump_sampler; +#X obj 75 147 t f f; +#X obj 80 283 pack s \$0; +#X obj 59 388 route sample; +#X obj 59 427 include/sampler.sample.dump.file; +#X obj 114 519 list prepend file; +#X obj 114 550 list trim; +#X msg 339 141 clear; +#X obj 317 686 list trim; +#X obj 253 593 t a b; +#X msg 304 411 instrument \$1; +#X obj 357 526 t f f; +#X obj 352 483 f; +#X obj 402 500 + 1; +#X msg 354 559 store \$1; +#X msg 395 172 0; +#X obj 516 415 list trim; +#X obj 611 758 flow.send; +#X obj 913 625 r \$0ID; +#X msg 508 585 clear; +#X obj 707 754 flow.send; +#X msg 850 718 symbol \$1.sample; +#X msg 706 702 load \$1; +#X obj 708 647 tosymbol; +#X obj 517 457 route instrument file; +#X obj 582 319 s \$0clear; +#X obj 813 580 s \$0create_instrument; +#X obj 506 512 t b f f; +#X obj 652 621 route none; +#X msg 57 486 none; +#X obj 708 672 file.path.top; +#X obj 57 457 sel none; +#X obj 114 482 file.path.relative; +#X obj 508 198 s \$0update; +#X obj 269 170 f \$0; +#X obj 478 278 param.map INSTRUMENTS; +#X msg 269 200 \$1dp_save; +#X obj 74 122 r \$0dp_save; +#X obj 253 623 list prepend; +#X obj 354 49 t b b b; +#X msg 620 200 dump; +#X obj 583 173 t b b; +#X msg 81 311 \; \$1 dump \$2param_data; +#X obj 59 358 r \$0param_data; +#X obj 50 218 list prepend; +#X obj 78 254 makesymbol %s#%s; +#X obj 850 651 list prepend; +#X obj 850 692 makesymbol %s#%s; +#X connect 0 0 45 1; +#X connect 2 0 45 0; +#X connect 2 1 11 0; +#X connect 3 0 43 0; +#X connect 4 0 5 0; +#X connect 4 1 10 0; +#X connect 5 0 32 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 8 0 36 0; +#X connect 9 0 36 0; +#X connect 10 0 39 0; +#X connect 10 1 13 0; +#X connect 11 0 10 0; +#X connect 12 0 15 0; +#X connect 12 1 14 0; +#X connect 13 0 12 0; +#X connect 14 0 13 1; +#X connect 15 0 39 1; +#X connect 16 0 13 1; +#X connect 17 0 25 0; +#X connect 19 0 47 1; +#X connect 20 0 18 0; +#X connect 22 0 21 1; +#X connect 23 0 21 0; +#X connect 24 0 31 0; +#X connect 25 0 28 0; +#X connect 25 1 29 0; +#X connect 25 2 18 0; +#X connect 28 0 20 0; +#X connect 28 1 47 0; +#X connect 28 2 27 0; +#X connect 29 1 24 0; +#X connect 30 0 6 0; +#X connect 31 0 23 0; +#X connect 32 0 30 0; +#X connect 32 1 33 0; +#X connect 33 0 6 0; +#X connect 35 0 37 0; +#X connect 36 0 17 0; +#X connect 36 1 40 0; +#X connect 36 2 26 0; +#X connect 36 3 42 0; +#X connect 37 0 1 0; +#X connect 38 0 2 0; +#X connect 39 0 9 0; +#X connect 40 0 35 0; +#X connect 40 1 8 0; +#X connect 40 2 16 0; +#X connect 41 0 36 0; +#X connect 42 0 34 0; +#X connect 42 1 41 0; +#X connect 44 0 4 0; +#X connect 45 0 46 0; +#X connect 46 0 3 0; +#X connect 47 0 48 0; +#X connect 48 0 18 1; +#X connect 48 0 22 0; +#X restore 626 195 pd param.atomS&L; +#X obj 312 -25 param.bang GUI; +#X obj 1065 65 dollarg; +#X obj 985 95 param.group SAMPLER; +#X obj 1013 168 s \$0ID; +#X obj 1069 174 s \$0idlabel; +#X obj 1057 127 symbol; +#X obj 985 129 t b a a; +#X obj 886 550 makesymbol %s#%s; +#X obj 886 509 list prepend; +#X msg 707 780 set \$1; +#X msg 790 771 set \$1; +#X obj 870 765 *; +#X obj 953 761 *; +#X obj 968 738 r \$0frames; +#X obj 870 795 s \$0strr; +#X obj 953 796 s \$0endr; +#X obj 870 715 r \$0sms; +#X obj 953 714 r \$0ems; +#X msg 1066 146 label \$1; +#X obj 82 207 input.double.click 300; +#X obj 90 168 t a a a; +#X obj 234 78 s \$0:sample.bank; +#X msg 523 774 name \$1; +#X obj 523 752 r \$0names; +#N canvas 0 24 804 145 \$0bank 1; +#X obj 204 127 nbx 9 15 0 3 0 0 \$0strs \$0strr empty 90 8 0 10 -228856 +-1 -1 0 256; +#X obj 294 127 nbx 9 15 0 3 0 0 \$0ends \$0endr empty 82 8 0 10 -228856 +-1 -1 0 256; +#X obj 238 4 nbx 3 15 0 127 0 0 \$0instruments \$0instrumentr empty +38 8 0 10 -228856 -1 -1 0 256; +#X obj 809 4 bng 15 250 50 0 \$0resetvol empty R 5 7 0 10 -1 -262144 +-262144; +#X obj 465 4 nbx 3 15 0 127 0 0 \$0pitchs \$0pitchr empty 38 8 0 10 +-228856 -1 -1 0 256; +#X obj 276 4 tgl 15 0 \$0previews \$0previewr empty 17 8 0 10 -228856 +-1 -1 0 1; +#X obj 508 6 tof/breakpoints 295 39 100 \$0vol \$0vols \$0vols \$0avol +; +#X obj 508 53 tof/breakpoints 295 39 100 \$0pan \$0pans \$0pans \$0apan +; +#X obj 809 51 bng 15 250 50 0 \$0resetpan empty R 5 7 0 10 -1 -262144 +-262144; +#X obj 508 100 tof/breakpoints 295 39 100 \$0lookup \$0lookups \$0lookups +\$0alookup; +#X obj 809 97 bng 15 250 50 0 \$0resetlookup empty R 5 7 0 10 -1 -262144 +-262144; +#X obj 207 107 hsl 295 8 0 1 0 0 \$0sms \$0sm empty -2 -8 0 10 -228856 +-4034 -1 0 1; +#X obj 207 117 hsl 295 8 0 1 0 0 \$0ems \$0em empty -2 -8 0 10 -228856 +-258113 -1 0 1; +#X obj 809 21 cnv 15 15 28 empty empty V 5 8 0 10 -99865 -262144 0 +; +#X obj 384 127 cnv 15 120 15 empty empty version3 2 7 0 10 -99865 -262144 +0; +#X obj 809 67 cnv 15 15 28 empty empty P 5 8 0 10 -99865 -262144 0 +; +#X obj 809 114 cnv 15 15 28 empty empty L 5 8 0 10 -99865 -262144 0 +; +#X obj 204 38 cnv 15 300 66 empty empty empty 20 12 0 14 -191407 -66577 +0; +#N canvas 0 0 450 300 (subpatch) 0; +#X array \$0L 300 float 0; +#X array \$0R 300 float 0; +#X coords 0 1 299 -1 300 67 1; +#X restore 204 38 graph; +#X obj 25 106 namecanvas \$0:sample.bank; +#X obj 4 4 file.browser_ \$0bs \$0br; +#X obj 204 21 hradio 15 1 0 20 \$0files empty empty 2 8 0 10 -1 -1 +-258053 0; +#X obj 204 4 bng 15 250 50 0 \$0ip empty < 5 8 0 10 -1 -262144 -262144 +; +#X obj 221 4 bng 15 250 50 0 \$0in empty > 5 8 0 10 -1 -262144 -262144 +; +#X obj 205 22 cnv 13 298 13 empty \$0filer empty 4 5 0 10 -228856 -1 +0; +#X symbolatom 293 5 24 0 0 0 - #0namer #0names; +#X restore 500 281 pd \$0bank; +#X connect 2 0 96 1; +#X connect 3 0 20 0; +#X connect 5 0 3 1; +#X connect 6 0 1 1; +#X connect 8 0 25 0; +#X connect 9 0 3 0; +#X connect 10 0 9 1; +#X connect 12 0 36 0; +#X connect 15 0 13 1; +#X connect 16 0 7 0; +#X connect 17 0 80 0; +#X connect 18 0 43 0; +#X connect 19 0 45 0; +#X connect 20 0 35 0; +#X connect 20 1 84 0; +#X connect 21 0 22 0; +#X connect 22 0 33 0; +#X connect 24 0 23 0; +#X connect 25 0 31 0; +#X connect 25 1 12 0; +#X connect 25 2 89 0; +#X connect 25 3 7 0; +#X connect 26 0 31 1; +#X connect 28 0 108 0; +#X connect 31 0 32 0; +#X connect 31 1 24 0; +#X connect 32 0 23 0; +#X connect 33 0 34 0; +#X connect 34 1 9 0; +#X connect 36 0 41 0; +#X connect 37 0 11 0; +#X connect 38 0 29 0; +#X connect 38 1 30 0; +#X connect 39 0 29 0; +#X connect 39 1 30 0; +#X connect 40 0 27 0; +#X connect 40 1 14 0; +#X connect 41 0 42 0; +#X connect 41 1 1 0; +#X connect 42 0 96 0; +#X connect 43 0 53 0; +#X connect 43 0 83 0; +#X connect 44 0 43 1; +#X connect 45 0 56 0; +#X connect 45 0 82 0; +#X connect 46 0 45 1; +#X connect 47 0 49 0; +#X connect 48 0 81 0; +#X connect 49 0 50 0; +#X connect 49 1 48 0; +#X connect 50 0 48 0; +#X connect 54 0 97 0; +#X connect 55 0 98 0; +#X connect 57 0 109 0; +#X connect 58 0 72 0; +#X connect 60 0 76 0; +#X connect 61 0 77 0; +#X connect 62 0 69 0; +#X connect 63 0 71 0; +#X connect 64 0 66 0; +#X connect 65 0 66 1; +#X connect 67 0 1 0; +#X connect 68 0 69 1; +#X connect 69 0 74 0; +#X connect 70 0 71 1; +#X connect 71 0 73 0; +#X connect 72 0 57 0; +#X connect 72 1 86 0; +#X connect 72 2 85 0; +#X connect 73 0 65 0; +#X connect 74 0 64 0; +#X connect 75 0 78 0; +#X connect 76 0 79 0; +#X connect 77 0 79 0; +#X connect 78 0 79 0; +#X connect 79 0 13 0; +#X connect 80 0 13 0; +#X connect 81 0 13 0; +#X connect 82 0 13 0; +#X connect 83 0 13 0; +#X connect 84 0 13 0; +#X connect 85 0 66 1; +#X connect 86 0 66 0; +#X connect 88 0 57 0; +#X connect 89 0 90 1; +#X connect 89 1 90 2; +#X connect 90 0 94 0; +#X connect 93 0 106 0; +#X connect 94 0 37 0; +#X connect 94 1 91 0; +#X connect 94 2 93 0; +#X connect 95 0 40 0; +#X connect 96 0 95 0; +#X connect 97 0 51 0; +#X connect 98 0 52 0; +#X connect 99 0 102 0; +#X connect 100 0 103 0; +#X connect 101 0 99 1; +#X connect 101 0 100 1; +#X connect 104 0 99 0; +#X connect 105 0 100 0; +#X connect 106 0 92 0; +#X connect 107 0 22 0; +#X connect 108 0 107 0; +#X connect 108 1 33 1; +#X connect 108 2 39 0; +#X connect 110 0 13 0; +#X connect 111 0 110 0; +#X coords 0 0 1 1 200 35 0; diff --git a/sampler.play.poly~-help.pd b/sampler.play.poly~-help.pd new file mode 100644 index 0000000..14a3ebc --- /dev/null +++ b/sampler.play.poly~-help.pd @@ -0,0 +1,45 @@ +#N canvas 519 153 761 505 10; +#X declare -stdpath extra/tof; +#X obj 68 123 sampler.bank~ @id sb5; +#X obj 68 73 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 95 455 dac~; +#X obj 68 170 dac~; +#X msg 40 244 0 62 89; +#X text 70 10 Description: A polyphonic (5 voices) version of sampler.play~ +; +#X msg 124 247 0 51 89; +#X msg 230 249 0 70 89; +#X msg 51 266 0 62 0; +#X msg 140 269 0 51 0; +#X msg 244 271 0 70 0; +#X text 96 73 1) Load at least one sample in the first instrument slot +; +#X text 257 219 2) Rock!; +#X msg 317 272 loop \$1; +#X obj 318 249 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 410 240 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 409 263 steal \$1; +#X obj 495 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 495 258 flush; +#X obj 43 386 sampler.play.poly~ @id spp5 @bank sb5; +#X connect 0 0 3 0; +#X connect 0 1 3 1; +#X connect 1 0 0 0; +#X connect 4 0 19 0; +#X connect 6 0 19 0; +#X connect 7 0 19 0; +#X connect 8 0 19 0; +#X connect 9 0 19 0; +#X connect 10 0 19 0; +#X connect 13 0 19 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 2 0; +#X connect 19 1 2 1; diff --git a/sampler.play.poly~.pd b/sampler.play.poly~.pd new file mode 100644 index 0000000..b248ff4 --- /dev/null +++ b/sampler.play.poly~.pd @@ -0,0 +1,159 @@ +#N canvas 281 0 999 688 10; +#N canvas 281 0 999 688 polyAnything 0; +#X obj 45 20 inlet; +#X obj 291 639 outlet; +#X obj 100 227 data.index; +#X obj 88 117 list.split 1; +#X obj 326 495 poly 5 1; +#X obj 320 427 +; +#X obj 416 235 unpack f f; +#X obj 366 312 clip 0 255; +#X obj 324 458 pack f f; +#X obj 84 174 t a a; +#X obj 343 560 pack f f; +#X obj 302 593 list; +#X obj 275 551 list; +#X obj 688 196 t b b; +#X msg 691 329 stop; +#X obj 328 395 t f f; +#X obj 602 129 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 329 539 & 255; +#X obj 220 301 expr ($f1+1)*256; +#X obj 371 22 inlet done; +#X obj 639 14 inlet flush; +#X obj 371 70 list.split 1; +#X msg 459 105 \$1 0; +#X obj 820 18 inlet steal; +#X connect 0 0 3 0; +#X connect 2 0 18 0; +#X connect 2 1 18 0; +#X connect 3 0 9 0; +#X connect 3 1 6 0; +#X connect 4 0 12 0; +#X connect 4 1 17 0; +#X connect 4 2 10 1; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 6 1 8 1; +#X connect 7 0 5 1; +#X connect 8 0 4 0; +#X connect 9 0 2 0; +#X connect 9 1 12 1; +#X connect 10 0 11 1; +#X connect 11 0 1 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 13 1 2 1; +#X connect 14 0 4 0; +#X connect 15 0 5 0; +#X connect 16 0 13 0; +#X connect 17 0 10 0; +#X connect 18 0 15 0; +#X connect 19 0 21 0; +#X connect 20 0 13 0; +#X connect 21 0 9 0; +#X connect 21 1 22 0; +#X connect 22 0 6 0; +#X connect 23 0 4 1; +#X restore 369 205 pd polyAnything; +#X obj 68 464 include/sampler.play.guts~; +#X obj 122 638 outlet~; +#X obj 475 636 outlet~; +#X obj 259 465 include/sampler.play.guts~; +#X obj 454 465 include/sampler.play.guts~; +#X obj 649 466 include/sampler.play.guts~; +#X obj 846 466 include/sampler.play.guts~; +#X obj 346 291 route 1 2 3 4 5; +#X obj 109 16 inlet; +#X obj 99 213 param.group; +#X obj 257 127 loadbang; +#X obj 254 152 dollarg; +#X obj 653 254 param.atom bank SAMPLER; +#X obj 723 273 param.atom fit false; +#X obj 784 307 param.atom timing TIMING; +#X obj 839 351 param.atom loop false; +#X obj 156 517 list; +#X obj 73 414 t a a; +#X obj 280 412 t a a; +#X obj 441 398 t a a; +#X obj 639 392 t a a; +#X obj 820 402 t a a; +#X obj 374 520 list; +#X obj 536 523 list; +#X obj 712 524 list; +#X obj 894 522 list; +#X obj 524 129 param.atom steal true; +#X obj 524 157 != 0; +#X obj 457 90 param.bang flush; +#X obj 95 47 relay bank fit timing loop flush steal; +#X connect 0 0 8 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 17 0; +#X connect 4 0 2 0; +#X connect 4 1 3 0; +#X connect 4 2 23 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 5 2 24 0; +#X connect 6 0 2 0; +#X connect 6 1 3 0; +#X connect 6 2 25 0; +#X connect 7 0 2 0; +#X connect 7 1 3 0; +#X connect 7 2 26 0; +#X connect 8 0 18 0; +#X connect 8 1 19 0; +#X connect 8 2 20 0; +#X connect 8 3 21 0; +#X connect 8 4 22 0; +#X connect 9 0 30 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 12 1 10 2; +#X connect 13 0 1 1; +#X connect 13 0 4 1; +#X connect 13 0 5 1; +#X connect 13 0 6 1; +#X connect 13 0 7 1; +#X connect 14 0 1 2; +#X connect 14 0 4 2; +#X connect 14 0 5 2; +#X connect 14 0 6 2; +#X connect 14 0 7 2; +#X connect 15 0 1 3; +#X connect 15 0 4 3; +#X connect 15 0 5 3; +#X connect 15 0 6 3; +#X connect 15 0 7 3; +#X connect 16 0 1 4; +#X connect 16 0 4 4; +#X connect 16 0 5 4; +#X connect 16 0 6 4; +#X connect 16 0 7 4; +#X connect 17 0 0 1; +#X connect 18 0 1 0; +#X connect 18 1 17 1; +#X connect 19 0 4 0; +#X connect 19 1 23 1; +#X connect 20 0 5 0; +#X connect 20 1 24 1; +#X connect 21 0 6 0; +#X connect 21 1 25 1; +#X connect 22 0 7 0; +#X connect 22 1 26 1; +#X connect 23 0 0 1; +#X connect 24 0 0 1; +#X connect 25 0 0 1; +#X connect 26 0 0 1; +#X connect 27 0 28 0; +#X connect 28 0 0 3; +#X connect 29 0 0 2; +#X connect 30 0 10 0; +#X connect 30 1 10 0; +#X connect 30 2 10 0; +#X connect 30 3 10 0; +#X connect 30 4 10 0; +#X connect 30 5 10 0; +#X connect 30 6 0 0; diff --git a/sampler.play~-help.pd b/sampler.play~-help.pd new file mode 100644 index 0000000..655e0b9 --- /dev/null +++ b/sampler.play~-help.pd @@ -0,0 +1,304 @@ +#N canvas 134 199 905 652 10; +#X declare -stdpath extra/tof; +#X text 48 23 Description: Plays instruments.; +#X text 52 76 Inlet_1 messages:; +#X text 72 137 instrument(symbol) pitch(0-127) velocity(0-127): Plays +any instrument with a pitch and velocity.; +#X text 73 94 instrument(float) pitch(0-127) velocity(0-127): Plays +an instrument store in a sampler.manage with a pitch and velocity. +; +#X obj 53 224 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 +-1; +#X obj 56 547 mix.out_~; +#X text 409 545 Outlet 3: Bangs when done playing; +#X text 409 562 Outlet 4: Provides a progress signal; +#X text 409 527 Outlet 1&2: Stereo audio output; +#X obj 52 267 dac~; +#X obj 221 505 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 50 314 2) Play instrument 0 of bank sp~h; +#X msg 57 355 0 60 127; +#X msg 70 399 0 60 0; +#X obj 256 505 anal.sig_~; +#X msg 292 375 loop \$1; +#X obj 292 356 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 291 454 bank sp~h; +#X msg 78 421 2 60 64; +#X msg 64 378 0 72 127; +#X obj 554 112 param.gui; +#N canvas 24 239 994 340 quantization 0; +#X msg 628 146 3 60 127; +#X msg 536 119 1 60 127; +#X obj 536 211 mix.out_~; +#X obj 57 211 mix.out_~; +#X obj 569 78 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 56 34 To quantize a sampler.play~ to a timing master \, simply +set "fit" to 1; +#X msg 58 133 0 60 127; +#X msg 627 118 1 48 127; +#X msg 544 150 1 60 0; +#X floatatom 569 32 5 0 0 0 bpm - -; +#X msg 71 155 0 60 0; +#X obj 569 52 seq.timing.master @id sphtiming @bpm 120; +#X text 57 70 Please note that when fitting \, that the playback pitch +is locked.; +#X obj 58 182 sampler.play~ @bank sph~ @timing sphtiming @fit 1 @loop +1; +#X obj 536 181 sampler.play~ @bank sph~ @timing sphtiming @fit 1 @loop +1; +#X connect 0 0 14 0; +#X connect 1 0 14 0; +#X connect 6 0 13 0; +#X connect 7 0 14 0; +#X connect 8 0 14 0; +#X connect 9 0 11 0; +#X connect 10 0 13 0; +#X connect 11 0 4 0; +#X connect 13 0 3 0; +#X connect 13 1 3 1; +#X connect 14 0 2 0; +#X connect 14 1 2 1; +#X restore 553 183 pd quantization; +#X text 48 39 Comments: Configure instruments with sampler.bank.; +#X text 550 163 Quantized playback; +#X text 550 214 Overriding enveloppes; +#N canvas 75 174 674 496 overriding 0; +#X obj 37 403 mix.out_~; +#X msg 37 303 0 60 127; +#X msg 116 325 loop \$1; +#X obj 116 304 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#N canvas 199 133 454 274 override 0; +#X obj 23 46 inlet data; +#X obj 23 199 outlet ovverrides; +#N canvas 335 145 817 623 random_lookup 0; +#X obj 380 116 flow.iter; +#X obj 485 120 expr 1/$f1; +#X obj 337 78 t f f f; +#X obj 65 475 list.build; +#X obj 285 28 t b f b; +#X obj 371 202 *; +#X obj 547 180 random.f 0 127; +#X obj 382 170 demultiplex; +#X floatatom 521 23 5 0 0 0 jump - -; +#X obj 454 260 *; +#X obj 448 228 random.integer 0 7; +#X obj 398 140 t f b; +#X obj 324 309 random.f 0 127; +#X floatatom 616 29 5 0 0 0 dir - -; +#X obj 490 327 random.f 0 127; +#X floatatom 728 62 5 0 0 0 speed - -; +#X obj 331 370 sel 0 1; +#X msg 326 396 1; +#X msg 362 394 -1; +#X obj 343 432 *; +#X obj 370 472 *; +#X obj 526 398 random.integer 0 1; +#X obj 489 370 sel 0 1; +#X msg 482 394 1; +#X obj 522 431 sel 0 1; +#X msg 519 454 0.5; +#X msg 558 454 2; +#X obj 285 230 t f b b; +#X obj 547 202 < 30; +#X obj 331 347 < 30; +#X obj 490 349 < 30; +#X obj 245 457 +; +#X obj 208 435 t f f; +#X obj 201 472 pack; +#X msg 196 501 \$1 1 \$2 0; +#X obj 43 512 list.split -1; +#X obj 276 -39 inlet segments; +#X obj 42 549 outlet; +#X obj 547 -47 param.atom jump 30 0 127; +#X obj 681 19 param.atom speed 30 0 127; +#X obj 600 -18 param.atom direction 30 0 127; +#X connect 0 0 11 0; +#X connect 1 0 5 1; +#X connect 1 0 9 1; +#X connect 1 0 20 1; +#X connect 2 0 0 0; +#X connect 2 2 1 0; +#X connect 3 0 35 0; +#X connect 4 0 3 0; +#X connect 4 1 2 0; +#X connect 5 0 27 0; +#X connect 6 0 28 0; +#X connect 7 0 5 0; +#X connect 7 1 10 0; +#X connect 8 0 28 1; +#X connect 9 0 27 0; +#X connect 10 0 9 0; +#X connect 11 0 7 0; +#X connect 11 1 6 0; +#X connect 12 0 29 0; +#X connect 13 0 29 1; +#X connect 14 0 30 0; +#X connect 15 0 30 1; +#X connect 16 0 17 0; +#X connect 16 1 18 0; +#X connect 17 0 19 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 31 1; +#X connect 21 0 24 0; +#X connect 22 0 23 0; +#X connect 22 1 21 0; +#X connect 23 0 19 1; +#X connect 24 0 25 0; +#X connect 24 1 26 0; +#X connect 25 0 19 1; +#X connect 26 0 19 1; +#X connect 27 0 32 0; +#X connect 27 1 12 0; +#X connect 27 2 14 0; +#X connect 28 0 7 1; +#X connect 29 0 16 0; +#X connect 30 0 22 0; +#X connect 31 0 33 1; +#X connect 32 0 33 0; +#X connect 32 1 31 0; +#X connect 33 0 34 0; +#X connect 34 0 3 1; +#X connect 35 0 37 0; +#X connect 36 0 4 0; +#X connect 38 0 8 0; +#X connect 39 0 15 0; +#X connect 40 0 13 0; +#X restore 23 104 pd random_lookup; +#X msg 23 79 8; +#X obj 185 73 tof/breakpoints; +#X obj 23 144 list prepend lookup; +#X obj 23 167 list trim; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X restore 217 376 pd override lookup; +#X msg 50 327 0 60 0; +#X obj 34 212 mix.out_~; +#X msg 44 112 0 60 0; +#X obj 361 136 tof/breakpoints; +#X msg 359 107 dump; +#X msg 109 108 loop \$1; +#X obj 109 88 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 359 86 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 458 293 flow.prepend lookup; +#X text 414 112 Draw something below:; +#X msg 34 89 0 60 127; +#X text 32 14 You can override the vol(volume) \, pan(panning) \, start(0-1) +\, end(0-1) or lookup envelopes with your own envelopes.; +#X obj 37 376 sampler.play~ @bank sph~; +#X obj 34 177 sampler.play~ @bank sph~; +#X connect 1 0 17 0; +#X connect 2 0 17 0; +#X connect 3 0 2 0; +#X connect 4 0 17 1; +#X connect 5 0 17 0; +#X connect 7 0 18 0; +#X connect 8 1 13 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X connect 13 0 18 1; +#X connect 15 0 18 0; +#X connect 17 0 0 0; +#X connect 17 1 0 1; +#X connect 17 4 4 0; +#X connect 18 0 6 0; +#X connect 18 1 6 1; +#X connect 18 4 12 0; +#X restore 553 234 pd overriding; +#X text 409 486 Inlet 1: Control inlet; +#X text 409 503 Inlet 2: Override inlet; +#X text 409 580 Outlet 5: Bangs when starting to play or when playback +loops; +#X obj 368 505 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 553 60 param.load; +#X obj 553 18 loadbang; +#X msg 553 39 medias/data/sampler.bank.help.txt; +#X obj 53 243 sampler.bank~ @id sph~; +#X msg 554 91 top; +#X text 550 263 Tracking; +#N canvas 19 161 741 393 tracking 0; +#X obj 110 306 mix.out_~; +#X text 41 17 You can override the vol(volume) \, pan(panning) or lookup +envelopes with your own envelopes.; +#X obj 46 92 seq.timing.master @id trackingSampler; +#X obj 46 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 46 155 seq.tracker4 @timing trackingSampler @id trackerSampler +; +#X floatatom 46 71 5 0 0 0 - - -; +#X text 87 70 bpm(defaults to 120); +#X obj 109 184 sampler.play~ @bank sph~; +#X obj 173 210 sampler.play~ @bank sph~; +#X obj 239 239 sampler.play~ @bank sph~; +#X obj 301 265 sampler.play~ @bank sph~ @fit 1 @timing trackingSampler +; +#X connect 3 0 4 0; +#X connect 4 1 7 0; +#X connect 4 2 8 0; +#X connect 4 3 9 0; +#X connect 4 4 10 0; +#X connect 5 0 2 0; +#X connect 7 0 0 0; +#X connect 7 1 0 1; +#X connect 8 0 0 0; +#X connect 8 1 0 1; +#X connect 9 0 0 0; +#X connect 9 1 0 1; +#X connect 10 0 0 0; +#X connect 10 1 0 1; +#X restore 553 282 pd tracking; +#X msg 155 377 bd0 70 60; +#X msg 155 400 bd1 50 60; +#X obj 561 396 notein; +#X obj 561 419 pack f f; +#X msg 293 423 progress \$1; +#X text 382 422 switch progress mode; +#X obj 293 403 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 561 442 0 \$1 \$2; +#X text 559 377 Play your midi keyboard; +#X msg 154 354 loop1 60 126; +#X text 51 190 1) Load a sample into instrument 0 (click on the green +bang to open the gui).; +#X text 153 420 sampler.bank~ id; +#X text 363 454 switch bank; +#X obj 57 489 sampler.play~ @bank sph~ @id sample.play~-help; +#X connect 4 0 33 0; +#X connect 12 0 50 0; +#X connect 13 0 50 0; +#X connect 15 0 50 0; +#X connect 16 0 15 0; +#X connect 17 0 50 0; +#X connect 18 0 50 0; +#X connect 19 0 50 0; +#X connect 31 0 32 0; +#X connect 32 0 30 0; +#X connect 33 0 9 0; +#X connect 33 1 9 1; +#X connect 34 0 20 0; +#X connect 37 0 50 0; +#X connect 38 0 50 0; +#X connect 39 0 40 0; +#X connect 39 1 40 1; +#X connect 40 0 44 0; +#X connect 41 0 50 0; +#X connect 43 0 41 0; +#X connect 44 0 50 0; +#X connect 46 0 50 0; +#X connect 50 0 5 0; +#X connect 50 1 5 1; +#X connect 50 2 10 0; +#X connect 50 3 14 0; +#X connect 50 4 29 0; diff --git a/sampler.play~.pd b/sampler.play~.pd new file mode 100644 index 0000000..7b69cd8 --- /dev/null +++ b/sampler.play~.pd @@ -0,0 +1,39 @@ +#N canvas 1026 0 999 664 10; +#X obj 201 -22 inlet; +#X obj 268 620 outlet~; +#X obj 414 626 outlet~; +#X obj 593 624 outlet done; +#X obj 691 623 outlet~; +#X obj 206 115 param.group; +#X obj 327 67 loadbang; +#X obj 324 92 dollarg; +#X obj 468 59 param.atom bank SAMPLER; +#X obj 504 89 param.atom fit false; +#X obj 821 -8 inlet overridden; +#X obj 795 621 outlet override; +#X obj 532 121 param.atom timing TIMING; +#X obj 570 150 param.atom loop false; +#X obj 706 243 param.atom progress false; +#X obj 202 6 relay bank fit timing loop progress; +#X obj 421 388 include/sampler.play.guts~; +#X connect 0 0 15 0; +#X connect 6 0 7 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 8 0 16 1; +#X connect 9 0 16 2; +#X connect 10 0 16 5; +#X connect 12 0 16 3; +#X connect 13 0 16 4; +#X connect 14 0 16 6; +#X connect 15 0 5 0; +#X connect 15 1 5 0; +#X connect 15 2 5 0; +#X connect 15 3 5 0; +#X connect 15 4 5 0; +#X connect 15 5 16 0; +#X connect 16 0 1 0; +#X connect 16 1 2 0; +#X connect 16 2 3 0; +#X connect 16 3 4 0; +#X connect 16 4 11 0; diff --git a/scale.3point-help.pd b/scale.3point-help.pd new file mode 100644 index 0000000..4c4e17d --- /dev/null +++ b/scale.3point-help.pd @@ -0,0 +1,52 @@ +#N canvas 12 46 1016 726 10; +#X floatatom 43 340 5 0 0 0 - - -; +#X obj 52 394 tabwrite scaler3; +#X obj 357 381 tabwrite scaler; +#X obj 61 194 t f f; +#X obj 39 234 t f f; +#X obj 320 220 t f f; +#N canvas 0 0 450 300 (subpatch) 0; +#X array scaler3 12 float 1; +#A 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X coords 0 2.99 11 0 200 140 1; +#X restore 86 453 graph; +#N canvas 0 0 450 300 (subpatch) 0; +#X array scaler 12 float 0; +#X coords 0 2.99 11 0 200 140 1; +#X restore 366 441 graph; +#X floatatom 342 324 5 0 0 0 - - -; +#X text 407 86 All arguments are necessary.; +#X text 398 237 Compare the output with [scale.linear]; +#X msg 653 374 \; scaler3 const 0; +#X msg 792 358 \; scaler const 0; +#X obj 702 315 loadbang; +#X text 411 43 Arguments 1 to 3: LOW \, MID \, HIGH INPUTS; +#X text 411 63 Arguments 4 to 6: LOW \, MID \, HIGH OUTPUTS; +#X msg 61 133 0 \, 11; +#X obj 61 165 flow.in.betweens; +#X floatatom 273 145 5 0 2.99 0 - - -; +#X obj 272 116 init.lf 2.5; +#X obj 339 269 scale.linear 0 11 0 2.99; +#X text 317 144 <- 1) Change this value; +#X obj 41 270 scale.3point 0 5 11 0 2.5 2.99; +#X obj 248 184 t b f; +#X text 23 15 Description: A scale changer with an offset mid point. +; +#X connect 0 0 1 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 4 0 22 0; +#X connect 4 1 1 1; +#X connect 5 0 20 0; +#X connect 5 1 2 1; +#X connect 8 0 2 0; +#X connect 13 0 11 0; +#X connect 13 0 12 0; +#X connect 16 0 17 0; +#X connect 17 0 3 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 8 0; +#X connect 22 0 0 0; +#X connect 23 0 16 0; +#X connect 23 1 22 5; diff --git a/scale.3point.pd b/scale.3point.pd new file mode 100644 index 0000000..1d77df3 --- /dev/null +++ b/scale.3point.pd @@ -0,0 +1,123 @@ +#N canvas 12 46 1016 687 12; +#N canvas 0 0 1012 718 scaler 0; +#X text 7 6 Made by Thomas Ouellet Fredericks for the ID collective +; +#X text 9 26 tom@danslchamp.org; +#X text 238 29 21 novembre 2004; +#X obj 56 76 inlet; +#X obj 329 625 outlet; +#X obj 325 455 *; +#X text 125 320 -------------------------; +#X text 307 517 -------------------------; +#X text 51 151 -------------------------; +#X text 238 58 max input; +#X text 134 56 min input; +#X text 431 56 max output; +#X text 333 56 min output; +#X text 367 482 min output; +#X obj 65 251 /; +#X obj 142 71 inlet; +#X obj 250 75 inlet; +#X obj 330 74 inlet; +#X obj 440 74 inlet; +#X obj 75 204 t f b; +#X obj 299 378 t f b; +#X obj 59 177 - \$2; +#X obj 164 206 f \$3; +#X obj 215 235 - \$2; +#X obj 380 395 f \$6; +#X obj 420 425 - \$5; +#X obj 327 483 + \$5; +#X connect 3 0 21 0; +#X connect 5 0 26 0; +#X connect 14 0 20 0; +#X connect 15 0 21 1; +#X connect 15 0 23 1; +#X connect 16 0 22 0; +#X connect 17 0 25 1; +#X connect 17 0 26 1; +#X connect 18 0 24 0; +#X connect 19 0 14 0; +#X connect 19 1 22 0; +#X connect 20 0 5 0; +#X connect 20 1 24 0; +#X connect 21 0 19 0; +#X connect 22 0 23 0; +#X connect 23 0 14 1; +#X connect 24 0 25 0; +#X connect 25 0 5 1; +#X connect 26 0 4 0; +#X restore 260 247 pd scaler; +#X obj 110 34 inlet; +#X obj 162 423 outlet; +#N canvas 0 0 1012 718 scaler 0; +#X text 7 6 Made by Thomas Ouellet Fredericks for the ID collective +; +#X text 9 26 tom@danslchamp.org; +#X text 238 29 21 novembre 2004; +#X obj 56 76 inlet; +#X obj 329 625 outlet; +#X obj 325 455 *; +#X text 125 320 -------------------------; +#X text 307 517 -------------------------; +#X text 51 151 -------------------------; +#X text 238 58 max input; +#X text 134 56 min input; +#X text 431 56 max output; +#X text 333 56 min output; +#X text 367 482 min output; +#X obj 65 251 /; +#X obj 142 71 inlet; +#X obj 250 75 inlet; +#X obj 330 74 inlet; +#X obj 440 74 inlet; +#X obj 75 204 t f b; +#X obj 299 378 t f b; +#X obj 59 177 - \$1; +#X obj 215 235 - \$1; +#X obj 164 206 f \$2; +#X obj 381 395 f \$5; +#X obj 420 425 - \$4; +#X obj 327 483 + \$4; +#X connect 3 0 21 0; +#X connect 5 0 26 0; +#X connect 14 0 20 0; +#X connect 15 0 21 1; +#X connect 15 0 22 1; +#X connect 16 0 23 0; +#X connect 17 0 25 1; +#X connect 17 0 26 1; +#X connect 18 0 24 0; +#X connect 19 0 14 0; +#X connect 19 1 23 0; +#X connect 20 0 5 0; +#X connect 20 1 24 0; +#X connect 21 0 19 0; +#X connect 22 0 14 1; +#X connect 23 0 22 0; +#X connect 24 0 25 0; +#X connect 25 0 5 1; +#X connect 26 0 4 0; +#X restore 46 243 pd scaler; +#X obj 196 35 inlet; +#X obj 265 35 inlet; +#X obj 314 36 inlet; +#X obj 362 33 inlet; +#X obj 419 29 inlet; +#X obj 467 26 inlet; +#X obj 63 122 flow.split \$1 \$2; +#X connect 0 0 2 0; +#X connect 1 0 10 0; +#X connect 3 0 2 0; +#X connect 4 0 3 1; +#X connect 4 0 10 1; +#X connect 5 0 0 1; +#X connect 5 0 3 2; +#X connect 5 0 10 2; +#X connect 6 0 0 2; +#X connect 7 0 3 3; +#X connect 8 0 0 3; +#X connect 8 0 3 4; +#X connect 9 0 0 4; +#X connect 10 0 3 0; +#X connect 10 1 0 0; diff --git a/scale.adaptive-help.pd b/scale.adaptive-help.pd new file mode 100644 index 0000000..de3fc41 --- /dev/null +++ b/scale.adaptive-help.pd @@ -0,0 +1,64 @@ +#N canvas 106 75 1012 698 12; +#X floatatom 240 274 5 0 0 1 UNSCALED_INPUT_STREAM - -; +#X floatatom 240 398 5 0 0 1 SCALED(0-127) - -; +#X floatatom 240 364 5 0 0 1 MIN_UNSCALED - -; +#X floatatom 241 330 5 0 0 1 MAX_UNSCALED - -; +#X obj 243 254 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -258699 +-1 -1 0 0; +#X obj 243 381 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -1 +-262144 -1 0 1; +#X obj 244 346 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -1 +-262144 -1 0 1; +#X obj 243 415 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -1 +-262144 -1 0 1; +#X text 527 641 If you do not set arguments 3 and 4 \, the limits will +not tighten.; +#X floatatom 611 607 5 0 0 1 SCALED(50-150) - -; +#X floatatom 688 590 5 0 0 1 MIN_UNSCALED - -; +#X floatatom 779 560 5 0 0 1 MAX_UNSCALED - -; +#X floatatom 533 490 5 0 0 1 UNSCALED_INPUT_STREAM - -; +#X text 514 150 Argument 1 (required) : scale minimum input number +to this value.; +#X text 516 192 Argument 2 (required) : scale maximum input number +to this value.; +#X text 515 232 Argument 3 : milliseconds before tightening.; +#X text 514 257 Argument 4 : milliseconds it takes to tighten.; +#X obj 30 305 scale.adaptive 0 127 1000 10000; +#X text 11 5 scale.adaptive \, version 4 of powerranger and powerscale +; +#X text 11 42 released on : 2006/07/02; +#X text 9 59 This abstractions dynamically determines the minimum and +maximum limits of an input number stream. The stream is then relativised +between these two limits and then scaled to the values set as the first +2 arguments. If arguments 3 and 4 are not blank \, it will tighten +the minimum and maximum values to the last number streamed. The third +argument determines how many milliseconds must pass before the a limit +tightens after it has been changed. The last argument determines how +long it takes to tighten.; +#X text 10 24 tof (tofdanslchamp.org); +#X obj 614 533 scale.adaptive 50 150; +#X obj 317 296 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 823 488 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 394 322 Once MAX_UNSCALED or MIN_UNSCALED changes \, it will +take 1 second before it starts to tighten. It will take 10 seconds +to tighten around the last value streamed.; +#X text 388 410 The scaled value is only output one a number is received +at inlet 1; +#X text 613 460 No automatic tightening!; +#X text 19 -24 Description: Dynamic scale adjustment.; +#X connect 0 0 17 0; +#X connect 1 0 7 0; +#X connect 2 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 0 0; +#X connect 12 0 22 0; +#X connect 17 0 1 0; +#X connect 17 1 2 0; +#X connect 17 2 3 0; +#X connect 22 0 9 0; +#X connect 22 1 10 0; +#X connect 22 2 11 0; +#X connect 23 0 17 1; +#X connect 24 0 22 1; diff --git a/scale.adaptive.pd b/scale.adaptive.pd new file mode 100644 index 0000000..65efecf --- /dev/null +++ b/scale.adaptive.pd @@ -0,0 +1,151 @@ +#N canvas 0 0 1012 718 10; +#X text 1070 618 max output; +#X obj 16 26 inlet; +#N canvas 0 0 585 580 scale_it 0; +#X obj 272 246 -; +#X obj 192 354 /; +#X obj 179 199 -; +#X msg 158 353 0; +#X text 216 354 range; +#X obj 154 23 inlet; +#X text 194 22 value; +#X obj 284 26 inlet; +#X text 323 26 min; +#X obj 391 30 inlet; +#X text 430 30 max; +#X obj 260 477 outlet; +#X text 306 479 result; +#X obj 179 283 sel 0; +#X obj 272 274 * -1; +#X obj 208 403 t f f; +#X obj 206 86 pack f f f; +#X obj 206 113 unpack f f f; +#X obj 237 160 t f f; +#X floatatom 363 131 5 0 0 0 - - -; +#X floatatom 298 149 5 0 0 0 - - -; +#X connect 0 0 14 0; +#X connect 1 0 15 0; +#X connect 2 0 13 0; +#X connect 3 0 15 0; +#X connect 5 0 16 0; +#X connect 7 0 16 1; +#X connect 7 0 20 0; +#X connect 9 0 16 2; +#X connect 9 0 19 0; +#X connect 13 0 3 0; +#X connect 13 1 1 0; +#X connect 14 0 1 1; +#X connect 15 1 11 0; +#X connect 16 0 17 0; +#X connect 17 0 2 0; +#X connect 17 1 18 0; +#X connect 17 2 0 1; +#X connect 18 0 0 0; +#X connect 18 1 2 1; +#X restore 54 462 pd scale_it; +#X obj 224 302 line; +#X obj 40 242 t f f f; +#X obj 54 650 outlet; +#X obj 259 513 outlet; +#X obj 222 221 spigot; +#X obj 168 56 t b b; +#X msg 254 189 0; +#X msg 167 181 1; +#X obj 517 298 line; +#X obj 517 227 spigot; +#X obj 495 61 t b b; +#X msg 559 71 0; +#X obj 481 518 outlet; +#X obj 217 181 f; +#X obj 180 152 t b b; +#X msg 455 192 1; +#X obj 505 192 f; +#X obj 468 163 t b b; +#X obj 88 342 t f f b f; +#X obj 382 364 t f f b f; +#X msg 224 273 \$1 \$2; +#X msg 516 276 \$1 \$2; +#X text 96 648 scaled value; +#X text 524 517 maximum unscaled value; +#X text 309 515 minimum unscaled value; +#X text 55 28 unscaled values; +#X obj 509 106 sel 0; +#X obj 156 101 sel 0; +#X obj 54 604 expr $f1*($f3-$f2)+$f2; +#X obj 168 127 delay; +#X obj 534 129 delay; +#X obj 224 246 pack f \$4; +#X obj 518 251 pack f \$4; +#X obj 55 563 pack f \$1 \$2; +#X obj 156 79 f \$3; +#X obj 509 84 f \$3; +#X obj 93 274 moses 1e+009; +#X obj 345 315 moses -1e+009; +#X obj 223 326 t f f; +#X obj 527 348 t f f; +#X msg 352 221 -1e+009; +#X obj 327 25 inlet; +#X msg 292 188 1e+009; +#X msg 323 263 stop; +#X connect 1 0 4 0; +#X connect 2 0 36 0; +#X connect 3 0 39 1; +#X connect 3 0 41 0; +#X connect 4 0 2 0; +#X connect 4 1 39 0; +#X connect 4 2 40 0; +#X connect 7 0 34 0; +#X connect 8 0 37 0; +#X connect 8 1 9 0; +#X connect 9 0 7 1; +#X connect 10 0 7 1; +#X connect 11 0 40 1; +#X connect 11 0 42 0; +#X connect 12 0 35 0; +#X connect 13 0 38 0; +#X connect 13 1 14 0; +#X connect 14 0 12 1; +#X connect 16 0 7 0; +#X connect 17 0 16 0; +#X connect 17 1 10 0; +#X connect 18 0 12 1; +#X connect 19 0 12 0; +#X connect 20 0 19 0; +#X connect 20 1 18 0; +#X connect 21 0 2 1; +#X connect 21 1 3 0; +#X connect 21 2 8 0; +#X connect 21 3 16 1; +#X connect 22 0 2 2; +#X connect 22 1 11 0; +#X connect 22 2 13 0; +#X connect 22 3 19 1; +#X connect 23 0 3 0; +#X connect 24 0 11 0; +#X connect 29 1 33 0; +#X connect 30 1 32 0; +#X connect 31 0 5 0; +#X connect 32 0 17 0; +#X connect 33 0 20 0; +#X connect 34 0 23 0; +#X connect 35 0 24 0; +#X connect 36 0 31 0; +#X connect 37 0 30 0; +#X connect 38 0 29 0; +#X connect 39 0 21 0; +#X connect 39 1 16 0; +#X connect 40 0 19 0; +#X connect 40 1 22 0; +#X connect 41 0 2 1; +#X connect 41 1 6 0; +#X connect 42 0 2 2; +#X connect 42 1 15 0; +#X connect 43 0 40 1; +#X connect 44 0 43 0; +#X connect 44 0 45 0; +#X connect 44 0 46 0; +#X connect 45 0 39 1; +#X connect 46 0 32 0; +#X connect 46 0 3 0; +#X connect 46 0 11 0; +#X connect 46 0 33 0; diff --git a/scale.auto-help.pd b/scale.auto-help.pd new file mode 100644 index 0000000..32d7f96 --- /dev/null +++ b/scale.auto-help.pd @@ -0,0 +1,85 @@ +#N canvas 630 22 493 780 10; +#X floatatom 26 76 5 0 0 0 - - -; +#X floatatom 26 140 0 0 0 0 - - -; +#X floatatom 177 244 5 0 0 1 min - -; +#X obj 161 301 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X floatatom 195 155 0 0 0 0 - - -; +#X floatatom 342 155 0 0 0 0 - - -; +#X obj 258 86 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X floatatom 136 363 5 0 0 0 - - -; +#X obj 161 416 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X msg 186 361 reset; +#X msg 239 361 bang; +#X text 14 211 You can also set the output min and max using the 2nd +and 3rd inlets:; +#X floatatom 195 260 5 0 0 1 max - -; +#X floatatom 117 250 5 0 0 0 - - -; +#X obj 295 361 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 14 322 The [reset( message or banging the 4th inlet resets +the stored max and min to zero. 0 disables the auto-tracking \, 1 re-enables +it:; +#X floatatom 81 505 5 0 0 0 - - -; +#X obj 130 630 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 300 532 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 215 579 pack float float; +#X msg 148 500 save; +#X msg 215 600 set load \$1 \$2; +#X msg 150 523 load 1 11; +#X msg 323 531 bang; +#X text 18 23 Description: scales a stream of numbers based on an output +range set as arguments \, and an input range which is set dynamically. +; +#X text 18 678 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 235 693 released under the GNU GPL; +#X text 13 181 If you use [scale.auto] with no arguments \, then the +output range defaults to 0-1.; +#X text 16 453 The dump message allow [scale.auto] to output the min +and max of the input data. this allow user to save this data in order +to load the same calibration with a loadbang :; +#X text 20 664 Based on [autoscale] from the mapping library; +#X obj 26 110 scale.auto; +#X obj 119 88 unpack f f; +#X floatatom 119 112 5 0 0 0 - - -; +#X floatatom 157 111 5 0 0 0 - - -; +#X obj 118 65 route input_range; +#X obj 158 393 scale.auto; +#X obj 158 278 scale.auto; +#X obj 342 125 scale.auto -4095 4095; +#X obj 195 125 scale.auto -0.01 0.01; +#X obj 127 556 scale.auto 0 1 ______________; +#X connect 0 0 30 0; +#X connect 2 0 36 1; +#X connect 6 0 37 0; +#X connect 6 0 38 0; +#X connect 7 0 35 0; +#X connect 9 0 35 0; +#X connect 10 0 35 3; +#X connect 12 0 36 2; +#X connect 13 0 36 0; +#X connect 14 0 35 3; +#X connect 16 0 39 0; +#X connect 18 0 39 3; +#X connect 19 0 21 0; +#X connect 20 0 39 0; +#X connect 21 0 22 0; +#X connect 22 0 39 0; +#X connect 23 0 39 3; +#X connect 30 0 1 0; +#X connect 30 3 34 0; +#X connect 31 0 32 0; +#X connect 31 1 33 0; +#X connect 34 0 31 0; +#X connect 35 0 8 0; +#X connect 36 0 3 0; +#X connect 37 0 5 0; +#X connect 38 0 4 0; +#X connect 39 0 17 0; +#X connect 39 1 19 0; +#X connect 39 2 19 1; diff --git a/scale.auto.pd b/scale.auto.pd new file mode 100644 index 0000000..7ec5040 --- /dev/null +++ b/scale.auto.pd @@ -0,0 +1,148 @@ +#N canvas 164 299 786 551 10; +#X obj 5 20 inlet; +#X obj 112 424 outlet; +#X obj 112 153 trigger float float float bang bang; +#X obj 112 321 expr (($f1 - $f2) * (($f5 - $f4) / ($f3 - $f2))) + $f4 +; +#X text 2 446 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 219 461 released under the GNU GPL; +#X obj 368 20 inlet; +#X obj 469 20 inlet; +#X text 335 6 output min; +#X text 436 6 output max; +#X text 44 21 data to be scaled; +#X obj 522 20 inlet reset; +#N canvas 0 22 462 312 output 0; +#X obj 32 24 inlet; +#X obj 334 24 inlet; +#X obj 22 273 outlet; +#X obj 338 274 outlet; +#X text 78 273 min; +#X text 74 25 min; +#X text 380 26 max; +#X text 386 274 max; +#X obj 69 54 loadbang; +#X obj 37 167 expr if ($f1 == $f2 \, 0 \, $f1) \; if ($f1 == $f2 \, +1 \, $f2); +#X obj 69 77 trigger 0 bang; +#X text 183 76 [float_argument] doesn't output 0 on; +#X text 183 88 bang \, so send the 0 here.; +#X obj 37 135 init.df \$1 0; +#X obj 235 135 init.df \$2 1; +#X connect 0 0 13 0; +#X connect 1 0 14 0; +#X connect 8 0 10 0; +#X connect 9 0 2 0; +#X connect 9 1 3 0; +#X connect 10 0 13 0; +#X connect 10 1 14 0; +#X connect 13 0 9 0; +#X connect 14 0 9 1; +#X restore 391 283 pd output range; +#N canvas 141 552 417 248 track 0; +#X obj 168 22 inlet; +#X obj 38 135 outlet; +#X obj 279 22 inlet; +#X obj 168 135 outlet; +#X obj 38 22 inlet; +#X obj 168 108 scale.track.max; +#X obj 38 108 scale.track.min; +#X connect 0 0 5 0; +#X connect 2 0 5 2; +#X connect 2 0 6 2; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 1 0; +#X restore 191 290 pd track changes; +#X obj 370 153 trigger float bang bang; +#N canvas 634 182 470 320 gate 0; +#X obj 74 268 outlet; +#X obj 316 266 outlet; +#X obj 323 37 inlet; +#X msg 345 175 0; +#X msg 374 175 1; +#X obj 77 204 spigot 1; +#X obj 316 204 spigot 0; +#X msg 105 175 0; +#X msg 134 175 1; +#X obj 243 70 select 1 0; +#X obj 76 39 route float; +#X obj 76 15 inlet; +#X connect 2 0 9 0; +#X connect 3 0 6 1; +#X connect 4 0 6 1; +#X connect 5 0 0 0; +#X connect 6 0 1 0; +#X connect 7 0 5 1; +#X connect 8 0 5 1; +#X connect 9 0 3 0; +#X connect 9 0 8 0; +#X connect 9 1 4 0; +#X connect 9 1 7 0; +#X connect 10 0 5 0; +#X connect 10 0 6 0; +#X connect 11 0 10 0; +#X restore 154 81 pd gate; +#X obj 522 39 route float bang; +#X obj 175 424 outlet; +#X obj 238 424 outlet; +#X obj 175 398 f; +#X obj 238 399 f; +#X text 192 135 track mode; +#X text 396 136 run mode; +#X obj 16 224 unpack float float; +#X obj 16 198 trigger list bang; +#X obj 5 347 trigger bang bang; +#X obj 5 60 route save load reset; +#X obj 439 426 outlet; +#X obj 430 358 pack f f; +#X text 417 458 $Author: eighthave $; +#X text 417 445 $Revision: 1.6 $$Date: 2006/12/24 06:06:41 $; +#X msg 432 380 output_range \$1 \$2; +#X obj 305 360 pack f f; +#X msg 307 382 input_range \$1 \$2; +#X text 547 369 <-- temporarily added this inlet; +#X connect 0 0 26 0; +#X connect 2 0 3 0; +#X connect 2 1 13 0; +#X connect 2 2 13 1; +#X connect 2 3 12 0; +#X connect 2 4 12 1; +#X connect 3 0 1 0; +#X connect 6 0 12 0; +#X connect 7 0 12 1; +#X connect 11 0 16 0; +#X connect 12 0 3 3; +#X connect 12 0 28 0; +#X connect 12 1 3 4; +#X connect 12 1 28 1; +#X connect 13 0 3 1; +#X connect 13 0 19 1; +#X connect 13 0 32 0; +#X connect 13 1 3 2; +#X connect 13 1 20 1; +#X connect 13 1 32 1; +#X connect 14 0 3 0; +#X connect 14 1 12 0; +#X connect 14 2 12 1; +#X connect 15 0 2 0; +#X connect 15 1 14 0; +#X connect 16 0 15 1; +#X connect 16 1 13 2; +#X connect 19 0 17 0; +#X connect 20 0 18 0; +#X connect 23 0 13 0; +#X connect 23 1 13 1; +#X connect 24 0 23 0; +#X connect 24 1 13 2; +#X connect 25 0 19 0; +#X connect 25 1 20 0; +#X connect 26 0 25 0; +#X connect 26 1 24 0; +#X connect 26 2 13 2; +#X connect 26 3 15 0; +#X connect 28 0 31 0; +#X connect 31 0 27 0; +#X connect 32 0 33 0; +#X connect 33 0 27 0; diff --git a/scale.linear-help.pd b/scale.linear-help.pd new file mode 100644 index 0000000..ebc7cf7 --- /dev/null +++ b/scale.linear-help.pd @@ -0,0 +1,27 @@ +#N canvas 271 139 465 448 10; +#X obj 30 141 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 9 256; +#X obj 30 231 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 -0.929412 256; +#X text 87 156 Input floats between 0 and 255 is scaled and output +between -1 and 1; +#X text 206 200 arg1 is input low value \;; +#X text 206 217 arg2 is input high value \;; +#X text 206 235 arg3 is output low value \;; +#X text 208 252 arg4 is output high value \;; +#X text 210 270 All arguments are necessary.; +#X obj 32 306 nbx 5 14 0 255 0 0 empty empty empty 0 -6 0 10 -262144 +-1 -1 0 256; +#X obj 32 396 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 85 330 hi and low can be reversed to invert mapping!; +#X text 15 17 Description: maps a range of input values to different +range of output values.; +#X obj 30 186 scale.linear 0 255 -1 1; +#X obj 32 351 scale.linear 0 255 255 0; +#X text 15 71 Comments: fixed by Jamie Bullock 2007; +#X text 16 52 Version: 2007/06/07; +#X connect 0 0 12 0; +#X connect 8 0 13 0; +#X connect 12 0 1 0; +#X connect 13 0 9 0; diff --git a/scale.linear.pd b/scale.linear.pd new file mode 100644 index 0000000..416c2b8 --- /dev/null +++ b/scale.linear.pd @@ -0,0 +1,32 @@ +#N canvas 268 116 473 379 10; +#X text 7 6 Made by Thomas Ouellet Fredericks for the ID collective +; +#X text 9 26 tom@danslchamp.org; +#X text 238 29 21 novembre 2004; +#X obj 19 124 inlet; +#X obj 19 326 outlet; +#X text 204 111 max input; +#X text 111 110 min input; +#X text 389 110 max output; +#X text 296 109 min output; +#X obj 112 125 inlet; +#X obj 205 128 inlet; +#X obj 298 127 inlet; +#X obj 392 129 inlet; +#X obj 112 163 init.lf \$1; +#X obj 205 162 init.lf \$2; +#X obj 298 162 init.lf \$3; +#X obj 392 162 init.lf \$4; +#X obj 19 234 expr ((($f1 - $f2) / ($f2 - $f3)) * ($f4 - $f5)) + $f4 +; +#X text 6 50 fixed by Jamie Bullock 2007; +#X connect 3 0 17 0; +#X connect 9 0 13 0; +#X connect 10 0 14 0; +#X connect 11 0 15 0; +#X connect 12 0 16 0; +#X connect 13 0 17 1; +#X connect 14 0 17 2; +#X connect 15 0 17 3; +#X connect 16 0 17 4; +#X connect 17 0 4 0; diff --git a/scale.loga-help.pd b/scale.loga-help.pd new file mode 100644 index 0000000..2ab7235 --- /dev/null +++ b/scale.loga-help.pd @@ -0,0 +1,19 @@ +#N canvas 535 316 589 259 10; +#X floatatom 40 203 5 0 0 0 - - -; +#X obj 43 133 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 8300 1; +#X msg 40 111 0.5; +#X obj 40 85 loadbang; +#X text 190 132 <- input: 0 to 1 (linear); +#X text 42 44 Desription: Linear to logarithmic conversion.; +#X text 145 74 The and values must be > 0; +#X text 146 61 Arguments: ; +#X obj 40 164 scale.loga 1 128; +#X obj 43 225 hsl 128 15 1 128 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 2283 1; +#X text 189 222 <- output: 1 to 128 (log) in this example; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 8 0 0 0; diff --git a/scale.loga.pd b/scale.loga.pd new file mode 100644 index 0000000..f427b27 --- /dev/null +++ b/scale.loga.pd @@ -0,0 +1,32 @@ +#N canvas 562 462 392 226 10; +#X obj 20 155 exp; +#X obj 20 107 *; +#X obj 20 130 +; +#X obj 98 87 log; +#X obj 194 84 log; +#X obj 123 123 t b f; +#X obj 123 145 -; +#X obj 20 183 outlet; +#X obj 20 19 inlet; +#X obj 98 23 inlet; +#X obj 194 24 inlet; +#X obj 256 24 loadbang; +#X obj 117 62 \$1; +#X obj 213 59 \$2; +#X msg 219 176 version 0.0.1; +#X connect 0 0 7 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 2 1; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 5 1 6 1; +#X connect 6 0 1 1; +#X connect 8 0 1 0; +#X connect 9 0 3 0; +#X connect 10 0 4 0; +#X connect 11 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; diff --git a/scale.symbol-help.pd b/scale.symbol-help.pd new file mode 100644 index 0000000..978ef5f --- /dev/null +++ b/scale.symbol-help.pd @@ -0,0 +1,20 @@ +#N canvas 284 335 740 433 10; +#X obj 123 295 print <=5; +#X obj 225 295 print >5; +#X msg 141 196 symbol abcd; +#X msg 93 154 symbol abcdefghikl; +#X msg 334 171 symbol test.help; +#X obj 332 284 print A; +#X obj 405 282 print B; +#X text 45 19 Description: Resizes a symbol to a limited number of +characters.; +#X text 454 249 <- You can start chopping from the end.; +#X obj 122 250 scale.symbol 5; +#X obj 340 251 scale.symbol -5; +#X connect 2 0 9 0; +#X connect 3 0 9 0; +#X connect 4 0 10 0; +#X connect 9 0 0 0; +#X connect 9 1 1 0; +#X connect 10 0 5 0; +#X connect 10 1 6 0; diff --git a/scale.symbol.pd b/scale.symbol.pd new file mode 100644 index 0000000..4cb3801 --- /dev/null +++ b/scale.symbol.pd @@ -0,0 +1,60 @@ +#N canvas 386 212 812 647 10; +#X obj 139 30 inlet; +#X obj 61 540 outlet; +#X obj 138 276 list split \$1; +#X obj 247 533 outlet; +#X obj 257 332 t a b; +#X msg 520 333 symbol; +#X obj 406 117 f \$1; +#X obj 406 143 moses 0; +#X obj 404 214 spigot; +#X obj 456 168 t f b; +#X msg 486 190 0; +#X obj 470 271 +; +#X obj 396 169 t f b; +#X msg 445 190 1; +#X obj 43 244 demultiplex 0 1; +#X obj 219 229 t f f; +#X obj 256 256 > 0; +#X obj 45 307 t a b; +#X obj 459 41 inlet; +#X obj 139 142 convert.symbol2chars; +#X obj 305 456 convert.list2symbol; +#X obj 43 461 convert.list2symbol; +#X obj 158 90 t a b; +#X obj 218 174 t a b; +#X connect 0 0 22 0; +#X connect 2 0 21 0; +#X connect 2 1 20 0; +#X connect 2 2 4 0; +#X connect 4 0 21 0; +#X connect 4 1 3 0; +#X connect 5 0 20 1; +#X connect 5 0 21 1; +#X connect 6 0 7 0; +#X connect 7 0 12 0; +#X connect 7 1 9 0; +#X connect 8 0 11 0; +#X connect 9 0 15 0; +#X connect 9 1 10 0; +#X connect 10 0 8 1; +#X connect 11 0 15 0; +#X connect 12 0 11 1; +#X connect 12 1 13 0; +#X connect 13 0 8 1; +#X connect 14 0 17 0; +#X connect 14 1 2 0; +#X connect 15 0 2 1; +#X connect 15 1 16 0; +#X connect 16 0 14 1; +#X connect 17 0 21 0; +#X connect 17 1 3 0; +#X connect 18 0 6 1; +#X connect 19 0 23 0; +#X connect 19 1 8 0; +#X connect 20 0 3 0; +#X connect 21 0 1 0; +#X connect 22 0 19 0; +#X connect 22 1 6 0; +#X connect 23 0 14 0; +#X connect 23 1 5 0; diff --git a/scale.track.max-help.pd b/scale.track.max-help.pd new file mode 100644 index 0000000..02c8071 --- /dev/null +++ b/scale.track.max-help.pd @@ -0,0 +1,32 @@ +#N canvas 358 102 486 352 10; +#X obj 2 -8 cnv 15 450 20 empty empty [track_max] 2 11 1 18 -233017 +-66577 0; +#X floatatom 97 79 5 0 0 0 - - -; +#X msg 155 61 bang; +#X floatatom 97 142 5 0 0 0 - - -; +#X text 190 62 <-- bang to reset; +#X obj 166 86 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X text 186 86 <-- stop/start tracking; +#X text 7 26 Track maximum value:; +#X obj 97 112 track_max; +#X floatatom 97 229 5 0 0 0 - - -; +#X msg 176 211 bang; +#X floatatom 97 292 5 0 0 0 - - -; +#X text 211 212 <-- bang to reset; +#X obj 187 236 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 207 236 <-- stop/start tracking; +#X text 14 173 The argument and/or the second inlet set the initial +minimum value.; +#X floatatom 136 229 5 0 0 0 - - -; +#X obj 97 262 scale.track.max 72; +#X connect 1 0 8 0; +#X connect 2 0 8 2; +#X connect 5 0 8 2; +#X connect 8 0 3 0; +#X connect 9 0 17 0; +#X connect 10 0 17 2; +#X connect 13 0 17 2; +#X connect 16 0 17 1; +#X connect 17 0 11 0; diff --git a/scale.track.max.pd b/scale.track.max.pd new file mode 100644 index 0000000..450bfa0 --- /dev/null +++ b/scale.track.max.pd @@ -0,0 +1,35 @@ +#N canvas 353 201 469 397 10; +#X obj 83 269 outlet; +#X obj 294 7 inlet; +#X obj 37 7 inlet; +#X obj 294 27 route float bang; +#X obj 58 92 select 0; +#X msg 58 111 0; +#X msg 109 111 1; +#X obj 177 7 inlet; +#X obj 224 137 loadbang; +#X obj 37 207 moses; +#X obj 37 143 spigot 1; +#X text 59 235 max; +#X obj 83 234 + 1e-09; +#X text 33 292 1e-09 is added so [moses] doesn't output the current +maximum value again.; +#X text 229 347 released under the GNU GPL; +#X text 12 333 (C) Copyright 2006 Hans-Christoph Steiner +; +#X obj 177 164 init.df \$1 -9.99e+37; +#X connect 1 0 3 0; +#X connect 2 0 10 0; +#X connect 3 0 4 0; +#X connect 3 1 16 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 10 1; +#X connect 6 0 10 1; +#X connect 7 0 16 0; +#X connect 8 0 16 0; +#X connect 9 1 12 0; +#X connect 10 0 9 0; +#X connect 12 0 0 0; +#X connect 12 0 9 1; +#X connect 16 0 9 1; diff --git a/scale.track.min-help.pd b/scale.track.min-help.pd new file mode 100644 index 0000000..f464b2e --- /dev/null +++ b/scale.track.min-help.pd @@ -0,0 +1,31 @@ +#N canvas 706 97 486 352 10; +#X floatatom 97 79 5 0 0 0 - - -; +#X msg 216 61 bang; +#X floatatom 97 142 5 0 0 0 - - -; +#X text 251 62 <-- bang to reset; +#X obj 227 86 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X text 247 86 <-- stop/start tracking; +#X floatatom 97 229 5 0 0 0 - - -; +#X msg 238 205 bang; +#X floatatom 97 292 5 0 0 0 - - -; +#X text 273 206 <-- bang to reset; +#X obj 249 230 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 269 230 <-- stop/start tracking; +#X text 50 181 The argument and/or the second inlet set the initial +minimum value.; +#X floatatom 143 229 5 0 0 0 - - -; +#X obj 97 262 scale.track.min -234; +#X text 7 26 Description: Tracks minimum value; +#X text 79 320 Based on track_min from the mapping library; +#X obj 97 112 scale.track.min; +#X connect 0 0 17 0; +#X connect 1 0 17 2; +#X connect 4 0 17 2; +#X connect 6 0 14 0; +#X connect 7 0 14 2; +#X connect 10 0 14 2; +#X connect 13 0 14 1; +#X connect 14 0 8 0; +#X connect 17 0 2 0; diff --git a/scale.track.min.pd b/scale.track.min.pd new file mode 100644 index 0000000..10ef5d4 --- /dev/null +++ b/scale.track.min.pd @@ -0,0 +1,34 @@ +#N canvas 677 121 483 383 10; +#X obj 37 303 outlet; +#X text 75 268 min; +#X obj 37 268 float; +#X obj 294 7 inlet; +#X obj 37 7 inlet; +#X obj 294 27 route float bang; +#X obj 58 92 select 0; +#X msg 58 111 0; +#X msg 109 111 1; +#X obj 177 7 inlet; +#X obj 224 137 loadbang; +#X obj 37 207 moses; +#X obj 37 143 spigot 1; +#X text 229 347 released under the GNU GPL; +#X text 12 333 (C) Copyright 2006 Hans-Christoph Steiner +; +#X obj 177 164 init.df \$1 9.99e+37; +#X connect 2 0 0 0; +#X connect 2 0 11 1; +#X connect 3 0 5 0; +#X connect 4 0 12 0; +#X connect 5 0 6 0; +#X connect 5 1 15 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 12 1; +#X connect 8 0 12 1; +#X connect 9 0 15 0; +#X connect 10 0 15 0; +#X connect 11 0 2 0; +#X connect 12 0 11 0; +#X connect 15 0 11 1; +#X connect 15 0 2 1; diff --git a/script.lua-help.pd b/script.lua-help.pd new file mode 100644 index 0000000..77a2553 --- /dev/null +++ b/script.lua-help.pd @@ -0,0 +1,45 @@ +#N canvas 691 102 589 665 10; +#X msg 340 16 view 1; +#X msg 326 -6 class hello; +#X msg 316 -32 reload; +#X msg 221 -65 yahoo 4 5 65 yo; +#X obj 20 -68 gemhead; +#X obj 21 -42 spigot; +#X obj 73 -67 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 66 -37 gems.win 320 240; +#X msg 408 365 view 1; +#X msg 155 322 toto 1 2 3; +#X msg 158 301 yahoo 4 5 65 yo; +#X obj 110 390 script.lua @class lua_test @args foo 1 2 3 @luax 0; +#X obj 70 36 script.lua @class luax_test @args foo 1 2 3; +#X text 74 -141 Description: Wrapper for [luax] and pdlua classes. +; +#X text 73 -125 Pdlua allows one to program pd objects in lua scripts. +; +#X text 73 -90 Defaults to a file name ending with "pd_luax" (using +[luax]); +#X msg 112 453; +#X text 41 256 One can also use the more efficient [filename]-style +for loading lua classes without duplicating the classes in RAM. To +reload a class in this style \, you must restart pd.; +#X text 404 -9 <-- loads an other class; +#X text 367 -30 <-- reloads the class; +#X msg 71 91; +#X obj 72 63 flow.prepend; +#X obj 113 425 flow.prepend; +#X connect 0 0 12 1; +#X connect 1 0 12 1; +#X connect 2 0 12 1; +#X connect 3 0 12 0; +#X connect 4 0 5 0; +#X connect 5 0 12 0; +#X connect 6 0 5 1; +#X connect 6 0 7 0; +#X connect 8 0 11 1; +#X connect 9 0 11 0; +#X connect 10 0 11 0; +#X connect 11 0 22 0; +#X connect 12 0 21 0; +#X connect 21 0 20 0; +#X connect 22 0 16 0; diff --git a/script.lua.pd b/script.lua.pd new file mode 100644 index 0000000..deec5de --- /dev/null +++ b/script.lua.pd @@ -0,0 +1,111 @@ +#N canvas 375 49 1069 809 10; +#X obj 3 110 inlet; +#X obj 427 63 inlet; +#X obj 182 182 dollarg; +#X obj 182 206 init.post.dollarg; +#X obj 59 791 outlet; +#X obj 620 655 outlet; +#X msg 256 437 clear; +#X obj 10 282 symbol default; +#X obj 622 593 symbol; +#X msg 620 619 class \$1; +#X obj 622 549 t b; +#X text 656 549 info; +#X obj 198 730 s pd-\$0-dyn; +#X obj 684 76 cnv 15 100 100 empty empty empty 20 12 0 14 -258113 -66577 +0; +#N canvas 0 22 538 388 \$0-dyn 0; +#X obj 100 100 receive 1064-in; +#X obj 100 200 lua_test foo 1 2 3; +#X obj 100 300 send 1064-out; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X restore 686 80 pd \$0-dyn; +#X text 687 60 DYNAMIC PATCH; +#X obj 36 441 list append; +#X obj 39 490 list.trim; +#X obj 808 321 sel 0 1; +#X msg 841 344 1; +#X msg 806 343 0; +#X obj 807 401 s pd-\$0-dyn; +#X msg 810 376 vis \$1; +#X obj 829 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 58 762 r \$0-out; +#X obj 4 165 s \$0-in; +#X obj 260 514 symbol \$0-out; +#X obj 260 465 symbol \$0-in; +#X obj 8 57 lua; +#X text 55 55 <-- created before the dynamic subpatch; +#X obj 62 420 flow.prepend luax; +#X obj 32 732 debug.print script.lua; +#X obj 165 87 loadbang; +#X obj 18 310 spigot; +#X msg 168 141 1; +#X text 16 216 lua class/file name; +#X text 115 442 args; +#X msg -26 524 connect 0 0 1 0 \, connect 1 0 2 0; +#X obj 35 699 t a; +#X obj 10 338 t b b s b b; +#X obj 392 272 t b; +#X msg 260 485 obj 100 100 receive \$1; +#X msg 261 534 obj 100 300 send \$1; +#X obj 38 468 flow.prepend obj 100 200; +#X text 472 232 leftover attributes go to lua; +#X obj 31 400 demultiplex 0 1; +#X obj 151 115 t b b b b; +#X msg 217 141 luax 1 \, verbose 0; +#X obj 179 236 route luax class info verbose args view reload; +#X connect 0 0 25 0; +#X connect 1 0 48 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 48 0; +#X connect 6 0 38 0; +#X connect 7 0 33 0; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X connect 10 0 8 0; +#X connect 16 0 43 0; +#X connect 17 0 38 0; +#X connect 18 0 20 0; +#X connect 18 1 19 0; +#X connect 18 2 19 0; +#X connect 19 0 22 0; +#X connect 20 0 22 0; +#X connect 22 0 21 0; +#X connect 23 0 18 0; +#X connect 24 0 4 0; +#X connect 26 0 42 0; +#X connect 27 0 41 0; +#X connect 30 0 16 0; +#X connect 32 0 46 0; +#X connect 33 0 39 0; +#X connect 34 0 33 1; +#X connect 37 0 38 0; +#X connect 38 0 31 0; +#X connect 38 0 12 0; +#X connect 39 0 37 0; +#X connect 39 1 26 0; +#X connect 39 2 45 0; +#X connect 39 3 27 0; +#X connect 39 4 6 0; +#X connect 40 0 7 0; +#X connect 41 0 38 0; +#X connect 42 0 38 0; +#X connect 43 0 17 0; +#X connect 45 0 16 0; +#X connect 45 1 30 0; +#X connect 46 0 7 0; +#X connect 46 1 34 0; +#X connect 46 2 2 0; +#X connect 46 3 47 0; +#X connect 47 0 48 0; +#X connect 48 0 45 1; +#X connect 48 1 7 0; +#X connect 48 2 10 0; +#X connect 48 3 31 1; +#X connect 48 4 16 1; +#X connect 48 5 18 0; +#X connect 48 6 40 0; +#X connect 48 7 25 0; diff --git a/seq.8x8_-help.pd b/seq.8x8_-help.pd new file mode 100644 index 0000000..9034894 --- /dev/null +++ b/seq.8x8_-help.pd @@ -0,0 +1,138 @@ +#N canvas 119 7 800 693 10; +#X obj 122 414 *~ 0; +#X obj 122 373 mtof; +#X obj 122 333 loadbang; +#X obj 184 414 *~ 0; +#X obj 184 373 mtof; +#X obj 184 333 loadbang; +#X obj 246 414 *~ 0; +#X obj 246 373 mtof; +#X obj 246 333 loadbang; +#X obj 308 414 *~ 0; +#X obj 308 373 mtof; +#X obj 308 333 loadbang; +#X obj 296 479 +~; +#X obj 271 522 mix.out_~; +#X msg 233 254 \$8 \$7 \$6 \$5 \$4 \$3 \$2 \$1; +#X obj 372 412 *~ 0; +#X obj 372 371 mtof; +#X obj 372 331 loadbang; +#X obj 434 412 *~ 0; +#X obj 434 371 mtof; +#X obj 434 331 loadbang; +#X obj 496 412 *~ 0; +#X obj 496 371 mtof; +#X obj 496 331 loadbang; +#X obj 558 412 *~ 0; +#X obj 558 371 mtof; +#X obj 558 331 loadbang; +#X obj 235 284 unpack f f f f f f f f; +#X msg 292 -65 6 1 0 0 1 0 0 1; +#X msg 122 353 60; +#X msg 184 353 62; +#X msg 246 353 64; +#X msg 308 353 65; +#X msg 371 351 67; +#X msg 434 351 69; +#X msg 496 351 71; +#X msg 558 351 72; +#X obj 122 393 osc~; +#X obj 184 393 osc~; +#X obj 246 393 osc~; +#X obj 308 393 osc~; +#X obj 372 391 osc~; +#X obj 434 391 osc~; +#X obj 496 391 osc~; +#X obj 558 391 osc~; +#X floatatom 42 34 5 0 0 0 - - -; +#X text 406 -66 column number followed by the eigth values of the toggles. +; +#X obj 14 -31 timing.tempo_ 120 1 8; +#X obj 15 -61 loadbang; +#X text 85 -90 Description: Eight 8 step step beat sequencers.; +#X obj 109 75 seq.8x8_; +#X obj 449 227 flow.prepend set; +#X msg 451 253 1 0 0 0 0 1 1 0 1; +#X obj 23 254 flow.prepend set; +#X msg 25 280 0 0 0 1 1 0 0 0; +#N canvas 0 0 458 308 randomize 0; +#X obj 173 136 convert.byte2binary; +#X obj 136 65 t b f; +#X obj 68 136 random 8; +#X obj 68 157 + 1; +#X floatatom 72 181 5 0 0 0 - - -; +#X obj 136 23 inlet; +#X obj 136 253 outlet; +#X obj 125 215 list append; +#X connect 0 0 7 1; +#X connect 1 0 2 0; +#X connect 1 1 0 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 1 0; +#X connect 7 0 6 0; +#X restore 470 105 pd randomize; +#X floatatom 474 68 5 0 0 0 - - -; +#X connect 0 0 12 0; +#X connect 1 0 37 0; +#X connect 2 0 29 0; +#X connect 3 0 12 0; +#X connect 4 0 38 0; +#X connect 5 0 30 0; +#X connect 6 0 12 1; +#X connect 7 0 39 0; +#X connect 8 0 31 0; +#X connect 9 0 12 1; +#X connect 10 0 40 0; +#X connect 11 0 32 0; +#X connect 12 0 13 0; +#X connect 12 0 13 1; +#X connect 14 0 27 0; +#X connect 15 0 12 0; +#X connect 16 0 41 0; +#X connect 17 0 33 0; +#X connect 18 0 12 1; +#X connect 19 0 42 0; +#X connect 20 0 34 0; +#X connect 21 0 12 1; +#X connect 22 0 43 0; +#X connect 23 0 35 0; +#X connect 24 0 12 0; +#X connect 25 0 44 0; +#X connect 26 0 36 0; +#X connect 27 0 0 1; +#X connect 27 1 3 1; +#X connect 27 2 6 1; +#X connect 27 3 9 1; +#X connect 27 4 15 1; +#X connect 27 5 18 1; +#X connect 27 6 21 1; +#X connect 27 7 24 1; +#X connect 28 0 50 1; +#X connect 29 0 1 0; +#X connect 30 0 4 0; +#X connect 31 0 7 0; +#X connect 32 0 10 0; +#X connect 33 0 16 0; +#X connect 34 0 19 0; +#X connect 35 0 22 0; +#X connect 36 0 25 0; +#X connect 37 0 0 0; +#X connect 38 0 3 0; +#X connect 39 0 6 0; +#X connect 40 0 9 0; +#X connect 41 0 15 0; +#X connect 42 0 18 0; +#X connect 43 0 21 0; +#X connect 44 0 24 0; +#X connect 45 0 50 0; +#X connect 47 0 45 0; +#X connect 48 0 47 0; +#X connect 50 0 14 0; +#X connect 50 0 53 0; +#X connect 51 0 52 0; +#X connect 53 0 54 0; +#X connect 55 0 51 0; +#X connect 55 0 50 1; +#X connect 56 0 55 0; diff --git a/seq.8x8_.pd b/seq.8x8_.pd new file mode 100644 index 0000000..31803e6 --- /dev/null +++ b/seq.8x8_.pd @@ -0,0 +1,482 @@ +#N canvas 43 75 1008 730 10; +#X obj 276 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 67 362 1 \$1; +#X obj 276 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 276 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 67 382 2 \$1; +#X msg 67 402 3 \$1; +#X msg 67 422 4 \$1; +#X msg 67 443 5 \$1; +#X msg 67 503 8 \$1; +#X msg 67 483 7 \$1; +#X msg 67 463 6 \$1; +#X msg 67 524 1 \$1 \$2; +#X obj 554 23 inlet; +#X obj 554 43 route 1 2 3 4 5 6 7 8; +#X obj 111 26 inlet; +#X obj 117 67 unpack f f f f f f f f; +#X obj 294 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 130 372 1 \$1; +#X obj 294 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 294 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 130 392 2 \$1; +#X msg 130 412 3 \$1; +#X msg 130 432 4 \$1; +#X msg 130 453 5 \$1; +#X msg 130 513 8 \$1; +#X msg 130 493 7 \$1; +#X msg 130 473 6 \$1; +#X obj 135 86 unpack f f f f f f f f; +#X obj 312 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 192 373 1 \$1; +#X obj 312 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 312 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 192 393 2 \$1; +#X msg 192 413 3 \$1; +#X msg 192 433 4 \$1; +#X msg 192 454 5 \$1; +#X msg 192 514 8 \$1; +#X msg 192 494 7 \$1; +#X msg 192 474 6 \$1; +#X obj 153 105 unpack f f f f f f f f; +#X obj 330 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 256 364 1 \$1; +#X obj 330 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 330 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 256 384 2 \$1; +#X msg 256 404 3 \$1; +#X msg 256 424 4 \$1; +#X msg 256 445 5 \$1; +#X msg 256 505 8 \$1; +#X msg 256 485 7 \$1; +#X msg 256 465 6 \$1; +#X obj 171 124 unpack f f f f f f f f; +#X msg 130 553 2 \$1 \$2; +#X msg 192 573 3 \$1 \$2; +#X msg 256 583 4 \$1 \$2; +#X obj 348 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 303 386 1 \$1; +#X obj 348 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 348 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 303 406 2 \$1; +#X msg 303 426 3 \$1; +#X msg 303 446 4 \$1; +#X msg 303 467 5 \$1; +#X msg 303 527 8 \$1; +#X msg 303 507 7 \$1; +#X msg 303 487 6 \$1; +#X obj 335 67 unpack f f f f f f f f; +#X obj 366 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 376 376 1 \$1; +#X obj 366 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 366 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 376 396 2 \$1; +#X msg 376 416 3 \$1; +#X msg 376 436 4 \$1; +#X msg 376 457 5 \$1; +#X msg 376 517 8 \$1; +#X msg 376 497 7 \$1; +#X msg 376 477 6 \$1; +#X obj 353 86 unpack f f f f f f f f; +#X obj 384 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 452 371 1 \$1; +#X obj 384 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 384 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 452 391 2 \$1; +#X msg 452 411 3 \$1; +#X msg 452 431 4 \$1; +#X msg 452 452 5 \$1; +#X msg 452 512 8 \$1; +#X msg 452 492 7 \$1; +#X msg 452 472 6 \$1; +#X obj 371 105 unpack f f f f f f f f; +#X obj 402 170 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 188 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 611 338 1 \$1; +#X obj 402 206 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 224 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 242 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 260 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 278 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X obj 402 296 tgl 15 0 empty empty empty 20 7 2 8 -33289 -262144 -1 +0 1; +#X msg 608 366 2 \$1; +#X msg 608 386 3 \$1; +#X msg 608 406 4 \$1; +#X msg 608 427 5 \$1; +#X msg 608 487 8 \$1; +#X msg 608 467 7 \$1; +#X msg 608 447 6 \$1; +#X obj 389 124 unpack f f f f f f f f; +#X msg 303 548 5 \$1 \$2; +#X msg 376 557 6 \$1 \$2; +#X msg 452 571 7 \$1 \$2; +#X msg 608 565 8 \$1 \$2; +#X obj 224 844 outlet; +#X obj 221 762 data.matrix 8 8; +#X obj 263 260 cnv 10 10 15 empty \$0current empty 20 12 0 14 -258113 +-66577 0; +#X obj 16 288 s \$0current; +#X obj -16 151 mod 8; +#X obj 6 189 change; +#X obj 9 219 * 18; +#X msg 9 264 pos 263 \$1; +#X obj 9 242 + 170; +#X obj 404 786 unpack f f f f f f f f; +#X obj 345 824 sel 1; +#X obj 385 824 sel 1; +#X obj 424 823 sel 1; +#X obj 463 822 sel 1; +#X obj 502 823 sel 1; +#X obj 571 817 sel 1; +#X obj 609 817 sel 1; +#X obj 646 817 sel 1; +#X obj 278 805 t a a; +#X obj 323 847 outlet; +#X obj 374 849 outlet; +#X obj 426 849 outlet; +#X obj 474 850 outlet; +#X obj 611 843 outlet; +#X obj 566 855 outlet; +#X obj 658 836 outlet; +#X obj 517 847 outlet; +#X obj -24 645 + 1; +#X msg 265 665 element \$1 \$2 \$3; +#X msg -35 688 col \$1; +#X connect 0 0 2 0; +#X connect 1 0 9 0; +#X connect 2 0 16 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 6 0 15 0; +#X connect 7 0 14 0; +#X connect 8 0 13 0; +#X connect 9 0 16 0; +#X connect 10 0 16 0; +#X connect 11 0 16 0; +#X connect 12 0 16 0; +#X connect 13 0 16 0; +#X connect 14 0 16 0; +#X connect 15 0 16 0; +#X connect 16 0 175 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 18 1 37 0; +#X connect 18 2 54 0; +#X connect 18 3 71 0; +#X connect 18 4 91 0; +#X connect 18 5 108 0; +#X connect 18 6 125 0; +#X connect 18 7 142 0; +#X connect 19 0 151 0; +#X connect 20 0 0 0; +#X connect 20 1 1 0; +#X connect 20 2 3 0; +#X connect 20 3 4 0; +#X connect 20 4 5 0; +#X connect 20 5 6 0; +#X connect 20 6 7 0; +#X connect 20 7 8 0; +#X connect 21 0 23 0; +#X connect 22 0 30 0; +#X connect 23 0 72 0; +#X connect 24 0 31 0; +#X connect 25 0 32 0; +#X connect 26 0 33 0; +#X connect 27 0 36 0; +#X connect 28 0 35 0; +#X connect 29 0 34 0; +#X connect 30 0 72 0; +#X connect 31 0 72 0; +#X connect 32 0 72 0; +#X connect 33 0 72 0; +#X connect 34 0 72 0; +#X connect 35 0 72 0; +#X connect 36 0 72 0; +#X connect 37 0 21 0; +#X connect 37 1 22 0; +#X connect 37 2 24 0; +#X connect 37 3 25 0; +#X connect 37 4 26 0; +#X connect 37 5 27 0; +#X connect 37 6 28 0; +#X connect 37 7 29 0; +#X connect 38 0 40 0; +#X connect 39 0 47 0; +#X connect 40 0 73 0; +#X connect 41 0 48 0; +#X connect 42 0 49 0; +#X connect 43 0 50 0; +#X connect 44 0 53 0; +#X connect 45 0 52 0; +#X connect 46 0 51 0; +#X connect 47 0 73 0; +#X connect 48 0 73 0; +#X connect 49 0 73 0; +#X connect 50 0 73 0; +#X connect 51 0 73 0; +#X connect 52 0 73 0; +#X connect 53 0 73 0; +#X connect 54 0 38 0; +#X connect 54 1 39 0; +#X connect 54 2 41 0; +#X connect 54 3 42 0; +#X connect 54 4 43 0; +#X connect 54 5 44 0; +#X connect 54 6 45 0; +#X connect 54 7 46 0; +#X connect 55 0 57 0; +#X connect 56 0 64 0; +#X connect 57 0 74 0; +#X connect 58 0 65 0; +#X connect 59 0 66 0; +#X connect 60 0 67 0; +#X connect 61 0 70 0; +#X connect 62 0 69 0; +#X connect 63 0 68 0; +#X connect 64 0 74 0; +#X connect 65 0 74 0; +#X connect 66 0 74 0; +#X connect 67 0 74 0; +#X connect 68 0 74 0; +#X connect 69 0 74 0; +#X connect 70 0 74 0; +#X connect 71 0 55 0; +#X connect 71 1 56 0; +#X connect 71 2 58 0; +#X connect 71 3 59 0; +#X connect 71 4 60 0; +#X connect 71 5 61 0; +#X connect 71 6 62 0; +#X connect 71 7 63 0; +#X connect 72 0 175 0; +#X connect 73 0 175 0; +#X connect 74 0 175 0; +#X connect 75 0 77 0; +#X connect 76 0 84 0; +#X connect 77 0 143 0; +#X connect 78 0 85 0; +#X connect 79 0 86 0; +#X connect 80 0 87 0; +#X connect 81 0 90 0; +#X connect 82 0 89 0; +#X connect 83 0 88 0; +#X connect 84 0 143 0; +#X connect 85 0 143 0; +#X connect 86 0 143 0; +#X connect 87 0 143 0; +#X connect 88 0 143 0; +#X connect 89 0 143 0; +#X connect 90 0 143 0; +#X connect 91 0 75 0; +#X connect 91 1 76 0; +#X connect 91 2 78 0; +#X connect 91 3 79 0; +#X connect 91 4 80 0; +#X connect 91 5 81 0; +#X connect 91 6 82 0; +#X connect 91 7 83 0; +#X connect 92 0 94 0; +#X connect 93 0 101 0; +#X connect 94 0 144 0; +#X connect 95 0 102 0; +#X connect 96 0 103 0; +#X connect 97 0 104 0; +#X connect 98 0 107 0; +#X connect 99 0 106 0; +#X connect 100 0 105 0; +#X connect 101 0 144 0; +#X connect 102 0 144 0; +#X connect 103 0 144 0; +#X connect 104 0 144 0; +#X connect 105 0 144 0; +#X connect 106 0 144 0; +#X connect 107 0 144 0; +#X connect 108 0 92 0; +#X connect 108 1 93 0; +#X connect 108 2 95 0; +#X connect 108 3 96 0; +#X connect 108 4 97 0; +#X connect 108 5 98 0; +#X connect 108 6 99 0; +#X connect 108 7 100 0; +#X connect 109 0 111 0; +#X connect 110 0 118 0; +#X connect 111 0 145 0; +#X connect 112 0 119 0; +#X connect 113 0 120 0; +#X connect 114 0 121 0; +#X connect 115 0 124 0; +#X connect 116 0 123 0; +#X connect 117 0 122 0; +#X connect 118 0 145 0; +#X connect 119 0 145 0; +#X connect 120 0 145 0; +#X connect 121 0 145 0; +#X connect 122 0 145 0; +#X connect 123 0 145 0; +#X connect 124 0 145 0; +#X connect 125 0 109 0; +#X connect 125 1 110 0; +#X connect 125 2 112 0; +#X connect 125 3 113 0; +#X connect 125 4 114 0; +#X connect 125 5 115 0; +#X connect 125 6 116 0; +#X connect 125 7 117 0; +#X connect 126 0 128 0; +#X connect 127 0 135 0; +#X connect 128 0 146 0; +#X connect 129 0 136 0; +#X connect 130 0 137 0; +#X connect 131 0 138 0; +#X connect 132 0 141 0; +#X connect 133 0 140 0; +#X connect 134 0 139 0; +#X connect 135 0 146 0; +#X connect 136 0 146 0; +#X connect 137 0 146 0; +#X connect 138 0 146 0; +#X connect 139 0 146 0; +#X connect 140 0 146 0; +#X connect 141 0 146 0; +#X connect 142 0 126 0; +#X connect 142 1 127 0; +#X connect 142 2 129 0; +#X connect 142 3 130 0; +#X connect 142 4 131 0; +#X connect 142 5 132 0; +#X connect 142 6 133 0; +#X connect 142 7 134 0; +#X connect 143 0 175 0; +#X connect 144 0 175 0; +#X connect 145 0 175 0; +#X connect 146 0 175 0; +#X connect 148 0 165 0; +#X connect 151 0 152 0; +#X connect 151 0 174 0; +#X connect 152 0 153 0; +#X connect 153 0 155 0; +#X connect 154 0 150 0; +#X connect 155 0 154 0; +#X connect 156 0 157 0; +#X connect 156 1 158 0; +#X connect 156 2 159 0; +#X connect 156 3 160 0; +#X connect 156 4 161 0; +#X connect 156 5 162 0; +#X connect 156 6 163 0; +#X connect 156 7 164 0; +#X connect 157 0 166 0; +#X connect 158 0 167 0; +#X connect 159 0 168 0; +#X connect 160 0 169 0; +#X connect 161 0 173 0; +#X connect 162 0 171 0; +#X connect 163 0 170 0; +#X connect 164 0 172 0; +#X connect 165 0 147 0; +#X connect 165 1 156 0; +#X connect 174 0 176 0; +#X connect 175 0 148 0; +#X connect 176 0 148 0; +#X coords 0 -1 1 1 162 160 1 260 155; diff --git a/seq.biorythm~-help.pd b/seq.biorythm~-help.pd new file mode 100644 index 0000000..5e9eca0 --- /dev/null +++ b/seq.biorythm~-help.pd @@ -0,0 +1,48 @@ +#N canvas 318 0 641 692 10; +#X obj 28 178 *~; +#X obj 13 61 noise~; +#X obj 48 278 mix.out_~; +#X obj 124 138 seq.biorythm~ 0.1 0 2; +#X obj 256 542 snapshot~; +#X obj 254 618 line; +#X floatatom 232 670 5 0 0 0 - - -; +#X obj 285 671 hsl 128 15 0 2 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 352 498 gemhead; +#X obj 402 577 circle 2 80; +#X msg 258 583 \$1 50; +#X text 44 -73 Arguments : frequency \, minimum \, maximum; +#X text 257 399 You can also use it as for data \, not sounds.; +#X obj 132 94 convert.ms2freq; +#X floatatom 134 49 5 0 0 0 - - -; +#X obj 13 83 lop~ 1200; +#X text 51 -45 Inlets : frequency \, minimum \, maximum \, reset phase +(bang); +#X obj 131 72 * 1000; +#X text 176 47 seconds; +#X text 159 169 Here \, we use it to control an amplitude.; +#X obj 417 501 gems.win; +#X obj 411 476 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 360 536 t b a; +#X text 52 -24 Description: Generates a long lasting cycle that is +inspired by biological rythms. Biological rythms are characterized +by a duration (the period) a minimum and a maximum.; +#X connect 0 0 2 0; +#X connect 0 0 2 1; +#X connect 1 0 15 0; +#X connect 3 0 0 1; +#X connect 3 0 4 0; +#X connect 4 0 10 0; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 5 0 9 1; +#X connect 8 0 22 0; +#X connect 10 0 5 0; +#X connect 13 0 3 0; +#X connect 14 0 17 0; +#X connect 15 0 0 0; +#X connect 17 0 13 0; +#X connect 21 0 20 0; +#X connect 22 0 4 0; +#X connect 22 1 9 0; diff --git a/seq.biorythm~.pd b/seq.biorythm~.pd new file mode 100644 index 0000000..49373ff --- /dev/null +++ b/seq.biorythm~.pd @@ -0,0 +1,28 @@ +#N canvas 110 102 588 705 10; +#X obj 446 62 t b; +#X obj 45 603 outlet~; +#X obj 383 241 loadbang; +#X obj 375 303 f \$2; +#X obj 458 294 f \$3; +#X obj 447 38 inlet; +#X text 450 12 reset phase; +#X text 58 11 freq; +#X obj 56 252 osc~ \$1; +#X text 244 8 min max; +#X obj 231 28 inlet; +#X obj 302 30 inlet; +#X obj 58 32 inlet; +#X obj 42 473 expr~ ((($v1+1)/2)*($f3-$f2))+$f2; +#X obj 385 268 t b b; +#X connect 0 0 8 1; +#X connect 2 0 14 0; +#X connect 3 0 13 1; +#X connect 4 0 13 2; +#X connect 5 0 0 0; +#X connect 8 0 13 0; +#X connect 10 0 13 1; +#X connect 11 0 13 2; +#X connect 12 0 8 0; +#X connect 13 0 1 0; +#X connect 14 0 3 0; +#X connect 14 1 4 0; diff --git a/seq.chords-help.pd b/seq.chords-help.pd new file mode 100644 index 0000000..7862871 --- /dev/null +++ b/seq.chords-help.pd @@ -0,0 +1,25 @@ +#N canvas 261 114 731 554 10; +#X obj 22 70 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 86 412 prepend set; +#X msg 85 440 75 77 79 80 81; +#X obj 150 278 seq.chords; +#X obj 31 102 metro 250; +#X text 280 91 Enter your patition like this. Chords are separated +by commas. The keynord new as first resets the sequence; +#X msg 280 164 reset \, 60 64 67 \, 68 \, 72 73 74 \, 75 77 79 80 81 +\, 59 58 64 67 69; +#X msg 281 209 reset \, a \, b \, c \, d \, e \, f \, g \, h \, i \, +j \, k \, l \, m \, n \, o \, p \, q \, r \, s \, t \, u \, v \, w +\, x \, y \, z; +#X text 342 422 Author: Alexandre Quessy; +#X obj 281 142 loadbang; +#X text 168 15 Description: sequence of chords or anything settable +with a message box with a serie of lists separated by commas; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 9 0 6 0; diff --git a/seq.chords.pd b/seq.chords.pd new file mode 100644 index 0000000..2f54f1f --- /dev/null +++ b/seq.chords.pd @@ -0,0 +1,33 @@ +#N canvas 211 27 779 664 10; +#X obj 570 43 inlet; +#X obj 580 138 t a b; +#X obj 614 196 f 0; +#X obj 647 196 + 1; +#X msg 648 128 0; +#X obj 544 223 list prepend; +#X obj 34 74 inlet; +#X obj 145 607 outlet; +#X text 36 46 BANG => get next chord \, float => go to n; +#X text 571 24 Add anything; +#X text 413 117 Todo : clear; +#X msg 292 182 clear; +#X obj 402 92 t b b b; +#X obj 321 614 print; +#X obj 566 76 route reset; +#X obj 144 522 coll; +#C restore; +#X connect 0 0 14 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 2 0 5 1; +#X connect 3 0 2 1; +#X connect 4 0 2 1; +#X connect 5 0 15 0; +#X connect 6 0 15 0; +#X connect 11 0 15 0; +#X connect 12 0 4 0; +#X connect 12 1 11 0; +#X connect 14 0 12 0; +#X connect 14 1 1 0; +#X connect 15 0 7 0; diff --git a/seq.every-help.pd b/seq.every-help.pd new file mode 100644 index 0000000..d764fe0 --- /dev/null +++ b/seq.every-help.pd @@ -0,0 +1,23 @@ +#N canvas 0 0 570 364 10; +#X obj 214 224 seq.every 5; +#X obj 187 159 f 0; +#X obj 224 159 + 1; +#X floatatom 294 157 5 0 0 0 - - -; +#X text 337 153 Change the modulo; +#X obj 224 292 bng 15 50 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 181 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X floatatom 137 212 5 0 0 0 - - -; +#X obj 306 288 bng 15 50 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 189 103 metro 250; +#X connect 0 0 5 0; +#X connect 0 1 8 0; +#X connect 1 0 2 0; +#X connect 1 0 0 0; +#X connect 1 0 7 0; +#X connect 2 0 1 1; +#X connect 3 0 0 1; +#X connect 6 0 9 0; +#X connect 9 0 1 0; diff --git a/seq.every.pd b/seq.every.pd new file mode 100644 index 0000000..b556599 --- /dev/null +++ b/seq.every.pd @@ -0,0 +1,18 @@ +#N canvas 0 0 450 300 10; +#X obj 102 76 inlet; +#X obj 292 38 inlet; +#X obj 102 161 sel 0; +#X obj 102 202 outlet; +#X obj 229 75 clip 1 1e+10; +#X obj 271 211 outlet; +#X obj 307 124 init.df \$1 1; +#X obj 316 100 loadbang; +#X obj 107 130 % 1; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 2 0 3 0; +#X connect 2 1 5 0; +#X connect 4 0 8 1; +#X connect 6 0 8 1; +#X connect 7 0 6 0; +#X connect 8 0 2 0; diff --git a/seq.liner-help.pd b/seq.liner-help.pd new file mode 100644 index 0000000..63b9fbd --- /dev/null +++ b/seq.liner-help.pd @@ -0,0 +1,52 @@ +#N canvas 0 0 712 746 10; +#X obj 43 263 line; +#X obj 39 316 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 8890 1; +#X msg 135 430 0 \, 1 25 0.6 1000 0 500; +#X obj 122 529 line~; +#X obj 118 598 *~; +#X obj 22 527 phasor~ 440; +#X obj 128 631 *~ 0.5; +#X obj 117 692 mix.out_~; +#X msg 149 458 1 \, 0.6 100 0.6 1000 0 50; +#X msg 112 394 0 \, 1 1000 0 0; +#X msg 258 546 \; pd dsp 1; +#X text 260 390 Can be used to synth an ADSR enveloppe.; +#X text 35 -15 seq.liner; +#X text 36 1 Sequential controls for the [line] object.; +#X text 37 20 The messages you send it can be the same form than the +line object \, or can be a list of pairs of targets and values. The +targets are reached sequentially. When a target is reached \, the seq.liner +sends the next target-value pair to the [line] or [line~] you attach +it.; +#X text 42 94 Allows to send several targets to [line] that will be +reached sequentially.; +#X text 284 145 <-- usual messages for [line]; +#X text 282 173 <-- These 3 messages will be sent to [line] sequentially. +; +#X text 285 218 <-- you can combine them \, as usual; +#X msg 48 150 60; +#X msg 93 152 127 1000; +#X msg 117 198 0 \, 127 1000 0 500; +#X msg 113 177 60 1000 127 100 0 1000; +#X obj 41 223 seq.liner; +#X text 335 296 The right inlet stops it.; +#X obj 313 297 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 124 491 seq.liner; +#X connect 0 0 1 0; +#X connect 2 0 26 0; +#X connect 3 0 4 1; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 7 1; +#X connect 8 0 26 0; +#X connect 9 0 26 0; +#X connect 19 0 23 0; +#X connect 20 0 23 0; +#X connect 21 0 23 0; +#X connect 22 0 23 0; +#X connect 23 0 0 0; +#X connect 25 0 23 1; +#X connect 26 0 3 0; diff --git a/seq.liner.pd b/seq.liner.pd new file mode 100644 index 0000000..147f697 --- /dev/null +++ b/seq.liner.pd @@ -0,0 +1,32 @@ +#N canvas 485 409 668 315 10; +#X obj 216 23 inlet; +#X obj 216 122 list split 2; +#X obj 316 180 del; +#X obj 216 155 t a a; +#X msg 316 150 \$2; +#X obj 316 208 list; +#X obj 216 256 outlet; +#X text 41 122 split off to 2 elements; +#X text 358 210 shortened list is stored here; +#X text 356 154 send shortened list after delay time; +#X obj 216 60 t a b; +#X msg 379 100 stop; +#X obj 500 37 inlet; +#X msg 506 259 stop; +#X obj 502 63 t b b; +#X connect 0 0 10 0; +#X connect 1 0 3 0; +#X connect 1 1 5 1; +#X connect 1 2 6 0; +#X connect 2 0 5 0; +#X connect 3 0 6 0; +#X connect 3 1 4 0; +#X connect 4 0 2 0; +#X connect 5 0 1 0; +#X connect 10 0 1 0; +#X connect 10 1 11 0; +#X connect 11 0 2 0; +#X connect 12 0 14 0; +#X connect 13 0 6 0; +#X connect 14 0 13 0; +#X connect 14 1 11 0; diff --git a/seq.markov.machine-help.pd b/seq.markov.machine-help.pd new file mode 100644 index 0000000..673d5fe --- /dev/null +++ b/seq.markov.machine-help.pd @@ -0,0 +1,55 @@ +#N canvas 290 47 528 547 10; +#X text 132 380 current state; +#X msg 221 149 size 4; +#X obj 138 111 t b b b b b; +#X msg 221 170 row 1 1 2 3 4; +#X text 60 9 States are numbered from 1 to n.; +#X text 283 147 Already implied by argument.; +#X msg 215 192 row 2 4 3 2 1; +#X msg 220 215 row 3 200 300 4000 0; +#X msg 220 238 row 4 1 1 1 1; +#X text 337 240 Equal chances; +#X obj 4 153 cnv 15 50 50 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 86 60 cnv 15 50 50 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X msg 18 165 next; +#X msg 91 66 bang; +#X obj -34 245 cnv 15 50 50 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X msg -30 257 set 1; +#X text 92 43 1 Setup; +#X text 4 133 2 Get state; +#X text -34 225 3 Set state; +#X msg 276 294 content; +#X obj -40 -118 cnv 15 450 125 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X text -26 -117 )c( Copyleft 2006 Alexandre Quessy http://alexandre.quessy.net/ +; +#X text 374 -134 ABOUT; +#X obj 138 87 loadbang; +#X text 210 331 A four states weighted FSM; +#X obj 88 364 nbx 1 28 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 24 +-258699 -1 -1 0 256; +#X obj 88 331 seq.markov.machine 4; +#X text -26 -86 Description: a weighted finite states machine using +an adjacency matrix for storing probabilities to obtain every other +state next.; +#X text -25 -46 It can be illustrated as an oriented graph. Probabilities +are calculated on the sum of each numbers or every row.; +#X connect 1 0 26 0; +#X connect 2 0 8 0; +#X connect 2 1 7 0; +#X connect 2 2 6 0; +#X connect 2 3 3 0; +#X connect 2 4 1 0; +#X connect 3 0 26 0; +#X connect 6 0 26 0; +#X connect 7 0 26 0; +#X connect 8 0 26 0; +#X connect 12 0 26 0; +#X connect 13 0 2 0; +#X connect 15 0 26 0; +#X connect 19 0 26 0; +#X connect 23 0 2 0; +#X connect 26 0 25 0; diff --git a/seq.markov.machine.pd b/seq.markov.machine.pd new file mode 100644 index 0000000..f7685f5 --- /dev/null +++ b/seq.markov.machine.pd @@ -0,0 +1,194 @@ +#N canvas 369 47 900 932 10; +#X obj 114 -802 inlet; +#X obj 175 -125 cnv 15 600 200 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X obj 428 -512 cnv 15 200 300 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X obj 118 -418 cnv 15 200 150 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X obj 151 -659 cnv 15 200 150 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X obj 246 -654 prepend row; +#X msg 160 -650 zeros \$1; +#X obj 39 -746 loadbang; +#X obj 41 -719 f \$1; +#X obj 132 -373 f; +#X text 159 -371 current state; +#X obj 33 -14 outlet; +#X obj 477 -444 drip; +#X obj 516 -443 sum; +#X obj 490 -366 /; +#X obj 180 -313 random 1e+06; +#X obj 180 -289 / 1e+06; +#X text 239 -287 1/1000000; +#X msg 595 -430 set; +#X msg 464 -284 0.4 0.7 0.9 1; +#X msg 489 -339 add2 \$1; +#X msg 430 -418 bang; +#X obj 198 -65 moses; +#X obj 244 -63 moses; +#X obj 292 -63 moses; +#X obj 338 -61 moses; +#X obj 385 -61 moses; +#X obj 431 -59 moses; +#X obj 479 -59 moses; +#X obj 525 -57 moses; +#X obj 567 -56 moses; +#X obj 610 -56 moses; +#X obj 656 -54 moses; +#X obj 698 -53 moses; +#X obj 313 -108 unpack f f f f f f f f f f f f f f; +#X obj 199 50 f; +#X obj 180 -341 t b f; +#X msg 266 -351 row \$1; +#X text 228 53 next state; +#X obj 37 -75 f; +#X obj 33 -477 t b f; +#X text 75 -481 sets state; +#X obj 88 -458 t b b; +#X text 130 -460 gets next state; +#X text 473 -254 threshold (n/1.0) for each state according to its +probability; +#X text 41 -774 arg: size; +#X obj 474 -405 +; +#X msg 551 -440 0; +#X obj 472 -495 t b a a b b; +#X obj 539 -396 f; +#X text 530 -367 Each treshold is added to all the numbers before... +; +#X obj 288 -574 print debug; +#X msg 199 -36 1; +#X msg 247 -38 2; +#X msg 287 -35 3; +#X msg 344 -34 4; +#X msg 386 -32 5; +#X msg 436 -35 6; +#X msg 474 -31 7; +#X msg 530 -29 8; +#X msg 572 -27 9; +#X msg 620 -29 10; +#X msg 660 -26 11; +#X msg 716 -24 12; +#X obj 166 -410 loadbang; +#X msg 165 -391 1; +#X obj 181 -576 route matrix; +#X obj 181 -540 prepend matrix; +#X text 688 -145 MARKOV CHAIN; +#X text 448 -527 WEIGHTS FOR THIS ROW/STATE; +#X text 281 -437 STATE; +#X text 240 -679 ADJACENCY MATRIX; +#X obj 444 -796 cnv 15 450 125 empty empty empty 20 12 0 14 -258699 +-66577 0; +#N canvas 0 0 485 139 todo 0; +#N canvas 0 0 450 300 \$0-dynamic 0; +#X restore 69 65 pd \$0-dynamic; +#X text 67 43 todo: dynamic patching for unlimited number of states +; +#X text 67 93 todo: use [list] and not dynamic messages (faster?); +#X restore 796 -789 pd todo; +#X text 458 -795 )c( Copyleft 2006 Alexandre Quessy http://alexandre.quessy.net/ +; +#X text 521 -694 Using -lib iemmatrix \, zexy; +#X text 456 -751 [markov_machine] is a weighted finite states machine +using an adjency matrix for storing probabilities to get to each other +state \, It can be illustrated as an oriented graph.; +#X text 858 -812 ABOUT; +#X msg 44 -643 bang; +#X obj 114 -776 route size row next set content; +#X obj 282 -744 t b; +#X obj 200 -614 mtx; +#X obj 696 -695 drip; +#X obj 182 -519 iemmatrix/mtx_print; +#X connect 0 0 79 0; +#X connect 5 0 81 0; +#X connect 6 0 81 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 36 0; +#X connect 9 0 39 1; +#X connect 12 0 46 0; +#X connect 13 0 14 1; +#X connect 14 0 20 0; +#X connect 15 0 16 0; +#X connect 16 0 22 0; +#X connect 18 0 19 0; +#X connect 19 0 34 0; +#X connect 20 0 19 0; +#X connect 21 0 19 0; +#X connect 22 0 52 0; +#X connect 22 1 23 0; +#X connect 23 0 53 0; +#X connect 23 1 24 0; +#X connect 24 0 54 0; +#X connect 24 1 25 0; +#X connect 25 0 55 0; +#X connect 25 1 26 0; +#X connect 26 0 27 0; +#X connect 26 0 56 0; +#X connect 27 0 57 0; +#X connect 27 1 28 0; +#X connect 28 0 58 0; +#X connect 28 1 29 0; +#X connect 29 0 59 0; +#X connect 29 1 30 0; +#X connect 30 0 60 0; +#X connect 30 1 31 0; +#X connect 31 0 61 0; +#X connect 31 1 32 0; +#X connect 32 0 62 0; +#X connect 32 1 33 0; +#X connect 33 0 63 0; +#X connect 34 0 22 1; +#X connect 34 1 23 1; +#X connect 34 2 24 1; +#X connect 34 3 25 1; +#X connect 34 4 26 1; +#X connect 34 5 27 1; +#X connect 34 7 28 1; +#X connect 34 9 29 1; +#X connect 34 10 30 1; +#X connect 34 11 31 1; +#X connect 34 12 32 1; +#X connect 34 13 33 1; +#X connect 35 0 9 1; +#X connect 36 0 15 0; +#X connect 36 1 37 0; +#X connect 37 0 81 0; +#X connect 39 0 11 0; +#X connect 40 0 39 0; +#X connect 40 1 9 0; +#X connect 42 0 39 0; +#X connect 42 1 9 0; +#X connect 46 0 49 0; +#X connect 47 0 46 1; +#X connect 48 0 21 0; +#X connect 48 1 12 0; +#X connect 48 2 13 0; +#X connect 48 3 47 0; +#X connect 48 4 18 0; +#X connect 49 0 46 1; +#X connect 49 0 14 0; +#X connect 52 0 35 0; +#X connect 53 0 35 0; +#X connect 54 0 35 0; +#X connect 55 0 35 0; +#X connect 56 0 35 0; +#X connect 57 0 35 0; +#X connect 58 0 35 0; +#X connect 59 0 35 0; +#X connect 60 0 35 0; +#X connect 61 0 35 0; +#X connect 62 0 35 0; +#X connect 63 0 35 0; +#X connect 64 0 65 0; +#X connect 65 0 9 1; +#X connect 66 1 48 0; +#X connect 67 0 83 0; +#X connect 78 0 81 0; +#X connect 79 0 6 0; +#X connect 79 1 5 0; +#X connect 79 2 42 0; +#X connect 79 3 40 0; +#X connect 79 4 80 0; +#X connect 80 0 81 0; +#X connect 81 0 66 0; diff --git a/seq.qtrack-help.pd b/seq.qtrack-help.pd new file mode 100644 index 0000000..7d75c25 --- /dev/null +++ b/seq.qtrack-help.pd @@ -0,0 +1,74 @@ +#N canvas 679 22 502 640 10; +#X obj 90 205 cnv 15 100 100 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 239 336 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 239 223 record; +#X msg 241 245 stop; +#X msg 239 202 play; +#X msg 241 265 print; +#X msg 241 285 write chart.txt; +#X msg 242 305 read chart.txt; +#X msg 238 179 tempo \$1; +#X floatatom 238 162 5 0 0 0 - - -; +#X text 29 397 This one is an interface to qlist.; +#X msg 236 143 loop \$1; +#X obj 236 125 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X floatatom 97 164 5 0 0 0 - - -; +#X msg 97 181 a \$1; +#X floatatom 135 165 5 0 0 0 - - -; +#X floatatom 137 342 5 0 0 0 - - -; +#X floatatom 95 341 5 0 0 0 - - -; +#X msg 135 182 b \$1; +#X text 26 465 If you want to save your chart \, you will need the +unique id to be the same when you open your patch again and read the +file. Therefore \, I recommend using a symbol or a number as a unique +id \, instead of a dollar-0.; +#X text 308 181 1 is the original speed; +#X text 261 336 Banged when done; +#X text 204 96 GNU public license v2.0; +#X obj 45 145 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 185 356 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 40 128 Messages to be recorded; +#X obj 188 -5 cnv 15 15 15 empty empty seq.qtrack 20 12 0 24 -262144 +-66577 0; +#X obj 41 78 cnv 15 400 1 empty empty empty 20 12 0 14 -66577 -66577 +0; +#X text 27 418 You can record a sequence of any list. It will be played +back with the same timing. You can use arbitrary selectors and lists +of any length.; +#X msg 42 164 foo \$1; +#X obj 96 316 route a b foo; +#X obj 92 241 seq.qtrack id; +#X text 39 26 seq.qtrack ; +#X text 40 40 Description: Can record any stream of messages and play +it back at different speeds in loop or not.; +#X text 29 532 Comments: This patch is quite powerful and you should +really think about using it if you want to play back complex rhythms +and such. It wraps qlist.; +#X text 30 580 Todo: create a multitrack version; +#X text 203 81 Author: Alexandre Quessy 2006; +#X connect 2 0 31 1; +#X connect 3 0 31 1; +#X connect 4 0 31 1; +#X connect 5 0 31 1; +#X connect 6 0 31 1; +#X connect 7 0 31 1; +#X connect 8 0 31 1; +#X connect 9 0 8 0; +#X connect 11 0 31 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 31 0; +#X connect 15 0 18 0; +#X connect 18 0 31 0; +#X connect 23 0 29 0; +#X connect 29 0 31 0; +#X connect 30 0 17 0; +#X connect 30 1 16 0; +#X connect 30 2 24 0; +#X connect 31 0 30 0; +#X connect 31 1 1 0; diff --git a/seq.qtrack.pd b/seq.qtrack.pd new file mode 100644 index 0000000..4c1456e --- /dev/null +++ b/seq.qtrack.pd @@ -0,0 +1,122 @@ +#N canvas 103 299 915 701 10; +#X obj 285 388 cnv 15 100 100 empty empty empty 20 12 0 14 -258699 +-66577 0; +#X obj 71 83 cnv 15 100 100 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X obj 24 277 cnv 15 100 100 empty empty empty 20 12 0 14 -258699 -66577 +0; +#X msg 525 257 clear; +#X text 398 608 This outlet gets a bang when you hit the end of the +sequence.; +#X msg 525 235 print; +#X obj 214 33 inlet; +#X obj 88 13 inlet; +#X obj 112 129 timer; +#X obj 305 427 qlist; +#X msg 526 280 bang; +#X msg 328 130 tempo \$1; +#X obj 115 216 * 1; +#X obj 645 585 outlet; +#X obj 90 89 t a b b; +#X obj 29 186 t b a; +#X msg 243 191 clear; +#X msg 210 189 1; +#X obj 88 58 spigot; +#X obj 307 110 t f f b; +#X msg 327 251 0; +#X obj 298 170 t b b; +#X obj 5 251 f; +#X obj 95 403 list append; +#X text 136 12 inlet: data to be recorded; +#X text 569 284 sequenced automagically; +#X obj 96 425 route list; +#X obj 209 133 t b b b; +#X obj 93 288 loadbang; +#X text 97 450 add