#N canvas 611 48 560 477 10;
#X obj 3 299 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0
;
#X obj 3 357 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0
;
#X obj 3 415 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1
0;
#X obj 74 306 cnv 3 3 17 empty empty 0-n 5 9 0 16 -228856 -162280 0
;
#X obj 74 328 cnv 3 3 17 empty empty 1-n 5 9 0 16 -228856 -162280 0
;
#X obj 73 367 cnv 17 3 17 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X obj 3 448 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289
0;
#X text 140 369 list;
#X text 116 423 1) float;
#X obj 2 5 cnv 15 553 42 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 554 42 1 0 0;
#X restore 2 4 graph;
#X obj 305 5 cnv 15 250 40 empty empty empty 12 13 0 18 -128992 -233080
0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 304 4 pd;
#X msg 123 154 record;
#X msg 178 154 stop \, play;
#N canvas 493 236 861 358 examples 0;
#X obj 228 72 notein, f 10;
#X obj 147 161 cyclone/gate 4;
#X msg 249 134 record;
#X msg 52 131 play;
#X obj 117 203 cyclone/mtr 4, f 19;
#X obj 144 282 noteout, f 12;
#X text 100 132 track:;
#X obj 144 247 unpack f f f;
#X obj 147 132 nbx 2 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 0 256;
#X obj 228 103 pack f f f;
#X msg 249 167 stop;
#X text 431 205 Line 1: Line 2 \, etc.: Last line: track <track number>
\; (Track in which to store subsequent data) <delta time> <message>
\; end \; (End of this track’s data);
#X text 429 127 In order for a file to be read into [mtr] for playback
\, it must be in the proper format. The contents of the different tracks
are listed in order in the file \, and the format of each track is
as follows. Note that a semicolon ends each line.;
#X text 18 28 Record tracks separately \, then play them back together
;
#X text 429 41 The [mtr] object is not well designed to record raw
MIDI data \, please use [cyclone/seq] isntead. On the other hand \,
mtr is perfectly suited for recording sequences of numbers \, lists
\, or symbols from virtually any object in Pd such as: specialized
MIDI objects ([notein] / [pgmin]) \, GUIs (number box / slider) \,
etc.;
#X connect 0 0 9 0;
#X connect 0 1 9 1;
#X connect 0 2 9 2;
#X connect 1 0 4 1;
#X connect 1 1 4 2;
#X connect 1 2 4 3;
#X connect 1 3 4 4;
#X connect 2 0 1 1;
#X connect 3 0 4 0;
#X connect 4 1 7 0;
#X connect 4 2 7 0;
#X connect 4 3 7 0;
#X connect 4 4 7 0;
#X connect 7 0 5 0;
#X connect 7 1 5 1;
#X connect 7 2 5 2;
#X connect 8 0 1 0;
#X connect 9 0 1 1;
#X connect 10 0 1 1;
#X restore 471 266 pd examples;
#X text 116 330 anything;
#X text 65 89 [mtr] records any messages in different tracks and plays
them back. Each track records what comes into its inlet and plays it
back through the outlet directly below., f 63;
#X text 59 168 recording;
#X text 68 154 start =>;
#X text 250 153 <= stop recording and start playing;
#N canvas 329 23 597 523 All_Messages 0;
#X text 19 38 delay <float> -;
#X text 19 68 first <float> -;
#X text 115 38 in left inlet: sets a delay value in ms for all tracks
to start playing. In other inlets: sets a delay time to that track
only, f 77;
#X text 17 280 read <symbol> -;
#X text 24 8 clear <list> -;
#X text 31 136 mute <list> -;
#X text 31 167 next <list> -;
#X text 30 236 play <list> -;
#X text 115 280 in left inlet: opens a previously saved file with the
symbol name (or opens a dialog box if no symbol is given). In other
inlets: opens a file containing only the track that corresponds to
the inlet, f 77;
#X text 17 324 record <list> -;
#X text 17 367 rewind <list> -;
#X text 29 423 stop <list> -;
#X text 115 8 in left inlet: clears all tracks. If followed track numbers
\, clears those track(s). In other inlets: clears corresponding track
, f 77;
#X text 115 67 in left inlet: waits a given time in ms after a play
message is received before playing back. Unlike delay \, first does
not alter the delta time value of the first event in a track \, it
just waits a certain time (in addition to the first delta time) before
playing back from the beginning. In other inlets: waits only corresponding
track, f 77;
#X text 115 136 in left inlet: mutes all tracks while still playing.
If followed by track numbers \, it mutes those track(s). In other inlets:
mutes corresponding track, f 77;
#X text 115 167 in left inlet: causes each track to output only the
next message in its recorded sequence (the track number and the delta
time of each message being output are sent out the leftmost outlet
as a list). If followed track numbers \, outputs the next message stored
in those tracks. In other inlets: outputs the next message stored on
corresponding track, f 77;
#X text 115 236 in left inlet: plays recorded tracks out the corresponding
outlets in the same rhythm/speed as recorded. If followed by track
numbers \, it plays those tracks. In other inlets: plays corresponding
track, f 77;
#X text 115 324 in left inlet: begins recording all messages received
in the other inlets. If followed by track numbers \, it begins recording
those tracks. In other inlets: begins recording corresponding track
, f 77;
#X text 115 367 in left inlet: goes to start of recorded sequence.
Can be used when using the 'next' message. If [mtr] is playing or recording
\, a stop message should precede it. If followed by track numbers \,
it rewinds those tracks. In other inlets: rewinds corresponding track
, f 77;
#X text 115 423 in left inlet: stops all recording/playing tracks.
If followed by track numbers \, it stops those tracks. In other inlets:
stops corresponding track, f 77;
#X text 115 452 in left inlet: Unmutesd all muted tracks. If followed
by track numbers \, it unmutes those tracks. In other inlets: unmute
corresponding track, f 77;
#X text 17 452 unmute <list> -;
#X text 11 482 write <symbol> -;
#X text 115 482 in left inlet: saves a file with the symbol name (or
opens a dialog box if no symbol is given). In other inlets: saves corresponding
track, f 77;
#X restore 329 307 pd All_Messages;
#X text 116 391 anything;
#X obj 73 390 cnv 3 3 17 empty empty 1-n 5 9 0 16 -228856 -162280 0
;
#X text 176 330 - any message to be recorded in that inlet/track;
#X text 176 391 - recorded messages from the corresponding inlet/track
;
#X text 176 369 - track number & duration (when receiving the "next"
message), f 61;
#X text 176 423 - number of tracks \, default 1 (max 64);
#X obj 304 224 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X obj 263 203 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X obj 221 182 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X text 257 182 Track 1;
#X text 305 203 Track 2;
#X text 339 224 Track 3;
#X floatatom 232 269 5 0 0 0 - - -;
#X floatatom 274 268 5 0 0 0 - - -;
#X floatatom 316 268 5 0 0 0 - - -;
#X obj 178 245 cyclone/mtr 3, f 21;
#X text 120 307 check all possible messages here:, f 70;
#X obj 20 58 cyclone/comment 425 14 DejaVu\ Sans\ Mono empty 0 0 0
0 0 255 255 255 0 0 Multi-track message recorder;
#X obj 16 5 cyclone/comment 425 33 DejaVu\ Sans\ Mono empty 0 0 0 0
0 255 255 255 0 0 mtr;
#X obj 322 29 cyclone/comment 425 13 DejaVu\ Sans\ Mono empty 0 224
228 220 0 255 255 255 0 0 Objects cloned from Max/MSP;
#X obj 363 5 cyclone/comment 425 24 DejaVu\ Sans\ Mono empty 0 224
228 220 0 255 255 255 0 0 cyclone;
#X text 25 223 THIS OBJECT HAS NOT BEEN UPDATED TO MAX 7!!!!!!!, f
16;
#X connect 13 0 37 0;
#X connect 14 0 37 0;
#X connect 28 0 37 3;
#X connect 29 0 37 2;
#X connect 30 0 37 1;
#X connect 34 0 30 0;
#X connect 35 0 29 0;
#X connect 36 0 28 0;
#X connect 37 1 34 0;
#X connect 37 2 35 0;
#X connect 37 3 36 0;
