#N canvas 127 -1 1027 898 10;
#X msg 463 10 rewind;
#X obj 392 853 print done;
#X text 575 665 read a file;
#X text 609 686 write one;
#X text 23 356 see also:;
#X text 512 9 go to beginning;
#X msg 466 223 bang;
#X text 474 724 write a file \, terminating lines only with carriage return (omitting semicolons.) You can read files this way too \, in which case carriage returns are mapped to semicolons.;
#X obj 355 871 print list;
#X msg 466 281 clear;
#X text 123 872 this outlet gets the lines in sequence.;
#X msg 470 571 set 2 4 6 8;
#X text 576 570 clear and then add one message;
#X msg 466 388 add cis boom bah;
#X msg 465 407 add2 bang;
#X msg 465 782 print;
#X text 507 784 debugging printout;
#X obj 73 9 msgfile;
#X text 127 9 read and write messages into text files;
#X obj 355 815 msgfile;
#X obj 84 357 textfile;
#X text 18 57 The msgfile object is derived from the textfile object and expands its features.;
#X text 15 97 new features are :;
#X text 127 110 insert \, append \, delete \, replace;
#X msg 464 33 end;
#X text 511 33 go the the end;
#X msg 462 84 skip -1;
#X msg 463 181 next;
#X msg 462 139 prev;
#X msg 462 108 where;
#X text 515 107 where are we now ?;
#X msg 463 160 this;
#X text 516 84 go to the <n>th line from here;
#X text 512 58 go to line number <n>;
#X text 515 220 output one line as a list and move to the next;
#X text 520 282 empty the object;
#X msg 467 321 delete 2;
#X text 9 183 changed behaviour :;
#X text 130 183 add2 : read "add too" \; append to an existing line;
#X text 602 433 insert a message before the current line;
#X text 605 455 add to the previous line (CHANGED BEHAVIOUR !!!);
#X text 567 405 add to the last line (CHANGED BEHAVIOUR !!!);
#X text 568 385 add a message at the end of the object;
#X msg 467 489 append after the break of dawn;
#X text 661 486 add a message at the current position;
#X text 660 506 add to the current line (CHANGED BEHAVIOUR !!!);
#X msg 468 537 replace the new day;
#X text 660 537 replace the current line;
#X msg 466 437 insert before sunrise;
#X msg 466 455 insert2 inserted;
#X msg 467 508 append2 appendix;
#X msg 467 250 flush;
#X text 516 249 output all lines;
#X text 457 836 This outlet gets a bang when you hit the end of the sequence \; it will also get the current position when using "when";
#X msg 467 666 read msgfile.txt;
#X msg 467 708 write /tmp/msgfile2.txt cr;
#X msg 466 761 read msgfile2.txt cr;
#X text 511 139 output the previous line;
#X text 513 179 output the next line;
#X text 511 159 output the current line;
#X msg 462 59 goto 8;
#X msg 467 301 delete;
#X text 521 302 delete the current line;
#X text 524 321 delete the specified line;
#X msg 467 340 delete 4 7;
#X text 535 341 delete the specified region;
#X msg 467 360 delete 7 4;
#X msg 467 687 write /tmp/msgfile.txt;
#X text 538 360 delete all but the specified region;
#X msg 472 600 find test 6;
#X msg 472 619 find test * 7 *;
#X text 576 606 find a matching list ("*" is the only wildcard supported);
#X text 127 97 end \, goto \, skip;
#X text 131 127 flush \, where \, this \, prev \, next;
#X text 128 145 find;
#X text 73 163 read/write can handle csv files too;
#X connect 0 0 19 0;
#X connect 6 0 19 0;
#X connect 9 0 19 0;
#X connect 11 0 19 0;
#X connect 13 0 19 0;
#X connect 14 0 19 0;
#X connect 15 0 19 0;
#X connect 19 0 8 0;
#X connect 19 1 1 0;
#X connect 24 0 19 0;
#X connect 26 0 19 0;
#X connect 27 0 19 0;
#X connect 28 0 19 0;
#X connect 29 0 19 0;
#X connect 31 0 19 0;
#X connect 36 0 19 0;
#X connect 43 0 19 0;
#X connect 46 0 19 0;
#X connect 48 0 19 0;
#X connect 49 0 19 0;
#X connect 50 0 19 0;
#X connect 51 0 19 0;
#X connect 54 0 19 0;
#X connect 55 0 19 0;
#X connect 56 0 19 0;
#X connect 60 0 19 0;
#X connect 61 0 19 0;
#X connect 64 0 19 0;
#X connect 66 0 19 0;
#X connect 67 0 19 0;
#X connect 69 0 19 0;
#X connect 70 0 19 0;
