diff --git a/MusiLib/MusiLib/App.xaml.cs b/MusiLib/MusiLib/App.xaml.cs index c1ac093..5c4bae3 100644 --- a/MusiLib/MusiLib/App.xaml.cs +++ b/MusiLib/MusiLib/App.xaml.cs @@ -8,7 +8,7 @@ public partial class App : Application public Manager MyManager { get; private set; } = new Manager(); public App() { - MyManager.chargerDonnees(); + /*MyManager.chargerDonnees();*/ InitializeComponent(); diff --git a/MusiLib/MusiLib/MauiProgram.cs b/MusiLib/MusiLib/MauiProgram.cs index dfec5d2..e8bf409 100644 --- a/MusiLib/MusiLib/MauiProgram.cs +++ b/MusiLib/MusiLib/MauiProgram.cs @@ -1,4 +1,8 @@ -namespace MusiLib; +using MusiLib.Model; +using MusiLib.Views; +using Plugin.Maui.Audio; + +namespace MusiLib; public static class MauiProgram { @@ -13,6 +17,9 @@ public static class MauiProgram fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); + builder.Services.AddSingleton(AudioManager.Current); + builder.Services.AddTransient(); + return builder.Build(); } } diff --git a/MusiLib/MusiLib/Model/IPersistenceManager.cs b/MusiLib/MusiLib/Model/IPersistenceManager.cs new file mode 100644 index 0000000..4948fb7 --- /dev/null +++ b/MusiLib/MusiLib/Model/IPersistenceManager.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MusiLib.Model +{ + public interface IPersistenceManager + { + (List, List) chargeDonnees(); + + void sauvegardeDonnees(List p, List u); + } +} diff --git a/MusiLib/MusiLib/Model/Manager.cs b/MusiLib/MusiLib/Model/Manager.cs index 597f364..319ffc5 100644 --- a/MusiLib/MusiLib/Model/Manager.cs +++ b/MusiLib/MusiLib/Model/Manager.cs @@ -1,6 +1,7 @@ using MusiLib.Model; using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -28,18 +29,40 @@ namespace MusiLib.Model } - public void chargerDonnees() + /*public class Manager { - Utilisateur kevin = new Utilisateur("Kevin"); - Utilisateur michel = new Utilisateur("Michel"); - ajouterUtilisateur(kevin); - ajouterUtilisateur(michel); - - Partition amazing_grace = new Partition("Amazing Grace", "John Newton", 1, "Amazing Grace est l'un des cantiques chrétiens les plus célèbres dans le monde anglophone. La première publication des paroles date de 1779. Associé à diverses mélodies au fil des années, il est aujourd'hui interprété sur la musique de New Britain", "piano"); - Partition au_clair_de_la_lune = new Partition("Au clair de la lune", "Édouard-Léon Scott de Martinville", 1, "Au clair de la lune est une chanson populaire française dont la mélodie, très caractéristique, ainsi que les paroles — surtout celles du premier couplet — sont si familières qu'elles ont fait l'objet d'innombrables citations, adaptations, parodies, pastiches, etc.", "piano"); - ajouterPartition(amazing_grace); - ajouterPartition(au_clair_de_la_lune); - + + public IPersistenceManager Persistence { get; set; } + + public Manager(IPersistenceManager manager) + { + utilisateurs = new ReadOnlyCollection<> + public List partitions { get; private set; } + } + + public Manager() + { + utilisateurs = new List(); + partitions = new List(); + } + + public void ajouterUtilisateur(Utilisateur utilisateur) + { + utilisateurs.Add(utilisateur); } + + public void ajouterPartition(Partition partition) + { + partitions.Add(partition); + } + + + private void chargeDonnees() + { + var donnees = Persistence chargeDonnees(); + }*/ + } } + + diff --git a/MusiLib/MusiLib/MusiLib.csproj b/MusiLib/MusiLib/MusiLib.csproj index 47b672f..0992c8a 100644 --- a/MusiLib/MusiLib/MusiLib.csproj +++ b/MusiLib/MusiLib/MusiLib.csproj @@ -48,4 +48,8 @@ + + + + diff --git a/MusiLib/MusiLib/Resources/Raw/au_clair_de_la_lune.wav b/MusiLib/MusiLib/Resources/Raw/au_clair_de_la_lune.wav new file mode 100644 index 0000000..1cd6d0a Binary files /dev/null and b/MusiLib/MusiLib/Resources/Raw/au_clair_de_la_lune.wav differ diff --git a/MusiLib/MusiLib/Stub/Stub.cs b/MusiLib/MusiLib/Stub/Stub.cs new file mode 100644 index 0000000..77fc311 --- /dev/null +++ b/MusiLib/MusiLib/Stub/Stub.cs @@ -0,0 +1,35 @@ +using MusiLib.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MusiLib.Stub +{ + public class Stub : IPersistenceManager + { + public (List, List) chargeDonnees() + { + List favoris = new List(); + List utilisateurs = new List(); + + Utilisateur kevin = new Utilisateur("Kevin"); + Utilisateur michel = new Utilisateur("Michel"); + utilisateurs.Add(kevin); + utilisateurs.Add(michel); + + Partition amazing_grace = new Partition("Amazing Grace", "John Newton", 1, "Amazing Grace est l'un des cantiques chrétiens les plus célèbres dans le monde anglophone. La première publication des paroles date de 1779. Associé à diverses mélodies au fil des années, il est aujourd'hui interprété sur la musique de New Britain", "piano"); + Partition au_clair_de_la_lune = new Partition("Au clair de la lune", "Édouard-Léon Scott de Martinville", 1, "Au clair de la lune est une chanson populaire française dont la mélodie, très caractéristique, ainsi que les paroles — surtout celles du premier couplet — sont si familières qu'elles ont fait l'objet d'innombrables citations, adaptations, parodies, pastiches, etc.", "piano"); + favoris.Add(amazing_grace); + favoris.Add(au_clair_de_la_lune); + + return (favoris, utilisateurs); + } + + public void sauvegardeDonnees(List p, List u) + { + + } + } +} diff --git a/MusiLib/MusiLib/Views/Accueil.xaml b/MusiLib/MusiLib/Views/Accueil.xaml index 4572d53..af4befe 100644 --- a/MusiLib/MusiLib/Views/Accueil.xaml +++ b/MusiLib/MusiLib/Views/Accueil.xaml @@ -21,61 +21,76 @@ + BackgroundColor="#64C1FF" + WidthRequest="650" + HeightRequest="65" + VerticalOptions="Start" + HorizontalOptions="Start" + /> + Source="logo.png" + WidthRequest="60" + HeightRequest="60" + VerticalOptions="Start" + HorizontalOptions="Start" + /> + WidthRequest="175" + MaximumWidthRequest="175" + VerticalOptions="Start" + HorizontalOptions="Center" + Margin="40,5,0,0" + TextColor="White" + CancelButtonColor="White" + Placeholder="Rechercher ..." + PlaceholderColor="White" + VerticalTextAlignment="Center" + HorizontalTextAlignment="Start" + /> + Source="tri.png" + WidthRequest="60" + HeightRequest="60" + VerticalOptions="Start" + HorizontalOptions="Center" + Margin="100,0,0,0" + /> + Source="etoile.png" + WidthRequest="50" + HeightRequest="50" + Margin="0,5,0,0" + VerticalOptions="Start" + HorizontalOptions="End" + Clicked="GoToFavorisButton" + />