max v2; #N vpatcher 162 250 877 640; #P message 451 318 115 196617 vasp bufcosc1 bufcosc2; #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 451 338 78 196617 p clear_buffers; #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 connect 9 0 3 0; #P fasten 2 0 3 0 73 115 54 115 54 145 75 145; #P connect 3 0 10 0; #P connect 9 1 3 1; #P connect 7 0 6 0; #P fasten 8 0 6 0 314 169 248 169; #P pop; #P newobj 46 338 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 375 30 49 196617 p wfkeys; #P comment 579 197 108 196617 imaginary part of cosc; #P message 46 156 115 196617 vasp bufcosc1 bufcosc2; #P hidden message 375 191 65 196617 set bufcosc2; #P user waveform~ 375 212 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 575 338 112 196617 buffer~ bufcosc2 2000; #P hidden message 375 69 65 196617 set bufcosc1; #P hidden newex 375 50 45 196617 loadbang; #P user waveform~ 375 87 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 46 214 55 196617 vasp.* 0.5; #P newex 46 239 61 196617 vasp.update; #P newex 575 318 112 196617 buffer~ bufcosc1 2000; #P comment 45 79 312 196617 optional argument/right inlet: frequency in period length in samples; #P newex 46 189 85 196617 vasp.cosc 44100; #P comment 45 64 168 196617 vasp complex sine wave generator; #P comment 45 41 89 196622 vasp.cosc; #P comment 172 156 136 196617 generate a complex sinewave at 1Hz into two buffers; #P comment 588 72 100 196617 real part of the cosc; #P comment 45 94 78 196617 needs 2 buffers; #P connect 16 0 5 0; #P connect 5 0 9 0; #P connect 9 0 8 0; #P hidden connect 11 0 12 0; #P hidden connect 18 0 10 0; #P hidden connect 12 0 10 0; #P hidden fasten 11 0 15 0 380 50 380 50; #P hidden connect 18 0 14 0; #P hidden connect 15 0 14 0; #P connect 21 0 20 0; #P pop;