#N canvas 271 275 1088 476 12; #X declare -path Audio-material; #X msg 262 178 fnrptddp_voc_kompakt.wav; #X obj 262 246 s open-\$0; #X msg 936 124 windows-004.wav; #X obj 495 264 s open-\$0; #X obj 913 179 s open-\$0; #X msg 953 146 tape-jam.wav; #X msg 521 88 rubberharp-1.wav; #X msg 531 118 rubberharp-2.wav; #X msg 917 99 pole.wav; #X obj 521 13 r bAng-\$0; #X obj 917 17 r bAng-\$0; #X obj 263 22 r bAng-\$0; #X obj 330 417 s settings-\$0; #X obj 361 18 loadbang; #N canvas 474 25 921 661 mechanics 0; #X obj 245 10 table sound0; #X obj 250 508 array set pos-sound0; #N canvas 96 144 745 604 setPosIn% 0; #X obj 222 517 array set pos%-sound0; #X obj 503 231 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 503 278 5 0 0 0 - - - 0; #X obj 503 253 array size sound0; #X obj 555 132 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 555 177 5 0 0 0 - - - 0; #X obj 555 152 samplerate~; #X obj 492 312 /; #X floatatom 492 336 7 0 0 0 - - - 0; #X obj 434 403 /; #X floatatom 434 427 12 0 0 0 - - - 0; #X obj 319 18 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 555 224 5 0 0 0 - - - 0; #X obj 294 181 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 294 268 5 0 0 0 - - - 0; #X obj 294 243 array size pos-sound0; #X obj 222 296 f; #X obj 258 298 + 1; #X msg 241 253 0; #X floatatom 223 372 5 0 0 0 - - - 0; #X obj 223 437 array get pos-sound0 0 1; #X obj 43 434 array get pos%-sound0; #X obj 44 409 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 223 395 t f f; #X obj 222 484 *; #X text 554 335 sample length in ms; #X obj 276 354 sel 1; #X obj 265 209 t b b b; #X obj 276 330 <; #X msg 434 364 100; #X obj 319 41 t b b b b b; #X text 166 102 this sets the sample positions in ms to positions in percent (%); #X obj 555 200 / 1000; #X obj 139 57 inlet; #X obj 43 468 print pos%-sound0; #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 5 0 32 0; #X connect 6 0 5 0; #X connect 7 0 8 0; #X connect 8 0 9 1; #X connect 9 0 10 0; #X connect 10 0 24 1; #X connect 11 0 30 0; #X connect 12 0 7 1; #X connect 13 0 27 0; #X connect 14 0 28 1; #X connect 15 0 14 0; #X connect 16 0 17 0; #X connect 16 0 19 0; #X connect 16 0 28 0; #X connect 17 0 16 1; #X connect 18 0 16 1; #X connect 19 0 23 0; #X connect 20 0 24 0; #X connect 21 0 34 0; #X connect 22 0 21 0; #X connect 23 0 20 0; #X connect 23 1 0 1; #X connect 24 0 0 0; #X connect 26 0 16 0; #X connect 27 0 16 0; #X connect 27 1 15 0; #X connect 27 2 18 0; #X connect 28 0 26 0; #X connect 29 0 9 0; #X connect 30 0 22 0; #X connect 30 1 13 0; #X connect 30 2 29 0; #X connect 30 3 1 0; #X connect 30 4 4 0; #X connect 32 0 12 0; #X connect 33 0 11 0; #X restore 155 616 pd setPosIn%; #X text 247 612 then make a list in %; #X obj 5 392 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 5 417 t b b; #X obj 33 11 declare -path Audio-material; #X obj 431 187 route list; #X obj 431 163 list prepend open; #X obj 431 98 r open-\$0; #X obj 442 253 soundfiler; #X msg 442 224 read -resize \$1 sound0; #X obj 542 296 print soundfiler:; #X obj 218 535 array get pos-sound0; #X obj 238 579 print pos-sound0; #X obj 490 326 array size sound0; #X obj 490 350 print sound0 size; #X obj 226 508 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #N canvas 527 25 745 561 setPosInEqualChunks 0; #X obj 85 32 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 177 158 5 0 0 0 - - - 0; #X obj 85 186 f; #X obj 121 188 + 1; #X msg 103 158 0; #X floatatom 86 262 5 0 0 0 - - - 0; #X obj 86 285 t f f; #X obj 85 334 *; #X obj 159 244 sel 1; #X obj 159 220 <; #X obj 85 367 array set pos-sound0; #X obj 177 133 array size pos-sound0; #X floatatom 334 401 7 0 0 0 - - - 0; #X obj 317 369 /; #X obj 85 8 inlet; #X obj 44 409 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 43 434 array get pos-sound0; #X obj 85 68 t b b b b b, f 34; #X obj 43 468 print pos-sound0 in equal chunks; #X obj 374 244 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 384 291 10 0 0 0 - - - 0; #X obj 364 266 array size sound0; #X obj 426 145 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 416 190 5 0 0 0 - - - 0; #X obj 416 165 samplerate~; #X obj 353 325 /; #X floatatom 353 349 7 0 0 0 - - - 0; #X floatatom 426 237 5 0 0 0 - - - 0; #X text 415 348 sample length in ms; #X obj 364 124 t b b; #X obj 416 213 / 100; #X connect 0 0 17 0; #X connect 1 0 9 1; #X connect 1 0 13 1; #X connect 2 0 3 0; #X connect 2 0 5 0; #X connect 2 0 9 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 6 1 10 1; #X connect 7 0 10 0; #X connect 8 0 2 0; #X connect 9 0 8 0; #X connect 11 0 1 0; #X connect 13 0 12 0; #X connect 13 0 7 1; #X connect 14 0 0 0; #X connect 15 0 16 0; #X connect 16 0 18 0; #X connect 17 0 16 0; #X connect 17 1 2 0; #X connect 17 2 4 0; #X connect 17 3 29 0; #X connect 17 4 11 0; #X connect 19 0 21 0; #X connect 21 0 20 0; #X connect 21 0 25 0; #X connect 22 0 24 0; #X connect 23 0 30 0; #X connect 24 0 23 0; #X connect 25 0 26 0; #X connect 25 0 13 0; #X connect 29 0 21 0; #X connect 29 1 24 0; #X connect 30 0 27 0; #X connect 30 0 25 1; #X restore 37 444 pd setPosInEqualChunks; #X obj 431 133 t a a; #X obj 526 134 print ----->; #X obj 489 296 t b b; #X obj 243 32 array define -k pos-sound0 12; #A 0 40 172 297 434 542 686 801 929; #X obj 243 55 array define -k pos%-sound0 12; #A 0 3.75271 16.1367 27.8639 40.7169 50.8492 64.359 75.148 87.1567 ; #X obj 218 481 t b a; #X text 268 480 ... or set specific points; #X obj 218 375 r positions-\$0; #X listbox 218 418 47 0 0 0 - - - 0; #X obj 270 165 t b; #X obj 217 267 list store; #X text 19 336 !!! dirty! sets equal positions even if custom are about to come; #X obj 47 94 array size pos-sound0; #X obj 207 93 array size pos%-sound0; #X obj 47 59 r array-size-\$0; #X text 463 536 this patch intends to create a default sound-table (sound0) that can be loaded with any sample. Then it prepares two arrays which points at specific time segments in ms respectively %.; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 5 1 18 0; #X connect 7 0 11 0; #X connect 8 0 7 0; #X connect 9 0 19 0; #X connect 10 1 12 0; #X connect 10 1 21 0; #X connect 11 0 10 0; #X connect 13 0 14 0; #X connect 15 0 16 0; #X connect 17 0 13 0; #X connect 19 0 8 0; #X connect 19 1 20 0; #X connect 19 1 28 0; #X connect 21 1 15 0; #X connect 24 0 13 0; #X connect 24 0 2 0; #X connect 24 1 1 0; #X connect 26 0 27 0; #X connect 27 0 24 0; #X connect 28 0 4 0; #X connect 33 0 31 0; #X connect 33 0 32 0; #X restore 35 24 pd mechanics; #N canvas 667 160 553 592 set-positions-tool 0; #X obj 73 298 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 67 38 hradio 15 1 0 12 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; #X floatatom 67 58 5 0 0 0 - - - 0; #X obj 67 125 pack f f; #X obj 67 153 unpack; #X obj 88 221 f; #X floatatom 120 98 5 0 0 0 - - - 0; #X listbox 54 365 63 0 0 0 - - - 0; #X obj 54 180 t b b f; #X msg 57 434 40 172 297 434 542 686 801 929 0 0 0 0, f 63; #X msg 23 398 set \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12 ; #X text 159 97 position ms; #X text 67 3 index; #X text 71 20 0; #X text 101 20 2; #X text 86 20 1; #X text 116 20 3; #X text 131 20 4; #X text 146 20 5; #X text 161 20 6; #X text 176 20 7; #X text 191 20 8; #X text 206 20 9; #X text 216 20 10; #X text 231 20 11; #N canvas 237 262 474 254 pos 0; #X obj 10 7 inlet; #X msg 10 32 open symbol \, grain-distance 150 \, position 0 \, grainsize 43 \, pitch -2400 \, panorama 0 \, amplitude 0 \, filter-bypass 1 \, frequency 100 \, q 1 \, playback-speed 100 \, play 0 \, env-type 0 \, env-bias 0.142857 \, env-shape 0.186813 \, random-grain-distance 0 \, random-position 0 \, random-grainsize 0 \, random-pitch 0 \, random-panorama 0 \, random-amplitude 0 \, random-frequency 5000 \, random-q 0 \, position% 0 \, random-position% 0 \, int.grain-trigger 0 \,; #X obj 10 187 route position; #X obj 10 211 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X restore 273 66 pd pos; #X text 54 489 this patch is meant to update sample positions in an array in a quick manner. Click desired radio button to store current position of the granular sampler into the array for sample positions. ; #X obj 273 38 r grrRR-out; #X obj 88 247 array set pos-sound0; #X obj 54 330 array get pos-sound0; #X connect 0 0 29 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 8 0; #X connect 4 1 5 1; #X connect 5 0 28 0; #X connect 6 0 3 1; #X connect 7 0 10 0; #X connect 8 0 29 0; #X connect 8 1 5 0; #X connect 8 2 28 1; #X connect 10 0 9 0; #X connect 25 0 6 0; #X connect 27 0 25 0; #X connect 29 0 7 0; #X restore 34 57 pd set-positions-tool; #X obj 217 388 s positions-\$0; #X obj 217 276 t b b; #X obj 249 328 s array-size-\$0; #X msg 249 304 8; #X msg 217 352 40 172 297 434 542 686 801 929, f 63; #X obj 774 47 openpanel; #X obj 749 18 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 263 46 sel 0; #X obj 521 37 sel 1 2; #X obj 773 169 s open-\$0; #X obj 917 41 sel 3 4 5; #X obj 35 84 r key-smpl; #X obj 35 110 s bAng-\$0; #N canvas 548 213 619 507 key-select 0; #X obj 317 215 f; #X floatatom 346 294 5 0 0 0 - - - 0; #X msg 351 216 -1; #X obj 298 179 t b b; #X obj 347 177 t b b; #X msg 385 217 1; #X obj 317 242 + 0; #X obj 357 154 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 308 154 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 355 322 s bAng-\$0; #X obj 316 270 mod 13; #X obj 244 42 key; #X obj 296 100 == 49; #X obj 296 124 sel 1; #X obj 346 124 sel 1; #X obj 346 100 == 50; #X obj 244 65 spigot; #X obj 283 42 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 395 285 hradio 15 1 0 13 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; #X obj 350 30 loadbang; #X msg 350 54 1; #X connect 0 0 6 0; #X connect 2 0 6 1; #X connect 3 0 0 0; #X connect 3 1 2 0; #X connect 4 0 0 0; #X connect 4 1 5 0; #X connect 5 0 6 1; #X connect 6 0 10 0; #X connect 7 0 4 0; #X connect 8 0 3 0; #X connect 10 0 1 0; #X connect 10 0 0 1; #X connect 10 0 9 0; #X connect 10 0 18 0; #X connect 11 0 16 0; #X connect 12 0 13 0; #X connect 13 0 3 0; #X connect 14 0 4 0; #X connect 15 0 14 0; #X connect 16 0 12 0; #X connect 16 0 15 0; #X connect 17 0 16 1; #X connect 19 0 20 0; #X restore 35 152 pd key-select; #X connect 0 0 1 0; #X connect 0 0 17 0; #X connect 2 0 4 0; #X connect 5 0 4 0; #X connect 6 0 3 0; #X connect 7 0 3 0; #X connect 8 0 4 0; #X connect 9 0 24 0; #X connect 10 0 26 0; #X connect 11 0 23 0; #X connect 13 0 0 0; #X connect 17 0 20 0; #X connect 17 1 19 0; #X connect 19 0 18 0; #X connect 20 0 16 0; #X connect 21 0 25 0; #X connect 22 0 21 0; #X connect 23 0 0 0; #X connect 24 0 6 0; #X connect 24 1 7 0; #X connect 26 0 8 0; #X connect 26 1 2 0; #X connect 26 2 5 0; #X connect 27 0 28 0;