diff --git a/cyclone_objects/abstractions/buffer~.pd b/cyclone_objects/abstractions/buffer~.pd index 2ab96e15..a4e2d346 100644 --- a/cyclone_objects/abstractions/buffer~.pd +++ b/cyclone_objects/abstractions/buffer~.pd @@ -1,7 +1,7 @@ -#N canvas 285 145 814 272 10; +#N canvas 319 281 814 272 10; #X declare -path /Users/porres/Documents/Pd/externals/cyclone; #X obj 24 24 inlet; -#N canvas 396 59 533 410 rename 0; +#N canvas 172 51 533 410 rename 0; #X obj 319 189 r \$0-name; #X obj 59 76 symbol; #X obj 59 50 inlet; @@ -36,7 +36,17 @@ #X connect 14 0 16 0; #X connect 15 0 14 0; #X restore 64 100 pd rename; -#N canvas 472 296 479 442 \$0-buffers 0; +#N canvas 206 153 479 442 \$0-buffers 1; +#X obj 6 20 cnv 15 448 80 empty empty empty 3 10 2 14 #e0e0e0 #404040 0; +#N canvas 0 22 450 300 ch0_1110 0; +#X array 0-buff1_1003 87741 float 2; +#X coords 0 1 87741 -1 450 82 2 0 0; +#X restore 5 19 pd ch0_1110; +#X obj 6 120 cnv 15 448 80 empty empty empty 3 10 2 14 #e0e0e0 #404040 0; +#N canvas 0 22 450 300 ch1_1110 0; +#X array 1-buff1_1003 87741 float 2; +#X coords 0 1 87741 -1 450 82 2 0 0; +#X restore 5 119 pd ch1_1110; #X coords 0 0 0 0 10 20 0; #X restore 627 59 pd \$0-buffers; #N canvas 386 286 457 330 clear 0; @@ -74,7 +84,7 @@ #X msg 149 241 \; \$1-\$3 const \$2; #X obj 104 79 route bang; #X msg 104 103 1; -#N canvas 143 25 666 661 sin 0; +#N canvas 447 25 666 661 sin 0; #X obj 319 197 r \$0-name; #X obj 274 221 pack f s; #X obj 131 292 cyclone/uzi 1 0; @@ -804,7 +814,7 @@ #X connect 14 1 2 0; #X connect 14 1 0 1; #X restore 459 96 pd getdeltas; -#N canvas 286 46 809 742 kaiser 0; +#N canvas 286 23 809 723 kaiser 0; #X obj 380 359 r \$0-name; #X obj 335 383 pack f s; #X obj 143 317 cyclone/uzi 1 0; @@ -1112,22 +1122,23 @@ #X connect 9 0 10 0; #X connect 10 0 11 0; #X restore 473 128 pd norm; -#N canvas 239 23 768 460 resize 0; -#X obj 431 165 s \$0-size; -#X obj 217 114 cyclone/mstosamps~; -#X obj 217 78 inlet; -#X obj 345 82 inlet; -#X obj 338 253 cyclone/uzi 1 0; -#X obj 307 205 v ch_\$0; -#X obj 598 237 r \$0-name; -#X obj 463 263 pack float float symbol; -#X obj 345 154 t b f; -#X obj 308 228 sel 1; -#X obj 345 279 r \$0-name; -#X obj 321 329 pack s f; -#X obj 296 300 symbol; -#X msg 463 287 \; \$1-\$3 resize \$2; -#X msg 321 357 \; \$1 resize \$2; +#N canvas 474 139 605 478 resize 0; +#X obj 345 237 s \$0-size; +#X obj 175 143 cyclone/mstosamps~; +#X obj 175 77 inlet; +#X obj 303 81 inlet; +#X obj 176 266 cyclone/uzi 1 0; +#X obj 149 218 v ch_\$0; +#X obj 398 305 r \$0-name; +#X obj 263 331 pack float float symbol; +#X obj 303 183 t b f; +#X obj 149 241 sel 1; +#X obj 182 308 r \$0-name; +#X obj 179 368 pack s f; +#X obj 149 329 symbol; +#X msg 263 355 \; \$1-\$3 resize \$2; +#X msg 179 396 \; \$1 resize \$2; +#X obj 192 111 r \$0-set-size; #X connect 1 1 8 0; #X connect 2 0 1 0; #X connect 3 0 8 0; @@ -1144,6 +1155,7 @@ #X connect 10 0 12 1; #X connect 11 0 14 0; #X connect 12 0 11 0; +#X connect 15 0 1 0; #X restore 347 100 pd resize; #N canvas 245 23 711 512 crop 0; #X obj 269 30 inlet; @@ -1214,21 +1226,21 @@ #X connect 26 0 23 0; #X connect 26 1 20 0; #X restore 514 101 pd crop; -#N canvas 709 338 322 283 soundfiler 0; +#N canvas 602 260 489 406 soundfiler 0; #X obj 192 102 list prepend; #X obj 192 129 list; #X obj 65 104 list append; -#X obj 65 134 list trim; -#X obj 166 168 r \$0-resize; -#X obj 65 168 soundfiler; -#X msg 166 200 1; -#X obj 65 203 spigot; -#X obj 65 236 s \$0-size; +#X obj 65 164 list trim; +#X obj 166 198 r \$0-resize; +#X obj 65 198 soundfiler; +#X msg 166 230 1; +#X obj 65 233 spigot; +#X obj 65 266 s \$0-size; #X obj 192 43 inlet; #X obj 65 42 inlet; #X msg 192 74 \$1-\$2; -#X obj 128 43 inlet; -#X msg 128 71 \$2; +#X obj 148 43 inlet; +#X msg 148 71 \$2; #X connect 0 0 1 0; #X connect 1 0 0 1; #X connect 1 0 2 1; @@ -1242,7 +1254,7 @@ #X connect 10 0 2 0; #X connect 11 0 0 0; #X connect 12 0 13 0; -#X connect 13 0 2 1; +#X connect 13 0 1 0; #X restore 581 142 pd soundfiler; #N canvas 836 309 267 305 load-args 0; #N canvas 148 313 507 387 channels 0; @@ -1412,7 +1424,7 @@ #X connect 35 0 33 0; #X connect 36 0 35 0; #X restore 75 109 pd 2nd_arg; -#N canvas 668 110 822 542 3rd_arg_(size) 0; +#N canvas 544 110 822 542 3rd_arg_(size) 0; #X obj 363 291 t b f; #X obj 546 432 s \$0-size; #X obj 546 407 max 1; @@ -1599,17 +1611,13 @@ #X obj 319 339 route wav aiff aif caf; #X msg 827 445 -caf; #N canvas 217 23 560 646 check 0; -#X msg 158 328 \$1 file not found; #X obj 101 303 file which; #X obj 101 277 list append 1; -#X obj 101 65 inlet; -#X obj 158 359 print [buffer~]; -#X obj 101 221 list split 1, f 14; -#X obj 102 182 list; +#X obj 100 65 inlet; +#X obj 101 243 list split 1, f 14; +#X obj 101 182 list; #X obj 262 464 list; #X msg 212 424 read; -#X obj 283 315 t l b; -#X obj 331 313 s \$0-read; #X obj 332 510 list; #N canvas 93 74 401 299 start 0; #X obj 100 157 cyclone/pak -skip 0; @@ -1625,27 +1633,23 @@ #X connect 3 0 0 1; #X connect 4 0 5 0; #X connect 6 0 2 0; -#X restore 283 371 pd start; -#X obj 283 342 unpack float float float; -#N canvas 339 115 364 323 size 0; -#X obj 76 96 cyclone/mstosamps~; -#X obj 76 72 max 0; -#X obj 181 120 expr rint($f1); +#X restore 283 331 pd start; +#X obj 283 302 unpack float float float; +#N canvas 339 115 377 334 size 0; #X obj 181 239 outlet; -#X obj 76 38 inlet; -#X obj 89 131 r \$0-resize; -#X msg 89 187 -resize; -#X msg 181 156 -maxsize \$1; -#X obj 101 160 r \$0-read; -#X connect 0 1 2 0; -#X connect 1 0 0 0; -#X connect 2 0 7 0; -#X connect 4 0 1 0; -#X connect 5 0 6 0; -#X connect 6 0 3 0; -#X connect 7 0 3 0; -#X connect 8 0 6 0; -#X restore 353 370 pd size; +#X obj 76 83 inlet; +#X obj 200 143 r \$0-resize; +#X msg 200 199 -resize; +#X obj 212 172 r \$0-read; +#X obj 76 159 s \$0-set-size; +#X obj 76 112 trigger float bang; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 6 0 5 0; +#X connect 6 1 0 0; +#X restore 353 330 pd size; #N canvas 93 74 401 299 ch 0; #X obj 100 157 cyclone/pak -skip 0; #X obj 106 111 cyclone/mstosamps~; @@ -1663,35 +1667,36 @@ #X connect 4 0 5 0; #X connect 6 0 2 0; #X connect 7 0 8 0; -#X restore 424 369 pd ch; +#X restore 424 329 pd ch; #X obj 101 390 trigger symbol bang; #X obj 101 554 outlet; #X obj 332 554 outlet; -#X obj 331 287 b; -#X connect 0 0 4 0; -#X connect 1 0 16 0; -#X connect 1 1 0 0; -#X connect 2 0 1 0; -#X connect 3 0 6 0; -#X connect 5 0 2 0; -#X connect 5 1 19 0; +#X obj 158 364 print Warning; +#X msg 158 328 [buffer~]\$1 file not found, f 15; +#X obj 101 210 t l b; +#X obj 145 211 s \$0-read; +#X connect 0 0 12 0; +#X connect 0 1 16 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 3 1 9 0; +#X connect 4 0 17 0; +#X connect 5 0 7 0; #X connect 6 0 5 0; -#X connect 7 0 11 0; -#X connect 8 0 7 0; -#X connect 9 0 13 0; +#X connect 7 0 14 0; +#X connect 8 0 5 1; +#X connect 9 0 8 0; #X connect 9 1 10 0; -#X connect 11 0 18 0; -#X connect 12 0 7 1; -#X connect 13 0 12 0; -#X connect 13 1 14 0; -#X connect 13 2 15 0; -#X connect 14 0 11 1; -#X connect 16 0 17 0; -#X connect 16 1 8 0; -#X connect 19 0 10 0; +#X connect 9 2 11 0; +#X connect 10 0 7 1; +#X connect 12 0 13 0; +#X connect 12 1 6 0; +#X connect 16 0 15 0; +#X connect 17 0 3 0; +#X connect 17 1 18 0; #X restore 145 177 pd check; #X obj 121 255 list prepend; -#X obj 148 471 print ========>; #X connect 0 0 3 0; #X connect 0 0 42 0; #X connect 1 0 2 0; @@ -1757,7 +1762,6 @@ #X connect 41 0 0 0; #X connect 41 1 42 1; #X connect 42 0 18 0; -#X connect 42 0 43 0; #X restore 581 101 pd read/write; #N canvas 147 315 743 423 init-buffers 0; #X obj 340 246 send pd-\$0-buffers; diff --git a/documentation/extra_files/browser-cyclone.tcl b/documentation/extra_files/browser-cyclone.tcl index 146a2721..91865247 100644 --- a/documentation/extra_files/browser-cyclone.tcl +++ b/documentation/extra_files/browser-cyclone.tcl @@ -21,17 +21,24 @@ proc menu_send_cyclone_obj {w x y item} { } } - # set nested list proc category_cyclone_menu::load_menutree {} { set menutree { {cyclone {lib {cyclone}} - {max - {accum acos acosh active anal append asin asinh atanh atodb bangbang bondo borax bucket buddy capture cartopol clip coll comment cosh counter cycle dbtoa decide decode drunk flush forward fromsymbol funbuff funnel gate grab histo iter join linedrive listfunnel loadmess match maximum mean midiflush midiformat midiparse minimum mousefilter mousestate mtr next offer onebang pak past peak poltocar pong prepend prob pv rdiv rminus round scale seq sinh speedlim spell split spray sprintf substitute sustain switch table tanh thresh togedge tosymbol trough universal unjoin urn uzi xbendin xbendin2 xbendout xbendout2 xnotein xnoteout zl}} - {msp - {acos~ acosh~ allpass~ asin~ asinh~ atan~ atan2~ atanh~ atodb~ average~ avg~ bitand~ bitnot~ bitor~ bitsafe~ bitshift~ bitxor~ buffer~ buffir~ capture~ cartopol~ change~ click~ clip~ comb~ cosh~ cosx~ count~ cross~ curve~ cycle~ dbtoa~ degrade~ delay~ delta~ deltaclip~ downsamp~ edge~ equals~ frameaccum~ framedelta~ gate~ greaterthan~ greaterthaneq~ index~ kink~ lessthan~ lessthaneq~ line~ lookup~ lores~ matrix~ maximum~ minimum~ minmax~ modulo~ mstosamps~ notequals~ number~ onepole~ overdrive~ peakamp~ peek~ phaseshift~ phasewrap~ pink~ play~ plusequals~ poke~ poltocar~ pong~ pow~ rampsmooth~ rand~ rdiv~ record~ reson~ rminus~ round~ sah~ sampstoms~ scale~ scope_dialog~ scope~ selector~ sinh~ sinx~ slide~ snapshot~ spike~ svf~ tanh~ tanx~ teeth~ thresh~ train~ trapezoid~ triangle~ trunc~ vectral~ wave~ zerox~}} + {max\ math + {accum acos acosh asin asinh atanh atodb cartopol clip cosh dbtoa maximum mean minimum poltocar pong rdiv rminus round scale sinh tanh}} + {max\ midi + {borax flush midiflush midiformat midiparse seq sustain xbendin xbendin2 xbendout xbendout2 xnotein xnoteout}} + {max\ others + {active anal append bangbang bondo bucket buddy capture coll comment counter cycle decide decode drunk forward fromsymbol funbuff funnel gate grab histo iter join linedrive listfunnel loadmess match mousefilter mousestate mtr next offer onebang pak past peak prepend prob pv speedlim spell split spray sprintf substitute switch table thresh togedge tosymbol trough universal unjoin urn uzi zl}} + {msp\ math + {acos~ acosh~ asin~ asinh~ atan~ atan2~ atanh~ atodb~ average~ avg~ bitand~ bitnot~ bitor~ bitsafe~ bitshift~ bitxor~ cartopol~ clip~ cosh~ cosx~ dbtoa~ delta~ equals~ greaterthan~ greaterthaneq~ lessthan~ lessthaneq~ maximum~ minimum~ modulo~ mstosamps~ notequals~ plusequals~ poltocar~ pong~ pow~ rdiv~ rminus~ round~ sampstoms~ scale~ sinh~ sinx~ tanh~ tanx~ trunc~}} + {msp\ filters + {allpass~ buffir~ comb~ cross~ deltaclip~ lores~ onepole~ phaseshift~ rampsmooth~ reson~ slide~ svf~ teeth~}} + {msp\ others + {capture~ change~ click~ count~ curve~ cycle~ degrade~ delay~ downsamp~ edge~ frameaccum~ framedelta~ gate~ index~ kink~ line~ lookup~ matrix~ minmax~ number~ overdrive~ peakamp~ peek~ phasewrap~ pink~ play~ poke~ rand~ record~ sah~ scope~ selector~ snapshot~ spike~ thresh~ train~ trapezoid~ triangle~ vectral~ wave~ zerox~}} } } return $menutree diff --git a/documentation/help_files/bucket-help.pd b/documentation/help_files/bucket-help.pd index 107c01d5..4c8d0220 100644 --- a/documentation/help_files/bucket-help.pd +++ b/documentation/help_files/bucket-help.pd @@ -76,9 +76,9 @@ #X obj 88 224 cyclone/bucket 4 1; #X obj 88 173 random 100; #X text 174 494 - output flag: <0> (default) holds the input and passes it on the next round \, <1> outputs the input immediately; -#X text 49 87 As [bucket] is input with floats \, it outputs them shiftting from outlet to outlet in a rotational pattern (or "passing the bucket" as in a ucket brigade).; #X obj 3 4 header bucket; #X text 22 62 Pass numbers from outlet to outlet; +#X text 49 87 As [bucket] is input with floats \, it outputs them shiftting from outlet to outlet in a rotational pattern (or "passing the bucket" as in a bucket brigade).; #X connect 5 0 45 0; #X connect 16 0 44 0; #X connect 27 0 34 0; diff --git a/documentation/help_files/buffer~-help.pd b/documentation/help_files/buffer~-help.pd index 4caaede3..3d847fc9 100644 --- a/documentation/help_files/buffer~-help.pd +++ b/documentation/help_files/buffer~-help.pd @@ -1,4 +1,4 @@ -#N canvas 457 27 561 488 10; +#N canvas 393 61 561 488 10; #X declare -stdpath ./; #X obj 5 462 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0; #X obj 5 281 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0; @@ -40,7 +40,7 @@ #X connect 8 0 24 0; #X connect 13 0 12 0; #X restore 434 250 pd related objects; -#N canvas 538 103 787 401 read/write 0; +#N canvas 493 127 787 401 read/write 0; #X msg 447 63 read; #X msg 466 94 open; #X msg 507 95 close; @@ -55,7 +55,6 @@ #X text 588 147 reloads the last opened file; #X text 627 174 writes contents of buffer into a file, f 20; #X text 559 227 without symbol: opens dialog box, f 17; -#X text 25 89 The "write" mesaage Saves the contents of [buffer~] into an audio file. A standard file dialog is opened for naming the file unless the word write is followed by a symbol \, in which case the file is saved in the current default folder \, using the symbol as the filename.; #X text 26 164 You can also specify a sound file format in the symbol (such as "test.wav" \, but if you don't specify a format \, [buffer~] will save in same format of the most recently opened audio file or the last given "filetype" message. By default \, [buffer~] saves in AIFF format.; #X text 27 239 For last \, "writeaiff" and "writewave" messages can write a filename to the specified format.; #X text 239 327 Numerical values are \; 16 - 16-bit integer (default) \; 24 - 24-bit integer \;; @@ -63,20 +62,20 @@ #X obj 428 274 cyclone/buffer~ buff2_\$0 -1 2; #X text 533 22 read a file specified by a symbol (.wav \, .aif/.aiff or .caf), f 33; #X text 540 200 formats: .wav \, .aif/.aiff or .caf; -#X text 25 35 You can specify a sound file to load as the second argument or via the "read" message. Buffer can currently load 'wav' and 'aif/aiff' sound files.; -#X text 449 310 symbol values are \; int16 - 16-bit integer (default) \; int24 - 24-bit integer \; float32 - 32-bit float \; float64 - 64-bit float (use double precision Pd for this feature), f 44; -#X connect 0 0 19 0; -#X connect 1 0 19 0; -#X connect 2 0 19 0; -#X connect 3 0 19 0; -#X connect 4 0 19 0; -#X connect 7 0 19 0; -#X connect 9 0 19 0; -#X connect 10 0 19 0; +#X text 449 310 symbol values are \; int16 - 16-bit integer (default) \; int24 - 24-bit integer \; float32 - 32-bit float \; float64 - 64-bit float (use double precision Pd for this feature), f 36; +#X text 25 89 The "write" mesaage saves the contents of [buffer~] into an audio file. A standard file dialog is opened for naming the file unless the word write is followed by a symbol \, in which case the file is saved in the current default folder \, using the symbol as the filename.; +#X text 25 35 You can specify a sound file to load as the second argument or via the "read" message. Buffer can currently load 'wav' \, 'aif/aiff' and 'caf' sound files.; +#X connect 0 0 18 0; +#X connect 1 0 18 0; +#X connect 2 0 18 0; +#X connect 3 0 18 0; +#X connect 4 0 18 0; +#X connect 7 0 18 0; +#X connect 9 0 18 0; +#X connect 10 0 18 0; #X restore 464 199 pd read/write; #X msg 254 158 start; #X msg 120 200 open; -#X text 74 84 [buffer~] stores audio in a memory buffer. It read/writes multichannel audio files and can be used in conjunction with [play~] and other related objects. This is an abstraction without the full functionalitites from the Max/MSP original.; #X obj 5 421 cnv 3 550 3 empty empty attributes 8 12 0 13 #dcdcdc #000000 0; #X text 162 427 @size (sets buffer size in ms), f 44; #X text 156 442 @samps (sets buffer size in samples), f 45; @@ -107,60 +106,63 @@ #X msg 109 172 crop 140 480; #X msg 38 172 readagain; #X msg 163 206 wclose; -#N canvas 647 158 511 331 All_Messages 0; +#N canvas 597 228 513 396 All_Messages 1; #X text 94 6 clear; -#X text 100 157 open; +#X text 100 179 open; #X text 139 6 - fills all arrays with zeros, f 59; -#X text 139 157 - opens buffer supbatch window, f 59; -#X text 139 173 - closes buffer supbatch window, f 59; -#X text 139 242 - changes the buffer name, f 59; -#X text 46 40 read ; -#X text 40 73 write ; -#X text 46 258 name ; -#X text 52 241 set ; -#X text 139 259 - same as 'name', f 59; -#X text 34 291 setsize ; -#X text 139 292 - sets buffer size in ms, f 59; -#X text 34 308 sizeinsamps ; -#X text 139 309 - sets buffer size in samples, f 59; -#X text 70 56 readagain; -#X text 46 274 normalize ; -#X text 139 275 - normalizes to the given float value, f 59; -#X text 64 208 fill ; -#X text 139 208 - see [pd function/generators] above, f 59; -#X text 139 224 - see [pd function/generators] above, f 59; -#X text 58 224 apply ; -#X text 22 140 filetype ; -#X text 139 140 - symbol sets file type to write ("wave" or "aiff"), f 59; -#X text 139 40 - sets file to load from (no symbol opens dialog box), f 59; -#X text 139 73 - sets file to write to (no symbol opens dialog box), f 59; +#X text 139 179 - opens buffer supbatch window, f 59; +#X text 139 195 - closes buffer supbatch window, f 59; +#X text 139 264 - changes the buffer name, f 59; +#X text 40 95 write ; +#X text 46 280 name ; +#X text 52 263 set ; +#X text 139 281 - same as 'name', f 59; +#X text 34 313 setsize ; +#X text 34 330 sizeinsamps ; +#X text 70 78 readagain; +#X text 46 296 normalize ; +#X text 139 297 - normalizes to the given float value, f 59; +#X text 64 230 fill ; +#X text 139 230 - see [pd function/generators] above, f 59; +#X text 139 246 - see [pd function/generators] above, f 59; +#X text 58 246 apply ; +#X text 22 162 filetype ; +#X text 139 162 - symbol sets file type to write ("wave" or "aiff"), f 59; +#X text 139 95 - sets file to write to (no symbol opens dialog box), f 59; #X text 58 23 crop ; #X text 139 23 - trims the sample to a range in ms and resizes the buffer, f 59; -#X text 139 56 - reads and loads the previously opened file again, f 59; -#X text 88 173 wclose; -#X text 16 106 writewave ; -#X text 16 123 writeaiff ; -#X text 139 123 - sets file to write in aiff (no symbol opens dialog box), f 59; -#X text 139 106 - sets file to write in wave (no symbol opens dialog box), f 59; -#X text 52 89 format ; -#X text 139 89 - sets bit depth - see [pd read/write] for details, f 59; -#X text 64 189 sr ; -#X text 139 189 - sets sample rate for writing a file (default: Patch's), f 59; +#X text 139 78 - reads and loads the previously opened file again, f 59; +#X text 88 195 wclose; +#X text 16 128 writewave ; +#X text 16 145 writeaiff ; +#X text 139 145 - sets file to write in aiff (no symbol opens dialog box), f 59; +#X text 139 128 - sets file to write in wave (no symbol opens dialog box), f 59; +#X text 52 111 format ; +#X text 139 111 - sets bit depth - see [pd read/write] for details, f 59; +#X text 64 211 sr ; +#X text 139 211 - sets sample rate for writing a file (default: Patch's), f 59; +#X text 139 314 - sets buffer size in ms (you can also use 'size'*), f 59; +#X text 139 331 - sets buffer size in samples (you can also use 'samps'*), f 59; +#X text 148 363 * as these are attributes names; +#X text 58 40 read ; +#X text 139 40 -, f 1; +#X text 151 39 needs a symbol file name to load and optional args (just 'read' opens dialog box) \, 1st is start in ms \, 2nd is duration in ms and 3rd number of channels, f 57; #X restore 374 290 pd All_Messages; #X text 124 291 click to open and check all messages: =>; #X text 175 352 - buffer name, f 60; #X text 176 398 - channels (1 to 64) default 1 or audio file's (if given); #X obj 254 185 cyclone/play~ buff1_\$0 2; -#X obj 109 234 cyclone/buffer~ buff1_\$0 stereo.aif, f 19; #X text 176 382 - buffer size in ms (default 0 or -1 if audio file is given); #X obj 254 217 output~; #X text 25 58 Audio buffer; #X obj 431 166 declare -stdpath ./; #X obj 2 2 header buffer~; -#X connect 13 0 27 0; -#X connect 14 0 28 0; -#X connect 20 0 28 0; -#X connect 21 0 28 0; -#X connect 22 0 28 0; -#X connect 27 0 30 0; -#X connect 27 1 30 1; +#X obj 109 234 cyclone/buffer~ buff1_\$0 stereo.aif, f 19; +#X text 62 89 [buffer~] stores audio in a memory buffer (an array). It read/writes multichannel audio files and can be used in conjunction with [play~] and other related objects. This is an abstraction without the full functionalitites or compatibility to the MAX original., f 68; +#X connect 13 0 26 0; +#X connect 14 0 32 0; +#X connect 19 0 32 0; +#X connect 20 0 32 0; +#X connect 21 0 32 0; +#X connect 26 0 28 0; +#X connect 26 1 28 1;