aboutsummaryrefslogtreecommitdiff
path: root/midifile/midifile-help.pd
blob: a208b82c77fcf6b5a304feee0d607f1dc9a158a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
#N canvas 375 332 399 237 12;
#N canvas 189 27 888 819 midifile_write 0;
#X obj 324 -2 bng 45 250 50 0 empty empty choose 5 23 0 8 -62784 -260818
-258699;
#X obj 67 51 tgl 45 0 empty empty record 2 23 0 8 -258699 -241291 -24198
0 1;
#X floatatom 553 772 15 0 0 0 tick - -;
#X obj 67 151 metro 2;
#X floatatom 113 109 15 0 0 0 - - -;
#X msg 113 83 2.005;
#X msg 506 590 verbose \$1;
#X text 494 545 verbosity defaults to 1;
#X obj 324 54 savepanel;
#X msg 409 493 240 1 2 3 4 247;
#X text 523 492 a sysex message;
#X obj 553 742 float;
#X floatatom 506 564 5 0 0 0 - - -;
#X msg 324 408 write \$1 \$2 \$3;
#X msg 326 201 29;
#X msg 364 201 30;
#X msg 210 201 0;
#X floatatom 405 275 5 0 0 0 ticks_per_frame - -;
#X text 80 301 (ticks per quarter note if frames per second is zero)
;
#X msg 288 201 25;
#X msg 248 201 24;
#X text 79 322 25 20 will give accurate timing with metro ticks at
2ms;
#X obj 324 375 pack s 25 20;
#X obj 559 663 midifile;
#X text 7 199 time code frames per second:;
#X text 484 432 default is 90 ticks per quarter note;
#X msg 349 433 write filename.mid;
#X msg 374 458 write filename.mid 77;
#X text 534 458 77 ticks per quarter note;
#X msg 442 526 flush;
#X obj 629 96 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X floatatom 515 95 5 0 0 0 note - -;
#X floatatom 515 125 5 0 0 0 velocity - -;
#X obj 559 283 pack 144 0 0;
#X obj 578 129 sel 0;
#X obj 559 156 t b f;
#X obj 559 257 f;
#X text 160 658 Martin Peach \, 2010;
#X text 553 565 set to 3 to debug input;
#X obj 559 75 notein;
#X obj 119 -2 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X text 121 -3 1: open a file for writing:;
#X obj 116 50 cnv 15 200 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X text 118 49 2: start recording;
#X obj 139 526 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X text 157 524 4: stop recording and save the file:;
#X floatatom 513 180 5 0 0 0 channel - -;
#X obj 610 237 +;
#X msg 578 185 127;
#X msg 610 157 143;
#X floatatom 709 313 5 0 0 0 value - -;
#X floatatom 709 344 5 0 0 0 controller - -;
#X floatatom 707 393 5 0 0 0 channel - -;
#X obj 755 293 ctlin;
#X obj 755 447 pack 176 0 0;
#X obj 755 479 print ctl>;
#X obj 580 324 print note>;
#X obj 755 329 t b f;
#X obj 755 393 f;
#X obj 810 336 + 175;
#X text 646 93 3: input MIDI as lists;
#X connect 0 0 8 0;
#X connect 1 0 3 0;
#X connect 3 0 23 0;
#X connect 4 0 3 1;
#X connect 5 0 4 0;
#X connect 6 0 23 0;
#X connect 8 0 22 0;
#X connect 9 0 23 0;
#X connect 11 0 2 0;
#X connect 12 0 6 0;
#X connect 13 0 23 0;
#X connect 14 0 22 1;
#X connect 15 0 22 1;
#X connect 16 0 22 1;
#X connect 17 0 22 2;
#X connect 19 0 22 1;
#X connect 20 0 22 1;
#X connect 22 0 13 0;
#X connect 23 1 11 1;
#X connect 23 2 11 0;
#X connect 26 0 23 0;
#X connect 27 0 23 0;
#X connect 29 0 23 0;
#X connect 33 0 23 0;
#X connect 33 0 56 0;
#X connect 34 0 48 0;
#X connect 34 1 49 0;
#X connect 35 0 36 0;
#X connect 35 1 33 1;
#X connect 36 0 33 0;
#X connect 39 0 31 0;
#X connect 39 0 35 0;
#X connect 39 1 32 0;
#X connect 39 1 34 0;
#X connect 39 1 33 2;
#X connect 39 2 46 0;
#X connect 39 2 47 1;
#X connect 47 0 36 1;
#X connect 48 0 47 0;
#X connect 49 0 47 0;
#X connect 53 0 50 0;
#X connect 53 0 57 0;
#X connect 53 1 51 0;
#X connect 53 1 54 1;
#X connect 53 2 52 0;
#X connect 53 2 59 0;
#X connect 54 0 55 0;
#X connect 54 0 23 0;
#X connect 57 0 58 0;
#X connect 57 1 54 2;
#X connect 58 0 54 0;
#X connect 59 0 58 1;
#X restore 76 116 pd midifile_write;
#N canvas 214 27 1028 899 midifile_read 0;
#X obj 203 523 bng 15 250 50 0 empty empty step 18 7 0 12 -4160 -257985
-1;
#X obj -148 60 openpanel;
#X obj -148 7 bng 45 250 50 0 empty empty choose 3 23 0 12 -62784 -260818
-258699;
#X obj -35 142 tgl 45 0 empty empty play -45 23 0 12 -24198 -1 -258699
0 1;
#X msg 236 474 rewind;
#X text 86 473 go to start of file;
#X floatatom 373 593 15 0 0 0 current_tick - -;
#X obj 80 297 hradio 15 1 0 16 empty empty track_number 0 -6 0 12 -62784
-241291 -1 2;
#X msg 80 318 dump \$1;
#X msg 199 437 68050;
#X msg 24 262 track \$1;
#X obj 24 222 hradio 15 1 0 16 empty empty track_number 0 -6 0 12 -62784
-241291 -1 3;
#X obj -35 203 metro 2;
#X text 29 540 creation arguments: midi_file_name;
#X text 28 519 output only this track;
#X text 143 317 parse this track to main window;
#X msg 260 498 0;
#X text 87 437 goto tick 68050;
#X floatatom 109 699 5 0 0 0 note - -;
#X floatatom 176 699 5 0 0 1 velocity - -;
#X floatatom 752 618 15 0 0 0 last_tick - -;
#X msg 156 394 verbose \$1;
#X text -21 395 verbosity defaults to 1;
#X text -97 2 1: choose a MIDI file to play;
#X text 18 136 2: start playing it;
#X obj 613 558 print ****;
#X obj 280 138 spigot;
#X obj 319 104 tgl 25 0 empty empty loop -45 12 0 12 -4160 -257985
-258113 0 1;
#X msg -148 90 read \$1;
#X floatatom 156 370 5 0 0 0 - - -;
#X obj 156 351 hradio 15 1 0 4 empty empty verbosity 0 -6 0 12 -62784
-241291 -1 0;
#X obj 24 239 - 1;
#X text 689 673 note off events;
#X obj 280 538 midifile wowo.mid;
#X obj 536 254 ctlout 123;
#X msg 536 224 123;
#X obj 280 638 route 144 145 146 147 148 149 150 151 152 153 154 155
156 157 158 159;
#X text 648 374 Martin Peach \, 2010;
#X obj 109 674 unpack 0 0;
#X obj 456 690 route 128 129 130 131 132 133 134 135 136 137 138 139
140 141 142 143;
#X msg -121 117 read I_Wanna_Be_Sedated.mid;
#X obj 536 196 bng 15 250 50 0 empty empty all_notes_off 17 7 0 10
-258113 -257985 -1;
#X obj 720 558 t b b;
#X floatatom -21 259 5 0 0 0 - - -;
#X obj 558 558 bng 15 250 50 0 empty empty end 17 7 0 10 -258113 -257985
-1;
#X text 406 554 bangs at end of file:;
#X obj -118 674 print note_on;
#X obj -119 726 print note_off;
#X obj 280 442 f;
#X floatatom 298 416 9 0 0 0 loop_start_tick - -;
#X obj 720 511 sel 1;
#X floatatom 458 468 9 0 0 0 loop_end_tick - -;
#X text 59 239 -1 = play all tracks;
#X obj 752 596 f;
#X obj 405 491 == 1e+09;
#X text 28 572 MIDI messages are output as lists;
#X text 116 637 select note on events:;
#X obj 280 814 noteout 1;
#X obj 351 814 noteout 2;
#X obj 423 814 noteout 3;
#X obj 494 814 noteout 4;
#X text -73 744 select note on events:;
#X obj 93 745 route 176 177 178 179 180 181 182 183 184 185 186 187
188 189 190 191 192;
#X floatatom 93 812 5 0 0 0 controller - -;
#X floatatom 160 812 5 0 0 1 value - -;
#X obj 93 787 unpack 0 0;
#X obj -119 781 print controller;
#X obj -21 859 ctlout 1;
#X obj -27 833 f;
#X obj -27 807 t b f;
#X connect 0 0 33 0;
#X connect 1 0 28 0;
#X connect 2 0 1 0;
#X connect 3 0 12 0;
#X connect 4 0 33 0;
#X connect 7 0 8 0;
#X connect 8 0 33 0;
#X connect 9 0 33 0;
#X connect 10 0 33 0;
#X connect 11 0 31 0;
#X connect 12 0 33 0;
#X connect 16 0 33 0;
#X connect 21 0 33 0;
#X connect 26 0 48 0;
#X connect 27 0 26 1;
#X connect 28 0 33 0;
#X connect 29 0 21 0;
#X connect 30 0 29 0;
#X connect 31 0 10 0;
#X connect 31 0 43 0;
#X connect 33 0 36 0;
#X connect 33 0 62 0;
#X connect 33 1 6 0;
#X connect 33 1 53 1;
#X connect 33 1 54 0;
#X connect 33 2 25 0;
#X connect 33 2 42 0;
#X connect 33 2 44 0;
#X connect 35 0 34 0;
#X connect 36 0 38 0;
#X connect 36 0 46 0;
#X connect 36 0 57 0;
#X connect 36 1 58 0;
#X connect 36 2 59 0;
#X connect 36 3 60 0;
#X connect 36 16 39 0;
#X connect 38 0 18 0;
#X connect 38 1 19 0;
#X connect 39 0 47 0;
#X connect 39 0 57 0;
#X connect 39 1 58 0;
#X connect 39 2 59 0;
#X connect 39 3 60 0;
#X connect 40 0 33 0;
#X connect 41 0 35 0;
#X connect 42 0 26 0;
#X connect 42 1 53 0;
#X connect 48 0 33 0;
#X connect 49 0 48 1;
#X connect 50 0 42 0;
#X connect 51 0 54 1;
#X connect 53 0 20 0;
#X connect 54 0 50 0;
#X connect 62 0 65 0;
#X connect 62 0 66 0;
#X connect 65 0 63 0;
#X connect 65 0 69 0;
#X connect 65 1 64 0;
#X connect 65 1 68 1;
#X connect 68 0 67 0;
#X connect 69 0 68 0;
#X connect 69 1 67 1;
#X restore 76 83 pd midifile_read;
#X text 15 10 midifile reads and writes MIDI files.;
#X text 152 170 2010/12/11 Martin Peach;