2 updates + vvvv patch

master
km0 3 years ago
parent 6c56b80f42
commit ff5c1af1d7

Binary file not shown.

@ -18,6 +18,11 @@ body {
purple is #6B64C3*/ purple is #6B64C3*/
} }
a {
text-decoration: underline currentColor dashed 1px;
color: currentColor;
}
/* HEADER */ /* HEADER */
header { header {
@ -77,6 +82,11 @@ main > * {
margin: 0; margin: 0;
} }
.documentation {
flex-basis: 33vw;
flex-shrink: 0;
}
/* DESCRIPTION */ /* DESCRIPTION */
.description { .description {
@ -139,12 +149,13 @@ main > * {
.update .text { .update .text {
margin: 0; margin: 0;
margin-top: 16px; margin-top: 16px;
white-space: break-spaces;
} }
/* LYRICS */ /* LYRICS */
.lyrics { .lyrics {
flex-grow: 1.5; flex-grow: 1.2;
font-size: 48px; font-size: 48px;
font-family: Bluu; font-family: Bluu;

@ -14,7 +14,7 @@
{ {
"date": "October the 21st, 2021", "date": "October the 21st, 2021",
"title": "2nd hand lifeboat script", "title": "2nd hand lifeboat script",
"text": "Labore eiusmod labore pariatur elit nostrud ut magna cupidatat minim amet deserunt cillum id. Lorem consectetur incididunt anim sit do eu minim nisi id.", "text": "",
"media": { "media": {
"type": "video", "type": "video",
"src": "./assets/test-js.mp4", "src": "./assets/test-js.mp4",
@ -25,7 +25,7 @@
{ {
"date": "October the 22nd, 2021", "date": "October the 22nd, 2021",
"title": "This thing is fun and funny on many levels", "title": "This thing is fun and funny on many levels",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper viverra nam libero justo laoreet sit amet cursus. Ut faucibus pulvinar elementum integer.", "text": "",
"media": { "media": {
"type": "img", "type": "img",
"src": "./assets/keta_laibach.jpg", "src": "./assets/keta_laibach.jpg",
@ -43,6 +43,23 @@
"alt": "Tirst words from our custom karaoke are he llo wo rld", "alt": "Tirst words from our custom karaoke are he llo wo rld",
"caption": "firsts words from the caraoki" "caption": "firsts words from the caraoki"
} }
},
{
"date": "October the 23nd, 2021",
"title": "K-Scroll",
"text": "We bought green curry from HJ 😶 and developed a scroll-to-highlight script starting from the idea behind these <a href='https://hub.xpub.nl/soupboat/~kamo/09-28-2021-lifeboats/'>text lifeboats</a>. We will use it as a small interactive feature for this diary-devlog, to stay in the karaoke mood. (the scroll-to-highlight, not the curry)",
"media": null
},
{
"date": "October the 23nd, 2021",
"title": "Re → cord ~ Re → play",
"text": "Yesterday we studied how to write these infos back in a MIDI files at the right time, so now we just need to merge the two things. 1 last aspect to understand it's the conversion between the ticks of midi (like the framerate or something like that) and the simple timespan we are using. \n\nOften listening to Battiato you can grasp like an faint intuition of something really far away. It is not an explicit message or a revelation, but more like a mmoment of tuning with the elsewhere. In some really intimate song though, this feeling is replaced by something that points toward a inner reality. If the eclectism of his music generally excedes its borders to break the leevee of musical genres, these other tracks seem more like mantras, and they guide you down and down and down.",
"media": {
"type": "video",
"src": "./assets/rec-rep.mp4",
"alt": "A timeline where a quote from Simone Weil is being recorder in syllabes, and then the same timeline that scrolls highlighting the syllabes when they reach the time.",
"caption": "First vvvv prototype for recording and replaying a text previously splitted in syllabes."
}
} }
] ]
} }

@ -0,0 +1,644 @@
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:p="property" Id="Qxne4YmdcqxMJ3qy6p6S0p" LanguageVersion="2021.3.3.131" Version="0.128">
<NugetDependency Id="UFhF3IwgraPLGO1ZIHkdaj" Location="VL.CoreLib" Version="2021.3.3" />
<Patch Id="NRfz2WSXcE5PGSMt4kielM">
<Canvas Id="RKpSMBegxkOOX0KhfXMWyA" DefaultCategory="Main" BordersChecked="false" CanvasType="FullCategory" />
<!--
************************ Application ************************
-->
<Node Name="Application" Bounds="100,100" Id="QNHt3FdS1KhLiponc0Y8NK">
<p:NodeReference>
<Choice Kind="ContainerDefinition" Name="Process" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Patch Id="EAmblniAbgUNSGIhGWR3I1">
<Canvas Id="Dbzgxuuqd81PvaSyCPvUZL" CanvasType="Group">
<Node Bounds="890,377,105,19" Id="CUuRe3upAfNP1qg3XDIW2Z">
<p:NodeReference LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="MidiPlayer" />
</p:NodeReference>
<Pin Id="CtZtBaZmQdaQWEyLKwnijY" Name="Filename" Kind="InputPin" />
<Pin Id="C1A0FRtMkpzMsfhymipAZb" Name="Reload" Kind="InputPin" />
<Pin Id="FDaEabZ7rsaQEZkZtVep2H" Name="Play" Kind="InputPin" />
<Pin Id="C3DWjSykOS7PiZxqEqLNEp" Name="Seek Position" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Float32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="HOCp84LBLUgPHx7tRYROCg" Name="Do Seek" Kind="InputPin" />
<Pin Id="AtuF2RFPReLLpcAqErgZLw" Name="Channel Messages" Kind="OutputPin" />
<Pin Id="OyPqbG04M4GO5l2QEQbtYh" Name="BPM" Kind="OutputPin" />
<Pin Id="BGWnIIHA8BlOwEhuw2v6Dc" Name="Text Messages" Kind="OutputPin" />
<Pin Id="QqtFB9muj4hLsWBf9U5CXK" Name="Tempo infos" Kind="OutputPin" />
<Pin Id="OwAeCwnqTWGPXfXCvjrrNP" Name="Time Signature Infos" Kind="OutputPin" />
<Pin Id="SadZzY9RUesQSj04oQ7hne" Name="Length" Kind="OutputPin" />
<Pin Id="PEeyE083J0COKFT5sBlrDF" Name="Position" Kind="OutputPin" />
</Node>
<Pad Id="GRb9RdaHYFkMRjL0HZLvJr" Comment="Filename" Bounds="873,179,204,11" ShowValueBox="true" isIOBox="true" Value="test_save.mid">
<p:TypeAnnotation LastCategoryFullName="IO" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Path" />
</p:TypeAnnotation>
</Pad>
<Pad Id="HvUPmGgDKcxMyUUrRRrkXc" Comment="Play" Bounds="1065,216,35,35" ShowValueBox="true" isIOBox="true" Value="True">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Boolean" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Toggle</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Pad Id="VXskLcEOpv5NO5eGohi9FA" Comment="Reload" Bounds="918,245,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Node Bounds="937,500,52,19" Id="SghoOkA1P8yQYVsEhxUeBa">
<p:NodeReference LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="MidiOut" />
</p:NodeReference>
<Pin Id="Jj4e2u0VUjqPnZz8SbC1mv" Name="Messages" Kind="InputPin" />
<Pin Id="OO6QUQrGRCILqAO3W1ongj" Name="Device" Kind="InputPin" DefaultValue="Microsoft GS Wavetable Synth">
<p:TypeAnnotation LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="MidiOutputDevice" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Egi5d5MChm9MQmOOYzYQ1s" Name="Is Open" Kind="OutputPin" />
</Node>
<Node Bounds="818,502,76,19" Id="IoorHWtzXdpQQxUY6Z5Atx">
<p:NodeReference LastCategoryFullName="IO.Midi.MessageFilter" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="Category" Name="Midi" />
<CategoryReference Kind="Category" Name="MessageFilter" />
<Choice Kind="ProcessAppFlag" Name="ChannelFilter" />
</p:NodeReference>
<Pin Id="Q9mg6mxpaBWP2sxAjTlQtZ" Name="Value" Kind="InputPin" />
<Pin Id="CDdPHKdxbfROpf7s8Xl6Bt" Name="Channel" Kind="InputPin" DefaultValue="1">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="PvWptmnH3hyOwridxUX07e" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="1072,1098,105,19" Id="Nynfn1OCXrRQSzRYOG3L7O">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Group" />
</p:NodeReference>
<Pin Id="BAJvSxwAR6ePm67LJWhuSA" Name="Input" Kind="InputPin" />
<Pin Id="CS5O8P2qXgBOtAyBknrDPp" Name="Input 2" Kind="InputPin" />
<Pin Id="MoLQ0qU4RsULn9rffvEGLA" Name="Output" Kind="OutputPin" />
<Pin Id="Q9swiVPmgdaOMvPpfBkT2V" Name="Input 3" Kind="InputPin" />
<Pin Id="GKQuFvajLuPNdosZoFUbHb" Name="Input 4" Kind="InputPin" />
<Pin Id="NNiSx8gl8TrOFR7ssPEsv2" Name="Input 5" Kind="InputPin" />
<Pin Id="O0ajR6nWgOiMicqxF1teGc" Name="Input 6" Kind="InputPin" />
</Node>
<Pad Id="L53DWDfObDJM0DBJ5WDZWL" Comment="Channel Messages" Bounds="819,560" isIOBox="true" />
<Node Bounds="1230,568,65,19" Id="G3MymnJ6GPoPEGOL3AG7pc">
<p:NodeReference LastCategoryFullName="Reactive" LastSymbolSource="VL.Reactive.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="HoldLatest" />
</p:NodeReference>
<Pin Id="RCj0Rr0mfDlMzMP2HvdpvB" Name="Async Notifications" Kind="InputPin" />
<Pin Id="NnXKFeyvL5oNla945KQC1P" Name="Reset" Kind="InputPin" />
<Pin Id="GcwBiOkK6yYLMIWaO1bu47" Name="Value" Kind="OutputPin" />
<Pin Id="Hd4aLZuVKynPYtEHoQsgZr" Name="On Data" Kind="OutputPin" />
</Node>
<Node Bounds="1152,1038,105,19" Id="GmnFrqgDbQSMHFbavmXyj7">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Layers.Text" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Text" />
<CategoryReference Kind="Category" Name="Text" NeedsToBeDirectParent="true">
<p:OuterCategoryReference Kind="Category" Name="Layers" NeedsToBeDirectParent="true" />
</CategoryReference>
</p:NodeReference>
<Pin Id="NQjTYoJIhcwN9b1KqR0I5E" Name="Position" Kind="InputPin" />
<Pin Id="RzWUYLyo7QBPLlSVKBEvU8" Name="Size" Kind="InputPin" />
<Pin Id="GTV6xfXcwvyP1IyRzu0TIZ" Name="Anchor" Kind="InputPin" />
<Pin Id="RxLGlrPJO74QHk0jWooK0T" Name="Text" Kind="InputPin" />
<Pin Id="Rb0xeCos5GMNdkfAvHjy9h" Name="Paint" Kind="InputPin" />
<Pin Id="NqWe0FzWznxPTlsvf5hWQ5" Name="Enabled" Kind="InputPin" />
<Pin Id="J40uE8tLEmOP53j25Y5FlF" Name="Output" Kind="OutputPin" />
<Pin Id="NIaRagakjmOQKlgurobxp6" Name="Baseline Position" Kind="OutputPin" />
</Node>
<Node Bounds="1227,803,65,19" Id="PYtiRu1l8wXOL9U8qbzUlD">
<p:NodeReference LastCategoryFullName="Collections.Spread" LastSymbolSource="VL.Collections.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Queue" />
</p:NodeReference>
<Pin Id="DiJY1xFeQCGM6fq6X0wLl7" Name="Input" Kind="InputPin" />
<Pin Id="AoPhcpmDzwsPtHIwIe4I1Q" Name="Frame Count" Kind="InputPin" DefaultValue="-1">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="VR31fmcoJuALHSY6GqdGtm" Name="Clear" Kind="InputPin" />
<Pin Id="KmnOyPozjE4LdT4PKjTPvc" Name="Insert" Kind="InputPin" />
<Pin Id="CPb1aQ3ZRedNlDsst1AUDZ" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="1222,876,48,19" Id="D0lzFlPwT7jOj9KtagIeIz">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Concat (Spectral)" />
</p:NodeReference>
<Pin Id="EHJfahlkxzSPP25mqe8veU" Name="Values" Kind="InputPin" />
<Pin Id="PrB4jWmbDfyOE4dhPPQhYr" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="1227,838,51,26" Id="Vhedvsa2JzhLnkkG5GRTD1">
<p:NodeReference LastCategoryFullName="Collections.Spread" LastSymbolSource="VL.Collections.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Reverse" />
<CategoryReference Kind="RecordType" Name="Spread" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="CAHhZLIT7ttMpkrBtDalIJ" Name="Input" Kind="StateInputPin" />
<Pin Id="LaynhdAIublPtGE78L1pcq" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="1258,728,25,19" Id="CvYWbhYEjPWOn5Zz0FWKFo">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="=" />
</p:NodeReference>
<Pin Id="FjcVCD85P7rNUixMc4dnAb" Name="Input" Kind="InputPin" />
<Pin Id="CZUlcHmmrDSLltcSu8Wvj7" Name="Input 2" Kind="InputPin" DefaultValue="~">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="RvEn7fxJkndOvTePWYvK4W" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="1049,1170,145,19" Id="PydX1iADdWdQXDQ9fe00v3">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Renderer" />
</p:NodeReference>
<Pin Id="Ng9Pf7rlmmXPD25C012pzX" Name="Bounds" Kind="InputPin" DefaultValue="0, 0, 960, 540">
<p:TypeAnnotation LastCategoryFullName="System.Windows" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="TypeFlag" Name="Rectangle" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Ha3u8Y1XOrGQSO9xYTAOhc" Name="Input" Kind="InputPin" />
<Pin Id="MsWhQerOjHPLxBiCfDxxX6" Name="Color" Kind="InputPin" />
<Pin Id="Rihn29phjcILvVyQiiPZdj" Name="Clear" Kind="InputPin" />
<Pin Id="UUUurSOQJBCNU9FXDa6HYJ" Name="Space" Kind="InputPin" />
<Pin Id="FOMbQjTd8pJPyuiEKDWpGn" Name="Show Cursor" Kind="InputPin" />
<Pin Id="AHwqlBaS0VsLWLgPlggN9F" Name="VSync" Kind="InputPin" />
<Pin Id="Kb4xrq65btjPruvSdGIcn6" Name="Enabled" Kind="InputPin" />
<Pin Id="FDzZZIe7a6MQQzOcvUntJu" Name="Form" Kind="OutputPin" />
<Pin Id="HnkzJTnkGvfMlRzOGwtrmP" Name="ClientBounds" Kind="OutputPin" />
<Pin Id="L7XTFFsz8MrLPsIfqisVFE" Name="Render Time" Kind="OutputPin" />
</Node>
<Node Bounds="1229,992,165,19" Id="QwZ5i8A9AC7MVno90JfL8m">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Text" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="FontAndParagraph" />
</p:NodeReference>
<Pin Id="Iy2XQg8pIyRQIQg833PuxK" Name="Input" Kind="InputPin" />
<Pin Id="DKcFXOvICALMl1ZXmY09WL" Name="Family Name" Kind="InputPin" DefaultValue="Ortica">
<p:TypeAnnotation LastCategoryFullName="Text" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="FontList" />
</p:TypeAnnotation>
</Pin>
<Pin Id="SWk0pkSJtg8PTNKiFbh6jg" Name="Style" Kind="InputPin" DefaultValue="Normal">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="SKTypefaceStyle" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Gd8ahPQT7OpLyzSMXQlipm" Name="Size" Kind="InputPin" />
<Pin Id="MeuBWlODJISOACbRKxtgg3" Name="Color" Kind="InputPin" />
<Pin Id="V5HKoSNoHUALuNjvthaoZR" Name="Line Height in em" Kind="InputPin" />
<Pin Id="NJDg39xpqPROIk8ekdiNF7" Name="Horizontal Alignment" Kind="InputPin" DefaultValue="Center">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="SKTextAlign" />
</p:TypeAnnotation>
</Pin>
<Pin Id="AlY9TcRpMbBPzkYDrSTnQP" Name="Vertical Alignment" Kind="InputPin" DefaultValue="Center">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="VerticalTextAlignment" />
</p:TypeAnnotation>
</Pin>
<Pin Id="A8FXu8aJdUjLcnV7DwISs4" Name="Show Helpers" Kind="InputPin" />
<Pin Id="QoIzNtEq5FlNld78GoQh21" Name="Output" Kind="OutputPin" />
</Node>
<Pad Id="AlxJbR46JusPwmmm3bHjqB" Comment="Reset" Bounds="1370,517,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Node Bounds="1266,765,66,19" Id="Pn96rkq6CVYQDs4c3Kjw5U">
<p:NodeReference LastCategoryFullName="Primitive.Boolean" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="OR" />
</p:NodeReference>
<Pin Id="P8opCKdZGiwQCg38n29BmR" Name="Input" Kind="StateInputPin" />
<Pin Id="LQNIx3YpgJFMU1mqlnf9lE" Name="Input 2" Kind="InputPin" />
<Pin Id="GqZjWCDRuddMtWY6quRWLQ" Name="Output" Kind="StateOutputPin" />
<Pin Id="F7j8rEkufXlNGIKHypK0Tt" Name="Input 3" Kind="InputPin" />
</Node>
<Node Bounds="1049,1306,149,216" Id="HkodzUbbH0BN4qYNBxPs17">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ProcessStatefulRegion" Name="Cache" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="AtwNP0yd47jLv7auY6NoOM" Name="Force" Kind="InputPin" />
<Pin Id="M8rxqN8dI9rPNxqfcuqrP2" Name="Dispose Cached Outputs" Kind="InputPin" />
<Pin Id="J9bz1xPcRqnNmxR9llgsuQ" Name="Has Changed" Kind="OutputPin" />
<Patch Id="OJEFIxMOHi9OCbzUeEylMt" ManuallySortedPins="true">
<Patch Id="TwoH793u545MMlvoGcyWNC" Name="Create" ManuallySortedPins="true" />
<Patch Id="L5oqYDpi9AuN5Z6w7b8CkO" Name="Then" ManuallySortedPins="true" />
<Node Bounds="1061,1483,105,19" Id="JyEosIJygcBQLrVdnLR4RK">
<p:NodeReference LastCategoryFullName="System.Windows" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="SetWindowState" />
</p:NodeReference>
<Pin Id="Ukxi5Y2dGrKNbBtSfSo3Ro" Name="Input" Kind="InputPin" />
<Pin Id="VHbkGle8AvNM8XJTeOeVgX" Name="Caption" Kind="InputPin" DefaultValue="Renderino 123">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="ELwt5TBx8B0MkkAuUH9GCK" Name="Border Style" Kind="InputPin" />
<Pin Id="JsWAsHEPHiENYETJOfabjb" Name="Control Box" Kind="InputPin" />
<Pin Id="C5q7dEcBJNGNIqIikNVUTe" Name="State" Kind="InputPin" />
<Pin Id="Ast4smLxDogMUJHVmGEAll" Name="Visible" Kind="InputPin" />
<Pin Id="FxC2EpQh3jfOMPejiurZwY" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="1061,1373,63,26" Id="S2bMY7s08XCQOxPzgcCS5X">
<p:NodeReference LastCategoryFullName="Graphics.Skia.SkiaRenderer" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="SetSize" />
<CategoryReference Kind="ClassType" Name="SkiaRenderer" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="GyDuJ2ramBQLBrZZtqKMcn" Name="Input" Kind="StateInputPin" />
<Pin Id="UQF0CprnjQKNXhOgYnmexN" Name="Bounds In DIP" Kind="InputPin" />
<Pin Id="BbCn4sIR3rEMQJaO5pWlUa" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="1121,1330,65,26" Id="HgyTmhcGYB7LfHZbpQkEyM">
<p:NodeReference LastCategoryFullName="System.Windows.Rectangle" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Rectangle" />
<Choice Kind="OperationCallFlag" Name="Create" />
<PinReference Kind="InputPin" Name="Height" />
</p:NodeReference>
<Pin Id="GigoWSG8HzXQJKqsUib3fN" Name="X" Kind="InputPin" />
<Pin Id="LHUynBfe90fLlyH0zdWsGw" Name="Y" Kind="InputPin" />
<Pin Id="SOkuAE1E3LKMpCmIgLGBsr" Name="Width" Kind="InputPin" DefaultValue="960">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="RetEJxm6TJbP3GXsMXI0Yn" Name="Height" Kind="InputPin" DefaultValue="540">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="T81c92umMgpOCdmKHvc6JP" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
<ControlPoint Id="CzR0eIhJRLLO197jn6SHr1" Bounds="1072,1313" Alignment="Top" />
</Node>
<ControlPoint Id="OALmMChIk2UQAuhxxcXzaO" Bounds="1072,1306" />
<Node Bounds="1088,263,45,19" Id="GV55GZsaRAsLTrXgYvKWnw">
<p:NodeReference LastCategoryFullName="Animation" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="LFO" />
</p:NodeReference>
<Pin Id="Q6BlksWcXrALX0fYSDqp71" Name="Period" Kind="InputPin" DefaultValue="20">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Float32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Ja8PMCN1EsuMnSrSmZ8RM5" Name="Pause" Kind="InputPin" />
<Pin Id="FXNkabuKCKjQWmrgxJ5hCT" Name="Reset" Kind="ApplyPin" />
<Pin Id="R19TkQWmuP3OiqBJ7fNByK" Name="Phase" Kind="OutputPin" />
<Pin Id="K9HhWXJrAMLQGswkHX6LcH" Name="On New Cycle" Kind="OutputPin" />
<Pin Id="VkkenqSOTb7OXNRcTLjrBV" Name="Cycles" Kind="OutputPin" />
</Node>
<Node Bounds="414,728,55,19" Id="N5ZpwzL3TMDPIK0rijPSmZ">
<p:NodeReference LastCategoryFullName="System.Conversion" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToString" />
</p:NodeReference>
<Pin Id="FIFqN6Ciw7nOyYRXJQIX56" Name="Input" Kind="InputPin" />
<Pin Id="PnFzM9ddx4lLNoIyIuIOnX" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="424,816,46,26" Id="CLgC43EhUTEOHkhVYpIFyK">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Create" />
<PinReference Kind="InputPin" Name="File Name" />
</p:NodeReference>
<Pin Id="S99Z0wqX2c4NHS2GhmfU9a" Name="File Name" Kind="InputPin" />
<Pin Id="GCLmL52cTowM3cDeQgFvbK" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="523,1329,80,80" Id="QSob9VPM34kOf2xRjyH5b4">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="If" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="H0XiRaopz69OLfTWhxaj9J" Name="Condition" Kind="InputPin" />
<Patch Id="Ee8kcrDcY9uOtZkTCdKwVz" ManuallySortedPins="true">
<Patch Id="S1mxNrrXqNaOEKASNCvXRs" Name="Create" ManuallySortedPins="true" />
<Patch Id="Ib5qZNWbgXJP7tyb0qJLPy" Name="Then" ManuallySortedPins="true" />
<Node Bounds="541,1357,44,26" Id="Ozt7zlWAt4FORbPVBMiuy2">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Save" />
<PinReference Kind="InputPin" Name="File Name" />
</p:NodeReference>
<Pin Id="LhdJRMmEz1tPzgFPhwnTG1" Name="Input" Kind="StateInputPin" />
<Pin Id="MXJplgWQuUdPlwkAP0QT62" Name="File Name" Kind="InputPin" DefaultValue="C:\Users\Francesco\Documents\vvvv\gamma\Sketches\karaoke\test_save.mid">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="J7sSK46hJIgOjxvDjqjWP9" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
</Node>
<Pad Id="U7gwvIxf1bNNiNN4ylZ3D5" Comment="Condition" Bounds="314,1076,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Pad Id="Rp0R8WOes5hNDQf8culDiw" SlotId="HUHp3CpcUuqNqTH0wYK6lS" Bounds="463,963" />
<Pad Id="Kf4rNZVQVviPZU75X5H3AJ" SlotId="HUHp3CpcUuqNqTH0wYK6lS" Bounds="547,1248" />
<Node Bounds="535,736,324,477" Id="BN68FRNfkXrLYtvH08j6qA">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="If" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="KqLJEIe761CP02S2e4Osv7" Name="Condition" Kind="InputPin" />
<Patch Id="Kgv6VvBxYAEPlJFKuBu9DS" ManuallySortedPins="true">
<Patch Id="QGbFkwOGrzXO8QiaxCuROe" Name="Create" ManuallySortedPins="true" />
<Patch Id="Fl7wCREHT8NMsh8s7Ghnv9" Name="Then" ManuallySortedPins="true" />
<Node Bounds="624,762,79,19" Id="QJjHFgeiFbSQGPS3OdQcEb">
<p:NodeReference LastCategoryFullName="IO.Midi.Track" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Track" />
<Choice Kind="OperationCallFlag" Name="CreateDefault" />
</p:NodeReference>
<Pin Id="Khq58ZkZ3CbQAAIqjjvL8D" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="613,812,234,314" Id="TbzHj4xbwMvOUPKPMI8uzN">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="Repeat" />
<CategoryReference Kind="Category" Name="Primitive" />
</p:NodeReference>
<Patch Id="LfDUn23expdQLgQ2XicrES" ManuallySortedPins="true">
<Patch Id="FlcWF4ysJpwM95MvGLI9Z6" Name="Create" ManuallySortedPins="true" />
<Patch Id="UdeXfWvZkQwNRQAbuuMri9" Name="Update" ManuallySortedPins="true">
<Pin Id="Iny0nqH0F5cNvSpve7sYbj" Name="Index" Kind="InputPin" />
</Patch>
<Patch Id="UjAgwE78UjsNE5QPQ097JS" Name="Dispose" ManuallySortedPins="true" />
<Node Bounds="669,985,76,26" Id="SOfKO6AbROwOWHQElYeR6l">
<p:NodeReference LastCategoryFullName="IO.Midi.Messages.ChannelMessage" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="RecordType" Name="ChannelMessage" />
<Choice Kind="OperationCallFlag" Name="Create" />
</p:NodeReference>
<Pin Id="BTQfV6TeWqILJesYH4IEf7" Name="Command" Kind="InputPin" DefaultValue="NoteOn">
<p:TypeAnnotation LastCategoryFullName="IO.Midi.Messages" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="ChannelCommand" />
</p:TypeAnnotation>
</Pin>
<Pin Id="LQUn3jO7dMKO6FNgBDkmMM" Name="Midi Channel" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Tuxrp0xcNnyNUHL8aA0lNs" Name="Data 1" Kind="InputPin" DefaultValue="60">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="HOJ18VEMVduPWXeAxzAvDd" Name="Data 2" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="GnRGQEPAezFNvuJGrYINc4" Name="Output" Kind="StateOutputPin" />
</Node>
<Pad Id="NKTIR29KQhQOvIqHCPoEBA" Comment="Center" Bounds="738,857,20,15" ShowValueBox="true" isIOBox="true" Value="60">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pad>
<ControlPoint Id="UqQnXqnzzwFMFXIYwxhx9W" Bounds="637,910" />
<Node Bounds="642,934,25,19" Id="DqquWuzYo7rMyzembZ4IsG">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="*" />
</p:NodeReference>
<Pin Id="VbPpaBAIycWOHP9jWFDHxQ" Name="Input" Kind="InputPin" />
<Pin Id="MWwLMJYl54iPZ41pVv3PKM" Name="Input 2" Kind="InputPin" DefaultValue="100">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="M7ixJt3q8AfPaUFW6xN3nj" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="625,1080,45,26" Id="ChcBjlSoFG8Mc7TqNil3HA">
<p:NodeReference LastCategoryFullName="IO.Midi.Track" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Insert" />
<CategoryReference Kind="ClassType" Name="Track" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="BimbsRrF7B6M06QOj8ge6q" Name="Input" Kind="StateInputPin" />
<Pin Id="UVChdbHC7jcPFw1zmUdsB4" Name="Position" Kind="InputPin" />
<Pin Id="PQDMnN8TUXhNfdW0GpibK3" Name="Message" Kind="InputPin" />
<Pin Id="KOffRc4ac5eQLCdOFSvxK4" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="729,890,54,19" Id="Q3CX8QL5CP7OXVpM0Up7l2">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Random" />
</p:NodeReference>
<Pin Id="Dz3ahB7cQpxPVk4L6fmnHQ" Name="From" Kind="InputPin" />
<Pin Id="IZ9hpkHJfafPtTS3UhOtGQ" Name="To" Kind="InputPin" DefaultValue="80">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="GlfjSULcaW1LmQKj5ZGwrx" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="712,1060,64,26" Id="IwMYTUskSEsQK5iREPrTCr">
<p:NodeReference LastCategoryFullName="IO.Midi.Messages.MetaMessage" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="RecordType" Name="MetaMessage" />
<Choice Kind="OperationCallFlag" Name="Create" />
</p:NodeReference>
<Pin Id="CntfVNOuGO4LhEuZxlpnkh" Name="Type" Kind="InputPin" DefaultValue="Text">
<p:TypeAnnotation LastCategoryFullName="IO.Midi.Messages" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="MetaType" />
</p:TypeAnnotation>
</Pin>
<Pin Id="DqFrJQt2xCsPn6Wz8BeXnP" Name="Data" Kind="InputPin" />
<Pin Id="E1UAq93KRQjOvZzfW6vfcj" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="782,1021,52,19" Id="UOJOkrqmvKIOBzM2MjdrSv">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToBytes" />
<CategoryReference Kind="StringType" Name="String" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="LmLggO18bEzOaLxy7J3uce" Name="Input" Kind="StateInputPin" DefaultValue="">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="MmqYyRwZ3LmLeNueYDcDN5" Name="Encoding" Kind="InputPin" />
<Pin Id="Ryr8RYBjtq2Mq5Ty9QigoO" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="780,948,55,19" Id="QOFHwMjYtVRMZUFnul2YRi">
<p:NodeReference LastCategoryFullName="System.Conversion" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToString" />
</p:NodeReference>
<Pin Id="Ndv174siLNKO8JEDNP0W6z" Name="Input" Kind="InputPin" />
<Pin Id="Lj0citAyHozN6zpnxupAIE" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="792,985,25,19" Id="FeLa0YNO1U1PUdkl7S7kWa">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="+" />
<CategoryReference Kind="StringType" Name="String" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="Q7KLqopcjpcP2Fcw1D89kJ" Name="Input" Kind="InputPin" />
<Pin Id="NuNfGlu7ELqNSCsMxwfp9N" Name="Input 2" Kind="InputPin" DefaultValue="karaoke">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="IsG2XNyJrTJNR0IEOuIGnS" Name="Output" Kind="OutputPin" />
</Node>
</Patch>
<Pin Id="MfpCa96NzivOqp0FQelP1p" Name="Iteration Count" Kind="InputPin" DefaultValue="10">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="ABNcsW38TI4QJJPWKMyGyB" Name="Break" Kind="OutputPin" />
<ControlPoint Id="MgIghmqOfAfM0ER7VOaDcQ" Bounds="630,1083" Alignment="Bottom" />
<ControlPoint Id="SCSM4eQNrb9MIPzTOsWeaM" Bounds="630,819" Alignment="Top" />
</Node>
<Node Bounds="547,1139,44,26" Id="TsVZaVQLm4TQNZREFAbhkb">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Add" />
</p:NodeReference>
<Pin Id="EAGudtSxf8NP13bwhPThME" Name="Input" Kind="StateInputPin" />
<Pin Id="QIoXsngO1Z5PMaNU0PneoA" Name="Item" Kind="InputPin" />
<Pin Id="D7JlxTuNZQzOtL6jMUy887" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
<ControlPoint Id="Dh3Jz7EXHX3QcDI3CTMIUd" Bounds="571,742" Alignment="Top" />
<ControlPoint Id="GYvyceTnW4hMnMfaa175MI" Bounds="552,1207" Alignment="Bottom" />
</Node>
<Node Bounds="439,880,44,26" Id="HfnBpx7t0rhLD6jeGyfZC0">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Clear" />
</p:NodeReference>
<Pin Id="GHVwi5KyFkKOwWttEpa0i9" Name="Input" Kind="StateInputPin" />
<Pin Id="BSseVndCOgoO2T61iJh7g5" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="360,1225" Id="IMb2PYtXybZMFAydy03pc9">
<p:NodeReference LastCategoryFullName="Control" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="FrameDelay" />
</p:NodeReference>
<Pin Id="AwyjTTju5XuOe88N0aberO" Name="Value" Kind="InputPin" />
<Pin Id="N8SlENbMxmiN2FhqfqWE3Z" Name="Value" Kind="OutputPin" />
</Node>
</Canvas>
<Patch Id="LwFNQfJVFfvMyUgFzMRe5V" Name="Create" ParticipatingElements="CLgC43EhUTEOHkhVYpIFyK" />
<Patch Id="QMmNd6dBExQMMQN5kfiDeB" Name="Update" />
<ProcessDefinition Id="SxspM2BuqeDL2JWLuYWiq8">
<Fragment Id="KZ2Q6Bixkb8QIYwORwNAQd" Patch="LwFNQfJVFfvMyUgFzMRe5V" Enabled="true" />
<Fragment Id="UTzFHT6urjNOROlkUdRiNl" Patch="QMmNd6dBExQMMQN5kfiDeB" Enabled="true" />
</ProcessDefinition>
<Link Id="P9X8Jqcc4KeL5XTjwhSQfL" Ids="GRb9RdaHYFkMRjL0HZLvJr,CtZtBaZmQdaQWEyLKwnijY" />
<Link Id="Scy9HUkQB4wQIFMI0KZF8U" Ids="HvUPmGgDKcxMyUUrRRrkXc,FDaEabZ7rsaQEZkZtVep2H" />
<Link Id="AftyxMrswnAMmNRalRLYM0" Ids="VXskLcEOpv5NO5eGohi9FA,C1A0FRtMkpzMsfhymipAZb" />
<Link Id="NaYElUigqDFNbp4wIYX51l" Ids="AtuF2RFPReLLpcAqErgZLw,Q9mg6mxpaBWP2sxAjTlQtZ" />
<Link Id="PRq2ePEBbxrOpKgOsJvWNr" Ids="PvWptmnH3hyOwridxUX07e,L53DWDfObDJM0DBJ5WDZWL" />
<Link Id="Ib9hLo7dQ55Op4h1twmPPN" Ids="AtuF2RFPReLLpcAqErgZLw,Jj4e2u0VUjqPnZz8SbC1mv" />
<Link Id="VV2uV4KlESgMzydpD2aww3" Ids="BGWnIIHA8BlOwEhuw2v6Dc,RCj0Rr0mfDlMzMP2HvdpvB" />
<Link Id="MEb5HjUXZOQQPxTwbPpfQm" Ids="J40uE8tLEmOP53j25Y5FlF,NNiSx8gl8TrOFR7ssPEsv2" />
<Link Id="L3v2HviQytfNRq8OLj1aFV" Ids="GcwBiOkK6yYLMIWaO1bu47,DiJY1xFeQCGM6fq6X0wLl7" />
<Link Id="GMp4t4bRT8SPWMWlm8Vfk1" Ids="Hd4aLZuVKynPYtEHoQsgZr,KmnOyPozjE4LdT4PKjTPvc" />
<Link Id="TZ0RNtxxlxzQB1Es67YZwU" Ids="PrB4jWmbDfyOE4dhPPQhYr,RxLGlrPJO74QHk0jWooK0T" />
<Link Id="EwAIjBb6LCgMdicleNDxcC" Ids="CPb1aQ3ZRedNlDsst1AUDZ,CAHhZLIT7ttMpkrBtDalIJ" />
<Link Id="DT6RcB05gg3L3WWdcXK3j2" Ids="LaynhdAIublPtGE78L1pcq,EHJfahlkxzSPP25mqe8veU" />
<Link Id="Ot79PHuUMnGMlo4swvikzs" Ids="GcwBiOkK6yYLMIWaO1bu47,FjcVCD85P7rNUixMc4dnAb" />
<Link Id="V4GUS9YKW1DMvCWy42IQlR" Ids="MoLQ0qU4RsULn9rffvEGLA,Ha3u8Y1XOrGQSO9xYTAOhc" />
<Link Id="LfqsmqJYNlQP7OXuS8AXKM" Ids="QoIzNtEq5FlNld78GoQh21,Rb0xeCos5GMNdkfAvHjy9h" />
<Link Id="UXmHMBl2DyhPFVqMDMiLuU" Ids="RvEn7fxJkndOvTePWYvK4W,P8opCKdZGiwQCg38n29BmR" />
<Link Id="SGg5RntqvluQGGAUXGOS6X" Ids="GqZjWCDRuddMtWY6quRWLQ,VR31fmcoJuALHSY6GqdGtm" />
<Link Id="PvWQgcQJIpGMDP7ZbHat2t" Ids="AlxJbR46JusPwmmm3bHjqB,LQNIx3YpgJFMU1mqlnf9lE" />
<Link Id="PAtcYHNLLvnLHr3Vkyy1VT" Ids="BbCn4sIR3rEMQJaO5pWlUa,Ukxi5Y2dGrKNbBtSfSo3Ro" />
<Link Id="QcKPiM82gRVMq00yON5WPx" Ids="T81c92umMgpOCdmKHvc6JP,UQF0CprnjQKNXhOgYnmexN" />
<Link Id="InLD8uLL8FCM43SmenctkB" Ids="FDzZZIe7a6MQQzOcvUntJu,OALmMChIk2UQAuhxxcXzaO,CzR0eIhJRLLO197jn6SHr1" />
<Link Id="GaNDGJd4eo2PlpwOGiVoqs" Ids="CzR0eIhJRLLO197jn6SHr1,GyDuJ2ramBQLBrZZtqKMcn" />
<Link Id="MssMjgdfUu3LbU34o1WpVF" Ids="K9HhWXJrAMLQGswkHX6LcH,HOCp84LBLUgPHx7tRYROCg" />
<Link Id="MsMdCVBwCRxMUQJFrkm6CU" Ids="K9HhWXJrAMLQGswkHX6LcH,F7j8rEkufXlNGIKHypK0Tt" />
<Link Id="IPqa4c2DapsOmtXRUx5Ypg" Ids="GRb9RdaHYFkMRjL0HZLvJr,FIFqN6Ciw7nOyYRXJQIX56" />
<Link Id="OUFkigtAHkcOerVKfOXzOj" Ids="PnFzM9ddx4lLNoIyIuIOnX,S99Z0wqX2c4NHS2GhmfU9a" />
<Slot Id="HUHp3CpcUuqNqTH0wYK6lS" Name="midi_track" />
<Link Id="U56X885cgtyNIKUeBBMciO" Ids="Kf4rNZVQVviPZU75X5H3AJ,LhdJRMmEz1tPzgFPhwnTG1" />
<Link Id="Dci5lvWcIPjMJpi4i0o4Bk" Ids="NKTIR29KQhQOvIqHCPoEBA,Dz3ahB7cQpxPVk4L6fmnHQ" />
<Link Id="B27j6R1TPi0Le5SkfmSl4c" Ids="Iny0nqH0F5cNvSpve7sYbj,UqQnXqnzzwFMFXIYwxhx9W" IsHidden="true" />
<Link Id="Ps9byxAG1sdOfX7N3TqSoi" Ids="UqQnXqnzzwFMFXIYwxhx9W,VbPpaBAIycWOHP9jWFDHxQ" />
<Link Id="Nui9sDKG8kKPwHM1Pq0vM7" Ids="M7ixJt3q8AfPaUFW6xN3nj,UVChdbHC7jcPFw1zmUdsB4" />
<Link Id="TD2lUK9seAjPBoZ68G0F0q" Ids="SCSM4eQNrb9MIPzTOsWeaM,MgIghmqOfAfM0ER7VOaDcQ" IsFeedback="true" />
<Link Id="VaTfD5cKyo8M5ZBXYKnuDW" Ids="KOffRc4ac5eQLCdOFSvxK4,MgIghmqOfAfM0ER7VOaDcQ" />
<Link Id="CSQEmtO2aocLkYzlGl67zw" Ids="MgIghmqOfAfM0ER7VOaDcQ,QIoXsngO1Z5PMaNU0PneoA" />
<Link Id="HcnjMTIBOB2LAZT2j17IdW" Ids="Khq58ZkZ3CbQAAIqjjvL8D,SCSM4eQNrb9MIPzTOsWeaM" />
<Link Id="GgfEuIxo7plNzbGOmPLdi4" Ids="SCSM4eQNrb9MIPzTOsWeaM,BimbsRrF7B6M06QOj8ge6q" />
<Link Id="UJD7dZOqLICMUKgIwn4gBX" Ids="GlfjSULcaW1LmQKj5ZGwrx,Tuxrp0xcNnyNUHL8aA0lNs" />
<Link Id="QLga8V9OIOFLbFO6ggNwRb" Ids="Dh3Jz7EXHX3QcDI3CTMIUd,GYvyceTnW4hMnMfaa175MI" IsFeedback="true" />
<Link Id="EZ0BOi67MXALSRf7tuDbzY" Ids="Rp0R8WOes5hNDQf8culDiw,Dh3Jz7EXHX3QcDI3CTMIUd" />
<Link Id="PiGTAyDn7dlNPswdgPf4GC" Ids="Dh3Jz7EXHX3QcDI3CTMIUd,EAGudtSxf8NP13bwhPThME" />
<Link Id="GWCVI2Y2tlMLiIFcyj0ojZ" Ids="D7JlxTuNZQzOtL6jMUy887,GYvyceTnW4hMnMfaa175MI" />
<Link Id="NFsMGPtCiOAOyM3zjbfLF7" Ids="GYvyceTnW4hMnMfaa175MI,Kf4rNZVQVviPZU75X5H3AJ" />
<Link Id="RapJvxaALzENC2qaIDaMdF" Ids="GCLmL52cTowM3cDeQgFvbK,GHVwi5KyFkKOwWttEpa0i9" />
<Link Id="LdA1467KWZ8MwRKh9qVwJq" Ids="BSseVndCOgoO2T61iJh7g5,Rp0R8WOes5hNDQf8culDiw" />
<Link Id="BR4PA6MfKEaLYusGoytfHI" Ids="Ryr8RYBjtq2Mq5Ty9QigoO,DqFrJQt2xCsPn6Wz8BeXnP" />
<Link Id="Ofy1mZuiIe4Ng5pfjZ5hIA" Ids="E1UAq93KRQjOvZzfW6vfcj,PQDMnN8TUXhNfdW0GpibK3" />
<Link Id="Ex4OxAxGND2NGROGMPRWu2" Ids="UqQnXqnzzwFMFXIYwxhx9W,Ndv174siLNKO8JEDNP0W6z" />
<Link Id="HTMoy3pwlUnMMOW8PU8ulw" Ids="Lj0citAyHozN6zpnxupAIE,Q7KLqopcjpcP2Fcw1D89kJ" />
<Link Id="U0i1c21ckSxMFgjnoUbCKI" Ids="IsG2XNyJrTJNR0IEOuIGnS,LmLggO18bEzOaLxy7J3uce" />
<Link Id="AqDItq2U28gMLGPWWdxVi0" Ids="U7gwvIxf1bNNiNN4ylZ3D5,KqLJEIe761CP02S2e4Osv7" />
<Link Id="FWvIoB3wdMcQEl6RmODoZw" Ids="U7gwvIxf1bNNiNN4ylZ3D5,AwyjTTju5XuOe88N0aberO" />
<Link Id="BVr1WhwK0k3QOkEwagvu6j" Ids="N8SlENbMxmiN2FhqfqWE3Z,H0XiRaopz69OLfTWhxaj9J" />
</Patch>
</Node>
</Patch>
<NugetDependency Id="DFBSbcI2aTwMcNY5t5WwxR" Location="VL.CoreLib" Version="2021.3.3" />
<NugetDependency Id="CY5CSRHaOUyO1ExtyOytQi" Location="VL.IO.Midi" Version="1.0.3" />
<NugetDependency Id="EG6LJzlypvjLM0xvP0lb8o" Location="VL.Skia" Version="2021.3.3" />
<NugetDependency Id="Peqe0ICp3O3LfHhS0pFqok" Location="VL.CoreLib.Windows" Version="2021.3.3" />
</Document>

@ -0,0 +1,653 @@
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:p="property" Id="Qxne4YmdcqxMJ3qy6p6S0p" LanguageVersion="2021.3.3.131" Version="0.128">
<NugetDependency Id="UFhF3IwgraPLGO1ZIHkdaj" Location="VL.CoreLib" Version="2021.3.3" />
<Patch Id="NRfz2WSXcE5PGSMt4kielM">
<Canvas Id="RKpSMBegxkOOX0KhfXMWyA" DefaultCategory="Main" BordersChecked="false" CanvasType="FullCategory" />
<!--
************************ Application ************************
-->
<Node Name="Application" Bounds="100,100" Id="QNHt3FdS1KhLiponc0Y8NK">
<p:NodeReference>
<Choice Kind="ContainerDefinition" Name="Process" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Patch Id="EAmblniAbgUNSGIhGWR3I1">
<Canvas Id="Dbzgxuuqd81PvaSyCPvUZL" CanvasType="Group">
<Node Bounds="890,377,105,19" Id="CUuRe3upAfNP1qg3XDIW2Z">
<p:NodeReference LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="MidiPlayer" />
</p:NodeReference>
<Pin Id="CtZtBaZmQdaQWEyLKwnijY" Name="Filename" Kind="InputPin" />
<Pin Id="C1A0FRtMkpzMsfhymipAZb" Name="Reload" Kind="InputPin" />
<Pin Id="FDaEabZ7rsaQEZkZtVep2H" Name="Play" Kind="InputPin" />
<Pin Id="C3DWjSykOS7PiZxqEqLNEp" Name="Seek Position" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Float32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="HOCp84LBLUgPHx7tRYROCg" Name="Do Seek" Kind="InputPin" />
<Pin Id="Gfl4c2ZnY68OUbxnVvd6IT" Name="Message" Kind="InputPin" />
<Pin Id="AtuF2RFPReLLpcAqErgZLw" Name="Channel Messages" Kind="OutputPin" />
<Pin Id="OyPqbG04M4GO5l2QEQbtYh" Name="BPM" Kind="OutputPin" />
<Pin Id="BGWnIIHA8BlOwEhuw2v6Dc" Name="Text Messages" Kind="OutputPin" />
<Pin Id="QqtFB9muj4hLsWBf9U5CXK" Name="Tempo infos" Kind="OutputPin" />
<Pin Id="OwAeCwnqTWGPXfXCvjrrNP" Name="Time Signature Infos" Kind="OutputPin" />
<Pin Id="SadZzY9RUesQSj04oQ7hne" Name="Length" Kind="OutputPin" />
<Pin Id="PEeyE083J0COKFT5sBlrDF" Name="Position" Kind="OutputPin" />
<Pin Id="Ejn3LRTtooPPTiUxQTJ8Bu" Name="Text Track" Kind="OutputPin" />
</Node>
<Pad Id="GRb9RdaHYFkMRjL0HZLvJr" Comment="Filename" Bounds="873,179,204,11" ShowValueBox="true" isIOBox="true" Value="test.mid">
<p:TypeAnnotation LastCategoryFullName="IO" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Path" />
</p:TypeAnnotation>
</Pad>
<Pad Id="HvUPmGgDKcxMyUUrRRrkXc" Comment="Play" Bounds="1065,216,35,35" ShowValueBox="true" isIOBox="true" Value="True">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Boolean" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Toggle</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Pad Id="VXskLcEOpv5NO5eGohi9FA" Comment="Reload" Bounds="918,245,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Node Bounds="937,500,52,19" Id="SghoOkA1P8yQYVsEhxUeBa">
<p:NodeReference LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="MidiOut" />
</p:NodeReference>
<Pin Id="Jj4e2u0VUjqPnZz8SbC1mv" Name="Messages" Kind="InputPin" />
<Pin Id="OO6QUQrGRCILqAO3W1ongj" Name="Device" Kind="InputPin" DefaultValue="Microsoft GS Wavetable Synth">
<p:TypeAnnotation LastCategoryFullName="IO.Midi" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="MidiOutputDevice" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Egi5d5MChm9MQmOOYzYQ1s" Name="Is Open" Kind="OutputPin" />
</Node>
<Node Bounds="818,502,76,19" Id="IoorHWtzXdpQQxUY6Z5Atx">
<p:NodeReference LastCategoryFullName="IO.Midi.MessageFilter" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="Category" Name="Midi" />
<CategoryReference Kind="Category" Name="MessageFilter" />
<Choice Kind="ProcessAppFlag" Name="ChannelFilter" />
</p:NodeReference>
<Pin Id="Q9mg6mxpaBWP2sxAjTlQtZ" Name="Value" Kind="InputPin" />
<Pin Id="CDdPHKdxbfROpf7s8Xl6Bt" Name="Channel" Kind="InputPin" DefaultValue="1">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="PvWptmnH3hyOwridxUX07e" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="922,1078,105,19" Id="Nynfn1OCXrRQSzRYOG3L7O">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Group" />
</p:NodeReference>
<Pin Id="BAJvSxwAR6ePm67LJWhuSA" Name="Input" Kind="InputPin" />
<Pin Id="CS5O8P2qXgBOtAyBknrDPp" Name="Input 2" Kind="InputPin" />
<Pin Id="MoLQ0qU4RsULn9rffvEGLA" Name="Output" Kind="OutputPin" />
<Pin Id="Q9swiVPmgdaOMvPpfBkT2V" Name="Input 3" Kind="InputPin" />
<Pin Id="GKQuFvajLuPNdosZoFUbHb" Name="Input 4" Kind="InputPin" />
<Pin Id="NNiSx8gl8TrOFR7ssPEsv2" Name="Input 5" Kind="InputPin" />
<Pin Id="O0ajR6nWgOiMicqxF1teGc" Name="Input 6" Kind="InputPin" />
</Node>
<Pad Id="L53DWDfObDJM0DBJ5WDZWL" Comment="Channel Messages" Bounds="819,560" isIOBox="true" />
<Node Bounds="1067,609,65,19" Id="G3MymnJ6GPoPEGOL3AG7pc">
<p:NodeReference LastCategoryFullName="Reactive" LastSymbolSource="VL.Reactive.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="HoldLatest" />
</p:NodeReference>
<Pin Id="RCj0Rr0mfDlMzMP2HvdpvB" Name="Async Notifications" Kind="InputPin" />
<Pin Id="NnXKFeyvL5oNla945KQC1P" Name="Reset" Kind="InputPin" />
<Pin Id="GcwBiOkK6yYLMIWaO1bu47" Name="Value" Kind="OutputPin" />
<Pin Id="Hd4aLZuVKynPYtEHoQsgZr" Name="On Data" Kind="OutputPin" />
</Node>
<Node Bounds="1002,1018,105,19" Id="GmnFrqgDbQSMHFbavmXyj7">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Layers.Text" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Text" />
<CategoryReference Kind="Category" Name="Text" NeedsToBeDirectParent="true">
<p:OuterCategoryReference Kind="Category" Name="Layers" NeedsToBeDirectParent="true" />
</CategoryReference>
</p:NodeReference>
<Pin Id="NQjTYoJIhcwN9b1KqR0I5E" Name="Position" Kind="InputPin" />
<Pin Id="RzWUYLyo7QBPLlSVKBEvU8" Name="Size" Kind="InputPin" />
<Pin Id="GTV6xfXcwvyP1IyRzu0TIZ" Name="Anchor" Kind="InputPin" />
<Pin Id="RxLGlrPJO74QHk0jWooK0T" Name="Text" Kind="InputPin" />
<Pin Id="Rb0xeCos5GMNdkfAvHjy9h" Name="Paint" Kind="InputPin" />
<Pin Id="NqWe0FzWznxPTlsvf5hWQ5" Name="Enabled" Kind="InputPin" />
<Pin Id="J40uE8tLEmOP53j25Y5FlF" Name="Output" Kind="OutputPin" />
<Pin Id="NIaRagakjmOQKlgurobxp6" Name="Baseline Position" Kind="OutputPin" />
</Node>
<Node Bounds="1064,844,65,19" Id="PYtiRu1l8wXOL9U8qbzUlD">
<p:NodeReference LastCategoryFullName="Collections.Spread" LastSymbolSource="VL.Collections.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Queue" />
</p:NodeReference>
<Pin Id="DiJY1xFeQCGM6fq6X0wLl7" Name="Input" Kind="InputPin" />
<Pin Id="AoPhcpmDzwsPtHIwIe4I1Q" Name="Frame Count" Kind="InputPin" DefaultValue="-1">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="VR31fmcoJuALHSY6GqdGtm" Name="Clear" Kind="InputPin" />
<Pin Id="KmnOyPozjE4LdT4PKjTPvc" Name="Insert" Kind="InputPin" />
<Pin Id="CPb1aQ3ZRedNlDsst1AUDZ" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="1059,917,48,19" Id="D0lzFlPwT7jOj9KtagIeIz">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Concat (Spectral)" />
</p:NodeReference>
<Pin Id="EHJfahlkxzSPP25mqe8veU" Name="Values" Kind="InputPin" />
<Pin Id="PrB4jWmbDfyOE4dhPPQhYr" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="1064,879,51,26" Id="Vhedvsa2JzhLnkkG5GRTD1">
<p:NodeReference LastCategoryFullName="Collections.Spread" LastSymbolSource="VL.Collections.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Reverse" />
<CategoryReference Kind="RecordType" Name="Spread" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="CAHhZLIT7ttMpkrBtDalIJ" Name="Input" Kind="StateInputPin" />
<Pin Id="LaynhdAIublPtGE78L1pcq" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="1095,769,25,19" Id="CvYWbhYEjPWOn5Zz0FWKFo">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="=" />
</p:NodeReference>
<Pin Id="FjcVCD85P7rNUixMc4dnAb" Name="Input" Kind="InputPin" />
<Pin Id="CZUlcHmmrDSLltcSu8Wvj7" Name="Input 2" Kind="InputPin" DefaultValue="~">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="RvEn7fxJkndOvTePWYvK4W" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="903,1125,145,19" Id="PydX1iADdWdQXDQ9fe00v3">
<p:NodeReference LastCategoryFullName="Graphics.Skia" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="Renderer" />
</p:NodeReference>
<Pin Id="Ng9Pf7rlmmXPD25C012pzX" Name="Bounds" Kind="InputPin" DefaultValue="1234, 73, 639, 611">
<p:TypeAnnotation LastCategoryFullName="System.Windows" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="TypeFlag" Name="Rectangle" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Ha3u8Y1XOrGQSO9xYTAOhc" Name="Input" Kind="InputPin" />
<Pin Id="MsWhQerOjHPLxBiCfDxxX6" Name="Color" Kind="InputPin" DefaultValue="0.4196078, 0.3921569, 0.7647059, 1">
<p:TypeAnnotation LastCategoryFullName="Color" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="RGBA" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Rihn29phjcILvVyQiiPZdj" Name="Clear" Kind="InputPin" />
<Pin Id="UUUurSOQJBCNU9FXDa6HYJ" Name="Space" Kind="InputPin" />
<Pin Id="FOMbQjTd8pJPyuiEKDWpGn" Name="Show Cursor" Kind="InputPin" />
<Pin Id="AHwqlBaS0VsLWLgPlggN9F" Name="VSync" Kind="InputPin" />
<Pin Id="Kb4xrq65btjPruvSdGIcn6" Name="Enabled" Kind="InputPin" />
<Pin Id="FDzZZIe7a6MQQzOcvUntJu" Name="Form" Kind="OutputPin" />
<Pin Id="HnkzJTnkGvfMlRzOGwtrmP" Name="ClientBounds" Kind="OutputPin" />
<Pin Id="L7XTFFsz8MrLPsIfqisVFE" Name="Render Time" Kind="OutputPin" />
</Node>
<Node Bounds="1079,972,165,19" Id="QwZ5i8A9AC7MVno90JfL8m">
<p:NodeReference LastCategoryFullName="Graphics.Skia.Text" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="FontAndParagraph" />
</p:NodeReference>
<Pin Id="Iy2XQg8pIyRQIQg833PuxK" Name="Input" Kind="InputPin" />
<Pin Id="DKcFXOvICALMl1ZXmY09WL" Name="Family Name" Kind="InputPin" DefaultValue="Ortica">
<p:TypeAnnotation LastCategoryFullName="Text" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="FontList" />
</p:TypeAnnotation>
</Pin>
<Pin Id="SWk0pkSJtg8PTNKiFbh6jg" Name="Style" Kind="InputPin" DefaultValue="Bold">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="SKTypefaceStyle" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Gd8ahPQT7OpLyzSMXQlipm" Name="Size" Kind="InputPin" DefaultValue="0.18">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Float32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="MeuBWlODJISOACbRKxtgg3" Name="Color" Kind="InputPin" />
<Pin Id="V5HKoSNoHUALuNjvthaoZR" Name="Line Height in em" Kind="InputPin" />
<Pin Id="NJDg39xpqPROIk8ekdiNF7" Name="Horizontal Alignment" Kind="InputPin" DefaultValue="Center">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="SKTextAlign" />
</p:TypeAnnotation>
</Pin>
<Pin Id="AlY9TcRpMbBPzkYDrSTnQP" Name="Vertical Alignment" Kind="InputPin" DefaultValue="Center">
<p:TypeAnnotation LastCategoryFullName="Graphics.Skia.Unwrapped.Enums" LastSymbolSource="VL.Skia.vl">
<Choice Kind="TypeFlag" Name="VerticalTextAlignment" />
</p:TypeAnnotation>
</Pin>
<Pin Id="A8FXu8aJdUjLcnV7DwISs4" Name="Show Helpers" Kind="InputPin" />
<Pin Id="QoIzNtEq5FlNld78GoQh21" Name="Output" Kind="OutputPin" />
</Node>
<Pad Id="AlxJbR46JusPwmmm3bHjqB" Comment="Reset" Bounds="1203,694,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Node Bounds="1103,806,66,19" Id="Pn96rkq6CVYQDs4c3Kjw5U">
<p:NodeReference LastCategoryFullName="Primitive.Boolean" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="OR" />
</p:NodeReference>
<Pin Id="P8opCKdZGiwQCg38n29BmR" Name="Input" Kind="StateInputPin" />
<Pin Id="LQNIx3YpgJFMU1mqlnf9lE" Name="Input 2" Kind="InputPin" />
<Pin Id="GqZjWCDRuddMtWY6quRWLQ" Name="Output" Kind="StateOutputPin" />
<Pin Id="F7j8rEkufXlNGIKHypK0Tt" Name="Input 3" Kind="InputPin" />
</Node>
<Node Bounds="892,1197,152,164" Id="HkodzUbbH0BN4qYNBxPs17">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ProcessStatefulRegion" Name="Cache" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="AtwNP0yd47jLv7auY6NoOM" Name="Force" Kind="InputPin" />
<Pin Id="M8rxqN8dI9rPNxqfcuqrP2" Name="Dispose Cached Outputs" Kind="InputPin" />
<Pin Id="J9bz1xPcRqnNmxR9llgsuQ" Name="Has Changed" Kind="OutputPin" />
<Patch Id="OJEFIxMOHi9OCbzUeEylMt" ManuallySortedPins="true">
<Patch Id="TwoH793u545MMlvoGcyWNC" Name="Create" ManuallySortedPins="true" />
<Patch Id="L5oqYDpi9AuN5Z6w7b8CkO" Name="Then" ManuallySortedPins="true" />
<Node Bounds="908,1322,105,19" Id="JyEosIJygcBQLrVdnLR4RK">
<p:NodeReference LastCategoryFullName="System.Windows" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="SetWindowState" />
</p:NodeReference>
<Pin Id="Ukxi5Y2dGrKNbBtSfSo3Ro" Name="Input" Kind="InputPin" />
<Pin Id="VHbkGle8AvNM8XJTeOeVgX" Name="Caption" Kind="InputPin" DefaultValue="Renderino 123">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="ELwt5TBx8B0MkkAuUH9GCK" Name="Border Style" Kind="InputPin" />
<Pin Id="JsWAsHEPHiENYETJOfabjb" Name="Control Box" Kind="InputPin" />
<Pin Id="C5q7dEcBJNGNIqIikNVUTe" Name="State" Kind="InputPin" />
<Pin Id="Ast4smLxDogMUJHVmGEAll" Name="Visible" Kind="InputPin" />
<Pin Id="FxC2EpQh3jfOMPejiurZwY" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="907,1271,63,26" Id="S2bMY7s08XCQOxPzgcCS5X">
<p:NodeReference LastCategoryFullName="Graphics.Skia.SkiaRenderer" LastSymbolSource="VL.Skia.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="SetSize" />
<CategoryReference Kind="ClassType" Name="SkiaRenderer" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="GyDuJ2ramBQLBrZZtqKMcn" Name="Input" Kind="StateInputPin" />
<Pin Id="UQF0CprnjQKNXhOgYnmexN" Name="Bounds In DIP" Kind="InputPin" />
<Pin Id="BbCn4sIR3rEMQJaO5pWlUa" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="967,1228,65,26" Id="HgyTmhcGYB7LfHZbpQkEyM">
<p:NodeReference LastCategoryFullName="System.Windows.Rectangle" LastSymbolSource="VL.CoreLib.Windows.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Rectangle" />
<Choice Kind="OperationCallFlag" Name="Create" />
<PinReference Kind="InputPin" Name="Height" />
</p:NodeReference>
<Pin Id="GigoWSG8HzXQJKqsUib3fN" Name="X" Kind="InputPin" />
<Pin Id="LHUynBfe90fLlyH0zdWsGw" Name="Y" Kind="InputPin" />
<Pin Id="SOkuAE1E3LKMpCmIgLGBsr" Name="Width" Kind="InputPin" DefaultValue="960">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="RetEJxm6TJbP3GXsMXI0Yn" Name="Height" Kind="InputPin" DefaultValue="540">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="T81c92umMgpOCdmKHvc6JP" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
<ControlPoint Id="CzR0eIhJRLLO197jn6SHr1" Bounds="904,1203" Alignment="Top" />
</Node>
<Node Bounds="1088,263,45,19" Id="GV55GZsaRAsLTrXgYvKWnw">
<p:NodeReference LastCategoryFullName="Animation" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="LFO" />
</p:NodeReference>
<Pin Id="Q6BlksWcXrALX0fYSDqp71" Name="Period" Kind="InputPin" DefaultValue="20">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Float32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Ja8PMCN1EsuMnSrSmZ8RM5" Name="Pause" Kind="InputPin" />
<Pin Id="FXNkabuKCKjQWmrgxJ5hCT" Name="Reset" Kind="ApplyPin" />
<Pin Id="R19TkQWmuP3OiqBJ7fNByK" Name="Phase" Kind="OutputPin" />
<Pin Id="K9HhWXJrAMLQGswkHX6LcH" Name="On New Cycle" Kind="OutputPin" />
<Pin Id="VkkenqSOTb7OXNRcTLjrBV" Name="Cycles" Kind="OutputPin" />
</Node>
<Node Bounds="468,851,55,19" Id="N5ZpwzL3TMDPIK0rijPSmZ">
<p:NodeReference LastCategoryFullName="System.Conversion" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToString" />
</p:NodeReference>
<Pin Id="FIFqN6Ciw7nOyYRXJQIX56" Name="Input" Kind="InputPin" />
<Pin Id="PnFzM9ddx4lLNoIyIuIOnX" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="466,898,46,26" Id="CLgC43EhUTEOHkhVYpIFyK">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Create" />
<PinReference Kind="InputPin" Name="File Name" />
</p:NodeReference>
<Pin Id="S99Z0wqX2c4NHS2GhmfU9a" Name="File Name" Kind="InputPin" />
<Pin Id="GCLmL52cTowM3cDeQgFvbK" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="433,1650,80,80" Id="QSob9VPM34kOf2xRjyH5b4">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="If" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="H0XiRaopz69OLfTWhxaj9J" Name="Condition" Kind="InputPin" />
<Patch Id="Ee8kcrDcY9uOtZkTCdKwVz" ManuallySortedPins="true">
<Patch Id="S1mxNrrXqNaOEKASNCvXRs" Name="Create" ManuallySortedPins="true" />
<Patch Id="Ib5qZNWbgXJP7tyb0qJLPy" Name="Then" ManuallySortedPins="true" />
<Node Bounds="451,1679,44,26" Id="Ozt7zlWAt4FORbPVBMiuy2">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Save" />
<PinReference Kind="InputPin" Name="File Name" />
</p:NodeReference>
<Pin Id="LhdJRMmEz1tPzgFPhwnTG1" Name="Input" Kind="StateInputPin" />
<Pin Id="MXJplgWQuUdPlwkAP0QT62" Name="File Name" Kind="InputPin" DefaultValue="C:\Users\Francesco\Documents\vvvv\gamma\Sketches\karaoke\test_save.mid">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="J7sSK46hJIgOjxvDjqjWP9" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
</Node>
<Pad Id="U7gwvIxf1bNNiNN4ylZ3D5" Comment="Condition" Bounds="250,1041,35,35" ShowValueBox="true" isIOBox="true" Value="False">
<p:TypeAnnotation>
<Choice Kind="TypeFlag" Name="Boolean" />
<FullNameCategoryReference ID="Primitive" />
</p:TypeAnnotation>
<p:ValueBoxSettings>
<p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Bang</p:buttonmode>
</p:ValueBoxSettings>
</Pad>
<Pad Id="Rp0R8WOes5hNDQf8culDiw" SlotId="HUHp3CpcUuqNqTH0wYK6lS" Bounds="469,1021" />
<Pad Id="Kf4rNZVQVviPZU75X5H3AJ" SlotId="HUHp3CpcUuqNqTH0wYK6lS" Bounds="452,1616" />
<Node Bounds="393,1088,368,480" Id="BN68FRNfkXrLYtvH08j6qA">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="If" />
<FullNameCategoryReference ID="Primitive" />
</p:NodeReference>
<Pin Id="KqLJEIe761CP02S2e4Osv7" Name="Condition" Kind="InputPin" />
<Patch Id="Kgv6VvBxYAEPlJFKuBu9DS" ManuallySortedPins="true">
<Patch Id="QGbFkwOGrzXO8QiaxCuROe" Name="Create" ManuallySortedPins="true" />
<Patch Id="Fl7wCREHT8NMsh8s7Ghnv9" Name="Then" ManuallySortedPins="true" />
<Node Bounds="526,1115,79,19" Id="QJjHFgeiFbSQGPS3OdQcEb">
<p:NodeReference LastCategoryFullName="IO.Midi.Track" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="Track" />
<Choice Kind="OperationCallFlag" Name="CreateDefault" />
</p:NodeReference>
<Pin Id="Khq58ZkZ3CbQAAIqjjvL8D" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="515,1164,234,315" Id="TbzHj4xbwMvOUPKPMI8uzN">
<p:NodeReference LastCategoryFullName="Primitive" LastSymbolSource="VL.CoreLib.dll">
<Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
<Choice Kind="ApplicationStatefulRegion" Name="Repeat" />
<CategoryReference Kind="Category" Name="Primitive" />
</p:NodeReference>
<Patch Id="LfDUn23expdQLgQ2XicrES" ManuallySortedPins="true">
<Patch Id="FlcWF4ysJpwM95MvGLI9Z6" Name="Create" ManuallySortedPins="true" />
<Patch Id="UdeXfWvZkQwNRQAbuuMri9" Name="Update" ManuallySortedPins="true">
<Pin Id="Iny0nqH0F5cNvSpve7sYbj" Name="Index" Kind="InputPin" />
</Patch>
<Patch Id="UjAgwE78UjsNE5QPQ097JS" Name="Dispose" ManuallySortedPins="true" />
<Node Bounds="571,1338,76,26" Id="SOfKO6AbROwOWHQElYeR6l">
<p:NodeReference LastCategoryFullName="IO.Midi.Messages.ChannelMessage" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="RecordType" Name="ChannelMessage" />
<Choice Kind="OperationCallFlag" Name="Create" />
</p:NodeReference>
<Pin Id="BTQfV6TeWqILJesYH4IEf7" Name="Command" Kind="InputPin" DefaultValue="NoteOn">
<p:TypeAnnotation LastCategoryFullName="IO.Midi.Messages" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="ChannelCommand" />
</p:TypeAnnotation>
</Pin>
<Pin Id="LQUn3jO7dMKO6FNgBDkmMM" Name="Midi Channel" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="Tuxrp0xcNnyNUHL8aA0lNs" Name="Data 1" Kind="InputPin" DefaultValue="60">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="HOJ18VEMVduPWXeAxzAvDd" Name="Data 2" Kind="InputPin" DefaultValue="0">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="GnRGQEPAezFNvuJGrYINc4" Name="Output" Kind="StateOutputPin" />
</Node>
<Pad Id="NKTIR29KQhQOvIqHCPoEBA" Comment="Center" Bounds="640,1210,20,15" ShowValueBox="true" isIOBox="true" Value="60">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pad>
<ControlPoint Id="UqQnXqnzzwFMFXIYwxhx9W" Bounds="539,1263" />
<Node Bounds="544,1287,25,19" Id="DqquWuzYo7rMyzembZ4IsG">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="*" />
</p:NodeReference>
<Pin Id="VbPpaBAIycWOHP9jWFDHxQ" Name="Input" Kind="InputPin" />
<Pin Id="MWwLMJYl54iPZ41pVv3PKM" Name="Input 2" Kind="InputPin" DefaultValue="100">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="M7ixJt3q8AfPaUFW6xN3nj" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="527,1433,45,26" Id="ChcBjlSoFG8Mc7TqNil3HA">
<p:NodeReference LastCategoryFullName="IO.Midi.Track" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Insert" />
<CategoryReference Kind="ClassType" Name="Track" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="BimbsRrF7B6M06QOj8ge6q" Name="Input" Kind="StateInputPin" />
<Pin Id="UVChdbHC7jcPFw1zmUdsB4" Name="Position" Kind="InputPin" />
<Pin Id="PQDMnN8TUXhNfdW0GpibK3" Name="Message" Kind="InputPin" />
<Pin Id="KOffRc4ac5eQLCdOFSvxK4" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="631,1243,54,19" Id="Q3CX8QL5CP7OXVpM0Up7l2">
<p:NodeReference LastCategoryFullName="Math" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="Random" />
</p:NodeReference>
<Pin Id="Dz3ahB7cQpxPVk4L6fmnHQ" Name="From" Kind="InputPin" />
<Pin Id="IZ9hpkHJfafPtTS3UhOtGQ" Name="To" Kind="InputPin" DefaultValue="80">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="GlfjSULcaW1LmQKj5ZGwrx" Name="Output" Kind="OutputPin" />
</Node>
<Node Bounds="614,1413,64,26" Id="IwMYTUskSEsQK5iREPrTCr">
<p:NodeReference LastCategoryFullName="IO.Midi.Messages.MetaMessage" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="RecordType" Name="MetaMessage" />
<Choice Kind="OperationCallFlag" Name="Create" />
</p:NodeReference>
<Pin Id="CntfVNOuGO4LhEuZxlpnkh" Name="Type" Kind="InputPin" DefaultValue="Text">
<p:TypeAnnotation LastCategoryFullName="IO.Midi.Messages" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="TypeFlag" Name="MetaType" />
</p:TypeAnnotation>
</Pin>
<Pin Id="DqFrJQt2xCsPn6Wz8BeXnP" Name="Data" Kind="InputPin" />
<Pin Id="E1UAq93KRQjOvZzfW6vfcj" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="684,1374,52,19" Id="UOJOkrqmvKIOBzM2MjdrSv">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToBytes" />
<CategoryReference Kind="StringType" Name="String" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="LmLggO18bEzOaLxy7J3uce" Name="Input" Kind="StateInputPin" DefaultValue="">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="MmqYyRwZ3LmLeNueYDcDN5" Name="Encoding" Kind="InputPin" />
<Pin Id="Ryr8RYBjtq2Mq5Ty9QigoO" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="682,1301,55,19" Id="QOFHwMjYtVRMZUFnul2YRi">
<p:NodeReference LastCategoryFullName="System.Conversion" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="ToString" />
</p:NodeReference>
<Pin Id="Ndv174siLNKO8JEDNP0W6z" Name="Input" Kind="InputPin" />
<Pin Id="Lj0citAyHozN6zpnxupAIE" Name="Result" Kind="OutputPin" />
</Node>
<Node Bounds="694,1338,25,19" Id="FeLa0YNO1U1PUdkl7S7kWa">
<p:NodeReference LastCategoryFullName="Primitive.String" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="OperationCallFlag" Name="+" />
<CategoryReference Kind="StringType" Name="String" NeedsToBeDirectParent="true" />
</p:NodeReference>
<Pin Id="Q7KLqopcjpcP2Fcw1D89kJ" Name="Input" Kind="InputPin" />
<Pin Id="NuNfGlu7ELqNSCsMxwfp9N" Name="Input 2" Kind="InputPin" DefaultValue="karaoke">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="String" />
</p:TypeAnnotation>
</Pin>
<Pin Id="IsG2XNyJrTJNR0IEOuIGnS" Name="Output" Kind="OutputPin" />
</Node>
</Patch>
<Pin Id="MfpCa96NzivOqp0FQelP1p" Name="Iteration Count" Kind="InputPin" DefaultValue="10">
<p:TypeAnnotation LastCategoryFullName="Primitive" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="TypeFlag" Name="Integer32" />
</p:TypeAnnotation>
</Pin>
<Pin Id="ABNcsW38TI4QJJPWKMyGyB" Name="Break" Kind="OutputPin" />
<ControlPoint Id="MgIghmqOfAfM0ER7VOaDcQ" Bounds="532,1474" Alignment="Bottom" />
<ControlPoint Id="SCSM4eQNrb9MIPzTOsWeaM" Bounds="532,1171" Alignment="Top" />
</Node>
<Node Bounds="449,1492,44,26" Id="TsVZaVQLm4TQNZREFAbhkb">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Add" />
</p:NodeReference>
<Pin Id="EAGudtSxf8NP13bwhPThME" Name="Input" Kind="StateInputPin" />
<Pin Id="QIoXsngO1Z5PMaNU0PneoA" Name="Item" Kind="InputPin" />
<Pin Id="D7JlxTuNZQzOtL6jMUy887" Name="Output" Kind="StateOutputPin" />
</Node>
</Patch>
<ControlPoint Id="Dh3Jz7EXHX3QcDI3CTMIUd" Bounds="473,1094" Alignment="Top" />
<ControlPoint Id="GYvyceTnW4hMnMfaa175MI" Bounds="454,1562" Alignment="Bottom" />
</Node>
<Node Bounds="467,950,44,26" Id="HfnBpx7t0rhLD6jeGyfZC0">
<p:NodeReference LastCategoryFullName="IO.Midi.MidiFile" LastSymbolSource="VL.IO.Midi.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<CategoryReference Kind="ClassType" Name="MidiFile" />
<Choice Kind="OperationCallFlag" Name="Clear" />
</p:NodeReference>
<Pin Id="GHVwi5KyFkKOwWttEpa0i9" Name="Input" Kind="StateInputPin" />
<Pin Id="BSseVndCOgoO2T61iJh7g5" Name="Output" Kind="StateOutputPin" />
</Node>
<Node Bounds="338,1563,69,19" Id="IMb2PYtXybZMFAydy03pc9">
<p:NodeReference LastCategoryFullName="Control" LastSymbolSource="CoreLibBasics.vl">
<Choice Kind="NodeFlag" Name="Node" Fixed="true" />
<Choice Kind="ProcessAppFlag" Name="FrameDelay" />
</p:NodeReference>
<Pin Id="AwyjTTju5XuOe88N0aberO" Name="Value" Kind="InputPin" />
<Pin Id="N8SlENbMxmiN2FhqfqWE3Z" Name="Value" Kind="OutputPin" />
</Node>
</Canvas>
<Patch Id="LwFNQfJVFfvMyUgFzMRe5V" Name="Create" ParticipatingElements="CLgC43EhUTEOHkhVYpIFyK" />
<Patch Id="QMmNd6dBExQMMQN5kfiDeB" Name="Update" />
<ProcessDefinition Id="SxspM2BuqeDL2JWLuYWiq8">
<Fragment Id="KZ2Q6Bixkb8QIYwORwNAQd" Patch="LwFNQfJVFfvMyUgFzMRe5V" Enabled="true" />
<Fragment Id="UTzFHT6urjNOROlkUdRiNl" Patch="QMmNd6dBExQMMQN5kfiDeB" Enabled="true" />
</ProcessDefinition>
<Link Id="P9X8Jqcc4KeL5XTjwhSQfL" Ids="GRb9RdaHYFkMRjL0HZLvJr,CtZtBaZmQdaQWEyLKwnijY" />
<Link Id="Scy9HUkQB4wQIFMI0KZF8U" Ids="HvUPmGgDKcxMyUUrRRrkXc,FDaEabZ7rsaQEZkZtVep2H" />
<Link Id="AftyxMrswnAMmNRalRLYM0" Ids="VXskLcEOpv5NO5eGohi9FA,C1A0FRtMkpzMsfhymipAZb" />
<Link Id="NaYElUigqDFNbp4wIYX51l" Ids="AtuF2RFPReLLpcAqErgZLw,Q9mg6mxpaBWP2sxAjTlQtZ" />
<Link Id="PRq2ePEBbxrOpKgOsJvWNr" Ids="PvWptmnH3hyOwridxUX07e,L53DWDfObDJM0DBJ5WDZWL" />
<Link Id="Ib9hLo7dQ55Op4h1twmPPN" Ids="AtuF2RFPReLLpcAqErgZLw,Jj4e2u0VUjqPnZz8SbC1mv" />
<Link Id="VV2uV4KlESgMzydpD2aww3" Ids="BGWnIIHA8BlOwEhuw2v6Dc,RCj0Rr0mfDlMzMP2HvdpvB" />
<Link Id="MEb5HjUXZOQQPxTwbPpfQm" Ids="J40uE8tLEmOP53j25Y5FlF,NNiSx8gl8TrOFR7ssPEsv2" />
<Link Id="L3v2HviQytfNRq8OLj1aFV" Ids="GcwBiOkK6yYLMIWaO1bu47,DiJY1xFeQCGM6fq6X0wLl7" />
<Link Id="GMp4t4bRT8SPWMWlm8Vfk1" Ids="Hd4aLZuVKynPYtEHoQsgZr,KmnOyPozjE4LdT4PKjTPvc" />
<Link Id="TZ0RNtxxlxzQB1Es67YZwU" Ids="PrB4jWmbDfyOE4dhPPQhYr,RxLGlrPJO74QHk0jWooK0T" />
<Link Id="EwAIjBb6LCgMdicleNDxcC" Ids="CPb1aQ3ZRedNlDsst1AUDZ,CAHhZLIT7ttMpkrBtDalIJ" />
<Link Id="DT6RcB05gg3L3WWdcXK3j2" Ids="LaynhdAIublPtGE78L1pcq,EHJfahlkxzSPP25mqe8veU" />
<Link Id="Ot79PHuUMnGMlo4swvikzs" Ids="GcwBiOkK6yYLMIWaO1bu47,FjcVCD85P7rNUixMc4dnAb" />
<Link Id="V4GUS9YKW1DMvCWy42IQlR" Ids="MoLQ0qU4RsULn9rffvEGLA,Ha3u8Y1XOrGQSO9xYTAOhc" />
<Link Id="LfqsmqJYNlQP7OXuS8AXKM" Ids="QoIzNtEq5FlNld78GoQh21,Rb0xeCos5GMNdkfAvHjy9h" />
<Link Id="UXmHMBl2DyhPFVqMDMiLuU" Ids="RvEn7fxJkndOvTePWYvK4W,P8opCKdZGiwQCg38n29BmR" />
<Link Id="SGg5RntqvluQGGAUXGOS6X" Ids="GqZjWCDRuddMtWY6quRWLQ,VR31fmcoJuALHSY6GqdGtm" />
<Link Id="PAtcYHNLLvnLHr3Vkyy1VT" Ids="BbCn4sIR3rEMQJaO5pWlUa,Ukxi5Y2dGrKNbBtSfSo3Ro" />
<Link Id="QcKPiM82gRVMq00yON5WPx" Ids="T81c92umMgpOCdmKHvc6JP,UQF0CprnjQKNXhOgYnmexN" />
<Link Id="InLD8uLL8FCM43SmenctkB" Ids="FDzZZIe7a6MQQzOcvUntJu,CzR0eIhJRLLO197jn6SHr1" />
<Link Id="GaNDGJd4eo2PlpwOGiVoqs" Ids="CzR0eIhJRLLO197jn6SHr1,GyDuJ2ramBQLBrZZtqKMcn" />
<Link Id="MssMjgdfUu3LbU34o1WpVF" Ids="K9HhWXJrAMLQGswkHX6LcH,HOCp84LBLUgPHx7tRYROCg" />
<Link Id="IPqa4c2DapsOmtXRUx5Ypg" Ids="GRb9RdaHYFkMRjL0HZLvJr,FIFqN6Ciw7nOyYRXJQIX56" />
<Link Id="OUFkigtAHkcOerVKfOXzOj" Ids="PnFzM9ddx4lLNoIyIuIOnX,S99Z0wqX2c4NHS2GhmfU9a" />
<Slot Id="HUHp3CpcUuqNqTH0wYK6lS" Name="midi_track" />
<Link Id="U56X885cgtyNIKUeBBMciO" Ids="Kf4rNZVQVviPZU75X5H3AJ,LhdJRMmEz1tPzgFPhwnTG1" />
<Link Id="Dci5lvWcIPjMJpi4i0o4Bk" Ids="NKTIR29KQhQOvIqHCPoEBA,Dz3ahB7cQpxPVk4L6fmnHQ" />
<Link Id="B27j6R1TPi0Le5SkfmSl4c" Ids="Iny0nqH0F5cNvSpve7sYbj,UqQnXqnzzwFMFXIYwxhx9W" IsHidden="true" />
<Link Id="Ps9byxAG1sdOfX7N3TqSoi" Ids="UqQnXqnzzwFMFXIYwxhx9W,VbPpaBAIycWOHP9jWFDHxQ" />
<Link Id="Nui9sDKG8kKPwHM1Pq0vM7" Ids="M7ixJt3q8AfPaUFW6xN3nj,UVChdbHC7jcPFw1zmUdsB4" />
<Link Id="TD2lUK9seAjPBoZ68G0F0q" Ids="SCSM4eQNrb9MIPzTOsWeaM,MgIghmqOfAfM0ER7VOaDcQ" IsFeedback="true" />
<Link Id="VaTfD5cKyo8M5ZBXYKnuDW" Ids="KOffRc4ac5eQLCdOFSvxK4,MgIghmqOfAfM0ER7VOaDcQ" />
<Link Id="CSQEmtO2aocLkYzlGl67zw" Ids="MgIghmqOfAfM0ER7VOaDcQ,QIoXsngO1Z5PMaNU0PneoA" />
<Link Id="HcnjMTIBOB2LAZT2j17IdW" Ids="Khq58ZkZ3CbQAAIqjjvL8D,SCSM4eQNrb9MIPzTOsWeaM" />
<Link Id="GgfEuIxo7plNzbGOmPLdi4" Ids="SCSM4eQNrb9MIPzTOsWeaM,BimbsRrF7B6M06QOj8ge6q" />
<Link Id="UJD7dZOqLICMUKgIwn4gBX" Ids="GlfjSULcaW1LmQKj5ZGwrx,Tuxrp0xcNnyNUHL8aA0lNs" />
<Link Id="QLga8V9OIOFLbFO6ggNwRb" Ids="Dh3Jz7EXHX3QcDI3CTMIUd,GYvyceTnW4hMnMfaa175MI" IsFeedback="true" />
<Link Id="EZ0BOi67MXALSRf7tuDbzY" Ids="Rp0R8WOes5hNDQf8culDiw,Dh3Jz7EXHX3QcDI3CTMIUd" />
<Link Id="PiGTAyDn7dlNPswdgPf4GC" Ids="Dh3Jz7EXHX3QcDI3CTMIUd,EAGudtSxf8NP13bwhPThME" />
<Link Id="GWCVI2Y2tlMLiIFcyj0ojZ" Ids="D7JlxTuNZQzOtL6jMUy887,GYvyceTnW4hMnMfaa175MI" />
<Link Id="NFsMGPtCiOAOyM3zjbfLF7" Ids="GYvyceTnW4hMnMfaa175MI,Kf4rNZVQVviPZU75X5H3AJ" />
<Link Id="RapJvxaALzENC2qaIDaMdF" Ids="GCLmL52cTowM3cDeQgFvbK,GHVwi5KyFkKOwWttEpa0i9" />
<Link Id="LdA1467KWZ8MwRKh9qVwJq" Ids="BSseVndCOgoO2T61iJh7g5,Rp0R8WOes5hNDQf8culDiw" />
<Link Id="BR4PA6MfKEaLYusGoytfHI" Ids="Ryr8RYBjtq2Mq5Ty9QigoO,DqFrJQt2xCsPn6Wz8BeXnP" />
<Link Id="Ofy1mZuiIe4Ng5pfjZ5hIA" Ids="E1UAq93KRQjOvZzfW6vfcj,PQDMnN8TUXhNfdW0GpibK3" />
<Link Id="Ex4OxAxGND2NGROGMPRWu2" Ids="UqQnXqnzzwFMFXIYwxhx9W,Ndv174siLNKO8JEDNP0W6z" />
<Link Id="HTMoy3pwlUnMMOW8PU8ulw" Ids="Lj0citAyHozN6zpnxupAIE,Q7KLqopcjpcP2Fcw1D89kJ" />
<Link Id="U0i1c21ckSxMFgjnoUbCKI" Ids="IsG2XNyJrTJNR0IEOuIGnS,LmLggO18bEzOaLxy7J3uce" />
<Link Id="AqDItq2U28gMLGPWWdxVi0" Ids="U7gwvIxf1bNNiNN4ylZ3D5,KqLJEIe761CP02S2e4Osv7" />
<Link Id="FWvIoB3wdMcQEl6RmODoZw" Ids="U7gwvIxf1bNNiNN4ylZ3D5,AwyjTTju5XuOe88N0aberO" />
<Link Id="BVr1WhwK0k3QOkEwagvu6j" Ids="N8SlENbMxmiN2FhqfqWE3Z,H0XiRaopz69OLfTWhxaj9J" />
<Link Id="IsuEe5GaBFZOzuiEoeyEdh" Ids="AlxJbR46JusPwmmm3bHjqB,F7j8rEkufXlNGIKHypK0Tt" />
<Link Id="GuZCYnKnXFqMwZWGgsnjuV" Ids="K9HhWXJrAMLQGswkHX6LcH,LQNIx3YpgJFMU1mqlnf9lE" />
</Patch>
</Node>
</Patch>
<NugetDependency Id="DFBSbcI2aTwMcNY5t5WwxR" Location="VL.CoreLib" Version="2021.3.3" />
<NugetDependency Id="CY5CSRHaOUyO1ExtyOytQi" Location="VL.IO.Midi" Version="1.0.3" />
<NugetDependency Id="EG6LJzlypvjLM0xvP0lb8o" Location="VL.Skia" Version="2021.3.3" />
<NugetDependency Id="Peqe0ICp3O3LfHhS0pFqok" Location="VL.CoreLib.Windows" Version="2021.3.3" />
</Document>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.
Loading…
Cancel
Save