Ho fatto un paio di scrubber per audiofiles su disco che mi sembrano interessanti, li usero' per un workshop che devo fare questo fine settimana

!
Purtroppo non ho tempo di spiegare il funzionamento, non dovrebbe essere difficilissimo, comunque (bisogna guardarsi bene l'help di sfplay~ soprattutto le new features)
Il primo usa uno jog shuttle per scorrere il file avanti e indietro. Ha ancora qualche imperfezione, ma mi sa che con l'oggetto sfplay~ più di tanto non si può fare (lo scrubber di pro tools ad esempio carica evidentemente una porzione del file in memoria, ed è un po' come se in msp usassimo un buffer~).
ATTENZIONE quando si carica un nuovo file NON cominciare con lo scrub all'indietro, altrimenti maxmsp va a leggere una zona di memoria che non c'entra niente e produce un forte rumore: dopo un primo scrub in avanti si può mettere la marcia indietro (assicurarsi inoltre che il loadbang abbia fatto "bang" quando incollate il codice nella patcher window):
#P button 59 283 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 59 261 45 196617 onebang;
#P newex 340 65 27 196617 0.5;
#P window setfont "Sans Serif" 18.;
#P comment 477 134 64 196626 scrub;
#P window setfont "Sans Serif" 9.;
#P comment 493 254 124 196617 inerzia giradischi;
#P window setfont "Sans Serif" 14.;
#P flonum 403 219 54 14 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window setfont "Sans Serif" 9.;
#P newex 94 230 40 196617 t b l l;
#P flonum 449 253 40 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 403 275 41 196617 * 500.;
#P newex 403 251 37 196617 abs 0.;
#P newex 245 528 44 196617 / 1.;
#P user multiSlider 245 554 304 10 0. 1. 1 2680 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P message 73 309 14 196617 2;
#P newex 403 185 86 196617 scale 0. 1. -2. 2.;
#P newex 325 201 58 196617 pak 0. 500;
#P newex 290 237 36 196617 zl reg;
#P newex 403 81 40 196617 line 0.;
#P message 403 60 59 196617 \$1 \, 0.5 \$2;
#P newex 290 132 41 196617 sel 0 1;
#P newex 290 65 48 196617 loadbang;
#P toggle 290 110 15 0;
#P newex 290 88 66 196617 mousestate;
#P user jsui 403 105 64 64 1 0 0 jsui_360dial.js;
#P user gain~ 148 507 21 89 158 0 1.071519 7.94321 10.;
#P message 55 626 27 196617 stop;
#P message 55 609 67 196617 startwindow;
#P newex 128 626 29 196617 dac~;
#P user gain~ 124 507 21 89 158 0 1.071519 7.94321 10.;
#P newex 94 206 68 196617 prepend open;
#P message 94 161 35 196617 sound;
#P newex 94 183 56 196617 opendialog;
#P user number~ 179 480 255 495 9 3 3 2 0. 0. 0 0. 50 0. 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 148 287 88 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 109 262 79 196617 sfinfo~;
#P message 31 309 37 196617 loop 1;
#P message 148 339 94 196617 preload 2 0 \$1 1 1;
#P newex 209 393 66 196617 pack 0. 100.;
#P newex 209 415 30 196617 line~;
#N sfplay~ 2 0 1 ;
#P newobj 124 446 71 196617 sfplay~ 2 0 1;
#B color 5;
#P comment 249 288 74 196617 lunghezza file;
#P comment 477 111 64 196617 jog-shuttle;
#P comment 94 143 65 196617 carica suono;
#P comment 310 537 124 196617 posizione nel soundfile;
#P comment 462 223 105 196617 velocità scansione;
#P connect 43 0 9 0;
#P fasten 25 1 42 0 310 158 64 158;
#P lcolor 3;
#P connect 42 0 43 0;
#P connect 43 0 31 0;
#P connect 14 0 13 0;
#P connect 13 0 15 0;
#P connect 15 0 37 0;
#P connect 37 0 42 1;
#P connect 37 1 10 0;
#P connect 9 0 5 0;
#P connect 31 0 5 0;
#P connect 8 0 5 0;
#P connect 37 2 5 0;
#P connect 5 0 16 0;
#P connect 19 0 17 0;
#P connect 18 0 17 0;
#P connect 16 0 17 0;
#P connect 20 0 17 1;
#P connect 10 3 11 0;
#P connect 11 0 8 0;
#P connect 5 1 20 0;
#P connect 16 1 20 0;
#P connect 5 2 12 0;
#P connect 6 0 5 1;
#P connect 38 0 7 0;
#P connect 7 0 6 0;
#P connect 12 1 33 0;
#P connect 33 0 32 0;
#P fasten 11 0 33 1 153 323 284 323;
#P connect 24 0 22 0;
#P connect 22 0 23 0;
#P connect 23 0 25 0;
#P connect 25 0 28 0;
#P connect 29 0 28 1;
#P connect 21 0 29 0;
#P connect 24 0 41 0;
#P connect 35 0 29 1;
#P fasten 28 0 26 0 295 262 276 262 276 51 408 51;
#P connect 26 0 27 0;
#P connect 41 0 21 0;
#P connect 27 0 21 0;
#P connect 21 0 30 0;
#P connect 30 0 38 0;
#P connect 38 0 34 0;
#P connect 34 0 35 0;
#P connect 36 0 35 1;
#P window clipboard copycount 44;