#N canvas 378 176 758 706 10; #X declare -path ../AutoPreset; #X declare -stdpath moonlib; #X declare -lib moonlib; #X declare -stdpath zexy; #X declare -lib zexy; #X declare -stdpath hcs; #X declare -lib hcs; #X declare -stdpath ggee; #X declare -lib ggee; #X declare -stdpath extra/moonlib; #X declare -stdpath extra/zexy; #X declare -stdpath extra/hcs; #X declare -stdpath extra/ggee; #X declare -stdpath iemlib; #X declare -lib iemlib; #X declare -stdpath extra/iemlib; #X obj 12 5 cnv 15 730 70 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 19 9 declare -path ../AutoPreset; #X obj 17 31 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1 ; #X obj 230 31 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1 -1; #X obj 67 31 loadbang; #X obj 285 32 apmaster \$0-Master; #X text 525 20 AutoPreset master stuff \; master reference is "\$0-Master". ; #X obj 11 87 cnv 15 730 200 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 17 53 apmasterfile \$0-Master tlHelp.preset; #X text 19 83 The song itself (4 tracks) \, referenced to "\$0-Master" \, and named "Song".; #X text 120 30 (autoload); #X text 242 54 <- all is saved into file "tlHelp.preset".; #N canvas 1363 353 413 467 EDIT-MANUAL 0; #X text 32 52 -scroll : translate the view of the song \; double-click to jump to an arbitrary time.; #X text 32 326 -click on an event to select it \; shift-click to add an event to selection.; #X text 32 357 -grab an event by its middle to move it \; works for the whole events selection.; #X text 32 388 -grab an event by one of its end to resize it.; #X text 32 222 -green "+" button (left): add an event \, starting at index time.; #X text 32 249 -yellow button (left): edit track properties : name and color.; #X text 32 279 -yellow mute toggle(right): stop this track to emit events.; #X text 8 208 TRACK :; #X text 8 311 EVENTS :; #X text 8 38 SONG :; #X text 104 0 PdTl edition manual :; #X text 32 120 -reset (double-click) : delete all events.; #X text 32 142 -delete : delete selected events.; #X text 32 85 -index : move the time index (reading head) along the song \; double-click to jump to an arbitrary time.; #X text 32 166 -follow : auto-scroll to keep the index at the center of the screen.; #X restore 402 90 pd EDIT-MANUAL; #X obj 11 294 cnv 15 730 80 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 19 300 tlTransport \$0-Master Song; #X obj 246 299 tlLoop \$0-Master loop Song 4; #X msg 474 307 MyLoop; #X msg 436 307 home; #X msg 525 307 otherLoop; #X obj 436 343 tlGotoEvent \$0-Master Song 4; #X text 611 304 Transport utilities.; #X obj 11 383 cnv 15 730 300 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 15 405 tlTrackRef \$0-MySubMaster \$0-Master mysub Song 1; #X obj 72 452 bng 15 250 50 0 \$0-MySubMaster-rec-snd \$0-MySubMaster-rec-rcv MySubMaster-rec -40 -7 0 10 -195568 -195568 -195568; #X obj 20 502 hsl 150 15 0 127 0 0 empty empty MyFloat -2 -8 0 10 -262144 -1 -1 11900 1; #X obj 17 522 apf \$0-MySubMaster MyFloat; #X obj 19 587 hsl 150 15 0 127 0 0 empty empty MyFloat2 -2 -8 0 10 -262144 -1 -1 3440 1; #X obj 16 606 apf \$0-MySubMastervar MyFloat2; #X text 307 385 Create a new subreference "\$0-MySubMaster" named "mysub" under "\$0-Master" \; link this subref to Song / Track1.; #X text 182 495 Now you can link a parameter (here a float \, via [apf]) to the newly created subreference. Then this float will keep a value for each recorded event. Stop the transport \, select an event on the track 1 \, change MyFloat \, press "MySubMaster-rec". That's done ! ; #X obj 576 621 r \$0-MySubMaster-outside; #X obj 576 643 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 575 461 unpack f f f f; #X floatatom 575 576 5 0 0 3 eventNum - -, f 5; #X floatatom 602 544 5 0 0 3 eventTime - -, f 5; #X floatatom 629 515 5 0 0 3 normalizedTime - -, f 5; #X floatatom 656 482 5 0 0 3 eventLength - -, f 5; #X obj 575 414 r \$0-MySubMaster-tlev; #X obj 575 437 speedlim 50; #X text 14 382 Using :; #X text 205 577 Additionnaly \, another subreference named "[subref]var" is created. Float belonging to this subref will interpolate their value \, from previous event's value to current's one \, all along current event duration. That means : at the beginning of the event \, value equals previous event's value \, and current value is reached at the end of the current event.; #X obj 21 117 tlSong4 \$0-Master Song; #X text 134 435 This "rec" button (and the included one) is enabled when an event on this track is selected. Open its properties to see that it has been assigned to "\$0-MySubMaster-rec-snd" and "\$0-MySubMaster-rec-rcv" channels.; #X text 537 680 Moonix::Antoine Rousseau 2012-2014; #X text 189 9 <- adjust AutoPreset path; #X obj 371 9 apdeclare; #X connect 2 0 8 0; #X connect 3 0 8 1; #X connect 4 0 2 0; #X connect 16 0 19 0; #X connect 17 0 19 0; #X connect 18 0 19 0; #X connect 24 0 25 0; #X connect 25 0 24 0; #X connect 26 0 27 0; #X connect 27 0 26 0; #X connect 30 0 31 0; #X connect 32 0 33 0; #X connect 32 1 34 0; #X connect 32 2 35 0; #X connect 32 3 36 0; #X connect 37 0 38 0; #X connect 38 0 32 0;