From 0f77cab8777a3786591075097205d1da457f9fd2 Mon Sep 17 00:00:00 2001 From: Martin Peach Date: Tue, 11 Mar 2008 17:29:21 +0000 Subject: Updated to reflect new write message, and example uses real noteoffs instead of zero-velocity noteons. svn path=/trunk/externals/mrpeach/; revision=9560 --- midifile/midifile-help.pd | 373 ++++++++++++++++++++++++++-------------------- 1 file changed, 212 insertions(+), 161 deletions(-) diff --git a/midifile/midifile-help.pd b/midifile/midifile-help.pd index 62e7826..9ac6e86 100755 --- a/midifile/midifile-help.pd +++ b/midifile/midifile-help.pd @@ -1,69 +1,110 @@ -#N canvas 40 557 466 316 12; -#N canvas 0 0 690 635 midifile_write 0; +#N canvas 375 332 399 237 12; +#N canvas 549 72 690 635 midifile_write 0; #X obj 15 2 bng 45 250 50 0 empty empty choose 5 23 0 8 -62784 -260818 -258699; -#X text 450 563 Martin Peach \, 2005; -#X obj 130 77 tgl 45 0 empty empty record 2 23 0 8 -258699 -241291 +#X obj 130 51 tgl 45 0 empty empty record 2 23 0 8 -258699 -241291 -24198 0 1; #X floatatom 125 585 15 0 0 0 tick - -; -#X obj 130 206 metro 2; -#X floatatom 181 149 15 0 0 0 - - -; -#X msg 181 123 2.005; -#X msg 267 433 flush; -#X obj 275 304 makenote; -#X obj 275 334 pack f f; -#X msg 251 237 60; -#X msg 304 237 127; -#X msg 358 237 100; -#X floatatom 251 263 5 0 0 0 - - -; -#X floatatom 304 263 5 0 0 0 - - -; -#X floatatom 358 263 5 0 0 0 - - -; -#X obj 275 364 list prepend 144; -#X obj 398 325 + 144; -#X floatatom 398 301 5 0 0 0 - - -; -#X text 447 301 channel; -#X text 448 323 note-on; +#X obj 130 151 metro 2; +#X floatatom 176 123 15 0 0 0 - - -; +#X msg 176 97 2.005; +#X msg 262 180 60; +#X msg 336 180 127; +#X floatatom 262 206 5 0 0 0 - - -; +#X floatatom 336 206 5 0 0 0 - - -; +#X obj 262 276 list prepend 144; +#X obj 371 253 + 144; +#X floatatom 371 229 5 0 0 0 - - -; +#X text 408 228 channel; +#X text 412 252 note-on; #X msg 17 482 verbose \$1; #X text 5 437 verbosity defaults to 1; -#X text 76 14 1: open a file for writing; -#X text 199 89 2: start recording; -#X text 439 239 3: input MIDI as lists; -#X text 317 434 4: stop recording and save the file; -#X obj 131 525 midifile; -#X obj 15 358 savepanel; -#X msg 185 388 240 1 2 3 4 247; -#X text 320 388 a sysex message; +#X text 64 14 1: open a file for writing; +#X text 182 62 2: start recording; +#X obj 15 181 savepanel; +#X msg 300 433 240 1 2 3 4 247; +#X text 414 432 a sysex message; #X obj 125 555 float; -#X msg 15 389 write \$1; #X floatatom 17 456 5 0 0 0 - - -; -#X connect 0 0 28 0; -#X connect 2 0 4 0; -#X connect 4 0 27 0; -#X connect 5 0 4 1; -#X connect 6 0 5 0; -#X connect 7 0 27 0; -#X connect 8 0 9 0; -#X connect 8 1 9 1; -#X connect 9 0 16 0; -#X connect 10 0 13 0; -#X connect 11 0 14 0; -#X connect 12 0 15 0; -#X connect 13 0 8 0; -#X connect 14 0 8 1; -#X connect 15 0 8 2; -#X connect 16 0 27 0; -#X connect 17 0 16 1; -#X connect 18 0 17 0; -#X connect 21 0 27 0; -#X connect 27 1 31 1; -#X connect 27 2 31 0; -#X connect 28 0 32 0; -#X connect 29 0 27 0; -#X connect 31 0 3 0; -#X connect 32 0 27 0; -#X connect 33 0 21 0; +#X msg 15 402 write \$1 \$2 \$3; +#X msg 171 269 29; +#X msg 209 269 30; +#X msg 55 269 0; +#X floatatom 96 313 5 0 0 0 - - -; +#X text 140 311 ticks per frame; +#X text 139 327 (ticks per quarter note if frames per second is zero) +; +#X msg 133 269 25; +#X msg 93 269 24; +#X text 143 344 25 20 will give accurate timing with metro ticks at +2ms; +#X obj 15 369 pack s 25 20; +#X text 450 589 Martin Peach \, 2008; +#X obj 131 525 midifile; +#X obj 475 249 pack f f; +#X msg 475 195 60; +#X msg 528 195 127; +#X floatatom 475 221 5 0 0 0 - - -; +#X floatatom 528 221 5 0 0 0 - - -; +#X floatatom 585 229 5 0 0 0 - - -; +#X text 623 228 channel; +#X obj 585 253 + 128; +#X text 626 251 note-off; +#X obj 262 246 pack 60 127; +#X obj 475 276 list prepend 128; +#X text 37 249 time code frames per second:; +#X text 281 372 default is 90 ticks per quarter note; +#X msg 146 373 write filename.mid; +#X msg 159 398 write filename.mid 77; +#X text 319 398 77 ticks per quarter note; +#X obj 294 466 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 333 464 4: stop recording and save the file; +#X msg 285 466 flush; +#X obj 262 157 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577 +0; +#X text 281 157 3: input MIDI as lists; +#X connect 0 0 19 0; +#X connect 1 0 3 0; +#X connect 3 0 36 0; +#X connect 4 0 3 1; +#X connect 5 0 4 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 46 0; +#X connect 9 0 46 1; +#X connect 10 0 36 0; +#X connect 11 0 10 1; +#X connect 12 0 11 0; +#X connect 15 0 36 0; +#X connect 19 0 34 0; +#X connect 20 0 36 0; +#X connect 22 0 2 0; +#X connect 23 0 15 0; +#X connect 24 0 36 0; +#X connect 25 0 34 1; +#X connect 26 0 34 1; +#X connect 27 0 34 1; +#X connect 28 0 34 2; +#X connect 31 0 34 1; +#X connect 32 0 34 1; +#X connect 34 0 24 0; +#X connect 36 1 22 1; +#X connect 36 2 22 0; +#X connect 37 0 47 0; +#X connect 38 0 40 0; +#X connect 39 0 41 0; +#X connect 40 0 37 0; +#X connect 41 0 37 1; +#X connect 42 0 44 0; +#X connect 44 0 47 1; +#X connect 46 0 10 0; +#X connect 47 0 36 0; +#X connect 50 0 36 0; +#X connect 51 0 36 0; +#X connect 55 0 36 0; #X restore 76 116 pd midifile_write; -#N canvas 415 76 819 897 midifile_read 0; +#N canvas 415 10 819 897 midifile_read 0; #X obj 47 206 bng 15 250 50 0 empty empty step 18 7 0 12 -4160 -257985 -1; #X obj 31 45 openpanel; @@ -113,7 +154,7 @@ #X msg 31 65 read \$1; #X floatatom 576 274 5 0 0 0 - - -; #X obj 576 259 hradio 15 1 1 4 empty empty verbosity 0 -6 0 12 -62784 --241291 -1 1; +-241291 -1 2; #X obj 40 733 osc~; #X obj 234 107 - 1; #X text 275 107 -1 = output all tracks; @@ -185,7 +226,6 @@ #X obj 492 514 select 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143; #X text 970 523 note off events; -#X msg 86 733 \$1 10; #X obj 86 753 line~; #X obj 65 773 *~; #X obj 40 662 t b b; @@ -197,7 +237,6 @@ #X obj 220 693 float; #X obj 174 693 float; #X obj 174 733 osc~; -#X msg 220 733 \$1 10; #X obj 220 753 line~; #X obj 199 773 *~; #X obj 174 662 t b b; @@ -207,19 +246,17 @@ #X obj 344 693 float; #X obj 298 693 float; #X obj 298 733 osc~; -#X msg 344 733 \$1 10; #X obj 344 753 line~; #X obj 323 773 *~; #X obj 299 662 t b b; #X msg 386 673 0; #X obj 298 713 mtof; -#X obj 7 645 vsl 15 128 0 1 0 0 empty empty volume 0 -9 0 12 -4160 --257985 -1 0 1; +#X obj 7 645 vsl 15 128 0 1 0 1 empty empty volume 0 -9 0 12 -4160 +-257985 -1 3000 1; #X obj 467 713 / 127; #X obj 467 693 float; #X obj 421 693 float; #X obj 421 733 osc~; -#X msg 467 733 \$1 10; #X obj 467 753 line~; #X obj 446 773 *~; #X obj 422 662 t b b; @@ -229,7 +266,6 @@ #X obj 588 693 float; #X obj 542 693 float; #X obj 542 733 osc~; -#X msg 588 733 \$1 10; #X obj 588 753 line~; #X obj 567 773 *~; #X obj 543 662 t b b; @@ -243,19 +279,28 @@ #X obj 381 547 r vel; #X text 248 859 Martin Peach \, 2008; #X msg 358 13 read I_Wanna_Be_Sedated.mid; -#X connect 0 0 132 0; +#X msg 86 733 \$1 100; +#X msg 220 732 \$1 100; +#X msg 344 733 \$1 100; +#X msg 467 733 \$1 100; +#X msg 588 733 \$1 100; +#X obj 137 864 writesf~ 2; +#X msg 680 805 start; +#X msg 676 830 stop; +#X msg 538 817 open iwbs2.wav; +#X connect 0 0 127 0; #X connect 1 0 39 0; #X connect 2 0 1 0; #X connect 3 0 12 0; -#X connect 4 0 132 0; +#X connect 4 0 127 0; #X connect 6 0 24 1; #X connect 7 0 8 0; -#X connect 8 0 132 0; -#X connect 9 0 132 0; -#X connect 10 0 132 0; +#X connect 8 0 127 0; +#X connect 9 0 127 0; +#X connect 10 0 127 0; #X connect 11 0 43 0; -#X connect 12 0 132 0; -#X connect 16 0 132 0; +#X connect 12 0 127 0; +#X connect 16 0 127 0; #X connect 17 0 12 1; #X connect 18 0 17 0; #X connect 23 0 37 0; @@ -266,29 +311,29 @@ #X connect 27 0 45 0; #X connect 27 1 28 0; #X connect 28 0 20 0; -#X connect 28 0 130 0; -#X connect 28 1 129 0; -#X connect 29 0 80 0; +#X connect 28 0 125 0; +#X connect 28 1 124 0; +#X connect 29 0 132 0; #X connect 30 0 29 0; -#X connect 31 0 85 0; -#X connect 32 0 132 0; +#X connect 31 0 84 0; +#X connect 32 0 127 0; #X connect 37 0 3 0; #X connect 38 0 37 1; -#X connect 39 0 132 0; +#X connect 39 0 127 0; #X connect 40 0 32 0; #X connect 41 0 40 0; -#X connect 42 0 82 0; +#X connect 42 0 81 0; #X connect 43 0 10 0; #X connect 45 0 22 0; -#X connect 45 0 83 0; +#X connect 45 0 82 0; #X connect 45 1 47 0; -#X connect 45 1 95 0; +#X connect 45 1 93 0; #X connect 45 2 48 0; -#X connect 45 2 105 0; +#X connect 45 2 102 0; #X connect 45 3 49 0; -#X connect 45 3 116 0; +#X connect 45 3 112 0; #X connect 45 4 50 0; -#X connect 45 4 126 0; +#X connect 45 4 121 0; #X connect 45 5 51 0; #X connect 45 6 52 0; #X connect 45 7 53 0; @@ -302,15 +347,15 @@ #X connect 45 15 61 0; #X connect 45 16 78 0; #X connect 78 0 62 0; -#X connect 78 0 84 0; +#X connect 78 0 83 0; #X connect 78 1 63 0; -#X connect 78 1 96 0; +#X connect 78 1 94 0; #X connect 78 2 64 0; -#X connect 78 2 106 0; +#X connect 78 2 103 0; #X connect 78 3 65 0; -#X connect 78 3 117 0; +#X connect 78 3 113 0; #X connect 78 4 66 0; -#X connect 78 4 127 0; +#X connect 78 4 122 0; #X connect 78 5 67 0; #X connect 78 6 68 0; #X connect 78 7 69 0; @@ -322,77 +367,83 @@ #X connect 78 13 75 0; #X connect 78 14 76 0; #X connect 78 15 77 0; -#X connect 80 0 81 0; -#X connect 81 0 82 1; -#X connect 82 0 87 0; -#X connect 83 0 30 0; -#X connect 83 1 31 0; -#X connect 84 0 30 1; -#X connect 85 0 42 0; -#X connect 87 0 86 0; -#X connect 87 0 86 1; -#X connect 88 0 92 0; -#X connect 89 0 88 0; -#X connect 90 0 97 0; -#X connect 91 0 94 0; -#X connect 92 0 93 0; -#X connect 93 0 94 1; -#X connect 94 0 87 0; -#X connect 95 0 89 0; -#X connect 95 1 90 0; -#X connect 96 0 89 1; -#X connect 97 0 91 0; -#X connect 98 0 102 0; -#X connect 99 0 98 0; -#X connect 100 0 107 0; -#X connect 101 0 104 0; -#X connect 102 0 103 0; -#X connect 103 0 104 1; -#X connect 104 0 87 0; -#X connect 105 0 99 0; -#X connect 105 1 100 0; -#X connect 106 0 99 1; -#X connect 107 0 101 0; -#X connect 108 0 87 1; -#X connect 109 0 113 0; -#X connect 110 0 109 0; -#X connect 111 0 118 0; -#X connect 112 0 115 0; -#X connect 113 0 114 0; -#X connect 114 0 115 1; -#X connect 115 0 87 0; -#X connect 116 0 110 0; -#X connect 116 1 111 0; -#X connect 117 0 110 1; -#X connect 118 0 112 0; -#X connect 119 0 123 0; -#X connect 120 0 119 0; -#X connect 121 0 128 0; -#X connect 122 0 125 0; -#X connect 123 0 124 0; -#X connect 124 0 125 1; -#X connect 125 0 87 0; -#X connect 126 0 120 0; -#X connect 126 1 121 0; -#X connect 127 0 120 1; -#X connect 128 0 122 0; -#X connect 129 0 21 0; -#X connect 129 0 131 0; -#X connect 132 0 27 0; -#X connect 132 1 6 0; -#X connect 132 2 23 0; -#X connect 132 2 36 0; -#X connect 133 0 31 1; -#X connect 133 0 90 1; -#X connect 133 0 100 1; -#X connect 133 0 111 1; -#X connect 133 0 121 1; -#X connect 134 0 30 1; -#X connect 134 0 89 1; -#X connect 134 0 99 1; -#X connect 134 0 110 1; -#X connect 134 0 120 1; -#X connect 136 0 132 0; +#X connect 80 0 81 1; +#X connect 81 0 86 0; +#X connect 82 0 30 0; +#X connect 82 1 31 0; +#X connect 83 0 30 1; +#X connect 84 0 42 0; +#X connect 86 0 85 0; +#X connect 86 0 85 1; +#X connect 86 0 137 0; +#X connect 86 0 137 1; +#X connect 87 0 133 0; +#X connect 88 0 87 0; +#X connect 89 0 95 0; +#X connect 90 0 92 0; +#X connect 91 0 92 1; +#X connect 92 0 86 0; +#X connect 93 0 88 0; +#X connect 93 1 89 0; +#X connect 94 0 88 1; +#X connect 95 0 90 0; +#X connect 96 0 134 0; +#X connect 97 0 96 0; +#X connect 98 0 104 0; +#X connect 99 0 101 0; +#X connect 100 0 101 1; +#X connect 101 0 86 0; +#X connect 102 0 97 0; +#X connect 102 1 98 0; +#X connect 103 0 97 1; +#X connect 104 0 99 0; +#X connect 105 0 86 1; +#X connect 106 0 135 0; +#X connect 107 0 106 0; +#X connect 108 0 114 0; +#X connect 109 0 111 0; +#X connect 110 0 111 1; +#X connect 111 0 86 0; +#X connect 112 0 107 0; +#X connect 112 1 108 0; +#X connect 113 0 107 1; +#X connect 114 0 109 0; +#X connect 115 0 136 0; +#X connect 116 0 115 0; +#X connect 117 0 123 0; +#X connect 118 0 120 0; +#X connect 119 0 120 1; +#X connect 120 0 86 0; +#X connect 121 0 116 0; +#X connect 121 1 117 0; +#X connect 122 0 116 1; +#X connect 123 0 118 0; +#X connect 124 0 21 0; +#X connect 124 0 126 0; +#X connect 127 0 27 0; +#X connect 127 1 6 0; +#X connect 127 2 23 0; +#X connect 127 2 36 0; +#X connect 127 2 139 0; +#X connect 128 0 31 1; +#X connect 128 0 89 1; +#X connect 128 0 98 1; +#X connect 128 0 108 1; +#X connect 128 0 117 1; +#X connect 129 0 30 1; +#X connect 129 0 88 1; +#X connect 129 0 97 1; +#X connect 129 0 107 1; +#X connect 129 0 116 1; +#X connect 131 0 127 0; +#X connect 132 0 80 0; +#X connect 133 0 91 0; +#X connect 134 0 100 0; +#X connect 135 0 110 0; +#X connect 136 0 119 0; +#X connect 138 0 137 0; +#X connect 139 0 137 0; +#X connect 140 0 137 0; #X restore 76 83 pd midifile_read; -#X text 228 234 2006 Martin Peach; #X text 15 10 midifile reads and writes MIDI files.; +#X text 152 170 2008 Martin Peach; -- cgit v1.2.1