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:
- Call Start() to begin spectrum analysis
- Feed FFT results via Update(Complex[] fftResults)
- Call Stop() to pause analysis
- 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:
- Set MinDb, MaxDb, and Orientation properties
- Call Start() to begin level monitoring
- Update Amplitude property with current level
- Call Update() to refresh the display
- 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:
- Call Start() to begin waveform painting
- Feed audio samples via AddValue(float maxValue, float minValue)
- Call Stop() to pause painting
- Call Clear() to reset the display
Thread safety: All methods should be called from the UI thread as this control manipulates WPF visual elements.