Table of Contents

Class AVENCAACEncoderPage

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

Represents a WPF page for configuring AVENC AAC encoder settings. This page provides UI controls for setting various AAC audio encoding parameters including bitrate, coder mode, and advanced features.

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

Inheritance

Implements

Inherited Members

Constructors

AVENCAACEncoderPage()

Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.AVENCAACEncoderPage class. Sets up the data context and populates the UI control collections with available options.

public AVENCAACEncoderPage()

Properties

Bitrate

Gets or sets the audio bitrate for encoding. Common values include 128, 192, 256, 320 kbps.

public int Bitrate { get; set; }

Property Value

int

Bitrates

Gets or sets the collection of available bitrates for UI selection.

public ObservableCollection<int> Bitrates { get; set; }

Property Value

ObservableCollection<int>

CoderMode

Gets or sets the AAC encoder coder mode. Determines the encoding algorithm used (Fast, ANMR, TwoLoop).

public AVENCAACEncoderCoder CoderMode { get; set; }

Property Value

AVENCAACEncoderCoder

CoderModeStr

Gets or sets the coder mode as a string representation. Used for data binding with UI controls.

public string CoderModeStr { get; set; }

Property Value

string

CoderModes

Gets or sets the collection of available coder modes for UI selection.

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

Property Value

ObservableCollection<string>

ForcePCEs

Gets or sets a value indicating whether to force Program Configuration Elements. PCEs describe the channel configuration in the AAC stream.

public bool ForcePCEs { get; set; }

Property Value

bool

IntensityStereo

Gets or sets a value indicating whether intensity stereo coding is enabled. Intensity stereo combines channels at high frequencies to improve compression.

public bool IntensityStereo { get; set; }

Property Value

bool

LongTermPrediction

Gets or sets a value indicating whether long term prediction is enabled. LTP uses pitch prediction to improve compression of tonal signals.

public bool LongTermPrediction { get; set; }

Property Value

bool

MainPrediction

Gets or sets a value indicating whether main prediction is enabled. Main prediction uses past decoded samples to predict current samples.

public bool MainPrediction { get; set; }

Property Value

bool

PNS

Gets or sets a value indicating whether Perceptual Noise Substitution is enabled. PNS replaces noise-like signals with synthetic noise for better compression.

public bool PNS { get; set; }

Property Value

bool

TNS

Gets or sets a value indicating whether Temporal Noise Shaping is enabled. TNS improves quality by shaping quantization noise in the time domain.

public bool TNS { get; set; }

Property Value

bool

Methods

Fill(ref AVENCAACEncoderSettings)

Fills the provided settings object with current UI values. Exports all encoder parameters from the UI controls to the settings object.

public void Fill(ref AVENCAACEncoderSettings settings)

Parameters

settings AVENCAACEncoderSettings

The AVENC AAC encoder settings object to populate.

GetPageType()

Gets the encoder settings type associated with this page.

public Type GetPageType()

Returns

Type

The type of AVENCAACEncoderSettings.

Init(AVENCAACEncoderSettings)

Initializes the page with existing encoder settings. Loads all encoder parameters from the provided settings object into the UI controls.

public void Init(AVENCAACEncoderSettings settings)

Parameters

settings AVENCAACEncoderSettings

The AVENC AAC encoder settings to load.

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