Beispiel #1
0
        /// <summary>
        /// Sauvegarde les metadonnées de la musique dans le fichier
        /// </summary>
        /// <param name="musique"></param>
        /// <param name="metadatas"></param>
        /// <returns>Message d'erreur si la sauvegarde a échouée</returns>
        public string saveMetaForMusique(Musique musique, Metadatas metadatas)
        {
            Player.setMusique(null);

            string status = null;

            try
            {
                musique.WriteMetadatas(metadatas);
            }
            catch (Exception ex)
            {
                status = ex.Message;
            }


            //// Récupère le nouvel emplacement de la musique
            //string newPathNameExtension = musique.PathNameExtension;
            //// Memorise la position de la musique dans la liste
            //int oldMusiqueIndex = ListMusiques.IndexOf(musique);

            //// Retire la musique de la liste
            //ListMusiques.Remove(musique);
            //// Ajoute la musique avec le nouvel emplacement à la liste
            //Musique newMusique = addMusique(newPathNameExtension);

            //// Deplace la musique nouvellement ajoutée à la position mémorisée
            //int newMusiqueIndex = ListMusiques.IndexOf(newMusique);
            //ListMusiques.Move(newMusiqueIndex, oldMusiqueIndex);

            Player.setMusique(SelectedMusique);
            AllChecked = false;

            return(status);
        }
Beispiel #2
0
        Metadatas _metaFromUser;     // Renseigné par l'utilisateur

        public Musique(string pathNameExtension)
        {
            MetaFromFile      = new Metadatas();
            MetaFromFileName  = new Metadatas();
            MetaFromInternet  = new Metadatas();
            MetaFromUser      = new Metadatas();
            PathNameExtension = pathNameExtension;
        }
Beispiel #3
0
        /// <summary>
        /// Ecrit les métadatas passés en paramètre dans le fichier.
        /// </summary>
        /// <param name="metadatas">Métadatas à ajouter au fichier.</param>
        public void WriteMetadatas(Metadatas metadatas)
        {
            if (metadatas == null)
            {
            }
            else
            {
                // Artiste
                if (metadatas.ArtistName != null)
                {
                    string[] tabArtists = new string[1];
                    tabArtists[0]       = metadatas.ArtistName;
                    Meta.Tag.Performers = tabArtists;
                }

                // Année
                if ((metadatas.ReleaseDate != null && metadatas.ReleaseDate != ""))
                {
                    Meta.Tag.Year = UInt32.Parse(metadatas.ReleaseDate.Split('-')[0]);
                }

                // Album
                if (metadatas.AlbumName != null)
                {
                    Meta.Tag.Album = metadatas.AlbumName;
                }

                // Titre
                if (metadatas.Title != null)
                {
                    Meta.Tag.Title = metadatas.Title;
                    // Remixé par
                    if (metadatas.RemixedBy != null && metadatas.RemixedBy.Length > 0)
                    {
                        Meta.Tag.Title += $" ({metadatas.RemixedBy} Remix)";
                    }
                    // Edité par
                    if (metadatas.EditBy != null && metadatas.EditBy.Length > 0)
                    {
                        Meta.Tag.Title += $" ({metadatas.EditBy} Edit)";
                    }
                }


                // Photo
                if (metadatas.AlbumCoverStream != null)
                {
                    Picture picture = new Picture();
                    picture.Type        = PictureType.FrontCover;
                    picture.MimeType    = System.Net.Mime.MediaTypeNames.Image.Jpeg;
                    picture.Description = "Cover";
                    byte[] tabBytes = metadatas.AlbumCoverStream.ToArray();
                    picture.Data      = new ByteVector(tabBytes);
                    Meta.Tag.Pictures = new IPicture[] { picture };;
                }


                // On enregistre les métadatas dans le fichier
                Meta.Save();


                this.UpdateFileName();
            }
        }