public async void Search_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { List <MPDFileEntry> list = await Task.Factory.StartNew(() => { List <MPDFileEntry> newList = con.GetSearchedFiles(SearchEntry.Text, currentType); lastSearchTerm = SearchEntry.Text; lastSearchType = currentType; return(newList); }); if (list.Count != 0) { SearchResultList = list.Cast <MPDTrack>().ToList(); } else { SearchResultList = new List <MPDTrack>(); await DisplayAlert("Nothing found", "No files found for your search term", "ok"); } } }
private async void GetAllFilesFromMPD() { var con = MPDConnection.GetInstance(); while (!con.IsConnected()) { await Task.Delay(200); con = MPDConnection.GetInstance(); } var files = con.GetAllTracks(); var trackList = new List <MPDTrack>(); foreach (var file in files) { if (file is MPDTrack) { trackList.Add(file as MPDTrack); } } if (trackList.Count > 0) { Device.BeginInvokeOnMainThread(() => { FileListView.ItemsSource = trackList; }); } }
public async void GetPlaylistsFromMPD() { var con = MPDConnection.GetInstance(); while (!con.IsConnected()) { await Task.Delay(200); con = MPDConnection.GetInstance(); } List <MPDFileEntry> fileList = con.GetPlaylists(); List <MPDPlaylist> playlists = fileList.Select(x => x as MPDPlaylist).ToList(); playlists.RemoveAll(x => x == null); if (playlists != null && playlists.Count > 0) { playlists.RemoveAll(x => x == null); Device.BeginInvokeOnMainThread(() => { PlaylistView.ItemsSource = playlists; }); } }
public static void ConnectWithActiveProfile() { if (Database == null) { return; } var activeProfile = Database.GetActiveProfile().Result; var con = MPDConnection.GetInstance(); if (activeProfile != null) { con.hostname = activeProfile.Hostname; con.port = activeProfile.Port; con.password = activeProfile.Password; con.ConnectToServer(); } else { if (con.IsConnected()) { con.DisconnectFromServer(); } } MPDProfileChanged = false; }
private void LoadPlaylist_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { con.ClearPlaylist(); con.LoadPlaylist(Title); } }
private void PlayItem_Clicked(object sender, EventArgs e) { if (SongListView.SelectedItem is MPDTrack track) { if (MPDConnection.GetInstance().IsConnected()) { MPDConnection.GetInstance().PlaySongIndex(track.PlaylistPosition); } } }
private bool SetAndTestMPD() { con = MPDConnection.GetInstance(); if (!con.IsConnected()) { return(false); } return(true); }
public async static void UpdateMPDConnection() { while (true) { if (!MPDConnection.GetInstance().IsConnected() || MPDProfileChanged) { ConnectWithActiveProfile(); } await Task.Delay(1000); } }
private bool CheckAndSetConnection() { con = MPDConnection.GetInstance(); if (con.IsConnected()) { return(true); } else { return(false); } }
public void Add_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { if (TrackListView.SelectedItem is MPDTrack track) { Task.Factory.StartNew(() => con.AddSong(track.Path)); } } }
private void RemoveItem_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { if (FileListView.SelectedItem is MPDTrack track) { con.RemoveIndex(track.PlaylistPosition); } } }
public ServerStatsPage() { InitializeComponent(); BindingContext = this; PropertyChanged += PropChanged_Listener; var con = MPDConnection.GetInstance(); if (con.IsConnected()) { Statistics = con.GetServerStatistics(); } }
private async void RemoveItem_Clicked(object sender, EventArgs e) { if (SongListView.SelectedItem is MPDTrack currentSelected) { MPDConnection.GetInstance().RemoveIndex(currentSelected.PlaylistPosition); } if (listType == ListType.CURRENT) { await Task.Delay(200); await GetSongsFromMPD(); } }
public void AddAll_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { if (lastSearchTerm != "") { Task.Factory.StartNew(() => con.AddSearchedFiles(lastSearchTerm, lastSearchType)); } } }
protected async void UpdateButton_Clicked(object sender, EventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { Statistics = await Task.Factory.StartNew(() => { con.UpdateDatabase(""); }).ContinueWith((lastTask) => { return(con.GetServerStatistics()); }); } }
private async void AddItem_Clicked(object sender, EventArgs e) { if (FileListView.SelectedItem == null || !(FileListView.SelectedItem is MPDTrack)) { return; } var song = FileListView.SelectedItem as MPDTrack; await Task.Factory.StartNew(() => { var con = MPDConnection.GetInstance(); con.AddSong(song.Path); }); }
public async void OutputItem_Tapped(object sender, ItemTappedEventArgs e) { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { OutputList = await Task.Factory.StartNew(() => { if (e.Item is MPDOutput output) { con.ToggleOutput(output.OutputId); } }).ContinueWith((t) => { return(con.GetOutputs()); }); } }
public ServerOutputPage() { InitializeComponent(); BindingContext = this; var con = MPDConnection.GetInstance(); if (con.IsConnected()) { Task.Factory.StartNew(() => { var outputs = con.GetOutputs(); Device.BeginInvokeOnMainThread(() => { OutputList = outputs; }); }); } }
private async Task GetSongsFromMPD() { var con = MPDConnection.GetInstance(); while (!con.IsConnected()) { await Task.Delay(200); con = MPDConnection.GetInstance(); } List <MPDFileEntry> fileList; if (listType == ListType.SAVED) { fileList = con.GetSavedPlaylist(Title); } else if (listType == ListType.SEARCH) { fileList = con.GetSearchedFiles(Title, type); } else { fileList = con.GetCurrentPlaylist(); } List <MPDTrack> songList = fileList.Select(x => x as MPDTrack).ToList(); if (songList != null) { songList.RemoveAll(x => x == null || x.TrackTitle == ""); } if (songList.Count > 0) { Device.BeginInvokeOnMainThread(() => { SongListView.ItemsSource = songList; }); } }
public async void GetArtistsFromMPD() { var con = MPDConnection.GetInstance(); while (!con.IsConnected()) { await Task.Delay(200); con = MPDConnection.GetInstance(); } List <MPDArtist> artists = con.GetArtists(); if (artists != null && artists.Count > 0) { Device.BeginInvokeOnMainThread(() => { ArtistListView.ItemsSource = artists; }); } }
private Entity GeneratePlaylistEntity() { Entity playlistEntity = new Entity() { Name = "Playlist" }; var con = MPDConnection.GetInstance(); if (con.IsConnected()) { var playlistCollection = con.GetPlaylists().Cast <MPDPlaylist>().ToList(); foreach (var list in playlistCollection) { playlistEntity.AddEntry( new EntityEntry(list.Name, new string[] { list.Name })); } } return(playlistEntity); }
private Entity GenerateArtistEntity() { Entity artistEntity = new Entity() { Name = "Artists" }; var con = MPDConnection.GetInstance(); if (con.IsConnected()) { List <MPDArtist> artistList = con.GetArtists(); foreach (var artist in artistList) { artistEntity.AddEntry( new EntityEntry(artist.ArtistName, new string[] { artist.ArtistName })); } } return(artistEntity); }
private void PlaylistUpdate() { var con = MPDConnection.GetInstance(); if (con.IsConnected()) { var albumList = MPDConnection.GetInstance().GetAlbums(); if (albumList.Count == 0) { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("No Albums", "No Album found", "ok"); }); } else { Device.BeginInvokeOnMainThread(() => { AlbumListView.ItemsSource = albumList; }); } } }