<mxfile host="Electron" modified="2025-02-20T18:01:24.888Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.2 Chrome/114.0.5735.289 Electron/25.9.4 Safari/537.36" etag="rIT3cVqIH2baaT9wWlVp" version="22.1.2" type="device" pages="4"> <diagram id="g-wcGVps3MkI6_XAwNEs" name="Core"> <mxGraphModel dx="2840" dy="1751" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="5IB1TeDA8rQgVov2ilYq-1" value="solo tool" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;glass=0;shadow=0;sketch=0;fillColor=none;align=left;verticalAlign=top;" parent="1" vertex="1"> <mxGeometry x="410" y="227" width="530" height="693" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="1" source="718ck8ZuCs3BOJF-nClt-3" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-6" value="<div>Current</div><div>position<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="MU1YSbBTE73kW5gn9q-V-5" vertex="1" connectable="0"> <mxGeometry x="0.2328" y="-1" relative="1" as="geometry"> <mxPoint x="10" y="1" as="offset" /> </mxGeometry> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-1" value="<div>media player</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> <mxGeometry x="440" y="648" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-11" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="300" y="508.0344827586207" as="sourcePoint" /> </mxGeometry> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-12" value="<div>Set current</div><div>song<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="9fq4LfI0W2HX4gTsbRt6-3" vertex="1" connectable="0"> <mxGeometry x="0.2112" relative="1" as="geometry"> <mxPoint y="-47" as="offset" /> </mxGeometry> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-4" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-4" value="Play" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="260" y="525" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-6" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-6" value="Pause" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="250" y="562" width="50" height="20" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-8" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-8" value="Stop" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="260" y="598" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-10" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-10" value="Set playback rate" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="190" y="635" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-12" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="9fq4LfI0W2HX4gTsbRt6-12" value="Set playback position" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="170" y="671" width="130" height="20" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-1" target="5IB1TeDA8rQgVov2ilYq-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-1" value="Add a/b limit" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="840" y="68" width="80" height="20" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-3" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-3" value="a/b controller" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> <mxGeometry x="650" y="408" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-9" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-9" value="Enable a/b mode" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="830" y="128" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="UmMSCIYVAIiNOvlXGdHZ-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-11" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-11" value="playlist" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> <mxGeometry x="440" y="408" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-13" target="5IB1TeDA8rQgVov2ilYq-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-13" value="Add song" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="360" y="98" width="70" height="20" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-15" target="MU1YSbBTE73kW5gn9q-V-11" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-15" value="Choose song" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="340" y="128" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-17" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-17" value="Set volume" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="220" y="708" width="80" height="20" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="MU1YSbBTE73kW5gn9q-V-22" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="MU1YSbBTE73kW5gn9q-V-22" value="Choose a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="840" y="98" width="100" height="20" as="geometry" /> </mxCell> <mxCell id="718ck8ZuCs3BOJF-nClt-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="9fq4LfI0W2HX4gTsbRt6-1" target="718ck8ZuCs3BOJF-nClt-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="760.3103448275863" y="608" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="718ck8ZuCs3BOJF-nClt-5" value="<div>Current</div><div>position</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="718ck8ZuCs3BOJF-nClt-4" vertex="1" connectable="0"> <mxGeometry x="0.2833" relative="1" as="geometry"> <mxPoint x="-23" as="offset" /> </mxGeometry> </mxCell> <mxCell id="718ck8ZuCs3BOJF-nClt-6" value="<div>Set current</div><div>position<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="718ck8ZuCs3BOJF-nClt-4" vertex="1" connectable="0"> <mxGeometry x="0.2833" relative="1" as="geometry"> <mxPoint x="-46" y="-120" as="offset" /> </mxGeometry> </mxCell> <mxCell id="718ck8ZuCs3BOJF-nClt-3" value="tick" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <mxGeometry x="750" y="648" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" parent="1" source="5IB1TeDA8rQgVov2ilYq-2" target="MU1YSbBTE73kW5gn9q-V-11" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-4" value="Add song" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5IB1TeDA8rQgVov2ilYq-3" vertex="1" connectable="0"> <mxGeometry x="0.2933" y="3" relative="1" as="geometry"> <mxPoint x="22" y="-4" as="offset" /> </mxGeometry> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="5IB1TeDA8rQgVov2ilYq-2" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-6" value="<div>Add a/b limit<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5IB1TeDA8rQgVov2ilYq-5" vertex="1" connectable="0"> <mxGeometry x="0.2833" y="-2" relative="1" as="geometry"> <mxPoint x="-32" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-2" value="<div>session</div><div>manager<br></div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> <mxGeometry x="550" y="258" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="5IB1TeDA8rQgVov2ilYq-14" target="5IB1TeDA8rQgVov2ilYq-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-14" value="Load session" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="445" y="58" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="5IB1TeDA8rQgVov2ilYq-15" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="630" y="258" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="5IB1TeDA8rQgVov2ilYq-15" value="Save session" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="445" y="28" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="PYF8YKytvgJsIEJjpRti-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="PYF8YKytvgJsIEJjpRti-1" target="718ck8ZuCs3BOJF-nClt-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="PYF8YKytvgJsIEJjpRti-1" value="Tick" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="700" y="940" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-1" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-1" value="Next a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="830" y="160" width="100" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-2" target="MU1YSbBTE73kW5gn9q-V-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-2" value="Previous a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="830" y="190" width="120" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-5" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-5" value="Jump to A" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="230" y="737" width="70" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-7" target="MU1YSbBTE73kW5gn9q-V-11" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-7" value="Next song" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="350" y="160" width="80" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="ofcqv09syQELO3cvxpxf-8" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="520" y="410" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-8" value="Previous song" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="330" y="190" width="100" height="20" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-11" target="9fq4LfI0W2HX4gTsbRt6-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-15" value="playing state<br>callback" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ofcqv09syQELO3cvxpxf-14" vertex="1" connectable="0"> <mxGeometry x="0.2283" y="-2" relative="1" as="geometry"> <mxPoint x="22" as="offset" /> </mxGeometry> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-11" value="<div>notifier</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"> <mxGeometry x="505" y="790" width="160" height="80" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="ofcqv09syQELO3cvxpxf-12" target="ofcqv09syQELO3cvxpxf-11" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="ofcqv09syQELO3cvxpxf-12" value="Register playing state callback" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> <mxGeometry x="110" y="820" width="200" height="20" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> <diagram id="yK3rgzEW7m2RTtpwjvJ6" name="MIDI"> <mxGraphModel dx="2731" dy="963" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="OKDEixDBbmxQMGRGU1jO-0" /> <mxCell id="OKDEixDBbmxQMGRGU1jO-1" parent="OKDEixDBbmxQMGRGU1jO-0" /> <mxCell id="KjrEduvjUaLFBeyMDJhb-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="OKDEixDBbmxQMGRGU1jO-1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="-270" y="247" as="sourcePoint" /> <mxPoint x="-110" y="247" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="KjrEduvjUaLFBeyMDJhb-20" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.75;exitDx=0;exitDy=0;" parent="OKDEixDBbmxQMGRGU1jO-1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="-110" y="280" as="sourcePoint" /> <mxPoint x="-270" y="280.5" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="KjrEduvjUaLFBeyMDJhb-21" value="MIDI bus" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1"> <mxGeometry x="-230" y="255" width="70" height="20" as="geometry" /> </mxCell> <mxCell id="KjrEduvjUaLFBeyMDJhb-22" value="Device" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1"> <mxGeometry x="-430" y="214.5" width="140" height="105.5" as="geometry" /> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" parent="OKDEixDBbmxQMGRGU1jO-1" source="fBglSRjiR8ACvM9LEDBr-1" target="fBglSRjiR8ACvM9LEDBr-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="80" y="294" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-3" value="callback" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="cDpx_x92aZCDt8U1TkIR-2" vertex="1" connectable="0"> <mxGeometry x="-0.2773" y="-1" relative="1" as="geometry"> <mxPoint x="10" as="offset" /> </mxGeometry> </mxCell> <mxCell id="fBglSRjiR8ACvM9LEDBr-1" value="mido" style="rounded=0;whiteSpace=wrap;html=1;" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1"> <mxGeometry x="-100" y="200" width="80" height="134.5" as="geometry" /> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="OKDEixDBbmxQMGRGU1jO-1" source="fBglSRjiR8ACvM9LEDBr-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="370" y="232.8888888888889" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-5" value="Set mapping" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="cDpx_x92aZCDt8U1TkIR-4" vertex="1" connectable="0"> <mxGeometry x="-0.2097" y="-2" relative="1" as="geometry"> <mxPoint x="17" y="-2" as="offset" /> </mxGeometry> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;" parent="OKDEixDBbmxQMGRGU1jO-1" source="fBglSRjiR8ACvM9LEDBr-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="360" y="300.66666666666663" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-7" value="Play/pause/stop<br>etc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="cDpx_x92aZCDt8U1TkIR-6" vertex="1" connectable="0"> <mxGeometry x="-0.26" y="-2" relative="1" as="geometry"> <mxPoint x="14" y="-21" as="offset" /> </mxGeometry> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="OKDEixDBbmxQMGRGU1jO-1" source="fBglSRjiR8ACvM9LEDBr-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="360" y="267.33333333333326" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="fBglSRjiR8ACvM9LEDBr-3" value="midi<br>interface" style="rounded=0;whiteSpace=wrap;html=1;" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1"> <mxGeometry x="90" y="199.5" width="120" height="135.5" as="geometry" /> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" parent="OKDEixDBbmxQMGRGU1jO-1" source="fBglSRjiR8ACvM9LEDBr-3" target="fBglSRjiR8ACvM9LEDBr-1" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="80" y="241" as="sourcePoint" /> <mxPoint x="210" y="530" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="cDpx_x92aZCDt8U1TkIR-1" value="send" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="cDpx_x92aZCDt8U1TkIR-0" vertex="1" connectable="0"> <mxGeometry x="-0.168" y="5" relative="1" as="geometry"> <mxPoint x="-10" y="-5" as="offset" /> </mxGeometry> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-15" value="" style="group" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1" connectable="0"> <mxGeometry x="717" y="125" width="190" height="429" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-0" value="<div>SoloTool</div>" style="rounded=0;whiteSpace=wrap;html=1;glass=0;shadow=0;sketch=0;align=right;verticalAlign=top;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry width="190" height="429" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-7" value="Play" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="223" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-9" value="Pause" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="254" width="50" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-11" value="Stop" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="284" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-13" value="Set playback rate" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="315" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-15" value="Set playback position" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="345" width="130" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-17" value="Add a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="71" width="80" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-21" value="Enable a/b mode" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="162" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-25" value="Add song" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="101" width="70" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-27" value="Choose song" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="193" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-29" value="Set volume" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="376" width="80" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-31" value="Choose a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="132" width="100" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-42" value="Load session" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="40" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-44" value="Save session" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="10" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="jLuthnc1TARuY79bHbOS-46" value="Tick" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-15" vertex="1"> <mxGeometry x="10" y="406" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-16" value="" style="group" parent="OKDEixDBbmxQMGRGU1jO-1" vertex="1" connectable="0"> <mxGeometry x="517" y="255" width="110" height="232" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-1" value="Play" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="91" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-2" value="Pause" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="122" width="50" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-3" value="Stop" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="152" width="40" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-4" value="Set playback rate" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="183" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-5" value="<span style="color: rgb(0 , 0 , 0)">Set volume</span>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#666666;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="214" width="78" height="18" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-7" value="Enable a/b mode" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="30" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-9" value="Choose song" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry y="61" width="90" height="20" as="geometry" /> </mxCell> <mxCell id="FipM2rDAY6IncK5jYn7S-11" value="Choose a/b limit" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="FipM2rDAY6IncK5jYn7S-16" vertex="1"> <mxGeometry width="100" height="20" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> <diagram id="PyNSc7ezSt42GBdjTBvd" name="Launchpad"> <mxGraphModel dx="1562" dy="947" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-0" /> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-1" parent="ZtjfeE3uwfRsFhnWfLYL-0" /> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-39" value="0<br>volume<br>50%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-40" value="16<br>speed<br>50%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-41" value="32" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-42" value="48<br>previous<br>song" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-43" value="64" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-44" value="80" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-45" value="96<br>stop" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-46" value="112<br>play/<br>pause" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="40" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-84" value="1<br>volume<br>60%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-85" value="17<br>speed<br>60%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-86" value="33" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-87" value="49<br>-25%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-88" value="65" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-89" value="81" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-90" value="97" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-91" value="113" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="130" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-93" value="2<br>volume<br>70%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-94" value="18<br>speed<br>70%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-95" value="34" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-96" value="50<br>-5%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-97" value="66" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-98" value="82" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-99" value="98<br>toggle AB" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-100" value="114<br>jump to A" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="220" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-102" value="3<br>volume<br>80%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-103" value="19<br>speed<br>80%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-104" value="35" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-105" value="51<br>-1%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-106" value="67" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-107" value="83" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-108" value="<div>99</div>" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-109" value="115" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="310" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-111" value="4<br>volume<br>90%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-112" value="20<br>speed<br>90%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-113" value="36" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-114" value="52<br>+1%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-115" value="68" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-116" value="84" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-117" value="100" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-118" value="116<br>set A" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="400" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-120" value="5<br>volume<br>100%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-121" value="21<br>speed<br>100%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-122" value="37" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-123" value="53<br>+5%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-124" value="69" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-125" value="85" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-126" value="<div>101</div>" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-127" value="117<br>set B" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="490" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-129" value="6<br>volume<br>110%" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-130" value="22<br>speed<br>110%" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-131" value="38" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-132" value="54<br>+25%" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-133" value="70" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-134" value="86" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-135" value="102" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-136" value="118<br>previous AB" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="580" y="651" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-138" value="7<br>volume<br>120%" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="40" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-139" value="23<br>speed<br>120%" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="127" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-140" value="39" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="215" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-141" value="55<br>next song" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="302" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-142" value="71" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="389" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-143" value="87" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="476" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-144" value="103" style="rounded=1;whiteSpace=wrap;html=1;container=0;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="564" width="80" height="80" as="geometry" /> </mxCell> <mxCell id="ZtjfeE3uwfRsFhnWfLYL-145" value="119<br>next AB" style="rounded=1;whiteSpace=wrap;html=1;container=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ZtjfeE3uwfRsFhnWfLYL-1" vertex="1"> <mxGeometry x="670" y="651" width="80" height="80" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> <diagram id="R-0UAU87gWX4lK6NCzNs" name="Web wireframe"> <mxGraphModel dx="1562" dy="947" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="0goJ5iq8U8227kam6OUo-1" value="Song list" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="80" y="80" width="240" height="440" as="geometry" /> </mxCell> <mxCell id="0goJ5iq8U8227kam6OUo-2" value="Volume slider" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="80" width="440" height="40" as="geometry" /> </mxCell> <mxCell id="0goJ5iq8U8227kam6OUo-3" value="Speed slider" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="360" y="160" width="360" height="40" as="geometry" /> </mxCell> <mxCell id="0goJ5iq8U8227kam6OUo-4" value="Speed +5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="720" y="160" width="40" height="40" as="geometry" /> </mxCell> <mxCell id="0goJ5iq8U8227kam6OUo-5" value="Speed -5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="160" width="40" height="40" as="geometry" /> </mxCell> <mxCell id="E9TFIlIWBKXALOEyTYeL-1" value="Seek slider" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="240" width="440" height="40" as="geometry" /> </mxCell> <mxCell id="E9TFIlIWBKXALOEyTYeL-2" value="Prev song" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="320" width="70" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-1" value="Seek<br>-25%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="390" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-2" value="Seek<br>-5%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="440" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-3" value="Seek<br>-1%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="490" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-5" value="Seek<br>+1%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="540" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-6" value="Seek<br>+5%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="590" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-9" value="Seek<br>+25%" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="640" y="320" width="50" height="40" as="geometry" /> </mxCell> <mxCell id="e6dzTLVl2QyovQL1D1hT-10" value="Next song" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="690" y="320" width="70" height="40" as="geometry" /> </mxCell> <mxCell id="2VOf0fCjGpZdvwMfuWx9-1" value="Set A" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="400" width="120" height="40" as="geometry" /> </mxCell> <mxCell id="2VOf0fCjGpZdvwMfuWx9-2" value="Set B" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="440" y="400" width="120" height="40" as="geometry" /> </mxCell> <mxCell id="eBDQebIGrGTMiAxLC66R-1" value="Previous AB" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="560" y="400" width="100" height="40" as="geometry" /> </mxCell> <mxCell id="eBDQebIGrGTMiAxLC66R-2" value="Next AB" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="660" y="400" width="100" height="40" as="geometry" /> </mxCell> <mxCell id="e5je7AeTKV-z7aj2oazw-1" value="Toggle AB" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="320" y="480" width="80" height="40" as="geometry" /> </mxCell> <mxCell id="e5je7AeTKV-z7aj2oazw-2" value="Stop" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="400" y="480" width="80" height="40" as="geometry" /> </mxCell> <mxCell id="e5je7AeTKV-z7aj2oazw-3" value="Start" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="480" y="480" width="80" height="40" as="geometry" /> </mxCell> <mxCell id="e5je7AeTKV-z7aj2oazw-4" value="Jump to A" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxGeometry x="560" y="480" width="200" height="40" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile>