public IEnumerator LoadChartTracks() { yield return(new WaitForSeconds(2)); if (chartTracks == null || chartTracks.Count == 0) { Debug.LogError("Chart tracks is null/empty"); } else { for (int i = 0; i < meshRenderers.Length; i++) { //i+1 because first row is header names ChartTrack chartTrack = (ChartTrack)chartTracks[i + 1]; FullTrack fullTrack = spotifyManagerScript.GetTrack(chartTrack.apiUrl); if (fullTrack.HasError()) { Debug.LogError(fullTrack.Error.Status); Debug.LogError(fullTrack.Error.Message); } else { string chartTrackImageURL = fullTrack.Album.Images[0].Url; GameObject meshRendererGameObject = meshRenderers[i].transform.gameObject; PlaylistScript playlistScript = meshRendererGameObject.GetComponent <PlaylistScript>(); WWW imageURLWWW = new WWW(chartTrackImageURL); yield return(imageURLWWW); meshRenderers[i].material.mainTexture = imageURLWWW.texture; AudioAnalysis audioAnalysis = spotifyManagerScript.GetAudioAnalysis(fullTrack.Id); playlistScript.setFullTrack(fullTrack); playlistScript.setPlaylistName(fullTrack.Name); playlistScript.setPlaylistURI(fullTrack.Uri); playlistScript.artistId = fullTrack.Artists[0].Id; playlistScript.artistName = fullTrack.Artists[0].Name; playlistScript.sprite = ConvertWWWToSprite(imageURLWWW); playlistScript.audioAnalysis = audioAnalysis; playlistScript.audioAnalysisCustom = new AudioAnalysisCustom(audioAnalysis); playlistScript.trackId = fullTrack.Id; playlistScript.streams = chartTrack.streams; saveLoad.SaveTextureToFilePNG(Converter.ConvertWWWToTexture(imageURLWWW), "chartTrack" + i + ".png"); saveLoad.savedChartTracks.Add(new PlaylistScriptData(playlistScript)); Vector3 v = popCubes[i].transform.localScale; if (chartTrack.streams != null) { popCubes[i].transform.localScale = new Vector3(v.x, float.Parse(chartTrack.streams) * streamsScaling, v.z); } } } } }
public void LoadChartTracksFromFilePNG() { spotifyManager = GameObject.Find("SpotifyManager"); saveLoad = spotifyManager.GetComponent <SaveLoad>(); quads = GetChildGameObjectWithTag("song"); meshRenderers = GetMeshRenderers(quads); csvReader = spotifyManager.GetComponent <CSVReader>(); chartTracks = csvReader.chartTrackList; if (saveLoad.savedChartTracks != null && saveLoad.savedChartTracks.Count != 0) { for (int i = 0; i < meshRenderers.Length; i++) { if (chartTracks != null || chartTracks.Count != 0) { ChartTrack chartTrack = (ChartTrack)chartTracks[i + 1]; } else { Debug.LogError("chartTracks is null/empty"); } PlaylistScriptData playlistScriptLoadedData = saveLoad.savedChartTracks[i]; PlaylistScript playlistScriptLoaded = new PlaylistScript(playlistScriptLoadedData); GameObject meshRendererGameObject = meshRenderers[i].transform.gameObject; PlaylistScript playlistScript = meshRendererGameObject.GetComponent <PlaylistScript>(); Texture2D texture = saveLoad.LoadTextureFromFilePNG("chartTrack" + i + ".png"); meshRenderers[i].material.mainTexture = texture; playlistScript.setPlaylistName(playlistScriptLoaded.playlistName); playlistScript.setPlaylistURI(playlistScriptLoaded.playlistURI); playlistScript.artistName = playlistScriptLoaded.artistName; playlistScript.artistId = playlistScriptLoaded.artistId; playlistScript.sprite = Converter.ConvertTextureToSprite(texture); playlistScript.trackId = playlistScriptLoaded.trackId; playlistScript.audioAnalysisCustom = playlistScriptLoaded.audioAnalysisCustom; Vector3 v = popCubes[i].transform.localScale; if (playlistScriptLoaded.streams != null) { popCubes[i].transform.localScale = new Vector3(v.x, float.Parse(playlistScriptLoaded.streams) * streamsScaling, v.z); } } } else { Debug.LogError("savedChartTracks is empty/null"); } }
private void ReadCSV() { List <List <string> > dataGrid = CsvFileReader.ReadAll("C:/Users/Public/Documents/Unity Projects/Spotify Oculus/Assets/Me/Resources/CSV/regional-global-daily-latest.csv", Encoding.GetEncoding("gbk")); foreach (var row in dataGrid) { ChartTrack chartTrack = new ChartTrack(row); chartTrackList.Add(chartTrack); } }
private static bool CheckUp(ChartTrack track) { if (!string.IsNullOrEmpty(track.Name) && !string.IsNullOrEmpty(track.ArtistName) && !string.IsNullOrEmpty(track.album_name)) { return(true); } else { return(false); } }
private void ReadCSV() { List <List <string> > dataGrid = null; try { dataGrid = CsvFileReader.ReadAll(Application.persistentDataPath + "/regional-global-daily-latest.csv", Encoding.GetEncoding("utf-8")); } catch (Exception e) { textMeshPro.text = e.Message.ToString(); } if (dataGrid != null) { foreach (var row in dataGrid) { ChartTrack chartTrack = new ChartTrack(row); chartTrackList.Add(chartTrack); } } }
public static async Task <SavingError> SaveSpotifyChartTrackLevel1(ChartTrack chartTrack) { //clean track only english letters chartTrack.Name = SongSavingHelper.ToCleanQuery(chartTrack.Name); chartTrack.ArtistName = SongSavingHelper.ToCleanQuery(chartTrack.ArtistName); chartTrack.album_name = SongSavingHelper.ToCleanQuery(chartTrack.album_name); //check if it is track properties are noll or not; if (!CheckUp(chartTrack)) { ShowResults(SavingError.Unknown, chartTrack.Name); return(SavingError.Unknown); } //checking for duplicate songs. if (App.Locator.CollectionService.SongAlreadyExists(chartTrack.Name, chartTrack.album_name, chartTrack.ArtistName)) { ShowResults(SavingError.AlreadyExists, chartTrack.Name); return(SavingError.AlreadyExists); } //getting track metadata from spotify and search using viez. var track = await App.Locator.Spotify.GetTrack(chartTrack.track_id); if (track != null) { var album = await App.Locator.Spotify.GetAlbum(track.Album.Id); var result = await SaveSpotifyTrackLevel2(track, album); return(result); } //network fail ShowResults(SavingError.Network, chartTrack.Name); return(SavingError.Network); }
public static async Task SaveSpotifyChartTrackLevel1(ChartTrack track) { if (!App.Locator.Setting.IsLoggedIn) { if (_warningCount > 0) { ToastManager.ShowError("Login required."); return; } await MessageHelpers.LoginRequired(); _warningCount += 1; } var fTrack = track; App.Locator.PBar.IsEnable = true; try { track.Name = track.Name.GetSongNameFromMain(); track.ArtistName = track.ArtistName.GetArtistName(); if (track.Name == "Unknown Track") { track.Name = fTrack.Name; } if (track.ArtistName == "Unknown Artist" && fTrack.ArtistName != "Unknown Artist") { track.ArtistName = fTrack.ArtistName; } await SpotifySavingHelper.SaveSpotifyChartTrackLevel1(track); } catch { await SpotifySavingHelper.SaveSpotifyChartTrackLevel1(track); } App.Locator.PBar.IsEnable = false; }