async void OpenPlaylist(int id)
        {
            LoadingScreen();
            PlaylistGrid playlist = new PlaylistGrid(state.user);

            playlist.OpenSingerPage      += Playlist_OpenSingerPage;
            playlist.UserPlaylistChanged += UserPlaylistChanged;
            playlist.OnDragStarted       += Playlist_OnDragStarted;
            playlist.ScrollCall          += Grid_ScrollCall;
            playlist.OnSongPlaying       += Playlist_OnSongPlaying;
            playlist.OnSongPaused        += Playlist_OnSongPaused;
            Service1Client client    = new Service1Client();
            Song_Playlist  _Playlist = await client.GetPlaylistByIDAsync(id);

            if (tape_panel.Child.GetType() != typeof(ProgressBar))
            {
                return;
            }
            client.Close();
            playlist.PlaylistsInfo   = state.Playlists;
            playlist.CurrentPlaylist = _Playlist;
            playlist.CurrentUser     = state.user;
            playlist.Init();
            tape_panel.Child  = playlist;
            state.Current_Tab = playlist;
            if (playlist.SongList.SelectedIndex < 0)
            {
                if (playlist.CurrentPlaylist.ID == state.currentPlaylist.ID)
                {
                    playlist.SongList.SelectedIndex = playlist.CurrentPlaylist.Songs.ToList().IndexOf(playlist.CurrentPlaylist.Songs.Where(n => n.ID == state.currentSong.ID).First());
                }
            }
        }
 public AddPlaylist()
 {
     Playlist       = new Song_Playlist();
     _IsImageEdited = false;
     InitializeComponent();
     IsEdited = false;
 }
Ejemplo n.º 3
0
        TimeSpan GetDuration(Song_Playlist playlist)
        {
            TimeSpan timeSpan = new TimeSpan();

            foreach (var item in playlist.Songs)
            {
                timeSpan += item.Duration;
            }
            return(timeSpan);
        }
Ejemplo n.º 4
0
 public Playlist_Item_Control(Song_Playlist playlist)
 {
     InitializeComponent();
     id = playlist.ID;
     if (playlist.Image != null)
     {
         main_image.Source = ConvertToImage(playlist.Image);
     }
     playlist_name_tb.Text = playlist.Title;
     author_name_tb.Text   = playlist.Creator.NickName;
 }
Ejemplo n.º 5
0
 public AppState(Client_User user)
 {
     player          = new MediaPlayer();
     player.Volume   = 0.7;
     playTimer       = new DispatcherTimer();
     currentPlaylist = new Song_Playlist();
     IsPlaying       = false;
     repeat          = RepeatState.NoRepeat;
     Current_Tab     = null;
     this.user       = user;
     playlists       = new ObservableCollection <Song_Playlist>(user.Playlists);
 }
        void AddGenres(Song_Playlist playlist)
        {
            PlaylistSearchItem Item = new PlaylistSearchItem();

            Item.PlaylistImage     = playlist.Image;
            Item.PlaylistTitle     = playlist.Title;
            Item.Height            = 80;
            Item.PlaylistID        = playlist.ID;
            OpenPlaylist          += SearchPanel_OpenPlaylist;
            Item.VerticalAlignment = VerticalAlignment.Center;
            GetFreeSlot(GenresGrid, Item);
            GenresGrid.Children.Add(Item);
        }
        private async void Play_btn_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (state.Current_Tab != null)
            {
                if (state.Current_Tab is PlaylistGrid)
                {
                    if ((state.Current_Tab as PlaylistGrid).SongList.SelectedIndex >= 0)
                    {
                        if (((state.Current_Tab as PlaylistGrid).CurrentPlaylist) == state.currentPlaylist)
                        {
                            Song new_song = ((state.Current_Tab as PlaylistGrid).SongList.SelectedItem as Song);
                            Playlist_OnSongPlaying(state.currentPlaylist, new_song.ID, new_song);
                        }
                        else
                        {
                            Song          new_song     = ((state.Current_Tab as PlaylistGrid).SongList.SelectedItem as Song);
                            Song_Playlist new_playlist = (state.Current_Tab as PlaylistGrid).CurrentPlaylist;
                            Playlist_OnSongPlaying(new_playlist, new_song.ID, new_song);
                        }
                    }
                }
                else if (state.Current_Tab is NoImageList_Control)
                {
                    Console.WriteLine("No image list");
                    if ((state.Current_Tab as NoImageList_Control).SongList.SelectedIndex >= 0)
                    {
                        Console.WriteLine(((state.Current_Tab as NoImageList_Control).SongList.SelectedItem as Song)
                                          .Title);
                    }
                }
                else if (state.Current_Tab is SingerPage_Control)
                {
                    Console.WriteLine("Singer page");
                    foreach (var child in (state.Current_Tab as SingerPage_Control).albums_panel.Children)
                    {
                        if (child is AlbumGrid)
                        {
                            if ((child as AlbumGrid).songs_lb.SelectedIndex >= 0)
                            {
                                Console.WriteLine(((child as AlbumGrid).songs_lb.SelectedItem as Song).Title);
                            }
                        }
                    }
                }
            }

            //PlaySongByID(21);
        }
        private async void SaveBtnMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (PlaylistNameBox.Text == String.Empty)
            {
                AddPlaylistErrorBox.Visibility = Visibility.Visible;
                AddPlaylistErrorMessage.Text   = "Playlist field should be signed. Please sign it and try again";
            }
            else if (!Regex.IsMatch(PlaylistNameBox.Text, @"^[a-zA-Z0-9 ]*$"))
            {
                AddPlaylistErrorBox.Visibility = Visibility.Visible;
                AddPlaylistErrorMessage.Text   = "Playlist name contains unaccaptable characters,it may contains only letters,numbers and whitespace";
            }
            else
            {
                try
                {
                    Service1Client client = new Service1Client();
                    if (!IsEdited)
                    {
                        Playlist.Title = PlaylistNameBox.Text;
                        Song_Playlist tmp = await client.AddPlaylistAsync(Playlist);

                        Playlist = tmp;
                        OnChangesAccepted?.Invoke();
                        AddPlaylistErrorBox.Visibility = Visibility.Hidden;
                    }
                    else
                    {
                        Playlist.Title = PlaylistNameBox.Text;
                        Song_Playlist tmp = await client.EditPlaylistAsync(Playlist);

                        OnChangesAccepted?.Invoke();
                        AddPlaylistErrorBox.Visibility = Visibility.Hidden;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    AddPlaylistErrorBox.Visibility = Visibility.Visible;
                    AddPlaylistErrorMessage.Text   = "Network issues. Please check your internet connection and try again.";
                }
            }
        }
 private void Playlist_OnSongPlaying(Song_Playlist playlist, int songId, Song song)
 {
     state.currentSong     = song;
     state.currentPlaylist = playlist;
     PlaySongByID(songId);
 }
Ejemplo n.º 10
0
 private void AlbumGrid_OnSongPlaying(Song_Playlist playlist, int songId, Song song)
 {
     Console.WriteLine("asd");
     AlbumPlay?.Invoke(playlist, songId, song);
 }