svgui
1.9
|
SpectrogramLayer represents waveform data (obtained from a DenseTimeValueModel) in spectrogram form. More...
#include <SpectrogramLayer.h>
Classes | |
struct | ImageCache |
ImageCache covers the area of the view, at view resolution. More... | |
struct | LayerRange |
class | MagnitudeRange |
class | Palette |
Public Types | |
enum | Configuration { FullRangeDb, MelodicRange, MelodicPeaks } |
enum | ColourScale { LinearColourScale, MeterColourScale, dBSquaredColourScale, dBColourScale, PhaseColourScale } |
enum | FrequencyScale { LinearFrequencyScale, LogFrequencyScale } |
enum | BinDisplay { AllBins, PeakBins, PeakFrequencies } |
enum | VerticalPosition { PositionTop, PositionMiddle, PositionBottom } |
enum | SnapType { SnapLeft, SnapRight, SnapNearest, SnapNeighbouring } |
enum | ColourSignificance { ColourAbsent, ColourIrrelevant, ColourDistinguishes, ColourAndBackgroundSignificant, ColourHasMeaningfulValue } |
Public Slots | |
void | showLayer (View *, bool show) |
Signals | |
void | sliceableModelReplaced (const Model *modelToBeReplaced, const Model *replacement) |
void | modelChanged () |
void | modelCompletionChanged () |
void | modelAlignmentCompletionChanged () |
void | modelChangedWithin (int startFrame, int endFrame) |
void | modelReplaced () |
void | layerParametersChanged () |
void | layerParameterRangesChanged () |
void | layerMeasurementRectsChanged () |
void | layerNameChanged () |
void | verticalZoomChanged () |
Public Member Functions | |
SpectrogramLayer (Configuration=FullRangeDb) | |
~SpectrogramLayer () | |
virtual const ZoomConstraint * | getZoomConstraint () const |
Return a zoom constraint object defining the supported zoom levels for this layer. | |
virtual const Model * | getModel () const |
virtual void | paint (View *v, QPainter &paint, QRect rect) const |
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. | |
virtual void | setSynchronousPainting (bool synchronous) |
Enable or disable synchronous painting. | |
virtual int | getVerticalScaleWidth (View *v, bool detailed, QPainter &) const |
virtual void | paintVerticalScale (View *v, bool detailed, QPainter &paint, QRect rect) const |
virtual bool | getCrosshairExtents (View *, QPainter &, QPoint cursorPos, std::vector< QRect > &extents) const |
virtual void | paintCrosshairs (View *, QPainter &, QPoint) const |
virtual QString | getFeatureDescription (View *v, QPoint &) const |
virtual bool | snapToFeatureFrame (View *v, int &frame, int &resolution, SnapType snap) const |
Adjust the given frame to snap to the nearest feature, if possible. | |
virtual void | measureDoubleClick (View *, QMouseEvent *) |
virtual bool | hasLightBackground () const |
void | setModel (const DenseTimeValueModel *model) |
virtual PropertyList | getProperties () const |
virtual QString | getPropertyLabel (const PropertyName &) const |
virtual QString | getPropertyIconName (const PropertyName &) const |
virtual PropertyType | getPropertyType (const PropertyName &) const |
virtual QString | getPropertyGroupName (const PropertyName &) const |
virtual int | getPropertyRangeAndValue (const PropertyName &, int *min, int *max, int *deflt) const |
virtual QString | getPropertyValueLabel (const PropertyName &, int value) const |
virtual RangeMapper * | getNewPropertyRangeMapper (const PropertyName &) const |
virtual void | setProperty (const PropertyName &, int value) |
void | setChannel (int) |
Specify the channel to use from the source model. | |
int | getChannel () const |
void | setWindowSize (int) |
int | getWindowSize () const |
void | setWindowHopLevel (int level) |
int | getWindowHopLevel () const |
void | setWindowType (WindowType type) |
WindowType | getWindowType () const |
void | setZeroPadLevel (int level) |
int | getZeroPadLevel () const |
void | setGain (float gain) |
Set the gain multiplier for sample values in this view. | |
float | getGain () const |
void | setThreshold (float threshold) |
Set the threshold for sample values to qualify for being shown in the FFT, in voltage units. | |
float | getThreshold () const |
void | setMinFrequency (int) |
int | getMinFrequency () const |
void | setMaxFrequency (int) |
int | getMaxFrequency () const |
void | setColourScale (ColourScale) |
Specify the scale for sample levels. | |
ColourScale | getColourScale () const |
void | setFrequencyScale (FrequencyScale) |
Specify the scale for the y axis. | |
FrequencyScale | getFrequencyScale () const |
void | setBinDisplay (BinDisplay) |
Specify the processing of frequency bins for the y axis. | |
BinDisplay | getBinDisplay () const |
void | setNormalizeColumns (bool n) |
Normalize each column to its maximum value, independent of its neighbours. | |
bool | getNormalizeColumns () const |
void | setNormalizeVisibleArea (bool n) |
Normalize each value against the maximum in the visible region. | |
bool | getNormalizeVisibleArea () const |
void | setNormalizeHybrid (bool n) |
Normalize each column to its maximum value, and then scale by the log of the (absolute) maximum value. | |
bool | getNormalizeHybrid () const |
void | setColourMap (int map) |
int | getColourMap () const |
void | setColourRotation (int) |
Specify the colourmap rotation for the colour scale. | |
int | getColourRotation () const |
virtual VerticalPosition | getPreferredFrameCountPosition () const |
virtual bool | isLayerOpaque () const |
This should return true if the layer completely obscures any underlying layers. | |
virtual ColourSignificance | getLayerColourSignificance () const |
This should return the degree of meaning associated with colour in this layer. | |
float | getYForFrequency (const View *v, float frequency) const |
float | getFrequencyForY (const View *v, int y) const |
virtual int | getCompletion (View *v) const |
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. | |
virtual QString | getError (View *v) const |
Return an error string if any errors have occurred while loading or processing data for the given view. | |
virtual bool | getValueExtents (float &min, float &max, bool &logarithmic, QString &unit) const |
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. | |
virtual bool | getDisplayExtents (float &min, float &max) const |
Return the minimum and maximum values within the displayed range for the y axis, if only a subset of the whole range of the model (returned by getValueExtents) is being displayed. | |
virtual bool | setDisplayExtents (float min, float max) |
Set the displayed minimum and maximum values for the y axis to the given range, if supported. | |
virtual bool | getYScaleValue (const View *, int, float &, QString &) const |
Return the value and unit at the given y coordinate in the given view. | |
virtual void | toXml (QTextStream &stream, QString indent="", QString extraAttributes="") const |
Convert the layer's data (though not those of the model it refers to) into XML for file output. | |
void | setProperties (const QXmlAttributes &attributes) |
Set the particular properties of a layer (those specific to the subclass) from a set of XML attributes. | |
virtual void | setLayerDormant (const View *v, bool dormant) |
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). | |
virtual bool | isLayerScrollable (const View *) const |
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. | |
virtual int | getVerticalZoomSteps (int &defaultStep) const |
Get the number of vertical zoom steps available for this layer. | |
virtual int | getCurrentVerticalZoomStep () const |
Get the current vertical zoom step. | |
virtual void | setVerticalZoomStep (int) |
Set the vertical zoom step. | |
virtual RangeMapper * | getNewVerticalZoomRangeMapper () const |
Create and return a range mapper for vertical zoom step values. | |
virtual const Model * | getSliceableModel () const |
Model * | getModel () |
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). | |
virtual VerticalPosition | getPreferredTimeRulerPosition () const |
virtual QString | getPropertyContainerIconName () const |
virtual QString | getPropertyContainerName () const |
virtual void | setPresentationName (QString name) |
virtual QString | getLayerPresentationName () const |
virtual QPixmap | getLayerPresentationPixmap (QSize) const |
virtual void | paintMeasurementRects (View *, QPainter &, bool showFocus, QPoint focusPoint) const |
virtual bool | nearestMeasurementRectChanged (View *, QPoint prev, QPoint now) const |
virtual QString | getLabelPreceding (int) const |
virtual bool | snapToSimilarFeature (View *, int &, 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. | |
virtual void | drawStart (View *, QMouseEvent *) |
virtual void | drawDrag (View *, QMouseEvent *) |
virtual void | drawEnd (View *, QMouseEvent *) |
virtual void | eraseStart (View *, QMouseEvent *) |
virtual void | eraseDrag (View *, QMouseEvent *) |
virtual void | eraseEnd (View *, QMouseEvent *) |
virtual void | editStart (View *, QMouseEvent *) |
virtual void | editDrag (View *, QMouseEvent *) |
virtual void | editEnd (View *, QMouseEvent *) |
virtual void | splitStart (View *, QMouseEvent *) |
virtual void | splitEnd (View *, QMouseEvent *) |
virtual void | addNote (View *, QMouseEvent *) |
virtual void | measureStart (View *, QMouseEvent *) |
virtual void | measureDrag (View *, QMouseEvent *) |
virtual void | measureEnd (View *, QMouseEvent *) |
virtual bool | haveCurrentMeasureRect () const |
virtual void | deleteCurrentMeasureRect () |
virtual bool | editOpen (View *, QMouseEvent *) |
Open an editor on the item under the mouse (e.g. | |
virtual void | moveSelection (Selection, int) |
virtual void | resizeSelection (Selection, Selection) |
virtual void | deleteSelection (Selection) |
virtual void | copy (View *, Selection, Clipboard &) |
virtual bool | paste (View *, const Clipboard &, int, bool) |
Paste from the given clipboard onto the layer at the given frame offset. | |
virtual bool | isLayerEditable () const |
This should return true if the layer can be edited by the user. | |
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. | |
virtual void | addMeasurementRect (const QXmlAttributes &) |
Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element). | |
virtual bool | isLayerDormant (const View *v) const |
Return whether the layer is dormant (i.e. | |
virtual PlayParameters * | getPlayParameters () |
virtual bool | needsTextLabelHeight () const |
virtual bool | hasTimeXAxis () const |
virtual bool | getXScaleValue (const View *v, int x, float &value, QString &unit) const |
Return the value and unit at the given x coordinate in the given view. | |
virtual bool | getYScaleDifference (const View *v, int y0, int y1, float &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. | |
Protected Types | |
enum | { NO_VALUE = 0 } |
typedef std::map< const View *, ImageCache > | ViewImageCache |
typedef std::pair< FFTModel *, int > | FFTFillPair |
typedef std::map< const View *, FFTFillPair > | ViewFFTMap |
typedef std::map< const View *, Dense3DModelPeakCache * > | PeakCacheMap |
typedef std::map< const View *, MagnitudeRange > | ViewMagMap |
typedef std::set< MeasureRect > | MeasureRectSet |
Protected Slots | |
void | cacheInvalid () |
void | cacheInvalid (int startFrame, int endFrame) |
void | preferenceChanged (PropertyContainer::PropertyName name) |
void | fillTimerTimedOut () |
Protected Member Functions | |
void | invalidateImageCaches () |
void | invalidateImageCaches (int startFrame, int endFrame) |
void | initialisePalette () |
void | rotatePalette (int distance) |
unsigned char | getDisplayValue (View *v, float input) const |
int | getColourScaleWidth (QPainter &) const |
void | illuminateLocalFeatures (View *v, QPainter &painter) const |
float | getEffectiveMinFrequency () const |
float | getEffectiveMaxFrequency () const |
bool | getXBinRange (View *v, int x, float &windowMin, float &windowMax) const |
bool | getYBinRange (View *v, int y, float &freqBinMin, float &freqBinMax) const |
bool | getSmoothedYBinRange (View *v, int y, float &freqBinMin, float &freqBinMax) const |
bool | getYBinSourceRange (View *v, int y, float &freqMin, float &freqMax) const |
bool | getAdjustedYBinSourceRange (View *v, int x, int y, float &freqMin, float &freqMax, float &adjFreqMin, float &adjFreqMax) const |
bool | getXBinSourceRange (View *v, int x, RealTime &timeMin, RealTime &timeMax) const |
bool | getXYBinSourceRange (View *v, int x, int y, float &min, float &max, float &phaseMin, float &phaseMax) const |
int | getWindowIncrement () const |
int | getZeroPadLevel (const View *v) const |
int | getFFTSize (const View *v) const |
FFTModel * | getFFTModel (const View *v) const |
Dense3DModelPeakCache * | getPeakCache (const View *v) const |
void | invalidateFFTModels () |
void | invalidateMagnitudes () |
bool | updateViewMagnitudes (View *v) const |
bool | paintDrawBuffer (View *v, int w, int h, int *binforx, float *binfory, bool usePeaksCache, MagnitudeRange &overallMag, bool &overallMagChanged) const |
bool | paintDrawBufferPeakFrequencies (View *v, int w, int h, int *binforx, int minbin, int maxbin, float displayMinFreq, float displayMaxFreq, bool logarithmic, MagnitudeRange &overallMag, bool &overallMagChanged) const |
virtual void | updateMeasureRectYCoords (View *v, const MeasureRect &r) const |
virtual void | setMeasureRectYCoord (View *v, MeasureRect &r, bool start, int y) const |
void | connectSignals (const Model *) |
virtual int | alignToReference (View *v, int frame) const |
virtual int | alignFromReference (View *v, int frame) const |
bool | clipboardHasDifferentAlignment (View *v, const Clipboard &clip) const |
void | addMeasureRectToSet (const MeasureRect &r) |
void | deleteMeasureRectFromSet (const MeasureRect &r) |
void | updateMeasurePixrects (View *v) const |
virtual void | setMeasureRectFromPixrect (View *v, MeasureRect &r, QRect pixrect) const |
MeasureRectSet::const_iterator | findFocusedMeasureRect (QPoint) const |
void | paintMeasurementRect (View *v, QPainter &paint, const MeasureRect &r, bool focus) const |
Protected Attributes | |
const DenseTimeValueModel * | m_model |
int | m_channel |
int | m_windowSize |
WindowType | m_windowType |
int | m_windowHopLevel |
int | m_zeroPadLevel |
int | m_fftSize |
float | m_gain |
float | m_initialGain |
float | m_threshold |
float | m_initialThreshold |
int | m_colourRotation |
int | m_initialRotation |
int | m_minFrequency |
int | m_maxFrequency |
int | m_initialMaxFrequency |
ColourScale | m_colourScale |
int | m_colourMap |
QColor | m_crosshairColour |
FrequencyScale | m_frequencyScale |
BinDisplay | m_binDisplay |
bool | m_normalizeColumns |
bool | m_normalizeVisibleArea |
bool | m_normalizeHybrid |
int | m_lastEmittedZoomStep |
bool | m_synchronous |
bool | m_haveDetailedScale |
int | m_lastPaintBlockWidth |
RealTime | m_lastPaintTime |
Palette | m_palette |
ViewImageCache | m_imageCaches |
QImage | m_drawBuffer |
When painting, we draw directly onto the draw buffer and then copy this to the part of the image cache that needed refreshing before copying the image cache onto the window. | |
QTimer * | m_updateTimer |
int | m_candidateFillStartFrame |
bool | m_exiting |
ViewFFTMap | m_fftModels |
PeakCacheMap | m_peakCaches |
Model * | m_sliceableModel |
ViewMagMap | m_viewMags |
std::vector< MagnitudeRange > | m_columnMags |
MeasureRectSet | m_measureRects |
MeasureRect | m_draggingRect |
bool | m_haveDraggingRect |
bool | m_haveCurrentMeasureRect |
QPoint | m_currentMeasureRectPoint |
QString | m_presentationName |
SpectrogramLayer represents waveform data (obtained from a DenseTimeValueModel) in spectrogram form.
Definition at line 47 of file SpectrogramLayer.h.
typedef std::map<const View *, ImageCache> SpectrogramLayer::ViewImageCache [protected] |
Definition at line 316 of file SpectrogramLayer.h.
typedef std::pair<FFTModel *, int> SpectrogramLayer::FFTFillPair [protected] |
Definition at line 383 of file SpectrogramLayer.h.
typedef std::map<const View *, FFTFillPair> SpectrogramLayer::ViewFFTMap [protected] |
Definition at line 384 of file SpectrogramLayer.h.
typedef std::map<const View *, Dense3DModelPeakCache *> SpectrogramLayer::PeakCacheMap [protected] |
Definition at line 385 of file SpectrogramLayer.h.
typedef std::map<const View *, MagnitudeRange> SpectrogramLayer::ViewMagMap [protected] |
Definition at line 438 of file SpectrogramLayer.h.
typedef std::set<MeasureRect> Layer::MeasureRectSet [protected, inherited] |
Definition at line 53 of file SpectrogramLayer.h.
Definition at line 136 of file SpectrogramLayer.h.
Definition at line 151 of file SpectrogramLayer.h.
Definition at line 162 of file SpectrogramLayer.h.
anonymous enum [protected] |
Definition at line 285 of file SpectrogramLayer.h.
enum Layer::VerticalPosition [inherited] |
enum Layer::SnapType [inherited] |
enum Layer::ColourSignificance [inherited] |
Definition at line 55 of file SpectrogramLayer.cpp.
References FullRangeDb, initialisePalette(), LogFrequencyScale, m_initialMaxFrequency, MelodicPeaks, MelodicRange, PeakFrequencies, preferenceChanged(), setBinDisplay(), setColourMap(), setColourScale(), setFrequencyScale(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setWindowHopLevel(), setWindowSize(), setWindowType(), and ColourMapper::Sunset.
Definition at line 121 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), and m_updateTimer.
virtual const ZoomConstraint* SpectrogramLayer::getZoomConstraint | ( | ) | const [inline, virtual] |
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 58 of file SpectrogramLayer.h.
virtual const Model* SpectrogramLayer::getModel | ( | ) | const [inline, virtual] |
void SpectrogramLayer::paint | ( | View * | , |
QPainter & | , | ||
QRect | |||
) | const [virtual] |
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 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).
!! no inter use cache-fill thread
!!
!! this really needs to be coordinated with the selection !! of m_drawBuffer boundaries in the bufferBinResolution !! case below
!!
!! if (fftSuspended) fft->resume();
Implements Layer.
Definition at line 1770 of file SpectrogramLayer.cpp.
References Layer::copy(), SpectrogramLayer::Palette::getColour(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), View::getFrameForX(), getSmoothedYBinRange(), View::getStartFrame(), getWindowIncrement(), getXBinRange(), View::getXForFrame(), getZeroPadLevel(), View::getZoomLevel(), illuminateLocalFeatures(), SpectrogramLayer::ImageCache::image, Layer::isLayerDormant(), LogFrequencyScale, m_binDisplay, m_candidateFillStartFrame, m_colourScale, m_drawBuffer, m_fftSize, m_frequencyScale, m_imageCaches, m_lastPaintBlockWidth, m_lastPaintTime, m_maxFrequency, m_minFrequency, m_model, m_normalizeVisibleArea, m_palette, m_synchronous, m_updateTimer, m_viewMags, paintDrawBuffer(), paintDrawBufferPeakFrequencies(), PeakFrequencies, PhaseColourScale, Layer::setLayerDormant(), SpectrogramLayer::ImageCache::startFrame, updateViewMagnitudes(), SpectrogramLayer::ImageCache::validArea, and SpectrogramLayer::ImageCache::zoomLevel.
void SpectrogramLayer::setSynchronousPainting | ( | bool | ) | [virtual] |
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 1764 of file SpectrogramLayer.cpp.
References m_synchronous.
int SpectrogramLayer::getVerticalScaleWidth | ( | View * | v, |
bool | detailed, | ||
QPainter & | paint | ||
) | const [virtual] |
Implements Layer.
Definition at line 3248 of file SpectrogramLayer.cpp.
References getColourScaleWidth(), LogFrequencyScale, m_frequencyScale, m_maxFrequency, and m_model.
Referenced by getCrosshairExtents(), and paintCrosshairs().
void SpectrogramLayer::paintVerticalScale | ( | View * | v, |
bool | detailed, | ||
QPainter & | paint, | ||
QRect | rect | ||
) | const [virtual] |
!! cache this?
!! & phase etc
Reimplemented from Layer.
Definition at line 3269 of file SpectrogramLayer.cpp.
References View::getBackground(), SpectrogramLayer::Palette::getColour(), getColourScaleWidth(), getDisplayValue(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getForeground(), getYBinRange(), LinearFrequencyScale, LogFrequencyScale, m_colourScale, m_fftSize, m_frequencyScale, m_gain, m_haveDetailedScale, m_maxFrequency, m_model, m_palette, m_viewMags, PianoScale::paintPianoVertical(), and PhaseColourScale.
bool SpectrogramLayer::getCrosshairExtents | ( | View * | v, |
QPainter & | paint, | ||
QPoint | cursorPos, | ||
std::vector< QRect > & | extents | ||
) | const [virtual] |
Reimplemented from Layer.
Definition at line 3009 of file SpectrogramLayer.cpp.
References getVerticalScaleWidth(), and m_haveDetailedScale.
void SpectrogramLayer::paintCrosshairs | ( | View * | v, |
QPainter & | paint, | ||
QPoint | cursorPos | ||
) | const [virtual] |
Reimplemented from Layer.
Definition at line 3048 of file SpectrogramLayer.cpp.
References View::drawVisibleText(), View::getFrameForX(), getFrequencyForY(), getVerticalScaleWidth(), getYForFrequency(), m_crosshairColour, m_haveDetailedScale, m_model, and View::OutlinedText.
QString SpectrogramLayer::getFeatureDescription | ( | View * | v, |
QPoint & | pos | ||
) | const [virtual] |
Reimplemented from Layer.
Definition at line 3126 of file SpectrogramLayer.cpp.
References getAdjustedYBinSourceRange(), getXBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), m_binDisplay, m_model, and PeakFrequencies.
bool SpectrogramLayer::snapToFeatureFrame | ( | View * | , |
int & | , | ||
int & | resolution, | ||
SnapType | |||
) | const [virtual] |
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 SnapNearest, adjust the frame to that of the nearest feature in either direction. If snap is SnapNeighbouring, adjust the frame to that of the nearest feature 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.
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 2967 of file SpectrogramLayer.cpp.
References getWindowIncrement(), Layer::SnapLeft, Layer::SnapNearest, Layer::SnapNeighbouring, and Layer::SnapRight.
void SpectrogramLayer::measureDoubleClick | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual] |
Reimplemented from Layer.
Definition at line 2989 of file SpectrogramLayer.cpp.
References CommandHistory::addCommand(), ImageRegionFinder::findRegionExtents(), CommandHistory::getInstance(), SpectrogramLayer::ImageCache::image, m_imageCaches, and Layer::setMeasureRectFromPixrect().
bool SpectrogramLayer::hasLightBackground | ( | ) | const [virtual] |
Reimplemented from Layer.
Definition at line 1131 of file SpectrogramLayer.cpp.
References ColourMapper::hasLightBackground(), and m_colourMap.
void SpectrogramLayer::setModel | ( | const DenseTimeValueModel * | model | ) |
Definition at line 130 of file SpectrogramLayer.cpp.
References cacheInvalid(), Layer::connectSignals(), invalidateFFTModels(), m_model, Layer::modelChanged(), Layer::modelChangedWithin(), and Layer::modelReplaced().
Layer::PropertyList SpectrogramLayer::getProperties | ( | ) | const [virtual] |
Definition at line 151 of file SpectrogramLayer.cpp.
QString SpectrogramLayer::getPropertyLabel | ( | const PropertyName & | name | ) | const [virtual] |
Definition at line 172 of file SpectrogramLayer.cpp.
QString SpectrogramLayer::getPropertyIconName | ( | const PropertyName & | name | ) | const [virtual] |
Definition at line 192 of file SpectrogramLayer.cpp.
Layer::PropertyType SpectrogramLayer::getPropertyType | ( | const PropertyName & | name | ) | const [virtual] |
Definition at line 200 of file SpectrogramLayer.cpp.
QString SpectrogramLayer::getPropertyGroupName | ( | const PropertyName & | name | ) | const [virtual] |
Definition at line 212 of file SpectrogramLayer.cpp.
int SpectrogramLayer::getPropertyRangeAndValue | ( | const PropertyName & | name, |
int * | min, | ||
int * | max, | ||
int * | deflt | ||
) | const [virtual] |
Definition at line 230 of file SpectrogramLayer.cpp.
References AllBins, dBColourScale, ColourMapper::getColourMapCount(), LinearFrequencyScale, m_binDisplay, m_colourMap, m_colourRotation, m_colourScale, m_frequencyScale, m_gain, m_initialGain, m_initialRotation, m_initialThreshold, m_maxFrequency, m_minFrequency, m_normalizeColumns, m_normalizeVisibleArea, m_threshold, m_windowHopLevel, m_windowSize, and m_zeroPadLevel.
QString SpectrogramLayer::getPropertyValueLabel | ( | const PropertyName & | name, |
int | value | ||
) | const [virtual] |
Definition at line 386 of file SpectrogramLayer.cpp.
References ColourMapper::getColourMapName().
RangeMapper * SpectrogramLayer::getNewPropertyRangeMapper | ( | const PropertyName & | name | ) | const [virtual] |
Definition at line 469 of file SpectrogramLayer.cpp.
void SpectrogramLayer::setProperty | ( | const PropertyName & | name, |
int | value | ||
) | [virtual] |
Definition at line 481 of file SpectrogramLayer.cpp.
References AllBins, dBColourScale, dBSquaredColourScale, getCurrentVerticalZoomStep(), LinearFrequencyScale, LogFrequencyScale, m_lastEmittedZoomStep, MeterColourScale, PeakBins, PeakFrequencies, PhaseColourScale, setBinDisplay(), setColourMap(), setColourRotation(), setColourScale(), setFrequencyScale(), setGain(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setNormalizeVisibleArea(), setThreshold(), setWindowHopLevel(), setWindowSize(), setZeroPadLevel(), and Layer::verticalZoomChanged().
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 666 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), invalidateImageCaches(), Layer::layerParametersChanged(), and m_channel.
Referenced by setProperties().
int SpectrogramLayer::getChannel | ( | ) | const |
Definition at line 678 of file SpectrogramLayer.cpp.
References m_channel.
void SpectrogramLayer::setWindowSize | ( | int | ws | ) |
Definition at line 684 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), invalidateImageCaches(), Layer::layerParametersChanged(), m_fftSize, m_windowSize, and m_zeroPadLevel.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getWindowSize | ( | ) | const |
Definition at line 699 of file SpectrogramLayer.cpp.
References m_windowSize.
void SpectrogramLayer::setWindowHopLevel | ( | int | level | ) |
Definition at line 705 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), invalidateImageCaches(), Layer::layerParametersChanged(), and m_windowHopLevel.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getWindowHopLevel | ( | ) | const |
Definition at line 721 of file SpectrogramLayer.cpp.
References m_windowHopLevel.
void SpectrogramLayer::setWindowType | ( | WindowType | type | ) |
Definition at line 748 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), invalidateImageCaches(), Layer::layerParametersChanged(), and m_windowType.
Referenced by preferenceChanged(), and SpectrogramLayer().
WindowType SpectrogramLayer::getWindowType | ( | ) | const |
Definition at line 762 of file SpectrogramLayer.cpp.
References m_windowType.
Referenced by preferenceChanged().
void SpectrogramLayer::setZeroPadLevel | ( | int | level | ) |
Definition at line 727 of file SpectrogramLayer.cpp.
References invalidateFFTModels(), invalidateImageCaches(), Layer::layerParametersChanged(), m_fftSize, m_windowSize, and m_zeroPadLevel.
Referenced by setProperty().
int SpectrogramLayer::getZeroPadLevel | ( | ) | const |
Definition at line 742 of file SpectrogramLayer.cpp.
References m_zeroPadLevel.
Referenced by getFFTSize(), getXYBinSourceRange(), and paint().
void SpectrogramLayer::setGain | ( | float | gain | ) |
Set the gain multiplier for sample values in this view.
The default is 1.0.
Definition at line 768 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), and m_gain.
Referenced by setProperties(), and setProperty().
float SpectrogramLayer::getGain | ( | ) | const |
Definition at line 783 of file SpectrogramLayer.cpp.
References m_gain.
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 0.0.
Definition at line 789 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), and m_threshold.
Referenced by setProperties(), and setProperty().
float SpectrogramLayer::getThreshold | ( | ) | const |
Definition at line 801 of file SpectrogramLayer.cpp.
References m_threshold.
void SpectrogramLayer::setMinFrequency | ( | int | mf | ) |
Definition at line 807 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and m_minFrequency.
Referenced by setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().
int SpectrogramLayer::getMinFrequency | ( | ) | const |
Definition at line 822 of file SpectrogramLayer.cpp.
References m_minFrequency.
void SpectrogramLayer::setMaxFrequency | ( | int | mf | ) |
Definition at line 828 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and m_maxFrequency.
Referenced by setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().
int SpectrogramLayer::getMaxFrequency | ( | ) | const |
Definition at line 843 of file SpectrogramLayer.cpp.
References m_maxFrequency.
void SpectrogramLayer::setColourScale | ( | ColourScale | colourScale | ) |
Specify the scale for sample levels.
See WaveformLayer for details of meter and dB scaling. The default is dBColourScale.
Definition at line 866 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), and m_colourScale.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
Definition at line 878 of file SpectrogramLayer.cpp.
References m_colourScale.
void SpectrogramLayer::setFrequencyScale | ( | FrequencyScale | frequencyScale | ) |
Specify the scale for the y axis.
Definition at line 903 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), and m_frequencyScale.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
Definition at line 914 of file SpectrogramLayer.cpp.
References m_frequencyScale.
void SpectrogramLayer::setBinDisplay | ( | BinDisplay | binDisplay | ) |
Specify the processing of frequency bins for the y axis.
Definition at line 920 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), and m_binDisplay.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
Definition at line 931 of file SpectrogramLayer.cpp.
References m_binDisplay.
void SpectrogramLayer::setNormalizeColumns | ( | bool | n | ) |
Normalize each column to its maximum value, independent of its neighbours.
Definition at line 937 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and m_normalizeColumns.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
bool SpectrogramLayer::getNormalizeColumns | ( | ) | const |
Definition at line 949 of file SpectrogramLayer.cpp.
References m_normalizeColumns.
void SpectrogramLayer::setNormalizeVisibleArea | ( | bool | n | ) |
Normalize each value against the maximum in the visible region.
Definition at line 973 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and m_normalizeVisibleArea.
Referenced by setProperties(), and setProperty().
bool SpectrogramLayer::getNormalizeVisibleArea | ( | ) | const |
Definition at line 988 of file SpectrogramLayer.cpp.
References m_normalizeVisibleArea.
void SpectrogramLayer::setNormalizeHybrid | ( | bool | n | ) |
Normalize each column to its maximum value, and then scale by the log of the (absolute) maximum value.
Definition at line 955 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and m_normalizeHybrid.
Referenced by setProperties().
bool SpectrogramLayer::getNormalizeHybrid | ( | ) | const |
Definition at line 967 of file SpectrogramLayer.cpp.
References m_normalizeHybrid.
void SpectrogramLayer::setColourMap | ( | int | map | ) |
Definition at line 884 of file SpectrogramLayer.cpp.
References initialisePalette(), invalidateImageCaches(), Layer::layerParametersChanged(), and m_colourMap.
Referenced by setProperties(), setProperty(), and SpectrogramLayer().
int SpectrogramLayer::getColourMap | ( | ) | const |
Definition at line 897 of file SpectrogramLayer.cpp.
References m_colourMap.
void SpectrogramLayer::setColourRotation | ( | int | r | ) |
Specify the colourmap rotation for the colour scale.
Definition at line 849 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::layerParametersChanged(), m_colourRotation, and rotatePalette().
Referenced by setProperties(), and setProperty().
int SpectrogramLayer::getColourRotation | ( | ) | const |
virtual VerticalPosition SpectrogramLayer::getPreferredFrameCountPosition | ( | ) | const [inline, virtual] |
Reimplemented from Layer.
Definition at line 203 of file SpectrogramLayer.h.
References Layer::PositionTop.
virtual bool SpectrogramLayer::isLayerOpaque | ( | ) | const [inline, virtual] |
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 207 of file SpectrogramLayer.h.
virtual ColourSignificance SpectrogramLayer::getLayerColourSignificance | ( | ) | const [inline, virtual] |
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 209 of file SpectrogramLayer.h.
References Layer::ColourHasMeaningfulValue.
float SpectrogramLayer::getYForFrequency | ( | const View * | v, |
float | frequency | ||
) | const |
Definition at line 2863 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getYForFrequency(), LogFrequencyScale, and m_frequencyScale.
Referenced by illuminateLocalFeatures(), paintCrosshairs(), and updateMeasureRectYCoords().
float SpectrogramLayer::getFrequencyForY | ( | const View * | v, |
int | y | ||
) | const |
Definition at line 2872 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getFrequencyForY(), LogFrequencyScale, and m_frequencyScale.
Referenced by getYScaleValue(), paintCrosshairs(), and setMeasureRectYCoord().
int SpectrogramLayer::getCompletion | ( | View * | ) | const [virtual] |
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 2881 of file SpectrogramLayer.cpp.
References m_fftModels, and m_updateTimer.
QString SpectrogramLayer::getError | ( | View * | ) | const [virtual] |
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 2894 of file SpectrogramLayer.cpp.
References m_fftModels.
bool SpectrogramLayer::getValueExtents | ( | float & | min, |
float & | max, | ||
bool & | logarithmic, | ||
QString & | unit | ||
) | const [virtual] |
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.
Implements Layer.
Definition at line 2901 of file SpectrogramLayer.cpp.
References LogFrequencyScale, m_fftSize, m_frequencyScale, and m_model.
bool SpectrogramLayer::getDisplayExtents | ( | float & | , |
float & | |||
) | const [virtual] |
Return the minimum and maximum values within the displayed range for the y axis, if only a subset of the whole range of the model (returned by getValueExtents) is being displayed.
Return false if the layer is not imposing a particular display extent (using the normal layer extents or deferring to whatever is in use for the same units elsewhere in the view).
Reimplemented from Layer.
Definition at line 2916 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), and getEffectiveMinFrequency().
Referenced by getCurrentVerticalZoomStep().
bool SpectrogramLayer::setDisplayExtents | ( | float | , |
float | |||
) | [virtual] |
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 2926 of file SpectrogramLayer.cpp.
References getCurrentVerticalZoomStep(), invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), m_lastEmittedZoomStep, m_maxFrequency, m_minFrequency, m_model, and Layer::verticalZoomChanged().
bool SpectrogramLayer::getYScaleValue | ( | const View * | , |
int | , | ||
float & | , | ||
QString & | |||
) | const [virtual] |
Return the value and unit at the given y coordinate in the given view.
Reimplemented from Layer.
Definition at line 2958 of file SpectrogramLayer.cpp.
References getFrequencyForY().
void SpectrogramLayer::toXml | ( | QTextStream & | stream, |
QString | indent = "" , |
||
QString | extraAttributes = "" |
||
) | const [virtual] |
Convert the layer's data (though not those of the model it refers to) into XML for file output.
This class implements the basic name/type/model-id output; subclasses will typically call this superclass implementation with extra attributes describing their particular properties.
Reimplemented from Layer.
Definition at line 3627 of file SpectrogramLayer.cpp.
References m_binDisplay, m_channel, m_colourMap, m_colourRotation, m_colourScale, m_frequencyScale, m_gain, m_maxFrequency, m_minFrequency, m_normalizeColumns, m_normalizeHybrid, m_normalizeVisibleArea, m_threshold, m_windowHopLevel, and m_windowSize.
void SpectrogramLayer::setProperties | ( | const QXmlAttributes & | ) | [virtual] |
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 3669 of file SpectrogramLayer.cpp.
References setBinDisplay(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setFrequencyScale(), setGain(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setNormalizeHybrid(), setNormalizeVisibleArea(), setThreshold(), setWindowHopLevel(), and setWindowSize().
void SpectrogramLayer::setLayerDormant | ( | const View * | v, |
bool | dormant | ||
) | [virtual] |
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 994 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), Layer::isLayerDormant(), m_fftModels, m_imageCaches, m_peakCaches, m_sliceableModel, and SliceableLayer::sliceableModelReplaced().
virtual bool SpectrogramLayer::isLayerScrollable | ( | const View * | ) | const [inline, virtual] |
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 235 of file SpectrogramLayer.h.
int SpectrogramLayer::getVerticalZoomSteps | ( | int & | ) | const [virtual] |
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 3488 of file SpectrogramLayer.cpp.
References SpectrogramRangeMapper::getPositionForValue(), m_fftSize, m_initialMaxFrequency, and m_model.
int SpectrogramLayer::getCurrentVerticalZoomStep | ( | ) | const [virtual] |
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 3511 of file SpectrogramLayer.cpp.
References getDisplayExtents(), SpectrogramRangeMapper::getPositionForValue(), m_fftSize, and m_model.
Referenced by setDisplayExtents(), and setProperty().
void SpectrogramLayer::setVerticalZoomStep | ( | int | ) | [virtual] |
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 3525 of file SpectrogramLayer.cpp.
References SpectrogramRangeMapper::getValueForPosition(), LogFrequencyScale, m_fftSize, m_frequencyScale, m_maxFrequency, m_minFrequency, m_model, setMaxFrequency(), and setMinFrequency().
RangeMapper * SpectrogramLayer::getNewVerticalZoomRangeMapper | ( | ) | const [virtual] |
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 3593 of file SpectrogramLayer.cpp.
const Model * SpectrogramLayer::getSliceableModel | ( | ) | const [virtual] |
Implements SliceableLayer.
Definition at line 1681 of file SpectrogramLayer.cpp.
References m_fftModels, and m_sliceableModel.
void SpectrogramLayer::cacheInvalid | ( | ) | [protected, slot] |
Definition at line 1041 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), and invalidateMagnitudes().
Referenced by setModel().
void SpectrogramLayer::cacheInvalid | ( | int | startFrame, |
int | endFrame | ||
) | [protected, slot] |
Definition at line 1052 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), and invalidateMagnitudes().
void SpectrogramLayer::preferenceChanged | ( | PropertyContainer::PropertyName | name | ) | [protected, slot] |
Definition at line 642 of file SpectrogramLayer.cpp.
References getWindowType(), invalidateImageCaches(), invalidateMagnitudes(), Layer::layerParametersChanged(), and setWindowType().
Referenced by SpectrogramLayer().
void SpectrogramLayer::fillTimerTimedOut | ( | ) | [protected, slot] |
Definition at line 1063 of file SpectrogramLayer.cpp.
References invalidateImageCaches(), m_fftModels, m_model, m_updateTimer, Layer::modelChanged(), and Layer::modelChangedWithin().
Referenced by getFFTModel().
void SpectrogramLayer::invalidateImageCaches | ( | ) | [protected] |
Definition at line 566 of file SpectrogramLayer.cpp.
References m_imageCaches.
Referenced by cacheInvalid(), fillTimerTimedOut(), preferenceChanged(), setBinDisplay(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setDisplayExtents(), setFrequencyScale(), setGain(), setLayerDormant(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setNormalizeHybrid(), setNormalizeVisibleArea(), setThreshold(), setWindowHopLevel(), setWindowSize(), setWindowType(), and setZeroPadLevel().
void SpectrogramLayer::invalidateImageCaches | ( | int | startFrame, |
int | endFrame | ||
) | [protected] |
!! when are views removed from the map? on setLayerDormant?
Definition at line 575 of file SpectrogramLayer.cpp.
References View::getEndFrame(), View::getStartFrame(), View::getXForFrame(), and m_imageCaches.
void SpectrogramLayer::initialisePalette | ( | ) | [protected] |
Definition at line 1137 of file SpectrogramLayer.cpp.
References ColourMapper::BlackOnWhite, ColourMapper::getContrastingColour(), m_colourMap, m_colourRotation, m_crosshairColour, m_drawBuffer, m_palette, ColourMapper::map(), NO_VALUE, rotatePalette(), and SpectrogramLayer::Palette::setColour().
Referenced by setColourMap(), and SpectrogramLayer().
void SpectrogramLayer::rotatePalette | ( | int | distance | ) | [protected] |
Definition at line 1163 of file SpectrogramLayer.cpp.
References SpectrogramLayer::Palette::getColour(), m_drawBuffer, m_palette, NO_VALUE, and SpectrogramLayer::Palette::setColour().
Referenced by initialisePalette(), and setColourRotation().
unsigned char SpectrogramLayer::getDisplayValue | ( | View * | v, |
float | input | ||
) | const [protected] |
!! experiment with normalizing the visible area this way.
Definition at line 1184 of file SpectrogramLayer.cpp.
References dBColourScale, dBSquaredColourScale, m_colourScale, m_normalizeColumns, m_normalizeVisibleArea, m_viewMags, MeterColourScale, and PhaseColourScale.
Referenced by paintDrawBuffer(), paintDrawBufferPeakFrequencies(), and paintVerticalScale().
int SpectrogramLayer::getColourScaleWidth | ( | QPainter & | paint | ) | const [protected] |
Definition at line 3238 of file SpectrogramLayer.cpp.
Referenced by getVerticalScaleWidth(), and paintVerticalScale().
void SpectrogramLayer::illuminateLocalFeatures | ( | View * | v, |
QPainter & | painter | ||
) | const [protected] |
!! should we be using paintCrosshairs for this?
Definition at line 2824 of file SpectrogramLayer.cpp.
References View::getForeground(), getWindowIncrement(), getXBinRange(), View::getXForFrame(), getYBinSourceRange(), getYForFrequency(), m_model, and View::shouldIlluminateLocalFeatures().
Referenced by paint().
float SpectrogramLayer::getEffectiveMinFrequency | ( | ) | const [protected] |
Definition at line 1267 of file SpectrogramLayer.cpp.
References m_fftSize, m_minFrequency, and m_model.
Referenced by getDisplayExtents(), getFrequencyForY(), getSmoothedYBinRange(), getYBinRange(), getYForFrequency(), paint(), and paintVerticalScale().
float SpectrogramLayer::getEffectiveMaxFrequency | ( | ) | const [protected] |
Definition at line 1282 of file SpectrogramLayer.cpp.
References m_fftSize, m_maxFrequency, and m_model.
Referenced by getDisplayExtents(), getFrequencyForY(), getSmoothedYBinRange(), getYBinRange(), getYForFrequency(), paint(), and paintVerticalScale().
bool SpectrogramLayer::getXBinRange | ( | View * | v, |
int | x, | ||
float & | windowMin, | ||
float & | windowMax | ||
) | const [protected] |
Definition at line 1349 of file SpectrogramLayer.cpp.
References View::getFrameForX(), getWindowIncrement(), and m_model.
Referenced by getAdjustedYBinSourceRange(), getXBinSourceRange(), getXYBinSourceRange(), illuminateLocalFeatures(), paint(), and updateViewMagnitudes().
bool SpectrogramLayer::getYBinRange | ( | View * | v, |
int | y, | ||
float & | freqBinMin, | ||
float & | freqBinMax | ||
) | const [protected] |
Definition at line 1297 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getFrequencyForY(), LogFrequencyScale, m_fftSize, m_frequencyScale, and m_model.
Referenced by getAdjustedYBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), and paintVerticalScale().
bool SpectrogramLayer::getSmoothedYBinRange | ( | View * | v, |
int | y, | ||
float & | freqBinMin, | ||
float & | freqBinMax | ||
) | const [protected] |
Definition at line 1323 of file SpectrogramLayer.cpp.
References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), View::getFrequencyForY(), LogFrequencyScale, m_frequencyScale, and m_model.
Referenced by paint().
bool SpectrogramLayer::getYBinSourceRange | ( | View * | v, |
int | y, | ||
float & | freqMin, | ||
float & | freqMax | ||
) | const [protected] |
Definition at line 1392 of file SpectrogramLayer.cpp.
References getYBinRange(), m_fftSize, and m_model.
Referenced by getFeatureDescription(), and illuminateLocalFeatures().
bool SpectrogramLayer::getAdjustedYBinSourceRange | ( | View * | v, |
int | x, | ||
int | y, | ||
float & | freqMin, | ||
float & | freqMax, | ||
float & | adjFreqMin, | ||
float & | adjFreqMax | ||
) | const [protected] |
Definition at line 1411 of file SpectrogramLayer.cpp.
References getFFTModel(), getXBinRange(), getYBinRange(), m_binDisplay, m_fftSize, m_model, m_threshold, m_windowSize, PeakBins, and PeakFrequencies.
Referenced by getFeatureDescription().
bool SpectrogramLayer::getXBinSourceRange | ( | View * | v, |
int | x, | ||
RealTime & | timeMin, | ||
RealTime & | timeMax | ||
) | const [protected] |
Definition at line 1373 of file SpectrogramLayer.cpp.
References getWindowIncrement(), getXBinRange(), m_model, and m_windowSize.
Referenced by getFeatureDescription().
bool SpectrogramLayer::getXYBinSourceRange | ( | View * | v, |
int | x, | ||
int | y, | ||
float & | min, | ||
float & | max, | ||
float & | phaseMin, | ||
float & | phaseMax | ||
) | const [protected] |
Definition at line 1478 of file SpectrogramLayer.cpp.
References getFFTModel(), getXBinRange(), getYBinRange(), getZeroPadLevel(), m_fftSize, and m_model.
Referenced by getFeatureDescription().
int SpectrogramLayer::getWindowIncrement | ( | ) | const [inline, protected] |
Definition at line 371 of file SpectrogramLayer.h.
References m_windowHopLevel, and m_windowSize.
Referenced by getFFTModel(), getXBinRange(), getXBinSourceRange(), illuminateLocalFeatures(), paint(), snapToFeatureFrame(), and updateViewMagnitudes().
int SpectrogramLayer::getZeroPadLevel | ( | const View * | v | ) | const [protected] |
!! tidy all this stuff
Definition at line 1547 of file SpectrogramLayer.cpp.
References AllBins, LogFrequencyScale, m_binDisplay, m_fftSize, m_frequencyScale, m_maxFrequency, m_minFrequency, m_model, and m_zeroPadLevel.
int SpectrogramLayer::getFFTSize | ( | const View * | v | ) | const [protected] |
Definition at line 1590 of file SpectrogramLayer.cpp.
References getZeroPadLevel(), and m_fftSize.
Referenced by getFFTModel(), getSmoothedYBinRange(), and paint().
FFTModel * SpectrogramLayer::getFFTModel | ( | const View * | v | ) | const [protected] |
Definition at line 1596 of file SpectrogramLayer.cpp.
References fillTimerTimedOut(), getFFTSize(), getWindowIncrement(), m_candidateFillStartFrame, m_channel, m_fftModels, m_model, m_peakCaches, m_sliceableModel, m_updateTimer, m_windowSize, and m_windowType.
Referenced by getAdjustedYBinSourceRange(), getPeakCache(), getXYBinSourceRange(), paintDrawBuffer(), and paintDrawBufferPeakFrequencies().
Dense3DModelPeakCache * SpectrogramLayer::getPeakCache | ( | const View * | v | ) | const [protected] |
Definition at line 1670 of file SpectrogramLayer.cpp.
References getFFTModel(), and m_peakCaches.
Referenced by paintDrawBuffer().
void SpectrogramLayer::invalidateFFTModels | ( | ) | [protected] |
Definition at line 1690 of file SpectrogramLayer.cpp.
References m_fftModels, m_peakCaches, m_sliceableModel, and SliceableLayer::sliceableModelReplaced().
Referenced by setChannel(), setModel(), setWindowHopLevel(), setWindowSize(), setWindowType(), setZeroPadLevel(), and ~SpectrogramLayer().
void SpectrogramLayer::invalidateMagnitudes | ( | ) | [protected] |
Definition at line 1712 of file SpectrogramLayer.cpp.
References m_columnMags, and m_viewMags.
Referenced by cacheInvalid(), preferenceChanged(), setDisplayExtents(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setNormalizeHybrid(), and setNormalizeVisibleArea().
bool SpectrogramLayer::updateViewMagnitudes | ( | View * | v | ) | const [protected] |
Definition at line 1722 of file SpectrogramLayer.cpp.
References getWindowIncrement(), getXBinRange(), SpectrogramLayer::MagnitudeRange::isSet(), m_columnMags, m_model, m_viewMags, and SpectrogramLayer::MagnitudeRange::sample().
Referenced by paint().
bool SpectrogramLayer::paintDrawBuffer | ( | View * | v, |
int | w, | ||
int | h, | ||
int * | binforx, | ||
float * | binfory, | ||
bool | usePeaksCache, | ||
MagnitudeRange & | overallMag, | ||
bool & | overallMagChanged | ||
) | const [protected] |
!!
!!
!! not right for phase!
Definition at line 2585 of file SpectrogramLayer.cpp.
References getDisplayValue(), getFFTModel(), getPeakCache(), SpectrogramLayer::MagnitudeRange::isSet(), m_binDisplay, m_colourScale, m_columnMags, m_drawBuffer, m_fftSize, m_gain, m_normalizeColumns, m_normalizeHybrid, m_synchronous, PeakBins, PeakFrequencies, PhaseColourScale, and SpectrogramLayer::MagnitudeRange::sample().
Referenced by paint().
bool SpectrogramLayer::paintDrawBufferPeakFrequencies | ( | View * | v, |
int | w, | ||
int | h, | ||
int * | binforx, | ||
int | minbin, | ||
int | maxbin, | ||
float | displayMinFreq, | ||
float | displayMaxFreq, | ||
bool | logarithmic, | ||
MagnitudeRange & | overallMag, | ||
bool & | overallMagChanged | ||
) | const [protected] |
Definition at line 2457 of file SpectrogramLayer.cpp.
References getDisplayValue(), getFFTModel(), View::getYForFrequency(), SpectrogramLayer::MagnitudeRange::isSet(), m_colourScale, m_columnMags, m_drawBuffer, m_fftSize, m_gain, m_normalizeColumns, m_normalizeHybrid, m_synchronous, PhaseColourScale, and SpectrogramLayer::MagnitudeRange::sample().
Referenced by paint().
void SpectrogramLayer::updateMeasureRectYCoords | ( | View * | v, |
const MeasureRect & | r | ||
) | const [protected, virtual] |
Reimplemented from Layer.
Definition at line 3600 of file SpectrogramLayer.cpp.
References Layer::MeasureRect::endY, getYForFrequency(), Layer::MeasureRect::pixrect, and Layer::MeasureRect::startY.
void SpectrogramLayer::setMeasureRectYCoord | ( | View * | v, |
MeasureRect & | r, | ||
bool | start, | ||
int | y | ||
) | const [protected, virtual] |
Reimplemented from Layer.
Definition at line 3614 of file SpectrogramLayer.cpp.
References Layer::MeasureRect::endY, getFrequencyForY(), and Layer::MeasureRect::startY.
void SliceableLayer::sliceableModelReplaced | ( | const Model * | modelToBeReplaced, |
const Model * | replacement | ||
) | [signal, inherited] |
Referenced by invalidateFFTModels(), setLayerDormant(), and Colour3DPlotLayer::setModel().
Model* Layer::getModel | ( | ) | [inline, inherited] |
Definition at line 62 of file Layer.h.
References Layer::getModel().
virtual bool Layer::supportsOtherZoomLevels | ( | ) | const [inline, virtual, inherited] |
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.
virtual VerticalPosition Layer::getPreferredTimeRulerPosition | ( | ) | const [inline, virtual, inherited] |
Definition at line 109 of file Layer.h.
References Layer::PositionMiddle.
QString Layer::getPropertyContainerIconName | ( | ) | const [virtual, inherited] |
Definition at line 65 of file Layer.cpp.
References LayerFactory::getInstance(), and LayerFactory::getLayerIconName().
Referenced by LayerTreeModel::data().
virtual QString Layer::getPropertyContainerName | ( | ) | const [inline, virtual, inherited] |
Definition at line 121 of file Layer.h.
References Layer::m_presentationName.
void Layer::setPresentationName | ( | QString | name | ) | [virtual, inherited] |
Definition at line 72 of file Layer.cpp.
References Layer::m_presentationName.
QString Layer::getLayerPresentationName | ( | ) | const [virtual, inherited] |
Reimplemented in TimeRulerLayer.
Definition at line 78 of file Layer.cpp.
References LayerFactory::getInstance(), LayerFactory::getLayerPresentationName(), LayerFactory::getLayerType(), Layer::getModel(), and Layer::m_presentationName.
Referenced by FlexiNoteLayer::getAssociatedPitchModel(), and PropertyStack::repopulate().
virtual QPixmap Layer::getLayerPresentationPixmap | ( | QSize | ) | const [inline, virtual, inherited] |
Reimplemented in SingleColourLayer.
void Layer::paintMeasurementRects | ( | View * | v, |
QPainter & | paint, | ||
bool | showFocus, | ||
QPoint | focusPoint | ||
) | const [virtual, inherited] |
Definition at line 428 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 Pane::paintEvent().
bool Layer::nearestMeasurementRectChanged | ( | View * | v, |
QPoint | prev, | ||
QPoint | now | ||
) | const [virtual, inherited] |
Definition at line 460 of file Layer.cpp.
References Layer::findFocusedMeasureRect(), and Layer::updateMeasurePixrects().
Referenced by Pane::mouseMoveEvent().
virtual QString Layer::getLabelPreceding | ( | int | ) | const [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, and TimeInstantLayer.
virtual bool Layer::snapToSimilarFeature | ( | View * | , |
int & | , | ||
int & | resolution, | ||
SnapType | |||
) | const [inline, virtual, inherited] |
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.
virtual void Layer::drawStart | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, ImageLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 220 of file Layer.h.
Referenced by Pane::mousePressEvent().
virtual void Layer::drawDrag | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, ImageLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 221 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
virtual void Layer::drawEnd | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, ImageLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 222 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
virtual void Layer::eraseStart | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 224 of file Layer.h.
Referenced by Pane::mousePressEvent().
virtual void Layer::eraseDrag | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 225 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
virtual void Layer::eraseEnd | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, TimeInstantLayer, and TextLayer.
Definition at line 226 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
virtual void Layer::editStart | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 228 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
virtual void Layer::editDrag | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 229 of file Layer.h.
Referenced by Pane::mouseMoveEvent().
virtual void Layer::editEnd | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in RegionLayer, TimeValueLayer, FlexiNoteLayer, NoteLayer, ImageLayer, TimeInstantLayer, and TextLayer.
Definition at line 230 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
virtual void Layer::splitStart | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 232 of file Layer.h.
Referenced by Pane::mousePressEvent().
virtual void Layer::splitEnd | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 233 of file Layer.h.
Referenced by Pane::mouseReleaseEvent().
virtual void Layer::addNote | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer.
Definition at line 234 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent().
void Layer::measureStart | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 374 of file Layer.cpp.
References Layer::m_draggingRect, Layer::m_haveDraggingRect, and Layer::setMeasureRectFromPixrect().
Referenced by Pane::mousePressEvent().
void Layer::measureDrag | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 382 of file Layer.cpp.
References Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::MeasureRect::pixrect, and Layer::setMeasureRectFromPixrect().
Referenced by Layer::measureEnd(), and Pane::mouseMoveEvent().
void Layer::measureEnd | ( | View * | v, |
QMouseEvent * | e | ||
) | [virtual, inherited] |
Definition at line 394 of file Layer.cpp.
References CommandHistory::addCommand(), CommandHistory::getInstance(), Layer::m_draggingRect, Layer::m_haveDraggingRect, Layer::measureDrag(), and Layer::MeasureRect::pixrect.
Referenced by Pane::mouseReleaseEvent().
virtual bool Layer::haveCurrentMeasureRect | ( | ) | const [inline, virtual, inherited] |
Definition at line 245 of file Layer.h.
References Layer::m_haveCurrentMeasureRect.
void Layer::deleteCurrentMeasureRect | ( | ) | [virtual, inherited] |
Definition at line 414 of file Layer.cpp.
References CommandHistory::addCommand(), Layer::findFocusedMeasureRect(), CommandHistory::getInstance(), Layer::m_currentMeasureRectPoint, Layer::m_haveCurrentMeasureRect, and Layer::m_measureRects.
virtual bool Layer::editOpen | ( | View * | , |
QMouseEvent * | |||
) | [inline, virtual, inherited] |
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 FlexiNoteLayer, RegionLayer, TimeValueLayer, ImageLayer, TextLayer, NoteLayer, and TimeInstantLayer.
Definition at line 255 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent().
virtual void Layer::moveSelection | ( | Selection | , |
int | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer, RegionLayer, TimeValueLayer, NoteLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 257 of file Layer.h.
Referenced by Pane::editSelectionEnd().
virtual void Layer::resizeSelection | ( | Selection | , |
Selection | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer, RegionLayer, TimeValueLayer, NoteLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 258 of file Layer.h.
Referenced by Pane::editSelectionEnd().
virtual void Layer::deleteSelection | ( | Selection | ) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer, RegionLayer, TimeValueLayer, NoteLayer, TimeInstantLayer, ImageLayer, and TextLayer.
virtual void Layer::copy | ( | View * | , |
Selection | , | ||
Clipboard & | |||
) | [inline, virtual, inherited] |
Reimplemented in FlexiNoteLayer, RegionLayer, TimeValueLayer, NoteLayer, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 261 of file Layer.h.
Referenced by paint(), and Colour3DPlotLayer::paintDense().
virtual bool Layer::paste | ( | View * | , |
const Clipboard & | , | ||
int | , | ||
bool | |||
) | [inline, virtual, inherited] |
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 FlexiNoteLayer, RegionLayer, TimeValueLayer, NoteLayer, TimeInstantLayer, ImageLayer, and TextLayer.
virtual bool Layer::isLayerEditable | ( | ) | const [inline, virtual, inherited] |
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, TimeInstantLayer, ImageLayer, and TextLayer.
Definition at line 338 of file Layer.h.
Referenced by Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), Pane::shouldIlluminateLocalSelection(), and Pane::updateContextHelp().
void Layer::setObjectName | ( | const QString & | name | ) | [virtual, inherited] |
Definition at line 100 of file Layer.cpp.
References Layer::layerNameChanged().
Referenced by LayerFactory::createLayer().
void Layer::toBriefXml | ( | QTextStream & | stream, |
QString | indent = "" , |
||
QString | extraAttributes = "" |
||
) | const [virtual, inherited] |
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 626 of file Layer.cpp.
References LayerFactory::getInstance(), Layer::getModel(), and Layer::m_presentationName.
void Layer::addMeasurementRect | ( | const QXmlAttributes & | attributes | ) | [virtual, inherited] |
Add a measurement rectangle from the given XML attributes (presumably taken from a measurement element).
Does not use a command.
Definition at line 317 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.
bool Layer::isLayerDormant | ( | const View * | v | ) | const [virtual, inherited] |
Return whether the layer is dormant (i.e.
hidden) in the given view.
Definition at line 126 of file Layer.cpp.
References Layer::m_dormancy, and Layer::m_dormancyMutex.
Referenced by LayerTreeModel::data(), View::getInteractionLayer(), paint(), PropertyStack::propertyContainerPropertyChanged(), PropertyStack::repopulate(), Colour3DPlotLayer::setLayerDormant(), and setLayerDormant().
PlayParameters * Layer::getPlayParameters | ( | ) | [virtual, inherited] |
Definition at line 107 of file Layer.cpp.
References Layer::getModel().
Referenced by LayerTreeModel::data(), LayerTreeModel::LayerTreeModel(), LayerTreeModel::playParametersAudibilityChanged(), and LayerTreeModel::setData().
virtual bool Layer::needsTextLabelHeight | ( | ) | const [inline, virtual, inherited] |
Reimplemented in TimeValueLayer, and TimeInstantLayer.
virtual bool Layer::hasTimeXAxis | ( | ) | const [inline, virtual, inherited] |
Reimplemented in SliceLayer.
Definition at line 415 of file Layer.h.
Referenced by Layer::getXScaleValue(), Pane::mouseMoveEvent(), and Layer::setMeasureRectFromPixrect().
bool Layer::getXScaleValue | ( | const View * | v, |
int | x, | ||
float & | value, | ||
QString & | unit | ||
) | const [virtual, inherited] |
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 142 of file Layer.cpp.
References View::getFrameForX(), Layer::getModel(), and Layer::hasTimeXAxis().
Referenced by View::drawMeasurementRect().
bool Layer::getYScaleDifference | ( | const View * | v, |
int | y0, | ||
int | y1, | ||
float & | diff, | ||
QString & | unit | ||
) | const [virtual, inherited] |
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 155 of file Layer.cpp.
References Layer::getYScaleValue().
Referenced by View::drawMeasurementRect().
void Layer::showLayer | ( | View * | view, |
bool | show | ||
) | [slot, inherited] |
Definition at line 135 of file Layer.cpp.
References Layer::layerParametersChanged(), and Layer::setLayerDormant().
Referenced by ShowLayerCommand::execute(), LayerTreeModel::setData(), and ShowLayerCommand::unexecute().
void Layer::modelChanged | ( | ) | [signal, inherited] |
void Layer::modelCompletionChanged | ( | ) | [signal, inherited] |
Referenced by Layer::connectSignals().
void Layer::modelAlignmentCompletionChanged | ( | ) | [signal, inherited] |
Referenced by Layer::connectSignals().
void Layer::modelChangedWithin | ( | int | startFrame, |
int | endFrame | ||
) | [signal, inherited] |
Reimplemented in Colour3DPlotLayer.
Referenced by Layer::connectSignals(), fillTimerTimedOut(), and setModel().
void Layer::modelReplaced | ( | ) | [signal, inherited] |
Referenced by TimeRulerLayer::setModel(), WaveformLayer::setModel(), TextLayer::setModel(), TimeInstantLayer::setModel(), ImageLayer::setModel(), Colour3DPlotLayer::setModel(), NoteLayer::setModel(), TimeValueLayer::setModel(), setModel(), RegionLayer::setModel(), FlexiNoteLayer::setModel(), and SliceLayer::setSliceableModel().
void Layer::layerParametersChanged | ( | ) | [signal, inherited] |
Referenced by preferenceChanged(), WaveformLayer::setAggressiveCacheing(), WaveformLayer::setAutoNormalize(), SingleColourLayer::setBaseColour(), setBinDisplay(), SliceLayer::setBinScale(), Colour3DPlotLayer::setBinScale(), SpectrumLayer::setChannel(), setChannel(), WaveformLayer::setChannel(), WaveformLayer::setChannelMode(), Colour3DPlotLayer::setColourMap(), setColourMap(), setColourRotation(), Colour3DPlotLayer::setColourScale(), setColourScale(), NoteLayer::setDisplayExtents(), FlexiNoteLayer::setDisplayExtents(), TimeValueLayer::setDisplayExtents(), Colour3DPlotLayer::setDisplayExtents(), setDisplayExtents(), TimeValueLayer::setDrawSegmentDivisions(), SliceLayer::setEnergyScale(), SliceLayer::setFillColourMap(), TimeValueLayer::setFillColourMap(), RegionLayer::setFillColourMap(), setFrequencyScale(), WaveformLayer::setGain(), SliceLayer::setGain(), Colour3DPlotLayer::setGain(), setGain(), Colour3DPlotLayer::setInvertVertical(), setMaxFrequency(), WaveformLayer::setMiddleLineHeight(), setMinFrequency(), SpectrumLayer::setModel(), WaveformLayer::setModel(), SliceLayer::setNormalize(), Colour3DPlotLayer::setNormalizeColumns(), setNormalizeColumns(), Colour3DPlotLayer::setNormalizeHybrid(), setNormalizeHybrid(), Colour3DPlotLayer::setNormalizeVisibleArea(), setNormalizeVisibleArea(), Colour3DPlotLayer::setOpaque(), TimeInstantLayer::setPlotStyle(), SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), RegionLayer::setPlotStyle(), SliceLayer::setSamplingMode(), WaveformLayer::setScale(), TimeValueLayer::setShowDerivative(), WaveformLayer::setShowMeans(), SpectrumLayer::setShowPeaks(), Colour3DPlotLayer::setSmooth(), SliceLayer::setThreshold(), setThreshold(), WaveformLayer::setUseGreyscale(), NoteLayer::setVerticalScale(), RegionLayer::setVerticalScale(), TimeValueLayer::setVerticalScale(), FlexiNoteLayer::setVerticalScale(), Colour3DPlotLayer::setVerticalZoomStep(), SpectrumLayer::setWindowHopLevel(), setWindowHopLevel(), SpectrumLayer::setWindowSize(), setWindowSize(), SpectrumLayer::setWindowType(), setWindowType(), setZeroPadLevel(), and Layer::showLayer().
void Layer::layerParameterRangesChanged | ( | ) | [signal, inherited] |
Referenced by SliceLayer::setPlotStyle(), TimeValueLayer::setPlotStyle(), and RegionLayer::setPlotStyle().
void Layer::layerMeasurementRectsChanged | ( | ) | [signal, inherited] |
Referenced by Layer::addMeasureRectToSet(), and Layer::deleteMeasureRectFromSet().
void Layer::layerNameChanged | ( | ) | [signal, inherited] |
Referenced by Layer::setObjectName().
void Layer::verticalZoomChanged | ( | ) | [signal, inherited] |
Referenced by setDisplayExtents(), WaveformLayer::setGain(), and setProperty().
void Layer::connectSignals | ( | const Model * | model | ) | [protected, inherited] |
Definition at line 49 of file Layer.cpp.
References Layer::modelAlignmentCompletionChanged(), Layer::modelChanged(), Layer::modelChangedWithin(), and Layer::modelCompletionChanged().
Referenced by WaveformLayer::setModel(), TextLayer::setModel(), ImageLayer::setModel(), TimeInstantLayer::setModel(), Colour3DPlotLayer::setModel(), NoteLayer::setModel(), TimeValueLayer::setModel(), RegionLayer::setModel(), setModel(), FlexiNoteLayer::setModel(), and SliceLayer::setSliceableModel().
int Layer::alignToReference | ( | View * | v, |
int | frame | ||
) | const [protected, virtual, inherited] |
Definition at line 169 of file Layer.cpp.
References View::alignToReference(), and Layer::getModel().
Referenced by Layer::clipboardHasDifferentAlignment(), TextLayer::copy(), ImageLayer::copy(), TimeInstantLayer::copy(), NoteLayer::copy(), TimeValueLayer::copy(), RegionLayer::copy(), and FlexiNoteLayer::copy().
int Layer::alignFromReference | ( | View * | v, |
int | frame | ||
) | const [protected, virtual, inherited] |
Definition at line 181 of file Layer.cpp.
References View::alignFromReference(), and Layer::getModel().
Referenced by TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), NoteLayer::paste(), TimeValueLayer::paste(), RegionLayer::paste(), and FlexiNoteLayer::paste().
bool Layer::clipboardHasDifferentAlignment | ( | View * | v, |
const Clipboard & | clip | ||
) | const [protected, inherited] |
Definition at line 193 of file Layer.cpp.
References Layer::alignToReference().
Referenced by TextLayer::paste(), ImageLayer::paste(), TimeInstantLayer::paste(), NoteLayer::paste(), TimeValueLayer::paste(), RegionLayer::paste(), and FlexiNoteLayer::paste().
void Layer::addMeasureRectToSet | ( | const MeasureRect & | r | ) | [inline, protected, inherited] |
Definition at line 588 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
Referenced by Layer::addMeasurementRect().
void Layer::deleteMeasureRectFromSet | ( | const MeasureRect & | r | ) | [inline, protected, inherited] |
Definition at line 593 of file Layer.h.
References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.
void Layer::updateMeasurePixrects | ( | View * | v | ) | const [protected, inherited] |
Definition at line 471 of file Layer.cpp.
References View::getEndFrame(), View::getStartFrame(), View::getXForFrame(), Layer::m_measureRects, and Layer::updateMeasureRectYCoords().
Referenced by Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
void Layer::setMeasureRectFromPixrect | ( | View * | v, |
MeasureRect & | r, | ||
QRect | pixrect | ||
) | const [protected, virtual, inherited] |
Definition at line 529 of file Layer.cpp.
References Layer::MeasureRect::endFrame, View::getFrameForX(), Layer::hasTimeXAxis(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, Layer::setMeasureRectYCoord(), and Layer::MeasureRect::startFrame.
Referenced by measureDoubleClick(), Layer::measureDrag(), and Layer::measureStart().
Layer::MeasureRectSet::const_iterator Layer::findFocusedMeasureRect | ( | QPoint | focusPoint | ) | const [protected, inherited] |
Definition at line 542 of file Layer.cpp.
References Layer::m_measureRects.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::nearestMeasurementRectChanged(), and Layer::paintMeasurementRects().
void Layer::paintMeasurementRect | ( | View * | v, |
QPainter & | paint, | ||
const MeasureRect & | r, | ||
bool | focus | ||
) | const [protected, inherited] |
Definition at line 569 of file Layer.cpp.
References View::drawMeasurementRect(), Layer::MeasureRect::endFrame, View::getEndFrame(), View::getStartFrame(), View::getXForFrame(), Layer::MeasureRect::haveFrames, Layer::MeasureRect::pixrect, and Layer::MeasureRect::startFrame.
Referenced by Layer::paintMeasurementRects().
const DenseTimeValueModel* SpectrogramLayer::m_model [protected] |
Definition at line 253 of file SpectrogramLayer.h.
Referenced by fillTimerTimedOut(), getAdjustedYBinSourceRange(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFeatureDescription(), getFFTModel(), getModel(), getNewVerticalZoomRangeMapper(), getSmoothedYBinRange(), getValueExtents(), getVerticalScaleWidth(), getVerticalZoomSteps(), getXBinRange(), getXBinSourceRange(), getXYBinSourceRange(), getYBinRange(), getYBinSourceRange(), getZeroPadLevel(), illuminateLocalFeatures(), paint(), paintCrosshairs(), paintVerticalScale(), setDisplayExtents(), setModel(), setVerticalZoomStep(), and updateViewMagnitudes().
int SpectrogramLayer::m_channel [protected] |
Definition at line 255 of file SpectrogramLayer.h.
Referenced by getChannel(), getFFTModel(), setChannel(), and toXml().
int SpectrogramLayer::m_windowSize [protected] |
Definition at line 256 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getFFTModel(), getPropertyRangeAndValue(), getWindowIncrement(), getWindowSize(), getXBinSourceRange(), setWindowSize(), setZeroPadLevel(), and toXml().
WindowType SpectrogramLayer::m_windowType [protected] |
Definition at line 257 of file SpectrogramLayer.h.
Referenced by getFFTModel(), getWindowType(), and setWindowType().
int SpectrogramLayer::m_windowHopLevel [protected] |
Definition at line 258 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue(), getWindowHopLevel(), getWindowIncrement(), setWindowHopLevel(), and toXml().
int SpectrogramLayer::m_zeroPadLevel [protected] |
Definition at line 259 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue(), getZeroPadLevel(), setWindowSize(), and setZeroPadLevel().
int SpectrogramLayer::m_fftSize [protected] |
Definition at line 260 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), getNewVerticalZoomRangeMapper(), getValueExtents(), getVerticalZoomSteps(), getXYBinSourceRange(), getYBinRange(), getYBinSourceRange(), getZeroPadLevel(), paint(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), paintVerticalScale(), setVerticalZoomStep(), setWindowSize(), and setZeroPadLevel().
float SpectrogramLayer::m_gain [protected] |
Definition at line 261 of file SpectrogramLayer.h.
Referenced by getGain(), getPropertyRangeAndValue(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), paintVerticalScale(), setGain(), and toXml().
float SpectrogramLayer::m_initialGain [protected] |
Definition at line 262 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
float SpectrogramLayer::m_threshold [protected] |
Definition at line 263 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getPropertyRangeAndValue(), getThreshold(), setThreshold(), and toXml().
float SpectrogramLayer::m_initialThreshold [protected] |
Definition at line 264 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
int SpectrogramLayer::m_colourRotation [protected] |
Definition at line 265 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue(), initialisePalette(), setColourRotation(), and toXml().
int SpectrogramLayer::m_initialRotation [protected] |
Definition at line 266 of file SpectrogramLayer.h.
Referenced by getPropertyRangeAndValue().
int SpectrogramLayer::m_minFrequency [protected] |
Definition at line 267 of file SpectrogramLayer.h.
Referenced by getEffectiveMinFrequency(), getMinFrequency(), getPropertyRangeAndValue(), getZeroPadLevel(), paint(), setDisplayExtents(), setMinFrequency(), setVerticalZoomStep(), and toXml().
int SpectrogramLayer::m_maxFrequency [protected] |
Definition at line 268 of file SpectrogramLayer.h.
Referenced by getEffectiveMaxFrequency(), getMaxFrequency(), getPropertyRangeAndValue(), getVerticalScaleWidth(), getZeroPadLevel(), paint(), paintVerticalScale(), setDisplayExtents(), setMaxFrequency(), setVerticalZoomStep(), and toXml().
int SpectrogramLayer::m_initialMaxFrequency [protected] |
Definition at line 269 of file SpectrogramLayer.h.
Referenced by getVerticalZoomSteps(), and SpectrogramLayer().
ColourScale SpectrogramLayer::m_colourScale [protected] |
Definition at line 270 of file SpectrogramLayer.h.
Referenced by getColourScale(), getDisplayValue(), getPropertyRangeAndValue(), paint(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), paintVerticalScale(), setColourScale(), and toXml().
int SpectrogramLayer::m_colourMap [protected] |
Definition at line 271 of file SpectrogramLayer.h.
Referenced by getColourMap(), getPropertyRangeAndValue(), hasLightBackground(), initialisePalette(), setColourMap(), and toXml().
QColor SpectrogramLayer::m_crosshairColour [protected] |
Definition at line 272 of file SpectrogramLayer.h.
Referenced by initialisePalette(), and paintCrosshairs().
FrequencyScale SpectrogramLayer::m_frequencyScale [protected] |
Definition at line 273 of file SpectrogramLayer.h.
Referenced by getFrequencyForY(), getFrequencyScale(), getPropertyRangeAndValue(), getSmoothedYBinRange(), getValueExtents(), getVerticalScaleWidth(), getYBinRange(), getYForFrequency(), getZeroPadLevel(), paint(), paintVerticalScale(), setFrequencyScale(), setVerticalZoomStep(), and toXml().
BinDisplay SpectrogramLayer::m_binDisplay [protected] |
Definition at line 274 of file SpectrogramLayer.h.
Referenced by getAdjustedYBinSourceRange(), getBinDisplay(), getFeatureDescription(), getPropertyRangeAndValue(), getZeroPadLevel(), paint(), paintDrawBuffer(), setBinDisplay(), and toXml().
bool SpectrogramLayer::m_normalizeColumns [protected] |
Definition at line 275 of file SpectrogramLayer.h.
Referenced by getDisplayValue(), getNormalizeColumns(), getPropertyRangeAndValue(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), setNormalizeColumns(), and toXml().
bool SpectrogramLayer::m_normalizeVisibleArea [protected] |
Definition at line 276 of file SpectrogramLayer.h.
Referenced by getDisplayValue(), getNormalizeVisibleArea(), getPropertyRangeAndValue(), paint(), setNormalizeVisibleArea(), and toXml().
bool SpectrogramLayer::m_normalizeHybrid [protected] |
Definition at line 277 of file SpectrogramLayer.h.
Referenced by getNormalizeHybrid(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), setNormalizeHybrid(), and toXml().
int SpectrogramLayer::m_lastEmittedZoomStep [protected] |
Definition at line 278 of file SpectrogramLayer.h.
Referenced by setDisplayExtents(), and setProperty().
bool SpectrogramLayer::m_synchronous [protected] |
Definition at line 279 of file SpectrogramLayer.h.
Referenced by paint(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), and setSynchronousPainting().
bool SpectrogramLayer::m_haveDetailedScale [mutable, protected] |
Definition at line 281 of file SpectrogramLayer.h.
Referenced by getCrosshairExtents(), paintCrosshairs(), and paintVerticalScale().
int SpectrogramLayer::m_lastPaintBlockWidth [mutable, protected] |
Definition at line 282 of file SpectrogramLayer.h.
Referenced by paint().
RealTime SpectrogramLayer::m_lastPaintTime [mutable, protected] |
Definition at line 283 of file SpectrogramLayer.h.
Referenced by paint().
Palette SpectrogramLayer::m_palette [protected] |
Definition at line 302 of file SpectrogramLayer.h.
Referenced by initialisePalette(), paint(), paintVerticalScale(), and rotatePalette().
ViewImageCache SpectrogramLayer::m_imageCaches [mutable, protected] |
Definition at line 319 of file SpectrogramLayer.h.
Referenced by invalidateImageCaches(), measureDoubleClick(), paint(), and setLayerDormant().
QImage SpectrogramLayer::m_drawBuffer [mutable, protected] |
When painting, we draw directly onto the draw buffer and then copy this to the part of the image cache that needed refreshing before copying the image cache onto the window.
(Remind me why we don't draw directly onto the cache?)
Definition at line 327 of file SpectrogramLayer.h.
Referenced by initialisePalette(), paint(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), and rotatePalette().
QTimer* SpectrogramLayer::m_updateTimer [mutable, protected] |
Definition at line 329 of file SpectrogramLayer.h.
Referenced by fillTimerTimedOut(), getCompletion(), getFFTModel(), paint(), and ~SpectrogramLayer().
int SpectrogramLayer::m_candidateFillStartFrame [mutable, protected] |
Definition at line 331 of file SpectrogramLayer.h.
Referenced by getFFTModel(), and paint().
bool SpectrogramLayer::m_exiting [protected] |
Definition at line 332 of file SpectrogramLayer.h.
ViewFFTMap SpectrogramLayer::m_fftModels [mutable, protected] |
Definition at line 386 of file SpectrogramLayer.h.
Referenced by fillTimerTimedOut(), getCompletion(), getError(), getFFTModel(), getSliceableModel(), invalidateFFTModels(), and setLayerDormant().
PeakCacheMap SpectrogramLayer::m_peakCaches [mutable, protected] |
Definition at line 387 of file SpectrogramLayer.h.
Referenced by getFFTModel(), getPeakCache(), invalidateFFTModels(), and setLayerDormant().
Model* SpectrogramLayer::m_sliceableModel [mutable, protected] |
Definition at line 388 of file SpectrogramLayer.h.
Referenced by getFFTModel(), getSliceableModel(), invalidateFFTModels(), and setLayerDormant().
ViewMagMap SpectrogramLayer::m_viewMags [mutable, protected] |
Definition at line 439 of file SpectrogramLayer.h.
Referenced by getDisplayValue(), invalidateMagnitudes(), paint(), paintVerticalScale(), and updateViewMagnitudes().
std::vector<MagnitudeRange> SpectrogramLayer::m_columnMags [mutable, protected] |
Definition at line 440 of file SpectrogramLayer.h.
Referenced by invalidateMagnitudes(), paintDrawBuffer(), paintDrawBufferPeakFrequencies(), and updateViewMagnitudes().
MeasureRectSet Layer::m_measureRects [protected, inherited] |
Definition at line 599 of file Layer.h.
Referenced by Layer::addMeasureRectToSet(), Layer::deleteCurrentMeasureRect(), Layer::deleteMeasureRectFromSet(), Layer::findFocusedMeasureRect(), Layer::paintMeasurementRects(), Layer::toXml(), and Layer::updateMeasurePixrects().
MeasureRect Layer::m_draggingRect [protected, inherited] |
Definition at line 600 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
bool Layer::m_haveDraggingRect [protected, inherited] |
Definition at line 601 of file Layer.h.
Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().
bool Layer::m_haveCurrentMeasureRect [mutable, protected, inherited] |
Definition at line 602 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), Layer::haveCurrentMeasureRect(), and Layer::paintMeasurementRects().
QPoint Layer::m_currentMeasureRectPoint [mutable, protected, inherited] |
Definition at line 603 of file Layer.h.
Referenced by Layer::deleteCurrentMeasureRect(), and Layer::paintMeasurementRects().
QString Layer::m_presentationName [protected, inherited] |
Definition at line 620 of file Layer.h.
Referenced by Layer::getLayerPresentationName(), Layer::getPropertyContainerName(), Layer::setPresentationName(), Layer::toBriefXml(), and Layer::toXml().