SpectrogramLayer Class Reference

#include <SpectrogramLayer.h>

Inherits SliceableLayer, and PowerOfSqrtTwoZoomConstraint.

Inheritance diagram for SpectrogramLayer:

Inheritance graph
[legend]
Collaboration diagram for SpectrogramLayer:

Collaboration graph
[legend]
List of all members.

Detailed Description

SpectrogramLayer represents waveform data (obtained from a DenseTimeValueModel) in spectrogram form.

Definition at line 46 of file SpectrogramLayer.h.

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
}
enum  PropertyType {
  ToggleProperty, RangeProperty, ValueProperty, ColourProperty,
  UnitsProperty, InvalidProperty
}
typedef QString PropertyName
typedef std::vector< PropertyNamePropertyList
enum  RoundingDirection { RoundDown, RoundUp, RoundNearest }

Public Slots

void showLayer (View *, bool show)
virtual void setProperty (const PropertyName &, int value)
 Set a property.
virtual void setProperty (QString nameString, QString valueString)
 Set a property using a fuzzy match.
virtual void setPropertyWithCommand (const PropertyName &, int value)
 Set a property using a command, supporting undo and redo.
virtual void setPropertyWithCommand (QString nameString, QString valueString)
 As above, but using a command.

Signals

void sliceableModelReplaced (const Model *modelToBeReplaced, const Model *replacement)
void modelChanged ()
void modelChanged (size_t startFrame, size_t endFrame)
void modelCompletionChanged ()
void modelAlignmentCompletionChanged ()
void modelReplaced ()
void layerParametersChanged ()
void layerParameterRangesChanged ()
void layerMeasurementRectsChanged ()
void layerNameChanged ()
void verticalZoomChanged ()
void propertyChanged (PropertyContainer::PropertyName)

Public Member Functions

 SpectrogramLayer (Configuration=FullRangeDb)
 ~SpectrogramLayer ()
virtual const ZoomConstraintgetZoomConstraint () const
 Return a zoom constraint object defining the supported zoom levels for this layer.
virtual const ModelgetModel () const
virtual void paint (View *v, QPainter &paint, QRect rect) const
virtual int getVerticalScaleWidth (View *v, QPainter &) const
virtual void paintVerticalScale (View *v, 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, size_t &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
 Get a list of the names of all the supported properties on this container.
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 RangeMappergetNewPropertyRangeMapper (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 (size_t)
size_t getWindowSize () const
void setWindowHopLevel (size_t level)
size_t getWindowHopLevel () const
void setWindowType (WindowType type)
WindowType getWindowType () const
void setZeroPadLevel (size_t level)
size_t 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 (size_t)
size_t getMinFrequency () const
void setMaxFrequency (size_t)
size_t 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)
bool getNormalizeColumns () const
void setNormalizeVisibleArea (bool n)
bool getNormalizeVisibleArea () 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 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 RangeMappergetNewVerticalZoomRangeMapper () const
 Create and return a range mapper for vertical zoom step values.
virtual const ModelgetSliceableModel () const
virtual ModelgetModel ()
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 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 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, size_t)
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 PlayParametersgetPlayParameters ()
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.
virtual QString getPropertyLabel (const PropertyName &) const =0
 Return the human-readable (and i18n'ised) name of a property.
virtual PropertyType getPropertyType (const PropertyName &) const
 Return the type of the given property, or InvalidProperty if the property is not supported on this container.
virtual QString getPropertyIconName (const PropertyName &) const
 Return an icon for the property, if any.
virtual QString getPropertyGroupName (const PropertyName &) const
 If this property has something in common with other properties on this container, return a name that can be used to group them (in order to save screen space, for example).
virtual int getPropertyRangeAndValue (const PropertyName &, int *min, int *max, int *deflt) const
 Return the minimum and maximum values for the given property and its current value in this container.
virtual QString getPropertyValueLabel (const PropertyName &, int value) const
 If the given property is a ValueProperty, return the display label to be used for the given value for that property.
virtual RangeMappergetNewPropertyRangeMapper (const PropertyName &) const
 If the given property is a RangeProperty, return a new RangeMapper object mapping its integer range onto an underlying floating point value range for human-intelligible display, if appropriate.
virtual QString toXmlString (QString indent="", QString extraAttributes="") const
 Convert this exportable object to XML in a string.
virtual size_t getNearestBlockSize (size_t requestedBlockSize, RoundingDirection dir=RoundNearest) const
 Given the "ideal" block size (frames per pixel) for a given zoom level, return the nearest viable block size for this constraint.
virtual size_t getNearestBlockSize (size_t requestedBlockSize, int &type, int &power, RoundingDirection dir=RoundNearest) const
virtual size_t getMinCachePower () const
virtual size_t getMaxZoomLevel () const
 Return the maximum zoom level within range for this constraint.

Static Public Member Functions

static QString encodeEntities (QString)
static QString encodeColour (QColor)
static int getObjectExportId (const void *)

Protected Types

enum  { NO_VALUE = 0 }
typedef std::map< const View *,
PixmapCache
ViewPixmapCache
typedef std::pair< FFTModel *,
int > 
FFTFillPair
typedef std::map< const View *,
FFTFillPair
ViewFFTMap
typedef std::vector< float > FloatVector
typedef std::map< const View *,
MagnitudeRange
ViewMagMap
typedef std::set< MeasureRect > MeasureRectSet

Protected Slots

void cacheInvalid ()
void cacheInvalid (size_t startFrame, size_t endFrame)
void preferenceChanged (PropertyContainer::PropertyName name)
void fillTimerTimedOut ()

Protected Member Functions

void invalidatePixmapCaches ()
void invalidatePixmapCaches (size_t startFrame, size_t endFrame)
void initialisePalette ()
void rotatePalette (int distance)
unsigned char getDisplayValue (View *v, float input) const
float getInputForDisplayValue (unsigned char uc) 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 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
size_t getWindowIncrement () const
size_t getZeroPadLevel (const View *v) const
size_t getFFTSize (const View *v) const
FFTModelgetFFTModel (const View *v) const
void invalidateFFTModels ()
void invalidateMagnitudes ()
bool updateViewMagnitudes (View *v) 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 size_t alignToReference (View *v, size_t frame) const
virtual size_t alignFromReference (View *v, size_t 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 updateMeasureRectYCoords (View *v, const MeasureRect &r) const
virtual void setMeasureRectYCoord (View *v, MeasureRect &r, bool start, int y) 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
virtual bool convertPropertyStrings (QString nameString, QString valueString, PropertyName &name, int &value)

Protected Attributes

const DenseTimeValueModelm_model
int m_channel
size_t m_windowSize
WindowType m_windowType
size_t m_windowHopLevel
size_t m_zeroPadLevel
size_t m_fftSize
float m_gain
float m_initialGain
float m_threshold
float m_initialThreshold
int m_colourRotation
int m_initialRotation
size_t m_minFrequency
size_t m_maxFrequency
size_t m_initialMaxFrequency
ColourScale m_colourScale
int m_colourMap
QColor m_crosshairColour
FrequencyScale m_frequencyScale
BinDisplay m_binDisplay
bool m_normalizeColumns
bool m_normalizeVisibleArea
int m_lastEmittedZoomStep
int m_lastPaintBlockWidth
RealTime m_lastPaintTime
Palette m_palette
ViewPixmapCache m_pixmapCaches
QImage m_drawBuffer
QTimer * m_updateTimer
size_t m_candidateFillStartFrame
bool m_exiting
ViewFFTMap m_fftModels
Modelm_sliceableModel
ViewMagMap m_viewMags
std::vector< MagnitudeRangem_columnMags
MeasureRectSet m_measureRects
MeasureRect m_draggingRect
bool m_haveDraggingRect
bool m_haveCurrentMeasureRect
QPoint m_currentMeasureRectPoint
QString m_presentationName

Classes

struct  LayerRange
class  MagnitudeRange
class  Palette
struct  PixmapCache


Member Typedef Documentation

typedef std::map<const View *, PixmapCache> SpectrogramLayer::ViewPixmapCache [protected]

Definition at line 291 of file SpectrogramLayer.h.

typedef std::pair<FFTModel *, int> SpectrogramLayer::FFTFillPair [protected]

Definition at line 343 of file SpectrogramLayer.h.

typedef std::map<const View *, FFTFillPair> SpectrogramLayer::ViewFFTMap [protected]

Definition at line 344 of file SpectrogramLayer.h.

typedef std::vector<float> SpectrogramLayer::FloatVector [protected]

Definition at line 345 of file SpectrogramLayer.h.

typedef std::map<const View *, MagnitudeRange> SpectrogramLayer::ViewMagMap [protected]

Definition at line 397 of file SpectrogramLayer.h.

typedef std::set<MeasureRect> Layer::MeasureRectSet [protected, inherited]

Definition at line 529 of file Layer.h.

typedef QString PropertyContainer::PropertyName [inherited]

Definition at line 35 of file PropertyContainer.h.

typedef std::vector<PropertyName> PropertyContainer::PropertyList [inherited]

Definition at line 36 of file PropertyContainer.h.


Member Enumeration Documentation

enum SpectrogramLayer::Configuration

Enumerator:
FullRangeDb 
MelodicRange 
MelodicPeaks 

Definition at line 52 of file SpectrogramLayer.h.

enum SpectrogramLayer::ColourScale

Enumerator:
LinearColourScale 
MeterColourScale 
dBSquaredColourScale 
dBColourScale 
PhaseColourScale 

Definition at line 134 of file SpectrogramLayer.h.

enum SpectrogramLayer::FrequencyScale

Enumerator:
LinearFrequencyScale 
LogFrequencyScale 

Definition at line 149 of file SpectrogramLayer.h.

enum SpectrogramLayer::BinDisplay

Enumerator:
AllBins 
PeakBins 
PeakFrequencies 

Definition at line 160 of file SpectrogramLayer.h.

anonymous enum [protected]

Enumerator:
NO_VALUE 

Definition at line 265 of file SpectrogramLayer.h.

enum Layer::VerticalPosition [inherited]

Enumerator:
PositionTop 
PositionMiddle 
PositionBottom 

Definition at line 79 of file Layer.h.

enum Layer::SnapType [inherited]

Enumerator:
SnapLeft 
SnapRight 
SnapNearest 
SnapNeighbouring 

Definition at line 123 of file Layer.h.

enum Layer::ColourSignificance [inherited]

Enumerator:
ColourAbsent 
ColourIrrelevant 
ColourDistinguishes 
ColourAndBackgroundSignificant 
ColourHasMeaningfulValue 

Definition at line 242 of file Layer.h.

enum PropertyContainer::PropertyType [inherited]

Enumerator:
ToggleProperty 
RangeProperty 
ValueProperty 
ColourProperty 
UnitsProperty 
InvalidProperty 

Definition at line 38 of file PropertyContainer.h.

enum ZoomConstraint::RoundingDirection [inherited]

Enumerator:
RoundDown 
RoundUp 
RoundNearest 

Definition at line 35 of file ZoomConstraint.h.


Constructor & Destructor Documentation

SpectrogramLayer::SpectrogramLayer ( Configuration  = FullRangeDb  ) 

Definition at line 47 of file SpectrogramLayer.cpp.

References FullRangeDb, Preferences::getInstance(), Preferences::getWindowType(), initialisePalette(), LinearColourScale, LogFrequencyScale, m_initialMaxFrequency, MelodicPeaks, MelodicRange, PeakFrequencies, preferenceChanged(), PropertyContainer::propertyChanged(), setBinDisplay(), setColourMap(), setColourScale(), setFrequencyScale(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setWindowHopLevel(), setWindowSize(), setWindowType(), and ColourMapper::Sunset.

SpectrogramLayer::~SpectrogramLayer (  ) 

Definition at line 110 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), and m_updateTimer.


Member Function Documentation

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 57 of file SpectrogramLayer.h.

virtual const Model* SpectrogramLayer::getModel (  )  const [inline, virtual]

Implements Layer.

Definition at line 58 of file SpectrogramLayer.h.

References m_model.

void SpectrogramLayer::paint ( View v,
QPainter &  paint,
QRect  rect 
) const [virtual]

Implements Layer.

Definition at line 1673 of file SpectrogramLayer.cpp.

References FFTModel::AllPeaks, RealTime::fromMilliseconds(), RealTime::fromTimeval(), SpectrogramLayer::Palette::getColour(), getDisplayValue(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTModel(), getFFTSize(), Preferences::getInstance(), FFTModel::getMagnitudeAt(), SpectrogramLayer::MagnitudeRange::getMax(), SpectrogramLayer::MagnitudeRange::getMin(), FFTModel::getNormalizedMagnitudeAt(), FFTModel::getPeakFrequencies(), FFTModel::getPhaseAt(), Model::getSampleRate(), Preferences::getSpectrogramSmoothing(), View::getStartFrame(), FFTModel::getWidth(), getWindowIncrement(), getXBinRange(), getZeroPadLevel(), View::getZoomLevel(), illuminateLocalFeatures(), FFTModel::isColumnAvailable(), Layer::isLayerDormant(), DenseThreeDimensionalModel::isLocalPeak(), Model::isOK(), DenseThreeDimensionalModel::isOverThreshold(), Model::isReady(), SpectrogramLayer::MagnitudeRange::isSet(), LogFrequencyScale, m_binDisplay, m_candidateFillStartFrame, m_colourScale, m_columnMags, m_drawBuffer, m_fftSize, m_frequencyScale, m_gain, m_lastPaintBlockWidth, m_lastPaintTime, m_maxFrequency, m_minFrequency, m_model, m_normalizeColumns, m_normalizeVisibleArea, m_palette, m_pixmapCaches, m_threshold, m_updateTimer, m_viewMags, PeakBins, PeakFrequencies, PhaseColourScale, SpectrogramLayer::PixmapCache::pixmap, FFTModel::resume(), SpectrogramLayer::MagnitudeRange::sample(), Layer::setLayerDormant(), Preferences::SpectrogramInterpolated, Preferences::SpectrogramZeroPaddedAndInterpolated, SpectrogramLayer::PixmapCache::startFrame, FFTModel::suspendWrites(), updateViewMagnitudes(), SpectrogramLayer::PixmapCache::validArea, and SpectrogramLayer::PixmapCache::zoomLevel.

int SpectrogramLayer::getVerticalScaleWidth ( View v,
QPainter &   
) const [virtual]

Reimplemented from Layer.

Definition at line 2800 of file SpectrogramLayer.cpp.

References getColourScaleWidth(), Model::getSampleRate(), Model::isOK(), LogFrequencyScale, m_frequencyScale, m_maxFrequency, and m_model.

Referenced by getCrosshairExtents(), and paintCrosshairs().

void SpectrogramLayer::paintVerticalScale ( View v,
QPainter &  paint,
QRect  rect 
) const [virtual]

Reimplemented from Layer.

Definition at line 2820 of file SpectrogramLayer.cpp.

References AudioLevel::dB_to_multiplier(), View::getBackground(), SpectrogramLayer::Palette::getColour(), getColourScaleWidth(), getDisplayValue(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getForeground(), Pitch::getFrequencyForPitch(), Model::getSampleRate(), getYBinRange(), View::getYForFrequency(), Model::isOK(), LinearFrequencyScale, LogFrequencyScale, m_colourScale, m_fftSize, m_frequencyScale, m_gain, m_maxFrequency, m_model, m_palette, m_viewMags, AudioLevel::multiplier_to_dB(), and PhaseColourScale.

bool SpectrogramLayer::getCrosshairExtents ( View ,
QPainter &  ,
QPoint  cursorPos,
std::vector< QRect > &  extents 
) const [virtual]

Reimplemented from Layer.

Definition at line 2561 of file SpectrogramLayer.cpp.

References getVerticalScaleWidth().

void SpectrogramLayer::paintCrosshairs ( View ,
QPainter &  ,
QPoint   
) const [virtual]

Reimplemented from Layer.

Definition at line 2600 of file SpectrogramLayer.cpp.

References View::drawVisibleText(), RealTime::frame2RealTime(), View::getFrameForX(), getFrequencyForY(), Pitch::getPitchLabelForFrequency(), Model::getSampleRate(), getVerticalScaleWidth(), getYForFrequency(), Pitch::isFrequencyInMidiRange(), m_crosshairColour, m_model, View::OutlinedText, and RealTime::toText().

QString SpectrogramLayer::getFeatureDescription ( View v,
QPoint &   
) const [virtual]

Reimplemented from Layer.

Definition at line 2678 of file SpectrogramLayer.cpp.

References AudioLevel::DB_FLOOR, getAdjustedYBinSourceRange(), Pitch::getPitchLabelForFrequency(), getXBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), Model::isOK(), m_binDisplay, m_model, AudioLevel::multiplier_to_dB(), PeakFrequencies, and RealTime::toText().

bool SpectrogramLayer::snapToFeatureFrame ( View v,
int &  frame,
size_t &  resolution,
SnapType  snap 
) 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). Also return the resolution of the model in this layer in sample frames.

Reimplemented from Layer.

Definition at line 2519 of file SpectrogramLayer.cpp.

References getWindowIncrement(), Layer::SnapLeft, Layer::SnapNearest, Layer::SnapNeighbouring, and Layer::SnapRight.

void SpectrogramLayer::measureDoubleClick ( View ,
QMouseEvent *   
) [virtual]

Reimplemented from Layer.

Definition at line 2541 of file SpectrogramLayer.cpp.

References CommandHistory::addCommand(), ImageRegionFinder::findRegionExtents(), CommandHistory::getInstance(), m_pixmapCaches, SpectrogramLayer::PixmapCache::pixmap, and Layer::setMeasureRectFromPixrect().

bool SpectrogramLayer::hasLightBackground (  )  const [virtual]

Reimplemented from Layer.

Definition at line 1034 of file SpectrogramLayer.cpp.

References m_colourMap.

void SpectrogramLayer::setModel ( const DenseTimeValueModel model  ) 

Definition at line 119 of file SpectrogramLayer.cpp.

References cacheInvalid(), Layer::connectSignals(), invalidateFFTModels(), Model::isOK(), m_model, Layer::modelChanged(), and Layer::modelReplaced().

Layer::PropertyList SpectrogramLayer::getProperties (  )  const [virtual]

Get a list of the names of all the supported properties on this container.

These should be fixed (i.e. not internationalized).

Reimplemented from PropertyContainer.

Definition at line 140 of file SpectrogramLayer.cpp.

QString SpectrogramLayer::getPropertyLabel ( const PropertyName  )  const [virtual]

Definition at line 161 of file SpectrogramLayer.cpp.

QString SpectrogramLayer::getPropertyIconName ( const PropertyName  )  const [virtual]

Definition at line 181 of file SpectrogramLayer.cpp.

Layer::PropertyType SpectrogramLayer::getPropertyType ( const PropertyName  )  const [virtual]

Definition at line 189 of file SpectrogramLayer.cpp.

References PropertyContainer::RangeProperty, PropertyContainer::ToggleProperty, and PropertyContainer::ValueProperty.

QString SpectrogramLayer::getPropertyGroupName ( const PropertyName  )  const [virtual]

Definition at line 201 of file SpectrogramLayer.cpp.

int SpectrogramLayer::getPropertyRangeAndValue ( const PropertyName ,
int *  min,
int *  max,
int *  deflt 
) const [virtual]

Definition at line 219 of file SpectrogramLayer.cpp.

References AllBins, dBColourScale, ColourMapper::getColourMapCount(), PropertyContainer::getPropertyRangeAndValue(), 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, m_zeroPadLevel, and AudioLevel::multiplier_to_dB().

QString SpectrogramLayer::getPropertyValueLabel ( const PropertyName ,
int  value 
) const [virtual]

Definition at line 375 of file SpectrogramLayer.cpp.

References ColourMapper::getColourMapName().

RangeMapper * SpectrogramLayer::getNewPropertyRangeMapper ( const PropertyName  )  const [virtual]

Definition at line 458 of file SpectrogramLayer.cpp.

void SpectrogramLayer::setProperty ( const PropertyName ,
int  value 
) [virtual]

Definition at line 470 of file SpectrogramLayer.cpp.

References AllBins, AudioLevel::dB_to_multiplier(), dBColourScale, dBSquaredColourScale, getCurrentVerticalZoomStep(), LinearColourScale, 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   ) 

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 598 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_channel.

Referenced by setProperties().

int SpectrogramLayer::getChannel (  )  const

Definition at line 610 of file SpectrogramLayer.cpp.

References m_channel.

void SpectrogramLayer::setWindowSize ( size_t   ) 

Definition at line 616 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), invalidatePixmapCaches(), Layer::layerParametersChanged(), m_fftSize, m_windowSize, and m_zeroPadLevel.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

size_t SpectrogramLayer::getWindowSize (  )  const

Definition at line 631 of file SpectrogramLayer.cpp.

References m_windowSize.

void SpectrogramLayer::setWindowHopLevel ( size_t  level  ) 

Definition at line 637 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_windowHopLevel.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

size_t SpectrogramLayer::getWindowHopLevel (  )  const

Definition at line 653 of file SpectrogramLayer.cpp.

References m_windowHopLevel.

void SpectrogramLayer::setWindowType ( WindowType  type  ) 

Definition at line 680 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_windowType.

Referenced by preferenceChanged(), and SpectrogramLayer().

WindowType SpectrogramLayer::getWindowType (  )  const

Definition at line 694 of file SpectrogramLayer.cpp.

References m_windowType.

Referenced by preferenceChanged().

void SpectrogramLayer::setZeroPadLevel ( size_t  level  ) 

Definition at line 659 of file SpectrogramLayer.cpp.

References invalidateFFTModels(), invalidatePixmapCaches(), Layer::layerParametersChanged(), m_fftSize, m_windowSize, and m_zeroPadLevel.

Referenced by setProperty().

size_t SpectrogramLayer::getZeroPadLevel (  )  const

Definition at line 674 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 700 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_gain.

Referenced by setProperties(), and setProperty().

float SpectrogramLayer::getGain (  )  const

Definition at line 715 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 721 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_threshold.

Referenced by setProperties(), and setProperty().

float SpectrogramLayer::getThreshold (  )  const

Definition at line 733 of file SpectrogramLayer.cpp.

References m_threshold.

void SpectrogramLayer::setMinFrequency ( size_t   ) 

Definition at line 739 of file SpectrogramLayer.cpp.

References invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_minFrequency.

Referenced by setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().

size_t SpectrogramLayer::getMinFrequency (  )  const

Definition at line 754 of file SpectrogramLayer.cpp.

References m_minFrequency.

void SpectrogramLayer::setMaxFrequency ( size_t   ) 

Definition at line 760 of file SpectrogramLayer.cpp.

References invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_maxFrequency.

Referenced by setProperties(), setProperty(), setVerticalZoomStep(), and SpectrogramLayer().

size_t SpectrogramLayer::getMaxFrequency (  )  const

Definition at line 775 of file SpectrogramLayer.cpp.

References m_maxFrequency.

void SpectrogramLayer::setColourScale ( ColourScale   ) 

Specify the scale for sample levels.

See WaveformLayer for details of meter and dB scaling. The default is dBColourScale.

Definition at line 798 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_colourScale.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

SpectrogramLayer::ColourScale SpectrogramLayer::getColourScale (  )  const

Definition at line 810 of file SpectrogramLayer.cpp.

References m_colourScale.

void SpectrogramLayer::setFrequencyScale ( FrequencyScale   ) 

Specify the scale for the y axis.

Definition at line 835 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_frequencyScale.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

SpectrogramLayer::FrequencyScale SpectrogramLayer::getFrequencyScale (  )  const

Definition at line 846 of file SpectrogramLayer.cpp.

References m_frequencyScale.

void SpectrogramLayer::setBinDisplay ( BinDisplay   ) 

Specify the processing of frequency bins for the y axis.

Definition at line 852 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_binDisplay.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

SpectrogramLayer::BinDisplay SpectrogramLayer::getBinDisplay (  )  const

Definition at line 863 of file SpectrogramLayer.cpp.

References m_binDisplay.

void SpectrogramLayer::setNormalizeColumns ( bool  n  ) 

Definition at line 869 of file SpectrogramLayer.cpp.

References invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_normalizeColumns.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

bool SpectrogramLayer::getNormalizeColumns (  )  const

Definition at line 881 of file SpectrogramLayer.cpp.

References m_normalizeColumns.

void SpectrogramLayer::setNormalizeVisibleArea ( bool  n  ) 

Definition at line 887 of file SpectrogramLayer.cpp.

References invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_normalizeVisibleArea.

Referenced by setProperties(), and setProperty().

bool SpectrogramLayer::getNormalizeVisibleArea (  )  const

Definition at line 902 of file SpectrogramLayer.cpp.

References m_normalizeVisibleArea.

void SpectrogramLayer::setColourMap ( int  map  ) 

Definition at line 816 of file SpectrogramLayer.cpp.

References initialisePalette(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and m_colourMap.

Referenced by setProperties(), setProperty(), and SpectrogramLayer().

int SpectrogramLayer::getColourMap (  )  const

Definition at line 829 of file SpectrogramLayer.cpp.

References m_colourMap.

void SpectrogramLayer::setColourRotation ( int   ) 

Specify the colourmap rotation for the colour scale.

Definition at line 781 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), 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 187 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 191 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 193 of file SpectrogramLayer.h.

References Layer::ColourHasMeaningfulValue.

float SpectrogramLayer::getYForFrequency ( const View v,
float  frequency 
) const

Definition at line 2422 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 2431 of file SpectrogramLayer.cpp.

References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getFrequencyForY(), LogFrequencyScale, and m_frequencyScale.

Referenced by getYScaleValue(), paintCrosshairs(), and setMeasureRectYCoord().

int SpectrogramLayer::getCompletion ( View v  )  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 2440 of file SpectrogramLayer.cpp.

References m_fftModels, and m_updateTimer.

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 2453 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), LogFrequencyScale, m_fftSize, m_frequencyScale, and m_model.

bool SpectrogramLayer::getDisplayExtents ( float &  min,
float &  max 
) 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 2468 of file SpectrogramLayer.cpp.

References getEffectiveMaxFrequency(), and getEffectiveMinFrequency().

Referenced by getCurrentVerticalZoomStep().

bool SpectrogramLayer::setDisplayExtents ( float  min,
float  max 
) [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 2478 of file SpectrogramLayer.cpp.

References getCurrentVerticalZoomStep(), Model::getSampleRate(), invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), m_lastEmittedZoomStep, m_maxFrequency, m_minFrequency, m_model, and Layer::verticalZoomChanged().

bool SpectrogramLayer::getYScaleValue ( const View v,
int  y,
float &  value,
QString &  unit 
) const [virtual]

Return the value and unit at the given y coordinate in the given view.

Reimplemented from Layer.

Definition at line 2510 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 3213 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_normalizeVisibleArea, m_threshold, m_windowHopLevel, m_windowSize, and Layer::toXml().

void SpectrogramLayer::setProperties ( const QXmlAttributes &  attributes  )  [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 3252 of file SpectrogramLayer.cpp.

References setBinDisplay(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setFrequencyScale(), setGain(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), 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 908 of file SpectrogramLayer.cpp.

References invalidatePixmapCaches(), Layer::isLayerDormant(), m_fftModels, m_pixmapCaches, m_sliceableModel, Layer::setLayerDormant(), 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 218 of file SpectrogramLayer.h.

int SpectrogramLayer::getVerticalZoomSteps ( int &  defaultStep  )  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 3074 of file SpectrogramLayer.cpp.

References SpectrogramRangeMapper::getPositionForValue(), Model::getSampleRate(), 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 3097 of file SpectrogramLayer.cpp.

References getDisplayExtents(), Model::getSampleRate(), m_fftSize, and m_model.

Referenced by setDisplayExtents(), and setProperty().

void SpectrogramLayer::setVerticalZoomStep ( int  step  )  [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 3111 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), 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 3179 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), m_fftSize, and m_model.

const Model * SpectrogramLayer::getSliceableModel (  )  const [virtual]

Implements SliceableLayer.

Definition at line 1595 of file SpectrogramLayer.cpp.

References m_fftModels, and m_sliceableModel.

void SpectrogramLayer::cacheInvalid (  )  [protected, slot]

Definition at line 952 of file SpectrogramLayer.cpp.

References invalidateMagnitudes(), and invalidatePixmapCaches().

Referenced by cacheInvalid(), and setModel().

void SpectrogramLayer::cacheInvalid ( size_t  startFrame,
size_t  endFrame 
) [protected, slot]

Definition at line 959 of file SpectrogramLayer.cpp.

References cacheInvalid().

void SpectrogramLayer::preferenceChanged ( PropertyContainer::PropertyName  name  )  [protected, slot]

Definition at line 579 of file SpectrogramLayer.cpp.

References Preferences::getInstance(), getWindowType(), invalidateMagnitudes(), invalidatePixmapCaches(), Layer::layerParametersChanged(), and setWindowType().

Referenced by SpectrogramLayer().

void SpectrogramLayer::fillTimerTimedOut (  )  [protected, slot]

Definition at line 966 of file SpectrogramLayer.cpp.

References Model::getEndFrame(), Model::getStartFrame(), invalidatePixmapCaches(), m_fftModels, m_model, m_updateTimer, and Layer::modelChanged().

Referenced by getFFTModel().

void SpectrogramLayer::invalidatePixmapCaches (  )  [protected]

Definition at line 555 of file SpectrogramLayer.cpp.

References m_pixmapCaches.

Referenced by cacheInvalid(), fillTimerTimedOut(), preferenceChanged(), setBinDisplay(), setChannel(), setColourMap(), setColourRotation(), setColourScale(), setDisplayExtents(), setFrequencyScale(), setGain(), setLayerDormant(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), setNormalizeVisibleArea(), setThreshold(), setWindowHopLevel(), setWindowSize(), setWindowType(), and setZeroPadLevel().

void SpectrogramLayer::invalidatePixmapCaches ( size_t  startFrame,
size_t  endFrame 
) [protected]

Definition at line 564 of file SpectrogramLayer.cpp.

References m_pixmapCaches.

void SpectrogramLayer::initialisePalette (  )  [protected]

Definition at line 1040 of file SpectrogramLayer.cpp.

References ColourMapper::BlackOnWhite, ColourMapper::getContrastingColour(), m_colourMap, m_colourRotation, m_crosshairColour, 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 1064 of file SpectrogramLayer.cpp.

References SpectrogramLayer::Palette::getColour(), m_palette, NO_VALUE, and SpectrogramLayer::Palette::setColour().

Referenced by initialisePalette(), and setColourRotation().

unsigned char SpectrogramLayer::getDisplayValue ( View v,
float  input 
) const [protected]

Definition at line 1083 of file SpectrogramLayer.cpp.

References dBColourScale, dBSquaredColourScale, LinearColourScale, m_colourScale, m_normalizeColumns, m_normalizeVisibleArea, m_viewMags, MeterColourScale, AudioLevel::multiplier_to_preview(), and PhaseColourScale.

Referenced by paint(), and paintVerticalScale().

float SpectrogramLayer::getInputForDisplayValue ( unsigned char  uc  )  const [protected]

Definition at line 1166 of file SpectrogramLayer.cpp.

References dBColourScale, dBSquaredColourScale, LinearColourScale, m_colourScale, m_normalizeColumns, MeterColourScale, PhaseColourScale, and AudioLevel::preview_to_multiplier().

int SpectrogramLayer::getColourScaleWidth ( QPainter &   )  const [protected]

Definition at line 2790 of file SpectrogramLayer.cpp.

Referenced by getVerticalScaleWidth(), and paintVerticalScale().

void SpectrogramLayer::illuminateLocalFeatures ( View v,
QPainter &  painter 
) const [protected]

Definition at line 2385 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 1210 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), m_fftSize, m_minFrequency, and m_model.

Referenced by getDisplayExtents(), getFrequencyForY(), getYBinRange(), getYForFrequency(), paint(), and paintVerticalScale().

float SpectrogramLayer::getEffectiveMaxFrequency (  )  const [protected]

Definition at line 1225 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), m_fftSize, m_maxFrequency, and m_model.

Referenced by getDisplayExtents(), getFrequencyForY(), getYBinRange(), getYForFrequency(), paint(), and paintVerticalScale().

bool SpectrogramLayer::getXBinRange ( View v,
int  x,
float &  windowMin,
float &  windowMax 
) const [protected]

Definition at line 1272 of file SpectrogramLayer.cpp.

References Model::getEndFrame(), View::getFrameForX(), Model::getStartFrame(), 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 1240 of file SpectrogramLayer.cpp.

References getEffectiveMaxFrequency(), getEffectiveMinFrequency(), View::getFrequencyForY(), Model::getSampleRate(), LogFrequencyScale, m_fftSize, m_frequencyScale, and m_model.

Referenced by getAdjustedYBinSourceRange(), getXYBinSourceRange(), getYBinSourceRange(), and paintVerticalScale().

bool SpectrogramLayer::getYBinSourceRange ( View v,
int  y,
float &  freqMin,
float &  freqMax 
) const [protected]

Definition at line 1315 of file SpectrogramLayer.cpp.

References Model::getSampleRate(), 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 1334 of file SpectrogramLayer.cpp.

References FFTModel::estimateStableFrequency(), getFFTModel(), Model::getSampleRate(), FFTModel::getWidth(), getWindowIncrement(), getXBinRange(), getYBinRange(), FFTModel::isColumnAvailable(), DenseThreeDimensionalModel::isLocalPeak(), Model::isOK(), DenseThreeDimensionalModel::isOverThreshold(), Model::isReady(), 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 1296 of file SpectrogramLayer.cpp.

References RealTime::frame2RealTime(), Model::getSampleRate(), 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 1405 of file SpectrogramLayer.cpp.

References getFFTModel(), FFTModel::getHeight(), FFTModel::getMagnitudeAt(), FFTModel::getPhaseAt(), FFTModel::getWidth(), getXBinRange(), getYBinRange(), getZeroPadLevel(), FFTModel::isColumnAvailable(), Model::isOK(), Model::isReady(), m_fftSize, and m_model.

Referenced by getFeatureDescription().

size_t SpectrogramLayer::getWindowIncrement (  )  const [inline, protected]

Definition at line 332 of file SpectrogramLayer.h.

References m_windowHopLevel, and m_windowSize.

Referenced by getAdjustedYBinSourceRange(), getFFTModel(), getXBinRange(), getXBinSourceRange(), illuminateLocalFeatures(), paint(), snapToFeatureFrame(), and updateViewMagnitudes().

size_t SpectrogramLayer::getZeroPadLevel ( const View v  )  const [protected]

Definition at line 1474 of file SpectrogramLayer.cpp.

References AllBins, Preferences::getInstance(), Model::getSampleRate(), Preferences::getSpectrogramSmoothing(), LogFrequencyScale, m_binDisplay, m_fftSize, m_frequencyScale, m_maxFrequency, m_minFrequency, m_model, m_zeroPadLevel, Preferences::NoSpectrogramSmoothing, and Preferences::SpectrogramInterpolated.

size_t SpectrogramLayer::getFFTSize ( const View v  )  const [protected]

Definition at line 1517 of file SpectrogramLayer.cpp.

References getZeroPadLevel(), and m_fftSize.

Referenced by getFFTModel(), and paint().

FFTModel * SpectrogramLayer::getFFTModel ( const View v  )  const [protected]

Definition at line 1523 of file SpectrogramLayer.cpp.

References fillTimerTimedOut(), getFFTSize(), getWindowIncrement(), m_candidateFillStartFrame, m_channel, m_fftModels, m_model, m_sliceableModel, m_updateTimer, m_windowSize, m_windowType, and StorageAdviser::SpeedCritical.

Referenced by getAdjustedYBinSourceRange(), getXYBinSourceRange(), and paint().

void SpectrogramLayer::invalidateFFTModels (  )  [protected]

Definition at line 1604 of file SpectrogramLayer.cpp.

References m_fftModels, m_sliceableModel, and SliceableLayer::sliceableModelReplaced().

Referenced by setChannel(), setModel(), setWindowHopLevel(), setWindowSize(), setWindowType(), setZeroPadLevel(), and ~SpectrogramLayer().

void SpectrogramLayer::invalidateMagnitudes (  )  [protected]

Definition at line 1621 of file SpectrogramLayer.cpp.

References m_columnMags, and m_viewMags.

Referenced by cacheInvalid(), preferenceChanged(), setDisplayExtents(), setMaxFrequency(), setMinFrequency(), setNormalizeColumns(), and setNormalizeVisibleArea().

bool SpectrogramLayer::updateViewMagnitudes ( View v  )  const [protected]

Definition at line 1631 of file SpectrogramLayer.cpp.

References Model::getEndFrame(), Model::getStartFrame(), getWindowIncrement(), getXBinRange(), SpectrogramLayer::MagnitudeRange::isSet(), m_columnMags, m_model, m_viewMags, and SpectrogramLayer::MagnitudeRange::sample().

Referenced by paint().

void SpectrogramLayer::updateMeasureRectYCoords ( View v,
const MeasureRect &  r 
) const [protected, virtual]

Definition at line 3186 of file SpectrogramLayer.cpp.

References getYForFrequency().

void SpectrogramLayer::setMeasureRectYCoord ( View v,
MeasureRect &  r,
bool  start,
int  y 
) const [protected, virtual]

Definition at line 3200 of file SpectrogramLayer.cpp.

References getFrequencyForY().

void SliceableLayer::sliceableModelReplaced ( const Model modelToBeReplaced,
const Model replacement 
) [signal, inherited]

Referenced by invalidateFFTModels(), setLayerDormant(), and Colour3DPlotLayer::setModel().

virtual Model* Layer::getModel (  )  [inline, virtual, inherited]

Definition at line 56 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.

Definition at line 75 of file Layer.h.

virtual VerticalPosition Layer::getPreferredTimeRulerPosition (  )  const [inline, virtual, inherited]

Definition at line 82 of file Layer.h.

References Layer::PositionMiddle.

QString Layer::getPropertyContainerIconName (  )  const [virtual, inherited]

Implements PropertyContainer.

Definition at line 65 of file Layer.cpp.

References LayerFactory::getInstance(), and LayerFactory::getLayerIconName().

virtual QString Layer::getPropertyContainerName (  )  const [inline, virtual, inherited]

Implements PropertyContainer.

Definition at line 94 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.

Referenced by SVFileReader::readLayer(), and MainWindow::renameCurrentLayer().

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 MainWindow::setupExistingLayersMenus().

virtual QPixmap Layer::getLayerPresentationPixmap ( QSize   )  const [inline, virtual, inherited]

Reimplemented in SingleColourLayer.

Definition at line 102 of file Layer.h.

void Layer::paintMeasurementRects ( View ,
QPainter &  ,
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 ,
QPoint  prev,
QPoint  now 
) const [virtual, inherited]

Definition at line 460 of file Layer.cpp.

References Layer::findFocusedMeasureRect(), and Layer::updateMeasurePixrects().

virtual void Layer::drawStart ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 162 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::drawDrag ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 163 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::drawEnd ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 164 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::eraseStart ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 166 of file Layer.h.

Referenced by Pane::mousePressEvent().

virtual void Layer::eraseDrag ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 167 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::eraseEnd ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 168 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

virtual void Layer::editStart ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 170 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editDrag ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 171 of file Layer.h.

Referenced by Pane::mouseMoveEvent().

virtual void Layer::editEnd ( View ,
QMouseEvent *   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 172 of file Layer.h.

Referenced by Pane::mouseReleaseEvent().

void Layer::measureStart ( View ,
QMouseEvent *   
) [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 ,
QMouseEvent *   
) [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 ,
QMouseEvent *   
) [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 183 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.

Referenced by MainWindowBase::deleteSelected().

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 ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 193 of file Layer.h.

Referenced by Pane::mouseDoubleClickEvent().

virtual void Layer::moveSelection ( Selection  ,
size_t   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 195 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::resizeSelection ( Selection  ,
Selection   
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 196 of file Layer.h.

Referenced by Pane::editSelectionEnd().

virtual void Layer::deleteSelection ( Selection   )  [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 197 of file Layer.h.

Referenced by MainWindowBase::cut().

virtual void Layer::copy ( View ,
Selection  ,
Clipboard  
) [inline, virtual, inherited]

Reimplemented in ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 199 of file Layer.h.

Referenced by MainWindowBase::copy(), and MainWindowBase::cut().

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 ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 208 of file Layer.h.

Referenced by MainWindowBase::paste().

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 ImageLayer, NoteLayer, TextLayer, TimeInstantLayer, and TimeValueLayer.

Definition at line 276 of file Layer.h.

Referenced by Pane::mouseDoubleClickEvent(), Pane::mouseMoveEvent(), Pane::mousePressEvent(), Pane::mouseReleaseEvent(), MainWindowBase::paste(), Pane::updateContextHelp(), MainWindowBase::updateMenuStates(), and MainWindow::updateMenuStates().

void Layer::setObjectName ( const QString &  name  )  [virtual, inherited]

Definition at line 100 of file Layer.cpp.

References Layer::layerNameChanged().

Referenced by Document::createDerivedLayer(), Document::createImportedLayer(), LayerFactory::createLayer(), Document::createLayer(), and SVFileReader::readLayer().

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 XmlExportable::encodeEntities(), LayerFactory::getInstance(), Layer::getModel(), XmlExportable::getObjectExportId(), and Layer::m_presentationName.

void Layer::addMeasurementRect ( const QXmlAttributes &   )  [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.

Referenced by SVFileReader::readMeasurement().

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 paint(), PropertyStack::propertyContainerPropertyChanged(), PropertyStack::repopulate(), and setLayerDormant().

PlayParameters * Layer::getPlayParameters (  )  [virtual, inherited]

Reimplemented from PropertyContainer.

Definition at line 107 of file Layer.cpp.

References PlayParameterRepository::getInstance(), Layer::getModel(), and PlayParameterRepository::getPlayParameters().

Referenced by LayerTreeModel::setData().

virtual bool Layer::needsTextLabelHeight (  )  const [inline, virtual, inherited]

Reimplemented in TimeInstantLayer, and TimeValueLayer.

Definition at line 344 of file Layer.h.

virtual bool Layer::hasTimeXAxis (  )  const [inline, virtual, inherited]

Reimplemented in SliceLayer.

Definition at line 346 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(), Model::getSampleRate(), 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 SpectrumLayer, and WaveformLayer.

Definition at line 155 of file Layer.cpp.

References Layer::getYScaleValue().

Referenced by View::drawMeasurementRect(), and SpectrumLayer::getYScaleDifference().

void Layer::showLayer ( View ,
bool  show 
) [slot, inherited]

Definition at line 135 of file Layer.cpp.

References Layer::layerParametersChanged(), and Layer::setLayerDormant().

Referenced by LayerTreeModel::setData(), and PropertyStack::showLayer().

void Layer::modelChanged (  )  [signal, inherited]

Referenced by Layer::connectSignals(), fillTimerTimedOut(), ImageLayer::remoteFileReady(), setModel(), Colour3DPlotLayer::setModel(), TimeValueLayer::setProperty(), and NoteLayer::setProperty().

void Layer::modelChanged ( size_t  startFrame,
size_t  endFrame 
) [signal, inherited]

void Layer::modelCompletionChanged (  )  [signal, inherited]

Referenced by Layer::connectSignals().

void Layer::modelAlignmentCompletionChanged (  )  [signal, inherited]

Referenced by Layer::connectSignals().

void Layer::modelReplaced (  )  [signal, inherited]

Referenced by WaveformLayer::setModel(), TimeValueLayer::setModel(), TimeRulerLayer::setModel(), TimeInstantLayer::setModel(), TextLayer::setModel(), setModel(), NoteLayer::setModel(), ImageLayer::setModel(), Colour3DPlotLayer::setModel(), and SliceLayer::setSliceableModel().

void Layer::layerParametersChanged (  )  [signal, inherited]

Referenced by preferenceChanged(), WaveformLayer::setAggressiveCacheing(), WaveformLayer::setAutoNormalize(), SingleColourLayer::setBaseColour(), setBinDisplay(), SliceLayer::setBinScale(), WaveformLayer::setChannel(), SpectrumLayer::setChannel(), setChannel(), WaveformLayer::setChannelMode(), setColourMap(), Colour3DPlotLayer::setColourMap(), setColourRotation(), setColourScale(), Colour3DPlotLayer::setColourScale(), setDisplayExtents(), SliceLayer::setEnergyScale(), TimeValueLayer::setFillColourMap(), SliceLayer::setFillColourMap(), setFrequencyScale(), WaveformLayer::setGain(), setGain(), SliceLayer::setGain(), Colour3DPlotLayer::setInvertVertical(), setMaxFrequency(), setMinFrequency(), WaveformLayer::setModel(), SpectrumLayer::setModel(), SliceLayer::setNormalize(), setNormalizeColumns(), Colour3DPlotLayer::setNormalizeColumns(), setNormalizeVisibleArea(), Colour3DPlotLayer::setNormalizeVisibleArea(), TimeValueLayer::setPlotStyle(), TimeInstantLayer::setPlotStyle(), SliceLayer::setPlotStyle(), SliceLayer::setSamplingMode(), WaveformLayer::setScale(), WaveformLayer::setShowMeans(), SpectrumLayer::setShowPeaks(), setThreshold(), SliceLayer::setThreshold(), WaveformLayer::setUseGreyscale(), TimeValueLayer::setVerticalScale(), NoteLayer::setVerticalScale(), SpectrumLayer::setWindowHopLevel(), setWindowHopLevel(), SpectrumLayer::setWindowSize(), setWindowSize(), SpectrumLayer::setWindowType(), setWindowType(), setZeroPadLevel(), and Layer::showLayer().

void Layer::layerParameterRangesChanged (  )  [signal, inherited]

Referenced by TimeValueLayer::setPlotStyle(), and SliceLayer::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  )  [protected, inherited]

Definition at line 49 of file Layer.cpp.

References Layer::modelAlignmentCompletionChanged(), Layer::modelChanged(), and Layer::modelCompletionChanged().

Referenced by WaveformLayer::setModel(), TimeValueLayer::setModel(), TimeInstantLayer::setModel(), TextLayer::setModel(), setModel(), NoteLayer::setModel(), ImageLayer::setModel(), Colour3DPlotLayer::setModel(), and SliceLayer::setSliceableModel().

size_t Layer::alignToReference ( View v,
size_t  frame 
) const [protected, virtual, inherited]

Definition at line 169 of file Layer.cpp.

References View::alignToReference(), Model::alignToReference(), Model::getAlignmentReference(), and Layer::getModel().

Referenced by Layer::clipboardHasDifferentAlignment(), TimeValueLayer::copy(), TimeInstantLayer::copy(), TextLayer::copy(), NoteLayer::copy(), and ImageLayer::copy().

size_t Layer::alignFromReference ( View v,
size_t  frame 
) const [protected, virtual, inherited]

Definition at line 181 of file Layer.cpp.

References View::alignFromReference(), Model::alignFromReference(), Model::getAlignmentReference(), and Layer::getModel().

Referenced by TimeValueLayer::paste(), TimeInstantLayer::paste(), TextLayer::paste(), NoteLayer::paste(), and ImageLayer::paste().

bool Layer::clipboardHasDifferentAlignment ( View v,
const Clipboard clip 
) const [protected, inherited]

Definition at line 193 of file Layer.cpp.

References Layer::alignToReference(), and Clipboard::getPoints().

Referenced by TimeValueLayer::paste(), TimeInstantLayer::paste(), TextLayer::paste(), NoteLayer::paste(), and ImageLayer::paste().

void Layer::addMeasureRectToSet ( const MeasureRect r  )  [inline, protected, inherited]

Definition at line 519 of file Layer.h.

References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.

Referenced by Layer::addMeasurementRect(), Layer::AddMeasurementRectCommand::execute(), and Layer::DeleteMeasurementRectCommand::unexecute().

void Layer::deleteMeasureRectFromSet ( const MeasureRect r  )  [inline, protected, inherited]

Definition at line 524 of file Layer.h.

References Layer::layerMeasurementRectsChanged(), and Layer::m_measureRects.

Referenced by Layer::DeleteMeasurementRectCommand::execute(), and Layer::AddMeasurementRectCommand::unexecute().

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::updateMeasureRectYCoords ( View v,
const MeasureRect r 
) const [protected, virtual, inherited]

Definition at line 510 of file Layer.cpp.

References Layer::MeasureRect::endY, Layer::MeasureRect::pixrect, and Layer::MeasureRect::startY.

Referenced by Layer::updateMeasurePixrects().

void Layer::setMeasureRectYCoord ( View v,
MeasureRect r,
bool  start,
int  y 
) const [protected, virtual, inherited]

Definition at line 518 of file Layer.cpp.

References Layer::MeasureRect::endY, and Layer::MeasureRect::startY.

Referenced by Layer::setMeasureRectFromPixrect().

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   )  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().

virtual QString PropertyContainer::getPropertyLabel ( const PropertyName  )  const [pure virtual, inherited]

Return the human-readable (and i18n'ised) name of a property.

Referenced by PropertyContainer::convertPropertyStrings(), and PropertyBox::updatePropertyEditor().

PropertyContainer::PropertyType PropertyContainer::getPropertyType ( const PropertyName  )  const [virtual, inherited]

Return the type of the given property, or InvalidProperty if the property is not supported on this container.

Definition at line 33 of file PropertyContainer.cpp.

References PropertyContainer::InvalidProperty.

Referenced by PropertyBox::colourDatabaseChanged(), PropertyContainer::convertPropertyStrings(), ImageLayer::getPropertyType(), PropertyContainer::getPropertyValueLabel(), PropertyBox::propertyControllerChanged(), PropertyBox::unitDatabaseChanged(), and PropertyBox::updatePropertyEditor().

QString PropertyContainer::getPropertyIconName ( const PropertyName  )  const [virtual, inherited]

Return an icon for the property, if any.

Definition at line 39 of file PropertyContainer.cpp.

Referenced by PropertyBox::updatePropertyEditor().

QString PropertyContainer::getPropertyGroupName ( const PropertyName  )  const [virtual, inherited]

If this property has something in common with other properties on this container, return a name that can be used to group them (in order to save screen space, for example).

e.g. "Window Type" and "Window Size" might both have a group name of "Window". If this property is not groupable, return the empty string.

Definition at line 45 of file PropertyContainer.cpp.

Referenced by PropertyBox::updatePropertyEditor().

int PropertyContainer::getPropertyRangeAndValue ( const PropertyName ,
int *  min,
int *  max,
int *  deflt 
) const [virtual, inherited]

Return the minimum and maximum values for the given property and its current value in this container.

Min and/or max may be passed as NULL if their values are not required.

Definition at line 51 of file PropertyContainer.cpp.

Referenced by PropertyContainer::convertPropertyStrings(), PropertyContainer::SetPropertyCommand::execute(), getPropertyRangeAndValue(), SingleColourLayer::getPropertyRangeAndValue(), ImageLayer::getPropertyRangeAndValue(), Colour3DPlotLayer::getPropertyRangeAndValue(), PropertyContainer::setPropertyWithCommand(), and PropertyBox::updatePropertyEditor().

QString PropertyContainer::getPropertyValueLabel ( const PropertyName ,
int  value 
) const [virtual, inherited]

If the given property is a ValueProperty, return the display label to be used for the given value for that property.

Definition at line 61 of file PropertyContainer.cpp.

References PropertyContainer::ColourProperty, ColourDatabase::getColourCount(), ColourDatabase::getColourName(), ColourDatabase::getInstance(), and PropertyContainer::getPropertyType().

Referenced by PropertyContainer::convertPropertyStrings(), SingleColourLayer::getPropertyValueLabel(), ImageLayer::getPropertyValueLabel(), and PropertyBox::updatePropertyEditor().

RangeMapper * PropertyContainer::getNewPropertyRangeMapper ( const PropertyName  )  const [virtual, inherited]

If the given property is a RangeProperty, return a new RangeMapper object mapping its integer range onto an underlying floating point value range for human-intelligible display, if appropriate.

The RangeMapper should be allocated with new, and the caller takes responsibility for deleting it. Return NULL (as in the default implementation) if there is no such mapping.

Definition at line 74 of file PropertyContainer.cpp.

Referenced by PropertyContainer::convertPropertyStrings(), and PropertyBox::updatePropertyEditor().

void PropertyContainer::propertyChanged ( PropertyContainer::PropertyName   )  [signal, inherited]

Referenced by Preferences::setBackgroundMode(), Preferences::setOmitTempsFromRecentFiles(), Preferences::setPropertyBoxLayout(), Preferences::setResampleOnLoad(), Preferences::setResampleQuality(), Preferences::setShowSplash(), Preferences::setSpectrogramSmoothing(), Preferences::setTemporaryDirectoryRoot(), Preferences::setTuningFrequency(), Preferences::setViewFontSize(), Preferences::setWindowType(), SpectrogramLayer(), SpectrumLayer::SpectrumLayer(), and ViewPropertyContainer::ViewPropertyContainer().

void PropertyContainer::setProperty ( const PropertyName ,
int  value 
) [virtual, slot, inherited]

Set a property.

This is used for all property types. For boolean properties, zero is false and non-zero true; for colours, the integer value is an index into the colours in the global ColourDatabase.

Definition at line 80 of file PropertyContainer.cpp.

References PropertyContainer::getPropertyContainerName().

Referenced by PropertyContainer::SetPropertyCommand::execute(), PropertyContainer::setProperty(), ImageLayer::setProperty(), and PropertyContainer::SetPropertyCommand::unexecute().

void PropertyContainer::setProperty ( QString  nameString,
QString  valueString 
) [virtual, slot, inherited]

Set a property using a fuzzy match.

Compare nameString with the property labels and underlying names, and if it matches one (with preference given to labels), try to convert valueString appropriately and set it. The valueString should contain a value label for value properties, a mapped value for range properties, "on" or "off" for toggle properties, a colour or unit name, or the underlying integer value for the property.

Note that as property and value labels may be translatable, the results of this function may vary by locale. It is intended for handling user-originated strings, _not_ persistent storage.

The default implementation should work for most subclasses.

Definition at line 96 of file PropertyContainer.cpp.

References PropertyContainer::convertPropertyStrings(), and PropertyContainer::setProperty().

void PropertyContainer::setPropertyWithCommand ( const PropertyName ,
int  value 
) [virtual, slot, inherited]

Set a property using a command, supporting undo and redo.

The default implementation should work for most subclasses.

Definition at line 86 of file PropertyContainer.cpp.

References CommandHistory::addCommand(), CommandHistory::getInstance(), and PropertyContainer::getPropertyRangeAndValue().

Referenced by MainWindow::handleOSCMessage(), PropertyBox::propertyControllerChanged(), and PropertyContainer::setPropertyWithCommand().

void PropertyContainer::setPropertyWithCommand ( QString  nameString,
QString  valueString 
) [virtual, slot, inherited]

As above, but using a command.

Definition at line 111 of file PropertyContainer.cpp.

References PropertyContainer::convertPropertyStrings(), and PropertyContainer::setPropertyWithCommand().

bool PropertyContainer::convertPropertyStrings ( QString  nameString,
QString  valueString,
PropertyName name,
int &  value 
) [protected, virtual, inherited]

Definition at line 126 of file PropertyContainer.cpp.

References PropertyContainer::ColourProperty, ColourDatabase::getColourIndex(), UnitDatabase::getInstance(), ColourDatabase::getInstance(), PropertyContainer::getNewPropertyRangeMapper(), RangeMapper::getPositionForValue(), PropertyContainer::getProperties(), PropertyContainer::getPropertyLabel(), PropertyContainer::getPropertyRangeAndValue(), PropertyContainer::getPropertyType(), PropertyContainer::getPropertyValueLabel(), UnitDatabase::getUnitId(), PropertyContainer::InvalidProperty, PropertyContainer::RangeProperty, PropertyContainer::ToggleProperty, PropertyContainer::UnitsProperty, and PropertyContainer::ValueProperty.

Referenced by PropertyContainer::setProperty(), and PropertyContainer::setPropertyWithCommand().

QString XmlExportable::toXmlString ( QString  indent = "",
QString  extraAttributes = "" 
) const [virtual, inherited]

Convert this exportable object to XML in a string.

The default implementation calls toXml and returns the result as a string. Do not override this unless you really know what you're doing.

Definition at line 25 of file XmlExportable.cpp.

References XmlExportable::toXml().

Referenced by LayerFactory::setLayerDefaultProperties().

QString XmlExportable::encodeEntities ( QString   )  [static, inherited]

Definition at line 41 of file XmlExportable.cpp.

Referenced by AudioGenerator::getDefaultPlayPluginConfiguration(), SVFileReader::readPlugin(), Layer::toBriefXml(), WaveFileModel::toXml(), Transform::toXml(), TextPoint::toXml(), PluginXml::toXml(), Model::toXml(), Layer::toXml(), ImagePoint::toXml(), and Document::writeBackwardCompatibleDerivation().

QString XmlExportable::encodeColour ( QColor   )  [static, inherited]

Definition at line 54 of file XmlExportable.cpp.

Referenced by ColourDatabase::getStringValues().

int XmlExportable::getObjectExportId ( const void *   )  [static, inherited]

Definition at line 71 of file XmlExportable.cpp.

Referenced by FFTDataServer::generateFileBasename(), View::getTextLabelHeight(), Layer::toBriefXml(), SparseModel< PointType >::toXml(), Model::toXml(), Layer::toXml(), EditableDenseThreeDimensionalModel::toXml(), Document::toXml(), and Document::writeBackwardCompatibleDerivation().

size_t PowerOfSqrtTwoZoomConstraint::getNearestBlockSize ( size_t  requestedBlockSize,
RoundingDirection  dir = RoundNearest 
) const [virtual, inherited]

Given the "ideal" block size (frames per pixel) for a given zoom level, return the nearest viable block size for this constraint.

For example, if a block size of 1523 frames per pixel is requested but the underlying model only supports value summaries at powers-of-two block sizes, return 1024 or 2048 depending on the rounding direction supplied.

Reimplemented from ZoomConstraint.

Definition at line 23 of file PowerOfSqrtTwoZoomConstraint.cpp.

Referenced by WaveFileModel::getSummaries(), WaveFileModel::getSummaryBlockSize(), and View::getZoomConstraintBlockSize().

size_t PowerOfSqrtTwoZoomConstraint::getNearestBlockSize ( size_t  requestedBlockSize,
int &  type,
int &  power,
RoundingDirection  dir = RoundNearest 
) const [virtual, inherited]

Definition at line 32 of file PowerOfSqrtTwoZoomConstraint.cpp.

References ZoomConstraint::getMaxZoomLevel(), PowerOfSqrtTwoZoomConstraint::getMinCachePower(), ZoomConstraint::RoundDown, ZoomConstraint::RoundNearest, and ZoomConstraint::RoundUp.

virtual size_t PowerOfSqrtTwoZoomConstraint::getMinCachePower (  )  const [inline, virtual, inherited]

Definition at line 34 of file PowerOfSqrtTwoZoomConstraint.h.

Referenced by PowerOfSqrtTwoZoomConstraint::getNearestBlockSize(), WaveFileModel::getSummaries(), WaveFileModel::getSummaryBlockSize(), and WaveFileModel::RangeCacheFillThread::run().

virtual size_t ZoomConstraint::getMaxZoomLevel (  )  const [inline, virtual, inherited]

Return the maximum zoom level within range for this constraint.

Definition at line 62 of file ZoomConstraint.h.

Referenced by ZoomConstraint::getNearestBlockSize(), PowerOfTwoZoomConstraint::getNearestBlockSize(), and PowerOfSqrtTwoZoomConstraint::getNearestBlockSize().


Member Data Documentation

const DenseTimeValueModel* SpectrogramLayer::m_model [protected]

Definition at line 236 of file SpectrogramLayer.h.

Referenced by fillTimerTimedOut(), getAdjustedYBinSourceRange(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFeatureDescription(), getFFTModel(), getModel(), getNewVerticalZoomRangeMapper(), 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 238 of file SpectrogramLayer.h.

Referenced by getChannel(), getFFTModel(), setChannel(), and toXml().

size_t SpectrogramLayer::m_windowSize [protected]

Definition at line 239 of file SpectrogramLayer.h.

Referenced by getAdjustedYBinSourceRange(), getFFTModel(), getPropertyRangeAndValue(), getWindowIncrement(), getWindowSize(), getXBinSourceRange(), setWindowSize(), setZeroPadLevel(), and toXml().

WindowType SpectrogramLayer::m_windowType [protected]

Definition at line 240 of file SpectrogramLayer.h.

Referenced by getFFTModel(), getWindowType(), and setWindowType().

size_t SpectrogramLayer::m_windowHopLevel [protected]

Definition at line 241 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue(), getWindowHopLevel(), getWindowIncrement(), setWindowHopLevel(), and toXml().

size_t SpectrogramLayer::m_zeroPadLevel [protected]

Definition at line 242 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue(), getZeroPadLevel(), setWindowSize(), and setZeroPadLevel().

size_t SpectrogramLayer::m_fftSize [protected]

Definition at line 243 of file SpectrogramLayer.h.

Referenced by getAdjustedYBinSourceRange(), getCurrentVerticalZoomStep(), getEffectiveMaxFrequency(), getEffectiveMinFrequency(), getFFTSize(), getNewVerticalZoomRangeMapper(), getValueExtents(), getVerticalZoomSteps(), getXYBinSourceRange(), getYBinRange(), getYBinSourceRange(), getZeroPadLevel(), paint(), paintVerticalScale(), setVerticalZoomStep(), setWindowSize(), and setZeroPadLevel().

float SpectrogramLayer::m_gain [protected]

Definition at line 244 of file SpectrogramLayer.h.

Referenced by getGain(), getPropertyRangeAndValue(), paint(), paintVerticalScale(), setGain(), and toXml().

float SpectrogramLayer::m_initialGain [protected]

Definition at line 245 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue().

float SpectrogramLayer::m_threshold [protected]

Definition at line 246 of file SpectrogramLayer.h.

Referenced by getAdjustedYBinSourceRange(), getPropertyRangeAndValue(), getThreshold(), paint(), setThreshold(), and toXml().

float SpectrogramLayer::m_initialThreshold [protected]

Definition at line 247 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue().

int SpectrogramLayer::m_colourRotation [protected]

Definition at line 248 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue(), initialisePalette(), setColourRotation(), and toXml().

int SpectrogramLayer::m_initialRotation [protected]

Definition at line 249 of file SpectrogramLayer.h.

Referenced by getPropertyRangeAndValue().

size_t SpectrogramLayer::m_minFrequency [protected]

Definition at line 250 of file SpectrogramLayer.h.

Referenced by getEffectiveMinFrequency(), getMinFrequency(), getPropertyRangeAndValue(), getZeroPadLevel(), paint(), setDisplayExtents(), setMinFrequency(), setVerticalZoomStep(), and toXml().

size_t SpectrogramLayer::m_maxFrequency [protected]

Definition at line 251 of file SpectrogramLayer.h.

Referenced by getEffectiveMaxFrequency(), getMaxFrequency(), getPropertyRangeAndValue(), getVerticalScaleWidth(), getZeroPadLevel(), paint(), paintVerticalScale(), setDisplayExtents(), setMaxFrequency(), setVerticalZoomStep(), and toXml().

size_t SpectrogramLayer::m_initialMaxFrequency [protected]

Definition at line 252 of file SpectrogramLayer.h.

Referenced by getVerticalZoomSteps(), and SpectrogramLayer().

ColourScale SpectrogramLayer::m_colourScale [protected]

Definition at line 253 of file SpectrogramLayer.h.

Referenced by getColourScale(), getDisplayValue(), getInputForDisplayValue(), getPropertyRangeAndValue(), paint(), paintVerticalScale(), setColourScale(), and toXml().

int SpectrogramLayer::m_colourMap [protected]

Definition at line 254 of file SpectrogramLayer.h.

Referenced by getColourMap(), getPropertyRangeAndValue(), hasLightBackground(), initialisePalette(), setColourMap(), and toXml().

QColor SpectrogramLayer::m_crosshairColour [protected]

Definition at line 255 of file SpectrogramLayer.h.

Referenced by initialisePalette(), and paintCrosshairs().

FrequencyScale SpectrogramLayer::m_frequencyScale [protected]

Definition at line 256 of file SpectrogramLayer.h.

Referenced by getFrequencyForY(), getFrequencyScale(), getPropertyRangeAndValue(), getValueExtents(), getVerticalScaleWidth(), getYBinRange(), getYForFrequency(), getZeroPadLevel(), paint(), paintVerticalScale(), setFrequencyScale(), setVerticalZoomStep(), and toXml().

BinDisplay SpectrogramLayer::m_binDisplay [protected]

Definition at line 257 of file SpectrogramLayer.h.

Referenced by getAdjustedYBinSourceRange(), getBinDisplay(), getFeatureDescription(), getPropertyRangeAndValue(), getZeroPadLevel(), paint(), setBinDisplay(), and toXml().

bool SpectrogramLayer::m_normalizeColumns [protected]

Definition at line 258 of file SpectrogramLayer.h.

Referenced by getDisplayValue(), getInputForDisplayValue(), getNormalizeColumns(), getPropertyRangeAndValue(), paint(), setNormalizeColumns(), and toXml().

bool SpectrogramLayer::m_normalizeVisibleArea [protected]

Definition at line 259 of file SpectrogramLayer.h.

Referenced by getDisplayValue(), getNormalizeVisibleArea(), getPropertyRangeAndValue(), paint(), setNormalizeVisibleArea(), and toXml().

int SpectrogramLayer::m_lastEmittedZoomStep [protected]

Definition at line 260 of file SpectrogramLayer.h.

Referenced by setDisplayExtents(), and setProperty().

int SpectrogramLayer::m_lastPaintBlockWidth [mutable, protected]

Definition at line 262 of file SpectrogramLayer.h.

Referenced by paint().

RealTime SpectrogramLayer::m_lastPaintTime [mutable, protected]

Definition at line 263 of file SpectrogramLayer.h.

Referenced by paint().

Palette SpectrogramLayer::m_palette [protected]

Definition at line 282 of file SpectrogramLayer.h.

Referenced by initialisePalette(), paint(), paintVerticalScale(), and rotatePalette().

ViewPixmapCache SpectrogramLayer::m_pixmapCaches [mutable, protected]

Definition at line 294 of file SpectrogramLayer.h.

Referenced by invalidatePixmapCaches(), measureDoubleClick(), paint(), and setLayerDormant().

QImage SpectrogramLayer::m_drawBuffer [mutable, protected]

Definition at line 295 of file SpectrogramLayer.h.

Referenced by paint().

QTimer* SpectrogramLayer::m_updateTimer [mutable, protected]

Definition at line 297 of file SpectrogramLayer.h.

Referenced by fillTimerTimedOut(), getCompletion(), getFFTModel(), paint(), and ~SpectrogramLayer().

size_t SpectrogramLayer::m_candidateFillStartFrame [mutable, protected]

Definition at line 299 of file SpectrogramLayer.h.

Referenced by getFFTModel(), and paint().

bool SpectrogramLayer::m_exiting [protected]

Definition at line 300 of file SpectrogramLayer.h.

ViewFFTMap SpectrogramLayer::m_fftModels [mutable, protected]

Definition at line 346 of file SpectrogramLayer.h.

Referenced by fillTimerTimedOut(), getCompletion(), getFFTModel(), getSliceableModel(), invalidateFFTModels(), and setLayerDormant().

Model* SpectrogramLayer::m_sliceableModel [mutable, protected]

Definition at line 347 of file SpectrogramLayer.h.

Referenced by getFFTModel(), getSliceableModel(), invalidateFFTModels(), and setLayerDormant().

ViewMagMap SpectrogramLayer::m_viewMags [mutable, protected]

Definition at line 398 of file SpectrogramLayer.h.

Referenced by getDisplayValue(), invalidateMagnitudes(), paint(), paintVerticalScale(), and updateViewMagnitudes().

std::vector<MagnitudeRange> SpectrogramLayer::m_columnMags [mutable, protected]

Definition at line 399 of file SpectrogramLayer.h.

Referenced by invalidateMagnitudes(), paint(), and updateViewMagnitudes().

MeasureRectSet Layer::m_measureRects [protected, inherited]

Definition at line 530 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 531 of file Layer.h.

Referenced by Layer::measureDrag(), Layer::measureEnd(), Layer::measureStart(), and Layer::paintMeasurementRects().

bool Layer::m_haveDraggingRect [protected, inherited]

Definition at line 532 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 533 of file Layer.h.

Referenced by Layer::deleteCurrentMeasureRect(), Layer::haveCurrentMeasureRect(), and Layer::paintMeasurementRects().

QPoint Layer::m_currentMeasureRectPoint [mutable, protected, inherited]

Definition at line 534 of file Layer.h.

Referenced by Layer::deleteCurrentMeasureRect(), and Layer::paintMeasurementRects().

QString Layer::m_presentationName [protected, inherited]

Definition at line 551 of file Layer.h.

Referenced by Layer::getLayerPresentationName(), Layer::getPropertyContainerName(), Layer::setPresentationName(), Layer::toBriefXml(), and Layer::toXml().


The documentation for this class was generated from the following files:
Generated on Wed Feb 20 15:45:36 2008 for SonicVisualiser by  doxygen 1.5.1