bugfixes, release build 1.5.0.0
This commit is contained in:
parent
c99d8ed910
commit
ae383fd43d
|
@ -6,73 +6,74 @@
|
||||||
xmlns:local="clr-namespace:WinPlaza"
|
xmlns:local="clr-namespace:WinPlaza"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Nightwave.Net" Height="206" Width="480" Background="#FFF0F0F0" ResizeMode="CanMinimize" Deactivated="Window_Deactivated" Activated="Window_Activated" UseLayoutRounding="True" Closing="Window_Closing">
|
Title="Nightwave.Net" Height="206" Width="480" Background="#FFF0F0F0" ResizeMode="CanMinimize" Deactivated="Window_Deactivated" Activated="Window_Activated" UseLayoutRounding="True" Closing="Window_Closing">
|
||||||
<Window.TaskbarItemInfo>
|
<Window.TaskbarItemInfo>
|
||||||
<TaskbarItemInfo>
|
<TaskbarItemInfo>
|
||||||
<TaskbarItemInfo.ThumbButtonInfos>
|
<TaskbarItemInfo.ThumbButtonInfos>
|
||||||
<ThumbButtonInfo x:Name="tbPlayPause" Description="Play/Stop" Click="TbPlayPause_Click" ImageSource="{DynamicResource tbPlayStop}"/>
|
<ThumbButtonInfo x:Name="tbPlayPause" Description="Play/Stop" Click="TbPlayPause_Click" ImageSource="{DynamicResource tbPlayStop}"/>
|
||||||
<ThumbButtonInfo x:Name="tbMute" Description="Mute/Unmute" Click="TbMute_Click" ImageSource="{DynamicResource tbAudible}"/>
|
<ThumbButtonInfo x:Name="tbMute" Description="Mute/Unmute" Click="TbMute_Click" ImageSource="{DynamicResource tbAudible}"/>
|
||||||
</TaskbarItemInfo.ThumbButtonInfos>
|
</TaskbarItemInfo.ThumbButtonInfos>
|
||||||
</TaskbarItemInfo>
|
</TaskbarItemInfo>
|
||||||
</Window.TaskbarItemInfo>
|
</Window.TaskbarItemInfo>
|
||||||
<Grid ClipToBounds="True">
|
<Grid ClipToBounds="True">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition/>
|
<RowDefinition/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="148*"/>
|
<ColumnDefinition Width="148*"/>
|
||||||
<ColumnDefinition Width="163*"/>
|
<ColumnDefinition Width="163*"/>
|
||||||
<ColumnDefinition Width="163*"/>
|
<ColumnDefinition Width="163*"/>
|
||||||
<ColumnDefinition Width="0*"/>
|
<ColumnDefinition Width="0*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Image x:Name="art" Margin="0,0,0,0" Grid.Column="0" Stretch="UniformToFill"/>
|
<Image x:Name="art" Margin="0,0,0,0" Grid.Column="0" Stretch="UniformToFill"/>
|
||||||
<Label x:Name="lbTitle" Content="リサフランク420 / 現代のコンピュ" HorizontalAlignment="Left" Margin="2,6,0,0" VerticalAlignment="Top" FontSize="12" FontWeight="Bold" Grid.ColumnSpan="2" Grid.Column="1"/>
|
<Label x:Name="lbTitle" Content="リサフランク420 / 現代のコンピュ" HorizontalAlignment="Left" Margin="2,6,0,0" VerticalAlignment="Top" FontSize="12" FontWeight="Bold" Grid.ColumnSpan="2" Grid.Column="1"/>
|
||||||
<Label x:Name="lbArtist" Content="MACプラス Macintosh Plus" HorizontalAlignment="Left" Margin="2,28,0,0" VerticalAlignment="Top" FontSize="11" Grid.Column="1"/>
|
<Label x:Name="lbArtist" Content="MACプラス Macintosh Plus" HorizontalAlignment="Left" Margin="2,28,0,0" VerticalAlignment="Top" FontSize="11" Grid.Column="1"/>
|
||||||
<Label x:Name="lbAlbum" Content="フローラルの専門店 Floral Shoppe" HorizontalAlignment="Left" Margin="2,48,0,0" VerticalAlignment="Top" FontStyle="Italic" FontSize="10" Grid.Column="1" Grid.ColumnSpan="2"/>
|
<Label x:Name="lbAlbum" Content="フローラルの専門店 Floral Shoppe" HorizontalAlignment="Left" Margin="2,45,0,0" VerticalAlignment="Top" FontStyle="Italic" FontSize="10" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||||
<Slider x:Name="slDuration" Margin="0,87,0,0" VerticalAlignment="Top" IsEnabled="False" Grid.ColumnSpan="2" Height="18" Grid.Column="1"/>
|
<Slider x:Name="slDuration" Margin="0,87,0,0" VerticalAlignment="Top" IsEnabled="False" Grid.ColumnSpan="2" Height="18" Grid.Column="1"/>
|
||||||
<Label x:Name="lbElapsed" Content="00:00" HorizontalAlignment="Left" Margin="0,99,0,0" VerticalAlignment="Top" FontStyle="Italic" FontSize="9" Grid.Column="1"/>
|
<Label x:Name="lbElapsed" Content="00:00" HorizontalAlignment="Left" Margin="0,99,0,0" VerticalAlignment="Top" FontStyle="Italic" FontSize="9" Grid.Column="1"/>
|
||||||
<Label x:Name="lbTime" Content="00:00" Margin="0,99,0,0" VerticalAlignment="Top" HorizontalAlignment="Right" FontStyle="Italic" FontSize="9" Grid.Column="2"/>
|
<Label x:Name="lbTime" Content="00:00" Margin="0,99,0,0" VerticalAlignment="Top" HorizontalAlignment="Right" FontStyle="Italic" FontSize="9" Grid.Column="2"/>
|
||||||
<Button x:Name="btLike" Content="❤" HorizontalAlignment="Right" Margin="0,40,2,0" Width="20" Height="20" VerticalAlignment="Top" FontSize="9" Grid.Column="2" Click="BtLike_Click"/>
|
<Button x:Name="btLike" Content="❤" ToolTip="Like this track" HorizontalAlignment="Right" Margin="0,40,2,0" Width="22" Height="20" VerticalAlignment="Top" FontSize="10" Grid.Column="2" Click="BtLike_Click"/>
|
||||||
<Button x:Name="btDislike" Content="❌" HorizontalAlignment="Right" Margin="0,64,2,0" Width="20" Height="20" VerticalAlignment="Top" FontSize="9" Grid.Column="2" Click="BtDislike_Click"/>
|
<Button x:Name="btDislike" Content="💔" ToolTip="Dislike this track" HorizontalAlignment="Right" Margin="0,64,2,0" Width="22" Height="20" VerticalAlignment="Top" FontSize="10" Grid.Column="2" Click="BtDislike_Click"/>
|
||||||
<Label x:Name="lbLikeCt" Content="0" HorizontalAlignment="Right" Margin="0,36.5,20,0" VerticalAlignment="Top" Grid.Column="2" Grid.ColumnSpan="2"/>
|
<Label x:Name="lbLikeCt" Content="0" HorizontalAlignment="Right" Margin="0,36.5,22,0" VerticalAlignment="Top" Grid.Column="2" Grid.ColumnSpan="2"/>
|
||||||
<Label x:Name="lbDislikeCt" Content="0" HorizontalAlignment="Right" Margin="0,60.5,20,0" VerticalAlignment="Top" Grid.Column="2" Grid.ColumnSpan="2"/>
|
<Label x:Name="lbDislikeCt" Content="0" HorizontalAlignment="Right" Margin="0,60.5,22,0" VerticalAlignment="Top" Grid.Column="2" Grid.ColumnSpan="2"/>
|
||||||
<Image x:Name="imLogin" Source="{DynamicResource imUsr}" IsHitTestVisible="False" Panel.ZIndex="1" Width="18" Height="18" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,17,18,0" Grid.Column="2"/>
|
<Image x:Name="imLogin" Source="{DynamicResource imUsr}" IsHitTestVisible="False" Panel.ZIndex="1" Width="18" Height="18" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,17,18,0" Grid.Column="2"/>
|
||||||
<Button x:Name="btLogin" Content="" HorizontalAlignment="Right" Margin="0,16,16,0" Width="20" Height="20" VerticalAlignment="Top" FontSize="9" Grid.Column="2" Click="BtLogin_Click"/>
|
<Button x:Name="btLogin" Content="" ToolTip="Log into Nightwave Plaza" HorizontalAlignment="Right" Margin="0,16,16,0" Width="20" Height="20" VerticalAlignment="Top" FontSize="9" Grid.Column="2" Click="BtLogin_Click"/>
|
||||||
<DockPanel Grid.ColumnSpan="5" Margin="0,0,0,0" Grid.Row="1">
|
<DockPanel Grid.ColumnSpan="5" Margin="0,0,0,0" Grid.Row="1">
|
||||||
<StatusBar x:Name="statusBar" Margin="0,0,0,-2" DockPanel.Dock="Bottom" VerticalAlignment="Bottom" BorderBrush="#FFDFDFDF" BorderThickness="1" Height="28" VerticalContentAlignment="Bottom">
|
<StatusBar x:Name="statusBar" Margin="0,0,0,-2" DockPanel.Dock="Bottom" VerticalAlignment="Bottom" BorderBrush="#FFDFDFDF" BorderThickness="1" Height="28" VerticalContentAlignment="Bottom">
|
||||||
<StatusBarItem HorizontalAlignment="Left">
|
<StatusBarItem HorizontalAlignment="Left">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock x:Name="sbListeners" Text="420 listeners" Margin="4,0,4,0"/>
|
<TextBlock x:Name="sbListeners" Text="420 listeners" Margin="4,0,4,0"/>
|
||||||
<ToggleButton x:Name="btPlayPause" Content="⏯" VerticalContentAlignment="Center" Checked="BtPlayPause_Click" Unchecked="BtPlayPause_Click" Margin="0,-2,4,-2"/>
|
<ToggleButton x:Name="btPlayPause" Content="⏯" ToolTip="Start/Stop playback" VerticalContentAlignment="Center" Checked="BtPlayPause_Click" Unchecked="BtPlayPause_Click" Margin="0,-2,4,-2"/>
|
||||||
<TextBlock x:Name="sbStatus" Text="Idle.."/>
|
<TextBlock x:Name="sbStatus" Text="Idle.."/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StatusBarItem>
|
</StatusBarItem>
|
||||||
<StatusBarItem HorizontalAlignment="Right">
|
<StatusBarItem HorizontalAlignment="Right">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock x:Name="sbListeningTimers" Text="00:00 (00:00)" Visibility="Hidden"/>
|
<!--TODO implement tracking of time spent listening (this session and all-time)
|
||||||
<ToggleButton x:Name="sbOnTop" Content="📌" Checked="SbOnTop_Click" Margin="0,-2,4,-2"/>
|
<TextBlock x:Name="sbListeningTimers" Text="00:00 (00:00)"/>-->
|
||||||
<ToggleButton x:Name="sbMute" Content="🔊" Checked="SbMute_Click" Unchecked="SbMute_Click" Margin="0,-2,0,-2"/>
|
<ToggleButton x:Name="sbOnTop" Content="📌" ToolTip="Toggle always-on-top" Checked="SbOnTop_Click" Margin="0,-2,4,-2"/>
|
||||||
<Separator Width="6" Background="{x:Null}" Foreground="{x:Null}"/>
|
<ToggleButton x:Name="sbMute" Content="🔊" ToolTip="Toggle mute" Checked="SbMute_Click" Unchecked="SbMute_Click" Margin="0,-2,0,-2"/>
|
||||||
<Slider x:Name="sbVol" Maximum="100" Minimum="0" Value="100" SmallChange="1" LargeChange="5" Width="80" ValueChanged="SbVol_ValueChanged" MouseWheel="SbVol_MouseWheel" Margin="0,0,4,0"/>
|
<Separator Width="6" Background="{x:Null}" Foreground="{x:Null}"/>
|
||||||
</StackPanel>
|
<Slider x:Name="sbVol" Maximum="100" Minimum="0" ToolTip="Volume level" Value="100" SmallChange="1" LargeChange="5" Width="80" ValueChanged="SbVol_ValueChanged" MouseWheel="SbVol_MouseWheel" Margin="0,0,4,0"/>
|
||||||
</StatusBarItem>
|
</StackPanel>
|
||||||
</StatusBar>
|
</StatusBarItem>
|
||||||
</DockPanel>
|
</StatusBar>
|
||||||
<Rectangle Height="1" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="0" Margin="0,0,0,10" Fill="#FF003C49" VerticalAlignment="Bottom"/>
|
</DockPanel>
|
||||||
<Rectangle Width="1" Grid.Column="0" Grid.Row="0" Margin="0,0,0,0" Fill="#FFBFBFBF" HorizontalAlignment="Right"/>
|
<Rectangle Height="1" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="0" Margin="0,0,0,10" Fill="#FF003C49" VerticalAlignment="Bottom"/>
|
||||||
<Canvas x:Name="chLeftCvs" Margin="0,0,0,0" Height="10" VerticalAlignment="Bottom" Background="#FFDDDDDD" RenderTransformOrigin="0.5,0.5" Grid.Column="1">
|
<Rectangle Width="1" Grid.Column="0" Grid.Row="0" Margin="0,0,0,0" Fill="#FFBFBFBF" HorizontalAlignment="Right"/>
|
||||||
<Canvas.RenderTransform>
|
<Canvas x:Name="chLeftCvs" Margin="0,0,0,0" Height="10" VerticalAlignment="Bottom" Background="#FFDDDDDD" RenderTransformOrigin="0.5,0.5" Grid.Column="1">
|
||||||
<TransformGroup>
|
<Canvas.RenderTransform>
|
||||||
<ScaleTransform ScaleY="1" ScaleX="-1"/>
|
<TransformGroup>
|
||||||
<SkewTransform AngleY="0" AngleX="0"/>
|
<ScaleTransform ScaleY="1" ScaleX="-1"/>
|
||||||
<RotateTransform Angle="0"/>
|
<SkewTransform AngleY="0" AngleX="0"/>
|
||||||
<TranslateTransform/>
|
<RotateTransform Angle="0"/>
|
||||||
</TransformGroup>
|
<TranslateTransform/>
|
||||||
</Canvas.RenderTransform>
|
</TransformGroup>
|
||||||
<Rectangle x:Name="chLeft" Width="0" Height="10" HorizontalAlignment="Left" Fill="#FF003C49"/>
|
</Canvas.RenderTransform>
|
||||||
</Canvas>
|
<Rectangle x:Name="chLeft" Width="0" Height="10" HorizontalAlignment="Left" Fill="#FF003C49"/>
|
||||||
<Canvas x:Name="chRightCvs" Margin="0,0,0,0" Height="10" VerticalAlignment="Bottom" Background="#FFDDDDDD" Grid.Column="2">
|
</Canvas>
|
||||||
<Rectangle x:Name="chRight" Width="0" Height="10" Fill="#FF003C49"/>
|
<Canvas x:Name="chRightCvs" Margin="0,0,0,0" Height="10" VerticalAlignment="Bottom" Background="#FFDDDDDD" Grid.Column="2">
|
||||||
</Canvas>
|
<Rectangle x:Name="chRight" Width="0" Height="10" Fill="#FF003C49"/>
|
||||||
</Grid>
|
</Canvas>
|
||||||
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace WinPlaza {
|
||||||
private Timer tGfx;
|
private Timer tGfx;
|
||||||
private Timer tLogon;
|
private Timer tLogon;
|
||||||
private bool AudioInit=false;
|
private bool AudioInit=false;
|
||||||
|
private bool LikedCTrack=false;
|
||||||
#endregion
|
#endregion
|
||||||
#region Delegates
|
#region Delegates
|
||||||
private delegate void dgtNoParam();
|
private delegate void dgtNoParam();
|
||||||
|
@ -40,7 +41,7 @@ namespace WinPlaza {
|
||||||
Dispatcher.BeginInvoke(new dgtStr(_Status), msg);
|
Dispatcher.BeginInvoke(new dgtStr(_Status), msg);
|
||||||
private void SetTitle(string msg) =>
|
private void SetTitle(string msg) =>
|
||||||
Dispatcher.BeginInvoke(new dgtStr(_Title), msg);
|
Dispatcher.BeginInvoke(new dgtStr(_Title), msg);
|
||||||
private async void dgtFirstLogin() {
|
private async void DgtStartupLogon() {
|
||||||
Credential c=CredentialManager.ReadCredential("Nightwave.NET");
|
Credential c=CredentialManager.ReadCredential("Nightwave.NET");
|
||||||
if(c is null)
|
if(c is null)
|
||||||
return;
|
return;
|
||||||
|
@ -52,16 +53,14 @@ namespace WinPlaza {
|
||||||
imLogin.Visibility = Visibility.Hidden;
|
imLogin.Visibility = Visibility.Hidden;
|
||||||
SetStatus($"Logged in as {await plaza.GetUser()}");
|
SetStatus($"Logged in as {await plaza.GetUser()}");
|
||||||
}
|
}
|
||||||
private async void dgtRefresh(bool Force = false) {
|
private async void DgtRefresh(bool Force = false) {
|
||||||
Nightwave.Status s=await plaza.Broadcast(Force);
|
Nightwave.Status s=await plaza.Broadcast(Force);
|
||||||
slDuration.Value = s.CalculatedElapsed;
|
slDuration.Value = s.CalculatedElapsed;
|
||||||
sbListeners.Text = $"{s.Listeners} listeners";
|
sbListeners.Text = $"{s.Listeners} listeners";
|
||||||
lbLikeCt.Content = s.Likes;
|
lbLikeCt.Content = s.Likes;
|
||||||
lbDislikeCt.Content = s.Dislikes;
|
lbDislikeCt.Content = s.Dislikes;
|
||||||
lbElapsed.Content = $"{(s.CalculatedElapsed / 60).ToString("D")}:{(s.CalculatedElapsed % 60).ToString("D2")}";
|
lbElapsed.Content = $"{(s.CalculatedElapsed / 60).ToString("D")}:{(s.CalculatedElapsed % 60).ToString("D2")}";
|
||||||
if(LastArtwork != s.ArtworkUri||Force) {
|
if(LastArtwork != s.ArtworkUri || Force) {
|
||||||
if(tGfx.Enabled)
|
|
||||||
SetStatus("Playing");
|
|
||||||
lbArtist.Content = s.Artist;
|
lbArtist.Content = s.Artist;
|
||||||
lbTitle.Content = s.Title;
|
lbTitle.Content = s.Title;
|
||||||
lbAlbum.Content = s.Album;
|
lbAlbum.Content = s.Album;
|
||||||
|
@ -69,17 +68,20 @@ namespace WinPlaza {
|
||||||
SetTitle($"{s.Title} - {s.Artist}");
|
SetTitle($"{s.Title} - {s.Artist}");
|
||||||
slDuration.Maximum = s.Duration;
|
slDuration.Maximum = s.Duration;
|
||||||
lbTime.Content = $"{(s.Duration / 60).ToString("D")}:{(s.Duration % 60).ToString("D2")}";
|
lbTime.Content = $"{(s.Duration / 60).ToString("D")}:{(s.Duration % 60).ToString("D2")}";
|
||||||
if(LastArtwork != s.ArtworkUri)
|
if(LastArtwork != s.ArtworkUri) {
|
||||||
|
if(tGfx.Enabled)
|
||||||
|
SetStatus("Playing");
|
||||||
|
LikedCTrack = false;
|
||||||
art.Source = new BitmapImage(new Uri(s.ArtworkUri));
|
art.Source = new BitmapImage(new Uri(s.ArtworkUri));
|
||||||
LastArtwork = s.ArtworkUri;
|
LastArtwork = s.ArtworkUri;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void dgtAud() {
|
private void DgtAudio() {
|
||||||
long progress = Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.Buffer)
|
long progress = Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.Buffer)
|
||||||
* 100 / Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.End);
|
* 100 / Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.End);
|
||||||
if(progress > 75 || Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.Connected) == 0) {
|
if(progress > 75 || Bass.StreamGetFilePosition(BuffCh, FileStreamPosition.Connected) == 0) {
|
||||||
tAudio.Stop();
|
tAudio.Stop();
|
||||||
//tbPlayPause.ImageSource = (BitmapImage)FindResource("tbPlaying");
|
|
||||||
SetStatus("Playing");
|
SetStatus("Playing");
|
||||||
SetTitle($"{lbTitle.Content} - {lbArtist.Content}");
|
SetTitle($"{lbTitle.Content} - {lbArtist.Content}");
|
||||||
tGfx.Start();
|
tGfx.Start();
|
||||||
|
@ -132,17 +134,17 @@ namespace WinPlaza {
|
||||||
SetTitle("Nightwave.Net");
|
SetTitle("Nightwave.Net");
|
||||||
}
|
}
|
||||||
private void MetaSync(int hdl, int ch, int dat, IntPtr usr) =>
|
private void MetaSync(int hdl, int ch, int dat, IntPtr usr) =>
|
||||||
Dispatcher.BeginInvoke(new dgtBool(dgtRefresh), true);
|
Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), true);
|
||||||
private void StatusProc(IntPtr buf, int len, IntPtr usr) {
|
private void StatusProc(IntPtr buf, int len, IntPtr usr) {
|
||||||
if(buf != IntPtr.Zero && len == 0 && usr.ToInt32() == BufferReqs)
|
if(buf != IntPtr.Zero && len == 0 && usr.ToInt32() == BufferReqs)
|
||||||
SetStatus(Marshal.PtrToStringAnsi(buf));
|
SetStatus(Marshal.PtrToStringAnsi(buf));
|
||||||
}
|
}
|
||||||
private void EvtRefresh(object sender, ElapsedEventArgs e) =>
|
private void EvtRefresh(object sender, ElapsedEventArgs e) =>
|
||||||
Dispatcher.BeginInvoke(new dgtBool(dgtRefresh), false);
|
Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), false);
|
||||||
private async void EvtLogon(object sender, ElapsedEventArgs e) =>
|
private async void EvtLogon(object sender, ElapsedEventArgs e) =>
|
||||||
await Dispatcher.BeginInvoke(new dgtNoParam(dgtFirstLogin));
|
await Dispatcher.BeginInvoke(new dgtNoParam(DgtStartupLogon));
|
||||||
private void EvtAudio(object sender, ElapsedEventArgs e) =>
|
private void EvtAudio(object sender, ElapsedEventArgs e) =>
|
||||||
_ = Dispatcher.BeginInvoke(new dgtNoParam(dgtAud));
|
_ = Dispatcher.BeginInvoke(new dgtNoParam(DgtAudio));
|
||||||
private async void EvtRender(object sender, ElapsedEventArgs e) =>
|
private async void EvtRender(object sender, ElapsedEventArgs e) =>
|
||||||
await Dispatcher.BeginInvoke(new dgtNoParam(Leveller));
|
await Dispatcher.BeginInvoke(new dgtNoParam(Leveller));
|
||||||
private void BtPlayPause_Click(object sender, RoutedEventArgs e) {
|
private void BtPlayPause_Click(object sender, RoutedEventArgs e) {
|
||||||
|
@ -194,18 +196,23 @@ namespace WinPlaza {
|
||||||
imLogin.Visibility = Visibility.Hidden;
|
imLogin.Visibility = Visibility.Hidden;
|
||||||
}
|
}
|
||||||
private async void BtLike_Click(object sender, RoutedEventArgs e) {
|
private async void BtLike_Click(object sender, RoutedEventArgs e) {
|
||||||
if(await plaza.CastVote(Nightwave.Vote.Like))
|
Nightwave.Vote v = Nightwave.Vote.Like;
|
||||||
SetStatus("Song liked!");
|
if(LikedCTrack)
|
||||||
else
|
v = Nightwave.Vote.Favourite;
|
||||||
SetStatus("Something went weird while liking");
|
if(await plaza.CastVote(v)) {
|
||||||
_ = Dispatcher.BeginInvoke(new dgtBool(dgtRefresh), true);
|
SetStatus($"Submitted {v}!");
|
||||||
|
LikedCTrack = true;
|
||||||
|
} else
|
||||||
|
SetStatus($"Something went weird while casting {v}");
|
||||||
|
_ = Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), true);
|
||||||
}
|
}
|
||||||
private async void BtDislike_Click(object sender, RoutedEventArgs e) {
|
private async void BtDislike_Click(object sender, RoutedEventArgs e) {
|
||||||
if(await plaza.CastVote(Nightwave.Vote.Dislike))
|
if(await plaza.CastVote(Nightwave.Vote.Dislike))
|
||||||
SetStatus("Song disliked!");
|
SetStatus("Song disliked!");
|
||||||
else
|
else
|
||||||
SetStatus("Something went weird while disliking");
|
SetStatus("Something went weird while disliking");
|
||||||
_ = Dispatcher.BeginInvoke(new dgtBool(dgtRefresh), true);
|
LikedCTrack = false;
|
||||||
|
_ = Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), true);
|
||||||
}
|
}
|
||||||
private void SbOnTop_Click(object sender, RoutedEventArgs e) {
|
private void SbOnTop_Click(object sender, RoutedEventArgs e) {
|
||||||
Topmost = sbOnTop.IsChecked == true;
|
Topmost = sbOnTop.IsChecked == true;
|
||||||
|
@ -263,6 +270,5 @@ namespace WinPlaza {
|
||||||
private void _Status(string s) => sbStatus.Text = s;
|
private void _Status(string s) => sbStatus.Text = s;
|
||||||
private void _Title(string s) => Title = s;
|
private void _Title(string s) => Title = s;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,8 +31,8 @@
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||||
<WebPage>index.html</WebPage>
|
<WebPage>index.html</WebPage>
|
||||||
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
|
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
|
||||||
<ApplicationRevision>2</ApplicationRevision>
|
<ApplicationRevision>1</ApplicationRevision>
|
||||||
<ApplicationVersion>1.4.0.%2a</ApplicationVersion>
|
<ApplicationVersion>1.5.0.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
|
|
Loading…
Reference in New Issue