Copyright © 2006-2023 MultiMedia Soft

How to use embedded Visual Feedbacks

Previous pageReturn to chapter overviewNext page

This version of the control comes with four embedded Visual Feedbacks, internally implemented as COM objects: this object oriented approach allows to access each of the Visual Feedbacks as a control's property. The available feedbacks are the following:

 

VU-Meter

Spectrum

Oscilloscope

Waveform display

 

These Visual Feedbacks, through the call to the respective Create methods, need to be associated to an existing window that will be used as a surface for the graphic rendering; for this purpose we suggest the use of a PictureBox control with "Flat" appearance.

 

 

IMPORTANT NOTE: Visual feedbacks are not available when the recording session is performed through a queue (StartFromQueueRaw method) or through an Internet URL (StartFromUrl or StartFromYoutube methods).

 

 

 

VU-Meter

 

Implemented through the VUMeter object and accessible through the VUMeter property, must be created through a call to the VUMeter.Create method and can be shown/hidden at any time through the VUMeter.Show method. This object exposes the following properties that allow the customisation of the graphic rendering:

 

BandType: determines if the VU Meter will be a mix of the Left and Right channel or if each channel will have a dedicated "band" (default).

HasPeaks: determines the "peaks" visibility.

ColorBands: determines the "bands" color.

ColorPeaks: determines the "peaks" color.

ColorBackground: determines the color of the background area.

ZoomPerc: determines the height zoom percentage of bands.

SetBackPictureFromFile: sets a background picture obtained from a BMP file

SetBackPictureFromHandle: sets a background picture obtained from a bitmap handle

 

below you can see a sample of the embedded VU-Meter:

 

asrec_i000030

 

If you shouldn't like the graphic representation of the embedded VU-Meter, note that you can implement your own VU-Meter graphics, driven by the values received through the VUMeterValueChange event.

 

 

Spectrum

 

Implemented through the Spectrum object and accessible through the Spectrum property, must be created through a call to the Spectrum.Create method and can be shown/hidden at any time through the Spectrum.Show method.

 

 

IMPORTANT NOTE: By default the spectrum analyzer will analyze the sound incoming from input channels without keeping count of eventual filters, equalizer or custom DSP effects applied to the incoming audio stream. The spectrum analyzer can keep count of these effects through the EffectsOnSpectrumEnable method.

 

 

This object exposes the following properties that allow the customization of the graphic rendering:

 

BandWidth: determines the width in screen pixels of the "bands".

HasPeaks: determines the "peaks" visibility.

ColorBands: determines the "bands" color.

ColorPeaks: determines the "peaks" color.

ColorBackground: determines the color of the background area.

ZoomPerc: determines the height zoom percentage of bands.

SetBackPictureFromFile: sets a background picture obtained from a BMP file

SetBackPictureFromHandle: sets a background picture obtained from a bitmap handle

 

below you can see a sample of the embedded Spectrum and, on the right, a zoomed detail of the Spectrum "bands":

 

asrec_i000031   asrec_i000032

 

If you shouldn't like the graphic representation of the embedded Spectrum, note that you can implement your own Spectrum graphics, driven by the values obtained through the Spectrum.GetTable method which can be called after receiving the SpectrumValueChange event.

 

A graphically enhanced version of the spectrum analyzer can be obtained by leveraging the SpectrumEnh object: see the related tutorial for details.

 

 

 

Oscilloscope

 

Implemented through the Oscilloscope object and accessible through the Oscilloscope property, must be created through a call to the Oscilloscope.Create method and can be shown/hidden at any time through the Oscilloscope.Show method. This object exposes the following properties that allow the customisation of the graphic rendering:

 

LineWidth: determines the "line" color.

ColorLine: determines the "line" color.

ColorBackground: determines the color of the background area.

Type: determines the type of drawing used to render the line.

ZoomPerc: determines the height zoom percentage of the line.

SetBackPictureFromFile: sets a background picture obtained from a BMP file

SetBackPictureFromHandle: sets a background picture obtained from a bitmap handle

 

 

below you can see a sample of the embedded Oscilloscope:

 

asrec_i000033

 

 

Waveform display

 

Implemented through the Waveform object and accessible through the Waveform property, must be created through a call to the Waveform.Create method and can be shown/hidden at any time through the Waveform.Show method. This object exposes the following properties that allow the customisation of the graphic rendering:

 

Resolution: determines how frequently vertical lines are drawn on the screen (by default every 30 milliseconds).

ColorLine: determines the "lines" color.

ColorBackground: determines the color of the background area.

ZoomPerc: determines the zoom percentage of the lines drawn.

SetBackPictureFromFile: sets a background picture obtained from a BMP file

SetBackPictureFromHandle: sets a background picture obtained from a bitmap handle

 

below you can see a sample of the embedded Waveform display:

 

asrec_i000034