Table of Contents

Namespace VisioForge.Core.UI.WinForms

Namespaces

VisioForge.Core.UI.WinForms.Dialogs
VisioForge.Core.UI.WinForms.VolumeMeterPro

Classes

PeakMeterCtrl

Professional multi-band audio peak meter control for real-time audio level visualization in WinForms applications.

This highly customizable control provides broadcast-quality audio metering with support for multiple bands, LED-style visualization, and professional color-coded level indication. It implements smooth falloff effects, peak hold functionality, and flexible styling options suitable for audio recording, mixing, and monitoring applications.

Key features:

  • Multi-band metering support (1-1000 bands configurable)
  • LED-style segmented display (1-1000 LEDs per band)
  • Three-zone color coding: Normal (green), Medium (yellow), High (red)
  • Smooth level falloff with configurable speed
  • Peak hold indicators with optional decay
  • Grid visualization for reference levels
  • Horizontal and vertical orientation support
  • Optimized double-buffered rendering
  • Customizable colors and appearance

Technical specifications:

  • Default ranges: Normal (0-60%), Medium (60-80%), High (80-100%)
  • Configurable falloff speed with smooth animation
  • Efficient GDI+ rendering with minimal CPU usage
  • Automatic scaling based on control dimensions
  • Thread-safe level update mechanism

Performance characteristics:

  • Double-buffered rendering to prevent flicker
  • Optimized paint routines for multiple bands
  • Timer-based falloff animation
  • Minimal memory allocation during operation

Common use cases:

  • Audio recording and playback level monitoring
  • Multi-track mixing console interfaces
  • Broadcast audio monitoring systems
  • Live sound reinforcement applications
  • Audio analysis and measurement tools
  • Multi-channel audio processing visualization

Usage pattern:

  1. Set BandsCount and LEDCount for desired resolution
  2. Configure color scheme and ranges
  3. Call Start() to begin metering
  4. Update levels using SetData() method
  5. Call Stop() to pause metering

Thread safety: SetData() and related methods can be called from any thread. Visual updates are automatically marshaled to the UI thread.

VideoView

High-performance video view control for Windows Forms applications providing comprehensive video display capabilities.

This control serves as the primary video rendering component for WinForms applications, supporting multiple rendering modes including hardware-accelerated Direct2D, EVR (Enhanced Video Renderer), and software rendering. It integrates seamlessly with VisioForge media components for video capture, playback, and editing scenarios.

Key features:

  • Multiple rendering modes: Direct2D, EVR, MadVR, and software rendering
  • Hardware acceleration support for GPU decoding and high-resolution video
  • Picture box overlay for picture-in-picture functionality
  • Status overlay system for connection progress and notifications
  • Comprehensive error handling with debug log dialog
  • Mouse event forwarding for interactive video applications
  • Automatic aspect ratio handling and video transformations
  • Integration with MediaPlayer, VideoCapture, and VideoEdit components

Rendering modes:

  • Software: CPU-based rendering using GDI+ (compatible but slower)
  • Direct2D: Hardware-accelerated 2D rendering (recommended for most scenarios)
  • EVR: Windows Enhanced Video Renderer (excellent for video playback)
  • MadVR: High-quality video renderer for advanced video processing

Architecture:

  • Extends System.Windows.Forms.Panel for WinForms integration
  • Implements INotifyPropertyChanged for data binding support
  • Implements IVideoView for VisioForge framework integration
  • Provides event-driven architecture for media pipeline integration

Threading considerations:

  • UI operations must occur on the UI thread
  • Media events are marshaled to the UI thread automatically
  • Supports InvokeRequired pattern for cross-thread calls

Performance characteristics:

  • Hardware-accelerated rendering when available
  • Efficient frame delivery with minimal overhead
  • Automatic resource cleanup and disposal
  • Support for high-resolution video (4K/8K) with hardware acceleration

Common use cases:

  • Live video preview from capture devices
  • Video file playback applications
  • Video editing and processing tools
  • Security and surveillance systems
  • Video conferencing applications
  • Multi-camera monitoring systems

Enums

PeakMeterStyle

Specifies the orientation style for the peak meter control display.