Mercurial > hg > midi-score-follower
changeset 14:3f103cf78148
Checking to allow offline version
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Thu, 10 Nov 2011 17:29:45 +0000 |
parents | bba4a9da57f1 |
children | 9e972948d654 |
files | .DS_Store maxPatchToPlayFiles/playMidiTranscription.maxhelp src/BayesianArrayStructure.cpp src/BayesianArrayStructure.h src/CannamMidiFileLoader.cpp src/midiEventHolder.cpp src/midiEventHolder.h src/testApp.cpp workingNotes.rtf |
diffstat | 9 files changed, 1003 insertions(+), 940 deletions(-) [+] |
line wrap: on
line diff
--- a/maxPatchToPlayFiles/playMidiTranscription.maxhelp Thu Oct 27 21:30:42 2011 +0100 +++ b/maxPatchToPlayFiles/playMidiTranscription.maxhelp Thu Nov 10 17:29:45 2011 +0000 @@ -22,13 +22,13 @@ "box" : { "maxclass" : "newobj", "text" : "loadmess 1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 204.0, 548.0, 68.0, 19.0 ], "id" : "obj-3", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -36,14 +36,14 @@ "box" : { "maxclass" : "comment", "text" : "midi on/off", - "fontname" : "Verdana", "numoutlets" : 0, - "presentation_rect" : [ 268.0, 131.0, 66.0, 19.0 ], "fontsize" : 10.0, + "presentation_rect" : [ 150.0, 124.0, 66.0, 19.0 ], "patching_rect" : [ 289.0, 294.0, 150.0, 19.0 ], "presentation" : 1, "id" : "obj-8", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -53,14 +53,14 @@ "text" : "plays midi and accompanying audio too", "linecount" : 2, "presentation_linecount" : 2, - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 337.0, 464.0, 150.0, 31.0 ], - "fontsize" : 10.0, "patching_rect" : [ 337.0, 464.0, 150.0, 31.0 ], "presentation" : 1, "id" : "obj-6", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -69,7 +69,7 @@ "maxclass" : "toggle", "numoutlets" : 1, "outlettype" : [ "int" ], - "presentation_rect" : [ 243.0, 130.0, 20.0, 20.0 ], + "presentation_rect" : [ 125.0, 123.0, 20.0, 20.0 ], "patching_rect" : [ 12.0, 493.0, 20.0, 20.0 ], "presentation" : 1, "id" : "obj-4", @@ -81,13 +81,13 @@ "box" : { "maxclass" : "newobj", "text" : "gate", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 30.0, 510.0, 33.0, 19.0 ], "id" : "obj-1", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -95,14 +95,14 @@ "box" : { "maxclass" : "comment", "text" : "midi", - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 52.0, 420.0, 150.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 55.0, 428.0, 150.0, 19.0 ], "presentation" : 1, "id" : "obj-11", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -110,13 +110,13 @@ "box" : { "maxclass" : "newobj", "text" : "p noise", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 531.0, 562.0, 73.0, 19.0 ], "id" : "obj-9", "numinlets" : 5, + "fontname" : "Verdana", "patcher" : { "fileversion" : 1, "rect" : [ 0.0, 0.0, 640.0, 480.0 ], @@ -140,13 +140,13 @@ "box" : { "maxclass" : "newobj", "text" : "+ 1.", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 51.0, 236.0, 42.0, 19.0 ], "id" : "obj-97", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -154,26 +154,26 @@ "box" : { "maxclass" : "newobj", "text" : "* 0.05", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 200.0, 43.0, 19.0 ], "id" : "obj-96", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "float", "bang" ], "fontsize" : 10.0, "patching_rect" : [ 53.0, 163.0, 50.0, 19.0 ], "id" : "obj-91", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -192,13 +192,13 @@ "box" : { "maxclass" : "newobj", "text" : "snapshot~", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 53.0, 133.0, 64.0, 19.0 ], "id" : "obj-87", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -206,13 +206,13 @@ "box" : { "maxclass" : "newobj", "text" : "cycle~ 0.05", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "signal" ], "fontsize" : 10.0, "patching_rect" : [ 84.0, 108.0, 71.0, 19.0 ], "id" : "obj-86", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -290,8 +290,8 @@ ], "lines" : [ { "patchline" : { - "source" : [ "obj-97", 0 ], - "destination" : [ "obj-8", 0 ], + "source" : [ "obj-91", 0 ], + "destination" : [ "obj-96", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -299,8 +299,8 @@ } , { "patchline" : { - "source" : [ "obj-7", 0 ], - "destination" : [ "obj-86", 1 ], + "source" : [ "obj-87", 0 ], + "destination" : [ "obj-91", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -308,43 +308,7 @@ } , { "patchline" : { - "source" : [ "obj-6", 0 ], - "destination" : [ "obj-86", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-5", 0 ], - "destination" : [ "obj-97", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-4", 0 ], - "destination" : [ "obj-96", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-3", 0 ], - "destination" : [ "obj-89", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-86", 0 ], + "source" : [ "obj-89", 0 ], "destination" : [ "obj-87", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -362,7 +326,7 @@ } , { "patchline" : { - "source" : [ "obj-89", 0 ], + "source" : [ "obj-86", 0 ], "destination" : [ "obj-87", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -371,8 +335,8 @@ } , { "patchline" : { - "source" : [ "obj-87", 0 ], - "destination" : [ "obj-91", 0 ], + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-89", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -380,8 +344,44 @@ } , { "patchline" : { - "source" : [ "obj-91", 0 ], - "destination" : [ "obj-96", 0 ], + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-96", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-97", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-86", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-86", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-97", 0 ], + "destination" : [ "obj-8", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -391,13 +391,13 @@ } , "saved_object_attributes" : { - "fontname" : "Arial", - "default_fontsize" : 12.0, + "globalpatchername" : "", "fontface" : 0, "fontsize" : 12.0, "default_fontface" : 0, "default_fontname" : "Arial", - "globalpatchername" : "" + "fontname" : "Arial", + "default_fontsize" : 12.0 } } @@ -407,13 +407,13 @@ "box" : { "maxclass" : "newobj", "text" : "loadmess 1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 123.0, 815.0, 68.0, 19.0 ], "id" : "obj-138", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -421,31 +421,31 @@ "box" : { "maxclass" : "newobj", "text" : "prepend /setSpeedPrior", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 128.0, 383.0, 129.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 122.0, 877.0, 129.0, 19.0 ], "presentation" : 1, "id" : "obj-137", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "minimum" : 0.0, "outlettype" : [ "float", "bang" ], + "fontsize" : 10.0, "presentation_rect" : [ 133.0, 351.0, 50.0, 19.0 ], - "fontsize" : 10.0, - "minimum" : 0.0, "patching_rect" : [ 122.0, 838.0, 50.0, 19.0 ], "presentation" : 1, "id" : "obj-136", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -486,13 +486,13 @@ "box" : { "maxclass" : "message", "text" : "0", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 660.0, 329.0, 32.5, 17.0 ], "id" : "obj-128", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -500,13 +500,13 @@ "box" : { "maxclass" : "newobj", "text" : "gate", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 660.0, 282.0, 33.0, 19.0 ], "id" : "obj-126", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -514,13 +514,13 @@ "box" : { "maxclass" : "message", "text" : "1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 633.0, 226.0, 32.5, 17.0 ], "id" : "obj-125", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -528,13 +528,13 @@ "box" : { "maxclass" : "newobj", "text" : "loadbang", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "bang" ], "fontsize" : 10.0, "patching_rect" : [ 618.0, 190.0, 56.0, 19.0 ], "id" : "obj-123", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -542,13 +542,13 @@ "box" : { "maxclass" : "newobj", "text" : "p otherFtmControls", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 19.0, 88.0, 108.0, 19.0 ], "id" : "obj-115", "numinlets" : 0, + "fontname" : "Verdana", "patcher" : { "fileversion" : 1, "rect" : [ 0.0, 0.0, 640.0, 480.0 ], @@ -574,14 +574,14 @@ "text" : "ordinary file following (x) or else one shot test", "linecount" : 2, "presentation_linecount" : 2, - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 52.0, 186.0, 156.0, 31.0 ], - "fontsize" : 10.0, "patching_rect" : [ 87.0, 206.0, 153.0, 31.0 ], "presentation" : 1, "id" : "obj-111", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -589,33 +589,33 @@ "box" : { "maxclass" : "comment", "text" : "set speed", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 362.0, 263.0, 57.0, 19.0 ], "id" : "obj-3", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "ftm.mess", - "fontname" : "Verdana", + "#init" : "", "numoutlets" : 1, + "ftm_scope" : 1, + "outlettype" : [ "" ], + "fontsize" : 10.0, + "text" : [ "_loop 500 1500 1." ], "#loadbang" : 0, - "outlettype" : [ "" ], + "#untuple" : 0, "presentation_rect" : [ 216.0, 166.0, 92.157234, 17.0 ], "#triggerall" : 0, - "text" : [ "_loop 500 1500 1." ], - "fontsize" : 10.0, "ftm_objref_conv" : 0, "patching_rect" : [ 216.0, 166.0, 92.157234, 17.0 ], "id" : "obj-4", - "#init" : "", - "ftm_scope" : 1, "numinlets" : 2, - "#untuple" : 0 + "fontname" : "Verdana" } } @@ -623,33 +623,33 @@ "box" : { "maxclass" : "comment", "text" : "set segment (begin, end and speed) and loop", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 306.0, 167.0, 240.0, 19.0 ], "id" : "obj-5", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "ftm.mess", - "fontname" : "Verdana", + "#init" : "", "numoutlets" : 1, + "ftm_scope" : 0, + "outlettype" : [ "" ], + "fontsize" : 10.0, + "text" : [ "_play $play.seq 500 1500 1." ], "#loadbang" : 0, - "outlettype" : [ "" ], + "#untuple" : 0, "presentation_rect" : [ 216.0, 146.0, 142.66507, 17.0 ], "#triggerall" : 0, - "text" : [ "_play $play.seq 500 1500 1." ], - "fontsize" : 10.0, "ftm_objref_conv" : 0, "patching_rect" : [ 216.0, 146.0, 142.66507, 17.0 ], "id" : "obj-6", - "#init" : "", - "ftm_scope" : 0, "numinlets" : 2, - "#untuple" : 0 + "fontname" : "Verdana" } } @@ -657,12 +657,12 @@ "box" : { "maxclass" : "comment", "text" : "set segment (track, begin, end and speed) and play", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 370.0, 147.0, 272.0, 19.0 ], "id" : "obj-7", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -670,25 +670,25 @@ "box" : { "maxclass" : "comment", "text" : "advance to next time", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 88.0, 258.0, 115.0, 19.0 ], "id" : "obj-8", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "slider", + "orientation" : 1, "numoutlets" : 1, "outlettype" : [ "" ], + "size" : 1001.0, "patching_rect" : [ 162.0, 238.0, 169.0, 15.0 ], - "size" : 1001.0, "id" : "obj-9", "numinlets" : 1, - "orientation" : 1, "mult" : 10.0 } @@ -697,12 +697,12 @@ "box" : { "maxclass" : "comment", "text" : "locate or jump at given time", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 114.0, 121.0, 151.0, 19.0 ], "id" : "obj-10", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -710,13 +710,13 @@ "box" : { "maxclass" : "message", "text" : "next", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 257.0, 33.0, 17.0 ], "id" : "obj-11", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -724,13 +724,13 @@ "box" : { "maxclass" : "message", "text" : "jump 300.", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 119.0, 62.0, 17.0 ], "id" : "obj-12", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -738,12 +738,12 @@ "box" : { "maxclass" : "comment", "text" : "set speed by giving a duration for the current segment", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 336.0, 281.0, 285.0, 19.0 ], "id" : "obj-23", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -751,12 +751,12 @@ "box" : { "maxclass" : "comment", "text" : "set segment (only begin and end) and play straight", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 354.0, 120.0, 270.0, 19.0 ], "id" : "obj-24", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -764,12 +764,12 @@ "box" : { "maxclass" : "comment", "text" : "play current segment", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 86.0, 147.0, 116.0, 19.0 ], "id" : "obj-25", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -777,50 +777,50 @@ "box" : { "maxclass" : "message", "text" : "speed 0.5", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 299.0, 262.0, 58.0, 17.0 ], "id" : "obj-26", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "ftm.mess", - "fontname" : "Verdana", + "#init" : "", "numoutlets" : 1, + "ftm_scope" : 0, + "outlettype" : [ "" ], + "fontsize" : 10.0, + "text" : [ "_set 0 9999999" ], "#loadbang" : 0, - "outlettype" : [ "" ], + "#untuple" : 0, "presentation_rect" : [ 274.0, 119.0, 78.998055, 17.0 ], "#triggerall" : 0, - "text" : [ "_set 0 9999999" ], - "fontsize" : 10.0, "ftm_objref_conv" : 0, "patching_rect" : [ 274.0, 119.0, 78.998055, 17.0 ], "id" : "obj-27", - "#init" : "", - "ftm_scope" : 0, "numinlets" : 2, - "#untuple" : 0 + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "fontsize" : 10.0, "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "outlettype" : [ "float", "bang" ], - "fontsize" : 10.0, "patching_rect" : [ 104.0, 238.0, 56.0, 19.0 ], + "triscale" : 0.9, "id" : "obj-28", - "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], "numinlets" : 1, - "triscale" : 0.9 + "fontname" : "Verdana" } } @@ -828,13 +828,13 @@ "box" : { "maxclass" : "message", "text" : "duration 1000", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 252.0, 281.0, 79.0, 17.0 ], "id" : "obj-29", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -842,13 +842,13 @@ "box" : { "maxclass" : "message", "text" : "speed 2.", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 252.0, 262.0, 52.0, 17.0 ], "id" : "obj-30", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -856,13 +856,13 @@ "box" : { "maxclass" : "message", "text" : "pause", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 192.0, 40.0, 17.0 ], "id" : "obj-31", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -870,13 +870,13 @@ "box" : { "maxclass" : "message", "text" : "locate 300.", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 100.0, 67.0, 17.0 ], "id" : "obj-32", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -884,34 +884,34 @@ "box" : { "maxclass" : "message", "text" : "sync $1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 238.0, 49.0, 17.0 ], "id" : "obj-33", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "ftm.mess", - "fontname" : "Verdana", + "#init" : "", "numoutlets" : 1, + "ftm_scope" : 0, + "outlettype" : [ "" ], + "fontsize" : 10.0, + "text" : [ "_set $play.seq 500 1500 1." ], "#loadbang" : 0, - "outlettype" : [ "" ], + "#untuple" : 0, "presentation_rect" : [ 274.0, 100.0, 136.952179, 17.0 ], "#triggerall" : 0, - "text" : [ "_set $play.seq 500 1500 1." ], - "fontsize" : 10.0, "ftm_objref_conv" : 0, "patching_rect" : [ 274.0, 100.0, 136.952179, 17.0 ], "id" : "obj-40", - "#init" : "", - "ftm_scope" : 0, "numinlets" : 2, - "#untuple" : 0 + "fontname" : "Verdana" } } @@ -919,13 +919,13 @@ "box" : { "maxclass" : "message", "text" : "loop", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 50.0, 165.0, 32.5, 17.0 ], "id" : "obj-41", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -944,12 +944,12 @@ "box" : { "maxclass" : "comment", "text" : "advance to gven time (output all events on the way)", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 326.0, 238.0, 274.0, 19.0 ], "id" : "obj-54", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -957,12 +957,12 @@ "box" : { "maxclass" : "comment", "text" : "locate halted at given time", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 119.0, 101.0, 143.0, 19.0 ], "id" : "obj-55", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -970,12 +970,12 @@ "box" : { "maxclass" : "comment", "text" : "loop current segment", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 85.0, 166.0, 116.0, 19.0 ], "id" : "obj-57", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -983,12 +983,12 @@ "box" : { "maxclass" : "comment", "text" : "stop playing and reset", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 86.0, 212.0, 121.0, 19.0 ], "id" : "obj-58", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -996,12 +996,12 @@ "box" : { "maxclass" : "comment", "text" : "halt playing", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 93.0, 193.0, 67.0, 19.0 ], "id" : "obj-59", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1009,12 +1009,12 @@ "box" : { "maxclass" : "comment", "text" : "play current segment straight", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 67.0, 292.0, 158.0, 19.0 ], "id" : "obj-60", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1023,12 +1023,12 @@ "maxclass" : "comment", "text" : "note that setting a new track stops and resets the player (play and loop start from beginning)", "linecount" : 2, - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 277.0, 196.0, 266.0, 31.0 ], "id" : "obj-62", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1046,25 +1046,106 @@ ], "lines" : [ { "patchline" : { - "source" : [ "obj-9", 0 ], - "destination" : [ "obj-28", 0 ], - "hidden" : 1, + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { - "source" : [ "obj-28", 0 ], - "destination" : [ "obj-33", 0 ], - "hidden" : 1, + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { - "source" : [ "obj-32", 0 ], + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-114", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-41", 0 ], "destination" : [ "obj-114", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -1082,7 +1163,7 @@ } , { "patchline" : { - "source" : [ "obj-41", 0 ], + "source" : [ "obj-32", 0 ], "destination" : [ "obj-114", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -1091,99 +1172,18 @@ } , { "patchline" : { - "source" : [ "obj-31", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-33", 0 ], + "hidden" : 1, "midpoints" : [ ] } } , { "patchline" : { - "source" : [ "obj-33", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-11", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-50", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-6", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-4", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-30", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-29", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-40", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-27", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-26", 0 ], - "destination" : [ "obj-114", 0 ], - "hidden" : 0, + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 1, "midpoints" : [ ] } @@ -1192,13 +1192,13 @@ } , "saved_object_attributes" : { - "fontname" : "Arial", - "default_fontsize" : 12.0, + "globalpatchername" : "", "fontface" : 0, "fontsize" : 12.0, "default_fontface" : 0, "default_fontname" : "Arial", - "globalpatchername" : "" + "fontname" : "Arial", + "default_fontsize" : 12.0 } } @@ -1208,15 +1208,15 @@ "box" : { "maxclass" : "message", "text" : "open", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], - "presentation_rect" : [ 200.0, 172.0, 35.0, 17.0 ], "fontsize" : 10.0, + "presentation_rect" : [ 65.0, 156.0, 35.0, 17.0 ], "patching_rect" : [ 320.0, 23.0, 35.0, 17.0 ], "presentation" : 1, "id" : "obj-113", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1224,13 +1224,13 @@ "box" : { "maxclass" : "message", "text" : "0", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 281.0, 23.0, 32.5, 17.0 ], "id" : "obj-110", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1238,15 +1238,15 @@ "box" : { "maxclass" : "message", "text" : "1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], - "presentation_rect" : [ 199.0, 132.0, 32.5, 17.0 ], "fontsize" : 10.0, + "presentation_rect" : [ 26.0, 156.0, 32.5, 17.0 ], "patching_rect" : [ 240.0, 23.0, 32.5, 17.0 ], "presentation" : 1, "id" : "obj-105", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1254,13 +1254,13 @@ "box" : { "maxclass" : "newobj", "text" : "sfplay~ 2", - "fontname" : "Verdana", "numoutlets" : 3, "outlettype" : [ "signal", "signal", "bang" ], "fontsize" : 10.0, "patching_rect" : [ 230.0, 46.0, 58.0, 19.0 ], "id" : "obj-65", "numinlets" : 2, + "fontname" : "Verdana", "save" : [ "#N", "sfplay~", "", 2, 120960, 0, "", ";" ] } @@ -1270,7 +1270,7 @@ "maxclass" : "toggle", "numoutlets" : 1, "outlettype" : [ "int" ], - "presentation_rect" : [ 21.0, 186.0, 20.0, 20.0 ], + "presentation_rect" : [ 126.0, 152.0, 20.0, 20.0 ], "patching_rect" : [ 198.0, 688.0, 20.0, 20.0 ], "presentation" : 1, "id" : "obj-109", @@ -1294,15 +1294,15 @@ "box" : { "maxclass" : "message", "text" : "60 100", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], - "presentation_rect" : [ 24.0, 152.0, 46.0, 17.0 ], "fontsize" : 10.0, + "presentation_rect" : [ 404.0, 292.0, 46.0, 17.0 ], "patching_rect" : [ 50.0, 751.0, 46.0, 17.0 ], "presentation" : 1, "id" : "obj-106", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1334,13 +1334,13 @@ "box" : { "maxclass" : "message", "text" : "0", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 167.0, 719.0, 32.5, 17.0 ], "id" : "obj-103", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1348,13 +1348,13 @@ "box" : { "maxclass" : "newobj", "text" : "gate", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 169.0, 776.0, 33.0, 19.0 ], "id" : "obj-100", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1363,7 +1363,7 @@ "maxclass" : "toggle", "numoutlets" : 1, "outlettype" : [ "int" ], - "presentation_rect" : [ 162.0, 21.0, 20.0, 20.0 ], + "presentation_rect" : [ 153.0, 23.0, 20.0, 20.0 ], "patching_rect" : [ 173.0, 745.0, 21.0, 21.0 ], "presentation" : 1, "id" : "obj-90", @@ -1375,13 +1375,13 @@ "box" : { "maxclass" : "newobj", "text" : "zl slice 1", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "", "" ], "fontsize" : 10.0, "patching_rect" : [ 90.0, 562.0, 54.0, 19.0 ], "id" : "obj-82", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1389,14 +1389,14 @@ "box" : { "maxclass" : "comment", "text" : "freq", - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 407.0, 70.0, 43.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 684.0, 537.0, 43.0, 19.0 ], "presentation" : 1, "id" : "obj-101", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1404,28 +1404,28 @@ "box" : { "maxclass" : "newobj", "text" : "loadmess 0.05", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 633.0, 503.0, 84.0, 19.0 ], "id" : "obj-98", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "float", "bang" ], + "fontsize" : 10.0, "presentation_rect" : [ 350.0, 70.0, 50.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 626.0, 537.0, 50.0, 19.0 ], "presentation" : 1, "id" : "obj-92", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1433,13 +1433,13 @@ "box" : { "maxclass" : "newobj", "text" : "loadmess 0.05", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 543.0, 502.0, 84.0, 19.0 ], "id" : "obj-88", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1447,44 +1447,44 @@ "box" : { "maxclass" : "comment", "text" : "noise range", - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 406.0, 45.0, 73.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 476.0, 528.0, 98.0, 19.0 ], "presentation" : 1, "id" : "obj-84", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "float", "bang" ], + "fontsize" : 10.0, "presentation_rect" : [ 350.0, 45.0, 50.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 544.0, 527.0, 50.0, 19.0 ], "presentation" : 1, "id" : "obj-81", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "float", "bang" ], + "fontsize" : 12.0, "presentation_rect" : [ 270.0, 54.0, 57.0, 21.0 ], - "fontsize" : 12.0, "patching_rect" : [ 530.0, 667.0, 57.0, 21.0 ], "presentation" : 1, "id" : "obj-99", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1497,8 +1497,8 @@ "patching_rect" : [ 135.0, 619.0, 45.0, 45.0 ], "presentation" : 1, "id" : "obj-94", - "local" : 1, - "numinlets" : 2 + "numinlets" : 2, + "local" : 1 } } @@ -1507,10 +1507,10 @@ "maxclass" : "panel", "varname" : "startwinwdow_panel", "numoutlets" : 0, + "bordercolor" : [ 0.392157, 0.792157, 0.117647, 1.0 ], + "border" : 2, + "presentation_rect" : [ 13.0, 120.0, 205.0, 57.0 ], "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], - "border" : 2, - "bordercolor" : [ 0.392157, 0.792157, 0.117647, 1.0 ], - "presentation_rect" : [ 19.0, 123.0, 100.0, 55.0 ], "patching_rect" : [ 87.0, 614.0, 100.0, 55.0 ], "presentation" : 1, "id" : "obj-95", @@ -1535,15 +1535,15 @@ "box" : { "maxclass" : "message", "text" : "59 100 18600.072266", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], - "presentation_rect" : [ 20.0, 239.0, 196.0, 17.0 ], "fontsize" : 10.0, + "presentation_rect" : [ 17.0, 181.0, 196.0, 17.0 ], "patching_rect" : [ 256.0, 729.0, 196.0, 17.0 ], "presentation" : 1, "id" : "obj-85", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1551,13 +1551,13 @@ "box" : { "maxclass" : "newobj", "text" : "zl join", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "", "" ], "fontsize" : 10.0, "patching_rect" : [ 247.0, 675.0, 41.0, 19.0 ], "id" : "obj-83", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1565,13 +1565,13 @@ "box" : { "maxclass" : "newobj", "text" : "- 0.", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 261.0, 644.0, 32.5, 19.0 ], "id" : "obj-80", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1579,13 +1579,13 @@ "box" : { "maxclass" : "newobj", "text" : "t l b", - "fontname" : "Verdana", "numoutlets" : 2, "outlettype" : [ "", "bang" ], "fontsize" : 10.0, "patching_rect" : [ 247.0, 586.0, 32.5, 19.0 ], "id" : "obj-79", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1593,13 +1593,13 @@ "box" : { "maxclass" : "newobj", "text" : "cpuclock", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 328.0, 615.0, 53.0, 19.0 ], "id" : "obj-78", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1607,13 +1607,13 @@ "box" : { "maxclass" : "newobj", "text" : "cpuclock", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "float" ], "fontsize" : 10.0, "patching_rect" : [ 261.0, 614.0, 53.0, 19.0 ], "id" : "obj-76", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1632,13 +1632,13 @@ "box" : { "maxclass" : "message", "text" : "/stopplaying", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 614.0, 378.0, 73.0, 17.0 ], "id" : "obj-72", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1657,13 +1657,13 @@ "box" : { "maxclass" : "message", "text" : "/startplaying", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 365.0, 551.0, 75.0, 17.0 ], "id" : "obj-63", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1671,13 +1671,13 @@ "box" : { "maxclass" : "newobj", "text" : "prepend /midinoteon", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 352.0, 837.0, 116.0, 19.0 ], "id" : "obj-69", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1685,12 +1685,12 @@ "box" : { "maxclass" : "newobj", "text" : "udpsend 127.0.0.1 12121", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 353.0, 860.0, 141.0, 19.0 ], "id" : "obj-68", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1698,15 +1698,15 @@ "box" : { "maxclass" : "message", "text" : "59 100", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 455.0, 97.0, 50.0, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 97.0, 591.0, 50.0, 17.0 ], "presentation" : 1, "id" : "obj-67", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1714,12 +1714,12 @@ "box" : { "maxclass" : "comment", "text" : "syntax:", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 282.0, 382.0, 46.0, 19.0 ], "id" : "obj-2", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1728,12 +1728,12 @@ "maxclass" : "comment", "text" : "kill hanging notes when looping", "hidden" : 1, - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 215.0, 417.0, 168.0, 19.0 ], "id" : "obj-13", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1741,21 +1741,21 @@ "box" : { "maxclass" : "ftm.object", "text" : "sequence midi", - "fontname" : "Verdana", + "name" : "play.seq", + "editor_interface" : "matrix", + "description" : "sequence midi", "numoutlets" : 2, + "ftm_scope" : 0, + "outlettype" : [ "", "" ], + "fontsize" : 12.0, + "presentation_rect" : [ 369.0, 807.0, 161.785156, 20.0 ], "scope" : 0, - "description" : "sequence midi", - "outlettype" : [ "", "" ], - "presentation_rect" : [ 369.0, 807.0, 161.785156, 20.0 ], + "ftm_objref_conv" : 0, + "patching_rect" : [ 369.0, 807.0, 161.785156, 20.0 ], "persistence" : 0, - "fontsize" : 12.0, - "ftm_objref_conv" : 0, - "editor_interface" : "matrix", - "patching_rect" : [ 369.0, 807.0, 161.785156, 20.0 ], "id" : "obj-14", - "ftm_scope" : 0, - "name" : "play.seq", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1763,15 +1763,15 @@ "box" : { "maxclass" : "message", "text" : "import", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 15.0, 57.0, 43.0, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 369.0, 779.0, 43.0, 17.0 ], "presentation" : 1, "id" : "obj-15", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1779,14 +1779,14 @@ "box" : { "maxclass" : "comment", "text" : "import MIDI file", - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 60.0, 56.0, 90.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 414.0, 778.0, 90.0, 19.0 ], "presentation" : 1, "id" : "obj-16", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1794,12 +1794,12 @@ "box" : { "maxclass" : "comment", "text" : "play an FTM track", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 61.0, 57.0, 98.0, 19.0 ], "id" : "obj-17", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1807,12 +1807,12 @@ "box" : { "maxclass" : "comment", "text" : "ftm.play", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 24.0, "patching_rect" : [ 55.0, 24.0, 108.0, 36.0 ], "id" : "obj-18", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1820,12 +1820,12 @@ "box" : { "maxclass" : "comment", "text" : "FTM basic objects", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 49.0, 12.0, 97.0, 19.0 ], "id" : "obj-19", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1844,12 +1844,12 @@ "box" : { "maxclass" : "comment", "text" : "set segment end", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 357.0, 334.0, 93.0, 19.0 ], "id" : "obj-21", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1857,14 +1857,14 @@ "box" : { "maxclass" : "comment", "text" : "set speed", - "fontname" : "Verdana", "numoutlets" : 0, + "fontsize" : 10.0, "presentation_rect" : [ 110.0, 85.0, 59.0, 19.0 ], - "fontsize" : 10.0, "patching_rect" : [ 671.0, 447.0, 59.0, 19.0 ], "presentation" : 1, "id" : "obj-22", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -1873,26 +1873,26 @@ "maxclass" : "newobj", "text" : "change 0 -", "hidden" : 1, - "fontname" : "Verdana", "numoutlets" : 3, "outlettype" : [ "", "int", "int" ], "fontsize" : 10.0, "patching_rect" : [ 48.0, 418.0, 62.0, 19.0 ], "id" : "obj-34", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "slider", + "orientation" : 1, "numoutlets" : 1, "outlettype" : [ "" ], + "size" : 1001.0, "patching_rect" : [ 186.0, 334.0, 169.0, 15.0 ], - "size" : 1001.0, "id" : "obj-35", "numinlets" : 1, - "orientation" : 1, "mult" : 10.0 } @@ -1900,13 +1900,13 @@ , { "box" : { "maxclass" : "slider", + "orientation" : 1, "numoutlets" : 1, "outlettype" : [ "" ], + "size" : 1001.0, "patching_rect" : [ 111.0, 314.0, 169.0, 15.0 ], - "size" : 1001.0, "id" : "obj-36", "numinlets" : 1, - "orientation" : 1, "mult" : 10.0 } @@ -1915,15 +1915,15 @@ "box" : { "maxclass" : "message", "text" : "GM", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 127.0, 442.0, 32.5, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 127.0, 442.0, 32.5, 17.0 ], "presentation" : 1, "id" : "obj-37", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1931,15 +1931,15 @@ "box" : { "maxclass" : "message", "text" : "panic", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 85.0, 442.0, 37.0, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 85.0, 442.0, 37.0, 17.0 ], "presentation" : 1, "id" : "obj-38", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -1947,47 +1947,47 @@ "box" : { "maxclass" : "message", "text" : "off", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 48.0, 442.0, 32.5, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 48.0, 442.0, 32.5, 17.0 ], "presentation" : 1, "id" : "obj-39", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "fontsize" : 10.0, "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "outlettype" : [ "float", "bang" ], - "fontsize" : 10.0, "patching_rect" : [ 186.0, 357.0, 55.0, 19.0 ], + "triscale" : 0.9, "id" : "obj-42", - "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], "numinlets" : 1, - "triscale" : 0.9 + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "fontsize" : 10.0, "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "outlettype" : [ "float", "bang" ], - "fontsize" : 10.0, "patching_rect" : [ 111.0, 357.0, 55.0, 19.0 ], + "triscale" : 0.9, "id" : "obj-43", - "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], "numinlets" : 1, - "triscale" : 0.9 + "fontname" : "Verdana" } } @@ -1995,12 +1995,12 @@ "box" : { "maxclass" : "newobj", "text" : "midiout", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 36.0, 538.0, 48.0, 19.0 ], "id" : "obj-44", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -2008,16 +2008,16 @@ "box" : { "maxclass" : "newobj", "text" : "ftm.midiunparse", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], "fontsize" : 10.0, "patching_rect" : [ 36.0, 463.0, 93.0, 19.0 ], "id" : "obj-45", "numinlets" : 1, + "fontname" : "Verdana", "saved_object_attributes" : { - "ftm_objref_conv" : 0, - "ftm_scope" : 0 + "ftm_scope" : 0, + "ftm_objref_conv" : 0 } } @@ -2027,15 +2027,15 @@ "box" : { "maxclass" : "message", "text" : "play", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 18.0, "presentation_rect" : [ 25.0, 17.0, 52.0, 26.0 ], - "fontsize" : 18.0, "patching_rect" : [ 424.0, 52.0, 52.0, 26.0 ], "presentation" : 1, "id" : "obj-46", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -2043,35 +2043,35 @@ "box" : { "maxclass" : "message", "text" : "1", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 10.0, "presentation_rect" : [ 76.0, 85.0, 32.5, 17.0 ], - "fontsize" : 10.0, "patching_rect" : [ 635.0, 447.0, 32.5, 17.0 ], "presentation" : 1, "id" : "obj-47", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "minimum" : 0.2, + "outlettype" : [ "float", "bang" ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "fontsize" : 10.0, "maximum" : 4.0, + "presentation_rect" : [ 16.0, 85.0, 47.0, 19.0 ], "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "outlettype" : [ "float", "bang" ], - "presentation_rect" : [ 16.0, 85.0, 47.0, 19.0 ], - "fontsize" : 10.0, - "minimum" : 0.2, "patching_rect" : [ 637.0, 470.0, 41.0, 19.0 ], + "triscale" : 0.9, "presentation" : 1, "id" : "obj-48", - "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], "numinlets" : 1, - "triscale" : 0.9 + "fontname" : "Verdana" } } @@ -2079,15 +2079,15 @@ "box" : { "maxclass" : "message", "text" : "stop", - "fontname" : "Verdana", "numoutlets" : 1, "outlettype" : [ "" ], + "fontsize" : 18.0, "presentation_rect" : [ 93.0, 19.0, 51.0, 26.0 ], - "fontsize" : 18.0, "patching_rect" : [ 539.0, 55.0, 51.0, 26.0 ], "presentation" : 1, "id" : "obj-49", - "numinlets" : 2 + "numinlets" : 2, + "fontname" : "Verdana" } } @@ -2105,16 +2105,16 @@ , { "box" : { "maxclass" : "flonum", - "fontname" : "Verdana", "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "fontsize" : 10.0, "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "outlettype" : [ "float", "bang" ], - "fontsize" : 10.0, "patching_rect" : [ 149.0, 418.0, 55.0, 19.0 ], + "triscale" : 0.9, "id" : "obj-52", - "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], "numinlets" : 1, - "triscale" : 0.9 + "fontname" : "Verdana" } } @@ -2122,16 +2122,16 @@ "box" : { "maxclass" : "newobj", "text" : "ftm.play $play.seq", - "fontname" : "Verdana", "numoutlets" : 3, "outlettype" : [ "", "", "" ], "fontsize" : 18.0, "patching_rect" : [ 36.0, 380.0, 244.0, 28.0 ], "id" : "obj-53", "numinlets" : 4, + "fontname" : "Verdana", "saved_object_attributes" : { - "ftm_objref_conv" : 0, - "ftm_scope" : 2 + "ftm_scope" : 2, + "ftm_objref_conv" : 0 } } @@ -2141,12 +2141,12 @@ "box" : { "maxclass" : "comment", "text" : "set segment (track, begin, end and speed)", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 402.0, 91.0, 226.0, 19.0 ], "id" : "obj-56", - "numinlets" : 1 + "numinlets" : 1, + "fontname" : "Verdana" } } @@ -2154,11 +2154,27 @@ "box" : { "maxclass" : "comment", "text" : "set segment beginning", - "fontname" : "Verdana", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 282.0, 314.0, 123.0, 19.0 ], "id" : "obj-61", + "numinlets" : 1, + "fontname" : "Verdana" + } + + } +, { + "box" : { + "maxclass" : "panel", + "varname" : "startwinwdow_panel[1]", + "numoutlets" : 0, + "bordercolor" : [ 0.392157, 0.792157, 0.117647, 1.0 ], + "border" : 2, + "presentation_rect" : [ 13.0, 13.0, 167.0, 98.0 ], + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "patching_rect" : [ 102.0, 629.0, 100.0, 55.0 ], + "presentation" : 1, + "id" : "obj-5", "numinlets" : 1 } @@ -2166,8 +2182,278 @@ ], "lines" : [ { "patchline" : { - "source" : [ "obj-3", 0 ], - "destination" : [ "obj-109", 0 ], + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-44", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-1", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-65", 1 ], + "destination" : [ "obj-94", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-65", 0 ], + "destination" : [ "obj-94", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-110", 0 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-105", 0 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-113", 0 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-70", 0 ], + "destination" : [ "obj-105", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 1 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 0 ], + "destination" : [ "obj-9", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 0 ], + "destination" : [ "obj-9", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-93", 0 ], + "destination" : [ "obj-9", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-92", 0 ], + "destination" : [ "obj-9", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-107", 1 ], + "destination" : [ "obj-69", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 0 ], + "destination" : [ "obj-83", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-109", 0 ], + "destination" : [ "obj-107", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-107", 0 ], + "destination" : [ "obj-100", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-83", 0 ], + "destination" : [ "obj-107", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-104", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-104", 0 ], + "destination" : [ "obj-106", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-103", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-103", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-100", 0 ], + "destination" : [ "obj-69", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-90", 0 ], + "destination" : [ "obj-100", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-82", 1 ], + "destination" : [ "obj-67", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-82", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-98", 0 ], + "destination" : [ "obj-92", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-88", 0 ], + "destination" : [ "obj-81", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-71", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-68", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2176,7 +2462,7 @@ , { "patchline" : { "source" : [ "obj-71", 0 ], - "destination" : [ "obj-110", 0 ], + "destination" : [ "obj-72", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2184,34 +2470,7 @@ } , { "patchline" : { - "source" : [ "obj-106", 0 ], - "destination" : [ "obj-79", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-82", 1 ], - "destination" : [ "obj-79", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-136", 0 ], - "destination" : [ "obj-137", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-137", 0 ], + "source" : [ "obj-63", 0 ], "destination" : [ "obj-68", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -2220,8 +2479,8 @@ } , { "patchline" : { - "source" : [ "obj-138", 0 ], - "destination" : [ "obj-136", 0 ], + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-70", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2229,8 +2488,8 @@ } , { "patchline" : { - "source" : [ "obj-134", 0 ], - "destination" : [ "obj-78", 0 ], + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-14", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2238,8 +2497,8 @@ } , { "patchline" : { - "source" : [ "obj-63", 0 ], - "destination" : [ "obj-134", 0 ], + "source" : [ "obj-53", 2 ], + "destination" : [ "obj-51", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2247,8 +2506,17 @@ } , { "patchline" : { - "source" : [ "obj-130", 0 ], - "destination" : [ "obj-63", 0 ], + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-42", 0 ], + "destination" : [ "obj-53", 2 ], "hidden" : 0, "midpoints" : [ ] } @@ -2256,8 +2524,8 @@ } , { "patchline" : { - "source" : [ "obj-71", 0 ], - "destination" : [ "obj-125", 0 ], + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-42", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2265,8 +2533,8 @@ } , { "patchline" : { - "source" : [ "obj-82", 1 ], - "destination" : [ "obj-126", 1 ], + "source" : [ "obj-53", 1 ], + "destination" : [ "obj-52", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2274,8 +2542,8 @@ } , { "patchline" : { - "source" : [ "obj-125", 0 ], - "destination" : [ "obj-132", 0 ], + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-53", 1 ], "hidden" : 0, "midpoints" : [ ] } @@ -2283,17 +2551,8 @@ } , { "patchline" : { - "source" : [ "obj-128", 0 ], - "destination" : [ "obj-132", 0 ], - "hidden" : 0, - "midpoints" : [ 669.5, 343.0, 669.5, 354.0, 651.0, 354.0, 651.0, 245.0, 671.5, 245.0 ] - } - - } -, { - "patchline" : { - "source" : [ "obj-130", 0 ], - "destination" : [ "obj-128", 0 ], + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-43", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2301,8 +2560,26 @@ } , { "patchline" : { - "source" : [ "obj-126", 0 ], - "destination" : [ "obj-130", 0 ], + "source" : [ "obj-34", 0 ], + "destination" : [ "obj-39", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-52", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-45", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2310,133 +2587,7 @@ } , { "patchline" : { - "source" : [ "obj-132", 0 ], - "destination" : [ "obj-126", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-123", 0 ], - "destination" : [ "obj-125", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-115", 0 ], - "destination" : [ "obj-53", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-102", 0 ], - "destination" : [ "obj-90", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-100", 0 ], - "destination" : [ "obj-102", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-99", 0 ], - "destination" : [ "obj-53", 3 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-83", 0 ], - "destination" : [ "obj-85", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-80", 0 ], - "destination" : [ "obj-83", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-76", 0 ], - "destination" : [ "obj-80", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-78", 0 ], - "destination" : [ "obj-80", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-79", 1 ], - "destination" : [ "obj-76", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-69", 0 ], - "destination" : [ "obj-68", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-49", 0 ], - "destination" : [ "obj-53", 0 ], - "hidden" : 1, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-46", 0 ], - "destination" : [ "obj-53", 0 ], - "hidden" : 1, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-37", 0 ], + "source" : [ "obj-39", 0 ], "destination" : [ "obj-45", 0 ], "hidden" : 1, "midpoints" : [ ] @@ -2454,7 +2605,7 @@ } , { "patchline" : { - "source" : [ "obj-39", 0 ], + "source" : [ "obj-37", 0 ], "destination" : [ "obj-45", 0 ], "hidden" : 1, "midpoints" : [ ] @@ -2463,8 +2614,26 @@ } , { "patchline" : { - "source" : [ "obj-53", 0 ], - "destination" : [ "obj-45", 0 ], + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-69", 0 ], + "destination" : [ "obj-68", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2472,26 +2641,8 @@ } , { "patchline" : { - "source" : [ "obj-52", 0 ], - "destination" : [ "obj-34", 0 ], - "hidden" : 1, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-34", 0 ], - "destination" : [ "obj-39", 0 ], - "hidden" : 1, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-36", 0 ], - "destination" : [ "obj-43", 0 ], + "source" : [ "obj-79", 1 ], + "destination" : [ "obj-76", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2499,8 +2650,8 @@ } , { "patchline" : { - "source" : [ "obj-43", 0 ], - "destination" : [ "obj-53", 1 ], + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-80", 1 ], "hidden" : 0, "midpoints" : [ ] } @@ -2508,8 +2659,8 @@ } , { "patchline" : { - "source" : [ "obj-53", 1 ], - "destination" : [ "obj-52", 0 ], + "source" : [ "obj-76", 0 ], + "destination" : [ "obj-80", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2517,8 +2668,8 @@ } , { "patchline" : { - "source" : [ "obj-35", 0 ], - "destination" : [ "obj-42", 0 ], + "source" : [ "obj-80", 0 ], + "destination" : [ "obj-83", 1 ], "hidden" : 0, "midpoints" : [ ] } @@ -2526,8 +2677,8 @@ } , { "patchline" : { - "source" : [ "obj-42", 0 ], - "destination" : [ "obj-53", 2 ], + "source" : [ "obj-83", 0 ], + "destination" : [ "obj-85", 1 ], "hidden" : 0, "midpoints" : [ ] } @@ -2535,17 +2686,8 @@ } , { "patchline" : { - "source" : [ "obj-47", 0 ], - "destination" : [ "obj-48", 0 ], - "hidden" : 1, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-53", 2 ], - "destination" : [ "obj-51", 0 ], + "source" : [ "obj-99", 0 ], + "destination" : [ "obj-53", 3 ], "hidden" : 0, "midpoints" : [ ] } @@ -2553,8 +2695,8 @@ } , { "patchline" : { - "source" : [ "obj-15", 0 ], - "destination" : [ "obj-14", 0 ], + "source" : [ "obj-100", 0 ], + "destination" : [ "obj-102", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2562,8 +2704,98 @@ } , { "patchline" : { - "source" : [ "obj-46", 0 ], - "destination" : [ "obj-70", 0 ], + "source" : [ "obj-102", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-115", 0 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-123", 0 ], + "destination" : [ "obj-125", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-132", 0 ], + "destination" : [ "obj-126", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-126", 0 ], + "destination" : [ "obj-130", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-130", 0 ], + "destination" : [ "obj-128", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-128", 0 ], + "destination" : [ "obj-132", 0 ], + "hidden" : 0, + "midpoints" : [ 669.5, 343.0, 669.5, 354.0, 651.0, 354.0, 651.0, 245.0, 671.5, 245.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-132", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-82", 1 ], + "destination" : [ "obj-126", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-125", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-130", 0 ], + "destination" : [ "obj-63", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2572,6 +2804,33 @@ , { "patchline" : { "source" : [ "obj-63", 0 ], + "destination" : [ "obj-134", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-134", 0 ], + "destination" : [ "obj-78", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-138", 0 ], + "destination" : [ "obj-136", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-137", 0 ], "destination" : [ "obj-68", 0 ], "hidden" : 0, "midpoints" : [ ] @@ -2580,53 +2839,8 @@ } , { "patchline" : { - "source" : [ "obj-71", 0 ], - "destination" : [ "obj-72", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-72", 0 ], - "destination" : [ "obj-68", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-49", 0 ], - "destination" : [ "obj-71", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-88", 0 ], - "destination" : [ "obj-81", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-98", 0 ], - "destination" : [ "obj-92", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-45", 0 ], - "destination" : [ "obj-82", 0 ], + "source" : [ "obj-136", 0 ], + "destination" : [ "obj-137", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2635,7 +2849,7 @@ , { "patchline" : { "source" : [ "obj-82", 1 ], - "destination" : [ "obj-67", 1 ], + "destination" : [ "obj-79", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2643,8 +2857,8 @@ } , { "patchline" : { - "source" : [ "obj-90", 0 ], - "destination" : [ "obj-100", 0 ], + "source" : [ "obj-106", 0 ], + "destination" : [ "obj-79", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2652,8 +2866,8 @@ } , { "patchline" : { - "source" : [ "obj-100", 0 ], - "destination" : [ "obj-69", 0 ], + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-110", 0 ], "hidden" : 0, "midpoints" : [ ] } @@ -2661,206 +2875,8 @@ } , { "patchline" : { - "source" : [ "obj-46", 0 ], - "destination" : [ "obj-103", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-103", 0 ], - "destination" : [ "obj-90", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-104", 0 ], - "destination" : [ "obj-106", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-104", 0 ], - "destination" : [ "obj-90", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-83", 0 ], - "destination" : [ "obj-107", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-107", 0 ], - "destination" : [ "obj-100", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-109", 0 ], - "destination" : [ "obj-107", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-79", 0 ], - "destination" : [ "obj-83", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-107", 1 ], - "destination" : [ "obj-69", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-92", 0 ], - "destination" : [ "obj-9", 4 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-93", 0 ], - "destination" : [ "obj-9", 3 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-48", 0 ], - "destination" : [ "obj-9", 2 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-81", 0 ], - "destination" : [ "obj-9", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-79", 1 ], - "destination" : [ "obj-9", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-70", 0 ], - "destination" : [ "obj-105", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-113", 0 ], - "destination" : [ "obj-65", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-105", 0 ], - "destination" : [ "obj-65", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-110", 0 ], - "destination" : [ "obj-65", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-65", 0 ], - "destination" : [ "obj-94", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-65", 1 ], - "destination" : [ "obj-94", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-45", 0 ], - "destination" : [ "obj-1", 1 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-1", 0 ], - "destination" : [ "obj-44", 0 ], - "hidden" : 0, - "midpoints" : [ ] - } - - } -, { - "patchline" : { - "source" : [ "obj-4", 0 ], - "destination" : [ "obj-1", 0 ], + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-109", 0 ], "hidden" : 0, "midpoints" : [ ] }
--- a/src/BayesianArrayStructure.cpp Thu Oct 27 21:30:42 2011 +0100 +++ b/src/BayesianArrayStructure.cpp Thu Nov 10 17:29:45 2011 +0000 @@ -22,8 +22,8 @@ speedPriorValue = 1.0; speedEstimate = speedPriorValue; - lastEventTime = ofGetElapsedTimeMillis(); - + lastEventTime = 0;//ofGetElapsedTimeMillis(); + /* tmpPrior.createVector(240); tmpPrior.addGaussianShape(100, 40, 1); @@ -32,6 +32,7 @@ */ tmpBestEstimate = 0; crossUpdateTimeThreshold = 100; + priorWidth = 30; } BayesianArrayStructure::BayesianArrayStructure(int length){ @@ -94,7 +95,7 @@ speedPriorValue = f; int index = relativeSpeedPosterior.getRealTermsAsIndex(speedPriorValue); relativeSpeedPosterior.zero(); - relativeSpeedPosterior.addGaussianShape(index, 20, 0.8); + relativeSpeedPosterior.addGaussianShape(index, priorWidth, 0.8); relativeSpeedPosterior.renormalise(); relativeSpeedPosterior.getMaximum(); relativeSpeedPrior.copyFromDynamicVector(relativeSpeedPosterior); @@ -158,8 +159,10 @@ void BayesianArrayStructure::setStartPlaying(){ lastEventTime = 0;//ofGetElapsedTimeMillis(); bestEstimate = 0; - lastBestEstimateUpdateTime = ofGetElapsedTimeMillis(); - + lastBestEstimateUpdateTime = lastEventTime; + //bug somewhere here that prevented offline + //ofGetElapsedTimeMillis();//lastEventTime;// + printf("start playing - best estimate %f\n", lastBestEstimateUpdateTime); resetArrays(); } @@ -184,7 +187,10 @@ updateCounter = 0; bestEstimate = 0; -// lastBestEstimateUpdateTime = ofGetElapsedTimeMillis(); + lastBestEstimateUpdateTime = ofGetElapsedTimeMillis(); + //cannot just be zero - offline bug + + printf("bayes reset arrays - best estimate %f\n", lastBestEstimateUpdateTime); setSpeedPrior(speedPriorValue); } @@ -212,9 +218,15 @@ //lastBestEstimateUpdateTime = ofGetElapsedTimeMillis(); } -void BayesianArrayStructure::updateBestEstimate(){ +void BayesianArrayStructure::updateBestEstimate(const double& timeDifference){ // double timeDiff = ofGetElapsedTimeMillis() - lastEventTime;// - double timeDiff = ofGetElapsedTimeMillis() - lastBestEstimateUpdateTime; + + double timeDiff = timeDifference; + + //Using timedifferencfe here will make it go wrong. Is time since beginning of playing + + //if (*realTimeMode) + timeDiff = ofGetElapsedTimeMillis() - lastBestEstimateUpdateTime; double speedEstimate = relativeSpeedPosterior.getIntegratedEstimate(); speedEstimate = relativeSpeedPosterior.getIndexInRealTerms(speedEstimate);
--- a/src/BayesianArrayStructure.h Thu Oct 27 21:30:42 2011 +0100 +++ b/src/BayesianArrayStructure.h Thu Nov 10 17:29:45 2011 +0000 @@ -65,7 +65,7 @@ void addTriangularNoiseToSpeedPosterior(const double& std_dev); double bestEstimate; - void updateBestEstimate(); + void updateBestEstimate(const double& timeDifference); double lastBestEstimateUpdateTime; double speedEstimate; @@ -90,7 +90,8 @@ double crossUpdateTimeThreshold;//time after which we do complex update of multiple speeds double speedPriorValue; - + int priorWidth; + bool* realTimeMode; }; #endif
--- a/src/CannamMidiFileLoader.cpp Thu Oct 27 21:30:42 2011 +0100 +++ b/src/CannamMidiFileLoader.cpp Thu Nov 10 17:29:45 2011 +0000 @@ -146,12 +146,12 @@ switch (j->getMessageType()) { case MIDI_NOTE_ON: - /* cout << t << ": Note: channel " << ch + cout << t << ": Note: channel " << ch << " duration " << j->getDuration() << " pitch " << j->getPitch() << " velocity " << j->getVelocity() << "event time " << myMidiEvents.getEventTimeMillis(t) << endl; - */ + if (noteOnIndex == 0){ firstNoteTime = myMidiEvents.getEventTimeMillis(t);
--- a/src/midiEventHolder.cpp Thu Oct 27 21:30:42 2011 +0100 +++ b/src/midiEventHolder.cpp Thu Nov 10 17:29:45 2011 +0000 @@ -35,6 +35,8 @@ bayesStruct.speedDecayWidth = 20; bayesStruct.speedDecayAmount = 10; + runningInRealTime = true; + speedPriorValue = 1.0; matchWindowWidth = 8000;//window size for matching in ms @@ -66,8 +68,8 @@ noteArrayIndex = 0; tickLocation = 0; - lastPeriodUpdateTime = ofGetElapsedTimeMillis(); - bayesStruct.lastEventTime = ofGetElapsedTimeMillis(); + lastPeriodUpdateTime = getTimeNow(0);//ofGetElapsedTimeMillis(); + bayesStruct.lastEventTime = getTimeNow(0);//ofGetElapsedTimeMillis(); numberOfScreensIn = 0; // recordedNoteOnIndex = 0; bayesStruct.setNewDistributionOffsets(0); @@ -101,9 +103,9 @@ } void midiEventHolder::printNotes(){ - printf("RECORDED MATRIX"); + printf("RECORDED MATRIX\n"); for (int i = 0;i < recordedNoteOnMatrix.size();i++){ - printf("%i :: %i @ %f\n", recordedNoteOnMatrix[i][0], recordedNoteOnMatrix[i][1], recordedEventTimes[i]); + printf("ticktime %i :: pitch %i @ millis %f\n", recordedNoteOnMatrix[i][0], recordedNoteOnMatrix[i][1], recordedEventTimes[i]); } } @@ -155,8 +157,8 @@ } bayesStruct.updateTmpBestEstimate(timeDifference);// debug - didnt work bayesStruct.bestEstimate = bayesStruct.tmpBestEstimate; - bayesStruct.updateBestEstimate(); - bayesStruct.lastBestEstimateUpdateTime = ofGetElapsedTimeMillis(); + bayesStruct.updateBestEstimate(timeDifference); + bayesStruct.lastBestEstimateUpdateTime = getTimeNow(timePlayed); // double newMAPestimateTime = bayesStruct.posterior.getIndexInRealTerms(bayesStruct.posterior.MAPestimate); //was offset + bayesStruct.posterior.MAPestimate; but this doesnt include scalar to convert to millis @@ -217,6 +219,13 @@ } +double midiEventHolder::getTimeNow(double eventTime){ + double timeNow = eventTime; + if (runningInRealTime) + timeNow = ofGetElapsedTimeMillis(); + return timeNow; +} + int midiEventHolder::findLocalMatches(int notePitch){ //here we find the matches to the new note within appropriate range @@ -320,6 +329,8 @@ matchMatrix.push_back(v); matchConfidence.push_back(d); + printf("BEST MATCH TO note %i,time %i is recorded time %i, confidence %0.2f\n", notePitch, startTime, (int) recordedEventTimes[bestMatchIndex], minimumConfidence); + return size; } @@ -470,7 +481,9 @@ //in actual fact if we are changing the speed of the play position //we will need to update this via the file - double timeDifference = ofGetElapsedTimeMillis() - lastPeriodUpdateTime; + //actually time since beginning of file i think + + double timeDifference = ofGetElapsedTimeMillis() - lastPeriodUpdateTime;//elpased - lastperiodupdatetime //this is time diff in milliseconds //then we have double quarterNoteIntervals = (timeDifference / period); @@ -479,7 +492,8 @@ playPositionInMillis = timeDifference;//based on updating from when we change period //this to be added - bayesStruct.updateBestEstimate(); + if (runningInRealTime) + bayesStruct.updateBestEstimate(timeDifference); } @@ -522,7 +536,8 @@ ofSetColor(255,255,255); } - + if (tmpIndex == bestMatchIndex) + ofSetColor(255,0,0);//best recent match is in red // XXX replace ofgetwidth below //if (tmpIndex >= 0 && tmpIndex < size) @@ -622,7 +637,7 @@ void midiEventHolder::setStartPlayingTimes(){ - lastPeriodUpdateTime = ofGetElapsedTimeMillis(); + lastPeriodUpdateTime = getTimeNow(0);//ofGetElapsedTimeMillis(); startTime = lastPeriodUpdateTime; /*
--- a/src/midiEventHolder.h Thu Oct 27 21:30:42 2011 +0100 +++ b/src/midiEventHolder.h Thu Nov 10 17:29:45 2011 +0000 @@ -58,6 +58,9 @@ int getLocationFromTicks(double tickPosition); int getLocationFromMillis(double millisPosition); + double getTimeNow(double eventTime); + bool runningInRealTime; + double windowStartTime; //functions for finding match to incoming note @@ -124,5 +127,6 @@ bool confidenceWeightingUsed; double minimumMatchError;//recent best error between observed note and aligned midi file + }; #endif \ No newline at end of file
--- a/src/testApp.cpp Thu Oct 27 21:30:42 2011 +0100 +++ b/src/testApp.cpp Thu Nov 10 17:29:45 2011 +0000 @@ -27,7 +27,7 @@ void testApp::update(){ if (playing){ midiEvents.updatePlayPosition(); - midiEvents.bayesStruct.updateBestEstimate(); + // midiEvents.bayesStruct.updateBestEstimate(); } // drawer.tickLocation+=20;
--- a/workingNotes.rtf Thu Oct 27 21:30:42 2011 +0100 +++ b/workingNotes.rtf Thu Nov 10 17:29:45 2011 +0000 @@ -4,10 +4,23 @@ \paperw11900\paperh16840\margl1440\margr1440\vieww20940\viewh15820\viewkind0 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural -\f0\fs24 \cf0 USE ftmplayMidiFile in MaxMSP to send the MIDI notes in via OSC\ +\f0\fs24 \cf0 \ +Note on: send the note playtime. It did calculate this, but is now assumed sent in with the note on message via o/c\ +\ +lastPeriodUpdate is only used at beginning\ +if we use time diff it doesn't work. Beetr try time since start somehow??\ +\ +\ +\ +\ +\ +USE ftmplayMidiFile in MaxMSP to send the MIDI notes in via OSC\ \ _ _ ______ __\ \ +\ +\ +\ BUGS:\ When prior and posterior etc are split off the screen, it doesn't find the right indices for them. Are we writing the correct prior vector? constrained limits?\ \ @@ -48,4 +61,6 @@ \pard\tx640\pardeftab640\ql\qnatural\pardirnatural \cf0 \cf2 //size, index of match0, index of match1, .... \f0\fs24 \cf0 \CocoaLigature1 \ +\ +\ } \ No newline at end of file