svgui
1.9
|
SpectrogramLayer represents waveform data (obtained from a DenseTimeValueModel) in spectrogram form. More...
#include <SpectrogramLayer.h>
Public Types | |
enum | Configuration { FullRangeDb, MelodicRange, MelodicPeaks } |
enum | VerticalPosition { PositionTop, PositionMiddle, PositionBottom } |
enum | SnapType { SnapLeft, SnapRight, SnapNeighbouring } |
enum | ColourSignificance { ColourAbsent, ColourIrrelevant, ColourDistinguishes, ColourAndBackgroundSignificant, ColourHasMeaningfulValue } |
Public Slots | |
void | showLayer (LayerGeometryProvider *, bool show) |
Change the visibility status (dormancy) of the layer in the given view. More... | |
Signals | |
void | modelChanged (ModelId) |
void | modelCompletionChanged (ModelId) |
void | modelAlignmentCompletionChanged (ModelId) |
void | modelChangedWithin (ModelId, sv_frame_t startFrame, sv_frame_t endFrame) |
void | modelReplaced () |
void | layerParametersChanged () |
void | layerParameterRangesChanged () |
void | layerMeasurementRectsChanged () |
void | layerNameChanged () |
void | verticalZoomChanged () |
Public Member Functions | |
SpectrogramLayer (Configuration=FullRangeDb) | |
Construct a SpectrogramLayer with default parameters appropriate for the given configuration. More... | |
~SpectrogramLayer () | |
const ZoomConstraint * | getZoomConstraint () const override |
Return a zoom constraint object defining the supported zoom levels for this layer. More... | |
ModelId | getModel () const override |
Return the ID of the model represented in this layer. More... | |
ModelId | getExportModel (LayerGeometryProvider *) const override |
Return the ID of a model representing the contents of this layer in a form suitable for export to a tabular file format such as CSV. More... | |
void | paint (LayerGeometryProvider *v, QPainter &paint, QRect rect) const override |
Paint the given rectangle of this layer onto the given view using the given painter, superimposing it on top of any existing material in that view. More... | |
void | setSynchronousPainting (bool synchronous) override |
Enable or disable synchronous painting. More... | |
int | getVerticalScaleWidth (LayerGeometryProvider *v, bool detailed, QPainter &) const override |
void | paintVerticalScale (LayerGeometryProvider *v, bool detailed, QPainter &paint, QRect rect) const override |
bool | getCrosshairExtents (LayerGeometryProvider *, QPainter &, QPoint cursorPos, std::vector< QRect > &extents) const override |
void | paintCrosshairs (LayerGeometryProvider *, QPainter &, QPoint) const override |
QString | getFeatureDescription (LayerGeometryProvider *v, QPoint &) const override |
bool | snapToFeatureFrame (LayerGeometryProvider *v, sv_frame_t &frame, int &resolution, SnapType snap, int ycoord) const override |
Adjust the given frame to snap to the nearest feature, if possible. More... | |
void | measureDoubleClick (LayerGeometryProvider *, QMouseEvent *) override |
bool | hasLightBackground () const override |
void | setModel (ModelId model) |
PropertyList | getProperties () const override |
QString | getPropertyLabel (const PropertyName &) const override |
QString | getPropertyIconName (const PropertyName &) const override |
PropertyType | getPropertyType (const PropertyName &) const override |
QString | getPropertyGroupName (const PropertyName &) const override |
int | getPropertyRangeAndValue (const PropertyName &, int *min, int *max, int *deflt) const override |
QString | getPropertyValueLabel (const PropertyName &, int value) const override |
QString | getPropertyValueIconName (const PropertyName &, int value) const override |
RangeMapper * | getNewPropertyRangeMapper (const PropertyName &) const override |
void | setProperty (const PropertyName &, int value) override |
void | setChannel (int) |
Specify the channel to use from the source model. More... | |
int | getChannel () const |
void | setWindowSize (int) |
int | getWindowSize () const |
void | setWindowHopLevel (int level) |
int | getWindowHopLevel () const |
void | setOversampling (int oversampling) |
int | getOversampling () const |
void | setWindowType (WindowType type) |
WindowType | getWindowType () const |
void | setGain (float gain) |
Set the gain multiplier for sample values in this view. More... | |
float | getGain () const |
void | setThreshold (float threshold) |
Set the threshold for sample values to qualify for being shown in the FFT, in voltage units. More... | |
float | getThreshold () const |
void | setVerticallyFixed () |
Mark the spectrogram layer as having a fixed range in the vertical axis. More... | |
void | setMinFrequency (int) |
int | getMinFrequency () const |
void | setMaxFrequency (int) |
int | getMaxFrequency () const |
void | setColourScale (ColourScaleType) |
Specify the scale for sample levels. More... | |
ColourScaleType | getColourScale () const |
void | setColourScaleMultiple (double) |
Specify multiple factor for colour scale. More... | |
double | getColourScaleMultiple () const |
void | setBinScale (BinScale) |
Specify the scale for the y axis. More... | |
BinScale | getBinScale () const |
void | setBinDisplay (BinDisplay) |
Specify the processing of frequency bins for the y axis. More... | |
BinDisplay | getBinDisplay () const |
void | setNormalization (ColumnNormalization) |
Specify the normalization mode for individual columns. More... | |
ColumnNormalization | getNormalization () const |
void | setNormalizeVisibleArea (bool) |
Specify whether to normalize the visible area. More... | |
bool | getNormalizeVisibleArea () const |
void | setColourMap (int map) |
Specify the colour map. More... | |
int | getColourMap () const |
void | setColourRotation (int) |
Specify the colourmap rotation for the colour scale. More... | |
int | getColourRotation () const |
VerticalPosition | getPreferredFrameCountPosition () const override |
bool | isLayerOpaque () const override |
This should return true if the layer completely obscures any underlying layers. More... | |
ColourSignificance | getLayerColourSignificance () const override |
This should return the degree of meaning associated with colour in this layer. More... | |
double | getYForFrequency (const LayerGeometryProvider *v, double frequency) const |
double | getFrequencyForY (const LayerGeometryProvider *v, int y) const |
double | getYForBin (const LayerGeometryProvider *, double bin) const override |
!! VerticalBinLayer methods. Note overlap with get*BinRange() More... | |
double | getBinForY (const LayerGeometryProvider *, double y) const override |
Return the bin number, possibly fractional, at the given y coordinate. More... | |
int | getCompletion (LayerGeometryProvider *v) const override |
Return the proportion of background work complete in drawing this view, as a percentage – in most cases this will be the value returned by pointer from a call to the underlying model's isReady(int *) call. More... | |
QString | getError (LayerGeometryProvider *v) const override |
Return an error string if any errors have occurred while loading or processing data for the given view. More... | |
bool | getValueExtents (double &min, double &max, bool &logarithmic, QString &unit) const override |
Return the minimum and maximum values for the y axis of the model in this layer, as well as whether the layer is configured to use a logarithmic y axis display. More... | |
bool | getDisplayExtents (double &min, double &max) const override |
Return the minimum and maximum values within the visible area for the y axis of this layer. More... | |
bool | setDisplayExtents (double min, double max) override |
Set the displayed minimum and maximum values for the y axis to the given range, if supported. More... | |
bool | getYScaleValue (const LayerGeometryProvider *, int, double &, QString &) const override |
Return the value and unit at the given y coordinate in the given view. More... | |
void | toXml (QTextStream &stream, QString indent="", QString extraAttributes="") const override |
void | setProperties (const QXmlAttributes &attributes) override |
Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes. More... | |
void | setLayerDormant (const LayerGeometryProvider *v, bool dormant) override |
Indicate that a layer is not currently visible in the given view and is not expected to become visible in the near future (for example because the user has explicitly removed or hidden it). More... | |
bool | isLayerScrollable (const LayerGeometryProvider *) const override |
This should return true if the layer can safely be scrolled automatically by a given view (simply copying the existing data and then refreshing the exposed area) without altering its meaning. More... | |
int | getVerticalZoomSteps (int &defaultStep) const override |
Get the number of vertical zoom steps available for this layer. More... | |
int | getCurrentVerticalZoomStep () const override |
Get the current vertical zoom step. More... | |
void | setVerticalZoomStep (int) override |
Set the vertical zoom step. More... | |
RangeMapper * | getNewVerticalZoomRangeMapper () const override |
Create and return a range mapper for vertical zoom step values. More... | |
ModelId | getSliceableModel () const override |
virtual int | getIYForBin (const LayerGeometryProvider *v, int bin) const |
As getYForBin, but rounding to integer values. More... | |
virtual int | getIBinForY (const LayerGeometryProvider *v, int y) const |
As getBinForY, but rounding to integer values. More... | |
ModelId | getSourceModel () const |
Return the ID of the source model for the model represented in this layer. More... | |
virtual bool | supportsOtherZoomLevels () const |
Return true if this layer can handle zoom levels other than those supported by its zoom constraint (presumably less efficiently or accurately than the officially supported zoom levels). More... | |
virtual VerticalPosition | getPreferredTimeRulerPosition () const |
QString | getPropertyContainerIconName () const override |
QString | getPropertyContainerName () const override |
virtual void | setPresentationName (QString name) |
virtual bool | isPresentationNameSet () const |
virtual QString | getLayerPresentationName () const |
virtual QPixmap | getLayerPresentationPixmap (QSize) const |
virtual int | getHorizontalScaleHeight (LayerGeometryProvider *, QPainter &) const |
virtual void | paintMeasurementRects (LayerGeometryProvider *, QPainter &, bool showFocus, QPoint focusPoint) const |
virtual bool | nearestMeasurementRectChanged (LayerGeometryProvider *, QPoint prev, QPoint now) const |
virtual QString | getLabelPreceding (sv_frame_t) const |
virtual bool | snapToSimilarFeature (LayerGeometryProvider *, sv_frame_t &, int &resolution, SnapType) const |
Adjust the given frame to snap to the next feature that has "effectively" the same value as the feature prior to the given frame, if possible. More... | |
virtual void | drawStart (LayerGeometryProvider *, QMouseEvent *) |
virtual void | drawDrag (LayerGeometryProvider *, QMouseEvent *) |
virtual void | drawEnd (LayerGeometryProvider *, QMouseEvent *) |
virtual void | eraseStart (LayerGeometryProvider *, QMouseEvent *) |
virtual void | eraseDrag (LayerGeometryProvider *, QMouseEvent *) |
virtual void | eraseEnd (LayerGeometryProvider *, QMouseEvent *) |
virtual void | editStart (LayerGeometryProvider *, QMouseEvent *) |
virtual void | editDrag (LayerGeometryProvider *, QMouseEvent *) |
virtual void | editEnd (LayerGeometryProvider *, QMouseEvent *) |
virtual void | splitStart (LayerGeometryProvider *, QMouseEvent *) |
virtual void | splitEnd (LayerGeometryProvider *, QMouseEvent *) |
virtual void | addNote (LayerGeometryProvider *, QMouseEvent *) |
virtual void | measureStart (LayerGeometryProvider *, QMouseEvent *) |
virtual void | measureDrag (LayerGeometryProvider *, QMouseEvent *) |
virtual void | measureEnd (LayerGeometryProvider *, QMouseEvent *) |
virtual bool | haveCurrentMeasureRect () const |
virtual void | deleteCurrentMeasureRect () |
virtual bool | editOpen (LayerGeometryProvider *, QMouseEvent *) |
Open an editor on the item under the mouse (e.g. More... | |
virtual void | moveSelection (Selection, sv_frame_t) |
virtual void | resizeSelection (Selection, Selection) |
virtual void | deleteSelection (Selection) |
virtual void | copy (LayerGeometryProvider *, Selection, Clipboard &) |
virtual bool | paste (LayerGeometryProvider *, const Clipboard &, sv_frame_t, bool) |
Paste from the given clipboard onto the layer at the given frame offset. More... | |
virtual bool | isLayerEditable () const |
This should return true if the layer can be edited by the user. More... | |
virtual void | setObjectName (const QString &name) |
virtual void | toBriefXml (QTextStream &stream, QString indent="", QString extraAttributes="") const |
Produce XML containing the layer's ID and type. More... | |
virtual void | addMeasurementRect (const QXmlAttributes &) |
Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element). More... | |
virtual bool | isLayerDormant (const LayerGeometryProvider *v) const |
Return whether the layer is dormant (i.e. More... | |
std::shared_ptr< PlayParameters > | getPlayParameters () override |
Return the play parameters for this layer, if any. More... | |
virtual bool | needsTextLabelHeight () const |
True if this layer will need to place text labels when it is painted. More... | |
virtual bool | hasTimeXAxis () const |
Return true if the X axis on the layer is time proportional to audio frames, false otherwise. More... | |
virtual void | zoomToRegion (const LayerGeometryProvider *, QRect) |
Update the X and Y axis scales, where appropriate, to focus on the given rectangular region. More... | |
virtual bool | adoptExtents (double, double, QString) |
Consider using the given value extents and units for this layer. More... | |
virtual bool | getXScaleValue (const LayerGeometryProvider *v, int x, double &value, QString &unit) const |
Return the value and unit at the given x coordinate in the given view. More... | |
virtual bool | getYScaleDifference (const LayerGeometryProvider *v, int y0, int y1, double &diff, QString &unit) const |
Return the difference between the values at the given y coordinates in the given view, and the unit of the difference. More... | |
virtual bool | canExistWithoutModel () const |
Return true if this layer type can function without a model being set. More... | |
Protected Types | |
typedef std::map< int, MagnitudeRange > | ViewMagMap |
typedef std::map< int, Colour3DPlotRenderer * > | ViewRendererMap |
typedef std::set< MeasureRect > | MeasureRectSet |
Protected Slots | |
void | cacheInvalid (ModelId) |
void | cacheInvalid (ModelId, sv_frame_t startFrame, sv_frame_t endFrame) |
void | preferenceChanged (PropertyContainer::PropertyName name) |
Protected Member Functions | |
int | getColourScaleWidth (QPainter &) const |
void | illuminateLocalFeatures (LayerGeometryProvider *v, QPainter &painter) const |
double | getEffectiveMinFrequency () const |
double | getEffectiveMaxFrequency () const |
bool | getXBinRange (LayerGeometryProvider *v, int x, double &windowMin, double &windowMax) const |
bool | getYBinRange (LayerGeometryProvider *v, int y, double &freqBinMin, double &freqBinMax) const |
bool | getYBinSourceRange (LayerGeometryProvider *v, int y, double &freqMin, double &freqMax) const |
bool | getAdjustedYBinSourceRange (LayerGeometryProvider *v, int x, int y, double &freqMin, double &freqMax, double &adjFreqMin, double &adjFreqMax) const |
bool | getXBinSourceRange (LayerGeometryProvider *v, int x, RealTime &timeMin, RealTime &timeMax) const |
bool | getXYBinSourceRange (LayerGeometryProvider *v, int x, int y, double &min, double &max, double &phaseMin, double &phaseMax) const |
int | getWindowIncrement () const |
int | getFFTSize () const |
void | checkCacheSpace (int *suggestedPeakDivisor, bool *createWholeCache) const |
void | recreateFFTModel () |
void | invalidateMagnitudes () |
Colour3DPlotRenderer * | getRenderer (LayerGeometryProvider *) const |
void | invalidateRenderers () |
void | deleteDerivedModels () |
void | paintWithRenderer (LayerGeometryProvider *v, QPainter &paint, QRect rect) const |
void | paintDetailedScale (LayerGeometryProvider *v, QPainter &paint, QRect rect) const |
void | paintDetailedScalePhase (LayerGeometryProvider *v, QPainter &paint, QRect rect) const |
void | updateMeasureRectYCoords (LayerGeometryProvider *v, const MeasureRect &r) const override |
void | setMeasureRectYCoord (LayerGeometryProvider *v, MeasureRect &r, bool start, int y) const override |
void | connectSignals (ModelId) |
virtual sv_frame_t | alignToReference (LayerGeometryProvider *v, sv_frame_t frame) const |
virtual sv_frame_t | alignFromReference (LayerGeometryProvider *v, sv_frame_t frame) const |
bool | clipboardHasDifferentAlignment (LayerGeometryProvider *v, const Clipboard &clip) const |
void | addMeasureRectToSet (const MeasureRect &r) |
void | deleteMeasureRectFromSet (const MeasureRect &r) |
void | updateMeasurePixrects (LayerGeometryProvider *v) const |
virtual void | setMeasureRectFromPixrect (LayerGeometryProvider *v, MeasureRect &r, QRect pixrect) const |
MeasureRectSet::const_iterator | findFocusedMeasureRect (QPoint) const |
void | paintMeasurementRect (LayerGeometryProvider *v, QPainter &paint, const MeasureRect &r, bool focus) const |
bool | valueExtentsMatchMine (LayerGeometryProvider *v) const |
Static Protected Member Functions | |
static std::pair< ColourScaleType, double > | convertToColourScale (int value) |
static int | convertFromColourScale (ColourScaleType type, double multiple) |
static std::pair< ColumnNormalization, bool > | convertToColumnNorm (int value) |
static int | convertFromColumnNorm (ColumnNormalization norm, bool visible) |
Detailed Description
SpectrogramLayer represents waveform data (obtained from a DenseTimeValueModel) in spectrogram form.
Definition at line 51 of file SpectrogramLayer.h.
Member Typedef Documentation
|
protected |
Definition at line 344 of file SpectrogramLayer.h.
|
protected |
Definition at line 349 of file SpectrogramLayer.h.
|
protectedinherited |
Member Enumeration Documentation
Enumerator | |
---|---|
FullRangeDb | |
MelodicRange | |
MelodicPeaks |
Definition at line 57 of file SpectrogramLayer.h.
|
inherited |
|
inherited |
|
inherited |
Constructor & Destructor Documentation
SpectrogramLayer::SpectrogramLayer | ( | Configuration | config = FullRangeDb | ) |
Construct a SpectrogramLayer with default parameters appropriate for the given configuration.
Definition at line 59 of file SpectrogramLayer.cpp.
References FullRangeDb, ColourMapper::Green, Linear, Log, m_initialMaxFrequency, MelodicPeaks, MelodicRange, PeakFrequencies, preferenceChanged(), setBinDisplay(), setBinScale(), setColourMap(), setColourScale(), setMaxFrequency(), setMinFrequency(), setNormalization(), setWindowHopLevel(), setWindowSize(), setWindowType(), and ColourMapper::Sunset.
SpectrogramLayer::~SpectrogramLayer | ( | ) |
Definition at line 132 of file SpectrogramLayer.cpp.
References deleteDerivedModels(), and invalidateRenderers().
Member Function Documentation
|
inlineoverridevirtual |
Return a zoom constraint object defining the supported zoom levels for this layer.
If this returns zero, the layer will support any integer zoom level.
Reimplemented from Layer.
Definition at line 66 of file SpectrogramLayer.h.
|
inlineoverridevirtual |
Return the ID of the model represented in this layer.
Implements Layer.
Definition at line 67 of file SpectrogramLayer.h.
References getBinDisplay(), getBinScale(), getChannel(), getColourMap(), getColourRotation(), getColourScale(), getColourScaleMultiple(), getCrosshairExtents(), getExportModel(), getFeatureDescription(), getGain(), getMaxFrequency(), getMinFrequency(), getNewPropertyRangeMapper(), getNormalization(), getNormalizeVisibleArea(), getOversampling(), getProperties(), getPropertyGroupName(), getPropertyIconName(), getPropertyLabel(), getPropertyRangeAndValue(), getPropertyType(), getPropertyValueIconName(), getPropertyValueLabel(), getThreshold(), getVerticalScaleWidth(), getWindowHopLevel(), getWindowSize(), getWindowType(), hasLightBackground(), m_model, measureDoubleClick(), paint(), paintCrosshairs(), paintVerticalScale(), setBinDisplay(), setBinScale(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setColourScaleMultiple(), setGain(), setMaxFrequency(), setMinFrequency(), setModel(), setNormalization(), setNormalizeVisibleArea(), setOversampling(), setProperty(), setSynchronousPainting(), setThreshold(), setVerticallyFixed(), setWindowHopLevel(), setWindowSize(), setWindowType(), and snapToFeatureFrame().
|
overridevirtual |
Return the ID of a model representing the contents of this layer in a form suitable for export to a tabular file format such as CSV.
In most cases this will be the same as returned by getModel(). The exceptions are those layers such as SpectrogramLayer, that are "only" alternative views of time-domain sample data. For such layers, getModel() will return the backing time-domain data, for example as a ReadOnlyWaveFileModel; but getExportModel() will return a model, possibly "local to" the layer, which adapts this into the form shown in the layer for a given view so that the export matches the layer's visible contents.
Because this is supposed to match the contents of the view rather than the backing model, it's necessary to pass in a view (or LayerGeometryProvider) so that the layer can retrieve its vertical extents for export.
Reimplemented from Layer.
Definition at line 147 of file SpectrogramLayer.cpp.
References Colour3DPlotExporter::Parameters::binDisplay, Colour3DPlotExporter::Sources::fft, Colour3DPlotExporter::Parameters::gain, getWindowSize(), m_binDisplay, m_colourScale, m_exporters, m_fftModel, m_gain, m_normalization, m_threshold, Colour3DPlotExporter::Parameters::normalization, Phase, Colour3DPlotExporter::Sources::provider, Colour3DPlotExporter::Parameters::scaleFactor, Colour3DPlotExporter::Sources::source, Colour3DPlotExporter::Parameters::threshold, and Colour3DPlotExporter::Sources::verticalBinLayer.
Referenced by getModel().
|
overridevirtual |
Paint the given rectangle of this layer onto the given view using the given painter, superimposing it on top of any existing material in that view.
The LayerGeometryProvider (an interface implemented by View) is provided here because it is possible for one layer to exist in more than one view, so the dimensions of the view may vary from one paint call to another (without any view having been resized).
Implements Layer.
Definition at line 1711 of file SpectrogramLayer.cpp.
References LayerGeometryProvider::getZoomLevel(), illuminateLocalFeatures(), m_model, and paintWithRenderer().
Referenced by getModel().
|
overridevirtual |
Enable or disable synchronous painting.
If synchronous painting is enabled, a call to paint() must complete painting the entire rectangle before it returns. If synchronous painting is disabled (which should be the default), the paint() call may defer painting some regions if data is not yet available, by calling back on its view to schedule another update. Synchronous painting is necessary when rendering to an image. Simple layer types will always paint synchronously, and so may ignore this.
Reimplemented from Layer.
Definition at line 1568 of file SpectrogramLayer.cpp.
References m_synchronous.
Referenced by getModel().
|
overridevirtual |
Implements Layer.
Definition at line 2177 of file SpectrogramLayer.cpp.
References getColourScaleWidth(), Log, m_binScale, m_maxFrequency, and m_model.
Referenced by getCrosshairExtents(), getModel(), and paintCrosshairs().
|
overridevirtual |
!! cache this?
Reimplemented from Layer.
Definition at line 2199 of file SpectrogramLayer.cpp.
References getColourScaleWidth(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), LayerGeometryProvider::getPaintHeight(), getYBinRange(), Linear, Log, m_binScale, m_haveDetailedScale, m_maxFrequency, m_model, paintDetailedScale(), and PianoScale::paintPianoVertical().
Referenced by getModel().
|
overridevirtual |
Reimplemented from Layer.
Definition at line 1925 of file SpectrogramLayer.cpp.
References LayerGeometryProvider::getPaintHeight(), getVerticalScaleWidth(), and m_haveDetailedScale.
Referenced by getModel().
|
overridevirtual |
Reimplemented from Layer.
Definition at line 1969 of file SpectrogramLayer.cpp.
References PaintAssistant::drawVisibleText(), LayerGeometryProvider::getFrameForX(), getFrequencyForY(), LayerGeometryProvider::getPaintHeight(), getVerticalScaleWidth(), getYForFrequency(), m_crosshairColour, m_haveDetailedScale, m_model, and PaintAssistant::OutlinedText.
Referenced by getModel().
|
overridevirtual |
Reimplemented from Layer.
Definition at line 2054 of file SpectrogramLayer.cpp.
References getAdjustedYBinSourceRange(), getXBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), m_binDisplay, m_model, and PeakFrequencies.
Referenced by getModel().
|
overridevirtual |
Adjust the given frame to snap to the nearest feature, if possible.
If snap is SnapLeft or SnapRight, adjust the frame to match that of the nearest feature in the given direction regardless of how far away it is. If snap is SnapNeighbouring, adjust the frame to that of the nearest feature in either direction if it is close, and leave it alone (returning false) otherwise. SnapNeighbouring should always choose the same feature that would be used in an editing operation through calls to editStart etc.
If ycoord is non-negative, it contains the y coordinate at which the interaction that prompts this snap is taking place (e.g. of the mouse press used for a selection action). Layers that have objects at multiple different heights may choose to use this information. If the current action has no particular y coordinate associated with it, ycoord will be passed as -1.
Return true if a suitable feature was found and frame adjusted accordingly. Return false if no suitable feature was available (and leave frame unmodified). If returning true, also return the resolution of the model in this layer in sample frames.
Reimplemented from Layer.
Definition at line 1888 of file SpectrogramLayer.cpp.
References getWindowIncrement(), Layer::SnapLeft, Layer::SnapNeighbouring, and Layer::SnapRight.
Referenced by getModel().
|
overridevirtual |
Reimplemented from Layer.
Definition at line 1910 of file SpectrogramLayer.cpp.
References CommandHistory::addCommand(), Colour3DPlotRenderer::findSimilarRegionExtents(), CommandHistory::getInstance(), getRenderer(), and Layer::setMeasureRectFromPixrect().
Referenced by getModel().
|
overridevirtual |
Reimplemented from Layer.
Definition at line 1159 of file SpectrogramLayer.cpp.
References ColourMapper::hasLightBackground(), m_colourInverted, and m_colourMap.
Referenced by getModel().
void SpectrogramLayer::setModel | ( | ModelId | model | ) |
Definition at line 256 of file SpectrogramLayer.cpp.
References cacheInvalid(), Layer::connectSignals(), m_model, Layer::modelChanged(), Layer::modelChangedWithin(), Layer::modelReplaced(), and recreateFFTModel().
Referenced by getModel().
|
override |
Definition at line 283 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 303 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 322 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 328 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 338 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 355 of file SpectrogramLayer.cpp.
References AllBins, convertFromColourScale(), convertFromColumnNorm(), ColourMapper::getColourMapCount(), Linear, m_binDisplay, m_binScale, m_colourMap, m_colourRotation, m_colourScale, m_colourScaleMultiple, m_gain, m_initialGain, m_initialRotation, m_initialThreshold, m_maxFrequency, m_minFrequency, m_normalization, m_normalizeVisibleArea, m_oversampling, m_threshold, m_windowHopLevel, and m_windowSize.
Referenced by getModel().
|
override |
Definition at line 512 of file SpectrogramLayer.cpp.
References ColourMapper::getColourMapLabel().
Referenced by getModel().
|
override |
Definition at line 610 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 626 of file SpectrogramLayer.cpp.
Referenced by getModel().
|
override |
Definition at line 639 of file SpectrogramLayer.cpp.
References AllBins, convertToColumnNorm(), getCurrentVerticalZoomStep(), Linear, Log, m_lastEmittedZoomStep, Meter, PeakBins, PeakFrequencies, Phase, setBinDisplay(), setBinScale(), setColourMap(), setColourRotation(), setColourScale(), setColourScaleMultiple(), setGain(), setMaxFrequency(), setMinFrequency(), setNormalization(), setNormalizeVisibleArea(), setOversampling(), setThreshold(), setWindowHopLevel(), setWindowSize(), and Layer::verticalZoomChanged().
Referenced by getModel().
void SpectrogramLayer::setChannel | ( | int | ch | ) |
Specify the channel to use from the source model.
A value of -1 means to mix all available channels. The default is channel 0.
Definition at line 766 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), m_channel, and recreateFFTModel().
Referenced by getModel(), and setProperties().
int SpectrogramLayer::getChannel | ( | ) | const |
Definition at line 778 of file SpectrogramLayer.cpp.
References m_channel.
Referenced by getModel().
void SpectrogramLayer::setWindowSize | ( | int | ws | ) |
Definition at line 790 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), m_windowSize, and recreateFFTModel().
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getWindowSize | ( | ) | const |
Definition at line 800 of file SpectrogramLayer.cpp.
References m_windowSize.
Referenced by getExportModel(), getModel(), and getRenderer().
void SpectrogramLayer::setWindowHopLevel | ( | int | level | ) |
Definition at line 806 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), m_windowHopLevel, and recreateFFTModel().
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getWindowHopLevel | ( | ) | const |
Definition at line 816 of file SpectrogramLayer.cpp.
References m_windowHopLevel.
Referenced by getModel().
void SpectrogramLayer::setOversampling | ( | int | oversampling | ) |
Definition at line 822 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), m_oversampling, and recreateFFTModel().
Referenced by getModel(), setProperties(), and setProperty().
int SpectrogramLayer::getOversampling | ( | ) | const |
Definition at line 832 of file SpectrogramLayer.cpp.
References m_oversampling.
Referenced by getModel().
void SpectrogramLayer::setWindowType | ( | WindowType | type | ) |
Definition at line 838 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), m_windowType, and recreateFFTModel().
Referenced by getModel(), preferenceChanged(), and SpectrogramLayer().
WindowType SpectrogramLayer::getWindowType | ( | ) | const |
Definition at line 852 of file SpectrogramLayer.cpp.
References m_windowType.
Referenced by getModel(), and preferenceChanged().
void SpectrogramLayer::setGain | ( | float | gain | ) |
Set the gain multiplier for sample values in this view.
The default is 1.0.
Definition at line 858 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_gain.
Referenced by getModel(), setProperties(), and setProperty().
float SpectrogramLayer::getGain | ( | ) | const |
void SpectrogramLayer::setThreshold | ( | float | threshold | ) |
Set the threshold for sample values to qualify for being shown in the FFT, in voltage units.
The default is 10^-8 (-80dB).
Definition at line 879 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_threshold.
Referenced by getModel(), setProperties(), and setProperty().
float SpectrogramLayer::getThreshold | ( | ) | const |
Definition at line 891 of file SpectrogramLayer.cpp.
References m_threshold.
Referenced by getModel().
void SpectrogramLayer::setVerticallyFixed | ( | ) |
Mark the spectrogram layer as having a fixed range in the vertical axis.
This indicates that the visible frequency range is determined entirely by the configuration requested on construction, and that setMinFrequency, setMaxFrequency, and setDisplayExtents will never be called. This may allow some cache-size-related optimisations. It should be called immediately after construction, if at all.
Note that this cannot be reversed on a given object (this call takes no argument and there is no inverse call).
Definition at line 139 of file SpectrogramLayer.cpp.
References m_verticallyFixed, and recreateFFTModel().
Referenced by getModel().
void SpectrogramLayer::setMinFrequency | ( | int | mf | ) |
Definition at line 897 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), m_minFrequency, and m_verticallyFixed.
Referenced by getModel(), setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().
int SpectrogramLayer::getMinFrequency | ( | ) | const |
Definition at line 916 of file SpectrogramLayer.cpp.
References m_minFrequency.
Referenced by getModel().
void SpectrogramLayer::setMaxFrequency | ( | int | mf | ) |
Definition at line 922 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), m_maxFrequency, and m_verticallyFixed.
Referenced by getModel(), setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().
int SpectrogramLayer::getMaxFrequency | ( | ) | const |
Definition at line 941 of file SpectrogramLayer.cpp.
References m_maxFrequency.
Referenced by getModel(), and recreateFFTModel().
void SpectrogramLayer::setColourScale | ( | ColourScaleType | colourScale | ) |
Specify the scale for sample levels.
See ColourScale and WaveformLayer for comparison and details of meter and dB scaling. The default is LogColourScale.
Definition at line 967 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_colourScale.
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
ColourScaleType SpectrogramLayer::getColourScale | ( | ) | const |
Definition at line 979 of file SpectrogramLayer.cpp.
References m_colourScale.
Referenced by getModel().
void SpectrogramLayer::setColourScaleMultiple | ( | double | multiple | ) |
Specify multiple factor for colour scale.
This is 2.0 for log-power spectrogram and 1.0 otherwise.
Definition at line 985 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_colourScaleMultiple.
Referenced by getModel(), setProperties(), and setProperty().
double SpectrogramLayer::getColourScaleMultiple | ( | ) | const |
Definition at line 997 of file SpectrogramLayer.cpp.
References m_colourScaleMultiple.
Referenced by getModel().
void SpectrogramLayer::setBinScale | ( | BinScale | binScale | ) |
Specify the scale for the y axis.
Definition at line 1021 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_binScale.
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
BinScale SpectrogramLayer::getBinScale | ( | ) | const |
Definition at line 1032 of file SpectrogramLayer.cpp.
References m_binScale.
Referenced by getModel().
void SpectrogramLayer::setBinDisplay | ( | BinDisplay | binDisplay | ) |
Specify the processing of frequency bins for the y axis.
Definition at line 1038 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_binDisplay.
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
BinDisplay SpectrogramLayer::getBinDisplay | ( | ) | const |
Definition at line 1049 of file SpectrogramLayer.cpp.
References m_binDisplay.
Referenced by getModel().
void SpectrogramLayer::setNormalization | ( | ColumnNormalization | n | ) |
Specify the normalization mode for individual columns.
Definition at line 1055 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), and m_normalization.
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
ColumnNormalization SpectrogramLayer::getNormalization | ( | ) | const |
Definition at line 1067 of file SpectrogramLayer.cpp.
References m_normalization.
Referenced by getModel().
void SpectrogramLayer::setNormalizeVisibleArea | ( | bool | n | ) |
Specify whether to normalize the visible area.
Definition at line 1073 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), and m_normalizeVisibleArea.
Referenced by getModel(), setProperties(), and setProperty().
bool SpectrogramLayer::getNormalizeVisibleArea | ( | ) | const |
Definition at line 1085 of file SpectrogramLayer.cpp.
References m_normalizeVisibleArea.
Referenced by getModel().
void SpectrogramLayer::setColourMap | ( | int | map | ) |
Specify the colour map.
See ColourMapper for the colour map values.
Definition at line 1003 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_colourMap.
Referenced by getModel(), setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getColourMap | ( | ) | const |
Definition at line 1015 of file SpectrogramLayer.cpp.
References m_colourMap.
Referenced by getModel().
void SpectrogramLayer::setColourRotation | ( | int | r | ) |
Specify the colourmap rotation for the colour scale.
Definition at line 947 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::layerParametersChanged(), and m_colourRotation.
Referenced by getModel(), setProperties(), and setProperty().
int SpectrogramLayer::getColourRotation | ( | ) | const |
Referenced by getModel().
|
inlineoverridevirtual |
Reimplemented from Layer.
Definition at line 215 of file SpectrogramLayer.h.
References Layer::PositionTop.
|
inlineoverridevirtual |
This should return true if the layer completely obscures any underlying layers.
It's used to determine whether the view can safely draw any selection rectangles under the layer instead of over it, in the case where the layer is not scrollable and therefore needs to be redrawn each time (so that the selection rectangle can be cached).
Reimplemented from Layer.
Definition at line 219 of file SpectrogramLayer.h.
|
inlineoverridevirtual |
This should return the degree of meaning associated with colour in this layer.
If ColourAbsent, the layer does not use colour. If ColourIrrelevant, the layer is coloured and the colour may be set by the user, but it doesn't really matter what the colour is (for example, in a time ruler layer). If ColourDistinguishes, then the colour is used to distinguish this layer from other similar layers (e.g. for data layers). If ColourAndBackgroundSignificant, then the layer should be given greater weight than ColourDistinguishes layers when choosing a background colour (e.g. for waveforms). If ColourHasMeaningfulValue, colours are actually meaningful – the view will then show selections using unfilled rectangles instead of translucent filled rectangles, so as not to disturb the colours underneath.
Implements Layer.
Definition at line 221 of file SpectrogramLayer.h.
References cacheInvalid(), Layer::ColourHasMeaningfulValue, getBinForY(), getCompletion(), getCurrentVerticalZoomStep(), getDisplayExtents(), getError(), getFrequencyForY(), getNewVerticalZoomRangeMapper(), getSliceableModel(), getValueExtents(), getVerticalZoomSteps(), getYForBin(), getYForFrequency(), getYScaleValue(), isLayerScrollable(), preferenceChanged(), setDisplayExtents(), setLayerDormant(), setProperties(), setVerticalZoomStep(), and toXml().
double SpectrogramLayer::getYForFrequency | ( | const LayerGeometryProvider * | v, |
double | frequency | ||
) | const |
Definition at line 1777 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), LayerGeometryProvider::getYForFrequency(), Log, and m_binScale.
Referenced by getLayerColourSignificance(), illuminateLocalFeatures(), paintCrosshairs(), and updateMeasureRectYCoords().
double SpectrogramLayer::getFrequencyForY | ( | const LayerGeometryProvider * | v, |
int | y | ||
) | const |
Definition at line 1786 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), LayerGeometryProvider::getFrequencyForY(), Log, and m_binScale.
Referenced by getLayerColourSignificance(), getYScaleValue(), paintCrosshairs(), and setMeasureRectYCoord().
|
overridevirtual |
!! VerticalBinLayer methods. Note overlap with get*BinRange()
Implements VerticalBinLayer.
Definition at line 1213 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), LayerGeometryProvider::getYForFrequency(), Log, m_binScale, and m_model.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Return the bin number, possibly fractional, at the given y coordinate.
Note that the whole numbers occur at the positions at which the bins "start" (i.e. the bottom of the visible bin, if the vertical scale is the usual way up).
Implements VerticalBinLayer.
Definition at line 1231 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), LayerGeometryProvider::getFrequencyForY(), Log, m_binScale, and m_model.
Referenced by getLayerColourSignificance(), and getYBinRange().
|
overridevirtual |
Return the proportion of background work complete in drawing this view, as a percentage – in most cases this will be the value returned by pointer from a call to the underlying model's isReady(int *) call.
The view may choose to show a progress meter if it finds that this returns < 100 at any given moment.
Reimplemented from Layer.
Definition at line 1795 of file SpectrogramLayer.cpp.
References m_fftModel.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Return an error string if any errors have occurred while loading or processing data for the given view.
Return the empty string if no error has occurred.
Reimplemented from Layer.
Definition at line 1807 of file SpectrogramLayer.cpp.
References m_fftModel.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Return the minimum and maximum values for the y axis of the model in this layer, as well as whether the layer is configured to use a logarithmic y axis display.
Also return the unit for these values if known.
This function returns the "normal" extents for the layer, not necessarily the extents actually in use in the display (see getDisplayExtents).
Implements Layer.
Definition at line 1815 of file SpectrogramLayer.cpp.
References getFFTSize(), Log, m_binScale, and m_model.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Return the minimum and maximum values within the visible area for the y axis of this layer.
Return false if the layer has no display extents of its own. This could be because the layer is "auto-aligning" against another layer with the same units elsewhere in the view, or because the layer has no concept of a vertical scale at all.
Reimplemented from Layer.
Definition at line 1831 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), and getEffectiveMinFrequency().
Referenced by getCurrentVerticalZoomStep(), and getLayerColourSignificance().
|
overridevirtual |
Set the displayed minimum and maximum values for the y axis to the given range, if supported.
Return false if not supported on this layer (and set nothing). In most cases, layers that return false for getDisplayExtents should also return false for this function.
Reimplemented from Layer.
Definition at line 1841 of file SpectrogramLayer.cpp.
References getCurrentVerticalZoomStep(), invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), m_lastEmittedZoomStep, m_maxFrequency, m_minFrequency, m_model, m_verticallyFixed, and Layer::verticalZoomChanged().
Referenced by getLayerColourSignificance().
|
overridevirtual |
Return the value and unit at the given y coordinate in the given view.
Reimplemented from Layer.
Definition at line 1879 of file SpectrogramLayer.cpp.
References getFrequencyForY().
Referenced by getLayerColourSignificance().
|
override |
Definition at line 2634 of file SpectrogramLayer.cpp.
References convertFromColourScale(), ColourMapper::getBackwardCompatibilityColourMap(), ColourMapper::getColourMapId(), m_binDisplay, m_binScale, m_channel, m_colourMap, m_colourRotation, m_colourScale, m_colourScaleMultiple, m_gain, m_maxFrequency, m_minFrequency, m_normalization, m_normalizeVisibleArea, m_oversampling, m_threshold, m_windowHopLevel, m_windowSize, and Layer::toXml().
Referenced by getLayerColourSignificance().
|
overridevirtual |
Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes.
This is the effective inverse of the toXml method.
Implements Layer.
Definition at line 2703 of file SpectrogramLayer.cpp.
References convertToColourScale(), ColourMapper::getColourMapById(), ColourMapper::getColourMapCount(), getFFTSize(), m_gain, m_normalization, setBinDisplay(), setBinScale(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setColourScaleMultiple(), setGain(), setMaxFrequency(), setMinFrequency(), setNormalization(), setNormalizeVisibleArea(), setOversampling(), setThreshold(), setWindowHopLevel(), and setWindowSize().
Referenced by getLayerColourSignificance().
|
overridevirtual |
Indicate that a layer is not currently visible in the given view and is not expected to become visible in the near future (for example because the user has explicitly removed or hidden it).
The layer may respond by (for example) freeing any cache memory it is using, until next time its paint method is called, when it should set itself un-dormant again.
A layer class that overrides this function must also call this class's implementation.
Reimplemented from Layer.
Definition at line 1091 of file SpectrogramLayer.cpp.
References invalidateRenderers(), Layer::isLayerDormant(), and Layer::setLayerDormant().
Referenced by getLayerColourSignificance().
|
overridevirtual |
This should return true if the layer can safely be scrolled automatically by a given view (simply copying the existing data and then refreshing the exposed area) without altering its meaning.
For the view widget as a whole this is usually not possible because of invariant (non-scrolling) material displayed over the top, but the widget may be able to optimise scrolling better if it is known that individual views can be scrolled safely in this way.
Reimplemented from Layer.
Definition at line 1115 of file SpectrogramLayer.cpp.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Get the number of vertical zoom steps available for this layer.
If vertical zooming is not available, return 0. The meaning of "zooming" is entirely up to the layer – changing the zoom level may cause the layer to reset its display extents or change another property such as display gain. However, layers are advised for consistency to treat smaller zoom steps as "more distant" or "zoomed out" and larger ones as "closer" or "zoomed in".
Layers that provide this facility should also emit the verticalZoomChanged signal if their vertical zoom changes due to factors other than setVerticalZoomStep being called.
Reimplemented from Layer.
Definition at line 2491 of file SpectrogramLayer.cpp.
References getFFTSize(), SpectrogramRangeMapper::getPositionForValue(), m_initialMaxFrequency, and m_model.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Get the current vertical zoom step.
A layer may support finer control over ranges etc than is available through the integer zoom step mechanism; if this one does, it should just return the nearest of the available zoom steps to the current settings.
Reimplemented from Layer.
Definition at line 2515 of file SpectrogramLayer.cpp.
References getDisplayExtents(), getFFTSize(), SpectrogramRangeMapper::getPositionForValue(), and m_model.
Referenced by getLayerColourSignificance(), setDisplayExtents(), and setProperty().
|
overridevirtual |
Set the vertical zoom step.
The meaning of "zooming" is entirely up to the layer – changing the zoom level may cause the layer to reset its display extents or change another property such as display gain.
Reimplemented from Layer.
Definition at line 2530 of file SpectrogramLayer.cpp.
References getFFTSize(), SpectrogramRangeMapper::getValueForPosition(), Log, m_binScale, m_maxFrequency, m_minFrequency, m_model, setMaxFrequency(), and setMinFrequency().
Referenced by getLayerColourSignificance().
|
overridevirtual |
Create and return a range mapper for vertical zoom step values.
See the RangeMapper documentation for more details. The returned value is allocated on the heap and will be deleted by the caller.
Reimplemented from Layer.
Definition at line 2599 of file SpectrogramLayer.cpp.
References getFFTSize(), and m_model.
Referenced by getLayerColourSignificance().
|
overridevirtual |
Implements SliceableLayer.
Definition at line 1553 of file SpectrogramLayer.cpp.
References m_fftModel.
Referenced by getLayerColourSignificance().
|
protectedslot |
Definition at line 1124 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), and invalidateRenderers().
Referenced by getLayerColourSignificance(), and setModel().
|
protectedslot |
Definition at line 1135 of file SpectrogramLayer.cpp.
References invalidateMagnitudes(), and invalidateRenderers().
|
protectedslot |
Definition at line 742 of file SpectrogramLayer.cpp.
References getWindowType(), invalidateMagnitudes(), invalidateRenderers(), Layer::layerParametersChanged(), and setWindowType().
Referenced by getLayerColourSignificance(), and SpectrogramLayer().
|
staticprotected |
Definition at line 202 of file SpectrogramLayer.cpp.
References Linear, Log, Meter, and Phase.
Referenced by setProperties().
|
staticprotected |
Definition at line 215 of file SpectrogramLayer.cpp.
References Absolute, Linear, Log, Meter, Phase, and PlusMinusOne.
Referenced by getPropertyRangeAndValue(), and toXml().
|
staticprotected |
Definition at line 229 of file SpectrogramLayer.cpp.
Referenced by setProperty().
|
staticprotected |
Definition at line 241 of file SpectrogramLayer.cpp.
Referenced by getPropertyRangeAndValue().
|
protected |
Definition at line 2167 of file SpectrogramLayer.cpp.
Referenced by getVerticalScaleWidth(), paintDetailedScale(), paintDetailedScalePhase(), and paintVerticalScale().
|
protected |
!! should we be using paintCrosshairs for this?
Definition at line 1732 of file SpectrogramLayer.cpp.
References LayerGeometryProvider::getForeground(), getWindowIncrement(), getXBinRange(), LayerGeometryProvider::getXForFrame(), getYBinSourceRange(), getYForFrequency(), m_model, and LayerGeometryProvider::shouldIlluminateLocalFeatures().
Referenced by paint().
|
protected |
Definition at line 1166 of file SpectrogramLayer.cpp.
References getFFTSize(), m_minFrequency, and m_model.
Referenced by getBinForY(), getDisplayExtents(), getFrequencyForY(), getYForBin(), getYForFrequency(), and paintVerticalScale().
|
protected |
Definition at line 1184 of file SpectrogramLayer.cpp.
References getFFTSize(), m_maxFrequency, and m_model.
Referenced by getBinForY(), getDisplayExtents(), getFrequencyForY(), getYForBin(), getYForFrequency(), and paintVerticalScale().
|
protected |
Definition at line 1251 of file SpectrogramLayer.cpp.
References LayerGeometryProvider::getFrameForX(), getWindowIncrement(), and m_model.
Referenced by getAdjustedYBinSourceRange(), getXBinSourceRange(), getXYBinSourceRange(), and illuminateLocalFeatures().
|
protected |
Definition at line 1202 of file SpectrogramLayer.cpp.
References getBinForY(), and LayerGeometryProvider::getPaintHeight().
Referenced by getAdjustedYBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), and paintVerticalScale().
|
protected |
Definition at line 1300 of file SpectrogramLayer.cpp.
References getFFTSize(), getYBinRange(), and m_model.
Referenced by getFeatureDescription(), and illuminateLocalFeatures().
|
protected |
Definition at line 1322 of file SpectrogramLayer.cpp.
References getFFTSize(), getXBinRange(), getYBinRange(), m_binDisplay, m_fftModel, m_model, m_threshold, PeakBins, and PeakFrequencies.
Referenced by getFeatureDescription().
|
protected |
Definition at line 1278 of file SpectrogramLayer.cpp.
References getWindowIncrement(), getXBinRange(), m_model, and m_windowSize.
Referenced by getFeatureDescription().
|
protected |
Definition at line 1391 of file SpectrogramLayer.cpp.
References getFFTSize(), getXBinRange(), getYBinRange(), m_fftModel, and m_model.
Referenced by getFeatureDescription().
|
inlineprotected |
Definition at line 323 of file SpectrogramLayer.h.
References getFFTSize(), and m_windowSize.
Referenced by getXBinRange(), getXBinSourceRange(), illuminateLocalFeatures(), recreateFFTModel(), and snapToFeatureFrame().
|
protected |
Definition at line 784 of file SpectrogramLayer.cpp.
References m_oversampling, and m_windowSize.
Referenced by getAdjustedYBinSourceRange(), getBinForY(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getNewVerticalZoomRangeMapper(), getValueExtents(), getVerticalZoomSteps(), getWindowIncrement(), getXYBinSourceRange(), getYBinSourceRange(), getYForBin(), paintVerticalScale(), recreateFFTModel(), setProperties(), and setVerticalZoomStep().
|
protected |
Definition at line 1511 of file SpectrogramLayer.cpp.
References m_fftModel.
Referenced by recreateFFTModel().
|
protected |
Definition at line 1455 of file SpectrogramLayer.cpp.
References checkCacheSpace(), deleteDerivedModels(), getFFTSize(), getMaxFrequency(), getWindowIncrement(), m_channel, m_fftModel, m_model, m_peakCache, m_peakCacheDivisor, m_verticallyFixed, m_wholeCache, m_windowSize, and m_windowType.
Referenced by setChannel(), setModel(), setOversampling(), setVerticallyFixed(), setWindowHopLevel(), setWindowSize(), and setWindowType().
|
protected |
Definition at line 1559 of file SpectrogramLayer.cpp.
References m_viewMags.
Referenced by cacheInvalid(), preferenceChanged(), setDisplayExtents(), setMaxFrequency(), setMinFrequency(), setNormalization(), and setNormalizeVisibleArea().
|
protected |
Definition at line 1574 of file SpectrogramLayer.cpp.
References Colour3DPlotRenderer::Parameters::alwaysOpaque, Colour3DPlotRenderer::Parameters::binDisplay, Colour3DPlotRenderer::Parameters::binScale, ColourScale::Parameters::colourMap, Colour3DPlotRenderer::Parameters::colourRotation, Colour3DPlotRenderer::Parameters::colourScale, Colour3DPlotRenderer::Sources::fft, ColourScale::Parameters::gain, ColourMapper::getContrastingColour(), LayerGeometryProvider::getId(), getWindowSize(), Colour3DPlotRenderer::Parameters::interpolate, Colour3DPlotRenderer::Parameters::invertVertical, Linear, m_binDisplay, m_binScale, m_colourInverted, m_colourMap, m_colourRotation, m_colourScale, m_colourScaleMultiple, m_crosshairColour, m_fftModel, m_gain, m_lastRenderedMags, m_normalization, m_normalizeVisibleArea, m_peakCache, m_renderers, m_threshold, m_viewMags, m_wholeCache, ColourScale::Parameters::maxValue, ColourScale::Parameters::minValue, ColourScale::Parameters::multiple, Colour3DPlotRenderer::Parameters::normalization, Colour3DPlotRenderer::Sources::peakCaches, Phase, Colour3DPlotRenderer::Parameters::scaleFactor, ColourScale::Parameters::scaleType, Colour3DPlotRenderer::Sources::source, ColourScale::Parameters::threshold, and Colour3DPlotRenderer::Sources::verticalBinLayer.
Referenced by measureDoubleClick(), paintDetailedScale(), paintDetailedScalePhase(), and paintWithRenderer().
|
protected |
Definition at line 728 of file SpectrogramLayer.cpp.
References m_renderers.
Referenced by cacheInvalid(), preferenceChanged(), setBinDisplay(), setBinScale(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setColourScaleMultiple(), setDisplayExtents(), setGain(), setLayerDormant(), setMaxFrequency(), setMinFrequency(), setNormalization(), setNormalizeVisibleArea(), setOversampling(), setThreshold(), setWindowHopLevel(), setWindowSize(), setWindowType(), and ~SpectrogramLayer().
|
protected |
Definition at line 181 of file SpectrogramLayer.cpp.
References m_exporters, m_fftModel, m_peakCache, and m_wholeCache.
Referenced by recreateFFTModel(), and ~SpectrogramLayer().
|
protected |
Definition at line 1652 of file SpectrogramLayer.cpp.
References Colour3DPlotRenderer::geometryChanged(), LayerGeometryProvider::getId(), Colour3DPlotRenderer::getLargestUncachedRect(), LayerGeometryProvider::getPaintRect(), getRenderer(), m_lastRenderedMags, m_normalizeVisibleArea, m_renderers, m_synchronous, m_viewMags, Colour3DPlotRenderer::RenderResult::range, Colour3DPlotRenderer::render(), Colour3DPlotRenderer::RenderResult::rendered, Colour3DPlotRenderer::renderTimeConstrained(), and LayerGeometryProvider::updatePaintRect().
Referenced by paint().
|
protected |
Definition at line 2288 of file SpectrogramLayer.cpp.
References getColourScaleWidth(), LayerGeometryProvider::getForeground(), LayerGeometryProvider::getId(), getRenderer(), m_colourScale, m_threshold, m_viewMags, paintDetailedScalePhase(), and Phase.
Referenced by paintVerticalScale().
|
protected |
Definition at line 2387 of file SpectrogramLayer.cpp.
References getColourScaleWidth(), and getRenderer().
Referenced by paintDetailedScale().
|
overrideprotectedvirtual |
Reimplemented from Layer.
Definition at line 2607 of file SpectrogramLayer.cpp.
References Layer::MeasureRect::endY, getYForFrequency(), Layer::MeasureRect::pixrect, and Layer::MeasureRect::startY.
|
overrideprotectedvirtual |
Reimplemented from Layer.
Definition at line 2621 of file SpectrogramLayer.cpp.
References Layer::MeasureRect::endY, getFrequencyForY(), and Layer::MeasureRect::startY.
|
inlinevirtualinherited |
As getYForBin, but rounding to integer values.
Definition at line 42 of file VerticalBinLayer.h.
References VerticalBinLayer::getBinForY(), and VerticalBinLayer::getYForBin().
Referenced by Colour3DPlotLayer::paintVerticalScale().
|
inlinevirtualinherited |
As getBinForY, but rounding to integer values.
Definition at line 57 of file VerticalBinLayer.h.
References VerticalBinLayer::getBinForY().
Referenced by Colour3DPlotLayer::getFeatureDescription().
|
inherited |
Return the ID of the source model for the model represented in this layer.
If the model has no other source, or there is no model here, return None.
Definition at line 68 of file Layer.cpp.
References Layer::getModel().
Referenced by View::paintEvent().
|
inlinevirtualinherited |
Return true if this layer can handle zoom levels other than those supported by its zoom constraint (presumably less efficiently or accurately than the officially supported zoom levels).
If true, the layer will unenthusistically accept any integer zoom level from 1 to the maximum returned by its zoom constraint.
Definition at line 114 of file Layer.h.
References Layer::paint().
|
inlinevirtualinherited |
Definition at line 143 of file Layer.h.
References Layer::PositionMiddle.
|
overrideinherited |
Definition at line 80 of file Layer.cpp.
References LayerFactory::getInstance(), and LayerFactory::getLayerIconName().
Referenced by LayerTreeModel::data(), and Layer::hasLightBackground().
|
inlineoverrideinherited |
Definition at line 155 of file Layer.h.
References Layer::getLayerPresentationName(), Layer::isPresentationNameSet(), Layer::m_presentationName, and Layer::setPresentationName().
|
virtualinherited |
Definition at line 87 of file Layer.cpp.
References Layer::m_presentationName.
Referenced by Layer::getPropertyContainerName().
|
virtualinherited |
Definition at line 93 of file Layer.cpp.
References Layer::m_presentationName.
Referenced by Layer::getPropertyContainerName().
|
virtualinherited |
Reimplemented in TimeRulerLayer.
Definition at line 99 of file Layer.cpp.
References LayerFactory::getInstance(), LayerFactory::getLayerPresentationName(), LayerFactory::getLayerType(), Layer::getModel(), and Layer::m_presentationName.
Referenced by Pane::drawVerticalScale(), FlexiNoteLayer::getAssociatedPitchModel(), Layer::getPropertyContainerName(), View::getScaleProvidingLayerForUnit(), and PropertyStack::repopulate().
|
inlinevirtualinherited |
Reimplemented in SingleColourLayer.
Definition at line 165 of file Layer.h.
References Layer::getVerticalScaleWidth().
|
inlinevirtualinherited |
Reimplemented in SpectrumLayer.
Definition at line 173 of file Layer.h.
Referenced by SliceLayer::paint(), and SliceLayer::paintVerticalScale().
|
virtualinherited |
Definition at line 464 of file Layer.cpp.
References Layer::findFocusedMeasureRect(), Layer::m_currentMeasureRectPoint, Layer::m_draggingRect, Layer::m_haveCurrentMeasureRect, Layer::m_haveDraggingRect, Layer::m_measureRects, Layer::paintMeasurementRect(), and Layer::updateMeasurePixrects().
Referenced by Layer::paintCrosshairs(), and Pane::paintEvent().
|
virtualinherited |
Definition at line 496 of file Layer.cpp.
References Layer::findFocusedMeasureRect(), and Layer::updateMeasurePixrects().
Referenced by Pane::mouseMoveEvent(), and Layer::paintCrosshairs().
|
inlinevirtualinherited |
Reimplemented in RegionLayer, TimeValueLayer, BoxLayer, and TimeInstantLayer.
|
inlinevirtualinherited |
Adjust the given frame to snap to the next feature that has "effectively" the same value as the feature prior to the given frame, if possible.
The snap type must be SnapLeft (snap to the time of the next feature prior to the one preceding the given frame that has a similar value to it) or SnapRight (snap to the time of the next feature following the given frame that has a similar value to the feature preceding it). Other values are not permitted.
Return true if a suitable feature was found and frame adjusted accordingly. Return false if no suitable feature was available (and leave frame unmodified). If returning true, also return the resolution of the model in this layer in sample frames.
Reimplemented in RegionLayer, and TimeValueLayer.
Definition at line 251 of file Layer.h.
Referenced by TimeValueLayer::snapToSimilarFeature(), and RegionLayer::snapToSimilarFeature().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 264 of file Layer.h.
Referenced by Pane::mousePressEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 265 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 266 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 268 of file Layer.h.
Referenced by Pane::mousePressEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 269 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 270 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 272 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 273 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, RegionLayer, TimeValueLayer, BoxLayer, FlexiNoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 274 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
|
inlinevirtualinherited |
Reimplemented in FlexiNoteLayer.
Definition at line 276 of file Layer.h.
Referenced by Pane::mousePressEvent().
|
inlinevirtualinherited |
Reimplemented in FlexiNoteLayer.
Definition at line 277 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
|
inlinevirtualinherited |
Reimplemented in FlexiNoteLayer.
Definition at line 278 of file Layer.h.
References Layer::measureDoubleClick(), Layer::measureDrag(), Layer::measureEnd(), and Layer::measureStart().
Referenced by Pane::mouseDoubleClickEvent().
|
virtualinherited |
Definition at line 390 of file Layer.cpp.
References Layer::MeasureRect::endFrame, LayerGeometryProvider::getFrameForX(), Layer::hasTimeXAxis(), Layer::MeasureRect::haveFrames, Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::MeasureRect::pixrect, Layer::setMeasureRectYCoord(), and Layer::MeasureRect::startFrame.
Referenced by Layer::addNote(), and Pane::mousePressEvent().
|
virtualinherited |
Definition at line 414 of file Layer.cpp.
References Layer::MeasureRect::endFrame, LayerGeometryProvider::getFrameForX(), Layer::MeasureRect::haveFrames, Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::MeasureRect::pixrect, and Layer::setMeasureRectYCoord().
Referenced by Layer::addNote(), Layer::measureEnd(), and Pane::mouseMoveEvent().
|
virtualinherited |
Definition at line 430 of file Layer.cpp.
References CommandHistory::addCommand(), CommandHistory::getInstance(), Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::measureDrag(), and Layer::MeasureRect::pixrect.
Referenced by Layer::addNote(), and Pane::mouseReleaseEvent().
|
inlinevirtualinherited |
Definition at line 289 of file Layer.h.
References Layer::deleteCurrentMeasureRect(), and Layer::m_haveCurrentMeasureRect.
|
virtualinherited |
Definition at line 450 of file Layer.cpp.
References CommandHistory::addCommand(), Layer::findFocusedMeasureRect(), CommandHistory::getInstance(), Layer::m_currentMeasureRectPoint, Layer::m_haveCurrentMeasureRect, and Layer::m_measureRects.
Referenced by Layer::haveCurrentMeasureRect().
|
inlinevirtualinherited |
Open an editor on the item under the mouse (e.g.
on double-click). If there is no item or editing is not supported, return false.
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, ImageLayer, BoxLayer, TextLayer, and TimeInstantLayer.
Definition at line 299 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 301 of file Layer.h.
Referenced by Pane::editSelectionEnd().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 302 of file Layer.h.
Referenced by Pane::editSelectionEnd().
|
inlinevirtualinherited |
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
|
inlinevirtualinherited |
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
|
inlinevirtualinherited |
Paste from the given clipboard onto the layer at the given frame offset.
If interactive is true, the layer may ask the user about paste options through a dialog if desired, and may return false if the user cancelled the paste operation. This function should return true if a paste actually occurred.
Reimplemented in NoteLayer, FlexiNoteLayer, RegionLayer, TimeValueLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
|
inlinevirtualinherited |
This should return true if the layer can be edited by the user.
If this is the case, the appropriate edit tools may be made available by the application and the layer's drawStart/Drag/End and editStart/Drag/End methods should be implemented.
Reimplemented in TimeValueLayer, FlexiNoteLayer, RegionLayer, NoteLayer, BoxLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 382 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), Pane::shouldIlluminateLocalSelection(), and Pane::updateContextHelp().
|
virtualinherited |
Definition at line 122 of file Layer.cpp.
References Layer::layerNameChanged().
Referenced by LayerFactory::createLayer(), and Layer::getError().
|
virtualinherited |
Produce XML containing the layer's ID and type.
This is used to refer to the layer in the display section of the SV session file, for a layer that has already been described in the data section.
Definition at line 691 of file Layer.cpp.
References LayerFactory::getInstance(), Layer::getModel(), and Layer::m_presentationName.
Referenced by Layer::getError().
|
virtualinherited |
Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element).
Does not use a command.
Definition at line 333 of file Layer.cpp.
References Layer::addMeasureRectToSet(), Layer::MeasureRect::endFrame, Layer::MeasureRect::endY, Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::MeasureRect::startFrame, and Layer::MeasureRect::startY.
Referenced by Layer::getError().
|
virtualinherited |
Return whether the layer is dormant (i.e.
hidden) in the given view.
Definition at line 144 of file Layer.cpp.
References Layer::m_dormancy, and Layer::m_dormancyMutex.
Referenced by LayerTreeModel::data(), Pane::drawVerticalScale(), Layer::getError(), View::getInteractionLayer(), View::getScaleProvidingLayerForUnit(), View::getVisibleExtentsForAnyUnit(), PropertyStack::propertyContainerPropertyChanged(), PropertyStack::repopulate(), Colour3DPlotLayer::setLayerDormant(), and setLayerDormant().
|
overrideinherited |
Return the play parameters for this layer, if any.
The return value is a shared_ptr that can be passed to (e.g.) PlayParameterRepository::EditCommand to change the parameters.
Definition at line 129 of file Layer.cpp.
References Layer::getModel().
Referenced by LayerTreeModel::data(), Layer::getError(), LayerTreeModel::LayerTreeModel(), LayerTreeModel::playParametersAudibilityChanged(), and LayerTreeModel::setData().
|
inlinevirtualinherited |
True if this layer will need to place text labels when it is painted.
The view will take into account how many layers are requesting this, and will provide a distinct y-coord to each layer on request via View::getTextLabelHeight().
Reimplemented in TimeValueLayer, SpectrumLayer, and TimeInstantLayer.
|
inlinevirtualinherited |
Return true if the X axis on the layer is time proportional to audio frames, false otherwise.
Almost all layer types return true here: the exceptions are spectrum and slice layers.
Reimplemented in SliceLayer.
Definition at line 475 of file Layer.h.
Referenced by Layer::getXScaleValue(), Layer::measureStart(), Pane::mouseMoveEvent(), Layer::setMeasureRectFromPixrect(), and Pane::zoomToRegion().
|
inlinevirtualinherited |
Update the X and Y axis scales, where appropriate, to focus on the given rectangular region.
This should only be overridden by layers whose hasTimeXAxis() returns false - the pane handles zooming appropriately in every "normal" case.
Reimplemented in SliceLayer.
Definition at line 483 of file Layer.h.
References Layer::getValueExtents().
Referenced by Pane::zoomToRegion().
|
inlinevirtualinherited |
Consider using the given value extents and units for this layer.
This may be called on a new layer when added, to prepare it for editing, and the extents are those of the layer underneath it. May not be appropriate for most layer types.
Reimplemented in BoxLayer.
Definition at line 532 of file Layer.h.
References Layer::getXScaleValue().
|
virtualinherited |
Return the value and unit at the given x coordinate in the given view.
This is for descriptive purposes using the measurement tool. The default implementation works correctly if the layer hasTimeXAxis().
Reimplemented in SpectrumLayer.
Definition at line 160 of file Layer.cpp.
References LayerGeometryProvider::getFrameForX(), Layer::getModel(), and Layer::hasTimeXAxis().
Referenced by Layer::adoptExtents(), and View::drawMeasurementRect().
|
virtualinherited |
Return the difference between the values at the given y coordinates in the given view, and the unit of the difference.
The default implementation just calls getYScaleValue twice and returns the difference, with the same unit.
Reimplemented in WaveformLayer, and SpectrumLayer.
Definition at line 173 of file Layer.cpp.
References Layer::getYScaleValue().
Referenced by View::drawMeasurementRect(), SpectrumLayer::getYScaleDifference(), and Layer::getYScaleValue().
|
inlinevirtualinherited |
Return true if this layer type can function without a model being set.
If false (the default), the layer will not be loaded from a session if its model cannot be found.
Reimplemented in WaveformLayer, and TimeRulerLayer.
Definition at line 609 of file Layer.h.
References Layer::alignFromReference(), Layer::alignToReference(), Layer::clipboardHasDifferentAlignment(), Layer::connectSignals(), Layer::layerMeasurementRectsChanged(), Layer::layerNameChanged(), Layer::layerParameterRangesChanged(), Layer::layerParametersChanged(), Layer::modelAlignmentCompletionChanged(), Layer::modelChanged(), Layer::modelChangedWithin(), Layer::modelCompletionChanged(), Layer::modelReplaced(), Layer::showLayer(), and Layer::verticalZoomChanged().
|
slotinherited |
Change the visibility status (dormancy) of the layer in the given view.
Definition at line 153 of file Layer.cpp.
References Layer::layerParametersChanged(), and Layer::setLayerDormant().
Referenced by Layer::canExistWithoutModel(), ShowLayerCommand::execute(), LayerTreeModel::setData(), and ShowLayerCommand::unexecute().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), Layer::connectSignals(), ImageLayer::fileSourceReady(), Colour3DPlotLayer::handleModelChanged(), RegionLayer::setModel(), Colour3DPlotLayer::setModel(), setModel(), BoxLayer::setProperty(), TimeValueLayer::setProperty(), RegionLayer::setProperty(), NoteLayer::setProperty(), and FlexiNoteLayer::setProperty().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), and Layer::connectSignals().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), and Layer::connectSignals().
|
signalinherited |
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), TimeRulerLayer::setModel(), WaveformLayer::setModel(), TextLayer::setModel(), ImageLayer::setModel(), TimeInstantLayer::setModel(), BoxLayer::setModel(), TimeValueLayer::setModel(), Colour3DPlotLayer::setModel(), RegionLayer::setModel(), NoteLayer::setModel(), FlexiNoteLayer::setModel(), setModel(), and SliceLayer::setSliceableModel().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), preferenceChanged(), WaveformLayer::setAggressiveCacheing(), WaveformLayer::setAutoNormalize(), SingleColourLayer::setBaseColour(), setBinDisplay(), SliceLayer::setBinScale(), Colour3DPlotLayer::setBinScale(), setBinScale(), SpectrumLayer::setChannel(), setChannel(), WaveformLayer::setChannel(), WaveformLayer::setChannelMode(), Colour3DPlotLayer::setColourMap(), setColourMap(), setColourRotation(), Colour3DPlotLayer::setColourScale(), setColourScale(), setColourScaleMultiple(), SliceLayer::setDisplayExtents(), NoteLayer::setDisplayExtents(), FlexiNoteLayer::setDisplayExtents(), TimeValueLayer::setDisplayExtents(), Colour3DPlotLayer::setDisplayExtents(), setDisplayExtents(), TimeValueLayer::setDrawSegmentDivisions(), SliceLayer::setEnergyScale(), TimeValueLayer::setFillColourMap(), RegionLayer::setFillColourMap(), SliceLayer::setFillColourMap(), WaveformLayer::setGain(), Colour3DPlotLayer::setGain(), SliceLayer::setGain(), setGain(), Colour3DPlotLayer::setInvertVertical(), setMaxFrequency(), WaveformLayer::setMiddleLineHeight(), setMinFrequency(), SpectrumLayer::setModel(), WaveformLayer::setModel(), Colour3DPlotLayer::setNormalization(), setNormalization(), SliceLayer::setNormalize(), Colour3DPlotLayer::setNormalizeVisibleArea(), setNormalizeVisibleArea(), Colour3DPlotLayer::setOpaque(), SpectrumLayer::setOversampling(), setOversampling(), TimeInstantLayer::setPlotStyle(), SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), RegionLayer::setPlotStyle(), SliceLayer::setSamplingMode(), WaveformLayer::setScale(), TimeValueLayer::setShowDerivative(), WaveformLayer::setShowMeans(), SpectrumLayer::setShowPeaks(), SliceLayer::setSliceableModel(), Colour3DPlotLayer::setSmooth(), SliceLayer::setThreshold(), setThreshold(), BoxLayer::setVerticalScale(), RegionLayer::setVerticalScale(), NoteLayer::setVerticalScale(), TimeValueLayer::setVerticalScale(), FlexiNoteLayer::setVerticalScale(), Colour3DPlotLayer::setVerticalZoomStep(), SpectrumLayer::setWindowHopLevel(), setWindowHopLevel(), SpectrumLayer::setWindowSize(), setWindowSize(), SpectrumLayer::setWindowType(), setWindowType(), and Layer::showLayer().
|
signalinherited |
|
signalinherited |
Referenced by Layer::addMeasureRectToSet(), Layer::canExistWithoutModel(), and Layer::deleteMeasureRectFromSet().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), and Layer::setObjectName().
|
signalinherited |
Referenced by Layer::canExistWithoutModel(), setDisplayExtents(), WaveformLayer::setGain(), and setProperty().
|
protectedinherited |
Definition at line 49 of file Layer.cpp.
References Layer::modelAlignmentCompletionChanged(), Layer::modelChanged(), Layer::modelChangedWithin(), and Layer::modelCompletionChanged().
Referenced by Layer::canExistWithoutModel(), WaveformLayer::setModel(), TextLayer::setModel(), ImageLayer::setModel(), TimeInstantLayer::setModel(), BoxLayer::setModel(), TimeValueLayer::setModel(), Colour3DPlotLayer::setModel(), RegionLayer::setModel(), NoteLayer::setModel(), FlexiNoteLayer::setModel(), setModel(), and SliceLayer::setSliceableModel().
|
protectedvirtualinherited |
Definition at line 187 of file Layer.cpp.
References View::alignToReference(), Layer::getModel(), and LayerGeometryProvider::getView().
Referenced by Layer::canExistWithoutModel(), Layer::clipboardHasDifferentAlignment(), TextLayer::copy(), ImageLayer::copy(), TimeInstantLayer::copy(), BoxLayer::copy(), TimeValueLayer::copy(), RegionLayer::copy(), FlexiNoteLayer::copy(), and NoteLayer::copy().
|
protectedvirtualinherited |
Definition at line 198 of file Layer.cpp.
References View::alignFromReference(), Layer::getModel(), and LayerGeometryProvider::getView().
Referenced by Layer::canExistWithoutModel(), TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), BoxLayer::paste(), TimeValueLayer::paste(), RegionLayer::paste(), FlexiNoteLayer::paste(), and NoteLayer::paste().
|
protectedinherited |
Definition at line 209 of file Layer.cpp.
References Layer::alignToReference().
Referenced by Layer::canExistWithoutModel(), TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), BoxLayer::paste(), TimeValueLayer::paste(), RegionLayer::paste(), FlexiNoteLayer::paste(), and NoteLayer::paste().
|
inlineprotectedinherited |
Definition at line 682 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
Referenced by Layer::addMeasurementRect().
|
inlineprotectedinherited |
Definition at line 687 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
|
protectedinherited |
Definition at line 507 of file Layer.cpp.
References LayerGeometryProvider::getEndFrame(), LayerGeometryProvider::getStartFrame(), LayerGeometryProvider::getXForFrame(), Layer::m_measureRects, and Layer::updateMeasureRectYCoords().
Referenced by Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
|
protectedvirtualinherited |
Definition at line 565 of file Layer.cpp.
References Layer::MeasureRect::endFrame, LayerGeometryProvider::getFrameForX(), Layer::hasTimeXAxis(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::setMeasureRectYCoord(), and Layer::MeasureRect::startFrame.
Referenced by measureDoubleClick().
|
protectedinherited |
Definition at line 578 of file Layer.cpp.
References Layer::m_measureRects.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
|
protectedinherited |
Definition at line 605 of file Layer.cpp.
References LayerGeometryProvider::drawMeasurementRect(), Layer::MeasureRect::endFrame, LayerGeometryProvider::getEndFrame(), LayerGeometryProvider::getPaintWidth(), LayerGeometryProvider::getStartFrame(), LayerGeometryProvider::getXForFrame(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, and Layer::MeasureRect::startFrame.
Referenced by Layer::paintMeasurementRects().
|
protectedinherited |
Definition at line 628 of file Layer.cpp.
References Layer::getValueExtents(), and LayerGeometryProvider::getVisibleExtentsForUnit().
Referenced by TimeValueLayer::getVerticalScaleWidth(), and NoteLayer::getVerticalScaleWidth().
Member Data Documentation
|
protected |
Definition at line 267 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getBinForY(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFeatureDescription(), getModel(), getNewVerticalZoomRangeMapper(), getValueExtents(), getVerticalScaleWidth(), getVerticalZoomSteps(), getXBinRange(), getXBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), getYForBin(), illuminateLocalFeatures(), paint(), paintCrosshairs(), paintVerticalScale(), recreateFFTModel(), setDisplayExtents(), setModel(), and setVerticalZoomStep().
|
protected |
Definition at line 269 of file SpectrogramLayer.h.
Referenced by getChannel(), recreateFFTModel(), setChannel(), and toXml().
|
protected |
Definition at line 270 of file SpectrogramLayer.h.
Referenced by getFFTSize(), getPropertyRangeAndValue(), getWindowIncrement(), getWindowSize(), getXBinSourceRange(), recreateFFTModel(), setWindowSize(), and toXml().
|
protected |
Definition at line 271 of file SpectrogramLayer.h.
Referenced by getWindowType(), recreateFFTModel(), and setWindowType().
|
protected |
Definition at line 272 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue(), getWindowHopLevel(), setWindowHopLevel(), and toXml().
|
protected |
Definition at line 273 of file SpectrogramLayer.h.
Referenced by getFFTSize(), getOversampling(), getPropertyRangeAndValue(), setOversampling(), and toXml().
|
protected |
Definition at line 274 of file SpectrogramLayer.h.
Referenced by getExportModel(), getGain(), getPropertyRangeAndValue(), getRenderer(), setGain(), setProperties(), and toXml().
|
protected |
Definition at line 275 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
|
protected |
Definition at line 276 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getExportModel(), getPropertyRangeAndValue(), getRenderer(), getThreshold(), paintDetailedScale(), setThreshold(), and toXml().
|
protected |
Definition at line 277 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
|
protected |
Definition at line 278 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue(), getRenderer(), setColourRotation(), and toXml().
|
protected |
Definition at line 279 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
|
protected |
Definition at line 280 of file SpectrogramLayer.h.
Referenced by getEffectiveMinFrequency(), getMinFrequency(), getPropertyRangeAndValue(), setDisplayExtents(), setMinFrequency(), setVerticalZoomStep(), and toXml().
|
protected |
Definition at line 281 of file SpectrogramLayer.h.
Referenced by getEffectiveMaxFrequency(), getMaxFrequency(), getPropertyRangeAndValue(), getVerticalScaleWidth(), paintVerticalScale(), setDisplayExtents(), setMaxFrequency(), setVerticalZoomStep(), and toXml().
|
protected |
Definition at line 282 of file SpectrogramLayer.h.
Referenced by getVerticalZoomSteps(), and SpectrogramLayer().
|
protected |
Definition at line 283 of file SpectrogramLayer.h.
Referenced by recreateFFTModel(), setDisplayExtents(), setMaxFrequency(), setMinFrequency(), and setVerticallyFixed().
|
protected |
Definition at line 284 of file SpectrogramLayer.h.
Referenced by getColourScale(), getExportModel(), getPropertyRangeAndValue(), getRenderer(), paintDetailedScale(), setColourScale(), and toXml().
|
protected |
Definition at line 285 of file SpectrogramLayer.h.
Referenced by getColourScaleMultiple(), getPropertyRangeAndValue(), getRenderer(), setColourScaleMultiple(), and toXml().
|
protected |
Definition at line 286 of file SpectrogramLayer.h.
Referenced by getColourMap(), getPropertyRangeAndValue(), getRenderer(), hasLightBackground(), setColourMap(), and toXml().
|
protected |
Definition at line 287 of file SpectrogramLayer.h.
Referenced by getRenderer(), and hasLightBackground().
|
mutableprotected |
Definition at line 288 of file SpectrogramLayer.h.
Referenced by getRenderer(), and paintCrosshairs().
|
protected |
Definition at line 289 of file SpectrogramLayer.h.
Referenced by getBinForY(), getBinScale(), getFrequencyForY(), getPropertyRangeAndValue(), getRenderer(), getValueExtents(), getVerticalScaleWidth(), getYForBin(), getYForFrequency(), paintVerticalScale(), setBinScale(), setVerticalZoomStep(), and toXml().
|
protected |
Definition at line 290 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getBinDisplay(), getExportModel(), getFeatureDescription(), getPropertyRangeAndValue(), getRenderer(), setBinDisplay(), and toXml().
|
protected |
Definition at line 291 of file SpectrogramLayer.h.
Referenced by getExportModel(), getNormalization(), getPropertyRangeAndValue(), getRenderer(), setNormalization(), setProperties(), and toXml().
|
protected |
Definition at line 292 of file SpectrogramLayer.h.
Referenced by getNormalizeVisibleArea(), getPropertyRangeAndValue(), getRenderer(), paintWithRenderer(), setNormalizeVisibleArea(), and toXml().
|
protected |
Definition at line 293 of file SpectrogramLayer.h.
Referenced by setDisplayExtents(), and setProperty().
|
protected |
Definition at line 294 of file SpectrogramLayer.h.
Referenced by paintWithRenderer(), and setSynchronousPainting().
|
mutableprotected |
Definition at line 296 of file SpectrogramLayer.h.
Referenced by getCrosshairExtents(), paintCrosshairs(), and paintVerticalScale().
|
protected |
Definition at line 303 of file SpectrogramLayer.h.
|
protected |
Definition at line 333 of file SpectrogramLayer.h.
Referenced by checkCacheSpace(), deleteDerivedModels(), getAdjustedYBinSourceRange(), getCompletion(), getError(), getExportModel(), getRenderer(), getSliceableModel(), getXYBinSourceRange(), and recreateFFTModel().
|
protected |
Definition at line 334 of file SpectrogramLayer.h.
Referenced by deleteDerivedModels(), getRenderer(), and recreateFFTModel().
|
protected |
Definition at line 335 of file SpectrogramLayer.h.
Referenced by deleteDerivedModels(), getRenderer(), and recreateFFTModel().
|
protected |
Definition at line 336 of file SpectrogramLayer.h.
Referenced by recreateFFTModel().
|
mutableprotected |
Definition at line 338 of file SpectrogramLayer.h.
Referenced by deleteDerivedModels(), and getExportModel().
|
mutableprotected |
Definition at line 345 of file SpectrogramLayer.h.
Referenced by getRenderer(), invalidateMagnitudes(), paintDetailedScale(), and paintWithRenderer().
|
mutableprotected |
Definition at line 346 of file SpectrogramLayer.h.
Referenced by getRenderer(), and paintWithRenderer().
|
mutableprotected |
Definition at line 350 of file SpectrogramLayer.h.
Referenced by getRenderer(), invalidateRenderers(), and paintWithRenderer().
|
protectedinherited |
Definition at line 693 of file Layer.h.
Referenced by Layer::addMeasureRectToSet(), Layer::deleteCurrentMeasureRect(), Layer::deleteMeasureRectFromSet(), Layer::findFocusedMeasureRect(), Layer::paintMeasurementRects(), Layer::toXml(), and Layer::updateMeasurePixrects().
|
protectedinherited |
Definition at line 694 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
|
protectedinherited |
Definition at line 695 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
|
mutableprotectedinherited |
Definition at line 696 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::haveCurrentMeasureRect(), and Layer::paintMeasurementRects().
|
mutableprotectedinherited |
Definition at line 697 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), and Layer::paintMeasurementRects().
|
protectedinherited |
Definition at line 716 of file Layer.h.
Referenced by Layer::getLayerPresentationName(), Layer::getPropertyContainerName(), Layer::isPresentationNameSet(), Layer::setPresentationName(), Layer::toBriefXml(), and Layer::toXml().
The documentation for this class was generated from the following files:
Generated by 1.8.11