Skip to content
This repository has been archived by the owner on Feb 15, 2025. It is now read-only.

Commit

Permalink
Merge pull request #61 from LingFeng-bbben/wave_rework
Browse files Browse the repository at this point in the history
Re-implement the timeline bar to fit software rendering image size limit.
  • Loading branch information
LingFeng-bbben authored Mar 26, 2023
2 parents b8d9c31 + f5c1a37 commit fa3cd40
Show file tree
Hide file tree
Showing 5 changed files with 366 additions and 302 deletions.
3 changes: 1 addition & 2 deletions MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>

<Image x:Name="MusicWave" Stretch="Fill" Height="74" VerticalAlignment="Bottom" Margin="0,0,-521,0" MouseWheel="MusicWave_MouseWheel" PreviewMouseLeftButtonDown="MusicWave_PreviewMouseLeftButtonDown" MouseMove="MusicWave_MouseMove" Grid.Column="1" HorizontalAlignment="Left" Width="877"/>
<Image x:Name="MusicWaveCusor" Stretch="Fill" Height="74" VerticalAlignment="Bottom" Margin="0,0,-521,0" MouseWheel="MusicWave_MouseWheel" PreviewMouseLeftButtonDown="MusicWave_PreviewMouseLeftButtonDown" MouseMove="MusicWave_MouseMove" Grid.Column="1" HorizontalAlignment="Left" Width="877" Opacity="0.815"/>
<Image x:Name="MusicWave" Height="74" VerticalAlignment="Bottom" MouseWheel="MusicWave_MouseWheel" PreviewMouseLeftButtonDown="MusicWave_PreviewMouseLeftButtonDown" MouseMove="MusicWave_MouseMove" Grid.ColumnSpan="2" SizeChanged="MusicWave_SizeChanged"/>
<Line StrokeThickness="3" Y2="56" Height="74" VerticalAlignment="Bottom" Stroke="Red" Y1="15" Grid.Column="1" HorizontalAlignment="Left" Width="45"/>

<Menu Height="19" VerticalAlignment="Top" Background="{DynamicResource ButtonsBackground}" Foreground="{DynamicResource ButtonForeground}" Grid.ColumnSpan="2">
Expand Down
31 changes: 21 additions & 10 deletions MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
using System.ComponentModel;
using DiscordRPC.Logging;
using DiscordRPC;
using System.Windows.Media.Media3D;

namespace MajdataEdit
{
Expand Down Expand Up @@ -54,6 +55,7 @@ private void Window_Loaded(object sender, RoutedEventArgs e)

var handle = (new WindowInteropHelper(this)).Handle;
Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_CPSPEAKERS, handle);
InitWave();

ReadSoundEffect();
ReadEditorSetting();
Expand All @@ -64,7 +66,6 @@ private void Window_Loaded(object sender, RoutedEventArgs e)
currentTimeRefreshTimer.Start();
soundEffectTimer.Elapsed += SoundEffectTimer_Elapsed;
visualEffectRefreshTimer.Elapsed += VisualEffectRefreshTimer_Elapsed;
visualEffectRefreshTimer.Start();
waveStopMonitorTimer.Elapsed += WaveStopMonitorTimer_Elapsed;
playbackSpeedHideTimer.Elapsed += PlbHideTimer_Elapsed;

Expand All @@ -75,6 +76,7 @@ private void Window_Loaded(object sender, RoutedEventArgs e)
}



//start the view and wait for boot, then set window pos
private void SetWindowPosTimer_Elapsed(object sender, ElapsedEventArgs e)
{
Expand Down Expand Up @@ -460,7 +462,8 @@ private void FumenContent_SelectionChanged(object sender, RoutedEventArgs e)
}
//Console.WriteLine("SelectionChanged");
SimaiProcess.ClearNoteListPlayedState();
DrawCusor(time);
ghostCusorPositionTime = (float)time;
if(!isPlaying)DrawWave();
}
private void FumenContent_TextChanged(object sender, TextChangedEventArgs e)
{
Expand Down Expand Up @@ -492,42 +495,50 @@ private void FumenContent_OnPreviewKeyDown(object sender, KeyEventArgs e)
#region Wave displayer
private void WaveViewZoomIn_Click(object sender, RoutedEventArgs e)
{
if (zoominPower < 6)
zoominPower += 1;
if (deltatime > 1)
deltatime -= 1;
DrawWave();
FumenContent.Focus();
}
private void WaveViewZoomOut_Click(object sender, RoutedEventArgs e)
{
if (zoominPower > 1)
zoominPower -= 1;
if (deltatime < 10)
deltatime += 1;
DrawWave();
FumenContent.Focus();
}
private void MusicWave_MouseWheel(object sender, MouseWheelEventArgs e)
{
ScrollWave(e.Delta);
ScrollWave(-e.Delta);
}
private void MusicWave_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
//lastMousePointX = e.GetPosition(this).X;
lastMousePointX = e.GetPosition(this).X;
}
private void MusicWave_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
double delta = e.GetPosition(this).X - lastMousePointX;
lastMousePointX = e.GetPosition(this).X;
ScrollWave(delta*zoominPower*4d);
ScrollWave(-delta);
}
lastMousePointX = e.GetPosition(this).X;
}
#endregion

private void MusicWave_SizeChanged(object sender, SizeChangedEventArgs e)
{
InitWave();
DrawWave();
}

#endregion
private void FindClose_MouseDown(object sender, MouseButtonEventArgs e)
{
FindGrid.Visibility = Visibility.Collapsed;
FumenContent.Focus();
}


}
}
Loading

0 comments on commit fa3cd40

Please sign in to comment.