annotate templates/Scrolling Waveforms.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="7" name="placeholder" sampleRate="44100" type="wavefile" file=":samples/silent.wav" mainModel="true"/>
Chris@430 6 <playparameters mute="false" pan="0" gain="1" pluginId="" model="7"/>
Chris@430 7 <layer id="8" type="timeruler" name="Ruler &lt;2&gt;" model="7" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 8 <layer id="3" type="spectrogram" name="Spectrogram &lt;3&gt;" model="7" 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 9 <layer id="9" type="timeruler" name="Ruler &lt;4&gt;" model="7" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 10 <layer id="10" type="waveform" name="Waveform &lt;3&gt;" model="7" gain="1" showMeans="1" greyscale="1" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" colourName="Purple" colour="#c832ff" darkBackground="false" />
Chris@430 11 <layer id="11" type="timeruler" name="Ruler &lt;3&gt;" model="7" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 12 <layer id="12" type="spectrogram" name="Spectrogram &lt;2&gt;" model="7" 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 13 <layer id="13" type="waveform" name="Waveform" model="7" gain="1" showMeans="1" greyscale="0" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 14 <layer id="14" type="waveform" name="Waveform &lt;2&gt;" model="7" gain="1" showMeans="1" greyscale="1" channelMode="0" channel="-1" scale="0" aggressive="0" autoNormalize="0" colourName="Blue" colour="#000080" darkBackground="false" />
Chris@430 15 <layer id="15" type="spectrogram" name="Spectrogram" model="7" 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 16 <layer id="16" type="timeruler" name="Ruler" model="7" colourName="Black" colour="#000000" darkBackground="false" />
Chris@430 17 </data>
Chris@430 18 <display>
Chris@430 19 <window width="1216" height="701"/>
Chris@430 20 <view centre="0" zoom="1024" followPan="1" followZoom="1" tracking="scroll" type="pane" centreLineVisible="1" height="210" >
Chris@430 21 <layer id="14" type="waveform" name="Waveform &lt;2&gt;" model="7" visible="true"/>
Chris@430 22 <layer id="11" type="timeruler" name="Ruler &lt;3&gt;" model="7" visible="true"/>
Chris@430 23 </view>
Chris@430 24 <view centre="0" zoom="16" followPan="1" followZoom="0" tracking="scroll" type="pane" centreLineVisible="1" height="335" >
Chris@430 25 <layer id="9" type="timeruler" name="Ruler &lt;4&gt;" model="7" visible="false"/>
Chris@430 26 <layer id="10" type="waveform" name="Waveform &lt;3&gt;" model="7" visible="true"/>
Chris@430 27 </view>
Chris@430 28 </display>
Chris@430 29 <selections >
Chris@430 30 </selections>
Chris@430 31 </sv>