The WAVEFORM_ANALYZER_SETTINGS_2 structure describes the graphical settings applied to the Waveform Analyzer. The current settings can be retrieved through the WaveformAnalyzer.GetGraphicalSettings2 method and modified through the WaveformAnalyzer.SetGraphicalSettings2 method.
For details about the use of the Waveform Analyzer refer to the How to use the Waveform Analyzer section.
For further details about methods of the Waveform Analyzer refer to the WaveformAnalyzer object section.
Visual C++ definition
typedef struct
{
short bAppearance3d;
OLE_COLOR colorWaveLine;
OLE_COLOR colorWaveBackground;
OLE_COLOR colorWavePositionLine;
OLE_COLOR colorWavePlaybackLine;
OLE_COLOR colorRulersBackground;
OLE_COLOR colorRulersLines;
OLE_COLOR colorRulersText;
OLE_COLOR colorScrollbarsBackground;
OLE_COLOR colorScrollbarsThumb;
short bRulerAmplitudeVisibleLeft;
short bRulerAmplitudeVisibleRight;
short bRulerTimeVisibleTop;
short bRulerTimeVisibleBottom;
short bScrollbarVisibleTop;
short bScrollbarVisibleBottom;
long nResolution;
float fZoomFactor;
long nStereoVisualizationMode;
long nWavePositionLineType;
long nWavePlaybackLineType;
short bWavePlaybackLineVisible;
float fVerticalZoomFactor;
OLE_COLOR colorVolumeLevelLine;
OLE_COLOR colorTimeLine;
short bUseHalfColorsForPeaks;
long nScaleType;
short bInvalidateAll;
} WAVEFORM_ANALYZER_SETTINGS_2;
This data structure is defined inside the AdjMmsEngDef.h header file which can be found inside the product's Include directory (default C:\Program Files\Active Sound Recorder\include).
Visual Basic definition
Public Type WAVEFORM_ANALYZER_SETTINGS_2
bAppearance3d As Boolean
colorWaveLine As OLE_COLOR
colorWaveBackground As OLE_COLOR
colorWavePositionLine As OLE_COLOR
colorWavePlaybackLine As OLE_COLOR
colorRulersBackground As OLE_COLOR
colorRulersLines As OLE_COLOR
colorRulersText As OLE_COLOR
colorScrollbarsBackground As OLE_COLOR
colorScrollbarsThumb As OLE_COLOR
bRulerAmplitudeVisibleLeft As Boolean
bRulerAmplitudeVisibleRight As Boolean
bRulerTimeVisibleTop As Boolean
bRulerTimeVisibleBottom As Boolean
bScrollbarVisibleTop As Boolean
bScrollbarVisibleBottom As Boolean
nResolution As enumAnalyzerResolutions
fZoomFactor As Single
nStereoVisualizationMode As enumWaveformStereoModes
nWavePositionLineType As enumWaveformLineModes
nWavePlaybackLineType As enumWaveformLineModes
bWavePlaybackLineVisible As Boolean
fVerticalZoomFactor As Single
colorVolumeLevelLine As OLE_COLOR
colorTimeLine As OLE_COLOR
bUseHalfColorsForPeaks As Boolean
nScaleType As enumVolumeScales
bInvalidateAll As Boolean
End Type
This data structure is defined inside the Asrecdef.bas module file which can be found inside the product's Include directory (default C:\Program Files\Active Sound Recorder\include).

Picture A

Picture B

Picture C
Member
|
Description
|
|
|
bAppearance3d
|
Boolean value that specifies if the Waveform Analyzer is displayed with 3D borders.

Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display 3D borders
|
True
|
1
|
Displays 3D borders
|
|
colorWaveLine
|
Color used for rendering the waveform's line (see Picture A above).
|
colorWaveBackground
|
Color used for rendering the waveform's background (see Picture A above).
|
colorWavePositionLine
|
Color used for rendering the line that indicates a selected position on the waveform (see Picture A above).
|
colorWavePlaybackLine
|
Color used for rendering the line that indicates the playback position on the waveform during a playback session (see Picture A above).
|
colorRulersBackground
|
Color used for rendering the rulers background (see Picture A above).
|
colorRulersLines
|
Color used for rendering the rulers lines (see Picture A above).
|
colorRulersText
|
Color used for rendering the rulers texts (see Picture A above).
|
colorScrollbarsBackground
|
Color used for rendering the scrollbars background (see Picture A above).
|
colorScrollbarsThumb
|
Color used for rendering the scrollbars thumb (see Picture A above).
|
bRulerAmplitudeVisibleLeft
|
Boolean value that specifies if the left sound's amplitude ruler is visible. (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the left sound's amplitude ruler
|
True
|
1
|
Displays the left sound's amplitude ruler
|
|
bRulerAmplitudeVisibleRight
|
Boolean value that specifies if the right sound's amplitude ruler is visible. (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the right sound's amplitude ruler
|
True
|
1
|
Displays the right sound's amplitude ruler
|
|
bRulerTimeVisibleTop
|
Boolean value that specifies if the if the top time ruler is visible (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the top time ruler
|
True
|
1
|
Displays the top time ruler
|
|
bRulerTimeVisibleBottom
|
Boolean value that specifies if the if the bottom time ruler is visible (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the bottom time ruler
|
True
|
1
|
Displays the bottom time ruler
|
|
bScrollbarVisibleTop
|
Boolean value that specifies if the if the top scrollbar is visible (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the top scrollbar
|
True
|
1
|
Displays bottom the top scrollbar
|
|
bScrollbarVisibleBottom
|
Boolean value that specifies if the if the bottom scrollbar is visible (see Picture B above)
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the bottom scrollbar
|
True
|
1
|
Displays bottom the bottom scrollbar
|
|
nResolution
|
Resolution used for waveform's analysis.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
WAVEANALYZER_RES_MINIMUM
|
100
|
Minimum resolution, faster calculation time. Each line on the analyzer is the average for 256 PCM samples.
|
WAVEANALYZER_RES_VERY_LOW
|
101
|
Very low resolution. Each line on the analyzer is the average for 128 PCM samples.
|
WAVEANALYZER_RES_LOW
|
102
|
Low resolution. Each line on the analyzer is the average for 64 PCM samples.
|
WAVEANALYZER_RES_MIDDLE
|
103
|
Middle resolution. Each line on the analyzer is the average for 32 PCM samples.
|
WAVEANALYZER_RES_HIGH
|
104
|
High resolution. Each line on the analyzer is the average for 16 PCM samples.
|
WAVEANALYZER_RES_VERY_HIGH
|
105
|
Very high resolution. Each line on the analyzer is the average for 8 PCM samples.
|
WAVEANALYZER_RES_MAXIMUM
|
106
|
Maximum resolution, slower calculation time. Each line on the analyzer is the average for 4 PCM samples.
|
|
fZoomFactor
|
Floating point value indicating the factor applied to zooming operations: by default the zoom factor is 2.0
|
nStereoVisualizationMode
|
Visualization mode used for displaying stereo sounds
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
STEREO_MODE_CHANNELS_BOTH
|
0
|
Right and left channels are displayed separately on two different panes as seen on the pictures A and B above.
|
STEREO_MODE_CHANNELS_LEFT
|
1
|
Only the left channel content is displayed on a single pane
|
STEREO_MODE_CHANNELS_RIGHT
|
2
|
Only the right channel content is displayed on a single pane
|
STEREO_MODE_CHANNELS_MIXED
|
3
|
Right and left channels contents are mixed together and displayed on a single pane
|
|
nWavePositionLineType
|
Line mode used for rendering the line that indicates a selected position on the waveform.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
LINE_MODE_DOTTED
|
0
|
Dotted line
|
LINE_MODE_DASHED
|
1
|
Dashed line
|
LINE_MODE_SOLID
|
2
|
Solid line
|
|
nWavePlaybackLineType
|
Line mode used for rendering the line that indicates the playback position on the waveform during a playback session.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
LINE_MODE_DOTTED
|
0
|
Dotted line
|
LINE_MODE_DASHED
|
1
|
Dashed line
|
LINE_MODE_SOLID
|
2
|
Solid line
|
|
bWavePlaybackLineVisible
|
Boolean value that determines if the line that indicates the playback position is visible during a playback session.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't display the position line during playback
|
True
|
1
|
Displays the position line during playback
|
|
fVerticalZoomFactor
|
Factor applied to vertical zooming operations. can assume values ranging from 0.5 to 5.
- Values smaller than 1 will vertically zoom-out the waveform, reducing its vertical size
- Value 1 will display the waveform without zooming
- Values higher than 1 will vertically zoom-in the waveform, increasing its vertical size
|
colorVolumeLevelLine
|
Color used for rendering horizontal lines related to the volume level (see Picture C above). If you don't want to display volume level lines you simply need to set this color to -1.
|
colorTimeLine
|
Color used for rendering vertical lines related to time (see Picture C above). If you don't want to display time lines you simply need to set this color to -1.
|
bUseHalfColorsForPeaks
|
Boolean value that determines if waveform peaks will have a half intensity color.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Doesn't use half color for peaks
|
True (default)
|
1
|
Uses half color for peaks
|
|
nScaleType
|
Scale mode used for vertical rulers.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
SCALE_LINEAR
|
0
|
The scale is displayed in linear values:
- for sound having 16 bits per sample the scale is from 32767 to -32768: the value 0 means that the sound level is totally silent.
- for sound having 8 bits per sample the scale is from 0 to 255: the value 127 means that the sound level is totally silent.
|
SCALE_LOG
|
1
|
The scale is displayed in dB
|
|
bInvalidateAll
|
Boolean value that determines if we need to invalidate the whole surface of the control or only the waveform area when performing actions with the mouse.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
False
|
0
|
Invalidates the waveform area only
|
True (default)
|
1
|
Invalidates the whole surface
|
|
|