Table of Contents

Class WavPackEncoderPage

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

Configuration page for the WavPack audio encoder.

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

Inheritance

Implements

Inherited Members

Remarks

WavPack is an open-source lossless and lossy audio compression format that provides excellent compression ratios while maintaining perfect audio fidelity in lossless mode. It was designed to offer both lossless and lossy compression in a single format with seamless transitions.

Key features of WavPack: - Hybrid mode: Creates both lossless and lossy files simultaneously - Lossless compression: 30-70% size reduction with perfect reconstruction - Lossy compression: Additional size reduction when needed - Support for high-resolution audio (up to 32-bit, 192 kHz) - Fast encoding and decoding - Error detection and limited error recovery - Streaming support - Completely open and royalty-free

Compression modes: - Fast: Fastest encoding, slightly larger files (~40-50% compression) - Normal: Balanced speed and compression (~45-55% compression) - High: Better compression, slower encoding (~50-60% compression) - VeryHigh: Maximum compression, slowest encoding (~55-65% compression)

Common use cases: - Audio archival and preservation - High-resolution audio distribution - Professional audio production - Hybrid delivery (lossless + lossy versions) - Streaming lossless audio

WavPack excels at compressing high-resolution audio and provides unique hybrid functionality not found in other lossless formats like FLAC or ALAC.

Constructors

WavPackEncoderPage()

Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.WavPackEncoderPage class. Sets up the UI components and populates compression mode options.

public WavPackEncoderPage()

Properties

Mode

Gets or sets the WavPack compression mode.

public WavPackEncoderMode Mode { get; set; }

Property Value

WavPackEncoderMode

ModeStr

Gets or sets the mode (as string).

public string ModeStr { get; set; }

Property Value

string

Modes

Gets or sets the mode list.

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

Property Value

ObservableCollection<string>

Methods

Fill(ref WavPackEncoderSettings)

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

public void Fill(ref WavPackEncoderSettings settings)

Parameters

settings WavPackEncoderSettings

The settings object to populate with the selected compression mode.

GetPageType()

Gets the encoder settings type associated with this configuration page.

public Type GetPageType()

Returns

Type

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

Init(WavPackEncoderSettings)

Initializes the encoder page with existing settings.

public void Init(WavPackEncoderSettings settings)

Parameters

settings WavPackEncoderSettings

The WavPack 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