Table of Contents

Namespace VisioForge.Core.UI.WPF.VolumeMeterPro

Classes

SpectrumAnalyzer

Real-time audio spectrum analyzer control for WPF applications providing frequency domain visualization.

This control displays audio frequency content as a dynamic spectrum graph, converting FFT (Fast Fourier Transform) results into a visual representation of audio frequency distribution over time. It's designed for professional audio applications, music software, and diagnostic tools requiring frequency analysis.

Key features:

  • Real-time FFT visualization with configurable bin resolution
  • Logarithmic frequency scaling for natural audio perception
  • Automatic scaling and normalization for optimal display
  • Performance optimized for real-time audio processing
  • Customizable appearance with professional styling
  • Frame rate limiting to prevent excessive GPU usage

Technical specifications:

  • Supports 512-bin FFT input (from 1024-point FFT)
  • Logarithmic amplitude scaling with -90dB minimum threshold
  • Point reduction for smoother visual representation
  • Automatic X-axis scaling based on control width
  • Yellow polyline visualization on black background

Performance characteristics:

  • Efficient canvas-based rendering using WPF Polyline
  • Frame rate limiting (every 2nd frame) to reduce CPU usage
  • Minimal memory allocation through point reuse
  • Optimized for continuous real-time operation

Usage pattern:

  1. Call Start() to begin spectrum analysis
  2. Feed FFT results via Update(Complex[] fftResults)
  3. Call Stop() to pause analysis
  4. Call Clear() to reset the display

Thread safety: All methods should be called from the UI thread as this control manipulates WPF visual elements.

VolumeMeter

Professional audio volume meter control for WPF applications providing real-time VU-style level indication.

This control displays audio signal levels as a traditional VU meter with customizable appearance, orientation, and dynamic response characteristics. It's designed for audio monitoring applications, mixing consoles, and broadcast equipment requiring accurate level visualization.

Key features:

  • Horizontal and vertical orientation support
  • Configurable decibel range with professional audio standards
  • Real-time level indication with smooth visual response
  • Boost functionality for gain visualization
  • Minimal update interval control for performance optimization
  • Professional gray/green color scheme

Technical specifications:

  • Default range: -60dB to +18dB (professional audio standard)
  • Configurable boost multiplier for gain indication
  • Automatic scaling based on control dimensions
  • Efficient rectangle-based rendering
  • Update rate limiting to prevent excessive redraws

Performance characteristics:

  • Lightweight canvas-based rendering
  • Efficient rectangle reuse to minimize allocations
  • Configurable update intervals for CPU optimization
  • Smooth level transitions with minimal flickering

Usage pattern:

  1. Set MinDb, MaxDb, and Orientation properties
  2. Call Start() to begin level monitoring
  3. Update Amplitude property with current level
  4. Call Update() to refresh the display
  5. Call Stop() to pause monitoring

Thread safety: All methods should be called from the UI thread as this control manipulates WPF visual elements.

VolumeMeterLED

Segmented LED-bar VU meter for WPF. Each segment is independently coloured per its dB position on the scale (green / yellow / red zones) and lit only when the current VisioForge.Core.UI.WPF.VolumeMeterPro.VolumeMeterLED.Amplitude reaches its anchor dB.

WaveformPainter

Professional real-time audio waveform painter control for WPF applications providing time-domain visualization.

This control displays audio waveform data as a continuous oscilloscope-style visualization, showing the time-domain representation of audio signals. It's designed for audio editing applications, monitoring systems, and diagnostic tools requiring waveform analysis.

Key features:

  • Real-time waveform visualization with scrolling display
  • Dual-channel support (top and bottom values for stereo or min/max)
  • Automatic scaling and centering for optimal display
  • Continuous scrolling with wraparound functionality
  • Configurable blank zone for visual separation
  • Professional bisque fill with black outline

Technical specifications:

  • Polygon-based rendering for smooth waveform curves
  • Automatic vertical scaling based on control height
  • Configurable horizontal scaling (default 2 pixels per sample)
  • Blank zone system for visual continuity
  • Center-line reference for zero-crossing indication

Performance characteristics:

  • Efficient polygon point management with reuse
  • Smooth scrolling without flicker
  • Minimal memory allocation through point recycling
  • Optimized for continuous real-time operation

Rendering architecture:

  • Uses WPF Polygon for anti-aliased waveform rendering
  • Maintains dual point arrays for top and bottom envelope
  • Automatic point insertion and position management
  • Responsive layout with size change handling

Usage pattern:

  1. Call Start() to begin waveform painting
  2. Feed audio samples via AddValue(float maxValue, float minValue)
  3. Call Stop() to pause painting
  4. Call Clear() to reset the display

Thread safety: All methods should be called from the UI thread as this control manipulates WPF visual elements.