Vivien DUFOUR 2 years ago
commit c94d6b1e2a

@ -14,11 +14,12 @@ namespace MusiLib.DataContractPersistance
{
public class DataContractPers : IPersistanceManager
{
public string FilePath { get; set; } = FileSystem.AppDataDirectory; /*Path.Combine(AppDomain.CurrentDomain.BaseDirectory);*/
public string FileNameFU { get; set; } = "favorisUtilisateurs.xml";
public string FilePath { get; set; } = FileSystem.AppDataDirectory; /* FileSystem.AppDataDirectory permet de renvoyez le chemin d'accès au répertoire spécifique de donnée
* ou l'application peut stocker des fichiers ou des données persistantes*/
public string FileNameFU { get; set; } = "favorisUtilisateurs.xml"; /* déclaration des noms des fichiers stockés pour la persistance*/
public string FileNameP { get; set; } = "partitions.xml";
public (List<Partition>, List<Partition>) chargeDonnees()
public (List<Partition>, List<Partition>) chargeDonnees() /*Méthode permettant de charger les données*/
{
var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>));
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -26,9 +27,9 @@ namespace MusiLib.DataContractPersistance
List<Partition> partitions = new List<Partition>();
List<Partition> favoris = new List<Partition>();
using (Stream partitionsStream = File.OpenRead(Path.Combine(FilePath, "partitions.xml")))
using (Stream partitionsStream = File.OpenRead(Path.Combine(FilePath, "partitions.xml"))) /*Path.Combine permet de combiner plusieurs segments de chemin en une seule chaine de chemin*/
{
partitions = partitionsSerializer.ReadObject(partitionsStream) as List<Partition>;
partitions = partitionsSerializer.ReadObject(partitionsStream) as List<Partition>; /*Serializer permet de convertir des objets */
}
using (Stream favorisUtilisateursStream = File.OpenRead(Path.Combine(FilePath, "favorisUtilisateurs.xml")))
@ -41,7 +42,7 @@ namespace MusiLib.DataContractPersistance
}
public void sauvegardeDonnees(List<Partition> p, List<Partition> f)
public void sauvegardeDonnees(List<Partition> p, List<Partition> f) /*Méthode permettant de sauvegarder les données*/
{
var partitionsSerializer = new DataContractSerializer(typeof(List<Partition>));
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -68,7 +69,7 @@ namespace MusiLib.DataContractPersistance
}
}
public void sauvegardeFavoriAdd(Partition fav)
public void sauvegardeFavoriAdd(Partition fav) /*Méthode permettant la sauvegarde de favoris*/
{
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));
@ -102,7 +103,7 @@ namespace MusiLib.DataContractPersistance
Debug.WriteLine("Nouveau favori sauvegardé !");
}
public void sauvegardeFavoriRemove(Partition fav)
public void sauvegardeFavoriRemove(Partition fav) /*Méthode permettant la sauvegarde de suppression de favoris */
{
var favorisUtilisateursSerializer = new DataContractSerializer(typeof(DataToPersist));

@ -10,6 +10,7 @@ namespace MusiLib.Model
{
(List<Partition>, List<Partition>) chargeDonnees();
/*déclaration de fonctions abstraites*/
void sauvegardeDonnees(List<Partition> p, List<Partition> f);
void sauvegardeFavoriAdd(Partition fav);

@ -34,22 +34,22 @@ namespace MusiLib.Model
public void chargeDonnees()
{
var donnees = Persistance.chargeDonnees();
var donnees = Persistance.chargeDonnees(); /*variable local, permet d'éviter la répétition d'un nom de type dans une déclaration de variable */
partitions.AddRange(donnees.Item1);
favoris.AddRange(donnees.Item2);
}
public void sauvegardeDonnees()
public void sauvegardeDonnees() /*Sauvegarde les partitions et favoris*/
{
Persistance.sauvegardeDonnees(partitions, favoris);
}
public void sauvegardeFavoriAdd(Partition fav)
public void sauvegardeFavoriAdd(Partition fav) /*Sauvegarde des Favoris*/
{
Persistance.sauvegardeFavoriAdd(fav);
}
public void sauvegardeFavoriRemove(Partition fav)
public void sauvegardeFavoriRemove(Partition fav) /*Suppression d'une partition contenu dans les Favoris*/
{
Persistance.sauvegardeFavoriRemove(fav);
}

@ -17,38 +17,38 @@ namespace MusiLib.Model
public Metronome()
{
player = DependencyService.Get<AudioPlayer>();
player = DependencyService.Get<AudioPlayer>(); /* DependencyService = méthode utilisée pour obtenir une instance d'un service audio personnalisé.*/
isMusicPlaying = false;
}
public async Task Lancer(string cheminFichier)
{
var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier));
var fichierAudio = (AudioPlayer)AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(cheminFichier)); /*Créer un lecteur Audio à partir d'un fichier se trouvant dans le package de l'application*/
player = fichierAudio;
player.Play();
player.Play(); /*Méthode permettant de lancer la musique venant de Plugin.Maui.Audio */
isMusicPlaying=true;
isMusicBeginning =true;
}
public void PlayMusic()
public void PlayMusic() /*Méthode permettant de jouer/relancer la musique*/
{
player.Play();
isMusicPlaying = true;
}
public void PauseMusic()
public void PauseMusic() /*Méthode permettant la mise en pause de la musique*/
{
player.Pause();
isMusicPlaying = false;
}
public void StopMusic()
public void StopMusic() /*Méthode permettant de stopper la lecture de la musique*/
{
if (isMusicBeginning)
{
player.Stop();
player.Stop(); /*Méthode permettant de stopper la musique venant de Plugin.Maui.Audio*/
isMusicPlaying = false;
isMusicBeginning = false;
}
}
public void ReglerTempo(float tempo)
public void ReglerTempo(float tempo) /*Méthode permettant de regler la vitesse d'un objet de classe méttronome*/
{
if(!isMusicBeginning)
{
@ -56,7 +56,7 @@ namespace MusiLib.Model
}
if(!isMusicPlaying)
{
player.Speed = tempo;
player.Speed = tempo; /*Méthode de Plugin.maui.Audio permettant de régler la vitesse d'un audio/vidéo*/
player.Pause();
return;
}

@ -12,17 +12,17 @@ namespace MusiLib.Model
public Trier(List<Partition> partitions)
{
partitionsInitiales = partitions.ToList();
partitionsInitiales = partitions;
partitionsFiltrees = new List<Partition>(partitionsInitiales);
}
public List<Partition> TrierParInstrument(string instrument)
public List<Partition> TrierParInstrument(string instrument) /*Méthode permettant de trier les partitions par instrument*/
{
partitionsFiltrees = partitionsInitiales.Where(p => p.Instrument.ToLower() == instrument.ToLower()).ToList();
partitionsFiltrees = partitionsInitiales.Where(p => p.Instrument.ToLower() == instrument.ToLower()).ToList(); /*ToLower permet la convertion d'une chaine de caractères en minuscules*/
return partitionsFiltrees;
}
public List<Partition> TrierParComplexite(string complexite)
public List<Partition> TrierParComplexite(string complexite) /*Méthode permettant de trier les partitions par leur complexité (difficulté à les jouer)*/
{
partitionsFiltrees = partitionsInitiales.Where(p => p.Complexite.ToLower() == complexite.ToLower()).ToList();
Console.WriteLine("string : " + complexite);
@ -33,7 +33,7 @@ namespace MusiLib.Model
return partitionsFiltrees;
}
public List<Partition> TrierParOrdreAlphabetique(string ordre)
public List<Partition> TrierParOrdreAlphabetique(string ordre) /*Méthode permetttant de trier les partitions par l'ordre alphabétique de leur Nom*/
{
if (ordre == "Croissant")
partitionsFiltrees = partitionsInitiales.OrderBy(p => p.Nom).ToList();

@ -22,6 +22,7 @@
</Grid.ColumnDefinitions>
<! --
<Rectangle Grid.Row="0" Grid.Column="0"
BackgroundColor="#64C1FF"
WidthRequest="650"
@ -29,6 +30,7 @@
VerticalOptions="Start"
HorizontalOptions="Start"
/>
-->
<Image Grid.Row="0" Grid.Column="0"

Loading…
Cancel
Save