Antoine Rousseau 9 gadi atpakaļ
revīzija
9148ecfa03
40 mainītis faili ar 5269 papildinājumiem un 0 dzēšanām
  1. 25 0
      .gitignore
  2. 129 0
      0tlHelp.pd
  3. 290 0
      LICENSE.txt
  4. BIN
      PdTl_doc_fr.pdf
  5. 26 0
      README.md
  6. 67 0
      block_common.pd
  7. 235 0
      block_fade.pd
  8. 21 0
      count.pd
  9. 26 0
      fmod.pd
  10. 32 0
      nroute.pd
  11. 318 0
      tlBars.pd
  12. 445 0
      tlClock.pd
  13. 809 0
      tlEvent.pd
  14. 31 0
      tlGotoEvent.pd
  15. 110 0
      tlHelp.preset
  16. 134 0
      tlLinkAp.pd
  17. 51 0
      tlLoop.pd
  18. 276 0
      tlSong.pd
  19. 6 0
      tlSong1.pd
  20. 15 0
      tlSong10.pd
  21. 16 0
      tlSong11.pd
  22. 17 0
      tlSong12.pd
  23. 18 0
      tlSong13.pd
  24. 19 0
      tlSong14.pd
  25. 20 0
      tlSong15.pd
  26. 21 0
      tlSong16.pd
  27. 7 0
      tlSong2.pd
  28. 8 0
      tlSong3.pd
  29. 9 0
      tlSong4.pd
  30. 10 0
      tlSong5.pd
  31. 11 0
      tlSong6.pd
  32. 12 0
      tlSong7.pd
  33. 13 0
      tlSong8.pd
  34. 14 0
      tlSong9.pd
  35. 310 0
      tlSongCk.pd
  36. 342 0
      tlTime.pd
  37. 966 0
      tlTrack.pd
  38. 49 0
      tlTrackRef.pd
  39. 105 0
      tlTransport.pd
  40. 256 0
      tlsongcommon.pd

+ 25 - 0
.gitignore

@@ -0,0 +1,25 @@
+
+#########################
+# operating system
+#########################
+
+# Linux
+*~
+# KDE
+.directory
+.AppleDouble
+
+# OSX
+.DS_Store
+*.swp
+*~.nib
+# Thumbnails
+._*
+
+# Windows
+# Windows image file caches
+Thumbs.db
+# Folder config file
+Desktop.ini
+
+

+ 129 - 0
0tlHelp.pd

@@ -0,0 +1,129 @@
+#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;

+ 290 - 0
LICENSE.txt

@@ -0,0 +1,290 @@
+GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991 
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
+59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom
+to share and change it. By contrast, the GNU General Public License is
+intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This General
+Public License applies to most of the Free Software Foundation's
+software and to any other program whose authors commit to using it.
+(Some other Free Software Foundation software is covered by the
+GNU Library General Public License instead.) You can apply it to your
+programs, too. 
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things. 
+
+To protect your rights, we need to make restrictions that forbid anyone
+to deny you these rights or to ask you to surrender the rights. These
+restrictions translate to certain responsibilities for you if you distribute
+copies of the software, or if you modify it. 
+
+For example, if you distribute copies of such a program, whether gratis
+or for a fee, you must give the recipients all the rights that you have. You
+must make sure that they, too, receive or can get the source code. And
+you must show them these terms so they know their rights. 
+
+We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software. 
+
+Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on,
+we want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations. 
+
+Finally, any free program is threatened constantly by software patents.
+We wish to avoid the danger that redistributors of a free program will
+individually obtain patent licenses, in effect making the program
+proprietary. To prevent this, we have made it clear that any patent must
+be licensed for everyone's free use or not licensed at all. 
+
+The precise terms and conditions for copying, distribution and
+modification follow. 
+
+TERMS AND CONDITIONS FOR
+COPYING, DISTRIBUTION AND
+MODIFICATION
+
+0. This License applies to any program or other work which contains a
+notice placed by the copyright holder saying it may be distributed under
+the terms of this General Public License. The "Program", below, refers
+to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it, either
+verbatim or with modifications and/or translated into another language.
+(Hereinafter, translation is included without limitation in the term
+"modification".) Each licensee is addressed as "you". 
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of running
+the Program is not restricted, and the output from the Program is
+covered only if its contents constitute a work based on the Program
+(independent of having been made by running the Program). Whether
+that is true depends on what the Program does. 
+
+1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the notices
+that refer to this License and to the absence of any warranty; and give
+any other recipients of the Program a copy of this License along with the
+Program. 
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee. 
+
+2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions: 
+
+     a) You must cause the modified files to carry prominent notices
+     stating that you changed the files and the date of any change. 
+
+     b) You must cause any work that you distribute or publish, that in
+     whole or in part contains or is derived from the Program or any
+     part thereof, to be licensed as a whole at no charge to all third
+     parties under the terms of this License. 
+
+     c) If the modified program normally reads commands interactively
+     when run, you must cause it, when started running for such
+     interactive use in the most ordinary way, to print or display an
+     announcement including an appropriate copyright notice and a
+     notice that there is no warranty (or else, saying that you provide a
+     warranty) and that users may redistribute the program under
+     these conditions, and telling the user how to view a copy of this
+     License. (Exception: if the Program itself is interactive but does
+     not normally print such an announcement, your work based on
+     the Program is not required to print an announcement.) 
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program, and
+can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based on
+the Program, the distribution of the whole must be on the terms of this
+License, whose permissions for other licensees extend to the entire
+whole, and thus to each and every part regardless of who wrote it. 
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise the
+right to control the distribution of derivative or collective works based
+on the Program. 
+
+In addition, mere aggregation of another work not based on the
+Program with the Program (or with a work based on the Program) on a
+volume of a storage or distribution medium does not bring the other
+work under the scope of this License. 
+
+3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following: 
+
+     a) Accompany it with the complete corresponding
+     machine-readable source code, which must be distributed under
+     the terms of Sections 1 and 2 above on a medium customarily
+     used for software interchange; or, 
+
+     b) Accompany it with a written offer, valid for at least three
+     years, to give any third party, for a charge no more than your cost
+     of physically performing source distribution, a complete
+     machine-readable copy of the corresponding source code, to be
+     distributed under the terms of Sections 1 and 2 above on a
+     medium customarily used for software interchange; or, 
+
+     c) Accompany it with the information you received as to the offer
+     to distribute corresponding source code. (This alternative is
+     allowed only for noncommercial distribution and only if you
+     received the program in object code or executable form with
+     such an offer, in accord with Subsection b above.) 
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to control
+compilation and installation of the executable. However, as a special
+exception, the source code distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies the
+executable. 
+
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy
+the source code from the same place counts as distribution of the source
+code, even though third parties are not compelled to copy the source
+along with the object code. 
+
+4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt otherwise
+to copy, modify, sublicense or distribute the Program is void, and will
+automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full
+compliance. 
+
+5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and all
+its terms and conditions for copying, distributing or modifying the
+Program or works based on it. 
+
+6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these terms
+and conditions. You may not impose any further restrictions on the
+recipients' exercise of the rights granted herein. You are not responsible
+for enforcing compliance by third parties to this License. 
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot distribute
+so as to satisfy simultaneously your obligations under this License and
+any other pertinent obligations, then as a consequence you may not
+distribute the Program at all. For example, if a patent license would not
+permit royalty-free redistribution of the Program by all those who
+receive copies directly or indirectly through you, then the only way you
+could satisfy both it and this License would be to refrain entirely from
+distribution of the Program. 
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply
+and the section as a whole is intended to apply in other circumstances. 
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system, which is implemented by public license
+practices. Many people have made generous contributions to the wide
+range of software distributed through that system in reliance on
+consistent application of that system; it is up to the author/donor to
+decide if he or she is willing to distribute software through any other
+system and a licensee cannot impose that choice. 
+
+This section is intended to make thoroughly clear what is believed to be
+a consequence of the rest of this License. 
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original
+copyright holder who places the Program under this License may add an
+explicit geographical distribution limitation excluding those countries, so
+that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License. 
+
+9. The Free Software Foundation may publish revised and/or new
+versions of the General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns. 
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number
+of this License, you may choose any version ever published by the Free
+Software Foundation. 
+
+10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we
+sometimes make exceptions for this. Our decision will be guided by the
+two goals of preserving the free status of all derivatives of our free
+software and of promoting the sharing and reuse of software generally. 
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF
+CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
+TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
+WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE
+PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
+THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
+COST OF ALL NECESSARY SERVICING, REPAIR OR
+CORRECTION. 
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW
+OR AGREED TO IN WRITING WILL ANY COPYRIGHT
+HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
+ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
+ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
+INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
+LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
+INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
+WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
+OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES. 
+
+END OF TERMS AND CONDITIONS

BIN
PdTl_doc_fr.pdf


+ 26 - 0
README.md

@@ -0,0 +1,26 @@
+#PdTl abstractions
+
+A timeline for Pure Data
+
+--------------------------------
+
+###requirements :
+You'll need following Pd externals :
+
+-	**moonlib**
+-	**zexy**
+-	**hcs**
+-	**iemlib**
+-	**ggee**
+
+You'll also need [**AutoPreset**](https://github.com/MetaluNet/AutoPreset) abstractions.
+
+--------------------------------
+
+###help :
+Open `0tlHelp.pd` for help and examples.
+
+--------------------------------
+	Antoine Rousseau 2012-2015
+license GNU GPL ; see [LICENSE.txt](LICENSE.txt)  
+get last version there: <https://github.com/MetaluNet/PdTl>

+ 67 - 0
block_common.pd

@@ -0,0 +1,67 @@
+#N canvas 395 433 492 300 10;
+#X text 22 5 block_common \$0 \$1 \$2 \$3 Seq Track;
+#X text 21 17 \$0=block \$1=parent \$2=apname \$3=Seq_owner;
+#X msg 22 150 0;
+#X obj 22 56 tlLinkAp \$4 \$5 \$6 \$1;
+#X obj 21 180 s \$1-mode-rcv;
+#X obj 174 79 sel 0;
+#X msg 174 102 rien;
+#X msg 193 198 label Mode:\$1;
+#X obj 193 177 symbol;
+#X obj 379 149 symbol;
+#X obj 328 73 route _all_;
+#X obj 328 93 route store;
+#X obj 328 116 t b f;
+#X obj 328 136 del 10;
+#X obj 328 156 f;
+#X msg 328 197 \$3 ev \$1 name \$2;
+#X obj 298 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 304 86 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 174 56 r \$1-mode-snd;
+#X obj 193 153 r \$1-modename;
+#X obj 193 222 s \$1-mode-rcv;
+#X obj 328 53 r \$1-pattern-snd;
+#X obj 379 128 r \$1-modename;
+#X obj 328 176 pack f s \$6;
+#X obj 328 223 s \$4-song-\$5-rcv;
+#X obj 174 124 s \$1-modename;
+#X obj 22 80 unwonk f;
+#X obj 22 128 sel -1;
+#X obj 22 105 change;
+#X obj 93 96 route -1;
+#X obj 112 125 s \$1-tlev;
+#X obj 23 246 apf \$1 mode \$1-mode 0 1;
+#X obj 22 203 apsubmaster \$1 \$2 \$3;
+#X obj 22 224 apsubmaster \$1var \$2 \$3var;
+#X obj 72 148 s \$1-outside;
+#X obj 72 128 == -1;
+#X symbolatom 394 255 10 0 0 0 - - -;
+#X connect 3 0 26 0;
+#X connect 3 0 29 0;
+#X connect 5 0 6 0;
+#X connect 6 0 25 0;
+#X connect 7 0 20 0;
+#X connect 8 0 7 0;
+#X connect 9 0 23 1;
+#X connect 9 0 36 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 0 16 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 1;
+#X connect 13 0 14 0;
+#X connect 14 0 23 0;
+#X connect 15 0 24 0;
+#X connect 19 0 8 0;
+#X connect 21 0 10 0;
+#X connect 21 0 17 0;
+#X connect 22 0 9 0;
+#X connect 23 0 15 0;
+#X connect 26 0 28 0;
+#X connect 26 0 35 0;
+#X connect 27 0 2 0;
+#X connect 28 0 27 0;
+#X connect 29 1 30 0;
+#X connect 35 0 34 0;

+ 235 - 0
block_fade.pd

@@ -0,0 +1,235 @@
+#N canvas 465 87 766 693 10;
+#X text 22 5 block_fade \$0 Lum;
+#X obj 202 69 namecanvas \$0-can;
+#X obj 202 48 s \$0-can;
+#X msg 202 27 donecanvasdialog 1 -1 0;
+#X msg 202 5 reduire;
+#X obj 101 101 cnv 15 118 58 empty empty empty 20 12 0 14 -245500 -66577
+0;
+#X obj 107 113 hsl 100 10 0 1 0 0 \$0-L-snd \$0-L-rcv \$2 -2 -6 0 10
+-257985 -1 -1 0 1;
+#X obj 107 123 hsl 100 10 0 1 0 0 \$0-rien-snd \$0-rien-rcv empty 105
+5 0 10 -262144 -1 -1 0 1;
+#X obj 107 123 hsl 100 10 0 1 0 0 \$0-Lvu-snd \$0-Lvu-rcv empty -2
+-6 0 10 -262144 -1 -1 0 1;
+#X obj 107 133 hsl 60 10 0 1 0 0 \$0-up-snd \$0-up-rcv up:0s 65 6 0
+10 -204786 -1 -1 0 1;
+#X obj 107 143 hsl 60 10 0 1 0 0 \$0-dn-snd \$0-dn-rcv dn:6s 65 6 0
+10 -261234 -1 -1 0 1;
+#X obj 367 126 i;
+#X obj 367 15 r \$0-up-snd;
+#X obj 22 42 apf \$1 \$2-up \$0-up;
+#X obj 22 59 apf \$1 \$2-dn \$0-dn;
+#X msg 386 171 label up:\$1s;
+#X obj 386 195 s \$0-up-rcv;
+#X obj 367 104 / 10;
+#X obj 367 147 / 100;
+#X obj 436 124 i;
+#X obj 436 102 / 100;
+#X obj 436 145 / 10;
+#X obj 478 125 i;
+#X obj 478 103 / 1000;
+#X obj 367 80 moses 1000;
+#X obj 436 81 moses 10000;
+#X obj 420 55 s \$0-up;
+#X obj 523 126 i;
+#X obj 523 104 / 10;
+#X obj 523 147 / 100;
+#X obj 592 124 i;
+#X obj 592 102 / 100;
+#X obj 592 145 / 10;
+#X obj 634 125 i;
+#X obj 634 103 / 1000;
+#X obj 523 80 moses 1000;
+#X obj 592 81 moses 10000;
+#X obj 523 15 r \$0-dn-snd;
+#X obj 576 55 s \$0-dn;
+#X obj 542 195 s \$0-dn-rcv;
+#X msg 542 171 label dn:\$1s;
+#X obj 34 172 r \$1-tlev;
+#X obj 34 195 unpack f f f f;
+#X obj 100 218 -;
+#X obj 100 239 * -1;
+#X obj 160 196 change;
+#X obj 137 231 s \$0-len;
+#X obj 297 410 r \$0-L-snd;
+#X obj 61 284 s \$0-time;
+#X obj 100 260 s \$0-invtime;
+#X obj 148 313 r \$0-time;
+#X obj 148 352 moses;
+#X obj 273 176 r \$0-len;
+#X obj 273 236 / 2;
+#X obj 223 214 r \$0-up;
+#X obj 239 291 min;
+#X obj 223 237 / 1000;
+#X obj 253 351 moses;
+#X obj 335 236 / 1000;
+#X obj 335 213 r \$0-dn;
+#X obj 335 259 * -1;
+#X obj 340 287 +;
+#X obj 385 248 t b f;
+#X obj 273 256 t b f;
+#X obj 273 197 t f f;
+#X obj 280 323 max;
+#X msg 253 403 1;
+#X obj 253 431 change;
+#X obj 253 457 *;
+#X obj 297 431 t b f;
+#X obj 253 533 s \$0-Lvu-rcv;
+#X obj 424 276 r \$1-mode-snd;
+#X obj 424 351 t b b;
+#X obj 451 399 s \$0-L-rcv;
+#X msg 451 374 0;
+#X obj 367 56 * 60000;
+#X obj 523 56 * 60000;
+#X obj 367 35 pow 3;
+#X obj 523 35 pow 3;
+#X obj 352 454 t b f;
+#X obj 352 433 r \$1-LumMul;
+#X obj 253 480 * 1;
+#X obj 335 506 s \$1-\$2-snd;
+#X obj 520 399 s \$1-LumMul;
+#X msg 520 377 1;
+#X obj 424 328 del 1;
+#X msg 463 329 stop;
+#X obj 253 508 speedlim 50;
+#X obj 43 362 route _all_;
+#X obj 43 382 route store;
+#X obj 43 327 r \$1-pattern-snd;
+#X msg 43 427 \$2 store \$1;
+#X obj 43 452 s \$1-pattern-snd;
+#X obj 44 507 route _all_;
+#X obj 44 527 route _nbpattern_;
+#X obj 44 477 r \$1-setap-snd;
+#X obj 44 595 s \$1-setap-snd;
+#X msg 44 570 \$2 _nbpattern_ \$1;
+#X obj 43 404 pack f s;
+#X obj 44 548 pack f s;
+#X obj 131 425 symbol \$2;
+#X obj 131 403 loadbang;
+#X obj 22 24 apf \$1 \$2 \$0-L 0 1;
+#X obj 535 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 535 226 r \$1-pat-preload;
+#X obj 424 298 sel 0;
+#X msg 535 272 0;
+#X obj 502 443 r \$1-LumMul;
+#X obj 494 469 print;
+#X obj 535 292 t f f;
+#X obj 195 530 print t;
+#X obj 209 562 print L;
+#X msg 535 314 set -1 \, 0;
+#X floatatom 301 589 5 0 0 0 - - -;
+#X obj 280 376 maxlib/scale 0 1 0 1;
+#X obj 148 377 maxlib/scale 0 1 0 1;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 11 0 18 0;
+#X connect 12 0 77 0;
+#X connect 15 0 16 0;
+#X connect 17 0 11 0;
+#X connect 18 0 15 0;
+#X connect 19 0 21 0;
+#X connect 20 0 19 0;
+#X connect 21 0 15 0;
+#X connect 22 0 15 0;
+#X connect 23 0 22 0;
+#X connect 24 0 17 0;
+#X connect 24 1 25 0;
+#X connect 25 0 20 0;
+#X connect 25 1 23 0;
+#X connect 27 0 29 0;
+#X connect 28 0 27 0;
+#X connect 29 0 40 0;
+#X connect 30 0 32 0;
+#X connect 31 0 30 0;
+#X connect 32 0 40 0;
+#X connect 33 0 40 0;
+#X connect 34 0 33 0;
+#X connect 35 0 28 0;
+#X connect 35 1 36 0;
+#X connect 36 0 31 0;
+#X connect 36 1 34 0;
+#X connect 37 0 78 0;
+#X connect 40 0 39 0;
+#X connect 41 0 42 0;
+#X connect 42 1 43 0;
+#X connect 42 1 48 0;
+#X connect 42 3 43 1;
+#X connect 42 3 46 0;
+#X connect 43 0 44 0;
+#X connect 44 0 49 0;
+#X connect 45 0 46 0;
+#X connect 47 0 69 0;
+#X connect 50 0 51 0;
+#X connect 51 0 115 0;
+#X connect 51 1 57 0;
+#X connect 52 0 64 0;
+#X connect 53 0 63 0;
+#X connect 54 0 56 0;
+#X connect 55 0 51 1;
+#X connect 55 0 115 2;
+#X connect 56 0 55 0;
+#X connect 57 0 66 0;
+#X connect 57 1 114 0;
+#X connect 58 0 60 0;
+#X connect 59 0 58 0;
+#X connect 60 0 61 0;
+#X connect 61 0 65 0;
+#X connect 62 0 61 0;
+#X connect 62 1 61 1;
+#X connect 62 1 114 1;
+#X connect 63 0 55 0;
+#X connect 63 0 65 0;
+#X connect 63 1 55 1;
+#X connect 63 1 65 1;
+#X connect 64 0 53 0;
+#X connect 64 1 62 0;
+#X connect 65 0 57 1;
+#X connect 65 0 114 2;
+#X connect 66 0 67 0;
+#X connect 67 0 68 0;
+#X connect 68 0 81 0;
+#X connect 69 0 68 0;
+#X connect 69 1 68 1;
+#X connect 71 0 105 0;
+#X connect 72 0 66 0;
+#X connect 72 1 74 0;
+#X connect 72 1 84 0;
+#X connect 74 0 73 0;
+#X connect 75 0 24 0;
+#X connect 75 0 26 0;
+#X connect 76 0 35 0;
+#X connect 76 0 38 0;
+#X connect 77 0 75 0;
+#X connect 78 0 76 0;
+#X connect 79 0 81 0;
+#X connect 79 1 81 1;
+#X connect 80 0 79 0;
+#X connect 81 0 82 0;
+#X connect 81 0 87 0;
+#X connect 84 0 83 0;
+#X connect 85 0 72 0;
+#X connect 86 0 85 0;
+#X connect 87 0 70 0;
+#X connect 88 0 89 0;
+#X connect 89 0 98 0;
+#X connect 91 0 92 0;
+#X connect 93 0 94 0;
+#X connect 94 0 99 0;
+#X connect 97 0 96 0;
+#X connect 98 0 91 0;
+#X connect 99 0 97 0;
+#X connect 100 0 98 1;
+#X connect 100 0 99 1;
+#X connect 101 0 100 0;
+#X connect 103 0 106 0;
+#X connect 104 0 103 0;
+#X connect 105 0 85 0;
+#X connect 105 1 86 0;
+#X connect 106 0 109 0;
+#X connect 109 0 112 0;
+#X connect 112 0 67 0;
+#X connect 114 0 67 0;
+#X connect 115 0 67 0;
+#X coords 0 -1 1 1 120 60 1 100 100;

+ 21 - 0
count.pd

@@ -0,0 +1,21 @@
+#N canvas 243 410 335 263 10;
+#X obj 37 33 inlet;
+#X obj 41 142 f 0;
+#X obj 101 144 + 1;
+#X obj 101 167 mod \$1;
+#X msg 56 122 0;
+#X obj 41 201 outlet;
+#X obj 37 61 route reset;
+#X msg 41 102 bang;
+#X obj 134 28 inlet;
+#X text 188 76 from creb abs;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 1;
+#X connect 6 0 4 0;
+#X connect 6 1 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 3 1;

+ 26 - 0
fmod.pd

@@ -0,0 +1,26 @@
+#N canvas 710 482 443 338 10;
+#X obj 52 36 inlet;
+#X obj 52 255 outlet;
+#X obj 110 36 inlet;
+#X obj 52 64 / \$1;
+#X obj 52 230 * \$1;
+#X obj 82 122 int;
+#X obj 52 96 t f f;
+#X obj 52 148 -;
+#X text 175 90 floating point version of;
+#X text 361 91 [mod];
+#X obj 52 175 moses 0;
+#X obj 52 203 + 1;
+#X text 175 120 from creb abs;
+#X connect 0 0 3 0;
+#X connect 2 0 3 1;
+#X connect 2 0 4 1;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 7 1;
+#X connect 6 0 7 0;
+#X connect 6 1 5 0;
+#X connect 7 0 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 4 0;
+#X connect 11 0 4 0;

+ 32 - 0
nroute.pd

@@ -0,0 +1,32 @@
+#N canvas 1 68 450 300 10;
+#X obj 89 40 inlet;
+#X obj 89 64 t a a;
+#X obj 89 181 list;
+#X obj 89 88 list split \$2;
+#X obj 89 112 list split 1;
+#X obj 89 134 route \$1;
+#X obj 89 155 b;
+#X obj 89 240 outlet;
+#X obj 89 208 list trim;
+#X obj 155 182 list;
+#X obj 155 156 b;
+#X obj 155 241 outlet;
+#X obj 155 209 list trim;
+#X obj 203 39 inlet;
+#X obj 261 39 inlet;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 2 1;
+#X connect 1 1 9 1;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 5 1 10 0;
+#X connect 6 0 2 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 5 1;
+#X connect 14 0 3 1;

+ 318 - 0
tlBars.pd

@@ -0,0 +1,318 @@
+#N canvas 280 137 878 679 10;
+#X obj 21 21 cnv 15 697 33 empty empty empty 20 12 0 14 -191407 -66577
+0;
+#X obj 58 22 cnv 15 300 15 \$0-bgcan-snd \$0-bgcan-rcv empty 20 12
+0 14 -262144 -66577 0;
+#X obj 74 150 s \$0-bgcan-rcv;
+#X obj 74 174 r \$0-bgcan-snd;
+#X msg 74 131 get_pos;
+#X obj 367 141 t f b;
+#X obj 394 163 v \$1-songlen;
+#X obj 367 95 r \$1-z-snd;
+#X obj 367 163 *;
+#X obj 74 91 loadbang;
+#X obj 74 111 b;
+#X obj 367 304 /;
+#X obj 367 193 t b f;
+#X obj 367 283 *;
+#X obj 367 376 s \$0-scroll-rcv;
+#X obj 367 328 max 5;
+#X obj 1 269 route motion button;
+#X obj 1 322 route dx dy;
+#X obj 1 292 spigot;
+#X msg 142 269 1;
+#X msg 78 357 0;
+#X obj 78 337 t b b;
+#X obj 1 368 /;
+#X obj 1 503 t b f;
+#X obj 1 452 +;
+#X obj 28 453 f;
+#X obj 78 315 sel 0 1;
+#X obj 52 293 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 78 293 route 1 2;
+#X obj 74 197 s \$0-canpos;
+#X obj 5 185 s \$0-canw;
+#X obj 51 92 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 1 482 clip 0 1;
+#X obj 120 338 r \$1-s-snd;
+#X obj 105 361 f;
+#X obj 30 378 r \$1-z-snd;
+#X obj 255 150 r \$1-s-snd;
+#X obj 419 196 r \$0-canw;
+#X obj 367 238 f;
+#X obj 367 261 t f f;
+#X obj 436 251 -;
+#X obj 436 272 * -1;
+#X obj 255 210 *;
+#X obj 179 81 r \$0-canpos;
+#X obj 179 102 unpack f f;
+#X msg 255 343 pos \$1 \$2;
+#X obj 1 429 / 1000;
+#X msg 367 351 size \$1 15;
+#X obj 64 22 hsl 297 15 0 1 0 0 \$0-scrollbg-snd \$0-scrollbg-rcv scroll
+-42 7 0 10 -228856 -228856 -1 0 0;
+#X obj 61 22 hsl 5 15 0 128 0 0 \$0-scroll-snd \$0-scroll-rcv empty
+-2 7 1 8 -33289 -33289 -1 0 0;
+#X obj 142 224 r \$0-scrollbg-snd;
+#X obj 271 183 t b f;
+#X obj 5 165 300;
+#X obj 406 22 hsl 290 15 0.25 1000 1 0 \$1-z-snd \$1-z-rcv zoom -28
+9 0 10 -1 -4034 -1 16300 1;
+#X obj 255 299 + 61;
+#X obj 28 526 s \$1-s-snd;
+#X obj 61 38 hsl 300 15 0 1 0 0 \$0-ibg-snd \$0-ibg-rcv index -36 7
+0 10 -191407 -1 -1 14950 0;
+#X obj 367 38 tgl 15 0 \$1-lockstoi-snd \$1-lockstoi-rcv follow 17
+7 0 10 -262144 -1 -1 0 1;
+#X obj 228 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X floatatom 225 124 5 0 0 0 - - -;
+#X floatatom 171 129 5 0 0 0 - - -;
+#X obj 255 320 pack f 22;
+#X obj 61 38 hsl 300 15 0 1 0 0 \$1-i-snd \$1-i-rcv empty -36 7 0 10
+-99865 -258113 -1 91 1;
+#X obj 666 99 r \$0-ibg-snd;
+#X obj 666 126 t b f f;
+#X obj 706 224 - 0.5;
+#X obj 613 239 s \$0-ibg-rcv;
+#X msg 613 217 set 0.5;
+#X obj 613 183 loadbang;
+#X obj 706 550 s \$1-i-rcv;
+#X obj 706 286 +;
+#X obj 768 207 r \$1-z-snd;
+#X obj 706 265 / 0.01;
+#X msg 706 527 set \$1;
+#X obj 717 501 s \$1-i-snd;
+#X obj 782 259 r \$1-i-snd;
+#X obj 521 139 route 1 2;
+#X obj 530 170 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 520 119 route button;
+#X obj 530 190 sel 0;
+#X obj 530 263 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 530 217 0;
+#X obj 530 242 change;
+#X msg 559 217 1;
+#X obj 706 476 clip 0 1;
+#X obj 705 160 spigot;
+#X obj 530 295 sel 1 0;
+#X obj 530 343 del 250;
+#X obj 530 318 t b b b;
+#X msg 530 364 0;
+#X msg 557 364 1;
+#X obj 545 396 spigot;
+#X obj 544 419 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 589 438 f;
+#X floatatom 628 468 5 0 0 0 - - -;
+#X obj 561 485 s \$1-i-rcv;
+#X obj 768 232 * 8;
+#X obj 367 118 / 2;
+#X obj 199 370 sel 1 0;
+#X obj 199 418 del 250;
+#X obj 199 393 t b b b;
+#X msg 199 439 0;
+#X msg 226 439 1;
+#X obj 214 471 spigot;
+#X obj 213 494 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 234 496 f;
+#X obj 142 249 t b f;
+#X obj 199 346 change;
+#X obj 234 527 s \$1-s-snd;
+#X floatatom 189 545 5 0 0 0 - - -;
+#X floatatom 202 280 5 0 0 0 - - -;
+#X msg 447 101 1;
+#X obj 447 60 loadbang;
+#X obj 463 81 del 100;
+#X floatatom 654 362 5 0 0 0 - - -;
+#N canvas 1 29 408 378 snap 0;
+#X obj 82 109 inlet;
+#X obj 82 355 outlet;
+#X obj 82 239 demux 0 1;
+#X obj 133 262 * 4;
+#X obj 133 307 i;
+#X obj 133 331 / 4;
+#X obj 148 130 route snap;
+#X obj 148 153 t f f;
+#X obj 133 179 != 0;
+#X msg 230 128 0;
+#X msg 308 126 4;
+#X obj 133 283 + 0.5;
+#X msg 264 126 1;
+#X obj 176 216 t b f;
+#X obj 133 217 * 1;
+#X obj 196 167 r \$0-isshift;
+#X obj 182 195 == 0;
+#X obj 145 66 route -1;
+#X obj 149 108 route -1;
+#X obj 148 88 route ev;
+#X obj 144 39 r \$1-tr-rcv;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 3 1;
+#X connect 7 1 5 1;
+#X connect 8 0 14 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 4 0;
+#X connect 12 0 7 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 1;
+#X connect 14 0 2 1;
+#X connect 16 0 13 0;
+#X connect 17 0 19 0;
+#X connect 18 0 6 0;
+#X connect 19 0 18 0;
+#X connect 20 0 17 0;
+#X restore 721 388 pd snap;
+#X obj 776 343 v \$1-songlen;
+#X obj 721 410 /;
+#X obj 721 366 *;
+#X obj 739 135 t f f;
+#X obj 765 156 sel 1;
+#X obj 767 284 f;
+#X obj 736 286 f;
+#X obj 1 243 r \$1-Mouse;
+#X obj 520 98 r \$1-Mouse;
+#X obj 592 39 bng 15 250 50 0 \$1-reset empty reset 17 7 0 10 -260097
+-1 -1;
+#X obj 660 39 bng 15 250 50 0 \$1-delete empty delete 17 7 0 10 -257985
+-1 -1;
+#X connect 3 0 29 0;
+#X connect 4 0 2 0;
+#X connect 5 0 8 0;
+#X connect 5 1 6 0;
+#X connect 6 0 8 1;
+#X connect 7 0 97 0;
+#X connect 8 0 12 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 0;
+#X connect 10 0 52 0;
+#X connect 11 0 15 0;
+#X connect 12 0 38 0;
+#X connect 12 1 11 1;
+#X connect 13 0 11 0;
+#X connect 15 0 47 0;
+#X connect 15 0 40 0;
+#X connect 16 0 18 0;
+#X connect 16 1 28 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 19 0 27 0;
+#X connect 20 0 27 0;
+#X connect 21 0 20 0;
+#X connect 21 1 34 0;
+#X connect 22 0 46 0;
+#X connect 23 1 55 0;
+#X connect 24 0 25 0;
+#X connect 24 0 32 0;
+#X connect 25 0 24 1;
+#X connect 26 0 21 0;
+#X connect 27 0 18 1;
+#X connect 27 0 107 0;
+#X connect 28 0 26 0;
+#X connect 28 1 26 0;
+#X connect 31 0 10 0;
+#X connect 32 0 23 0;
+#X connect 33 0 34 1;
+#X connect 34 0 25 0;
+#X connect 35 0 22 1;
+#X connect 36 0 42 0;
+#X connect 37 0 38 1;
+#X connect 37 0 40 1;
+#X connect 38 0 39 0;
+#X connect 39 0 13 0;
+#X connect 39 1 13 1;
+#X connect 40 0 41 0;
+#X connect 41 0 51 0;
+#X connect 42 0 54 0;
+#X connect 43 0 44 0;
+#X connect 44 0 60 0;
+#X connect 44 1 59 0;
+#X connect 45 0 14 0;
+#X connect 46 0 24 0;
+#X connect 47 0 14 0;
+#X connect 50 0 106 0;
+#X connect 51 0 42 0;
+#X connect 51 1 42 1;
+#X connect 52 0 30 0;
+#X connect 54 0 61 0;
+#X connect 61 0 45 0;
+#X connect 63 0 64 0;
+#X connect 64 0 67 0;
+#X connect 64 0 83 0;
+#X connect 64 1 93 1;
+#X connect 64 2 85 0;
+#X connect 65 0 72 0;
+#X connect 67 0 66 0;
+#X connect 68 0 67 0;
+#X connect 70 0 118 0;
+#X connect 70 0 122 0;
+#X connect 71 0 96 0;
+#X connect 72 0 70 0;
+#X connect 73 0 69 0;
+#X connect 75 0 121 1;
+#X connect 76 0 77 0;
+#X connect 76 1 77 0;
+#X connect 77 0 79 0;
+#X connect 78 0 76 0;
+#X connect 79 0 81 0;
+#X connect 80 0 86 0;
+#X connect 80 0 119 0;
+#X connect 81 0 82 0;
+#X connect 82 0 80 0;
+#X connect 83 0 82 0;
+#X connect 84 0 74 0;
+#X connect 84 0 73 0;
+#X connect 85 0 65 0;
+#X connect 86 0 88 0;
+#X connect 87 0 89 0;
+#X connect 88 0 87 0;
+#X connect 88 1 90 0;
+#X connect 88 2 91 0;
+#X connect 89 0 91 1;
+#X connect 90 0 91 1;
+#X connect 91 0 92 0;
+#X connect 91 0 93 0;
+#X connect 93 0 95 0;
+#X connect 96 0 72 1;
+#X connect 97 0 5 0;
+#X connect 98 0 100 0;
+#X connect 99 0 101 0;
+#X connect 100 0 99 0;
+#X connect 100 1 102 0;
+#X connect 100 2 103 0;
+#X connect 101 0 103 1;
+#X connect 102 0 103 1;
+#X connect 103 0 104 0;
+#X connect 103 0 105 0;
+#X connect 105 0 108 0;
+#X connect 106 0 19 0;
+#X connect 106 1 105 1;
+#X connect 107 0 98 0;
+#X connect 111 0 53 0;
+#X connect 112 0 111 0;
+#X connect 115 0 117 0;
+#X connect 116 0 118 1;
+#X connect 116 0 117 1;
+#X connect 117 0 84 0;
+#X connect 118 0 115 0;
+#X connect 119 0 85 1;
+#X connect 119 1 120 0;
+#X connect 120 0 116 0;
+#X connect 120 0 121 0;
+#X connect 121 0 122 0;
+#X connect 122 0 70 1;
+#X connect 123 0 16 0;
+#X connect 124 0 78 0;
+#X coords 0 -1 1 1 699 35 1 20 20;

+ 445 - 0
tlClock.pd

@@ -0,0 +1,445 @@
+#N canvas 63 129 752 269 10;
+#X obj 127 192 s \$0-bgcan-rcv;
+#X obj 127 216 r \$0-bgcan-snd;
+#X msg 127 173 get_pos;
+#X obj 127 133 loadbang;
+#X obj 127 153 b;
+#X obj 127 239 s \$0-canpos;
+#X obj 58 227 s \$0-canw;
+#X obj 104 134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 232 123 r \$0-canpos;
+#X obj 232 144 unpack f f;
+#X floatatom 278 166 5 0 0 0 - - -;
+#X floatatom 224 171 5 0 0 0 - - -;
+#X obj 91 21 cnv 15 600 18 \$0-bgcan-snd \$0-bgcan-rcv empty 20 12
+0 14 -66577 -262081 0;
+#X obj 58 207 600;
+#X msg 35 155 pos 91 21;
+#N canvas 761 73 775 546 division 0;
+#X obj 178 -128 r \$1-z-snd;
+#X obj 67 -122 r \$0-canw;
+#X obj 77 -69 /;
+#X obj 77 -92 t b f;
+#X floatatom 27 -15 5 0 0 0 - - -;
+#X obj 36 -145 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 77 106 drip;
+#X obj 77 136 spigot;
+#X obj 77 7 t b f b;
+#X msg 122 135 1;
+#X obj 77 158 moses;
+#X obj 104 180 t f b;
+#X msg 121 158 0;
+#X floatatom 104 225 5 0 0 0 - - -;
+#X obj 104 245 s \$0-div;
+#X obj 104 204 change;
+#X obj 641 -52 r \$0-div;
+#X obj 597 -31 f;
+#X obj 641 -30 t b f;
+#X obj 597 49 * 100;
+#X obj 597 75 div;
+#X obj 570 -146 r \$1-tr-rcv;
+#X obj 570 -123 route s;
+#X obj 681 31 * 100;
+#X obj 615 109 + 1;
+#X floatatom 615 154 5 0 0 0 - - -;
+#X obj 636 74 div;
+#X obj 615 133 *;
+#X obj 597 23 demux;
+#X obj 624 0 >= 1;
+#X obj 615 177 s \$0-first;
+#X obj 570 -51 t f f;
+#X obj 452 16 for++ 0 10;
+#X obj 452 83 *;
+#X obj 492 58 r \$0-div;
+#X obj 453 105 +;
+#X obj 493 83 r \$0-first;
+#X obj 453 189 *;
+#X obj 495 157 r \$1-z-snd;
+#X obj 453 165 -;
+#X obj 452 -7 t b f;
+#X obj 452 36 t f f;
+#X obj 480 189 makesymbol \$0-n%s-rcv;
+#X obj 454 258 moses 595;
+#X obj 453 212 t f b;
+#X obj 480 232 v \$1-xl;
+#X obj 533 229 v \$1-xr;
+#X obj 454 233 +;
+#X obj 533 250 - 5;
+#X obj 474 -146 r \$1-z-snd;
+#X obj 498 -117 b;
+#X obj 453 131 t f f;
+#X obj 454 309 pack f s s;
+#N canvas 622 399 707 534 label 0;
+#X obj 160 21 inlet;
+#X obj 533 74 t f f f;
+#X obj 81 106 div 3600;
+#X obj 99 79 div 60;
+#X obj 219 179 fmod 1;
+#X obj 219 156 t f f;
+#X obj 283 181 mod 60;
+#X floatatom 179 104 8 0 0 0 - - -;
+#X obj 283 156 t f f;
+#X obj 330 136 div 60;
+#X obj 330 181 mod 60;
+#X obj 330 156 t f f;
+#X obj 374 181 div 60;
+#X obj 283 136 i;
+#X obj 118 151 moses 1;
+#X obj 224 360 pack s s s s;
+#X obj 374 202 sel 0;
+#X msg 374 227 symbol;
+#X msg 401 252 symbol \$1h;
+#X obj 306 238 sel 0;
+#X msg 306 263 symbol;
+#X msg 333 288 symbol \$1m;
+#X obj 221 249 sel 0;
+#X msg 221 274 symbol;
+#X msg 248 299 symbol \$1s;
+#X obj 62 283 sel 0;
+#X msg 62 308 symbol;
+#X msg 224 383 list \$4 \$3 \$2 \$1;
+#X obj 224 407 l2s;
+#X obj 274 430 symbol;
+#X obj 404 361 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 183 79 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 263 88 5.5;
+#X obj 224 444 outlet;
+#X obj 351 358 loadbang;
+#X obj 62 214 * 10;
+#X obj 94 386 makefilename %.2d;
+#X floatatom 100 53 8 0 0 0 - - -;
+#X obj 62 238 + 0.5;
+#X obj 262 248 f;
+#X obj 109 276 t f b;
+#X obj 62 261 i;
+#X obj 115 307 makesymbol;
+#X obj 601 69 * 8;
+#X obj 665 83 i;
+#X obj 665 107 sel 0;
+#X obj 647 135 symbol;
+#X msg 632 244 symbol .\$1;
+#X obj 618 143 + 1;
+#X obj 621 101 mod 8;
+#X msg 618 270 symbol .\$1;
+#X obj 550 152 + 1;
+#X obj 485 124 div 4;
+#X obj 511 186 pack f f f;
+#X msg 478 407 symbol \$1|\$2.\$3;
+#X obj 584 196 mod 4;
+#X obj 550 129 mod 4;
+#X obj 538 224 r \$0-div;
+#X obj 511 276 demux;
+#X msg 538 354 symbol \$1|\$2;
+#X obj 538 300 demux;
+#X obj 565 279 >= 4;
+#X msg 565 325 symbol \$1|;
+#X msg 454 27 3;
+#X obj 467 83 f;
+#X msg 482 27 4;
+#X obj 511 163 + 1;
+#X obj 519 28 r \$1-mes;
+#X obj 538 248 >= 1;
+#X connect 0 0 1 0;
+#X connect 1 0 52 0;
+#X connect 1 1 56 0;
+#X connect 1 2 43 0;
+#X connect 4 0 35 0;
+#X connect 5 0 4 0;
+#X connect 5 1 13 0;
+#X connect 6 0 22 0;
+#X connect 6 0 39 1;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 19 0;
+#X connect 11 0 10 0;
+#X connect 11 1 12 0;
+#X connect 12 0 16 0;
+#X connect 13 0 8 0;
+#X connect 15 0 27 0;
+#X connect 16 0 17 0;
+#X connect 16 1 18 0;
+#X connect 17 0 15 3;
+#X connect 18 0 15 3;
+#X connect 19 0 20 0;
+#X connect 19 1 21 0;
+#X connect 20 0 15 2;
+#X connect 21 0 15 2;
+#X connect 22 0 23 0;
+#X connect 22 1 24 0;
+#X connect 23 0 15 1;
+#X connect 24 0 15 1;
+#X connect 25 0 26 0;
+#X connect 25 1 40 0;
+#X connect 26 0 15 0;
+#X connect 27 0 28 0;
+#X connect 28 0 33 0;
+#X connect 29 0 28 1;
+#X connect 30 0 29 0;
+#X connect 31 0 7 0;
+#X connect 32 0 5 0;
+#X connect 34 0 29 0;
+#X connect 35 0 38 0;
+#X connect 38 0 41 0;
+#X connect 39 0 24 0;
+#X connect 40 0 42 0;
+#X connect 40 1 39 0;
+#X connect 41 0 25 0;
+#X connect 42 0 15 0;
+#X connect 43 0 49 0;
+#X connect 44 0 45 0;
+#X connect 45 0 46 0;
+#X connect 48 0 53 2;
+#X connect 49 0 48 0;
+#X connect 51 0 53 1;
+#X connect 52 0 66 0;
+#X connect 53 0 58 0;
+#X connect 54 0 33 0;
+#X connect 56 0 51 0;
+#X connect 57 0 61 0;
+#X connect 57 0 68 0;
+#X connect 58 0 54 0;
+#X connect 58 1 60 0;
+#X connect 59 0 33 0;
+#X connect 60 0 59 0;
+#X connect 60 1 62 0;
+#X connect 61 0 60 1;
+#X connect 62 0 33 0;
+#X connect 63 0 64 0;
+#X connect 64 0 52 1;
+#X connect 64 0 56 1;
+#X connect 65 0 64 0;
+#X connect 66 0 53 0;
+#X connect 67 0 64 0;
+#X connect 67 0 61 1;
+#X connect 68 0 58 1;
+#X restore 542 280 pd label;
+#X msg 505 280 40;
+#X obj 529 338 spigot;
+#X msg 564 310 0;
+#X msg 429 355 \; \$2 pos \$1 20;
+#X msg 529 364 \; \$2 label \$3;
+#X obj 623 214 r \$0-first;
+#X obj 623 234 change;
+#X obj 632 259 r \$0-div;
+#X obj 632 279 change;
+#X msg 623 308 1;
+#X obj 440 -93 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 535 -88 f;
+#X obj 570 -78 speedlim 100;
+#X floatatom 386 289 5 0 0 0 - - -;
+#X obj 178 -106 t f f;
+#X msg 57 322 0.125 0.5 2 4 8 16 32 64 128 256 512 1024 2048 4096;
+#X msg 42 274 0.125 0.25 0.5 1 2 4 8 16 32 64 128 256 512 1024 2048
+4096;
+#X msg 77 69 0.125 0.25 0.5 1 2 4 8 16 32 64 128 256 512 1024 2048
+4096;
+#X obj 77 35 demux;
+#X msg 115 42 0.125 0.25 0.5 1 3 6 12 24 48 92 184 368 736 1472 2944
+;
+#X obj 177 -9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 215 6 1;
+#X msg 249 6 0;
+#X obj 213 -26 route 3 6 12;
+#X obj 317 -117 b;
+#X obj 317 -92 del 1;
+#X obj 213 -51 r \$1-mes;
+#X obj 317 -138 r \$1-mes;
+#X obj 78 -45 change;
+#X msg 137 -52 set -1;
+#X obj 317 -73 t b b b;
+#X floatatom 646 -98 5 0 0 0 - - -;
+#X obj 77 -23 / 11;
+#X connect 0 0 68 0;
+#X connect 1 0 2 0;
+#X connect 2 0 82 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 72 0;
+#X connect 8 1 10 1;
+#X connect 8 2 9 0;
+#X connect 9 0 7 1;
+#X connect 10 1 11 0;
+#X connect 11 0 15 0;
+#X connect 11 1 12 0;
+#X connect 12 0 7 1;
+#X connect 13 0 14 0;
+#X connect 15 0 13 0;
+#X connect 16 0 18 0;
+#X connect 17 0 28 0;
+#X connect 18 0 17 0;
+#X connect 18 1 23 0;
+#X connect 18 1 26 1;
+#X connect 18 1 27 1;
+#X connect 18 1 29 0;
+#X connect 19 0 20 0;
+#X connect 20 0 24 0;
+#X connect 21 0 22 0;
+#X connect 22 0 65 0;
+#X connect 23 0 20 1;
+#X connect 24 0 27 0;
+#X connect 25 0 30 0;
+#X connect 26 0 24 0;
+#X connect 27 0 25 0;
+#X connect 28 0 19 0;
+#X connect 28 1 26 0;
+#X connect 29 0 28 1;
+#X connect 31 0 40 0;
+#X connect 31 1 17 0;
+#X connect 32 0 41 0;
+#X connect 32 1 56 0;
+#X connect 33 0 35 0;
+#X connect 34 0 33 1;
+#X connect 35 0 51 0;
+#X connect 36 0 35 1;
+#X connect 37 0 44 0;
+#X connect 38 0 37 1;
+#X connect 39 0 37 0;
+#X connect 40 0 32 0;
+#X connect 40 1 39 1;
+#X connect 41 0 33 0;
+#X connect 41 1 42 0;
+#X connect 42 0 52 1;
+#X connect 43 0 52 0;
+#X connect 43 1 54 0;
+#X connect 44 0 47 0;
+#X connect 44 1 45 0;
+#X connect 44 1 46 0;
+#X connect 45 0 47 1;
+#X connect 46 0 48 0;
+#X connect 47 0 43 0;
+#X connect 48 0 43 1;
+#X connect 50 0 65 0;
+#X connect 51 0 39 0;
+#X connect 51 1 53 0;
+#X connect 52 0 57 0;
+#X connect 52 0 55 0;
+#X connect 53 0 52 2;
+#X connect 54 0 52 0;
+#X connect 55 0 58 0;
+#X connect 56 0 55 1;
+#X connect 59 0 60 0;
+#X connect 60 0 63 0;
+#X connect 61 0 62 0;
+#X connect 62 0 63 0;
+#X connect 63 0 55 1;
+#X connect 64 0 65 0;
+#X connect 65 0 66 0;
+#X connect 66 0 31 0;
+#X connect 68 0 50 0;
+#X connect 68 1 3 0;
+#X connect 71 0 6 0;
+#X connect 72 0 71 0;
+#X connect 72 1 73 0;
+#X connect 73 0 6 0;
+#X connect 74 0 72 1;
+#X connect 75 0 74 0;
+#X connect 76 0 74 0;
+#X connect 77 0 75 0;
+#X connect 77 1 75 0;
+#X connect 77 2 75 0;
+#X connect 77 3 76 0;
+#X connect 78 0 79 0;
+#X connect 79 0 84 0;
+#X connect 80 0 77 0;
+#X connect 81 0 78 0;
+#X connect 82 0 86 0;
+#X connect 83 0 82 0;
+#X connect 84 0 50 0;
+#X connect 84 1 2 0;
+#X connect 84 2 83 0;
+#X connect 86 0 4 0;
+#X connect 86 0 8 0;
+#X restore 47 58 pd division;
+#N canvas 39 291 438 442 MakeEvents 0;
+#X obj 49 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 48 194 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 108 259 makesymbol $;
+#X obj 108 278 makesymbol %s0;
+#X obj 108 237 loadbang;
+#X obj 166 238 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 48 241 f;
+#X obj 48 280 pack f s;
+#X obj 48 386 s \$0-can;
+#X obj 49 11 inlet;
+#X obj 50 78 makesymbol \$0-n%s-rcv;
+#X obj 48 218 for++ 0 10 1;
+#X obj 50 56 for++ 0 10;
+#X obj 279 154 cnv 15 100 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 282 76 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 51 125 \; \$1 pos 150 20;
+#X msg 48 316 obj 150 20 cnv 2 2 10 empty \$2-n\$1-rcv 1h -10 15 0
+10 -1 -66577 0;
+#X msg 159 111 \; \$1 color 0 0;
+#X connect 0 0 12 0;
+#X connect 1 0 11 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 1;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 16 0;
+#X connect 9 0 0 0;
+#X connect 10 0 15 0;
+#X connect 10 0 17 0;
+#X connect 11 0 6 0;
+#X connect 12 0 10 0;
+#X connect 16 0 8 0;
+#X restore 46 102 pd MakeEvents;
+#X obj 492 88 namecanvas \$0-can;
+#X obj 45 80 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 122 20 cnv 2 2 10 empty \$0-n0-rcv 1057| -10 15 0 10 -262144
+-262144 0;
+#X obj 177 20 cnv 2 2 10 empty \$0-n1-rcv 1061| -10 15 0 10 -262144
+-262144 0;
+#X obj 232 20 cnv 2 2 10 empty \$0-n2-rcv 1065| -10 15 0 10 -262144
+-262144 0;
+#X obj 287 20 cnv 2 2 10 empty \$0-n3-rcv 1069| -10 15 0 10 -262144
+-262144 0;
+#X obj 342 20 cnv 2 2 10 empty \$0-n4-rcv 1073| -10 15 0 10 -262144
+-262144 0;
+#X obj 397 20 cnv 2 2 10 empty \$0-n5-rcv 1077| -10 15 0 10 -262144
+-262144 0;
+#X obj 452 20 cnv 2 2 10 empty \$0-n6-rcv 1081| -10 15 0 10 -262144
+-262144 0;
+#X obj 507 20 cnv 2 2 10 empty \$0-n7-rcv 1085| -10 15 0 10 -262144
+-262144 0;
+#X obj 561 20 cnv 2 2 10 empty \$0-n8-rcv 1089| -10 15 0 10 -262144
+-262144 0;
+#X obj 616 20 cnv 2 2 10 empty \$0-n9-rcv 1093| -10 15 0 10 -262144
+-262144 0;
+#X obj 671 20 cnv 2 2 10 empty \$0-n10-rcv 1097| -10 15 0 10 -262144
+-262144 0;
+#X obj 690 21 cnv 10 20 18 empty \$0-numcan-rcv empty 5 10 0 12 -262144
+-262144 0;
+#X obj 21 21 cnv 15 70 18 empty \$0-namecan-rcv empty 12 10 0 12 -262144
+-1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 4 0 13 0;
+#X connect 7 0 4 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 0;
+#X connect 13 0 6 0;
+#X connect 14 0 0 0;
+#X connect 18 0 16 0;
+#X coords 0 -1 1 1 700 20 1 20 20;

+ 809 - 0
tlEvent.pd

@@ -0,0 +1,809 @@
+#N canvas 199 58 678 268 10;
+#X obj 143 96 v \$0-t;
+#X obj 143 115 v \$0-l;
+#X text 184 96 event start time;
+#X text 184 115 event len;
+#N canvas 681 127 544 680 mouse/key 0;
+#X obj 175 1 r \$1-e\$2-snd;
+#X obj 34 54 route motion button;
+#X obj 34 139 route dx dy;
+#X obj 34 99 spigot;
+#X msg 175 76 1;
+#X msg 144 152 0;
+#X obj 358 13 keyname;
+#X obj 358 37 pack f s;
+#X obj 358 79 route Shift_L Shift_R;
+#X obj 358 107 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 358 58 \$2 \$1;
+#X obj 145 363 v \$0-t;
+#X obj 179 456 max 0;
+#X obj 99 653 s \$0-updategui;
+#X obj 36 289 /;
+#X obj 63 289 v \$1-z;
+#X obj 36 267 t f b;
+#X obj 76 552 max 0;
+#X obj 112 596 v \$0-t;
+#X obj 76 573 t b f;
+#X obj 179 479 t b f;
+#X obj 229 528 v \$0-l;
+#X obj 76 452 +;
+#X obj 110 453 f;
+#X obj 179 406 +;
+#X obj 208 405 f;
+#X obj 197 362 v \$0-l;
+#X obj 189 334 b;
+#X obj 266 381 f \$2;
+#X obj 34 32 spigot;
+#X obj 144 177 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 266 359 del 5;
+#X obj 144 104 route 1 2;
+#X obj 226 549 s \$0-l-rcv;
+#X obj 96 615 s \$0-t-rcv;
+#X obj 77 32 r \$0-u-snd;
+#X obj 340 566 pack f \$2;
+#X msg 340 586 l \$2 \$1;
+#X obj 340 608 s \$1-events-snd;
+#X obj 193 609 pack f \$2;
+#X obj 193 651 s \$1-events-snd;
+#X msg 193 629 t \$2 \$1;
+#N canvas 122 473 532 450 where-clicked 0;
+#X obj 163 10 inlet;
+#X obj 192 96 v \$0-l;
+#X obj 163 44 t f b b;
+#X obj 207 120 v \$1-z;
+#X obj 192 165 *;
+#X obj 192 73 t b b;
+#X obj 163 215 demux 0 1;
+#X obj 214 265 *;
+#X obj 247 305 moses 45;
+#X obj 198 334 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 247 333 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 294 337 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 166 382 0;
+#X msg 224 382 1;
+#X msg 304 386 2;
+#X obj 224 422 outlet;
+#X obj 198 305 moses 3;
+#X obj 292 278 - 2;
+#X floatatom 99 88 5 0 0 0 - - -;
+#X obj 192 144 max 0.0001;
+#X obj 192 190 > 4;
+#X obj 116 251 moses 128;
+#X obj 214 243 maxlib/scale 0 128 0 1;
+#X connect 0 0 2 0;
+#X connect 0 0 18 0;
+#X connect 1 0 19 0;
+#X connect 2 0 6 0;
+#X connect 2 2 5 0;
+#X connect 3 0 4 1;
+#X connect 4 0 7 1;
+#X connect 4 0 17 0;
+#X connect 4 0 20 0;
+#X connect 5 0 1 0;
+#X connect 5 1 3 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 8 0 13 0;
+#X connect 8 1 11 0;
+#X connect 8 1 14 0;
+#X connect 12 0 15 0;
+#X connect 13 0 15 0;
+#X connect 14 0 15 0;
+#X connect 16 0 9 0;
+#X connect 16 0 12 0;
+#X connect 16 1 8 0;
+#X connect 17 0 8 1;
+#X connect 19 0 4 0;
+#X connect 20 0 6 1;
+#X connect 21 0 13 0;
+#X connect 21 1 14 0;
+#X connect 22 0 7 0;
+#X restore 214 47 pd where-clicked;
+#X obj 36 347 demux 0 1 2;
+#X obj 144 133 sel 0;
+#X obj 142 196 change;
+#X obj 175 26 t b b f;
+#X obj 173 255 f;
+#X obj 36 371 t f f;
+#X obj 36 318 demux 0 1;
+#X obj 265 199 demux;
+#X obj 266 456 s \$1-events-snd;
+#X msg 266 432 select \$1;
+#X obj 265 232 t b b;
+#X obj 265 340 b;
+#X msg 334 431 unsel;
+#X obj 437 449 r \$1-events-rcv;
+#X obj 437 471 route unsel;
+#X msg 437 495 0;
+#X obj 437 518 s \$0-select;
+#X msg 396 432 1;
+#X obj 232 97 r \$0-select;
+#X obj 142 219 sel 1 0;
+#X obj 365 207 r \$0-select;
+#X obj 314 233 demux 0 1;
+#X obj 34 183 s \$1-events-snd;
+#X msg 34 161 move \$1;
+#X obj 34 222 route move;
+#X obj 79 244 r \$0-select;
+#X obj 34 244 spigot;
+#X obj 34 203 r \$1-events-rcv;
+#X obj 338 311 f;
+#X msg 324 275 1;
+#X msg 367 273 0;
+#X obj 346 383 demux;
+#X obj 358 130 s \$0-isshift;
+#X obj 373 359 r \$0-isshift;
+#X obj 292 177 r \$0-isshift;
+#X obj 101 319 r \$0-isshift;
+#X obj 444 381 r \$0-select;
+#X obj 393 406 demux 0 1;
+#X obj 307 402 t b b;
+#X obj 338 332 sel 1;
+#X obj 265 146 t f b;
+#X obj 375 309 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 390 256 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 1 58 408 378 snap 0;
+#X obj 95 27 inlet;
+#X obj 95 307 outlet;
+#X obj 95 157 demux 0 1;
+#X obj 146 180 * 4;
+#X obj 146 225 i;
+#X obj 146 249 / 4;
+#X obj 161 27 r \$0-rcv;
+#X obj 161 48 route snap;
+#X obj 161 71 t f f;
+#X obj 146 97 != 0;
+#X msg 243 46 0;
+#X msg 321 44 4;
+#X obj 146 201 + 0.5;
+#X msg 277 44 1;
+#X obj 189 134 t b f;
+#X obj 146 135 * 1;
+#X obj 196 92 r \$0-isshift;
+#X obj 195 113 == 0;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 12 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 3 1;
+#X connect 8 1 5 1;
+#X connect 9 0 15 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 4 0;
+#X connect 13 0 8 0;
+#X connect 14 0 15 0;
+#X connect 14 1 15 1;
+#X connect 15 0 2 1;
+#X connect 16 0 17 0;
+#X connect 17 0 14 0;
+#X restore 76 476 pd snap;
+#X obj 126 487 v \$0-t;
+#X obj 103 517 -;
+#X obj 117 540 spigot;
+#X obj 155 507 == 0;
+#X obj 233 404 +;
+#X obj 233 378 * -1;
+#X obj 76 496 t f f;
+#N canvas 1 29 450 300 snap 0;
+#X obj 95 27 inlet;
+#X obj 95 268 outlet;
+#X obj 95 118 demux 0 1;
+#X obj 146 141 * 4;
+#X obj 146 186 i;
+#X obj 146 210 / 4;
+#X obj 161 27 r \$0-rcv;
+#X obj 161 48 route snap;
+#X obj 161 71 t f f;
+#X obj 146 97 != 0;
+#X msg 243 46 0;
+#X msg 321 44 4;
+#X obj 146 162 + 0.5;
+#X msg 277 44 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 12 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 3 1;
+#X connect 8 1 5 1;
+#X connect 9 0 2 1;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 4 0;
+#X connect 13 0 8 0;
+#X restore 87 371 pd snap;
+#N canvas 2 58 450 353 snap 0;
+#X obj 95 25 inlet;
+#X obj 95 302 outlet;
+#X obj 95 118 demux 0 1;
+#X obj 146 169 * 4;
+#X obj 146 214 i;
+#X obj 146 238 / 4;
+#X obj 161 27 r \$0-rcv;
+#X obj 161 48 route snap;
+#X obj 161 71 t f f;
+#X obj 146 97 != 0;
+#X msg 243 46 0;
+#X msg 321 44 4;
+#X obj 146 190 + 0.5;
+#X msg 277 44 1;
+#X obj 146 144 +;
+#X obj 223 107 inlet t;
+#X obj 146 260 -;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 14 0;
+#X connect 3 0 12 0;
+#X connect 4 0 5 0;
+#X connect 5 0 16 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 3 1;
+#X connect 8 1 5 1;
+#X connect 9 0 2 1;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 4 0;
+#X connect 13 0 8 0;
+#X connect 14 0 3 0;
+#X connect 15 0 14 1;
+#X connect 15 0 16 1;
+#X connect 16 0 1 0;
+#X restore 179 431 pd snap;
+#X obj 34 3 r \$1-Mouse;
+#X connect 0 0 46 0;
+#X connect 1 0 3 0;
+#X connect 1 1 32 0;
+#X connect 2 0 66 0;
+#X connect 3 0 2 0;
+#X connect 4 0 30 0;
+#X connect 5 0 30 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 8 1 9 0;
+#X connect 9 0 75 0;
+#X connect 10 0 8 0;
+#X connect 11 0 23 0;
+#X connect 11 0 95 1;
+#X connect 12 0 20 0;
+#X connect 14 0 49 0;
+#X connect 15 0 14 1;
+#X connect 16 0 14 0;
+#X connect 16 1 15 0;
+#X connect 16 1 73 0;
+#X connect 17 0 19 0;
+#X connect 19 0 13 0;
+#X connect 19 1 18 0;
+#X connect 19 1 34 0;
+#X connect 19 1 39 0;
+#X connect 20 0 13 0;
+#X connect 20 1 21 0;
+#X connect 20 1 33 0;
+#X connect 20 1 36 0;
+#X connect 22 0 86 0;
+#X connect 22 0 23 0;
+#X connect 23 0 22 1;
+#X connect 24 0 25 0;
+#X connect 24 0 95 0;
+#X connect 25 0 24 1;
+#X connect 26 0 25 0;
+#X connect 26 0 91 1;
+#X connect 27 0 26 0;
+#X connect 27 0 11 0;
+#X connect 27 0 87 0;
+#X connect 28 0 52 0;
+#X connect 29 0 1 0;
+#X connect 30 0 45 0;
+#X connect 30 0 3 1;
+#X connect 31 0 28 0;
+#X connect 32 0 44 0;
+#X connect 32 1 44 0;
+#X connect 35 0 29 1;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
+#X connect 39 0 41 0;
+#X connect 41 0 40 0;
+#X connect 42 0 47 1;
+#X connect 43 0 48 0;
+#X connect 43 1 22 0;
+#X connect 43 2 24 0;
+#X connect 44 0 5 0;
+#X connect 45 0 62 0;
+#X connect 46 0 4 0;
+#X connect 46 2 42 0;
+#X connect 47 0 43 1;
+#X connect 47 0 50 0;
+#X connect 47 0 90 0;
+#X connect 48 0 22 0;
+#X connect 49 0 43 0;
+#X connect 49 1 94 0;
+#X connect 50 0 53 0;
+#X connect 50 1 64 0;
+#X connect 52 0 51 0;
+#X connect 53 0 54 0;
+#X connect 53 1 55 0;
+#X connect 54 0 31 0;
+#X connect 54 0 60 0;
+#X connect 55 0 51 0;
+#X connect 56 0 57 0;
+#X connect 57 0 58 0;
+#X connect 58 0 59 0;
+#X connect 60 0 59 0;
+#X connect 62 0 47 0;
+#X connect 62 0 27 0;
+#X connect 62 1 71 0;
+#X connect 63 0 64 1;
+#X connect 64 0 54 0;
+#X connect 64 0 73 0;
+#X connect 64 1 72 0;
+#X connect 64 1 85 0;
+#X connect 66 0 65 0;
+#X connect 67 0 69 0;
+#X connect 68 0 69 1;
+#X connect 69 0 16 0;
+#X connect 70 0 67 0;
+#X connect 71 0 73 0;
+#X connect 71 0 82 0;
+#X connect 72 0 71 1;
+#X connect 72 0 84 0;
+#X connect 73 0 71 1;
+#X connect 73 0 84 0;
+#X connect 74 0 81 0;
+#X connect 74 1 80 0;
+#X connect 76 0 74 1;
+#X connect 77 0 50 1;
+#X connect 78 0 49 1;
+#X connect 79 0 80 1;
+#X connect 80 1 58 0;
+#X connect 81 0 54 0;
+#X connect 81 1 55 0;
+#X connect 82 0 74 0;
+#X connect 83 0 50 0;
+#X connect 86 0 93 0;
+#X connect 87 0 88 1;
+#X connect 88 0 89 0;
+#X connect 89 0 92 0;
+#X connect 90 0 89 1;
+#X connect 91 0 12 0;
+#X connect 92 0 91 0;
+#X connect 93 0 17 0;
+#X connect 93 1 88 0;
+#X connect 94 0 22 0;
+#X connect 95 0 12 0;
+#X connect 96 0 29 0;
+#X restore 37 74 pd mouse/key;
+#N canvas 815 274 350 513 gui 0;
+#X msg 171 382 pos \$1 20;
+#X obj 171 404 s \$1-e\$2-rcv;
+#X obj 45 415 s \$1-e\$2-rcv;
+#X msg 45 393 size \$1 20;
+#X obj 45 -48 r \$0-updategui;
+#X obj 45 51 v \$0-l;
+#X obj 171 48 v \$0-t;
+#X obj 45 18 t b b;
+#X obj 198 132 v \$1-z;
+#X obj 198 90 v \$1-s;
+#X obj 171 92 -;
+#X obj 171 112 t f b;
+#X obj 171 134 *;
+#X obj 171 156 t f b;
+#X obj 171 241 clip 70 660;
+#X obj 45 112 +;
+#X obj 248 203 + 2;
+#X obj 171 70 t f b;
+#X obj 45 136 *;
+#X obj 45 158 t f b;
+#X obj 126 204 + 8;
+#X obj 45 258 -;
+#X obj 45 236 clip 70 660;
+#X obj 19 -22 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 181 v \$1-xl;
+#X obj 126 181 v \$1-xr;
+#X obj 198 179 v \$1-xl;
+#X obj 248 180 v \$1-xr;
+#X obj 171 209 +;
+#X obj 45 211 +;
+#X obj 45 367 speedlim 50;
+#X obj 171 358 speedlim 50;
+#X obj 45 -4 spigot;
+#X obj 45 280 - 3;
+#X obj 171 267 + 3;
+#X obj 45 343 change -1;
+#X obj 171 334 change -1;
+#X msg 76 317 set -1e+06;
+#X obj 45 307 i;
+#X obj 182 300 i;
+#X obj 78 -26 r \$0-u-snd;
+#X obj 198 202 - 20;
+#X obj 72 204 - 15;
+#X connect 0 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 32 0;
+#X connect 5 0 15 0;
+#X connect 6 0 17 0;
+#X connect 7 0 5 0;
+#X connect 7 1 6 0;
+#X connect 8 0 12 1;
+#X connect 8 0 18 1;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 10 0 15 1;
+#X connect 11 0 12 0;
+#X connect 11 1 8 0;
+#X connect 12 0 13 0;
+#X connect 13 0 28 0;
+#X connect 13 1 26 0;
+#X connect 13 1 27 0;
+#X connect 14 0 21 1;
+#X connect 14 0 34 0;
+#X connect 15 0 18 0;
+#X connect 16 0 14 2;
+#X connect 17 0 10 0;
+#X connect 17 1 9 0;
+#X connect 18 0 19 0;
+#X connect 19 0 29 0;
+#X connect 19 1 24 0;
+#X connect 19 1 25 0;
+#X connect 20 0 22 2;
+#X connect 21 0 33 0;
+#X connect 22 0 21 0;
+#X connect 23 0 7 0;
+#X connect 24 0 29 1;
+#X connect 24 0 42 0;
+#X connect 25 0 20 0;
+#X connect 26 0 28 1;
+#X connect 26 0 41 0;
+#X connect 27 0 16 0;
+#X connect 28 0 14 0;
+#X connect 29 0 22 0;
+#X connect 30 0 3 0;
+#X connect 31 0 0 0;
+#X connect 32 0 7 0;
+#X connect 33 0 38 0;
+#X connect 34 0 39 0;
+#X connect 35 0 30 0;
+#X connect 36 0 31 0;
+#X connect 36 0 37 0;
+#X connect 37 0 35 0;
+#X connect 38 0 35 0;
+#X connect 39 0 36 0;
+#X connect 40 0 32 1;
+#X connect 41 0 14 1;
+#X connect 42 0 22 1;
+#X restore 37 97 pd gui;
+#X obj 301 102 s \$0-updategui;
+#X obj 301 80 r \$1-updategui;
+#X obj 412 101 r \$1-events-rcv;
+#X obj 412 123 route \$2 -1;
+#X obj 412 144 s \$0-rcv;
+#X obj 413 174 r \$0-snd;
+#X obj 413 196 list prepend \$2;
+#X obj 413 218 s \$1-events-snd;
+#N canvas 672 418 450 300 init 0;
+#X obj 50 27 r \$0-rcv;
+#X obj 50 48 route init;
+#X obj 155 132 v \$0-t;
+#X obj 123 175 v \$0-l;
+#X obj 123 152 f 0;
+#X obj 171 87 v \$0-u;
+#X obj 67 198 s \$0-updategui;
+#X obj 27 46 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 171 66 0;
+#X msg 84 231 1;
+#X msg 50 229 0;
+#X obj 171 15 loadbang;
+#X obj 155 111 f -100000;
+#X obj 213 42 del 100;
+#X obj 167 174 s \$0-l-rcv;
+#X obj 199 131 s \$0-t-rcv;
+#X obj 236 72 s \$0-u-rcv;
+#X obj 283 118 pack f \$2;
+#X obj 283 160 s \$1-events-snd;
+#X msg 283 138 u \$2 \$1;
+#X obj 251 182 pack f \$2;
+#X obj 251 224 s \$1-events-snd;
+#X msg 251 202 t \$2 \$1;
+#X obj 177 208 pack f \$2;
+#X obj 177 250 s \$1-events-snd;
+#X msg 177 228 l \$2 \$1;
+#X obj 89 256 s \$0-u-rcv;
+#X obj 50 73 t b b b b;
+#X msg 324 54 label \$1;
+#X obj 324 73 s \$1-e\$2-rcv;
+#X obj 324 11 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 324 32 makesymbol \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 27 0;
+#X connect 4 0 3 0;
+#X connect 4 0 14 0;
+#X connect 4 0 23 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 8 0 17 0;
+#X connect 9 0 26 0;
+#X connect 10 0 26 0;
+#X connect 11 0 8 0;
+#X connect 12 0 2 0;
+#X connect 12 0 15 0;
+#X connect 12 0 20 0;
+#X connect 17 0 19 0;
+#X connect 19 0 18 0;
+#X connect 20 0 22 0;
+#X connect 22 0 21 0;
+#X connect 23 0 25 0;
+#X connect 25 0 24 0;
+#X connect 27 0 10 0;
+#X connect 27 1 6 0;
+#X connect 27 2 4 0;
+#X connect 27 2 9 0;
+#X connect 27 2 12 0;
+#X connect 27 3 8 0;
+#X connect 27 3 31 0;
+#X connect 28 0 29 0;
+#X connect 30 0 31 0;
+#X connect 31 0 28 0;
+#X restore 37 127 pd init;
+#X obj 142 75 v \$0-u;
+#X text 184 75 event is used;
+#N canvas 789 290 450 606 add 0;
+#X obj 50 27 r \$0-rcv;
+#X obj 77 391 v \$0-t;
+#X obj 122 391 v \$0-l;
+#X obj 77 92 v \$0-u;
+#X obj 50 433 s \$0-updategui;
+#X obj 50 48 route add;
+#X obj 50 114 demux;
+#X obj 100 134 init \$2;
+#X obj 100 154 + 1;
+#X obj 100 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 137 309 v \$1-z;
+#X obj 77 177 f;
+#X obj 59 312 v \$1-s;
+#X obj 109 337 /;
+#X obj 77 264 t b b b;
+#X obj 59 333 +;
+#X obj 50 243 t b b;
+#X obj 187 409 v \$0-u;
+#X msg 186 371 1;
+#X obj 50 70 t b b;
+#X obj 292 285 f \$2;
+#X obj 292 261 del 5;
+#X obj 155 429 s \$0-u-rcv;
+#X obj 240 393 pack f \$2;
+#X obj 240 435 s \$1-events-snd;
+#X msg 240 413 u \$2 \$1;
+#X obj 149 472 pack f \$2;
+#X obj 149 514 s \$1-events-snd;
+#X obj 40 476 pack f \$2;
+#X obj 40 518 s \$1-events-snd;
+#X msg 40 496 t \$2 \$1;
+#X msg 149 492 l \$2 \$1;
+#X msg 77 198 \$1 add;
+#X obj 15 536 f \$2;
+#X obj 77 219 s \$1-events-rcv;
+#X obj 15 581 s \$1-events-snd;
+#X msg 15 559 added \$1;
+#X obj 292 333 s \$1-events-snd;
+#X msg 292 309 select \$1;
+#X msg 236 302 unsel;
+#X obj 278 221 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 330 377 s \$0-select;
+#X msg 332 357 1;
+#X msg 109 308 20;
+#X obj 200 157 route get;
+#X obj 200 137 r \$1-events-rcv;
+#X obj 77 290 f;
+#X obj 78 362 f;
+#X connect 0 0 5 0;
+#X connect 3 0 6 1;
+#X connect 5 0 19 0;
+#X connect 6 0 16 0;
+#X connect 6 1 11 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 1;
+#X connect 9 0 7 0;
+#X connect 10 0 13 1;
+#X connect 11 0 32 0;
+#X connect 12 0 15 0;
+#X connect 13 0 15 1;
+#X connect 13 0 2 0;
+#X connect 13 0 26 0;
+#X connect 14 0 46 0;
+#X connect 14 1 43 0;
+#X connect 14 2 10 0;
+#X connect 14 2 18 0;
+#X connect 14 2 21 0;
+#X connect 14 2 39 0;
+#X connect 15 0 47 0;
+#X connect 16 0 4 0;
+#X connect 16 0 33 0;
+#X connect 16 1 14 0;
+#X connect 18 0 17 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 19 0 6 0;
+#X connect 19 1 3 0;
+#X connect 20 0 38 0;
+#X connect 21 0 20 0;
+#X connect 21 0 42 0;
+#X connect 23 0 25 0;
+#X connect 25 0 24 0;
+#X connect 26 0 31 0;
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X connect 31 0 27 0;
+#X connect 32 0 34 0;
+#X connect 33 0 36 0;
+#X connect 36 0 35 0;
+#X connect 38 0 37 0;
+#X connect 39 0 37 0;
+#X connect 40 0 21 0;
+#X connect 42 0 41 0;
+#X connect 43 0 13 0;
+#X connect 44 0 46 1;
+#X connect 45 0 44 0;
+#X connect 46 0 47 0;
+#X connect 47 0 1 0;
+#X connect 47 0 28 0;
+#X restore 37 146 pd add;
+#N canvas 136 399 201 255 select 0;
+#X obj 34 76 change;
+#X obj 34 97 sel 0 1;
+#X obj 34 195 s \$1-e\$2-rcv;
+#X obj 34 52 r \$0-select;
+#X obj 102 109 loadbang;
+#X msg 34 136 color 0 0 22;
+#X msg 53 165 color 15 15 22;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 6 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X restore 37 167 pd select;
+#X obj 515 175 spigot;
+#X msg 515 197 init;
+#X obj 515 218 s \$0-rcv;
+#N canvas 188 373 550 440 get 0;
+#X obj 60 24 r \$1-events-rcv;
+#X obj 79 152 v \$0-l;
+#X obj 60 119 t f b b;
+#X obj 79 185 +;
+#X obj 60 208 moses;
+#X obj 99 208 moses;
+#X obj 60 96 route get;
+#X obj 99 255 t f f;
+#X obj 99 233 -;
+#X obj 126 277 /;
+#X obj 99 342 s \$1-events-snd;
+#X obj 60 72 spigot;
+#X obj 93 48 r \$0-u-snd;
+#X obj 164 157 v \$0-t;
+#X obj 99 301 pack f f \$2 f;
+#X msg 99 322 get \$3 \$1 \$2 \$4;
+#X text 196 321 get eventNum relativeTime normalizedTime eventLength
+;
+#X connect 0 0 11 0;
+#X connect 1 0 3 0;
+#X connect 1 0 9 1;
+#X connect 1 0 14 3;
+#X connect 2 0 4 0;
+#X connect 2 1 1 0;
+#X connect 2 2 13 0;
+#X connect 3 0 5 1;
+#X connect 4 1 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 2 0;
+#X connect 7 0 14 0;
+#X connect 7 1 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 14 1;
+#X connect 11 0 6 0;
+#X connect 12 0 11 1;
+#X connect 13 0 4 1;
+#X connect 13 0 8 1;
+#X connect 13 0 3 1;
+#X connect 14 0 15 0;
+#X connect 15 0 10 0;
+#X restore 37 187 pd get;
+#X obj 515 128 route delete;
+#X obj 548 154 r \$0-select;
+#X obj 221 174 v \$0-t;
+#X obj 286 173 v \$0-l;
+#X obj 152 176 v \$0-u;
+#N canvas 63 419 419 211 set 0;
+#X obj 98 91 v \$0-t;
+#X obj 163 90 v \$0-l;
+#X obj 53 90 v \$0-u;
+#X obj 62 16 r \$0-rcv;
+#X obj 27 69 t b f;
+#X obj 72 67 t b f;
+#X obj 136 69 t b f;
+#X obj 27 129 s \$0-updategui;
+#X obj 65 112 s \$0-u-rcv;
+#X obj 62 37 route u t l name;
+#X obj 217 77 a2l;
+#X obj 217 98 l2s;
+#X obj 248 60 list prepend \$2;
+#X msg 221 12 truc machin;
+#X msg 217 120 label \$1;
+#X msg 248 81 symbol \$1:\$2;
+#X obj 217 139 s \$1-e\$2-rcv;
+#X obj 294 31 init \$2;
+#X obj 303 10 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X connect 3 0 9 0;
+#X connect 4 0 7 0;
+#X connect 4 1 2 0;
+#X connect 4 1 8 0;
+#X connect 5 0 7 0;
+#X connect 5 1 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 1 0;
+#X connect 9 0 4 0;
+#X connect 9 1 5 0;
+#X connect 9 2 6 0;
+#X connect 9 3 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 14 0;
+#X connect 12 0 15 0;
+#X connect 13 0 10 0;
+#X connect 14 0 16 0;
+#X connect 17 0 10 0;
+#X connect 18 0 17 0;
+#X restore 38 207 pd set;
+#X obj 143 149 r \$0-u-rcv;
+#X obj 211 149 r \$0-t-rcv;
+#X obj 278 149 r \$0-l-rcv;
+#X obj 278 199 s \$0-l-snd;
+#X obj 211 199 s \$0-t-snd;
+#X obj 143 200 s \$0-u-snd;
+#X text 54 1 tlEvent trackRef eventNum;
+#X text 91 16 timeline internal event \; controls emiting the events
+when crossed \, and actualizes graphic objects (sliders) real position
+and size.;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 8 0 23 0;
+#X connect 9 0 10 0;
+#X connect 9 1 10 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 1;
+#X connect 29 0 27 0;
+#X connect 29 0 34 0;
+#X connect 30 0 25 0;
+#X connect 30 0 33 0;
+#X connect 31 0 26 0;
+#X connect 31 0 32 0;

+ 31 - 0
tlGotoEvent.pd

@@ -0,0 +1,31 @@
+#N canvas 1032 669 462 312 10;
+#X obj 120 108 loadbang;
+#X obj 177 112 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 44 111 symbol;
+#X obj 238 216 unpack f f f;
+#X floatatom 238 241 5 0 0 0 - - -;
+#X obj 44 132 sel home;
+#X obj 44 86 inlet;
+#X obj 89 209 s \$1-song-\$2-rcv;
+#X obj 89 154 pack s s \$3;
+#X msg 89 183 \$3 request \$1 \$2;
+#X obj 272 240 s \$1-\$2-Goto;
+#X obj 44 239 s \$1-\$2-home-rcv;
+#X obj 120 131 symbol \$0-request_ev-rcv;
+#X obj 238 190 r \$0-request_ev-rcv;
+#X text 42 16 tlGotoEvent SongRef SongName TrackNum;
+#X text 58 39 Set the index to the beginning of the first event having
+the requested name on the specified track of the song.;
+#X connect 0 0 12 0;
+#X connect 1 0 12 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 3 1 10 0;
+#X connect 5 0 11 0;
+#X connect 5 1 8 0;
+#X connect 6 0 2 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 12 0 8 1;
+#X connect 13 0 3 0;

+ 110 - 0
tlHelp.preset

@@ -0,0 +1,110 @@
+mysubvar MyFloat2 66.0059 128 100.577 28.9799 64.0029 127 14.4899 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+mysub MyFloat 127 128 20.4564 101.43 63.9262 127 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0;
+loop loop 1 128 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+;
+loop name MyLoop 128 MyLoop otherLoop _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+_ _ _ _ _ _ _ _ _;
+Song t3 mute 0 0;
+Song t3 tn 100 0 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 0 _;
+Song t3 name _ 0 _;
+Song t3 B 0 0;
+Song t3 G 0 0;
+Song t3 R 0 0;
+Song t3 tl 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song t3 tt 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song t3 tu 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song t2 mute 0 0;
+Song t2 tn 100 0 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 0 _;
+Song t2 name _ 0 _;
+Song t2 B 0 0;
+Song t2 G 0 0;
+Song t2 R 0 0;
+Song t2 tl 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song t2 tt 100 -100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0;
+Song t2 tu 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song t4 mute 0 0;
+Song t4 tn 100 MyLoop otherLoop 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 0 _;
+Song t4 name Loops 0 _;
+Song t4 B 255 0;
+Song t4 G 138.543 0;
+Song t4 R 0 0;
+Song t4 tl 100 17.4674 1.37789 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0;
+Song t4 tt 100 1.37789 19.8108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0;
+Song t4 tu 100 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+Song s 0 0;
+Song z 26.8876 0;
+Song t1 mute 0 0;
+Song t1 tn 100 symbol symbol symbol symbol symbol 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 0 _;
+Song t1 name _ 0 _;
+Song t1 B 0 0;
+Song t1 G 0 0;
+Song t1 R 0 0;
+Song t1 tl 100 3.84327 3.11502 1.10289 5.51448 1.12808 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+Song t1 tt 100 1.68922 6.33761 11.012 13.2225 19.9091 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+Song t1 tu 100 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;

+ 134 - 0
tlLinkAp.pd

@@ -0,0 +1,134 @@
+#N canvas 76 149 504 744 10;
+#X obj 60 81 r \$1-song-\$2-snd;
+#X floatatom 119 192 5 0 0 0 - - -;
+#X obj 60 104 route \$3;
+#X obj 74 162 unwonk f;
+#X obj 74 187 sel -1;
+#X obj 93 250 change;
+#X obj 93 326 s \$4-pattern-snd;
+#X msg 93 302 _all_ load \$1;
+#X obj 204 293 s \$4-pattern-snd;
+#X msg 204 269 _all_ store \$1;
+#X obj 208 81 inlet;
+#X obj 204 242 f;
+#X obj 232 143 spigot;
+#X msg 322 119 0;
+#X msg 283 120 1;
+#X obj 141 154 t b f;
+#X obj 17 360 outlet event;
+#X obj 255 359 outlet rec_enabled;
+#X obj 283 173 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 283 146 change;
+#X msg 74 214 set -1;
+#X obj 223 330 s \$4-memorynum;
+#X obj 249 78 r \$4-rec-snd;
+#X obj 379 274 s \$4-rec-rcv;
+#X obj 344 180 sel 0 1;
+#X obj 343 136 init 0;
+#X obj 342 276 bng 15 250 50 0 empty empty empty 17 7 0 10 -195568
+-195568 -195568;
+#X msg 334 229 color 20 20 20;
+#X msg 364 207 color 13 22 22;
+#X obj 93 279 t f b f;
+#X obj 135 375 s \$4-pat-preload;
+#X obj 60 128 route get added select prev;
+#X floatatom 179 437 5 0 0 0 - - -;
+#X obj 79 479 pack f f f;
+#X obj 46 456 sel -1;
+#X obj 79 527 list prepend _all_;
+#X obj 79 549 list trim;
+#X msg 79 503 A \$2 \, B \$1 \, pos \$3;
+#X obj 79 575 s \$4var-pattern-snd;
+#X obj 243 389 change;
+#X msg 243 415 _all_ load \$1;
+#X obj 243 439 s \$4var-pattern-snd;
+#X obj 306 300 s \$4var-pattern-snd;
+#X obj 246 465 r \$4-setap-snd;
+#X obj 246 488 route _all_;
+#X obj 246 511 route _loaded_;
+#X obj 259 559 s \$4-setap-snd;
+#X obj 246 589 s \$4var-setap-snd;
+#X msg 246 533 _all_ _nbpattern_ 128;
+#X obj 343 510 loadbang;
+#X text 20 4 tlLinkAp SongRef SongName TrackNum destSubRef;
+#X text 41 19 \$1:SongRef;
+#X text 110 18 \$2:SongName;
+#X text 188 18 \$3:TrackNum;
+#X text 266 18 \$4:subRef;
+#X text 112 43 Link the track of a song to an AutoPreset subreference.
+;
+#X text 23 635 get : eventNum relativeTime normalizedTime eventLength
+;
+#X floatatom 77 690 5 0 0 0 - - -;
+#X floatatom 112 691 5 0 0 0 - - -;
+#X floatatom 147 690 8 0 0 0 - - -;
+#X floatatom 200 689 5 0 0 0 - - -;
+#X floatatom 238 689 5 0 0 0 - - -;
+#X obj 83 664 unpack f f f f f;
+#X obj 60 406 unpack f f f f;
+#X connect 0 0 2 0;
+#X connect 2 0 31 0;
+#X connect 3 0 4 0;
+#X connect 4 0 20 0;
+#X connect 4 1 5 0;
+#X connect 5 0 11 1;
+#X connect 5 0 29 0;
+#X connect 7 0 6 0;
+#X connect 9 0 8 0;
+#X connect 9 0 42 0;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 11 0 21 0;
+#X connect 12 0 11 0;
+#X connect 13 0 19 0;
+#X connect 14 0 19 0;
+#X connect 15 0 14 0;
+#X connect 15 1 5 0;
+#X connect 15 1 39 0;
+#X connect 18 0 17 0;
+#X connect 18 0 24 0;
+#X connect 19 0 12 1;
+#X connect 19 0 18 0;
+#X connect 20 0 5 0;
+#X connect 22 0 12 0;
+#X connect 24 0 27 0;
+#X connect 24 1 28 0;
+#X connect 25 0 18 0;
+#X connect 27 0 26 0;
+#X connect 27 0 23 0;
+#X connect 28 0 26 0;
+#X connect 28 0 23 0;
+#X connect 29 0 7 0;
+#X connect 29 0 21 0;
+#X connect 29 1 13 0;
+#X connect 29 2 30 0;
+#X connect 31 0 3 0;
+#X connect 31 0 16 0;
+#X connect 31 0 63 0;
+#X connect 31 1 11 0;
+#X connect 31 1 14 0;
+#X connect 31 2 1 0;
+#X connect 31 2 15 0;
+#X connect 31 3 32 0;
+#X connect 32 0 33 1;
+#X connect 33 0 37 0;
+#X connect 34 1 33 0;
+#X connect 35 0 36 0;
+#X connect 36 0 38 0;
+#X connect 37 0 35 0;
+#X connect 39 0 40 0;
+#X connect 40 0 41 0;
+#X connect 43 0 44 0;
+#X connect 44 0 45 0;
+#X connect 45 0 48 0;
+#X connect 48 0 46 0;
+#X connect 48 0 47 0;
+#X connect 49 0 48 0;
+#X connect 62 0 57 0;
+#X connect 62 1 58 0;
+#X connect 62 2 59 0;
+#X connect 62 3 60 0;
+#X connect 62 4 61 0;
+#X connect 63 0 34 0;
+#X connect 63 2 33 2;

+ 51 - 0
tlLoop.pd

@@ -0,0 +1,51 @@
+#N canvas 849 221 430 345 10;
+#X obj 1 14 cnv 15 150 50 empty empty Loop 5 7 0 14 -5824 -262144 0
+;
+#X obj 108 14 bng 15 250 50 0 \$0-rec-snd \$0-rec-rcv rec 17 7 0 10
+-195568 -195568 -195568;
+#X symbolatom 34 30 16 0 0 0 name #0-name-rcv #0-name-snd;
+#X obj 184 33 apsym \$0 name \$0-name;
+#X obj 324 33 r \$0-name-snd;
+#X obj 32 48 tgl 15 0 \$0-loop-snd \$0-loop-rcv loop -25 7 0 10 -262144
+-1 -1 1 1;
+#X obj 184 53 apf \$0 loop \$0-loop;
+#X obj 184 0 tlTrackRef \$0 \$1 \$2 \$3 \$4;
+#X obj 324 54 s \$0-eventname;
+#X obj 13 288 f;
+#X obj 164 192 * -1;
+#X obj 164 260 +;
+#X obj 13 215 spigot;
+#X obj 13 149 change;
+#X obj 179 236 route i;
+#X obj 13 261 spigot;
+#X obj 46 237 r \$0-loop-snd;
+#X obj 137 150 r \$0-tlev;
+#X obj 13 172 sel 1;
+#X obj 13 120 r \$0-outside;
+#X obj 46 194 r \$1-\$3-play-snd;
+#X obj 13 310 s \$1-\$3-Goto;
+#X obj 179 214 r \$1-song-\$3-snd;
+#X text 188 259 compute event start time;
+#X text 1 -18 tlLoop SongRef Name SongName TrackNum;
+#X text 10 73 At the end of an event on the requested track \, if "loop"
+is on for this event \, send the index of the song back to the beginning
+of the event.;
+#X text 74 135 event : eventNum relativeTime normalizedTime eventLength
+;
+#X obj 137 169 unpack f f f f;
+#X connect 4 0 8 0;
+#X connect 9 0 21 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 1;
+#X connect 12 0 15 0;
+#X connect 13 0 18 0;
+#X connect 14 0 11 1;
+#X connect 15 0 9 0;
+#X connect 16 0 15 1;
+#X connect 17 0 27 0;
+#X connect 18 0 12 0;
+#X connect 19 0 13 0;
+#X connect 20 0 12 1;
+#X connect 22 0 14 0;
+#X connect 27 1 10 0;
+#X coords 0 0 1 1 152 65 1 0 0;

+ 276 - 0
tlSong.pd

@@ -0,0 +1,276 @@
+#N canvas 465 63 1009 740 10;
+#X obj 556 409 namecanvas \$0-can;
+#X obj 556 388 s \$0-can;
+#X msg 556 367 donecanvasdialog 1 -1 0;
+#X msg 556 345 reduire;
+#X obj 556 432 v \$0-z;
+#X obj 513 433 init 1;
+#X obj 483 431 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 556 451 v \$0-s;
+#X text 598 432 z=zoom=pixel/unit;
+#X text 598 451 s=scroll=time of xleft;
+#X obj 513 452 init 0;
+#X obj 557 478 v \$0-xl;
+#X obj 557 498 v \$0-xr;
+#X text 613 478 xl=pixel_x of xleft in canvas;
+#X text 614 497 xr=pixel_x of xright in canvas;
+#X obj 360 461 s \$0-updategui;
+#X floatatom 379 372 5 0 0 0 - - -;
+#X floatatom 338 371 5 0.1 1e+06 0 - - -;
+#X obj 338 393 t b f;
+#X obj 379 395 t b f;
+#X obj 365 416 v \$0-z;
+#X obj 409 415 v \$0-s;
+#X obj 506 476 init 90;
+#X obj 501 500 init 690;
+#X obj 456 373 v \$0-songlen;
+#X obj 456 351 init 3600;
+#X obj 456 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 456 303 bng 15 250 50 0 \$0-reset empty reset 17 7 0 10 -260097
+-1 -1;
+#X obj 173 320 r \$0-i-snd;
+#X obj 53 348 route i;
+#X obj 80 395 v \$0-songlen;
+#X obj 53 375 t f b;
+#X obj 53 396 /;
+#X obj 200 394 v \$0-songlen;
+#X obj 173 372 t f b;
+#X obj 173 393 *;
+#X obj 260 349 s \$0-get;
+#X obj 745 640 r \$0-got;
+#X obj 745 683 list trim;
+#X obj 237 528 spigot;
+#X obj 270 505 r \$0-lockstoi-snd;
+#X obj 237 549 s \$0-s-rcv;
+#X obj 53 538 apmaster \$0;
+#X obj 55 587 r \$0-apmaster-snd;
+#X obj 55 608 route loaded;
+#X obj 55 629 s \$0-tablestoevents;
+#N canvas 75 433 450 300 saveload 0;
+#X obj 218 29 r \$0-load;
+#X obj 218 80 symbol tl_\$2.txt;
+#X msg 218 138 loadfile \$1;
+#X obj 218 162 s \$0-apmaster-rcv;
+#X obj 94 77 symbol tl_\$2.txt;
+#X obj 94 159 s \$0-apmaster-rcv;
+#X obj 94 53 r \$0-save;
+#X msg 94 135 savefile \$1;
+#X obj 94 102 absolutepath \$1;
+#X obj 218 110 absolutepath \$1;
+#X obj 218 52 t b b;
+#X obj 263 55 s \$0-reset;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 4 0 8 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 2 0;
+#X connect 10 0 1 0;
+#X connect 10 1 11 0;
+#X restore 53 565 pd saveload;
+#X obj 787 312 bng 15 250 50 0 \$0-load empty load 17 7 0 10 -4034
+-1 -1;
+#X obj 735 312 bng 15 250 50 0 \$0-save empty save 17 7 0 10 -258113
+-1 -1;
+#X obj 21 284 tlBars \$0;
+#X obj 540 646 s \$1-song-\$2-snd;
+#X obj 745 662 list prepend got;
+#X obj 53 326 r \$1-song-\$2-rcv;
+#X obj 200 487 speedlim 150;
+#X obj 173 351 t f f;
+#X obj 257 370 s \$0-index;
+#X obj 200 526 t f f;
+#X obj 227 588 v \$0-songlen;
+#X obj 200 568 t f b;
+#X obj 200 589 *;
+#X obj 809 639 r \$0-added;
+#X obj 808 683 list prepend added;
+#X msg 173 436 get \$1;
+#X obj 173 457 s \$0-tr-rcv;
+#X obj 200 630 s \$0-tr-rcv;
+#X msg 200 609 i \$1;
+#X obj 350 573 r \$0-reset;
+#X obj 350 614 s \$0-tr-rcv;
+#X msg 350 593 reset;
+#X obj 424 614 s \$0-tr-rcv;
+#X obj 424 573 r \$0-delete;
+#X msg 424 593 delete;
+#X obj 542 581 r \$0-tr-snd;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 282 633 r \$0-tr-snd;
+#X obj 282 661 nroute unsel 2;
+#X obj 282 703 s \$0-tr-rcv;
+#X msg 282 681 unsel;
+#X obj 375 654 nroute move 2;
+#X msg 421 698 move \$1;
+#X obj 375 676 unwonk f s f;
+#X obj 610 303 bng 15 250 50 0 \$0-delete empty delete 17 7 0 10 -257985
+-1 -1;
+#N canvas 184 180 345 553 z/s 0;
+#X obj 60 510 s \$0-updategui;
+#X floatatom 37 58 5 0 0 0 - - -;
+#X obj 75 409 t b f;
+#X obj 75 127 f;
+#X obj 75 210 *;
+#X obj 162 232 v \$0-xl;
+#X obj 114 232 v \$0-xr;
+#X obj 114 253 -;
+#X obj 75 169 t f b b;
+#X obj 114 274 /;
+#X obj 114 297 / 2;
+#X obj 75 319 -;
+#X obj 75 346 clip 0 3000;
+#X obj 114 210 t b b b;
+#X obj 138 322 -;
+#X obj 75 387 change;
+#X obj 75 365 max 0;
+#X obj 55 485 del 5;
+#X obj 55 148 t b f;
+#X obj 55 451 speedlim 50;
+#X obj 131 61 r \$0-z-snd;
+#X obj 37 34 r \$0-s-snd;
+#X obj 131 83 t b f;
+#X msg 195 402 z \$1;
+#X msg 158 402 s \$1;
+#X obj 183 449 s \$0-tr-rcv;
+#X obj 94 189 v \$0-songlen;
+#X connect 1 0 3 0;
+#X connect 2 0 19 0;
+#X connect 2 1 24 0;
+#X connect 3 0 18 0;
+#X connect 4 0 11 0;
+#X connect 5 0 7 1;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 0;
+#X connect 8 1 26 0;
+#X connect 8 2 13 0;
+#X connect 9 0 10 0;
+#X connect 9 0 14 1;
+#X connect 10 0 11 1;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 13 0 6 0;
+#X connect 13 1 5 0;
+#X connect 14 0 12 2;
+#X connect 15 0 2 0;
+#X connect 16 0 15 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
+#X connect 18 1 8 0;
+#X connect 20 0 22 0;
+#X connect 21 0 1 0;
+#X connect 22 0 3 0;
+#X connect 22 1 9 1;
+#X connect 22 1 23 0;
+#X connect 23 0 25 0;
+#X connect 24 0 25 0;
+#X connect 26 0 4 1;
+#X connect 26 0 14 0;
+#X restore 337 326 pd z/s;
+#X obj 20 21 tlTime \$0;
+#X obj 644 578 r \$0-tr-rcv;
+#X obj 644 600 route get;
+#X msg 644 620 i \$1;
+#X obj 383 544 hsl 590 15 0.25 1000 1 0 \$0-z-snd \$0-z-rcv zoom -28
+7 0 10 -262144 -1 -1 0 1;
+#X obj 389 524 hsl 590 15 0 1 0 0 \$0-s-snd \$0-s-rcv scroll -38 7
+0 10 -262144 -1 -1 19241 1;
+#X obj 92 372 s \$0-tr-rcv;
+#X obj 54 516 apsubmaster \$0 \$1 \$2;
+#X obj 141 607 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 543 604 nroute move 2;
+#X obj 54 416 s \$0-i-snd;
+#X msg 37 467 set \$1;
+#X obj 37 490 s \$0-i-rcv;
+#X obj 36 443 speedlim 150;
+#X obj 220 437 s \$1-song-\$2-snd;
+#X msg 220 416 i \$1;
+#X obj 173 413 t f f;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 6 0 10 0;
+#X connect 6 0 22 0;
+#X connect 6 0 23 0;
+#X connect 10 0 7 0;
+#X connect 16 0 19 0;
+#X connect 17 0 18 0;
+#X connect 18 0 15 0;
+#X connect 18 1 20 0;
+#X connect 19 0 15 0;
+#X connect 19 1 21 0;
+#X connect 22 0 11 0;
+#X connect 23 0 12 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
+#X connect 28 0 54 0;
+#X connect 29 0 31 0;
+#X connect 29 1 89 0;
+#X connect 30 0 32 1;
+#X connect 31 0 32 0;
+#X connect 31 1 30 0;
+#X connect 32 0 93 0;
+#X connect 32 0 96 0;
+#X connect 33 0 35 1;
+#X connect 34 0 35 0;
+#X connect 34 1 33 0;
+#X connect 35 0 99 0;
+#X connect 37 0 51 0;
+#X connect 39 0 41 0;
+#X connect 40 0 39 1;
+#X connect 43 0 44 0;
+#X connect 44 0 45 0;
+#X connect 51 0 38 0;
+#X connect 52 0 29 0;
+#X connect 53 0 56 0;
+#X connect 54 0 34 0;
+#X connect 54 1 53 0;
+#X connect 56 0 58 0;
+#X connect 56 1 39 0;
+#X connect 57 0 59 1;
+#X connect 58 0 59 0;
+#X connect 58 1 57 0;
+#X connect 59 0 65 0;
+#X connect 60 0 61 0;
+#X connect 61 0 38 0;
+#X connect 62 0 63 0;
+#X connect 65 0 64 0;
+#X connect 66 0 68 0;
+#X connect 68 0 67 0;
+#X connect 70 0 71 0;
+#X connect 71 0 69 0;
+#X connect 72 0 92 0;
+#X connect 74 0 75 0;
+#X connect 74 0 78 0;
+#X connect 75 0 77 0;
+#X connect 77 0 76 0;
+#X connect 78 0 80 0;
+#X connect 79 0 76 0;
+#X connect 80 2 79 0;
+#X connect 84 0 85 0;
+#X connect 85 0 86 0;
+#X connect 91 0 45 0;
+#X connect 92 1 50 0;
+#X connect 94 0 95 0;
+#X connect 96 0 94 0;
+#X connect 98 0 97 0;
+#X connect 99 0 62 0;
+#X connect 99 1 98 0;
+#X coords 0 -1 1 1 701 315 1 20 5;

+ 6 - 0
tlSong1.pd

@@ -0,0 +1,6 @@
+#N canvas 363 67 756 261 10;
+#X obj 21 64 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 22 191 tlsongcommon \$0 \$1 \$2;
+#X coords 0 -1 1 1 701 95 1 20 5;

+ 15 - 0
tlSong10.pd

@@ -0,0 +1,15 @@
+#N canvas 189 60 745 361 10;
+#X obj 21 263 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 319 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X coords 0 -1 1 1 701 294 1 20 5;

+ 16 - 0
tlSong11.pd

@@ -0,0 +1,16 @@
+#N canvas 189 60 753 519 10;
+#X obj 21 289 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X coords 0 -1 1 1 701 320 1 20 5;

+ 17 - 0
tlSong12.pd

@@ -0,0 +1,17 @@
+#N canvas 189 60 753 519 10;
+#X obj 21 309 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 284 tlTrack \$0 12;
+#X coords 0 -1 1 1 701 340 1 20 5;

+ 18 - 0
tlSong13.pd

@@ -0,0 +1,18 @@
+#N canvas 189 60 753 519 10;
+#X obj 21 334 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 284 tlTrack \$0 12;
+#X obj 20 306 tlTrack \$0 13;
+#X coords 0 -1 1 1 701 365 1 20 5;

+ 19 - 0
tlSong14.pd

@@ -0,0 +1,19 @@
+#N canvas 313 85 753 519 10;
+#X obj 21 354 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 284 tlTrack \$0 12;
+#X obj 20 306 tlTrack \$0 13;
+#X obj 20 328 tlTrack \$0 14;
+#X coords 0 -1 1 1 701 385 1 20 5;

+ 20 - 0
tlSong15.pd

@@ -0,0 +1,20 @@
+#N canvas 313 85 753 519 10;
+#X obj 21 374 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 284 tlTrack \$0 12;
+#X obj 20 306 tlTrack \$0 13;
+#X obj 20 328 tlTrack \$0 14;
+#X obj 20 350 tlTrack \$0 15;
+#X coords 0 -1 1 1 701 405 1 20 5;

+ 21 - 0
tlSong16.pd

@@ -0,0 +1,21 @@
+#N canvas 346 58 753 519 10;
+#X obj 21 394 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 21 458 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 284 tlTrack \$0 12;
+#X obj 20 306 tlTrack \$0 13;
+#X obj 20 328 tlTrack \$0 14;
+#X obj 20 350 tlTrack \$0 15;
+#X obj 20 372 tlTrack \$0 16;
+#X coords 0 -1 1 1 701 425 1 20 5;

+ 7 - 0
tlSong2.pd

@@ -0,0 +1,7 @@
+#N canvas 363 67 756 261 10;
+#X obj 21 86 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 22 191 tlsongcommon \$0 \$1 \$2;
+#X obj 20 64 tlTrack \$0 2;
+#X coords 0 -1 1 1 701 117 1 20 5;

+ 8 - 0
tlSong3.pd

@@ -0,0 +1,8 @@
+#N canvas 363 67 756 261 10;
+#X obj 21 108 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 22 191 tlsongcommon \$0 \$1 \$2;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X coords 0 -1 1 1 701 139 1 20 5;

+ 9 - 0
tlSong4.pd

@@ -0,0 +1,9 @@
+#N canvas 523 118 756 261 10;
+#X obj 21 130 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 22 191 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X coords 0 -1 1 1 701 161 1 20 5;

+ 10 - 0
tlSong5.pd

@@ -0,0 +1,10 @@
+#N canvas 189 60 730 262 10;
+#X obj 21 153 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 213 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X coords 0 -1 1 1 701 184 1 20 5;

+ 11 - 0
tlSong6.pd

@@ -0,0 +1,11 @@
+#N canvas 189 60 745 361 10;
+#X obj 21 175 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 319 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X coords 0 -1 1 1 701 206 1 20 5;

+ 12 - 0
tlSong7.pd

@@ -0,0 +1,12 @@
+#N canvas 189 60 745 361 10;
+#X obj 21 197 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 319 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X coords 0 -1 1 1 701 228 1 20 5;

+ 13 - 0
tlSong8.pd

@@ -0,0 +1,13 @@
+#N canvas 189 60 745 361 10;
+#X obj 21 219 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 319 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X coords 0 -1 1 1 701 250 1 20 5;

+ 14 - 0
tlSong9.pd

@@ -0,0 +1,14 @@
+#N canvas 189 60 745 361 10;
+#X obj 21 241 tlBars \$0;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 20 21 tlTime \$0;
+#X obj 19 319 tlsongcommon \$0 \$1 \$2;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X coords 0 -1 1 1 701 272 1 20 5;

+ 310 - 0
tlSongCk.pd

@@ -0,0 +1,310 @@
+#N canvas 123 134 1009 740 10;
+#X obj 556 409 namecanvas \$0-can;
+#X obj 556 388 s \$0-can;
+#X msg 556 367 donecanvasdialog 1 -1 0;
+#X msg 556 345 reduire;
+#X obj 556 432 v \$0-z;
+#X obj 513 433 init 1;
+#X obj 483 431 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 556 451 v \$0-s;
+#X text 598 432 z=zoom=pixel/unit;
+#X text 598 451 s=scroll=time of xleft;
+#X obj 513 452 init 0;
+#X obj 557 478 v \$0-xl;
+#X obj 557 498 v \$0-xr;
+#X text 613 478 xl=pixel_x of xleft in canvas;
+#X text 614 497 xr=pixel_x of xright in canvas;
+#X obj 360 461 s \$0-updategui;
+#X floatatom 379 372 5 0 0 0 - - -;
+#X floatatom 338 371 5 0.1 1e+06 0 - - -;
+#X obj 338 393 t b f;
+#X obj 379 395 t b f;
+#X obj 365 416 v \$0-z;
+#X obj 409 415 v \$0-s;
+#X obj 506 476 init 90;
+#X obj 501 500 init 690;
+#X obj 456 373 v \$0-songlen;
+#X obj 456 351 init 3600;
+#X obj 456 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 456 303 bng 15 250 50 0 \$0-reset \$0-reset-rcv reset 17 7 0
+10 -260818 -260818 -1;
+#X obj 173 320 r \$0-i-snd;
+#X obj 80 395 v \$0-songlen;
+#X obj 53 375 t f b;
+#X obj 53 396 /;
+#X obj 200 394 v \$0-songlen;
+#X obj 173 372 t f b;
+#X obj 173 393 *;
+#X obj 260 349 s \$0-get;
+#X obj 745 640 r \$0-got;
+#X obj 745 683 list trim;
+#X obj 237 528 spigot;
+#X obj 270 505 r \$0-lockstoi-snd;
+#X obj 237 549 s \$0-s-rcv;
+#X obj 53 538 apmaster \$0;
+#X obj 55 587 r \$0-apmaster-snd;
+#X obj 55 608 route loaded;
+#X obj 55 629 s \$0-tablestoevents;
+#N canvas 75 433 450 300 saveload 0;
+#X obj 218 29 r \$0-load;
+#X obj 218 80 symbol tl_\$2.txt;
+#X msg 218 138 loadfile \$1;
+#X obj 218 162 s \$0-apmaster-rcv;
+#X obj 94 77 symbol tl_\$2.txt;
+#X obj 94 159 s \$0-apmaster-rcv;
+#X obj 94 53 r \$0-save;
+#X msg 94 135 savefile \$1;
+#X obj 94 102 absolutepath \$1;
+#X obj 218 110 absolutepath \$1;
+#X obj 218 52 t b b;
+#X obj 263 55 s \$0-reset;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 4 0 8 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 2 0;
+#X connect 10 0 1 0;
+#X connect 10 1 11 0;
+#X restore 53 565 pd saveload;
+#X obj 787 312 bng 15 250 50 0 \$0-load empty load 17 7 0 10 -4034
+-1 -1;
+#X obj 735 312 bng 15 250 50 0 \$0-save empty save 17 7 0 10 -258113
+-1 -1;
+#X obj 21 284 tlBars \$0;
+#X obj 540 646 s \$1-song-\$2-snd;
+#X obj 745 662 list prepend got;
+#X obj 53 326 r \$1-song-\$2-rcv;
+#X obj 200 487 speedlim 150;
+#X obj 173 351 t f f;
+#X obj 257 370 s \$0-index;
+#X obj 200 526 t f f;
+#X obj 227 588 v \$0-songlen;
+#X obj 200 568 t f b;
+#X obj 200 589 *;
+#X obj 809 639 r \$0-added;
+#X obj 808 683 list prepend added;
+#X msg 173 436 get \$1;
+#X obj 173 457 s \$0-tr-rcv;
+#X obj 200 630 s \$0-tr-rcv;
+#X msg 200 609 i \$1;
+#X obj 776 354 r \$0-reset;
+#X obj 776 444 s \$0-tr-rcv;
+#X msg 776 423 reset;
+#X obj 424 614 s \$0-tr-rcv;
+#X obj 424 573 r \$0-delete;
+#X msg 424 593 delete;
+#X obj 542 581 r \$0-tr-snd;
+#X obj 20 42 tlTrack \$0 1;
+#X obj 282 633 r \$0-tr-snd;
+#X obj 282 661 nroute unsel 2;
+#X obj 282 703 s \$0-tr-rcv;
+#X msg 282 681 unsel;
+#X obj 375 654 nroute move 2;
+#X msg 421 698 move \$1;
+#X obj 375 676 unwonk f s f;
+#X obj 610 303 bng 15 250 50 0 \$0-delete empty delete 17 7 0 10 -257985
+-1 -1;
+#N canvas 184 180 345 553 z/s 0;
+#X obj 60 510 s \$0-updategui;
+#X floatatom 37 58 5 0 0 0 - - -;
+#X obj 75 409 t b f;
+#X obj 75 127 f;
+#X obj 75 210 *;
+#X obj 162 232 v \$0-xl;
+#X obj 114 232 v \$0-xr;
+#X obj 114 253 -;
+#X obj 75 169 t f b b;
+#X obj 114 274 /;
+#X obj 114 297 / 2;
+#X obj 75 319 -;
+#X obj 75 346 clip 0 3000;
+#X obj 114 210 t b b b;
+#X obj 138 322 -;
+#X obj 75 387 change;
+#X obj 75 365 max 0;
+#X obj 55 485 del 5;
+#X obj 55 148 t b f;
+#X obj 55 451 speedlim 50;
+#X obj 131 61 r \$0-z-snd;
+#X obj 37 34 r \$0-s-snd;
+#X obj 131 83 t b f;
+#X msg 195 402 z \$1;
+#X msg 158 402 s \$1;
+#X obj 183 449 s \$0-tr-rcv;
+#X obj 94 189 v \$0-songlen;
+#X connect 1 0 3 0;
+#X connect 2 0 19 0;
+#X connect 2 1 24 0;
+#X connect 3 0 18 0;
+#X connect 4 0 11 0;
+#X connect 5 0 7 1;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 0;
+#X connect 8 1 26 0;
+#X connect 8 2 13 0;
+#X connect 9 0 10 0;
+#X connect 9 0 14 1;
+#X connect 10 0 11 1;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 13 0 6 0;
+#X connect 13 1 5 0;
+#X connect 14 0 12 2;
+#X connect 15 0 2 0;
+#X connect 16 0 15 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
+#X connect 18 1 8 0;
+#X connect 20 0 22 0;
+#X connect 21 0 1 0;
+#X connect 22 0 3 0;
+#X connect 22 1 9 1;
+#X connect 22 1 23 0;
+#X connect 23 0 25 0;
+#X connect 24 0 25 0;
+#X connect 26 0 4 1;
+#X connect 26 0 14 0;
+#X restore 337 326 pd z/s;
+#X obj 644 578 r \$0-tr-rcv;
+#X obj 644 600 route get;
+#X msg 644 620 i \$1;
+#X obj 383 544 hsl 590 15 0.25 1000 1 0 \$0-z-snd \$0-z-rcv zoom -28
+7 0 10 -262144 -1 -1 0 1;
+#X obj 389 524 hsl 590 15 0 1 0 0 \$0-s-snd \$0-s-rcv scroll -38 7
+0 10 -262144 -1 -1 92 1;
+#X obj 94 373 s \$0-tr-rcv;
+#X obj 54 516 apsubmaster \$0 \$1 \$2;
+#X obj 141 607 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 543 604 nroute move 2;
+#X obj 54 416 s \$0-i-snd;
+#X msg 37 467 set \$1;
+#X obj 37 490 s \$0-i-rcv;
+#X obj 36 443 speedlim 150;
+#X obj 220 437 s \$1-song-\$2-snd;
+#X msg 220 416 i \$1;
+#X obj 173 413 t f f;
+#X obj 20 108 tlTrack \$0 4;
+#X obj 20 64 tlTrack \$0 2;
+#X obj 20 86 tlTrack \$0 3;
+#X obj 20 130 tlTrack \$0 5;
+#X obj 20 152 tlTrack \$0 6;
+#X obj 20 174 tlTrack \$0 7;
+#X obj 20 196 tlTrack \$0 8;
+#X obj 20 218 tlTrack \$0 9;
+#X obj 20 240 tlTrack \$0 10;
+#X obj 20 262 tlTrack \$0 11;
+#X obj 20 21 tlClock \$0;
+#X obj 53 348 route i mes;
+#X obj 105 488 s \$0-mes;
+#N canvas 658 188 450 300 doubleclic 0;
+#X obj 86 48 inlet;
+#X obj 100 74 del 200;
+#X obj 86 124 f;
+#X obj 114 124 + 1;
+#X msg 101 99 0;
+#X obj 85 193 outlet;
+#X obj 86 151 sel 1;
+#X obj 166 120 t b b;
+#X msg 258 168 color 13 13 22;
+#X obj 167 144 del 300;
+#X obj 168 197 outlet;
+#X msg 169 168 color 14 14 22;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 6 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 11 0 10 0;
+#X restore 776 378 pd doubleclic;
+#X obj 794 400 s \$0-reset-rcv;
+#X floatatom 128 445 5 0 0 0 - - -;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 6 0 10 0;
+#X connect 6 0 22 0;
+#X connect 6 0 23 0;
+#X connect 10 0 7 0;
+#X connect 16 0 19 0;
+#X connect 17 0 18 0;
+#X connect 18 0 15 0;
+#X connect 18 1 20 0;
+#X connect 19 0 15 0;
+#X connect 19 1 21 0;
+#X connect 22 0 11 0;
+#X connect 23 0 12 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
+#X connect 28 0 53 0;
+#X connect 29 0 31 1;
+#X connect 30 0 31 0;
+#X connect 30 1 29 0;
+#X connect 31 0 91 0;
+#X connect 31 0 94 0;
+#X connect 32 0 34 1;
+#X connect 33 0 34 0;
+#X connect 33 1 32 0;
+#X connect 34 0 97 0;
+#X connect 36 0 50 0;
+#X connect 38 0 40 0;
+#X connect 39 0 38 1;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;
+#X connect 50 0 37 0;
+#X connect 51 0 109 0;
+#X connect 52 0 55 0;
+#X connect 53 0 33 0;
+#X connect 53 1 52 0;
+#X connect 55 0 57 0;
+#X connect 55 1 38 0;
+#X connect 56 0 58 1;
+#X connect 57 0 58 0;
+#X connect 57 1 56 0;
+#X connect 58 0 64 0;
+#X connect 59 0 60 0;
+#X connect 60 0 37 0;
+#X connect 61 0 62 0;
+#X connect 64 0 63 0;
+#X connect 65 0 111 0;
+#X connect 67 0 66 0;
+#X connect 69 0 70 0;
+#X connect 70 0 68 0;
+#X connect 71 0 90 0;
+#X connect 73 0 74 0;
+#X connect 73 0 77 0;
+#X connect 74 0 76 0;
+#X connect 76 0 75 0;
+#X connect 77 0 79 0;
+#X connect 78 0 75 0;
+#X connect 79 2 78 0;
+#X connect 82 0 83 0;
+#X connect 83 0 84 0;
+#X connect 89 0 44 0;
+#X connect 90 1 49 0;
+#X connect 92 0 93 0;
+#X connect 94 0 92 0;
+#X connect 96 0 95 0;
+#X connect 97 0 61 0;
+#X connect 97 1 96 0;
+#X connect 109 0 30 0;
+#X connect 109 1 110 0;
+#X connect 109 2 87 0;
+#X connect 111 0 67 0;
+#X connect 111 1 112 0;
+#X coords 0 -1 1 1 701 300 1 20 20;

+ 342 - 0
tlTime.pd

@@ -0,0 +1,342 @@
+#N canvas 93 132 752 269 10;
+#X obj 127 192 s \$0-bgcan-rcv;
+#X obj 127 216 r \$0-bgcan-snd;
+#X msg 127 173 get_pos;
+#X obj 127 133 loadbang;
+#X obj 127 153 b;
+#X obj 127 239 s \$0-canpos;
+#X obj 58 227 s \$0-canw;
+#X obj 104 134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 232 123 r \$0-canpos;
+#X obj 232 144 unpack f f;
+#X floatatom 278 166 5 0 0 0 - - -, f 5;
+#X floatatom 224 171 5 0 0 0 - - -, f 5;
+#X obj 91 21 cnv 15 600 18 \$0-bgcan-snd \$0-bgcan-rcv empty 20 12
+0 14 -66577 -262081 0;
+#X obj 58 207 600;
+#X msg 35 155 pos 91 21;
+#N canvas 12 315 775 546 division 0;
+#X obj 128 -124 r \$1-z-snd;
+#X obj 67 -122 r \$0-canw;
+#X obj 77 -69 /;
+#X obj 77 -92 t b f;
+#X floatatom 27 -15 5 0 0 0 - - -, f 5;
+#X obj 77 -23 / 10;
+#X obj 36 -145 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 77 62 drip;
+#X obj 77 92 spigot;
+#X obj 77 7 t b f b;
+#X msg 122 91 1;
+#X obj 77 114 moses;
+#X obj 104 136 t f b;
+#X msg 121 114 0;
+#X floatatom 104 181 5 0 0 0 - - -, f 5;
+#X obj 104 201 s \$0-div;
+#X obj 104 160 change;
+#X obj 641 -52 r \$0-div;
+#X obj 597 -31 f;
+#X obj 641 -30 t b f;
+#X obj 597 49 * 100;
+#X obj 597 75 div;
+#X obj 570 -146 r \$1-tr-rcv;
+#X obj 570 -123 route s;
+#X obj 681 31 * 100;
+#X obj 615 109 + 1;
+#X floatatom 615 154 5 0 0 0 - - -, f 5;
+#X obj 636 74 div;
+#X obj 615 133 *;
+#X obj 597 23 demux;
+#X obj 624 0 >= 1;
+#X obj 615 177 s \$0-first;
+#X obj 570 -51 t f f;
+#X obj 452 16 for++ 0 10;
+#X obj 452 83 *;
+#X obj 492 58 r \$0-div;
+#X obj 453 105 +;
+#X obj 493 83 r \$0-first;
+#X obj 453 189 *;
+#X obj 495 157 r \$1-z-snd;
+#X obj 453 165 -;
+#X obj 452 -7 t b f;
+#X obj 452 36 t f f;
+#X obj 480 189 makesymbol \$0-n%s-rcv;
+#X obj 454 258 moses 595;
+#X obj 453 212 t f b;
+#X obj 480 232 v \$1-xl;
+#X obj 533 229 v \$1-xr;
+#X obj 454 233 +;
+#X obj 533 250 - 5;
+#X obj 498 -141 r \$1-z-snd;
+#X obj 498 -117 b;
+#X obj 453 131 t f f;
+#X obj 454 309 pack f s s;
+#N canvas 753 214 526 515 label 0;
+#X obj 129 39 inlet;
+#X obj 129 77 t f f;
+#X obj 220 160 mod 60;
+#X obj 220 135 t f f;
+#X obj 300 157 div 60;
+#X obj 300 202 mod 60;
+#X obj 300 177 t f f;
+#X obj 351 202 div 60;
+#X obj 220 115 i;
+#X obj 224 360 pack s s s s;
+#X obj 351 223 sel 0;
+#X msg 351 248 symbol;
+#X msg 378 273 symbol \$1h;
+#X obj 300 228 sel 0;
+#X msg 300 253 symbol;
+#X msg 327 298 symbol \$1m;
+#X obj 220 249 sel 0;
+#X msg 220 274 symbol;
+#X msg 247 299 symbol \$1s;
+#X obj 129 191 sel 0;
+#X msg 129 216 symbol;
+#X msg 224 383 list \$4 \$3 \$2 \$1;
+#X obj 224 407 l2s;
+#X obj 274 430 symbol;
+#X obj 327 407 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 224 444 outlet;
+#X obj 274 404 loadbang;
+#X obj 129 122 * 10;
+#X obj 94 386 makefilename %.2d;
+#X obj 129 146 + 0.5;
+#X obj 261 248 f;
+#X obj 182 193 t f b;
+#X obj 129 169 i;
+#X obj 182 215 makesymbol;
+#X obj 129 100 fmod 1;
+#X connect 0 0 1 0;
+#X connect 1 0 34 0;
+#X connect 1 1 8 0;
+#X connect 2 0 16 0;
+#X connect 2 0 30 1;
+#X connect 3 0 2 0;
+#X connect 3 1 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 13 0;
+#X connect 6 0 5 0;
+#X connect 6 1 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 3 0;
+#X connect 9 0 21 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 11 0 9 3;
+#X connect 12 0 9 3;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 14 0 9 2;
+#X connect 15 0 9 2;
+#X connect 16 0 17 0;
+#X connect 16 1 18 0;
+#X connect 17 0 9 1;
+#X connect 18 0 9 1;
+#X connect 19 0 20 0;
+#X connect 19 1 31 0;
+#X connect 20 0 9 0;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 23 0 22 1;
+#X connect 24 0 23 0;
+#X connect 26 0 23 0;
+#X connect 27 0 29 0;
+#X connect 29 0 32 0;
+#X connect 30 0 18 0;
+#X connect 31 0 33 0;
+#X connect 31 1 30 0;
+#X connect 32 0 19 0;
+#X connect 33 0 9 0;
+#X connect 34 0 27 0;
+#X restore 542 280 pd label;
+#X msg 505 280 40;
+#X obj 529 338 spigot;
+#X msg 564 310 0;
+#X msg 429 355 \; \$2 pos \$1 20;
+#X msg 529 364 \; \$2 label \$3;
+#X obj 623 214 r \$0-first;
+#X obj 623 234 change;
+#X obj 632 259 r \$0-div;
+#X obj 632 279 change;
+#X msg 623 308 1;
+#X obj 358 -87 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 535 -88 f;
+#X obj 570 -78 speedlim 100;
+#X floatatom 386 289 5 0 0 0 - - -, f 5;
+#X msg 77 28 0.1 0.2 0.5 0.1 0.2 0.5 1 2 5 10 20 30 60 120 150 240
+300 600 1200 3600;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 5 0 4 0;
+#X connect 5 0 9 0;
+#X connect 6 0 2 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 0;
+#X connect 9 0 69 0;
+#X connect 9 1 11 1;
+#X connect 9 2 10 0;
+#X connect 10 0 8 1;
+#X connect 11 1 12 0;
+#X connect 12 0 16 0;
+#X connect 12 1 13 0;
+#X connect 13 0 8 1;
+#X connect 14 0 15 0;
+#X connect 16 0 14 0;
+#X connect 17 0 19 0;
+#X connect 18 0 29 0;
+#X connect 19 0 18 0;
+#X connect 19 1 24 0;
+#X connect 19 1 27 1;
+#X connect 19 1 28 1;
+#X connect 19 1 30 0;
+#X connect 20 0 21 0;
+#X connect 21 0 25 0;
+#X connect 22 0 23 0;
+#X connect 23 0 66 0;
+#X connect 24 0 21 1;
+#X connect 25 0 28 0;
+#X connect 26 0 31 0;
+#X connect 27 0 25 0;
+#X connect 28 0 26 0;
+#X connect 29 0 20 0;
+#X connect 29 1 27 0;
+#X connect 30 0 29 1;
+#X connect 32 0 41 0;
+#X connect 32 1 18 0;
+#X connect 33 0 42 0;
+#X connect 33 1 57 0;
+#X connect 34 0 36 0;
+#X connect 35 0 34 1;
+#X connect 36 0 52 0;
+#X connect 37 0 36 1;
+#X connect 38 0 45 0;
+#X connect 39 0 38 1;
+#X connect 40 0 38 0;
+#X connect 41 0 33 0;
+#X connect 41 1 40 1;
+#X connect 42 0 34 0;
+#X connect 42 1 43 0;
+#X connect 43 0 53 1;
+#X connect 44 0 53 0;
+#X connect 44 1 55 0;
+#X connect 45 0 48 0;
+#X connect 45 1 46 0;
+#X connect 45 1 47 0;
+#X connect 46 0 48 1;
+#X connect 47 0 49 0;
+#X connect 48 0 44 0;
+#X connect 49 0 44 1;
+#X connect 50 0 51 0;
+#X connect 51 0 66 0;
+#X connect 52 0 40 0;
+#X connect 52 1 54 0;
+#X connect 53 0 58 0;
+#X connect 53 0 56 0;
+#X connect 54 0 53 2;
+#X connect 55 0 53 0;
+#X connect 56 0 59 0;
+#X connect 57 0 56 1;
+#X connect 60 0 61 0;
+#X connect 61 0 64 0;
+#X connect 62 0 63 0;
+#X connect 63 0 64 0;
+#X connect 64 0 56 1;
+#X connect 65 0 66 0;
+#X connect 66 0 67 0;
+#X connect 67 0 32 0;
+#X connect 69 0 7 0;
+#X restore 47 58 pd division;
+#N canvas 35 258 438 442 MakeEvents 0;
+#X obj 49 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 48 194 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 108 259 makesymbol $;
+#X obj 108 278 makesymbol %s0;
+#X obj 108 237 loadbang;
+#X obj 166 238 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 48 241 f;
+#X obj 48 280 pack f s;
+#X obj 48 386 s \$0-can;
+#X obj 49 11 inlet;
+#X obj 50 78 makesymbol \$0-n%s-rcv;
+#X obj 48 218 for++ 0 10 1;
+#X obj 50 56 for++ 0 10;
+#X obj 279 154 cnv 15 100 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 282 76 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 51 125 \; \$1 pos 150 20;
+#X msg 48 316 obj 150 20 cnv 2 2 10 empty \$2-n\$1-rcv 1h -10 15 0
+10 -1 -66577 0;
+#X msg 159 111 \; \$1 color 0 0;
+#X connect 0 0 12 0;
+#X connect 1 0 11 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 1;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 16 0;
+#X connect 9 0 0 0;
+#X connect 10 0 15 0;
+#X connect 10 0 17 0;
+#X connect 11 0 6 0;
+#X connect 12 0 10 0;
+#X connect 16 0 8 0;
+#X restore 46 102 pd MakeEvents;
+#X obj 492 88 namecanvas \$0-can;
+#X obj 45 80 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 224 20 cnv 2 2 10 empty \$0-n0-rcv 0s1 -10 15 0 10 -262144 -262144
+0;
+#X obj 358 20 cnv 2 2 10 empty \$0-n1-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 493 20 cnv 2 2 10 empty \$0-n2-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 627 20 cnv 2 2 10 empty \$0-n3-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n4-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n5-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n6-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n7-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n8-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n9-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 40 20 cnv 2 2 10 empty \$0-n10-rcv symbol -10 15 0 10 -262144
+-262144 0;
+#X obj 690 21 cnv 10 20 18 empty \$0-numcan-rcv empty 5 10 0 12 -262144
+-262144 0;
+#X obj 21 21 cnv 15 70 18 empty \$0-namecan-rcv empty 12 10 0 12 -262144
+-1 0;
+#X obj 494 158 s \$0-can;
+#X msg 494 137 donecanvasdialog 1 -1 0;
+#X msg 494 115 reduire;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 4 0 13 0;
+#X connect 7 0 4 0;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 0;
+#X connect 13 0 6 0;
+#X connect 14 0 0 0;
+#X connect 18 0 16 0;
+#X connect 33 0 32 0;
+#X connect 34 0 33 0;
+#X coords 0 -1 1 1 700 20 1 20 20;

+ 966 - 0
tlTrack.pd

@@ -0,0 +1,966 @@
+#N canvas 412 369 774 584 10;
+#X obj 91 20 cnv 15 600 20 empty \$0-bgcan-rcv empty 20 12 0 14 -1
+-1 0;
+#X obj 523 110 namecanvas \$0-can;
+#X obj 523 89 s \$0-can;
+#X msg 523 68 donecanvasdialog 1 -1 0;
+#X msg 523 46 reduire;
+#X obj 523 133 v \$0-z;
+#X obj 480 134 init 1;
+#X obj 466 109 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 523 152 v \$0-s;
+#X text 565 133 z=zoom=pixel/unit;
+#X text 565 152 s=scroll=time of xleft;
+#X obj 480 153 init 0;
+#X obj 522 201 v \$0-xl;
+#X obj 522 223 v \$0-xr;
+#X text 578 203 xl=pixel_x of xleft in canvas;
+#X text 579 222 xr=pixel_x of xright in canvas;
+#X obj 135 199 init \$2;
+#X msg 135 218 label track\$1;
+#X obj 135 237 s \$0-namecan-rcv;
+#X floatatom 99 198 5 0 0 0 - - -, f 5;
+#X obj 471 201 init 90;
+#X obj 466 225 init 690;
+#N canvas 549 268 809 491 MakeEvents 0;
+#X msg 380 52 clear;
+#X obj 380 77 s pd-\$0-events;
+#X obj 50 78 makesymbol \$0-e%s-rcv;
+#X obj 49 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 340 22 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 433 129 makesymbol \$0-e%s;
+#X obj 312 290 s pd-\$0-events;
+#X obj 429 213 makesymbol $;
+#X obj 429 232 makesymbol %s0;
+#X obj 312 237 pack f f f s;
+#X obj 383 168 mod 25;
+#X obj 341 130 t f f b;
+#X msg 312 263 obj \$2 \$3 tlEvent \$4 \$1;
+#X obj 341 44 t b b;
+#X obj 335 174 div 25;
+#X obj 335 215 + 5;
+#X obj 383 211 + 5;
+#X obj 383 191 * 20;
+#X msg 302 79 stop;
+#X obj 335 195 * 95;
+#X obj 341 102 for++ 0 50 1;
+#X obj 48 194 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 50 56 for++ 0 500;
+#X obj 206 61 init 50;
+#X obj 208 37 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 206 83 s \$0-maxevent;
+#X obj 82 196 r \$0-maxevent;
+#X obj 421 101 r \$0-maxevent;
+#X obj 429 191 loadbang;
+#X obj 487 192 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 108 259 makesymbol $;
+#X obj 108 278 makesymbol %s0;
+#X obj 108 237 loadbang;
+#X obj 166 238 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 48 241 f;
+#X obj 442 325 l l bng 10 250 50 0 \$2-snd \$2-rcv \$1 2 6 1 8 -1 -257985
+-262144;
+#X obj 479 347 l hslider 128 15 0 127 \$2-snd \$2-rcv \$1 2 6 1 8 -1
+-257985 -262144;
+#X obj 462 396 l hslider 128 15 0 127 3 3 \$2-snd \$2-rcv \$1 2 6 1
+8 -1 -257985 -262144;
+#X obj 467 440 hsl 128 15 0 127 0 0 \$2-snd \$2-rcv \$1 -2 -8 0 10
+-262144 -1 -1 0 1;
+#X obj 48 280 pack f s;
+#X obj 48 386 s \$0-can;
+#X obj 48 218 for++ 0 50 1;
+#X msg 50 100 \; \$1 pos 100 20 \; \$1 size 50 20;
+#X obj 49 11 inlet;
+#X msg 48 316 obj 100 20 hsl 50 20 0 128 0 0 \$2-e\$1-snd \$2-e\$1-rcv
+\$1 -2 7 1 8 -257985 -257985 -1 0 0;
+#X connect 0 0 1 0;
+#X connect 2 0 42 0;
+#X connect 3 0 22 0;
+#X connect 4 0 13 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 3;
+#X connect 9 0 12 0;
+#X connect 10 0 17 0;
+#X connect 11 0 9 0;
+#X connect 11 1 10 0;
+#X connect 11 1 14 0;
+#X connect 12 0 6 0;
+#X connect 13 0 20 0;
+#X connect 13 1 0 0;
+#X connect 14 0 19 0;
+#X connect 15 0 9 1;
+#X connect 16 0 9 2;
+#X connect 17 0 16 0;
+#X connect 18 0 20 0;
+#X connect 19 0 15 0;
+#X connect 20 0 11 0;
+#X connect 21 0 41 0;
+#X connect 22 0 2 0;
+#X connect 23 0 25 0;
+#X connect 24 0 23 0;
+#X connect 26 0 41 1;
+#X connect 27 0 20 2;
+#X connect 28 0 7 0;
+#X connect 29 0 7 0;
+#X connect 30 0 31 0;
+#X connect 31 0 39 1;
+#X connect 32 0 30 0;
+#X connect 33 0 30 0;
+#X connect 34 0 39 0;
+#X connect 39 0 44 0;
+#X connect 41 0 34 0;
+#X connect 43 0 3 0;
+#X connect 44 0 40 0;
+#X restore 20 124 pd MakeEvents;
+#X obj 293 294 s \$0-events-rcv;
+#X msg 289 265 0 add;
+#X msg 367 265 delete;
+#X obj 289 243 r \$0-add-snd;
+#X obj 367 243 r \$0-delete-snd;
+#N canvas 795 278 484 531 \$0-events 0;
+#X obj 5 5 tlEvent \$0 0;
+#X obj 5 25 tlEvent \$0 1;
+#X obj 5 45 tlEvent \$0 2;
+#X obj 5 65 tlEvent \$0 3;
+#X obj 5 85 tlEvent \$0 4;
+#X obj 5 105 tlEvent \$0 5;
+#X obj 5 125 tlEvent \$0 6;
+#X obj 5 145 tlEvent \$0 7;
+#X obj 5 165 tlEvent \$0 8;
+#X obj 5 185 tlEvent \$0 9;
+#X obj 5 205 tlEvent \$0 10;
+#X obj 5 225 tlEvent \$0 11;
+#X obj 5 245 tlEvent \$0 12;
+#X obj 5 265 tlEvent \$0 13;
+#X obj 5 285 tlEvent \$0 14;
+#X obj 5 305 tlEvent \$0 15;
+#X obj 5 325 tlEvent \$0 16;
+#X obj 5 345 tlEvent \$0 17;
+#X obj 5 365 tlEvent \$0 18;
+#X obj 5 385 tlEvent \$0 19;
+#X obj 5 405 tlEvent \$0 20;
+#X obj 5 425 tlEvent \$0 21;
+#X obj 5 445 tlEvent \$0 22;
+#X obj 5 465 tlEvent \$0 23;
+#X obj 5 485 tlEvent \$0 24;
+#X obj 100 5 tlEvent \$0 25;
+#X obj 100 25 tlEvent \$0 26;
+#X obj 100 45 tlEvent \$0 27;
+#X obj 100 65 tlEvent \$0 28;
+#X obj 100 85 tlEvent \$0 29;
+#X obj 100 105 tlEvent \$0 30;
+#X obj 100 125 tlEvent \$0 31;
+#X obj 100 145 tlEvent \$0 32;
+#X obj 100 165 tlEvent \$0 33;
+#X obj 100 185 tlEvent \$0 34;
+#X obj 100 205 tlEvent \$0 35;
+#X obj 100 225 tlEvent \$0 36;
+#X obj 100 245 tlEvent \$0 37;
+#X obj 100 265 tlEvent \$0 38;
+#X obj 100 285 tlEvent \$0 39;
+#X obj 100 305 tlEvent \$0 40;
+#X obj 100 325 tlEvent \$0 41;
+#X obj 100 345 tlEvent \$0 42;
+#X obj 100 365 tlEvent \$0 43;
+#X obj 100 385 tlEvent \$0 44;
+#X obj 100 405 tlEvent \$0 45;
+#X obj 100 425 tlEvent \$0 46;
+#X obj 100 445 tlEvent \$0 47;
+#X obj 100 465 tlEvent \$0 48;
+#X obj 100 485 tlEvent \$0 49;
+#X obj 195 5 tlEvent \$0 50;
+#X restore 20 143 pd \$0-events;
+#N canvas 1 228 290 280 z/s 1;
+#X obj 62 222 s \$0-updategui;
+#X obj 89 92 v \$0-z;
+#X obj 62 200 del 5;
+#X obj 62 153 speedlim 50;
+#X obj 62 18 r \$1-tr-rcv;
+#X obj 62 37 route z s;
+#X obj 165 93 v \$0-s;
+#X obj 62 177 b;
+#X obj 138 72 t f f;
+#X obj 62 71 t f f;
+#X connect 2 0 0 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 9 0;
+#X connect 5 1 8 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X connect 8 1 6 0;
+#X connect 9 0 3 0;
+#X connect 9 1 1 0;
+#X restore 111 124 pd z/s;
+#X obj 19 106 bng 15 250 50 0 empty empty click_before_save 17 7 0
+10 -262144 -1 -1;
+#X obj 468 276 apsubmaster \$0 \$1 t\$2;
+#X obj 468 299 table \$0-tu 100;
+#X obj 468 317 table \$0-tt 100;
+#X obj 468 335 table \$0-tl 100;
+#X obj 72 331 r \$0-events-snd;
+#X obj 43 383 s \$0-tu;
+#X obj 89 383 s \$0-tt;
+#X obj 145 385 s \$0-tl;
+#N canvas 835 523 662 355 tablestoevents 0;
+#X obj 123 31 r \$1-tablestoevents;
+#X obj 150 74 arraysize \$0-tu;
+#X obj 123 52 t b b;
+#X obj 123 100 for++ 0 100;
+#X obj 87 166 tabread \$0-tu;
+#X obj 42 164 t f f;
+#X obj 42 188 pack f f;
+#X obj 172 268 s \$0-events-rcv;
+#X obj 172 197 pack f f;
+#X obj 303 202 pack f f;
+#X obj 172 173 t f f;
+#X obj 303 175 t f f;
+#X obj 123 121 t f f f;
+#X obj 217 175 tabread \$0-tt;
+#X obj 348 180 tabread \$0-tl;
+#X msg 42 213 \$1 u \$2;
+#X msg 172 222 \$1 t \$2;
+#X msg 303 227 \$1 l \$2;
+#X obj 527 272 for++ 0 100;
+#X obj 509 129 t f f;
+#X obj 509 163 pack f s;
+#X obj 554 142 makesymbol;
+#X obj 509 14 loadbang;
+#X obj 380 202 t f f;
+#X msg 380 314 \$1 name \$2;
+#X obj 380 289 pack f s;
+#X obj 407 244 sarray \$0-tn;
+#X obj 509 208 sarray \$0-tn;
+#X msg 407 221 get \$1;
+#X obj 407 263 route bang;
+#X obj 85 35 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 509 41 arraysize \$0-tu;
+#X obj 528 250 t b b;
+#X obj 474 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X symbolatom 473 310 10 0 0 0 - - -, f 10;
+#X floatatom 443 192 5 0 0 0 - - -, f 5;
+#X msg 509 183 set \$1 \$2;
+#X obj 284 6 r \$0-setap-snd;
+#X obj 284 35 route _all_;
+#X obj 284 67 route _loaded_;
+#X obj 328 102 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 107 del 100;
+#X obj 509 83 until;
+#X obj 509 106 i;
+#X obj 534 106 + 1;
+#X obj 509 63 t f b;
+#X msg 549 84 0;
+#X msg 585 183 print;
+#X connect 0 0 2 0;
+#X connect 1 0 3 1;
+#X connect 2 0 3 0;
+#X connect 2 1 1 0;
+#X connect 3 0 12 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 5 1 4 0;
+#X connect 6 0 15 0;
+#X connect 8 0 16 0;
+#X connect 9 0 17 0;
+#X connect 10 0 8 0;
+#X connect 10 1 13 0;
+#X connect 11 0 9 0;
+#X connect 11 1 14 0;
+#X connect 12 0 5 0;
+#X connect 12 1 10 0;
+#X connect 12 2 11 0;
+#X connect 12 2 23 0;
+#X connect 13 0 8 1;
+#X connect 14 0 9 1;
+#X connect 15 0 7 0;
+#X connect 16 0 7 0;
+#X connect 17 0 7 0;
+#X connect 19 0 20 0;
+#X connect 19 1 21 0;
+#X connect 20 0 36 0;
+#X connect 21 0 20 1;
+#X connect 22 0 31 0;
+#X connect 23 0 25 0;
+#X connect 23 1 28 0;
+#X connect 24 0 7 0;
+#X connect 25 0 24 0;
+#X connect 26 0 29 0;
+#X connect 26 0 34 0;
+#X connect 28 0 26 0;
+#X connect 29 1 25 1;
+#X connect 30 0 2 0;
+#X connect 31 0 45 0;
+#X connect 32 0 18 0;
+#X connect 33 0 31 0;
+#X connect 35 0 28 0;
+#X connect 36 0 27 0;
+#X connect 37 0 38 0;
+#X connect 38 0 39 0;
+#X connect 38 1 39 0;
+#X connect 39 0 40 0;
+#X connect 39 0 41 0;
+#X connect 41 0 2 0;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;
+#X connect 43 0 19 0;
+#X connect 44 0 43 1;
+#X connect 45 0 42 0;
+#X connect 45 1 46 0;
+#X connect 46 0 43 1;
+#X connect 47 0 27 0;
+#X restore 468 378 pd tablestoevents;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e0-snd \$0-e0-rcv 0 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e1-snd \$0-e1-rcv 1 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e2-snd \$0-e2-rcv 2 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e3-snd \$0-e3-rcv 3 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e4-snd \$0-e4-rcv 4 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e5-snd \$0-e5-rcv 5 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e6-snd \$0-e6-rcv 6 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e7-snd \$0-e7-rcv 7 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e8-snd \$0-e8-rcv 8 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e9-snd \$0-e9-rcv 9 -2 7 1 8 -262144
+-262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e10-snd \$0-e10-rcv 10 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e11-snd \$0-e11-rcv 11 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e12-snd \$0-e12-rcv 12 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e13-snd \$0-e13-rcv 13 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e14-snd \$0-e14-rcv 14 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e15-snd \$0-e15-rcv 15 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e16-snd \$0-e16-rcv 16 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e17-snd \$0-e17-rcv 17 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e18-snd \$0-e18-rcv 18 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e19-snd \$0-e19-rcv 19 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e20-snd \$0-e20-rcv 20 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e21-snd \$0-e21-rcv 21 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e22-snd \$0-e22-rcv 22 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e23-snd \$0-e23-rcv 23 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e24-snd \$0-e24-rcv 24 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e25-snd \$0-e25-rcv 25 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e26-snd \$0-e26-rcv 26 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e27-snd \$0-e27-rcv 27 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e28-snd \$0-e28-rcv 28 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e29-snd \$0-e29-rcv 29 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e30-snd \$0-e30-rcv 30 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e31-snd \$0-e31-rcv 31 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e32-snd \$0-e32-rcv 32 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e33-snd \$0-e33-rcv 33 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e34-snd \$0-e34-rcv 34 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e35-snd \$0-e35-rcv 35 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e36-snd \$0-e36-rcv 36 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e37-snd \$0-e37-rcv 37 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e38-snd \$0-e38-rcv 38 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e39-snd \$0-e39-rcv 39 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e40-snd \$0-e40-rcv 40 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e41-snd \$0-e41-rcv 41 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e42-snd \$0-e42-rcv 42 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e43-snd \$0-e43-rcv 43 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e44-snd \$0-e44-rcv 44 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e45-snd \$0-e45-rcv 45 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e46-snd \$0-e46-rcv 46 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e47-snd \$0-e47-rcv 47 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e48-snd \$0-e48-rcv 48 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e49-snd \$0-e49-rcv 49 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 73 20 hsl 2 20 0 128 0 0 \$0-e50-snd \$0-e50-rcv 50 -2 7 1 8
+-262144 -262144 -1 0 0;
+#X obj 20 20 cnv 15 70 20 empty \$0-namecan-rcv track3 13 12 0 12 -1
+-262144 0;
+#X obj 21 21 bng 10 250 50 0 \$0-add-snd empty + 3 6 0 10 -4034 -1
+-1;
+#X obj 689 20 cnv 10 30 20 empty \$0-numcan-rcv 3 2 13 0 12 -66577
+-262144 0;
+#X obj 90 20 cnv 1 1 20 empty \$0-ican-rcv empty 15 10 0 12 -258699
+-258699 0;
+#N canvas 895 271 450 336 index 0;
+#X obj 52 302 s \$0-ican-rcv;
+#X msg 52 280 pos \$1 20;
+#X obj 52 148 -;
+#X obj 52 173 *;
+#X obj 52 123 t f b;
+#X obj 79 147 v \$0-s;
+#X obj 80 171 v \$0-z;
+#X obj 52 2 r \$0-updategui;
+#X obj 52 66 f;
+#X obj 52 214 + 90;
+#X obj 52 194 clip 0 600;
+#X obj 52 99 speedlim 150;
+#X obj 52 26 del 5;
+#X obj 124 126 s \$0-updategui;
+#X obj 154 12 r \$1-index;
+#X obj 52 236 i;
+#X obj 52 258 change;
+#X obj 226 14 r \$1-tr-rcv;
+#X obj 226 35 route i;
+#X msg 204 210 color 22 22 22;
+#X msg 204 234 color 13 13 13;
+#X msg 218 266 size 1;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 10 0;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 4 1 6 0;
+#X connect 5 0 2 1;
+#X connect 6 0 3 1;
+#X connect 7 0 12 0;
+#X connect 8 0 11 0;
+#X connect 9 0 15 0;
+#X connect 10 0 9 0;
+#X connect 11 0 4 0;
+#X connect 12 0 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 1 0;
+#X connect 17 0 18 0;
+#X connect 18 0 8 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X restore 112 144 pd index;
+#N canvas 804 119 470 675 get 0;
+#X obj 85 151 s \$0-events-rcv;
+#X obj 194 87 r \$0-events-snd;
+#X obj 194 106 route get;
+#X obj 357 249 s \$1-got;
+#X msg 85 129 get \$1;
+#X obj 66 332 l;
+#X obj 66 253 change;
+#X obj 81 207 unpack f;
+#X obj 66 227 f;
+#X msg 106 176 -1;
+#X obj 66 108 t b f b;
+#X obj 66 308 b;
+#X msg 131 308 list -1;
+#X obj 66 36 r \$1-tr-rcv;
+#X obj 66 85 route get;
+#X obj 66 378 s \$0-snd;
+#X msg 306 250 get \$1;
+#X obj 66 355 list prepend get;
+#X msg 158 222 set -2;
+#X obj 66 61 spigot 1;
+#X obj 144 38 r \$0-mute-snd;
+#X obj 144 59 == 0;
+#X obj 148 97 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 21 134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 223 152 route init;
+#X obj 177 279 sel -1;
+#N canvas 787 136 664 623 get_previous 0;
+#X obj 155 3 inlet;
+#X obj 174 88 tabread \$0-tt;
+#X obj 174 314 tabread \$0-tt;
+#X obj 174 229 tabread \$0-tu;
+#X obj 193 333 tabread \$0-tl;
+#X obj 266 105 r \$0-maxevent;
+#X obj 174 162 until;
+#X obj 174 186 count 50;
+#X obj 174 136 f 50;
+#X obj 174 114 t b f;
+#X msg 207 136 reset;
+#X obj 174 207 t f f;
+#X obj 174 249 sel 1;
+#X obj 174 270 f;
+#X obj 174 290 t f f f;
+#X obj 174 357 +;
+#X obj 174 380 moses;
+#X obj 174 402 pack f f;
+#X obj 155 57 t b f f;
+#X obj 174 455 unpack f f;
+#X obj 174 484 moses;
+#X msg 269 440 -1;
+#X obj 213 484 f;
+#X obj 201 506 t b f;
+#X obj 201 528 f;
+#X obj 186 553 f;
+#X obj 269 417 t b f;
+#X floatatom 264 554 5 0 0 0 - - -, f 5;
+#X floatatom 314 217 5 0 0 0 - - -, f 5;
+#X floatatom 315 575 5 0 0 0 - - -, f 5;
+#X obj 309 547 tabread \$0-tt;
+#X obj 186 579 outlet;
+#X connect 0 0 18 0;
+#X connect 1 0 9 0;
+#X connect 2 0 15 0;
+#X connect 3 0 12 0;
+#X connect 4 0 15 1;
+#X connect 5 0 8 1;
+#X connect 5 0 7 1;
+#X connect 6 0 7 0;
+#X connect 7 0 11 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 9 1 10 0;
+#X connect 9 1 16 1;
+#X connect 10 0 7 0;
+#X connect 11 0 3 0;
+#X connect 11 1 13 1;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 2 0;
+#X connect 14 1 4 0;
+#X connect 14 2 17 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 19 0;
+#X connect 18 0 25 0;
+#X connect 18 1 1 0;
+#X connect 18 2 26 0;
+#X connect 19 0 20 0;
+#X connect 19 1 24 1;
+#X connect 20 1 23 0;
+#X connect 21 0 22 0;
+#X connect 22 0 20 1;
+#X connect 23 0 24 0;
+#X connect 23 1 22 0;
+#X connect 24 0 25 1;
+#X connect 25 0 31 0;
+#X connect 26 0 21 0;
+#X connect 26 1 25 1;
+#X connect 27 0 30 0;
+#X connect 30 0 29 0;
+#X restore 210 302 pd get_previous;
+#X obj 177 259 change;
+#X floatatom 231 277 5 0 0 0 - - -, f 5;
+#X floatatom 210 321 5 0 0 0 - - -, f 5;
+#X obj 339 365 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 210 343 list prepend prev;
+#X obj 66 276 t f f;
+#X connect 1 0 2 0;
+#X connect 2 0 7 0;
+#X connect 2 0 5 1;
+#X connect 4 0 0 0;
+#X connect 5 0 17 0;
+#X connect 6 0 32 0;
+#X connect 7 0 8 1;
+#X connect 8 0 6 0;
+#X connect 9 0 8 1;
+#X connect 9 0 12 0;
+#X connect 9 0 18 0;
+#X connect 10 0 8 0;
+#X connect 10 1 4 0;
+#X connect 10 2 9 0;
+#X connect 11 0 5 0;
+#X connect 12 0 5 1;
+#X connect 13 0 19 0;
+#X connect 13 0 24 0;
+#X connect 14 0 10 0;
+#X connect 17 0 15 0;
+#X connect 18 0 6 0;
+#X connect 19 0 14 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 1;
+#X connect 21 0 22 0;
+#X connect 24 0 9 0;
+#X connect 25 1 26 0;
+#X connect 25 1 28 0;
+#X connect 26 0 29 0;
+#X connect 27 0 25 0;
+#X connect 29 0 31 0;
+#X connect 31 0 15 0;
+#X connect 32 0 11 0;
+#X connect 32 1 27 0;
+#X restore 113 163 pd get;
+#X obj 39 405 r \$1-tr-rcv;
+#X obj 39 426 route \$2 -1;
+#X obj 39 449 s \$0-rcv;
+#X obj 39 476 r \$0-snd;
+#X obj 39 497 list prepend \$2;
+#X obj 224 514 s \$0-events-rcv;
+#X msg 115 448 get \$1;
+#X msg 158 466 unsel;
+#X msg 206 475 -1 init;
+#X msg 252 468 delete;
+#X obj 204 387 s \$0-snd;
+#X obj 39 520 s \$1-tr-snd;
+#X obj 72 350 route u t l get;
+#X msg 298 468 move \$1;
+#X obj 565 298 aptab \$0 tu \$0-tu 100 2;
+#X obj 568 317 aptab \$0 tt \$0-tt 100 2;
+#X obj 568 335 aptab \$0 tl \$0-tl 100 2;
+#N canvas 138 632 568 348 properties-guts 0;
+#X floatatom 99 65 3 0 255 0 - - -, f 3;
+#X floatatom 129 57 3 0 255 0 - - -, f 3;
+#X floatatom 173 57 3 0 255 0 - - -, f 3;
+#N canvas 280 262 606 448 RGB 0;
+#X obj 60 47 inlet;
+#X obj 137 310 outlet;
+#X text 65 22 red;
+#X text 135 24 green;
+#X text 207 24 blue;
+#X obj 203 136 t b f;
+#X obj 137 194 +;
+#X obj 137 219 t b f;
+#X obj 137 250 +;
+#X obj 60 113 * -65536;
+#X obj 137 114 * -256;
+#X obj 203 114 * -1;
+#X obj 137 281 - 1;
+#X obj 60 74 unpack f f f;
+#X connect 0 0 13 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 12 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 11 0 5 0;
+#X connect 12 0 1 0;
+#X connect 13 0 9 0;
+#X connect 13 1 10 0;
+#X connect 13 2 11 0;
+#X restore 52 183 pd RGB;
+#X obj 124 112 pack f f f;
+#X obj 130 78 t b f;
+#X obj 172 78 t b f;
+#X msg 52 205 color \$1 \$1 \$1;
+#X obj 52 228 s \$0-bgcan-rcv;
+#N canvas 52 416 450 300 half 0;
+#X obj 157 77 unpack f f f;
+#X obj 155 159 pack f f f;
+#X obj 155 105 * 0.6;
+#X obj 155 126 i;
+#X obj 157 56 l;
+#X obj 193 105 * 0.6;
+#X obj 193 126 i;
+#X obj 231 105 * 0.6;
+#X obj 231 126 i;
+#X obj 260 62 t b f;
+#X obj 157 21 inlet RGB;
+#X obj 260 20 inlet fade;
+#X obj 156 186 outlet RGB;
+#X connect 0 0 2 0;
+#X connect 0 1 5 0;
+#X connect 0 2 7 0;
+#X connect 1 0 12 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 1;
+#X connect 7 0 8 0;
+#X connect 8 0 1 2;
+#X connect 9 0 4 0;
+#X connect 9 1 7 1;
+#X connect 9 1 5 1;
+#X connect 9 1 2 1;
+#X connect 10 0 4 0;
+#X connect 11 0 9 0;
+#X restore 151 164 pd half;
+#X obj 124 136 t a a;
+#N canvas 280 262 606 448 RGB 0;
+#X obj 60 47 inlet;
+#X obj 137 310 outlet;
+#X text 65 22 red;
+#X text 135 24 green;
+#X text 207 24 blue;
+#X obj 203 136 t b f;
+#X obj 137 194 +;
+#X obj 137 219 t b f;
+#X obj 137 250 +;
+#X obj 60 113 * -65536;
+#X obj 137 114 * -256;
+#X obj 203 114 * -1;
+#X obj 137 281 - 1;
+#X obj 60 74 unpack f f f;
+#X connect 0 0 13 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 12 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 11 0 5 0;
+#X connect 12 0 1 0;
+#X connect 13 0 9 0;
+#X connect 13 1 10 0;
+#X connect 13 2 11 0;
+#X restore 151 186 pd RGB;
+#X obj 150 232 s \$0-namecan-rcv;
+#X msg 150 207 color \$1 \$1 0;
+#X obj 193 143 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144
+-1 -1 6100 1;
+#X obj 59 13 r \$0-R-snd;
+#X obj 210 14 r \$0-B-snd;
+#X obj 348 48 apf \$0 R \$0-R 2;
+#X obj 210 37 i;
+#X obj 137 35 i;
+#X obj 59 34 i;
+#X obj 373 242 s \$0-namecan-rcv;
+#X obj 448 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 373 169 r \$0-name-snd;
+#X msg 373 218 label \$1;
+#X obj 47 279 init \$2;
+#X obj 49 255 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 47 299 label Track\$1_properties;
+#X obj 47 321 s \$0-propscan-rcv;
+#X obj 135 14 r \$0-G-snd;
+#X obj 347 67 apf \$0 G \$0-G 2;
+#X obj 347 89 apf \$0 B \$0-B 2;
+#X obj 348 109 apsym \$0 name \$0-name 2;
+#X obj 256 72 loadbang;
+#X msg 256 95 70 70 70;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 3 0 7 0;
+#X connect 4 0 10 0;
+#X connect 5 0 4 0;
+#X connect 5 1 4 1;
+#X connect 6 0 4 0;
+#X connect 6 1 4 2;
+#X connect 7 0 8 0;
+#X connect 9 0 11 0;
+#X connect 10 0 3 0;
+#X connect 10 1 9 0;
+#X connect 11 0 13 0;
+#X connect 13 0 12 0;
+#X connect 14 0 9 1;
+#X connect 15 0 20 0;
+#X connect 16 0 18 0;
+#X connect 18 0 2 0;
+#X connect 19 0 1 0;
+#X connect 20 0 0 0;
+#X connect 23 0 22 0;
+#X connect 23 0 24 0;
+#X connect 24 0 21 0;
+#X connect 25 0 27 0;
+#X connect 26 0 25 0;
+#X connect 27 0 28 0;
+#X connect 29 0 19 0;
+#X connect 33 0 34 0;
+#X connect 34 0 10 0;
+#X restore 189 163 pd properties-guts;
+#N canvas 29 611 159 186 \$0-props 0;
+#X obj 0 1 cnv 15 150 180 empty \$0-propscan-rcv Track3_properties
+10 12 0 14 -233017 -66577 0;
+#X obj 24 28 vsl 15 128 0 255 0 0 \$0-R-snd \$0-R-rcv empty 0 -9 0
+10 -258113 -1 -1 0 1;
+#X obj 42 28 vsl 15 128 0 255 0 0 \$0-G-snd \$0-G-rcv empty 0 -9 0
+10 -4034 -1 -1 0 1;
+#X obj 60 28 vsl 15 128 0 255 0 0 \$0-B-snd \$0-B-rcv empty 0 -9 0
+10 -4160 -1 -1 0 1;
+#X symbolatom 82 76 10 0 0 2 name #0-name-rcv #0-name-snd, f 10;
+#X restore 189 182 pd \$0-props;
+#X msg 123 276 label \$1;
+#X obj 123 295 s \$0-numcan-rcv;
+#X obj 140 180 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 123 256 makesymbol;
+#X obj 21 30 bng 10 250 50 0 \$0-showprops empty empty 3 6 0 10 -257985
+-1 -1;
+#X obj 335 333 r \$0-showprops;
+#X msg 335 355 vis 0 \, vis 1;
+#X obj 335 379 s pd-\$0-props;
+#X obj 466 355 sarray \$0-tn 100;
+#X obj 568 354 apsarray \$0 tn \$0-tn 100 2;
+#X obj 358 467 r \$0-rcv;
+#X msg 582 411 print;
+#X obj 353 513 nroute name 2;
+#X obj 353 561 sarray \$0-tn;
+#X msg 353 537 set \$1 \$3;
+#X obj 706 28 tgl 10 0 \$0-mute-snd \$0-mute-rcv mute -6 -4 0 8 -257985
+-1 -257985 0 1;
+#X msg 158 525 get -1;
+#X obj 158 504 t b b;
+#X obj 158 547 s \$0-snd;
+#X obj 595 374 apf \$0 mute \$0-mute 2;
+#N canvas 2 426 627 503 request_by_name 0;
+#X obj 32 -102 inlet;
+#X text 68 -103 name requester_rcv;
+#X obj 277 -31 unpack s s;
+#X obj 277 18 sarray \$0-tn 100;
+#X msg 277 -7 find \$1;
+#X floatatom 370 40 5 0 0 0 - - -, f 5;
+#X obj 416 105 tabread \$0-tt;
+#X obj 436 131 tabread \$0-tl;
+#X obj 397 82 t f f f;
+#X obj 373 162 pack f f f s;
+#X msg 373 183 \; \$4 \$1 \$2 \$3;
+#X obj 370 60 sel -1;
+#X obj 32 -12 until;
+#X obj 32 11 i;
+#X obj 59 11 + 1;
+#X msg 70 -12 0;
+#X obj 32 86 sarray \$0-tn;
+#X msg 32 60 get \$1;
+#X obj 32 -55 t b b s;
+#X obj 32 -80 unpack s s;
+#X obj 89 131 sel truc;
+#X obj 89 156 f;
+#X obj 32 32 t f f;
+#X obj 32 108 route bang;
+#X obj 89 177 t f b;
+#X msg 32 -33 100;
+#X obj 108 228 tabread \$0-tt;
+#X obj 128 248 tabread \$0-tl;
+#X obj 89 202 t f f f;
+#X obj 89 285 pack f f f s;
+#X msg 89 306 \; \$4 \$1 \$2 \$3;
+#X text 287 -58 This version needs a modified version of sarray...
+;
+#X connect 0 0 19 0;
+#X connect 2 0 4 0;
+#X connect 2 1 9 3;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 2;
+#X connect 8 0 9 0;
+#X connect 8 1 6 0;
+#X connect 8 2 7 0;
+#X connect 9 0 10 0;
+#X connect 11 1 8 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 13 0 22 0;
+#X connect 14 0 13 1;
+#X connect 15 0 13 1;
+#X connect 16 0 23 0;
+#X connect 17 0 16 0;
+#X connect 18 0 25 0;
+#X connect 18 1 15 0;
+#X connect 18 2 20 1;
+#X connect 19 0 18 0;
+#X connect 19 1 29 3;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 17 0;
+#X connect 22 1 21 1;
+#X connect 23 1 20 0;
+#X connect 24 0 28 0;
+#X connect 24 1 12 1;
+#X connect 25 0 12 0;
+#X connect 26 0 29 1;
+#X connect 27 0 29 2;
+#X connect 28 0 29 0;
+#X connect 28 1 26 0;
+#X connect 28 2 27 0;
+#X connect 29 0 30 0;
+#X restore 449 517 pd request_by_name;
+#X obj 115 426 route get unsel reset delete move;
+#X obj 358 489 route ev request;
+#X obj 21 169 r \$1-Mouse;
+#X obj 21 191 s \$0-Mouse;
+#X text 21 54 tlTrack SongRef TrackNum;
+#X text 106 71 Timeline internal track. Contains the events.;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 7 0 11 0;
+#X connect 7 0 20 0;
+#X connect 7 0 21 0;
+#X connect 11 0 8 0;
+#X connect 16 0 17 0;
+#X connect 16 0 119 0;
+#X connect 17 0 18 0;
+#X connect 19 0 17 0;
+#X connect 20 0 12 0;
+#X connect 21 0 13 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 24 0;
+#X connect 27 0 25 0;
+#X connect 30 0 22 0;
+#X connect 35 0 109 0;
+#X connect 97 0 98 0;
+#X connect 98 0 99 0;
+#X connect 98 1 99 0;
+#X connect 98 2 137 0;
+#X connect 100 0 101 0;
+#X connect 101 0 108 0;
+#X connect 104 0 102 0;
+#X connect 105 0 102 0;
+#X connect 106 0 102 0;
+#X connect 109 0 36 0;
+#X connect 109 1 37 0;
+#X connect 109 2 38 0;
+#X connect 109 4 107 0;
+#X connect 110 0 102 0;
+#X connect 116 0 117 0;
+#X connect 118 0 16 0;
+#X connect 119 0 116 0;
+#X connect 121 0 122 0;
+#X connect 122 0 123 0;
+#X connect 126 0 138 0;
+#X connect 127 0 124 0;
+#X connect 128 0 130 0;
+#X connect 130 0 129 0;
+#X connect 132 0 134 0;
+#X connect 133 0 132 0;
+#X connect 133 1 105 0;
+#X connect 137 0 103 0;
+#X connect 137 1 104 0;
+#X connect 137 2 133 0;
+#X connect 137 3 106 0;
+#X connect 137 4 110 0;
+#X connect 138 0 102 0;
+#X connect 138 0 128 0;
+#X connect 138 1 136 0;
+#X connect 139 0 140 0;
+#X coords 0 -1 1 1 700 20 1 20 20;

+ 49 - 0
tlTrackRef.pd

@@ -0,0 +1,49 @@
+#N canvas 106 606 416 300 10;
+#X obj 292 170 symbol;
+#X obj 241 94 route _all_;
+#X obj 241 114 route store;
+#X obj 241 137 t b f;
+#X obj 241 157 del 10;
+#X obj 241 177 f;
+#X msg 241 218 \$3 ev \$1 name \$2;
+#X obj 241 74 r \$1-pattern-snd;
+#X obj 47 152 unwonk f;
+#X obj 47 195 change;
+#X obj 32 241 route -1;
+#X obj 77 263 s \$1-tlev;
+#X obj 32 77 apsubmaster \$1 \$2 \$3;
+#X obj 32 98 apsubmaster \$1var \$2 \$3var;
+#X obj 47 217 s \$1-outside;
+#X obj 47 174 == -1;
+#X symbolatom 324 195 10 0 0 0 - - -;
+#X text 22 5 tlTrackRef newSubRef Ref Name SongName TrackNum;
+#X text 15 20 \$1=newSubRef \$2=Ref \$3=Name \$4=SongName \$5=TrackNum
+;
+#X obj 32 131 tlLinkAp \$2 \$4 \$5 \$1;
+#X obj 292 149 r \$1-eventname;
+#X obj 241 244 s \$2-song-\$4-rcv;
+#X obj 241 197 pack f s \$5;
+#X text 67 51 Create new subrefs linked to the track of a song.;
+#X text 30 279 event : eventNum relativeTime normalizedTime eventLength
+;
+#X obj 130 214 bng 15 250 50 0 \$1-rec-snd \$1-rec-rcv rec 17 7 0 10
+-195568 -195568 -195568;
+#X connect 0 0 16 0;
+#X connect 0 0 22 1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 22 0;
+#X connect 6 0 21 0;
+#X connect 7 0 1 0;
+#X connect 8 0 15 0;
+#X connect 9 0 14 0;
+#X connect 10 1 11 0;
+#X connect 15 0 9 0;
+#X connect 19 0 8 0;
+#X connect 19 0 10 0;
+#X connect 20 0 0 0;
+#X connect 22 0 6 0;
+#X coords 0 -1 1 1 85 30 1 130 200;

+ 105 - 0
tlTransport.pd

@@ -0,0 +1,105 @@
+#N canvas 31 291 520 597 10;
+#X obj 101 34 cnv 15 198 45 empty \$0-can-rcv 0mn_05sec_65 100 25 1
+13 -262130 -45076 0;
+#X obj 106 47 tgl 30 0 \$1-\$2-play-snd \$1-\$2-play-rcv play 0 -7
+0 10 -4034 -1 -1 0 1;
+#X obj 182 163 sel 0 1;
+#X obj 170 239 f;
+#X obj 170 266 t f f;
+#X obj 197 287 swap 3600;
+#X obj 197 309 -;
+#X obj 288 180 route i;
+#X obj 185 216 demux;
+#X obj 197 331 * 1000;
+#X obj 170 357 pack f f;
+#X msg 170 379 \$1 \, 3600 \$2;
+#X obj 170 403 line;
+#X msg 170 428 i \$1;
+#X floatatom 216 409 5 0 0 0 - - -, f 5;
+#X msg 136 266 stop;
+#X obj 147 47 bng 30 250 50 0 \$1-\$2-home-snd \$1-\$2-home-rcv home
+0 -7 0 10 -257985 -1 -1;
+#X msg 114 142 0;
+#X obj 288 204 t f f f;
+#X obj 372 227 wrap;
+#X obj 372 251 * 100;
+#X obj 372 274 i;
+#X obj 330 245 mod 60;
+#X obj 288 247 div 60;
+#X obj 288 155 r \$1-song-\$2-snd;
+#X obj 170 449 s \$1-song-\$2-rcv;
+#X obj 372 297 makefilename %.2d;
+#X obj 330 321 makefilename %.2d;
+#X obj 288 354 makefilename %d;
+#X obj 288 379 pack s s s;
+#X obj 288 404 makesymbol %smn_%ssec_%s;
+#X msg 288 517 label \$1;
+#X obj 288 543 s \$0-can-rcv;
+#X obj 288 449 speedlim 50;
+#X obj 182 140 r \$1-\$2-play-snd;
+#X obj 80 199 s \$1-\$2-play-rcv;
+#X obj 333 64 r \$1-\$2-home-snd;
+#X obj 80 95 r \$1-\$2-Goto;
+#X obj 159 111 r \$1-\$2-play-snd;
+#X obj 144 140 f;
+#X obj 80 174 f;
+#X obj 80 117 t b f b b;
+#X obj 111 265 f;
+#X obj 333 111 s \$1-\$2-Goto;
+#X msg 333 87 0;
+#X obj 288 427 t f s;
+#X obj 288 491 symbol;
+#X obj 288 469 b;
+#X connect 2 0 15 0;
+#X connect 2 1 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 10 0;
+#X connect 4 1 5 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 7 0 18 0;
+#X connect 8 0 3 1;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 25 0;
+#X connect 14 0 13 0;
+#X connect 15 0 12 0;
+#X connect 17 0 35 0;
+#X connect 18 0 23 0;
+#X connect 18 1 22 0;
+#X connect 18 2 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 21 0 26 0;
+#X connect 22 0 27 0;
+#X connect 23 0 28 0;
+#X connect 24 0 7 0;
+#X connect 26 0 29 2;
+#X connect 27 0 29 1;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 45 0;
+#X connect 31 0 32 0;
+#X connect 33 0 47 0;
+#X connect 34 0 2 0;
+#X connect 34 0 8 1;
+#X connect 36 0 44 0;
+#X connect 37 0 41 0;
+#X connect 38 0 39 1;
+#X connect 39 0 40 1;
+#X connect 40 0 35 0;
+#X connect 41 0 40 0;
+#X connect 41 1 42 0;
+#X connect 41 2 17 0;
+#X connect 41 3 39 0;
+#X connect 42 0 13 0;
+#X connect 44 0 43 0;
+#X connect 45 0 33 0;
+#X connect 45 1 46 1;
+#X connect 46 0 31 0;
+#X connect 47 0 46 0;
+#X coords 0 -1 1 1 200 60 1 100 20;

+ 256 - 0
tlsongcommon.pd

@@ -0,0 +1,256 @@
+#N canvas 223 243 833 377 10;
+#X obj 583 35 v \$1-z;
+#X obj 540 36 init 1;
+#X obj 511 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 583 54 v \$1-s;
+#X text 625 35 z=zoom=pixel/unit;
+#X text 625 54 s=scroll=time of xleft;
+#X obj 540 55 init 0;
+#X obj 584 81 v \$1-xl;
+#X obj 584 101 v \$1-xr;
+#X text 640 81 xl=pixel_x of xleft in canvas;
+#X text 641 100 xr=pixel_x of xright in canvas;
+#X obj 533 79 init 90;
+#X obj 528 103 init 690;
+#X obj 19 342 v \$1-songlen;
+#X obj 19 320 init 3600;
+#X obj 19 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 149 45 r \$1-i-snd;
+#X obj 56 111 v \$1-songlen;
+#X obj 29 91 t f b;
+#X obj 29 112 /;
+#X obj 176 110 v \$1-songlen;
+#X obj 149 88 t f b;
+#X obj 149 109 *;
+#X obj 213 244 spigot;
+#X obj 246 221 r \$1-lockstoi-snd;
+#X obj 213 265 s \$1-s-rcv;
+#X obj 669 192 s \$2-song-\$3-snd;
+#X obj 29 42 r \$2-song-\$3-rcv;
+#X obj 176 203 speedlim 150;
+#X obj 149 67 t f f;
+#X obj 176 242 t f f;
+#X obj 203 304 v \$1-songlen;
+#X obj 176 284 t f b;
+#X obj 176 305 *;
+#X msg 149 152 get \$1;
+#X obj 149 173 s \$1-tr-rcv;
+#X obj 176 346 s \$1-tr-rcv;
+#X msg 176 325 i \$1;
+#X obj 375 132 r \$1-reset;
+#X obj 375 222 s \$1-tr-rcv;
+#X msg 375 201 reset;
+#X obj 499 191 s \$1-tr-rcv;
+#X obj 499 150 r \$1-delete;
+#X msg 499 170 delete;
+#X obj 594 149 r \$1-tr-snd;
+#X obj 497 232 r \$1-tr-snd;
+#X obj 497 260 nroute unsel 2;
+#X obj 497 302 s \$1-tr-rcv;
+#X msg 497 280 unsel;
+#X obj 590 253 nroute move 2;
+#X msg 636 297 move \$1;
+#X obj 590 275 unwonk f s f;
+#N canvas 94 310 345 553 z/s 0;
+#X obj 58 525 s \$1-updategui;
+#X floatatom 37 58 5 0 0 0 - - -, f 5;
+#X obj 55 125 f;
+#X obj 75 210 *;
+#X obj 162 232 v \$1-xl;
+#X obj 114 232 v \$1-xr;
+#X obj 114 253 -;
+#X obj 75 169 t f b b;
+#X obj 114 274 /;
+#X obj 114 297 / 2;
+#X obj 75 319 -;
+#X obj 75 346 clip 0 3000;
+#X obj 114 210 t b b b;
+#X obj 138 322 -;
+#X obj 75 387 change;
+#X obj 75 365 max 0;
+#X obj 57 504 del 5;
+#X obj 55 451 speedlim 50;
+#X obj 131 61 r \$1-z-snd;
+#X obj 37 34 r \$1-s-snd;
+#X obj 131 83 t b f;
+#X msg 195 402 z \$1;
+#X msg 158 402 s \$1;
+#X obj 183 449 s \$1-tr-rcv;
+#X obj 94 189 v \$1-songlen;
+#X obj 75 409 t f f;
+#X obj 55 148 t f f;
+#X obj 57 485 b;
+#X connect 1 0 2 0;
+#X connect 2 0 26 0;
+#X connect 3 0 10 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 3 0;
+#X connect 7 1 24 0;
+#X connect 7 2 12 0;
+#X connect 8 0 9 0;
+#X connect 8 0 13 1;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 15 0;
+#X connect 12 0 5 0;
+#X connect 12 1 4 0;
+#X connect 13 0 11 2;
+#X connect 14 0 25 0;
+#X connect 15 0 14 0;
+#X connect 16 0 0 0;
+#X connect 18 0 20 0;
+#X connect 19 0 1 0;
+#X connect 20 0 2 0;
+#X connect 20 1 8 1;
+#X connect 20 1 21 0;
+#X connect 21 0 23 0;
+#X connect 22 0 23 0;
+#X connect 24 0 3 1;
+#X connect 24 0 13 0;
+#X connect 25 0 17 0;
+#X connect 25 1 22 0;
+#X connect 26 0 17 0;
+#X connect 26 1 7 0;
+#X connect 27 0 16 0;
+#X restore 293 43 pd z/s;
+#X obj 295 87 hsl 200 15 0.25 1000 1 0 \$1-z-snd \$1-z-rcv zoom -28
+7 0 10 -262144 -1 -1 11224 1;
+#X obj 296 68 hsl 200 15 0 1 0 0 \$1-s-snd \$1-s-rcv scroll -38 7 0
+10 -262144 -1 -1 0 1;
+#X obj 70 89 s \$1-tr-rcv;
+#X obj 17 248 apsubmaster \$1 \$2 \$3;
+#X obj 594 171 nroute move 2;
+#X obj 30 132 s \$1-i-snd;
+#X msg 13 183 set \$1;
+#X obj 13 206 s \$1-i-rcv;
+#X obj 13 160 speedlim 150;
+#X obj 196 153 s \$2-song-\$3-snd;
+#X msg 196 132 i \$1;
+#X obj 149 129 t f f;
+#X obj 29 64 route i mes;
+#X obj 81 204 s \$1-mes;
+#N canvas 656 193 450 300 doubleclic 0;
+#X obj 86 48 inlet;
+#X obj 100 74 del 200;
+#X obj 86 124 f;
+#X obj 114 124 + 1;
+#X msg 101 99 0;
+#X obj 85 193 outlet;
+#X obj 86 151 sel 1;
+#X obj 166 120 t b b;
+#X msg 258 168 color 13 13 22;
+#X obj 167 144 del 300;
+#X obj 168 197 outlet;
+#X msg 169 168 color 14 14 22;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 6 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 11 0 10 0;
+#X restore 375 156 pd doubleclic;
+#X obj 393 178 s \$1-reset-rcv;
+#X floatatom 104 161 5 0 0 0 - - -, f 5;
+#N canvas 71 571 450 300 Mouse 0;
+#X obj 174 47 cursor;
+#X obj 174 25 init 1;
+#X obj 174 3 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 102 92 route motion;
+#X obj 102 115 route x y;
+#X obj 102 140 t f f;
+#X obj 102 161 -;
+#X obj 174 67 t a a;
+#X obj 140 139 t f f;
+#X obj 140 160 -;
+#X msg 102 209 motion dx \$1;
+#X msg 140 182 motion dy \$1;
+#X obj 201 251 s \$1-Mouse;
+#X connect 0 0 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 1 8 0;
+#X connect 5 0 6 1;
+#X connect 5 1 6 0;
+#X connect 6 0 10 0;
+#X connect 7 0 3 0;
+#X connect 7 1 12 0;
+#X connect 8 0 9 1;
+#X connect 8 1 9 0;
+#X connect 9 0 11 0;
+#X connect 10 0 12 0;
+#X connect 11 0 12 0;
+#X restore 18 272 pd Mouse;
+#X obj 358 299 apf \$1 z \$1-z 2;
+#X obj 358 320 apf \$1 s \$1-s 2;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 0 6 0;
+#X connect 2 0 11 0;
+#X connect 2 0 12 0;
+#X connect 6 0 3 0;
+#X connect 11 0 7 0;
+#X connect 12 0 8 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 29 0;
+#X connect 17 0 19 1;
+#X connect 18 0 19 0;
+#X connect 18 1 17 0;
+#X connect 19 0 58 0;
+#X connect 19 0 61 0;
+#X connect 20 0 22 1;
+#X connect 21 0 22 0;
+#X connect 21 1 20 0;
+#X connect 22 0 64 0;
+#X connect 23 0 25 0;
+#X connect 24 0 23 1;
+#X connect 27 0 65 0;
+#X connect 28 0 30 0;
+#X connect 29 0 21 0;
+#X connect 29 1 28 0;
+#X connect 30 0 32 0;
+#X connect 30 1 23 0;
+#X connect 31 0 33 1;
+#X connect 32 0 33 0;
+#X connect 32 1 31 0;
+#X connect 33 0 37 0;
+#X connect 34 0 35 0;
+#X connect 37 0 36 0;
+#X connect 38 0 67 0;
+#X connect 40 0 39 0;
+#X connect 42 0 43 0;
+#X connect 43 0 41 0;
+#X connect 44 0 57 0;
+#X connect 45 0 46 0;
+#X connect 45 0 49 0;
+#X connect 46 0 48 0;
+#X connect 48 0 47 0;
+#X connect 49 0 51 0;
+#X connect 50 0 47 0;
+#X connect 51 2 50 0;
+#X connect 57 1 26 0;
+#X connect 59 0 60 0;
+#X connect 61 0 59 0;
+#X connect 63 0 62 0;
+#X connect 64 0 34 0;
+#X connect 64 1 63 0;
+#X connect 65 0 18 0;
+#X connect 65 1 66 0;
+#X connect 65 2 55 0;
+#X connect 67 0 40 0;
+#X connect 67 1 68 0;