Mercurial > hg > sonic-visualiser
view icons/sv-icon.svg @ 253:6a6b5a1a6c67
* Speed up spectrogram painting by releasing mutex in FFTDataServer
while calculating data prior to writing it, and by adding whole-column
value query methods to FFT objects
* Add paint cache to Thumbwheel -- repaints of this widget were slowing
down the whole spectrogram repaint
* More uses of MutexLocker (named and with debug) and more profile
points
* Make startup much quicker some of the time, with OSC server in place
author | Chris Cannam |
---|---|
date | Thu, 08 May 2008 14:46:22 +0000 |
parents | c3114dffdff4 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="32px" height="32px" id="svg1900" sodipodi:version="0.32" inkscape:version="0.44.1" sodipodi:docbase="/work/sonic-visualiser" sodipodi:docname="sv-icon.svg" inkscape:export-filename="/work/sonic-visualiser/test-d1.png" inkscape:export-xdpi="106.65" inkscape:export-ydpi="106.65"> <defs id="defs1902"> <marker inkscape:stockid="Arrow1Lstart" orient="auto" refY="0.0" refX="0.0" id="Arrow1Lstart" style="overflow:visible"> <path id="path3958" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.8) translate(12.5,0)" /> </marker> <marker inkscape:stockid="Arrow1Lend" orient="auto" refY="0.0" refX="0.0" id="Arrow1Lend" style="overflow:visible;"> <path id="path3955" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" transform="scale(0.8) rotate(180) translate(12.5,0)" /> </marker> <marker inkscape:stockid="Arrow1Mstart" orient="auto" refY="0.0" refX="0.0" id="Arrow1Mstart" style="overflow:visible"> <path id="path3952" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.4) translate(10,0)" /> </marker> <marker inkscape:stockid="Arrow1Mend" orient="auto" refY="0.0" refX="0.0" id="Arrow1Mend" style="overflow:visible;"> <path id="path3949" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" transform="scale(0.4) rotate(180) translate(10,0)" /> </marker> <marker inkscape:stockid="Arrow1Sstart" orient="auto" refY="0.0" refX="0.0" id="Arrow1Sstart" style="overflow:visible"> <path id="path3946" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.2) translate(6,0)" /> </marker> <marker inkscape:stockid="Arrow1Send" orient="auto" refY="0.0" refX="0.0" id="Arrow1Send" style="overflow:visible;"> <path id="path3943" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" transform="scale(0.2) rotate(180) translate(6,0)" /> </marker> <marker inkscape:stockid="Arrow2Lstart" orient="auto" refY="0.0" refX="0.0" id="Arrow2Lstart" style="overflow:visible"> <path id="path3940" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(1.1) translate(1,0)" /> </marker> <marker inkscape:stockid="Arrow2Lend" orient="auto" refY="0.0" refX="0.0" id="Arrow2Lend" style="overflow:visible;"> <path id="path3937" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(1.1) rotate(180) translate(1,0)" /> </marker> <marker inkscape:stockid="Arrow2Mstart" orient="auto" refY="0.0" refX="0.0" id="Arrow2Mstart" style="overflow:visible"> <path id="path3934" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(0.6) translate(0,0)" /> </marker> <marker inkscape:stockid="Arrow2Mend" orient="auto" refY="0.0" refX="0.0" id="Arrow2Mend" style="overflow:visible;"> <path id="path3931" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(0.6) rotate(180) translate(0,0)" /> </marker> <marker inkscape:stockid="Arrow2Sstart" orient="auto" refY="0.0" refX="0.0" id="Arrow2Sstart" style="overflow:visible"> <path id="path3928" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(0.3) translate(-2.3,0)" /> </marker> <marker inkscape:stockid="Arrow2Send" orient="auto" refY="0.0" refX="0.0" id="Arrow2Send" style="overflow:visible;"> <path id="path3925" style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="scale(0.3) rotate(180) translate(-2.3,0)" /> </marker> <marker inkscape:stockid="Tail" orient="auto" refY="0.0" refX="0.0" id="Tail" style="overflow:visible"> <g id="g3910" transform="scale(-1.2)"> <path id="path3912" d="M -3.8048674,-3.9585227 L 0.54352094,0" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> <path id="path3914" d="M -1.2866832,-3.9585227 L 3.0617053,0" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> <path id="path3916" d="M 1.3053582,-3.9585227 L 5.6537466,0" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> <path id="path3918" d="M -3.8048674,4.1775838 L 0.54352094,0.21974226" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> <path id="path3920" d="M -1.2866832,4.1775838 L 3.0617053,0.21974226" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> <path id="path3922" d="M 1.3053582,4.1775838 L 5.6537466,0.21974226" style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;marker-start:none;marker-end:none;stroke-linecap:round" /> </g> </marker> <marker style="overflow:visible" id="DistanceIn" refX="0.0" refY="0.0" orient="auto" inkscape:stockid="DistanceIn"> <g id="g3904"> <path style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square" d="M 0,0 L 2,0" id="path2306" /> <path style="fill:#000000;fill-rule:evenodd;stroke:none" d="M 0,0 L 13,4 L 9,0 13,-4 L 0,0 z " id="path2302" /> <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square" d="M 0,-4 L 0,40" id="path2304" /> </g> </marker> <marker inkscape:stockid="TriangleOutS" orient="auto" refY="0.0" refX="0.0" id="TriangleOutS" style="overflow:visible"> <path id="path3854" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.2)" /> </marker> <marker inkscape:stockid="TriangleOutM" orient="auto" refY="0.0" refX="0.0" id="TriangleOutM" style="overflow:visible"> <path id="path3857" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.4)" /> </marker> <marker inkscape:stockid="TriangleOutL" orient="auto" refY="0.0" refX="0.0" id="TriangleOutL" style="overflow:visible"> <path id="path3860" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.8)" /> </marker> <marker inkscape:stockid="TriangleInS" orient="auto" refY="0.0" refX="0.0" id="TriangleInS" style="overflow:visible"> <path id="path3863" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(-0.2)" /> </marker> <marker inkscape:stockid="TriangleInM" orient="auto" refY="0.0" refX="0.0" id="TriangleInM" style="overflow:visible"> <path id="path3866" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(-0.4)" /> </marker> <marker inkscape:stockid="TriangleInL" orient="auto" refY="0.0" refX="0.0" id="TriangleInL" style="overflow:visible"> <path id="path3869" d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(-0.8)" /> </marker> <marker inkscape:stockid="DiamondS" orient="auto" refY="0.0" refX="0.0" id="DiamondS" style="overflow:visible"> <path id="path3872" d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.2)" /> </marker> <marker inkscape:stockid="DiamondM" orient="auto" refY="0.0" refX="0.0" id="DiamondM" style="overflow:visible"> <path id="path3875" d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.4)" /> </marker> <marker inkscape:stockid="DiamondL" orient="auto" refY="0.0" refX="0.0" id="DiamondL" style="overflow:visible"> <path id="path3878" d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.8)" /> </marker> <marker inkscape:stockid="SquareS" orient="auto" refY="0.0" refX="0.0" id="SquareS" style="overflow:visible"> <path id="path3881" d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.2)" /> </marker> <marker inkscape:stockid="SquareM" orient="auto" refY="0.0" refX="0.0" id="SquareM" style="overflow:visible"> <path id="path3884" d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.4)" /> </marker> <marker inkscape:stockid="SquareL" orient="auto" refY="0.0" refX="0.0" id="SquareL" style="overflow:visible"> <path id="path3887" d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" transform="scale(0.8)" /> </marker> <marker inkscape:stockid="Dot_s" orient="auto" refY="0.0" refX="0.0" id="Dot_s" style="overflow:visible"> <path id="path3890" d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none" transform="scale(0.2) translate(7.4, 1)" /> </marker> <marker style="overflow:visible" id="DistanceOut" refX="0.0" refY="0.0" orient="auto" inkscape:stockid="DistanceOut"> <g id="g2300"> <path style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square" d="M 0,0 L -2,0" id="path2316" /> <path style="fill:#000000;fill-rule:evenodd;stroke:none" d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z " id="path2312" /> <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square" d="M 0,-4 L 0,40" id="path2314" /> </g> </marker> <marker inkscape:stockid="Dot_l" orient="auto" refY="0.0" refX="0.0" id="Dot_l" style="overflow:visible"> <path id="path3896" d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none" transform="scale(0.8) translate(7.4, 1)" /> </marker> <marker inkscape:stockid="Dot_m" orient="auto" refY="0.0" refX="0.0" id="Dot_m" style="overflow:visible"> <path id="path3893" d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none" transform="scale(0.4) translate(7.4, 1)" /> </marker> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="11.197802" inkscape:cx="16.018908" inkscape:cy="13.653906" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" inkscape:window-width="816" inkscape:window-height="606" inkscape:window-x="145" inkscape:window-y="175" /> <metadata id="metadata1905"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </cc:Work> </rdf:RDF> </metadata> <g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer"> <path style="fill:none;fill-rule:evenodd;stroke:#d45500;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 3.905299,16.01472 C 27.5,16.01472 27.5,16.01472 27.5,16.01472" id="path4036" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.356;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:1.39999998;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="M 4.189383,16.015203 C 7.6265694,16.015203 8.0726528,16.025708 8.0726528,16.025708 C 9.66349,9.1090346 9.741433,8.3087074 10.172784,15.048932 C 10.831635,26.830929 11.416632,20.601324 12.258324,15.76545 C 13.844917,0.39957958 14.006502,6.1759314 14.342565,9.4067063 C 15.634829,25.384548 15.579075,28.965284 16.269833,23.658757 C 16.783168,19.715219 18.310939,3.0919969 18.584891,7.6743646 C 20.490285,25.887346 20.546625,24.84451 21.131971,20.132265 C 23.062537,1.6773601 22.472829,16.437356 23.676672,16.115011 C 27.08449,16.115011 27.026616,16.025708 27.026616,16.025708 L 27.47205,16.025708" id="path3783" sodipodi:nodetypes="cccccsccccc" /> <rect style="fill:none;stroke:#d45500;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect3775" width="25.004908" height="24.915606" x="3.4828262" y="3.5122664" /> </g> </svg>