mirror of
https://github.com/SourMesen/Mesen2.git
synced 2025-04-02 10:21:44 -04:00
217 lines
9.1 KiB
XML
217 lines
9.1 KiB
XML
<UserControl
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:vm="using:Mesen.ViewModels"
|
|
xmlns:l="using:Mesen.Localization"
|
|
xmlns:c="using:Mesen.Controls"
|
|
xmlns:cfg="using:Mesen.Config"
|
|
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
x:Name="root"
|
|
x:DataType="vm:AudioConfigViewModel"
|
|
x:Class="Mesen.Views.AudioConfigView"
|
|
>
|
|
<Design.DataContext>
|
|
<vm:AudioConfigViewModel />
|
|
</Design.DataContext>
|
|
|
|
<UserControl.Styles>
|
|
<Style Selector="c|MesenSlider.Equalizer">
|
|
<Setter Property="Height" Value="190" />
|
|
<Setter Property="Width" Value="45" />
|
|
<Setter Property="Minimum" Value="-20" />
|
|
<Setter Property="Maximum" Value="20" />
|
|
<Setter Property="Orientation" Value="Vertical" />
|
|
<Setter Property="IsEnabled" Value="{Binding Config.EnableEqualizer}" />
|
|
</Style>
|
|
</UserControl.Styles>
|
|
|
|
<TabControl TabStripPlacement="Top" SelectedIndex="0">
|
|
<TabItem Header="{l:Translate tpgGeneral}">
|
|
<ScrollViewer AllowAutoHide="False" HorizontalScrollBarVisibility="Auto" Padding="0 0 2 0">
|
|
<StackPanel>
|
|
<c:SystemSpecificSettings ConfigType="Audio" />
|
|
|
|
<c:OptionSection Header="{l:Translate tpgGeneral}">
|
|
<CheckBox Content="{l:Translate chkEnableAudio}" IsChecked="{Binding Config.EnableAudio}" />
|
|
|
|
<Grid ColumnDefinitions="Auto,*" RowDefinitions="Auto,Auto,Auto,Auto">
|
|
<TextBlock Grid.Row="0" Grid.Column="0" Text="{l:Translate lblAudioDevice}" />
|
|
<ComboBox
|
|
Name="AudioDevice"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
ItemsSource="{Binding AudioDevices}"
|
|
SelectedItem="{Binding Config.AudioDevice}"
|
|
Width="200"
|
|
/>
|
|
|
|
<TextBlock Grid.Row="1" Grid.Column="0" Text="{l:Translate lblSampleRate}" />
|
|
<c:EnumComboBox
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
SelectedItem="{Binding Config.SampleRate}"
|
|
HorizontalAlignment="Left"
|
|
Width="100"
|
|
/>
|
|
|
|
<TextBlock Grid.Row="2" Grid.Column="0" Text="{l:Translate lblAudioLatency}" />
|
|
<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal">
|
|
<c:MesenNumericUpDown
|
|
Minimum="15"
|
|
Maximum="300"
|
|
Value="{Binding Config.AudioLatency}"
|
|
/>
|
|
<TextBlock Text="{l:Translate lblLatencyMs}" VerticalAlignment="Center" Margin="5" />
|
|
<TextBlock
|
|
Text="{l:Translate lblLatencyWarning}"
|
|
IsVisible="{Binding ShowLatencyWarning}"
|
|
Foreground="{DynamicResource ErrorBrush}"
|
|
VerticalAlignment="Center"
|
|
Margin="5"
|
|
/>
|
|
</StackPanel>
|
|
|
|
<TextBlock Grid.Row="3" Grid.Column="0" Text="{l:Translate lblVolume}" Margin="0 -8 0 0" />
|
|
<c:MesenSlider
|
|
Margin="0 -8 0 0"
|
|
Grid.Row="3"
|
|
Grid.Column="1"
|
|
Minimum="0"
|
|
Maximum="100"
|
|
Width="150"
|
|
Value="{Binding Config.MasterVolume}"
|
|
HorizontalAlignment="Left"
|
|
/>
|
|
</Grid>
|
|
</c:OptionSection>
|
|
|
|
<c:OptionSection Header="{l:Translate lblVolumeReductionSettings}" Margin="0 10 0 0">
|
|
<CheckBox Content="{l:Translate chkMuteSoundInBackground}" IsChecked="{Binding Config.MuteSoundInBackground}" />
|
|
<CheckBox Content="{l:Translate chkReduceSoundInBackground}" IsChecked="{Binding Config.ReduceSoundInBackground}" />
|
|
<CheckBox Content="{l:Translate chkReduceSoundInFastForward}" IsChecked="{Binding Config.ReduceSoundInFastForward}" />
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock VerticalAlignment="Center" Margin="0 -8 10 0" Text="{l:Translate lblVolumeReduction}" />
|
|
<c:MesenSlider
|
|
Margin="0 -8 0 0"
|
|
Minimum="0"
|
|
Maximum="100"
|
|
Width="150"
|
|
Value="{Binding Config.VolumeReduction}"
|
|
HorizontalAlignment="Left"
|
|
/>
|
|
</StackPanel>
|
|
</c:OptionSection>
|
|
|
|
<c:OptionSection Header="{l:Translate lblAudioPlayerSettings}" Margin="0 8 0 0">
|
|
<TextBlock Text="{l:Translate lblAudioPlayerHint}" />
|
|
<StackPanel Margin="10 5 0 0">
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox IsChecked="{Binding Config.AudioPlayerAutoDetectSilence}" Content="{l:Translate chkAudioPlayerAutoDetectSilence}" />
|
|
<c:MesenNumericUpDown Margin="5 1" Maximum="999999" Value="{Binding Config.AudioPlayerSilenceDelay}" IsEnabled="{Binding Config.AudioPlayerAutoDetectSilence}" />
|
|
<TextBlock Text="{l:Translate lblMillisecondsOfSilence}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox IsChecked="{Binding Config.AudioPlayerEnableTrackLength}" Content="{l:Translate chkAudioPlayerEnableTrackLength}" />
|
|
<c:MesenNumericUpDown Margin="5 1" Maximum="9999" Value="{Binding Config.AudioPlayerTrackLength}" IsEnabled="{Binding Config.AudioPlayerEnableTrackLength}" />
|
|
<TextBlock Text="{l:Translate lblSeconds}" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</c:OptionSection>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
|
|
<TabItem Header="{l:Translate tpgEqualizer}">
|
|
<ScrollViewer AllowAutoHide="False" HorizontalScrollBarVisibility="Auto" Padding="0 0 2 0">
|
|
<c:GroupBox>
|
|
<c:GroupBox.Header>
|
|
<CheckBox Content="{l:Translate chkEnableEqualizer}" IsChecked="{Binding Config.EnableEqualizer}" Margin="0 -3 0 0" />
|
|
</c:GroupBox.Header>
|
|
<StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<c:MesenSlider Classes="Equalizer" Text="40 Hz" Value="{Binding Config.Band1Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="56 Hz" Value="{Binding Config.Band2Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="80 Hz" Value="{Binding Config.Band3Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="113 Hz" Value="{Binding Config.Band4Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="160 Hz" Value="{Binding Config.Band5Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="225 Hz" Value="{Binding Config.Band6Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="320 Hz" Value="{Binding Config.Band7Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="450 Hz" Value="{Binding Config.Band8Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="600 Hz" Value="{Binding Config.Band9Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="750 Hz" Value="{Binding Config.Band10Gain}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
|
|
<c:MesenSlider Classes="Equalizer" Text="1.0 kHz" Value="{Binding Config.Band11Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="2.0 kHz" Value="{Binding Config.Band12Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="3.0 kHz" Value="{Binding Config.Band13Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="4.0 kHz" Value="{Binding Config.Band14Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="5.0 kHz" Value="{Binding Config.Band15Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="6.0 kHz" Value="{Binding Config.Band16Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="7.0 kHz" Value="{Binding Config.Band17Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="10.0 kHz" Value="{Binding Config.Band18Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="12.5 kHz" Value="{Binding Config.Band19Gain}" />
|
|
<c:MesenSlider Classes="Equalizer" Text="15.0 kHz" Value="{Binding Config.Band20Gain}" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</c:GroupBox>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
|
|
<TabItem Header="{l:Translate tpgAdvanced}">
|
|
<ScrollViewer AllowAutoHide="False" HorizontalScrollBarVisibility="Auto" Padding="0 0 2 0">
|
|
<StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<CheckBox
|
|
IsChecked="{Binding Config.CrossFeedEnabled}"
|
|
Content="{l:Translate chkCrossFeedEnabled}"
|
|
/>
|
|
<c:MesenNumericUpDown
|
|
IsEnabled="{Binding Config.CrossFeedEnabled}"
|
|
Margin="10 0 5 0"
|
|
Minimum="0"
|
|
Maximum="100"
|
|
Value="{Binding Config.CrossFeedRatio}"
|
|
/>
|
|
<TextBlock>%</TextBlock>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Vertical" Margin="0 1">
|
|
<CheckBox
|
|
IsChecked="{Binding Config.ReverbEnabled}"
|
|
Content="{l:Translate chkReverbEnabled}"
|
|
/>
|
|
<Grid Margin="25 0 0 0" ColumnDefinitions="Auto, Auto" RowDefinitions="Auto, Auto">
|
|
<TextBlock Text="{l:Translate lblStrength}" />
|
|
<c:MesenNumericUpDown
|
|
Grid.Column="1"
|
|
IsEnabled="{Binding Config.ReverbEnabled}"
|
|
Margin="10 0 5 2"
|
|
Minimum="0"
|
|
Maximum="10"
|
|
Value="{Binding Config.ReverbStrength}"
|
|
/>
|
|
<TextBlock
|
|
Grid.Row="1"
|
|
Text="{l:Translate lblDelay}"
|
|
/>
|
|
<c:MesenNumericUpDown
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
IsEnabled="{Binding Config.ReverbEnabled}"
|
|
Margin="10 0 5 0"
|
|
Minimum="0"
|
|
Maximum="30"
|
|
Value="{Binding Config.ReverbDelay}"
|
|
/>
|
|
</Grid>
|
|
</StackPanel>
|
|
<c:CheckBoxWarning Text="{l:Translate chkDisableDynamicSampleRate}" IsChecked="{Binding Config.DisableDynamicSampleRate}" />
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
</TabControl>
|
|
</UserControl>
|