Exemple #1
0
        /// <summary>
        /// Effectue une recherche de la musique à partir des données fournies par l'utilisateur sur toutes les api tant qu'il n'a pas trouvé les métadonnées
        /// </summary>
        /// <param name="musique"></param>
        /// <returns></returns>
        public Metadatas searchFromFileNameMeta(Musique musique)
        {
            Metadatas metadatas;

            // On cherche sur Itunes
            metadatas = _itunesService.search(musique.MetaFromFileName);

            // Si la recherche n'a rien donnée
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                // On cherche sur Musixmatch
                metadatas = _musixmatchService.search(musique.MetaFromFileName);
            }

            // Si la recherche n'a rien donnée
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                // On cherche sur Itunes avec un texte clean simple
                metadatas = _itunesService.search(musique.CleanedName);
            }

            // Si la recherche n'a rien donnée
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                // On cherche sur Musixmatch avec un texte clean simple
                metadatas = _musixmatchService.search(musique.CleanedName);
            }

            return(metadatas);
        }
Exemple #2
0
        /// <summary>
        /// Effectue une recherche à partir des données contenues dans le fichier sur toutes les api tant qu'il n'a pas trouvé les métadonnées
        /// </summary>
        /// <param name="musique">Musique dont les métadonnées doivent être recherchées</param>
        /// <returns></returns>
        public Metadatas searchFromFileMeta(Musique musique)
        {
            Metadatas metadatas;

            // On recherche d'abord sur Acoustid avec l'empreinte de la musique
            musique.CalculateFingerprint();
            metadatas = _acoustidService.search(musique.MetaFromFile);

            // Si la première recherche n'a rien donnée
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                // On cherche sur Itunes
                metadatas = _itunesService.search(musique.MetaFromFile);

                // Si la seconde recherche n'a rien donnée
                if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
                {
                    // On cherche sur Musixmatch
                    metadatas = _musixmatchService.search(musique.MetaFromFile);
                }
            }
            else
            {
                // On cherche sur Itunes avec les données trouvées grace à la requete précédente
                metadatas = _itunesService.search(metadatas);

                // Si la seconde recherche n'a rien donnée
                if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
                {
                    // On cherche sur Musixmatch
                    metadatas = _musixmatchService.search(metadatas);
                }
            }
            return(metadatas);
        }
Exemple #3
0
        private void LV_ListeMusiques_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string  chemin;
            Musique Musique = LV_ListeMusiques.SelectedItem as Musique;

            if (Musique != null)
            {
                TxtBlk_Titre.Text       = Musique.Titre;
                TxtBlk_Realisateur.Text = Musique.Realisateur;
                TxtBlk_DateSortie.Text  = Musique.DateSortie.ToString("dd/MM/yyyy");
                TxtBlk_Resume.Text      = Musique.Resume.Replace("[#RETURN#]", "\r\n");

                if (Musique.Affiche != "")
                {
                    chemin = AppDomain.CurrentDomain.BaseDirectory + Global.UtilisateurConnecte.Nom + "\\images\\" + Musique.Affiche;
                    ChargerImage(chemin);
                }
                else
                {
                    ChargerImage("");
                }

                GRID_DetailMusique.Visibility = Visibility.Visible;

                ModifierStatusBoutonsMusiques(true);
            }
            else
            {
                GRID_DetailMusique.Visibility = Visibility.Collapsed;
                ModifierStatusBoutonsMusiques(false);
            }
        }
Exemple #4
0
 /// <summary>
 /// Méthode appellée dans ButtonBack et ButtonNext réinitialisant l'affichage (timer + progressionBar)
 /// </summary>
 /// <param name="musique"></param>
 private void Back_Next(Musique musique)
 {
     if (musique != null)
     {
         if (Stop.Visibility == Visibility.Collapsed)
         {
             AffichagePlay();
         }
         else
         {
             Timer.Stop();
         }
         SoundPlayer     = new SoundPlayer(musique.Player.ToString());
         NameSon.Content = "Now playing : " + musique.Titre.ToString() + " / " + musique.Auteur.ToString();
         TimeSpan duration = GetWavFileDuration(musique.Player.ToString());
         Minutes                 = (int)duration.Minutes;
         Secondes                = (int)duration.Seconds;
         ProgressBar1.Maximum    = (int)duration.TotalSeconds;
         ProgressBar1.Value      = 0;
         ProgressBar1.Visibility = Visibility.Hidden;
         ProgressBar1.Visibility = Visibility.Visible;
         SoundPlayer.Play();
         ActivateTimer();
     }
 }
        public async Task <String> GetItemWithDeezer(Musique music)
        {
            var musicDeezer = await MusiqueService.GetMusicDeezer(music.Titre);

            music.PathMusique = musicDeezer;
            return(music.PathMusique);
        }
    /// <summary>
    /// Fait un fade depuis l'ancienne musique vers la nouvelle
    /// </summary>
    /// <param name="name">Nom de la nouvelle musique</param>
    private IEnumerator FadeMusique(Musique name)
    {
        bool  played = source.isPlaying;
        float tmp    = source.volume;

        if (played)
        {
            for (int i = 4; i > -1; i--)
            {
                source.volume = tmp * i * 0.2f;
                yield return(new WaitForSeconds(0.1f));
            }
            source.Stop();
        }

        PlayMusique(name);

        if (played)
        {
            for (int i = 1; i < 6; i++)
            {
                source.volume = tmp * i * 0.2f;
                yield return(new WaitForSeconds(0.1f));
            }
            source.volume = 1.0f;
        }
    }
 public Telechargement(Musique m, String dir)
 {
     InitializeComponent();
     path = dir;
     download(m);
     label1.Text = m.title;
 }
Exemple #8
0
        public Musiques_Page(decimal prix, string genre, string source, string titre, string auteur, string album, string player)
        {
            InitializeComponent();
            Prix           = prix;
            label1.Content = titre;
            image1.Source  = new BitmapImage(new Uri(source));
            label2.Content = auteur;
            if (album == "")
            {
                label3.Content = "Single";
            }
            else
            {
                label3.Content = "Album : " + album;
            }
            label4.Content = genre;
            label5.Content = prix + "€";
            String Player = player;

            musique = new Musique(label5.Content.GetHashCode(), label4.Content.ToString(), image1.Source.ToString(), label1.Content.ToString(), label2.Content.ToString(), label3.Content.ToString(), Player);
            MesMusiques MesMusiques = new MesMusiques();
            int         index       = MesMusiques.GetList().FindIndex(item => item.Titre == label1.Content.ToString()); // on regarde si la musique a déja été achetée, via un index //

            if (index >= 0)                                                                                             // si l'index est supérieur ou égal à 0, cela veut dire qu'elle a déja été achetée //
            {
                Buy_Button.Content    = "ACQUIS";
                Buy_Button.Background = new SolidColorBrush(Colors.Green);
                Buy_Button.Foreground = new SolidColorBrush(Colors.White);
            }
        }
Exemple #9
0
    // Awake est appele avant Start
    private void Awake()
    {
        //Debug.Log("Awake de la classe Jeu.");
        if (instance != null)
        {
            Destroy(gameObject, 0);
        }
        else
        {
            Debug.Log("Création de l'instance unique de Jeu (Awake)");
            _instance = this;

            _canvasUI = Instantiate(_prefabCanvasUI, Vector2.zero, Quaternion.identity).GetComponent <Canvas>();
            _infos    = Instantiate(_prefabInfos, Vector2.zero, Quaternion.identity, _canvasUI.transform).GetComponent <Infos>();
            _infos.transform.localPosition = Vector2.zero;
            _dialogue = Instantiate(_prefabDialogue, Vector2.zero, Quaternion.identity, _canvasUI.transform).GetComponent <Dialogue>();
            _dialogue.transform.localPosition = Vector2.zero;
            _musique  = Instantiate(_prefabMusique, Vector2.zero, Quaternion.identity).GetComponent <Musique>();
            _debogage = Instantiate(_prefabDebogage, Vector2.zero, Quaternion.identity);

            AjouterPerso(nomJoueur, true);             //ajoute le perso en tant que joueur

            //disparition du PNJ correspondant:
            PNJ.NoterAbsence(nomJoueur);

            // Evite la desctructions des elements importants au changement de scene
            DontDestroyOnLoad(gameObject);           //l'instance de Jeu
            DontDestroyOnLoad(_perso.gameObject);    //le personnage du joueur
            DontDestroyOnLoad(_musique.gameObject);  //l'instance qui gere la musique
            DontDestroyOnLoad(_canvasUI.gameObject); //l'instance du canevas (par extension infos et dialogue)
            DontDestroyOnLoad(_debogage.gameObject); //l'instance qui gere le debogage
        }                                            //if+else
    }                                                //Awake
Exemple #10
0
        public ActionResult Musique(int id)
        {
            MusiqueRepository repo = new MusiqueRepository(new Travail5Context());

            Musique musique = repo.GetById(id);

            return(View(musique));
        }
        async void GoToMusique(Musique music)
        {
            var mpage = new MusicPage(music);

            await GetItemWithDeezer(music);

            await Application.Current.MainPage.Navigation.PushAsync(mpage);
        }
 public string Put(Musique musique)
 {
     if (MusiqueDAO.Update(musique))
     {
         return("OK");
     }
     return("NOT_PUT");
 }
        public static MusiqueLight buildMusiqueLight(Musique musique)
        {
            MusiqueLight musiqueLight = new MusiqueLight();

            musiqueLight           = JsonSimplification.musiqueToMusiqueLight(musique);
            musiqueLight.album     = Utilitaire.JsonSimplification.albumToAlbumLight(musique.album);
            musiqueLight.Categorie = Utilitaire.JsonSimplification.categorieToCategorieLight(musique.Categorie);
            return(musiqueLight);
        }
Exemple #14
0
        private void Play(object sender, EventArgs e)
        {
            int     i       = list.FocusedItem.Index;
            Musique musique = GetListMusique()[i] as Musique;

            if (musique != null)
            {
                LancementMusique(musique);
            }
        }
 public MusicPage(Musique sourceMusical)
 {
     InitializeComponent();
     this.BindingContext = sourceMusical;
     player.Source       = sourceMusical.PathMusique;
     labelmusic.Text     = sourceMusical.Titre;
     CrossMediaManager.Current.PlayingChanged += (sender, e) =>
     {
         ProgressBar.Progress = e.Progress;
         Duration.Text        = e.Position.Minutes.ToString() + ":" + e.Position.Seconds.ToString() + "/" + e.Duration.Minutes.ToString() + ":" + e.Duration.Seconds.ToString();
     };
 }
Exemple #16
0
        public static MusiqueLight musiqueToMusiqueLight(Musique musique)
        {
            MusiqueLight musiqueLight = new MusiqueLight();

            musiqueLight.id            = musique.id;
            musiqueLight.musicPath     = musique.musicPath;
            musiqueLight.fkAlbumId     = musique.fkAlbumId;
            musiqueLight.fkCategorieId = musique.fkCategorieId;
            musiqueLight.NomMusique    = musique.NomMusique;
            musiqueLight.albumImgPath  = musique.album.albumImgPath;

            return(musiqueLight);
        }
Exemple #17
0
        public static Musique deleteMusique(int id)
        {
            MusiqueStreamingBackend db = new MusiqueStreamingBackend();
            Musique musique            = db.Musiques.Find(id);

            if (musique == null)
            {
                return(musique);
            }

            db.Musiques.Remove(musique);
            db.SaveChanges();
            return(musique);
        }
        public void Add_NouvelleMusiqueEtRecuperation_LaMusiqueEstBienRecuperee()
        {
            Musique newMusique = CreateModel();

            _repo.Add(newMusique);
            var musique = _repo.GetById(1);

            Assert.IsNotNull(musique);
            Assert.AreEqual(musique.Id, 1);
            Assert.AreEqual(musique.Duree, newMusique.Duree);
            Assert.AreEqual(musique.Titre, newMusique.Titre);
            Assert.AreEqual(musique.Date, newMusique.Date);
            Assert.AreEqual(musique.Auteur.Id, 1);
        }
Exemple #19
0
 public Musique getMusique(string path)
 {
     try
     {
         Musique musique = new Musique();
         musique.fromFile(path);
         return(musique);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
     return(null);
 }
    /// <summary>
    /// Comme PlayMusique mais pour une instance
    /// </summary>
    /// <param name="name">{""}Nom de la musique à jouer</param>
    void InstancePlayMusique(Musique name)
    {
        source.Stop();
        AudioClip originalClip = null;

        //TODO ajouter un swich pour chaque musique
        switch (name)
        {
        case Musique.MUSIQUE:
            originalClip = musiqueMusique;
            break;
        }
        source.clip = originalClip;
        source.Play();
    }
Exemple #21
0
        /// <summary>
        /// Joue la musique qui se trouve à la position -1 que la musique en cours ( position dans la ListView )
        /// Si la musique en cours est la première dans la ListView, cette méthode ne fait rien
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonBack(object sender, MouseButtonEventArgs e)
        {
            int i = list.SelectedIndex - 1;
            int a = list.SelectedIndex;

            if (i >= 0)
            {
                ListViewItem item = list.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem;
                item.Focus();
                item.IsSelected = true;
                ListViewItem item2 = list.ItemContainerGenerator.ContainerFromIndex(a) as ListViewItem;
                item2.IsSelected = false;
                Musique musique = GetList()[i] as Musique;
                Back_Next(musique);
            }
        }
 public static async void SaveMusic(Musique music)
 {
     try
     {
         using (var httpClient = new HttpClient())
         {
             var data     = JsonConvert.SerializeObject(music);
             var content  = new StringContent(data, Encoding.UTF8, "application/json");
             var response = await httpClient.PostAsync("http://localhost:1337/upload/", content);
         }
     }
     catch (Exception ex)
     {
         Debug.WriteLine("Un probleme pour poster les musiques " + ex.Message);
     }
 }
Exemple #23
0
        /// <summary>
        /// Effectue une recherche à partir des données contenues dans le nom du fichier sur toutes les api tant qu'il n'a pas trouvé les métadonnées
        /// </summary>
        /// <param name="musique"></param>
        /// <returns></returns>
        public Metadatas searchFromUserMeta(Musique musique)
        {
            Metadatas metadatas;

            // On cherche sur Itunes
            metadatas = _itunesService.search(musique.MetaFromUser);

            // Si la seconde recherche n'a rien donnée
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                // On cherche sur Musixmatch
                metadatas = _musixmatchService.search(musique.MetaFromUser);
            }

            return(metadatas);
        }
Exemple #24
0
        /// <summary>
        /// Lit la musique de l'item de la ListView sélectionné
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonPlay(object sender, MouseButtonEventArgs e)
        {
            Musique musique = list.SelectedItem as Musique;

            if (musique != null)
            {
                AffichagePlay();
                SoundPlayer     = new SoundPlayer(musique.Player.ToString());
                NameSon.Content = "Now playing : " + musique.Titre.ToString() + " / " + musique.Auteur.ToString();
                TimeSpan duration = GetWavFileDuration(musique.Player.ToString());
                Minutes              = (int)duration.Minutes;
                Secondes             = (int)duration.Seconds;
                ProgressBar1.Maximum = (int)duration.TotalSeconds;
                SoundPlayer.Play();
                ActivateTimer();
            }
        }
Exemple #25
0
        private void ButtonBack_Click(object sender, EventArgs e)
        {
            int i = list.FocusedItem.Index - 1;
            int a = list.FocusedItem.Index;

            if (i >= 0)
            {
                list.Items[a].Selected = false;
                list.Items[a].Focused  = false;
                list.Items[i].Selected = true;
                list.Items[i].Focused  = true;
                Musique musique = GetListMusique()[i] as Musique;
                if (musique != null)
                {
                    LancementMusique(musique);
                }
            }
        }
Exemple #26
0
        private void LancementMusique(Musique musique)
        {
            ButtonPlay.Visible   = false;
            ButtonStop.Visible   = true;
            TitreSon.Text        = "Now playing : " + musique.Titre + " / " + musique.Auteur;
            ProgressBar1.Visible = true;
            TimeLeft.Visible     = true;
            TimeSpan duration = GetWavFileDuration(musique.Player);

            ProgressBar1.Value        = 0;
            ProgressBar1.MaximumValue = (int)duration.TotalSeconds;
            SoundPlayer = new SoundPlayer(musique.Player.ToString());
            SoundPlayer.Play();
            Minutes  = (int)duration.Minutes;
            Secondes = (int)duration.Seconds;
            TimerBar.Start();
            TimerBar.Interval = 1000;
        }
        static void Main(string[] args)
        {
            Random    r   = new Random();
            Enveloppe env = new Enveloppe(ProfilEnveloppe.Cos(0, 1, 20000), new ProfilEnveloppe(new List <ProfilEnveloppe>(2)
            {
                ProfilEnveloppe.Cos(1, 0.5, 6000), ProfilEnveloppe.Cos(0.5, 1, 9000)
            }), ProfilEnveloppe.Cos(1, 0, 30000));
            ProfilHarmoniques ph       = ProfilHarmoniques.Alea(ref r, 3);
            Instrument        flutador = new Instrument(env, ph, 220, 0.8);

            double[] do_  = flutador.Jouer(4, 0, 44100, 0);
            string   path = "D:/lab/musik/clair.txt";
            //DoubleToFile(k, path+".raw");
            //VersWav(44100, path + "test.wav", do_);
            Orchestre orch = new Orchestre(new Instrument[] { flutador });
            Musique   mc   = new Musique(44100, orch, Note.McFromFile(path));

            VersWav(44100, path + ".musique.wav", mc.Jouer());
        }
Exemple #28
0
        private void ButtonForward_Click(object sender, EventArgs e)
        {
            int cpt = list.Items.Count;
            int i   = list.FocusedItem.Index + 1;
            int a   = list.FocusedItem.Index;

            if (i < cpt)
            {
                list.Items[a].Selected = false;
                list.Items[a].Focused  = false;
                list.Items[i].Selected = true;
                list.Items[i].Focused  = true;
                Musique musique = GetListMusique()[i] as Musique;
                if (musique != null)
                {
                    LancementMusique(musique);
                }
            }
        }
Exemple #29
0
        // Constructeur pour l'ouverture en modification de fiche
        public FicheMusique(int numeroMusique, int numeroCategorie = 0) : this()
        {
            bool existe;

            if (numeroMusique != 0)
            {
                this.Musique = Musique.Rechercher(numeroMusique, Global.UtilisateurConnecte.Nom, out existe);

                if (!existe)
                {
                    string message = "La musique recherchée n'existe pas.";
                    MessageBox.Show(message, "Musique non trouvée", MessageBoxButton.OK, MessageBoxImage.Error);

                    // Fermeture de la fenêtre
                    DialogResult = false;
                }
                else
                {
                    NumeroMusique       = Musique.Numero;
                    this.Musique.Resume = this.Musique.Resume.Replace("[#RETURN#]", "\r\n");
                    this.DataContext    = this.Musique;

                    // Chargement des informations
                    ChargerImage();
                    SelectionnerCategorie(Musique.NumeroCategorie);
                    DP_DateSortie.SelectedDate = Musique.DateSortie;
                    Affiche = Musique.Affiche;
                }
            }
            else if (numeroCategorie > 0)
            {
                foreach (Categorie c in COMBO_Categorie.Items)
                {
                    if (c.Numero == numeroCategorie)
                    {
                        COMBO_Categorie.SelectedItem = c;
                        return;
                    }
                }
            }
        }
Exemple #30
0
        /// <summary>
        /// Recherche les métadonnées à partir des donnée de la musique, si aucune donnée n'est trouvé,
        /// recherche à partir du nom du fichier de la musique
        /// </summary>
        /// <param name="musique"></param>
        /// <returns></returns>
        public Metadatas search(Musique musique)
        {
            musique.IsInSearch = true;

            Metadatas metadatas;

            metadatas = searchFromFileMeta(musique);
            if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
            {
                metadatas = searchFromFileNameMeta(musique);
                if (metadatas.Status == Status.NoConnetion || metadatas.Status == Status.NoResult)
                {
                    musique.IsChecked = false;
                }
            }

            musique.Distance = checkConformityBetween(musique.CleanedName,
                                                      musique.MetaFromInternet.ArtistName + " - " + musique.MetaFromInternet.Title) ? 1 : 0;

            musique.IsInSearch = false;
            return(metadatas);
        }
Exemple #31
0
    private void Awake()
    {
        // for testing
        //nbÉtage = TEST_ÉTAGE;
        //if (GODMOD) { difficulté = (int)Difficulté.Exploration; }
        //---

        Materials.Init();

        ListGameObject = new List <GameObject>();

        // instanciation du placher, personnage, camera
        PlancherGameObject = new GameObject("Plancher");
        PlancherGameObject.AddComponent <Plateforme>().InitialisationP(0, 360, 0, 0, 20, LARGEUR_PLATEFORME, RAYON_TOUR, 0, Materials.Get((int)NomMaterial.Plateforme));
        TourGameObject = new GameObject("Tour");
        TourGameObject.AddComponent <Plateforme>().InitialisationP(0, 360, HAUTEUR_TOUR * DELTA_HAUTEUR, 0, HAUTEUR_TOUR * DELTA_HAUTEUR, RAYON_TOUR, 0, 0, Materials.Get((int)NomMaterial.Tour));
        RayonTrajectoirePersonnage = RAYON_TOUR + PlancherGameObject.GetComponent <Plateforme>().Largeur / 2;
        RayonCamera          = RayonTrajectoirePersonnage + DISTANCE_CAMERA_PERSONNAGE;
        prefabPersonnage     = Resources.Load <GameObject>("Prefabs/Personnage");
        PersonnageGameObject = Instantiate(prefabPersonnage, new Vector3(RayonTrajectoirePersonnage, prefabPersonnage.transform.lossyScale.y / 2, 0), Quaternion.Euler(Vector3.zero));
        PersonnageScript     = PersonnageGameObject.GetComponent <Personnage>();
        Ui               = GameObject.FindGameObjectWithTag("UI");
        UiScript         = Ui.GetComponent <UI>();
        UiFinÉtage       = GameObject.FindGameObjectWithTag("UIFinÉtage");
        UiFinÉtageScript = UiFinÉtage.GetComponent <UIFinÉtage>();
        UiFinÉtage.SetActive(false);
        Caméra = Camera.main;
        Caméra.gameObject.AddComponent <CameraControleur>();
        Musique = GameObject.FindGameObjectWithTag("Musique").GetComponent <Musique>();
        Musique.Niveaux();

        PnlShooter = GameObject.Find("PnlShooter");
        PnlShooter.SetActive(false);
        Sauvegarde.Save();
        LoadÉtage();
        étageEnCour = true;
        victoire    = false;
    }
 private void download(Musique m)
 {
     WebClient client = new WebClient();
     client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(downloadProgressChanged);
       	        client.DownloadFileCompleted += new AsyncCompletedEventHandler(downloadCompleted);
     client.DownloadFileAsync(new Uri(m.url), path + "\\" + m.title + ".mp3");
 }
        private List<Musique> parsePage(String url)
        {
            List<Musique> mu = new List<Musique>();
            List<String> urls = new List<String>();
            List<String> titles = new List<String>();
            WebClient client = new WebClient();
            //client.DownloadFile("https://soundcloud.com/thecrimsonchin", this.textBox2.Text + "\\" + "blah.html");
            String src = client.DownloadString(url);
            Regex regu = new Regex("http://media.soundcloud.com/stream/[-\u002E=?A-Z\u005Fa-z0-9]*");
            Regex regt = new Regex("\"title\":\"[A-Za-z0-9_:/\u002E() \t\"@'+-]*");

            foreach (Match m in regu.Matches(src))
            {
                urls.Add(m.ToString());
            }

            foreach (Match m in regt.Matches(src))
            {
                String res = m.ToString();
                res = res.Remove(0, 9);
                res = res.Substring(0, (res.Length) - 1);
                titles.Add(res);
            }

            for (int i = 0; i < titles.Count; i++)
            {
                Musique m = new Musique();
                m.title = titles.ElementAt(i);
                foreach (char c in System.IO.Path.GetInvalidFileNameChars())
                {
                    m.title = m.title.Replace(c, '_');
                }
                m.url = urls.ElementAt(i);
                mu.Add(m);
            }

            return mu;
        }