Class WavPackEncoderPage
- Assembly
- VisioForge.Core.dll
Configuration page for the WavPack audio encoder.
public class WavPackEncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnectorInheritance
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
ModeStr
Gets or sets the mode (as string).
public string ModeStr { get; set; }Property Value
Modes
Gets or sets the mode list.
public ObservableCollection<string> Modes { get; set; }Property Value
Methods
Fill(ref WavPackEncoderSettings)
Fills the provided settings object with values from the UI controls.
public void Fill(ref WavPackEncoderSettings settings)Parameters
settingsWavPackEncoderSettings-
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
settingsWavPackEncoderSettings-
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
propertyNamestring-
Property name.
SetProperty<T>(ref T, T, string)
Sets the property.
protected bool SetProperty<T>(ref T field, T newValue, string propertyName = null)Parameters
fieldT-
The field.
newValueT-
The new value.
propertyNamestring-
Name of the property.
Returns
- bool
-
trueif successful,falseotherwise.
Type Parameters
T-
T.
PropertyChanged
Property changed event.
public event PropertyChangedEventHandler PropertyChanged