From 2a8bfe79b366e360870c573277de49f765679944 Mon Sep 17 00:00:00 2001 From: Corentin LEMAIRE Date: Fri, 9 Jun 2023 19:33:09 +0200 Subject: [PATCH] Add visuals for loop and shuffle options --- Sources/Linaris/FooterPage.xaml | 6 ++-- Sources/Linaris/FooterPage.xaml.cs | 38 +++++++++++++++++++++ Sources/Linaris/LocalFilesPage.xaml.cs | 3 ++ Sources/Linaris/PlaylistPage.xaml.cs | 7 ++-- Sources/Linaris/Resources/Images/loop2.png | Bin 0 -> 16385 bytes Sources/Linaris/Resources/Images/rdm2.png | Bin 0 -> 23164 bytes 6 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 Sources/Linaris/Resources/Images/loop2.png create mode 100644 Sources/Linaris/Resources/Images/rdm2.png diff --git a/Sources/Linaris/FooterPage.xaml b/Sources/Linaris/FooterPage.xaml index 14ba795..ec8f9a3 100644 --- a/Sources/Linaris/FooterPage.xaml +++ b/Sources/Linaris/FooterPage.xaml @@ -15,12 +15,12 @@ - - + + - + diff --git a/Sources/Linaris/FooterPage.xaml.cs b/Sources/Linaris/FooterPage.xaml.cs index e79d555..35ec8da 100644 --- a/Sources/Linaris/FooterPage.xaml.cs +++ b/Sources/Linaris/FooterPage.xaml.cs @@ -32,6 +32,30 @@ public partial class FooterPage : ContentView, INotifyPropertyChanged } } + private string loopImage = "loop.png"; + + public string LoopImage + { + get => loopImage; + set + { + loopImage = value; + OnPropertyChanged(nameof(LoopImage)); + } + } + + private string shuffleImage = "rdm.png"; + + public string ShuffleImage + { + get => shuffleImage; + set + { + shuffleImage = value; + OnPropertyChanged(nameof(ShuffleImage)); + } + } + private double volume = 1; public double Volume @@ -162,11 +186,25 @@ public partial class FooterPage : ContentView, INotifyPropertyChanged public void ShuffleButton_Clicked(object sender, EventArgs e) { Manager.Shuffle(); + if (ShuffleImage == "rdm.png") + { + ShuffleImage = "rdm2.png"; + } else { + ShuffleImage = "rdm.png"; + } } public void LoopButton_Clicked(object sender, EventArgs e) { Manager.Loop(); + if (LoopImage == "loop.png") + { + LoopImage = "loop2.png"; + } + else + { + LoopImage = "loop.png"; + } } public void OnCompleted(object sender, EventArgs e) diff --git a/Sources/Linaris/LocalFilesPage.xaml.cs b/Sources/Linaris/LocalFilesPage.xaml.cs index d955453..5c8ea6c 100644 --- a/Sources/Linaris/LocalFilesPage.xaml.cs +++ b/Sources/Linaris/LocalFilesPage.xaml.cs @@ -265,6 +265,9 @@ public partial class LocalFilesPage : ContentPage } } + + // Others + private void Play(object sender, EventArgs e) { if (sender is Button button && button.BindingContext is CustomTitle customTitle) diff --git a/Sources/Linaris/PlaylistPage.xaml.cs b/Sources/Linaris/PlaylistPage.xaml.cs index 6b60d22..b4fa298 100644 --- a/Sources/Linaris/PlaylistPage.xaml.cs +++ b/Sources/Linaris/PlaylistPage.xaml.cs @@ -69,8 +69,11 @@ public partial class PlaylistPage : ContentPage if (musicElement != null) { if (Manager.CurrentPlaying == null) return; - string encodedFilePath = Manager.CurrentPlaying.Path.Replace(" ", "\\ "); - musicElement.Source = encodedFilePath; + musicElement.Source = Manager.CurrentPlaying.Path; + if (footer is FooterPage footerPage) + { + footerPage.ShuffleImage = "rdm2.png"; + } } } } diff --git a/Sources/Linaris/Resources/Images/loop2.png b/Sources/Linaris/Resources/Images/loop2.png new file mode 100644 index 0000000000000000000000000000000000000000..275c2158e1a5cab4392cc7178e65e480e8ef3ad7 GIT binary patch literal 16385 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

{J2mpo6-O@AW9CEvTK_=i?HnEYe5z^b=B zmFIHazpM?w)n>mF&p&Yq$sJys8=Nrf276$DqkdL<677u#fN(*v74WvYin&aU!h4?+ zYx-UNKpIa2fP`{t=1mVm0fTn0kW2VKdt?EB+Ijk`RFlS5!8wEuEXUrIgncL!h}?0K3%R)UF@O z(Q!D184nja04QYd!Kj|6vx{1o;w~G+UV5L;-*?4?!clfIQ4>CMEr3mmJTv>ZcgQa@ zg@Iu1C<*Sfx|7^`XeNp-=&aaU-9vOZPafOZf#JN9Yv4Z$X>@XLIE77EhAADuv|HY1 z4V=v2lfGW+7^02bJmw#wOX6Wdji_!-j!&a``gh!%+zmg$1s~WqJkzmkK9;+!&#nZ! zpKb-;d>IGGFCMkqqyy{vr-gpQ1>x5v`n?Efs6=P|!X)L=Wt6q`_U8Q>j+i{4L9^Mu zW4C>;FyQ~#WoU1Bd%`g`Wz7|c*r3ED-A%Vb=N3~kjba= zppUWkx91;=wT;i&VXt!}ufmN1q*z|3at)ACKFI#p8C%Cvs0X6-8MotYnZ>!FG;l@B z$hxUvO@v~V#;P6AXFW~?>NY_!87ylUK)2WeG6jzJQxzhqp)DC|nXq0P9qP8dQh}=E zsF>uG86%#Uj1~5*0PmOo_PD{tZwppMSNs1+Dt(ecxeD0+Iut2*Pm6eB;;84B+F6v- zHnc+y*W9fB9K|~%s6nZS50j3)J1ZYk*oSpyEG!EM2z z>Y?cTopRHDe_}jI z$ME$pcH&?m{IH+-$-JYE-;qD5m|QewAJr7IJ^7`;5_&WfQ*(DuyXn$Bl`~$D;e&&C zq3&7j@PTQ*otHY8INVKn5qe!HA8lJCQRo0@g*1Gtq!=Ab=C0zDTJZgIBcCqpK)Okb z*WR5C#-v07m<=u=CAZ3X#!3~H0-WYt`*oU>YB(C+XN~64++6%TScrwgh~?Z6Q}7$J zVc9yibg@1gy+_{?;3;>(BbV>iwzR7cIuE}&&C5)|$V2Z|mycVp{bca1-n{u;l~^v| zT^+Uk+(RNWF!{OKO~^a208@hN1d$mm`CNzlY4IFBu3Gm5<$VyX1!t^M5bij2s;-L$ z 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 literal 0 HcmV?d00001 diff --git a/Sources/Linaris/Resources/Images/rdm2.png b/Sources/Linaris/Resources/Images/rdm2.png new file mode 100644 index 0000000000000000000000000000000000000000..3aa1ff194fa04c2b3ce79a42844741a555d9ffce GIT binary patch literal 23164 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 E0K~D~TmS$7 literal 0 HcmV?d00001