Table of Contents

Class WAVEncoderPage

Namespace
VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages
Assembly
VisioForge.Core.dll

Configuration page for WAV (Waveform Audio File Format) encoder settings.

public class WAVEncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnector

Inheritance

Implements

Inherited Members

Remarks

WAV is an uncompressed audio format developed by Microsoft and IBM. It stores audio data in raw PCM (Pulse Code Modulation) format, providing perfect quality reproduction at the cost of large file sizes. WAV files are the standard for professional audio production.

Key features of WAV format: - Uncompressed audio with no quality loss - Support for various bit depths (8, 16, 24, 32-bit) - Multiple sample formats (integer and floating-point) - Industry standard for audio editing and mastering - Universal compatibility across all platforms - Metadata support through INFO and BWF chunks

Common audio formats: - S16LE: 16-bit signed integer, little-endian (CD quality standard) - S24LE: 24-bit signed integer (professional audio) - S32LE: 32-bit signed integer (high-end audio) - F32LE: 32-bit floating-point (audio processing) - U8: 8-bit unsigned (legacy/low quality)

Use cases: - Professional audio recording and editing - Audio mastering and archival - Intermediate format in production workflows - High-quality audio playback - Audio analysis and processing

File size calculation: Size = Sample Rate × Bit Depth × Channels × Duration Example: 44.1kHz × 16-bit × 2ch × 60s = ~10MB per minute

Constructors

WAVEncoderPage()

Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.WAVEncoderPage class. Sets up the UI components and populates the list of available audio formats.

public WAVEncoderPage()

Properties

Format

Gets or sets the audio sample format for WAV encoding.

public AudioFormatX Format { get; set; }

Property Value

AudioFormatX

FormatStr

Gets or sets the format (as string).

public string FormatStr { get; set; }

Property Value

string

Formats

Gets or sets the format list.

public ObservableCollection<string> Formats { get; set; }

Property Value

ObservableCollection<string>

Methods

Fill(ref WAVEncoderSettings)

Fills the provided settings object with values from the UI controls.

public void Fill(ref WAVEncoderSettings settings)

Parameters

settings WAVEncoderSettings

The settings object to populate with the selected audio format.

GetPageType()

Gets the encoder settings type associated with this configuration page.

public Type GetPageType()

Returns

Type

The VisioForge.Core.Types.X.AudioEncoders.WAVEncoderSettings type.

Init(WAVEncoderSettings)

Initializes the encoder page with existing settings.

public void Init(WAVEncoderSettings settings)

Parameters

settings WAVEncoderSettings

The WAV encoder settings to load into the UI.

InitializeComponent()

InitializeComponent

public void InitializeComponent()

OnPropertyChanged(string)

OnPropertyChanged API.

protected virtual void OnPropertyChanged(string propertyName = null)

Parameters

propertyName string

Property name.

SetProperty<T>(ref T, T, string)

Sets the property.

protected bool SetProperty<T>(ref T field, T newValue, string propertyName = null)

Parameters

field T

The field.

newValue T

The new value.

propertyName string

Name of the property.

Returns

bool

true if successful, false otherwise.

Type Parameters

T

T.

PropertyChanged

Property changed event.

public event PropertyChangedEventHandler PropertyChanged

Event Type

PropertyChangedEventHandler