|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectLayout.PamFramePlots
userDisplay.UserFramePlots
Spectrogram.SpectrogramDisplay
public class SpectrogramDisplay
| Nested Class Summary | |
|---|---|
(package private) class |
SpectrogramDisplay.AmplitudePanel
|
(package private) class |
SpectrogramDisplay.MenuPlayAll
|
(package private) class |
SpectrogramDisplay.PlayProgress
|
(package private) class |
SpectrogramDisplay.SettingsAction
|
(package private) class |
SpectrogramDisplay.SpecPanelMouse
|
(package private) class |
SpectrogramDisplay.SpectrogramAxis
Need to extend PamAxisPanel in order to override the axis drawing to allow for the plug in panels at the bottom of the display. |
(package private) class |
SpectrogramDisplay.SpectrogramOuterPanel
|
(package private) class |
SpectrogramDisplay.SpectrogramPanel
Inner panels showing a single spectrogram display. |
(package private) class |
SpectrogramDisplay.SpectrogramPlotPanel
Outer panel which contains the spectrogram outer panel and also all the plug in plots a the bottom |
(package private) class |
SpectrogramDisplay.SplitPaneListener
|
(package private) class |
SpectrogramDisplay.ViewScrollObserver
|
| Fields inherited from class userDisplay.UserFramePlots |
|---|
FRAME_TYPE_RADAR, FRAME_TYPE_SPECTROGRAM |
| Fields inherited from interface Layout.DisplayPanelContainer |
|---|
DRAW_BORDER |
| Constructor Summary | |
|---|---|
SpectrogramDisplay(UserDisplayControl userDisplayControl,
SpectrogramParameters spectrogramParameters)
|
|
| Method Summary | |
|---|---|
void |
createAllImages()
Called whenever the display size changes so that buffered images can be recreated. |
private void |
createColours()
|
private void |
drawBackgroundImages()
redraw the background images in viewer mode with new FFT data recreated from sound file data. |
private void |
fireMouseDownEvents(SpectrogramDisplay.SpectrogramPanel spectrogramPanel,
java.awt.Point mouseDown)
|
private void |
fireMouseUpEvents(SpectrogramDisplay.SpectrogramPanel spectrogramPanel,
java.awt.Point mouseDown,
java.awt.Point mouseUp)
|
private void |
freezeImages(SpectrogramDisplay.SpectrogramPanel selectedPanel)
|
private int |
getColourIndex(double dBLevel)
|
double |
getCurrentXPixel()
current pixel (need not be integer ! |
long |
getCurrentXTime()
get the time at the cursor in milliseconds |
int |
getFrameType()
|
int |
getImageHeight()
|
int |
getImageWidth()
Width of the bitmap thats beeing drawn on - not the number of pixels, though these may often be the same. |
java.lang.String |
getName()
|
java.lang.String |
getObserverName()
|
PamObserver |
getObserverObject()
|
private double |
getPixelFrequency(int pixel)
convert a pixel number into a frequency. |
private long |
getPixelXTime(int pixel)
Used to get the time in milliseconds from a pixel number when the user clicks on the display. |
private long |
getRelativePixelTime(int pixels)
|
long |
getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
Required data history depends on what's happening with the mouse. |
FFTDataBlock |
getSourceFFTDataBlock()
|
PamRawDataBlock |
getSourceRawDataBlock()
|
SpectrogramParameters |
getSpectrogramParameters()
|
(package private) int |
getVariableWidth()
|
double |
getXDuration()
Get the display length in milliseconds. |
void |
internalFrameClosing(javax.swing.event.InternalFrameEvent e)
|
void |
masterClockUpdate(long milliSeconds,
long sampleNumber)
|
private void |
newScrollTime()
|
void |
noteNewSettings()
|
private void |
notifyDisplayPanels(int noteType)
|
private void |
notifyMarkObservers(int downUp,
int channel,
long startTime,
long duration,
double f1,
double f2)
|
void |
notifyModelChanged(int changeType)
|
void |
PamToStart()
|
void |
panelNotify(int noteType)
notification from a display panel that it's necessary to perform some action - such as redrawing axis. |
void |
removeObservable(PamObservable o)
called when an Observable (PamDataBlock) is removed from the system |
void |
repaintAll()
|
private void |
requestFFTData()
|
private void |
requestFFTData(long startMillis,
long endMillis)
|
private void |
setAxisLimits()
|
void |
setLoadStatus(int loadState)
|
void |
setParams(SpectrogramParameters newParameters)
|
void |
setSampleRate(float sampleRate,
boolean notify)
New sample rate |
void |
setSettings()
|
private void |
setupViewScroller()
set up the page size on the view scroller and also sets up the range spinner |
private void |
subscribeDataBlocks()
Create lists of data blocks that each panel is viewing so they can plot the data efficiently. |
private void |
subscribeViewScrollData()
Subscribe overlaying data to the view scroller. |
private void |
unFreezeImages()
|
void |
update(PamObservable obs,
PamDataUnit newData)
Informs the PamObserver that new data have been added to the Observable class |
private void |
updateChannel(PamObservable obs,
AcousticDataUnit newData,
int panelNumber)
|
| Methods inherited from class userDisplay.UserFramePlots |
|---|
getUserFrameParameters, internalFrameActivated, internalFrameClosed, internalFrameDeactivated, internalFrameDeiconified, internalFrameIconified, internalFrameOpened, setUserFrameParameters |
| Methods inherited from class Layout.PamFramePlots |
|---|
getAxisPanel, getCopyMenuItem, getEastPanel, getFrame, getNorthPanel, getPlotPanel, getSouthPanel, getWestPanel, repaint, setAxisPanel, setEastPanel, setFrame, setNorthPanel, setPlotPanel, setSouthPanel, setWestPanel |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.swing.event.InternalFrameListener |
|---|
internalFrameActivated, internalFrameClosed, internalFrameDeactivated, internalFrameDeiconified, internalFrameIconified, internalFrameOpened |
| Field Detail |
|---|
private SpectrogramParameters spectrogramParameters
private SpectrogramParameters oldLayoutParameters
private SpectrogramDisplay.SpectrogramOuterPanel spectrogramOuterPanel
private SpectrogramDisplay.SpectrogramPanel[] spectrogramPanels
private SpectrogramDisplay.SpectrogramAxis spectrogramAxis
private SpectrogramDisplay.AmplitudePanel amplitudePanel
private SpectrogramDisplay.SpectrogramPlotPanel spectrogramPlotPanel
private FFTDataBlock sourceFFTDataBlock
private PamRawDataBlock sourceRawDataBlock
private SpectrogramDisplay spectrogramDisplay
private java.awt.image.BufferedImage amplitudeImage
private int imageWidth
private int imageHeight
private double[][] colorValues
private ColourArray colourArray
private double[] overlayColour
private static int instanceCount
private float sampleRate
private PamAxis timeAxis
private PamAxis frequencyAxis
private PamAxis amplitudeAxis
private int[] freqBinRange
private double scaleX
private double scaleY
private java.awt.Dimension panelSize
private java.awt.Rectangle r
private int xAxisExtent
private int yAxisExtent
private SpectrogramProjector spectrogramProjector
private DirectDrawProjector directDrawProjector
private boolean firstUpdate
private java.util.ArrayList<PamDataBlock> detectorDataBlocks
private java.awt.event.MouseAdapter popupListener
private int nMarkObservers
private PamScroller viewerScroller
private java.awt.Color freezeColour
private java.awt.Color freezeColour2
private boolean frozen
private PamLabel frequencyLabel
private java.lang.Object innerPanelSynchObject
private java.awt.Point mouseDownPoint
private java.awt.Point currentMousePoint
private long mouseDownTime
protected ClipboardCopier panelClipBoardCopier
private boolean viewerMode
private UserDisplayControl userDisplayControl
private long playbackTimeMillis
private int playbackStatus
private long lastReqStart
private long lastReqEnd
DisplayPanelProvider displayPanelProvider
java.util.Vector<DisplayPanel> displayPanels
java.util.Vector<DisplayPanel> oldDisplayPanels
| Constructor Detail |
|---|
public SpectrogramDisplay(UserDisplayControl userDisplayControl,
SpectrogramParameters spectrogramParameters)
| Method Detail |
|---|
public PamObserver getObserverObject()
getObserverObject in interface PamObserverpublic java.lang.String getName()
getName in class UserFramePlotspublic void setParams(SpectrogramParameters newParameters)
public void repaintAll()
public int getImageWidth()
public int getImageHeight()
public void createAllImages()
private void setAxisLimits()
private void createColours()
int getVariableWidth()
public void setSampleRate(float sampleRate,
boolean notify)
PamObserver
setSampleRate in interface PamObservernotify - Notify other PamObservers and PamObservables in the chain.
public void masterClockUpdate(long milliSeconds,
long sampleNumber)
masterClockUpdate in interface PamObserverpublic void PamToStart()
public long getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
getRequiredDataHistory in interface PamObservero - PamObservable class requiring the dataarg - optional argument from PamObservable
SpectrogramMarkObserverpublic java.lang.String getObserverName()
getObserverName in interface PamObserver
public void update(PamObservable obs,
PamDataUnit newData)
PamObserver
update in interface PamObserverobs - Reference to the Observable (a PamDataBlock)newData - Reference to the new PamDataUnitpublic void setLoadStatus(int loadState)
setLoadStatus in interface LoadObserver
private void updateChannel(PamObservable obs,
AcousticDataUnit newData,
int panelNumber)
private int getColourIndex(double dBLevel)
public void setSettings()
private void setupViewScroller()
private void subscribeDataBlocks()
private void subscribeViewScrollData()
private void requestFFTData()
private void requestFFTData(long startMillis,
long endMillis)
private void drawBackgroundImages()
private void freezeImages(SpectrogramDisplay.SpectrogramPanel selectedPanel)
private void unFreezeImages()
public SpectrogramParameters getSpectrogramParameters()
public void notifyModelChanged(int changeType)
notifyModelChanged in class UserFramePlotsprivate void newScrollTime()
public void internalFrameClosing(javax.swing.event.InternalFrameEvent e)
internalFrameClosing in interface javax.swing.event.InternalFrameListenerinternalFrameClosing in class UserFramePlotspublic void noteNewSettings()
noteNewSettings in interface PamObserverpublic void removeObservable(PamObservable o)
PamObserver
removeObservable in interface PamObserverprivate long getPixelXTime(int pixel)
pixel -
private long getRelativePixelTime(int pixels)
pixels -
private double getPixelFrequency(int pixel)
pixel -
public double getCurrentXPixel()
DisplayPanelContainer
getCurrentXPixel in interface DisplayPanelContainerpublic long getCurrentXTime()
DisplayPanelContainer
getCurrentXTime in interface DisplayPanelContainerpublic double getXDuration()
getXDuration in interface DisplayPanelContainerpublic void panelNotify(int noteType)
DisplayPanelContainer
panelNotify in interface DisplayPanelContainerprivate void notifyDisplayPanels(int noteType)
private void notifyMarkObservers(int downUp,
int channel,
long startTime,
long duration,
double f1,
double f2)
public int getFrameType()
getFrameType in class UserFramePlots
private void fireMouseDownEvents(SpectrogramDisplay.SpectrogramPanel spectrogramPanel,
java.awt.Point mouseDown)
private void fireMouseUpEvents(SpectrogramDisplay.SpectrogramPanel spectrogramPanel,
java.awt.Point mouseDown,
java.awt.Point mouseUp)
public FFTDataBlock getSourceFFTDataBlock()
public PamRawDataBlock getSourceRawDataBlock()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||