Пример #1
0
        /// <summary>
        /// Ajoute la musique passée en paramètre à la librarie sauf si elle est déjà présente.
        /// Appelle "AddArtist" si l'artiste n'est pas déjà présent dans la librairie.
        /// Appelle "AddSong" de l'artiste saisie.
        /// Si un album a été saisie,
        ///     appelle "AddAlbum" si l'album n'est pas déjà présent dans la librairie.
        ///     appelle "AddSong" de l'album saisie.
        /// </summary>
        /// <param name="Track"></param>
        public void AddSong(Song Track)
        {
            if (Track == null)
            {
                return;
            }

            if (ListSong.Contains(Track))
            {
                Console.WriteLine("Cette musique est déjà présente dans la librarie");
                return;
            }
            ListSong.Add(Track);
            Length = Length.Addition(Track.Length);

            if (!ListArtist.Contains(Track.Artist))
            {
                AddArtist(Track.Artist);
            }
            ListArtist[ListArtist.IndexOf(Track.Artist)].AddSong(Track);

            if (Track.Album.Name != "Unknown")
            {
                if (!ListAlbum.Contains(Track.Album))
                {
                    AddAlbum(Track.Album);
                }
                ListAlbum[ListAlbum.IndexOf(Track.Album)].AddSong(Track);
            }
        }
Пример #2
0
        public async Task Show_PickerAsync(object obj)
        {
            var picker = new Windows.Storage.Pickers.FileOpenPicker();
            picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
            picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            picker.FileTypeFilter.Add(".mp3");
            picker.FileTypeFilter.Add(".mp4");
            picker.FileTypeFilter.Add(".webm");

            Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
            if (file != null)
            {
                // Application now has read/write access to the picked file
                string[] namedetail = file.Name.Split('.');
                Song addsong = new Song { Name = namedetail[0], Path = file.Path };
                Windows.Storage.FileProperties.BasicProperties basicProperties = await file.GetBasicPropertiesAsync();

                string fileSize = string.Format("{0:n0}", basicProperties.Size);
                Debug.WriteLine(fileSize);
                ListSong.Add(addsong);
                DatabaseService.Instance().DB.SongDao.Insert(addsong);
/*                DatabaseService.Instance().DB.PlaylistDao.addSong(addsong,);*/

/*                Messenger.Default.Send<MessengerBus>(new MessengerBus() { NameSong = namedetail[0], Path = file.Path });*/
            }
            /*            var file = await picker.PickMultipleFilesAsync();*/
        }
Пример #3
0
        /// <summary>
        /// Supprime la musique passée en paramètre de la toute la librarie sauf si elle n'est pas présente dedans.
        /// </summary>
        /// <param name="Track"></param>
        public void DeleteSong(Song Track)
        {
            ListSong.Remove(Track);
            Length = Length.Substraction(Track.Length);

            if (Track.Album.Name != "Unknown")
            {
                int i;
                i = ListAlbum.IndexOf(Track.Album);
                ListAlbum[i].DeleteSong(Track);

                if (ListAlbum[i].ListSong.Count() == 0)
                {
                    DeleteAlbum(ListAlbum[i]);
                }
            }

            foreach (var playlist in ListPlaylist)
            {
                if (playlist.ListSong.Contains(Track))
                {
                    playlist.DeleteSong(Track);
                }
            }

            int it;

            it = ListArtist.IndexOf(Track.Artist);
            ListArtist[it].DeleteSong(Track);
            if (ListArtist[it].ListSong.Count == 0)
            {
                DeleteArtist(Track.Artist);
            }
        }
Пример #4
0
        public void delete()
        {
            DatabaseService.Instance().DB.SongDao.Delete(ListSong[SelectTaskListIndex].Id);
            ListSong.Remove(ListSong[_id]);
/*            Debug.WriteLine(ListSong[_id].Id);*/
            /*            loadListSong();*/
        }
Пример #5
0
        private void ListSong_DoubleClick(object sender, MouseEventArgs e)
        {
            if (!_songFiles.Any())
            {
                Effects.Visible = false;
            }
            else
            {
                if (Effects.Visible == false)
                {
                    btPlay.Image    = Properties.Resources.Play;
                    Effects.Visible = true;
                }
                else
                {
                    //btPlay.Image = Properties.Resources.Pause;
                    Effects.Visible = true;
                }

                int index = ListSong.IndexFromPoint(e.Location);
                _songIndex = ListSong.SelectedIndex;


                if (index != ListBox.NoMatches)
                {
                    //lblTitle.Text = ListSong.SelectedItem.ToString();

                    if (_waveOutDevice == null)
                    {
                        PlaySong(_songIndex);
                    }
                    else if (_waveOutDevice != null)
                    {
                        _waveOutDevice.Stop();
                        PlaySong(_songIndex);
                    }
                }
            }
        }