private void SetTermList(int number) { for (var i = 1; i <= number; i++) { TermList.Add(item: i.ToString()); } }
public void GetFourtyRunningSongs(string query) { var id = GetSongId(query); var songIds = new TermList(); songIds.Add(id); StaticArgument staticArgument = new StaticArgument { Type = "song-radio", SongID = songIds, Results = 40, MinTempo = 88, MaxTempo = 92, Variety = 1 }; using (var session = new EchoNestSession(ApiKey)) { PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); Assert.AreEqual(40, searchResponse.Songs.Count); } }
private void FillTermList(Term[] terms, TermList target) { foreach (var term in terms) { target.Add(term); } }
public void GetSongs_ForApocalypseNow_ExpectedArtist(string title, string styles, string moods, string expect) { // arrange TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } SearchArgument searchArgument = new SearchArgument { Mode = "0", /* minor */ Sort = "artist_familiarity-desc", Results = 10 }; searchArgument.Styles.AddRange(styleTerms); searchArgument.Moods.AddRange(moodTerms); //act using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { SearchResponse searchResponse = session.Query <Search>().Execute(searchArgument); //assert Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); var matches = (from s in searchResponse.Songs where s.ArtistName.ToLower().Contains(expect) select s).ToList(); Assert.IsNotNull(matches, "Failed to find songs where artist name contains: {0}", expect); // output Console.WriteLine("Tracks for '{0}'", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine(); } }
public void GetSongs_ForApocalypseNow_ExpectedArtist(string title, string styles, string moods, string expect) { // arrange TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } SearchArgument searchArgument = new SearchArgument { Mode = "0", /* minor */ Sort = "artist_familiarity-desc", Results = 10 }; searchArgument.Styles.AddRange(styleTerms); searchArgument.Moods.AddRange(moodTerms); //act using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { SearchResponse searchResponse = session.Query<Search>().Execute(searchArgument); //assert Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); var matches = (from s in searchResponse.Songs where s.ArtistName.ToLower().Contains(expect) select s).ToList(); Assert.IsNotNull(matches, "Failed to find songs where artist name contains: {0}", expect); // output Console.WriteLine("Tracks for '{0}'", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine(); } }
private static void Basic(EchoNestSession session) { String query = String.Empty; ConsoleEx.WriteLine("=== Basic Playlist Generation ===", ConsoleColor.Cyan); ConsoleEx.WriteLine("(Enter a comma separated list of artist names for generating a baisc 'artist-radio' type playlist)", ConsoleColor.Cyan); ConsoleEx.Write("Query >> ", ConsoleColor.Green); query = Console.ReadLine(); if (String.IsNullOrEmpty(query)) { ConsoleEx.WriteLine("Query was empty. Press any key to start over.", ConsoleColor.Cyan); Console.ReadLine(); Basic(session); } ConsoleEx.WriteLine("Generating..", ConsoleColor.Yellow); BasicArgument basicArgument = new BasicArgument(); string[] terms = query.Split(','); TermList artistTerms = new TermList(); foreach (string term in terms) { artistTerms.Add(term.Trim()); } basicArgument.Artist.AddRange(artistTerms); var result = session.Query <Basic>().Execute(basicArgument); if (result.Status.Code == ResponseCode.Success) { foreach (var item in result.Songs) { ConsoleEx.Write("Artist: ", ConsoleColor.White); ConsoleEx.WriteLine(item.ArtistName, ConsoleColor.DarkYellow); ConsoleEx.Write("Hotttness: ", ConsoleColor.White); ConsoleEx.WriteLine(item.ArtistHotttnesss.ToString(), ConsoleColor.DarkYellow); } } else { ConsoleEx.WriteLine(result.Status.Message, ConsoleColor.Red); } }
public void GetStaticPlaylist_WhereMoodAndStyle_HasVarietyOfArtists(string title, string styles, string moods) { //arrange TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } StaticArgument staticArgument = new StaticArgument { Results = 25, Adventurousness = 0.4, Type = "artist-description", Variety = 0.4 /* variety of artists */ }; staticArgument.Styles.AddRange(styleTerms); staticArgument.Moods.AddRange(moodTerms); //act using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { //act PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument); //assert Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); // output Console.WriteLine("Songs for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); } }
private static void Basic(EchoNestSession session) { String query = String.Empty; ConsoleEx.WriteLine("=== Basic Playlist Generation ===", ConsoleColor.Cyan); ConsoleEx.WriteLine("(Enter a comma separated list of artist names for generating a baisc 'artist-radio' type playlist)", ConsoleColor.Cyan); ConsoleEx.Write("Query >> ", ConsoleColor.Green); query = Console.ReadLine(); if (String.IsNullOrEmpty(query)) { ConsoleEx.WriteLine("Query was empty. Press any key to start over.", ConsoleColor.Cyan); Console.ReadLine(); Basic(session); } ConsoleEx.WriteLine("Generating..", ConsoleColor.Yellow); BasicArgument basicArgument = new BasicArgument(); string[] terms = query.Split(','); TermList artistTerms = new TermList(); foreach (string term in terms) { artistTerms.Add(term.Trim()); } basicArgument.Artist.AddRange(artistTerms); var result = session.Query<Basic>().Execute(basicArgument); if (result.Status.Code == ResponseCode.Success) { foreach (var item in result.Songs) { ConsoleEx.Write("Artist: ", ConsoleColor.White); ConsoleEx.WriteLine(item.ArtistName, ConsoleColor.DarkYellow); ConsoleEx.Write("Hotttness: ", ConsoleColor.White); ConsoleEx.WriteLine(item.ArtistHotttnesss.ToString(), ConsoleColor.DarkYellow); } } else { ConsoleEx.WriteLine(result.Status.Message, ConsoleColor.Red); } }
private PlaylistResponse GetSongPlaylist(EchoNestSession session, string query) { var id = GetSongId(session, query); var songIds = new TermList(); songIds.Add(id); StaticArgument staticArgument = new StaticArgument { Type = "song-radio", SongID = songIds, Results = 40, Variety = 1 }; return session.Query<Static>().Execute(staticArgument); }
public MortgageViewModel() { StartDate = DateTime.Now; PurchasePrice = 100000; IntSlider = 4; YrsSlider = 30; termList = new ObservableCollection <LoanPeriod>(); LoanPeriod temp = new LoanPeriod(1, 5); LoanPeriod temp1 = new LoanPeriod(2, 10); LoanPeriod temp2 = new LoanPeriod(3, 15); LoanPeriod temp3 = new LoanPeriod(4, 30); TermList.Add(temp); TermList.Add(temp1); TermList.Add(temp2); TermList.Add(temp3); }
public void GetStaticPlaylist_WhereMoodAndStyle_HasVarietyOfArtists(string title, string styles, string moods) { TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } StaticArgument staticArgument = new StaticArgument { Results = 25, Adventurousness = 0.4, Type = "artist-description", Variety = 0.4 /* variety of artists */ }; staticArgument.Styles.AddRange(styleTerms); staticArgument.Moods.AddRange(moodTerms); using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { PlaylistResponse searchResponse = session.Query<Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); Console.WriteLine("Songs for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); } }
public void GetStaticPlaylist_WhereMoodAndStyle_HasVarietyOfArtists(string title, string styles, string moods) { TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } StaticArgument staticArgument = new StaticArgument { Results = 25, Adventurousness = 0.4, Type = "artist-description", Variety = 0.4 /* variety of artists */ }; staticArgument.Styles.AddRange(styleTerms); staticArgument.Moods.AddRange(moodTerms); using (var session = new EchoNestSession(ApiKey)) { PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); System.Diagnostics.Debug.WriteLine("Songs for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { System.Diagnostics.Debug.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } } }
public Mortgage() { StartDate = DateTime.Now; PurchasePrice = 100000; IntSlider = 4; YrsSlider = 30; SolveForMonthlyPayment = true; SolveForLoanPeriod = false; SolveForPurchasePrice = false; termList = new ObservableCollection <LoanPeriod>(); LoanPeriod temp = new LoanPeriod(1, 5); LoanPeriod temp1 = new LoanPeriod(2, 10); LoanPeriod temp2 = new LoanPeriod(3, 15); LoanPeriod temp3 = new LoanPeriod(4, 30); TermList.Add(temp); TermList.Add(temp1); TermList.Add(temp2); TermList.Add(temp3); }
private void FillTermList(IEnumerable <TermModel> source, TermList target) { source.ForEach(s => { var term = target.Add(s.Name); if (s.Boost.HasValue) { term.Boost(s.Boost.Value); } if (s.Require) { term.Require(); } if (s.Ban) { term.Ban(); } }); }
private PlaylistResponse Execute() { TermList styleTerms = new TermList(); string[] styles = Settings.Default.SearchParametersForLearning.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (styles.Length == 0) { return new PlaylistResponse() { Songs = null , Status = new ResponseStatus() { Code = ResponseCode.MissingParameter , Message = "Missing parameters for the search.", Version = null } } } ; foreach (string s in styles) { styleTerms.Add(s.Trim()); } StaticArgument staticArgument = new StaticArgument() { Results = 15, Variety = 1, Type = "artist-description", Bucket = PlaylistBucket.AudioSummary }; staticArgument.Styles.AddRange(styleTerms); return(echo.Query <Static>().Execute(staticArgument)); }
public void GetPlaylistByArtistOrSong(string query) { var seedArtists = new TermList(); seedArtists.Add(query); StaticArgument staticArgument = new StaticArgument { Results = 40, Artist = seedArtists, Type = "artist-radio" }; using (var session = new EchoNestSession(ApiKey)) { PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); Assert.AreEqual(40, searchResponse.Songs.Count); } }
private PlaylistData CreateEchonestPlaylist(string apiKey) { var seedArtists = new TermList(); seedArtists.Add(Query); StaticArgument staticArgument = new StaticArgument { Results = 40, Artist = seedArtists, Type = "artist-radio" }; using (var session = new EchoNestSession(apiKey)) { PlaylistResponse searchResponse = session.Query<Static>().Execute(staticArgument); var playlistData = new PlaylistData(); playlistData.Items = new List<PlaylistDataItem>(); playlistData.Description = Query; playlistData.Title = string.Format("{0} playlist", Query); playlistData.SearchKeys = new List<string>(); foreach (var song in searchResponse.Songs) { var item = new PlaylistDataItem(); item.Artist = song.ArtistName; item.Title = song.Title; playlistData.Items.Add(item); var searchKey = string.Format("{0} {1}", item.Artist, item.Title); playlistData.SearchKeys.Add(searchKey); } return playlistData; } }
private PlaylistData CreateEchonestPlaylist(string apiKey) { var seedArtists = new TermList(); seedArtists.Add(Query); StaticArgument staticArgument = new StaticArgument { Results = 40, Artist = seedArtists, Type = "artist-radio" }; using (var session = new EchoNestSession(apiKey)) { PlaylistResponse searchResponse = session.Query <Static>().Execute(staticArgument); var playlistData = new PlaylistData(); playlistData.Items = new List <PlaylistDataItem>(); playlistData.Description = Query; playlistData.Title = string.Format("{0} playlist", Query); playlistData.SearchKeys = new List <string>(); foreach (var song in searchResponse.Songs) { var item = new PlaylistDataItem(); item.Artist = song.ArtistName; item.Title = song.Title; playlistData.Items.Add(item); var searchKey = string.Format("{0} {1}", item.Artist, item.Title); playlistData.SearchKeys.Add(searchKey); } return(playlistData); } }
public SettingViewModel() { string[] options = new string[] { "User Account", "Goal Setting", "Log Out" }; var Option = new List <string>(); for (int i = 0; i < options.Length; i += 1) { Option.Add(options[i]); } ItemList = Option; TermList.Add("Terms & Uses"); SelectKeyCommand = new MvxCommand <string>(selected => { if (selected == options[0]) { //ShowViewModel<>(); } else if (selected == options[1]) { //ShowViewMOdel<>(); } else { //ShowViewModel<>(); } }); TermCommand = new MvxCommand(() => { //ShowViewModel<>(); }); }
private void FillTermList(IEnumerable<TermModel> source, TermList target) { source.ForEach(s => { var term = target.Add(s.Name); if (s.Boost.HasValue) { term.Boost(s.Boost.Value); } if (s.Require) { term.Require(); } if (s.Ban) { term.Ban(); } }); }
private PlaylistResponse GetArtistPlaylist(EchoNestSession session, string query) { var seedArtists = new TermList(); foreach (var term in query.Split(',')) { seedArtists.Add(term); } StaticArgument staticArgument = new StaticArgument { Results = 40, Artist = seedArtists, Type = "artist-radio" }; return session.Query<Static>().Execute(staticArgument); }
public void GetPlaylistByArtistOrSong(string query) { var seedArtists = new TermList(); seedArtists.Add(query); StaticArgument staticArgument = new StaticArgument { Results = 40, Artist = seedArtists, Type = "artist-radio" }; using (var session = new EchoNestSession(ApiKey)) { PlaylistResponse searchResponse = session.Query<Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); Assert.AreEqual(40, searchResponse.Songs.Count); } }
public void GetFourtyRunningSongs(string query) { var id = GetSongId(query); var songIds = new TermList(); songIds.Add(id); StaticArgument staticArgument = new StaticArgument { Type = "song-radio", SongID = songIds, Results = 40, MinTempo = 88, MaxTempo = 92, Variety = 1 }; using (var session = new EchoNestSession(ApiKey)) { PlaylistResponse searchResponse = session.Query<Static>().Execute(staticArgument); Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); Assert.AreEqual(40, searchResponse.Songs.Count); } }
public void GetDynamicPlaylist_WhereMoodAndStyle_CanSteerDynamicPlaylistByMood(string title, string styles, string moods) { //arrange TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } DynamicArgument dynamicArgument = new DynamicArgument { Adventurousness = 0.4, Type = "artist-description", Variety = 0.4 /* variety of artists */ }; dynamicArgument.Styles.AddRange(styleTerms); dynamicArgument.Moods.AddRange(moodTerms); //act using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { //act DynamicPlaylistResponse searchResponse = session.Query <Dynamic>().Execute(dynamicArgument); //assert Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); // arrange next part of test string sessionId = searchResponse.SessionId; // output Console.WriteLine("Dynamic Playlist Session Id: {0}", sessionId); Console.WriteLine(); Console.WriteLine("Songs for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine("Steering Playlist by mood = -happy"); Console.WriteLine(); dynamicArgument = new DynamicArgument { SteerMood = "-happy", SessionId = sessionId }; searchResponse = session.Query <Dynamic>().Execute(dynamicArgument); Console.WriteLine("Next song in dynamic playlist for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine("Steering Playlist by tempo = +10% (tempo^1.1)"); Console.WriteLine(); dynamicArgument = new DynamicArgument { Steer = "tempo^1.1", SessionId = sessionId }; searchResponse = session.Query <Dynamic>().Execute(dynamicArgument); Console.WriteLine("Next song in dynamic playlist for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); } }
public void GetDynamicPlaylist_WhereMoodAndStyle_CanSteerDynamicPlaylistByMood(string title, string styles, string moods) { //arrange TermList styleTerms = new TermList(); foreach (string s in styles.Split(',')) { styleTerms.Add(s); } TermList moodTerms = new TermList(); foreach (string s in moods.Split(',')) { moodTerms.Add(s); } DynamicArgument dynamicArgument = new DynamicArgument { Adventurousness = 0.4, Type = "artist-description", Variety = 0.4 /* variety of artists */ }; dynamicArgument.Styles.AddRange(styleTerms); dynamicArgument.Moods.AddRange(moodTerms); //act using (EchoNestSession session = new EchoNestSession(ConfigurationManager.AppSettings.Get("echoNestApiKey"))) { //act DynamicPlaylistResponse searchResponse = session.Query<Dynamic>().Execute(dynamicArgument); //assert Assert.IsNotNull(searchResponse); Assert.IsNotNull(searchResponse.Songs); Assert.IsTrue(searchResponse.Songs.Any()); // arrange next part of test string sessionId = searchResponse.SessionId; // output Console.WriteLine("Dynamic Playlist Session Id: {0}", sessionId); Console.WriteLine(); Console.WriteLine("Songs for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine("Steering Playlist by mood = -happy"); Console.WriteLine(); dynamicArgument = new DynamicArgument { SteerMood = "-happy", SessionId = sessionId }; searchResponse = session.Query<Dynamic>().Execute(dynamicArgument); Console.WriteLine("Next song in dynamic playlist for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); Console.WriteLine("Steering Playlist by tempo = +10% (tempo^1.1)"); Console.WriteLine(); dynamicArgument = new DynamicArgument { Steer = "tempo^1.1", SessionId = sessionId }; searchResponse = session.Query<Dynamic>().Execute(dynamicArgument); Console.WriteLine("Next song in dynamic playlist for : {0}", title); foreach (SongBucketItem song in searchResponse.Songs) { Console.WriteLine("\t{0} ({1})", song.Title, song.ArtistName); } Console.WriteLine(); } }