private JarvisResponse HandleMusic(WitOutcome o) { var query = o.GetFirstString("music_query").Value; // check playlists var playlists = SearchPlaylists(query); if (GetBestDistance(query) < 5) // matches playlist most probably { PlayPlaylist(playlists.First()); } else if (query.IndexOf(" by ") != -1) // matches song/artist combo probably { var sections = query.Split(new string[] { " by " }, StringSplitOptions.RemoveEmptyEntries); if (sections.Length == 2) { var song = sections[0]; var artist = sections[1]; if (song == "song" || song == "songs" || song == "music") // special case { return(HandleArtist(artist)); } return(HandleSong(song, artist)); } } else { var search = Search(query); if (search.Tracks.Count > 0) { PlaySearch(search); return(JarvisResponse.None); } } return(JarvisResponse.Unknown); }
private JarvisResponse HandleAction(WitOutcome o) { var action = o.GetFirstString("action").Value; switch (action) { case "next": _player.Next(); break; case "prev": _player.Previous(); break; case "play": _player.Play(); break; case "pause": _player.Pause(); break; } return(JarvisResponse.None); }