annotate templates/Spectrograms.svt @ 1480:f1e1745acc3b 3.0-integration

Make the colour 3d plot renderer able to support more than one level of peak cache; introduce a second "peak" cache for the spectrogram layer that actually has a 1-1 column relationship with the underlying FFT model, and use it in addition to the existing peak cache if memory is plentiful. Makes spectrograms appear much faster in many common situations.
author Chris Cannam
date Thu, 05 Jan 2017 14:02:54 +0000
parents 45bfc5962c33
children
rev   line source
Chris@430 1 <?xml version="1.0" encoding="UTF-8"?>
Chris@430 2 <!DOCTYPE sonic-visualiser>
Chris@430 3 <sv>
Chris@430 4 <data>
Chris@430 5 <model id="0" name="placeholder" sampleRate="44100" type="wavefile" file=":samples/silent.wav" mainModel="true"/>
Chris@430 6 <playparameters mute="false" pan="0" gain="1" pluginId="" model="0"/>
Chris@430 7 <layer id="1" type="timeruler" name="Ruler" model="0" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 8 <layer id="2" type="waveform" name="Waveform" model="0" gain="1" showMeans="1" greyscale="0" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 9 <layer id="3" type="spectrogram" name="Spectrogram" model="0" channel="-1" windowSize="8192" windowHopLevel="4" gain="1" threshold="0" minFrequency="40" maxFrequency="1500" colourScale="0" colourScheme="1" colourRotation="0" frequencyScale="1" binDisplay="0" normalizeColumns="false" normalizeVisibleArea="false"/>
Chris@430 10 <layer id="4" type="timeruler" name="Ruler &lt;2&gt;" model="0" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 11 <layer id="5" type="spectrogram" name="Spectrogram &lt;2&gt;" model="0" channel="-1" windowSize="4096" windowHopLevel="5" gain="1" threshold="0" minFrequency="40" maxFrequency="2000" colourScale="0" colourScheme="0" colourRotation="0" frequencyScale="1" binDisplay="2" normalizeColumns="true" normalizeVisibleArea="false"/>
Chris@430 12 <layer id="6" type="spectrogram" name="Spectrogram &lt;3&gt;" model="0" channel="0" windowSize="1024" windowHopLevel="2" gain="1" threshold="0" minFrequency="10" maxFrequency="0" colourScale="3" colourScheme="0" colourRotation="0" frequencyScale="0" binDisplay="0" normalizeColumns="false" normalizeVisibleArea="false"/>
Chris@430 13 </data>
Chris@430 14 <display>
Chris@430 15 <window width="1413" height="925"/>
Chris@430 16 <view centre="0" zoom="512" followPan="1" followZoom="1" tracking="page" type="pane" centreLineVisible="1" height="254" >
Chris@430 17 <layer id="1" type="timeruler" name="Ruler" model="0" visible="true"/>
Chris@430 18 <layer id="2" type="waveform" name="Waveform" model="0" visible="true"/>
Chris@430 19 <layer id="6" type="spectrogram" name="Spectrogram &lt;3&gt;" model="0" visible="true"/>
Chris@430 20 </view>
Chris@430 21 <view centre="0" zoom="512" followPan="1" followZoom="1" tracking="page" type="pane" centreLineVisible="1" height="255" >
Chris@430 22 <layer id="4" type="timeruler" name="Ruler &lt;2&gt;" model="0" visible="true"/>
Chris@430 23 <layer id="3" type="spectrogram" name="Spectrogram" model="0" visible="true"/>
Chris@430 24 </view>
Chris@430 25 <view centre="0" zoom="512" followPan="1" followZoom="1" tracking="page" type="pane" centreLineVisible="1" height="254" >
Chris@430 26 <layer id="4" type="timeruler" name="Ruler &lt;2&gt;" model="0" visible="true"/>
Chris@430 27 <layer id="5" type="spectrogram" name="Spectrogram &lt;2&gt;" model="0" visible="true"/>
Chris@430 28 </view>
Chris@430 29 </display>
Chris@430 30 <selections >
Chris@430 31 </selections>
Chris@430 32 </sv>