* layers cause race conditions
* front method keeps race conditions from happening
* allow for image color to be base on alpha
* bump
* bump
* more tests
* updated FluidWaveform help file examples
A link::Classes/Buffer:: of slice indices. This will very likely be in the form of a link::Classes/Buffer:: output from a FluCoMa slicer object. If this link::Classes/Buffer:: is only one channel it will plot lines at these slice points. If the link::Classes/Buffer:: is two channels it will consider the 0th channel to contain onsets and the 1st channel to contain offsets. This matches the output of link::Classes/FluidBufAmpGate::.
ARGUMENT:: featureBuffer
ARGUMENT:: featuresBuffer
A link::Classes/Buffer:: containing features to plot over the waveform. If this link::Classes/Buffer:: is multiple channels, it will plot each channel as a separate feature.
ARGUMENT:: parent
@ -39,14 +39,14 @@ ARGUMENT:: imageBuffer
A link::Classes/Buffer:: that will be turned into a raster image and displayed. The buffer's frames will comprise the y axis, the buffer's channels will comprise the x axis (channel 0 at the bottom). Very likely this will come from the output of a Fluid analysis object, such as link::Classes/FluidBufSTFT:: which can be used to plot a spectrogram. Using FluidBufMelBands can be used to plot a Mel-frequency spectrum.
ARGUMENT:: imageColorScheme
An integer indicating which color scheme footnote::The color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish differences in the values in strong::imageBuffer::. The default is 0.
table::
## 0 || Grey scale with slightly reduced contrast to avoid display saturation problems
## 1 || Black - Blue - Green - Yellow - White
## 2 || Blue - Magenta - Yellow highly saturated
## 3 || Black - Red - Yellow - White
## 4 || Black - Red - Yellow
::
An integer indicating which color scheme footnote::The color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish differences in the values in strong::imageBuffer::. The default is 0. One can also pass a link::Classes/Color:: and differences will be shown using alpha.
table::
## 0 || Grey scale with slightly reduced contrast to avoid display saturation problems
## 1 || Black - Blue - Green - Yellow - White
## 2 || Blue - Magenta - Yellow highly saturated
## 3 || Black - Red - Yellow - White
## 4 || Black - Red - Yellow
::
ARGUMENT:: imageAlpha
An transparency value (0-1) for displaying the waveform. 0 is fully transparent, 1 is fully visible. The default is 1.
@ -54,7 +54,7 @@ An transparency value (0-1) for displaying the waveform. 0 is fully transparent,
ARGUMENT:: normalizeFeaturesIndependently
Boolean. All the features in STRONG::featureBuf:: need to be normalized for plotting. If STRONG::true::, this normalization will happen per feature, so that each will use the full visual range allowed to them. If STRONG::false::, the normalization will happen over all the values in the STRONG::featureBuf:: (in all the channels), so that the features relative strengths will be preserved. The default is STRONG::true::.
ARGUMENT:: colorScaling
ARGUMENT:: imageColorScaling
An integer indicating how to scale the values in strong::imageBuffer:: before applying the strong::imageColorScheme::. 0 indicates linear scaling, 1 indicates logarithmic scaling. The default is 1. These integers can also be accessed via FluidWaveform.lin and FluidWaveform.log.
returns:: A new instance of FluidWaveform.
@ -70,8 +70,62 @@ returns:: 1
INSTANCEMETHODS::
METHOD:: addAudioLayer
Add a graphic layer that shows a waveform.
ARGUMENT:: audioBuffer
See this argument in the class method 'new' above.
ARGUMENT:: waveformColor
See this argument in the class method 'new' above. The default is gray.
METHOD:: addIndicesLayer
Add a grapic layer that shows indices.
ARGUMENT:: indicesBuffer
See this argument in the class method 'new' above.
ARGUMENT:: audioBuffer
The audioBuffer that the indices refer to.
ARGUMENT:: color
The link::Classes/Color:: to display the indices. The default is red.
ARGUMENT:: lineWidth
How wide to draw the indices lines. The default is 1.
METHOD:: addFeaturesLayer
Add a grapic layer that shows feature curves.
ARGUMENT:: featuresBuffer
See this argument in the class method 'new' above.
ARGUMENT:: colors
An array of link::Classes/Color:: objects to use to display the different features. If there are more features than colors, FluidWaveform will modulo around the colors. If this is left blank, default colors will be used.
ARGUMENT:: stackFeatures
See this argument in the class method 'new' above.
ARGUMENT:: normalizeFeaturesIndependently
See this argument in the class method 'new' above.
METHOD:: addImageLayer
Add a grapic layer that shows an image derived from a buffer.
ARGUMENT:: imageBuffer
See this argument in the class method 'new' above.
ARGUMENT:: imageColorScheme
See this argument in the class method 'new' above.
ARGUMENT:: imageColorScaling
See this argument in the class method 'new' above.
ARGUMENT:: imageAlpha
See this argument in the class method 'new' above.
METHOD:: front
Similar to link::Classes/Window::'s strong::front:: method. Shows the FluidWaveform. This must be called after layers have been added in order to see the layers.
METHOD:: close
Close the FluidWaveform window. If parent is not STRONG::nil::, this method will close the parent window.