max v2; #N vpatcher 201 127 842 502; #P message 428 281 61 196617 vasp bufosc; #N vpatcher 40 55 218 175; #P newex 45 79 61 196617 vasp.update; #P newex 45 56 45 196617 vasp.= 0; #N comlet vasp to clear in; #P inlet 45 26 15 0; #P connect 0 0 1 0; #P connect 1 0 2 0; #P pop; #P newobj 428 301 73 196617 p clear_buffer; #N vpatcher 169 125 534 375; #P flonum 70 179 61 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 70 125 27 196617 t b f; #P message 309 151 27 196617 stop; #P message 243 151 65 196617 startwindow; #P newex 243 173 29 196617 dac~; #P comment 141 175 83 196617 period length in samples (float); #P flonum 88 97 43 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 70 147 27 196617 / 1.; #P flonum 68 73 54 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 54 49 53 196617 dspstate~; #P comment 133 98 100 196617 frequency in Hz; #P connect 1 1 2 0; #P fasten 4 0 9 0 93 118 75 118; #P fasten 2 0 3 0 73 115 54 115 54 145 75 145; #P connect 9 0 3 0; #P connect 3 0 10 0; #P connect 9 1 3 1; #P fasten 8 0 6 0 314 169 248 169; #P connect 7 0 6 0; #P pop; #P newobj 56 301 109 196617 p Hz_to_period_length; #N vpatcher 40 55 418 371; #P button 183 82 15 0; #P newex 129 145 60 196617 prepend set; #N comlet waveform~ mode messages; #P inlet 129 121 15 0; #P newex 259 64 27 196617 << 1; #P newex 206 121 40 196617 change; #P newex 206 145 107 196617 select 0 1 2; #P newex 206 98 27 196617 |; #P newex 47 121 40 196617 change; #P outlet 129 252 15 0; #P message 47 145 65 196617 constrain \$1; #P newex 129 195 45 196617 loadbang; #P newex 47 40 222 196617 pushkeys; #P message 270 169 58 196617 mode move; #P message 206 213 61 196617 mode select; #P message 238 191 52 196617 mode loop; #P connect 3 0 7 0; #P connect 7 0 5 0; #P connect 12 0 13 0; #P fasten 5 0 6 0 52 243 134 243; #P fasten 0 0 6 0 243 243 134 243; #P fasten 1 0 6 0 211 243 134 243; #P fasten 2 0 6 0 275 243 134 243; #P connect 11 0 14 0; #P connect 3 3 8 0; #P connect 14 0 8 0; #P connect 8 0 10 0; #P connect 10 0 9 0; #P connect 4 0 1 0; #P connect 9 0 1 0; #P connect 13 0 1 0; #P connect 11 0 8 1; #P connect 9 1 0 0; #P connect 3 4 11 0; #P connect 9 2 2 0; #P pop; #P hidden newobj 301 79 49 196617 p wfkeys; #P message 260 303 27 196617 stop; #P message 192 303 65 196617 startwindow; #P newex 301 328 29 196617 dac~; #P newex 301 276 30 196617 line~; #P message 301 253 72 196617 0 \, 2000 2000; #P newex 301 301 65 196617 play~ bufosc; #P hidden message 301 115 54 196617 set bufosc; #P hidden newex 301 97 45 196617 loadbang; #P user waveform~ 301 133 312 99 3 9; #W mode select; #W mouseoutput continuous; #W unit ms; #W grid 1000.; #W ticks 8.; #W labels 1; #W vlabels 1; #W vticks 1; #W vzoom 1.; #W voffset 0.; #W bpm 120. 4.; #W frgb 0 0 0; #W brgb 255 255 255; #W rgb2 132 132 132; #W rgb3 0 0 0; #W rgb4 0 0 0; #W rgb5 255 255 255; #W rgb6 100 100 100; #W rgb7 100 100 100; #P newex 56 183 55 196617 vasp.* 0.5; #P newex 56 205 61 196617 vasp.update; #P message 56 129 61 196617 vasp bufosc; #P newex 512 301 101 196617 buffer~ bufosc 2000; #P comment 51 76 314 196617 optional argument/right inlet: frequency in period length in samples; #P newex 56 161 123 196617 vasp.osc 44.099998; #P comment 51 61 168 196617 vasp sine wave generator; #P comment 51 38 89 196622 vasp.osc; #P comment 126 130 142 196617 generate a sine wave at 1kHz; #P connect 6 0 3 0; #P connect 3 0 8 0; #P connect 8 0 7 0; #P hidden connect 10 0 11 0; #P hidden connect 18 0 9 0; #P hidden connect 11 0 9 0; #P connect 13 0 14 0; #P connect 14 0 12 0; #P fasten 17 0 15 0 265 321 306 321; #P fasten 16 0 15 0 197 321 306 321; #P connect 12 0 15 0; #P connect 12 0 15 1; #P connect 21 0 20 0; #P pop;