Skip to content
This repository was archived by the owner on Jan 19, 2026. It is now read-only.

Commit d305b44

Browse files
committed
feat(update equalizer)
1 parent 962d9b0 commit d305b44

File tree

5 files changed

+71
-22
lines changed

5 files changed

+71
-22
lines changed

Model/Media/MediaPlayer/MediaPlayer.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class MediaPlayer : IMediaPlayer
1414
private readonly ISettingsManager _settingsManager;
1515
private int _stream;
1616
private BASS_DX8_PARAMEQ _eqPar = new();
17-
private int[] _fx = [0, 1, 2];
17+
private int[] _fx = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
1818

1919
public MediaPlayer(ILogger logger, ISettingsManager settingsManager)
2020
{
@@ -70,9 +70,12 @@ public void Play(Track.Track track)
7070

7171
Bass.BASS_ChannelPlay(_stream, true);
7272
ChangeVolume(_settingsManager.Settings!.Avalonix.Volume);
73-
SetParametersEQ(0, 100, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[0]);
74-
SetParametersEQ(1, 1000, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[1]);
75-
SetParametersEQ(2, 8000, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[2]);
73+
SetParametersEQ(0, 64, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[0]);
74+
SetParametersEQ(1, 125, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[1]);
75+
SetParametersEQ(2, 250, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[2]);
76+
SetParametersEQ(3, 500, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[3]);
77+
SetParametersEQ(4, 1000, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[4]);
78+
SetParametersEQ(5, 4000, _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[5]);
7679
_logger.LogInformation("Now playing {MetadataTrackName}", track.Metadata.TrackName);
7780

7881
PlaybackStateChanged?.Invoke(false);

Model/UserSettings/AvalonixSettingsFiles/EqualizerSettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ namespace Avalonix.Model.UserSettings.AvalonixSettingsFiles;
22

33
public record EqualizerSettings
44
{
5-
public float[] _fxs = new float[3];
5+
public float[] _fxs = new float[6];
66
}

View/MainWindow.axaml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using Avalonix.Services.CommandLineInitializer;
1717
using Avalonix.Services.PlayableManager;
1818
using Avalonix.Services.PlayableManager.PlayboxManager;
19+
using Avalonix.Services.PlayableManager.PlaylistManager;
1920
using Avalonix.Services.SettingsManager;
2021
using Avalonix.Services.WindowManager;
2122
using Avalonix.ViewModel.Main;

View/SettingsWindow/SettingsWindow.axaml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<TextBlock HorizontalAlignment="Center">Music paths</TextBlock>
1616
<StackPanel Orientation="Horizontal">
1717
<ComboBox Name="PathsBox" PlaceholderText="Select the path" IsTextSearchEnabled="True"
18-
HorizontalAlignment="Left" HorizontalContentAlignment="Right" VerticalContentAlignment="Center">
18+
HorizontalAlignment="Left" HorizontalContentAlignment="Right"
19+
VerticalContentAlignment="Center">
1920
</ComboBox>
20-
<TextBox Name="PathToAdd" Watermark="Path"/>
21+
<TextBox Name="PathToAdd" Watermark="Path" />
2122
<StackPanel>
2223
<Button Name="AddPath" Click="AddPath_OnClick">
2324
<TextBlock Text="Add path" />
@@ -26,7 +27,7 @@
2627
<TextBlock Text="Remove selectedPath" />
2728
</Button>
2829
</StackPanel>
29-
30+
3031
</StackPanel>
3132
</StackPanel>
3233
</TabItem>
@@ -46,15 +47,24 @@
4647
<TabItem Header="Sound">
4748
<ScrollViewer Height="300">
4849
<Border Classes="Panel">
49-
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" Height="100">
50+
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Height="125">
5051
<Slider Name="Equalizer1" ValueChanged="EqualizerFx1_OnValueChanged" Minimum="-15"
51-
Maximum="15" Orientation="Horizontal" Width="300">
52+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
5253
</Slider>
5354
<Slider Name="Equalizer2" ValueChanged="EqualizerFx2_OnValueChanged" Minimum="-15"
54-
Maximum="15" Orientation="Horizontal" Width="300">
55+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
5556
</Slider>
5657
<Slider Name="Equalizer3" ValueChanged="EqualizerFx3_OnValueChanged" Minimum="-15"
57-
Maximum="15" Orientation="Horizontal" Width="300">
58+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
59+
</Slider>
60+
<Slider Name="Equalizer4" ValueChanged="EqualizerFx4_OnValueChanged" Minimum="-15"
61+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
62+
</Slider>
63+
<Slider Name="Equalizer5" ValueChanged="EqualizerFx5_OnValueChanged" Minimum="-15"
64+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
65+
</Slider>
66+
<Slider Name="Equalizer6" ValueChanged="EqualizerFx6_OnValueChanged" Minimum="-15"
67+
Maximum="15" Orientation="Vertical" Height="200" Width="50">
5868
</Slider>
5969
<Button Click="EqualizersReset_OnClick" Width="100">
6070
<TextBlock Text="Reset"></TextBlock>

View/SettingsWindow/SettingsWindow.axaml.cs

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public SettingsWindow(ISettingsWindowViewModel vm, ISettingsManager settingsMana
4141

4242
LoadMusicPaths();
4343
LoadAutoCover();
44+
LoadEqualizer();
4445
}
4546

4647
protected override void OnClosed(EventArgs e)
@@ -74,13 +75,13 @@ private void LoadMusicPaths()
7475
foreach (var musicFilePath in _settings.Avalonix.MusicFilesPaths)
7576
PathsBox.Items.Add(musicFilePath);
7677
}
77-
78+
7879
private void AddPath_OnClick(object? sender, RoutedEventArgs e)
7980
{
80-
if(Directory.Exists(PathToAdd.Text) && !PathsBox.Items.Contains(PathToAdd.Text))
81+
if (Directory.Exists(PathToAdd.Text) && !PathsBox.Items.Contains(PathToAdd.Text))
8182
PathsBox.Items.Add(PathToAdd.Text);
8283
}
83-
84+
8485
private void RemoveSelectedPath_OnClick(object? sender, RoutedEventArgs e)
8586
{
8687
PathsBox.Items.Remove(PathsBox.SelectedItem);
@@ -104,37 +105,71 @@ private void LoadAutoCover()
104105
});
105106
}
106107

108+
private void LoadEqualizer()
109+
{
110+
Equalizer1.Value = _settingsManager.Settings!.Avalonix.EqualizerSettings._fxs[0];
111+
Equalizer2.Value = _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[1];
112+
Equalizer3.Value = _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[2];
113+
Equalizer4.Value = _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[3];
114+
Equalizer5.Value = _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[4];
115+
Equalizer6.Value = _settingsManager.Settings.Avalonix.EqualizerSettings._fxs[5];
116+
}
117+
107118
private void EqualizerFx1_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
108119
{
109120
_settings.Avalonix.EqualizerSettings._fxs[0] = (float)e.NewValue;
110-
_mediaPlayer.SetParametersEQ(0, 100, (float)e.NewValue);
121+
_mediaPlayer.SetParametersEQ(0, 64, (float)e.NewValue);
111122
}
112123

113124
private void EqualizerFx2_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
114125
{
115126
_settings.Avalonix.EqualizerSettings._fxs[1] = (float)e.NewValue;
116-
_mediaPlayer.SetParametersEQ(1, 1000, (float)e.NewValue);
127+
_mediaPlayer.SetParametersEQ(1, 125, (float)e.NewValue);
117128
}
118129

119130
private void EqualizerFx3_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
120131
{
121132
_settings.Avalonix.EqualizerSettings._fxs[2] = (float)e.NewValue;
122-
_mediaPlayer.SetParametersEQ(2, 8000, (float)e.NewValue);
133+
_mediaPlayer.SetParametersEQ(2, 250, (float)e.NewValue);
134+
}
135+
136+
private void EqualizerFx4_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
137+
{
138+
_settings.Avalonix.EqualizerSettings._fxs[3] = (float)e.NewValue;
139+
_mediaPlayer.SetParametersEQ(3, 500, (float)e.NewValue);
140+
}
141+
142+
private void EqualizerFx5_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
143+
{
144+
_settings.Avalonix.EqualizerSettings._fxs[4] = (float)e.NewValue;
145+
_mediaPlayer.SetParametersEQ(4, 1000, (float)e.NewValue);
146+
}
147+
148+
private void EqualizerFx6_OnValueChanged(object? sender, RangeBaseValueChangedEventArgs e)
149+
{
150+
_settings.Avalonix.EqualizerSettings._fxs[5] = (float)e.NewValue;
151+
_mediaPlayer.SetParametersEQ(5, 4000, (float)e.NewValue);
123152
}
124153

125154
private void EqualizersReset_OnClick(object? sender, RoutedEventArgs e)
126155
{
127-
for (int i = 0; i < 2; i++)
156+
for (int i = 0; i < 5; i++)
128157
{
129158
_settings.Avalonix.EqualizerSettings._fxs[i] = 0;
130159
}
131160

132-
_mediaPlayer.SetParametersEQ(0, 100, 0);
133-
_mediaPlayer.SetParametersEQ(1, 1000, 0);
134-
_mediaPlayer.SetParametersEQ(2, 8000, 0);
161+
_mediaPlayer.SetParametersEQ(0, 64, 0);
162+
_mediaPlayer.SetParametersEQ(1, 125, 0);
163+
_mediaPlayer.SetParametersEQ(2, 250, 0);
164+
_mediaPlayer.SetParametersEQ(3, 500, 0);
165+
_mediaPlayer.SetParametersEQ(4, 1000, 0);
166+
_mediaPlayer.SetParametersEQ(5, 4000, 0);
135167

136168
Equalizer1.Value = 0;
137169
Equalizer2.Value = 0;
138170
Equalizer3.Value = 0;
171+
Equalizer4.Value = 0;
172+
Equalizer5.Value = 0;
173+
Equalizer6.Value = 0;
139174
}
140175
}

0 commit comments

Comments
 (0)