public ArtistResult(Content content) { Thumbnails = ContentStaticHelpers.GetThumbnails(content); BrowseId = content.MusicResponsiveListItemRenderer.NavigationEndpoint.BrowseEndpoint.BrowseId; IsUpload = ContentStaticHelpers.BrowseIdIndicatedUpload(BrowseId); Title = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForArtistName].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; }
public SongResult(Content content, int defaultIndex) { Thumbnails = ContentStaticHelpers.GetThumbnails(content); Title = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForTitle].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; // Get artists first, so we can know if this is uploaded or not content.MusicResponsiveListItemRenderer.FlexColumns[defaultIndex + IndexInColumnsForArtists].MusicResponsiveListItemFlexColumnRenderer.Text.Runs.ForEach(x => Artists.Add(new IdNamePair(x.NavigationEndpoint.BrowseEndpoint.BrowseId, x.Text))); IsUpload = ContentStaticHelpers.BrowseIdIndicatedUpload(Artists[0].Id); if (IsUpload) { VideoId = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForVideoId].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].NavigationEndpoint.WatchEndpoint.VideoId; PlaylistId = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForPlaylistId].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].NavigationEndpoint.WatchEndpoint.PlaylistId; } else { VideoId = content.MusicResponsiveListItemRenderer.Overlay.MusicItemThumbnailOverlayRenderer.Content.MusicPlayButtonRenderer.PlayNavigationEndpoint.WatchEndpoint.VideoId; Params = content.MusicResponsiveListItemRenderer.Overlay.MusicItemThumbnailOverlayRenderer.Content.MusicPlayButtonRenderer.PlayNavigationEndpoint.WatchEndpoint.Params; } var flexColumnCount = content.MusicResponsiveListItemRenderer.FlexColumns.Count; // may not have an album if (flexColumnCount >= (defaultIndex + IndexInColumnsForAlbum + 1)) { var albumRun = content.MusicResponsiveListItemRenderer.FlexColumns[defaultIndex + IndexInColumnsForAlbum].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns]; Album = new IdNamePair(albumRun.NavigationEndpoint.BrowseEndpoint.BrowseId, albumRun.Text); } if (flexColumnCount >= (defaultIndex + IndexInColumnsForDuration + 1)) { Duration = content.MusicResponsiveListItemRenderer.FlexColumns[defaultIndex + IndexInColumnsForDuration].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; } else { //duration might be in fixedColumns if (content.MusicResponsiveListItemRenderer.FixedColumns != null && content.MusicResponsiveListItemRenderer.FixedColumns.Count > 0 && content.MusicResponsiveListItemRenderer.FixedColumns[0].MusicResponsiveListItemFixedColumnRenderer != null) { Duration = content.MusicResponsiveListItemRenderer.FixedColumns[0].MusicResponsiveListItemFixedColumnRenderer.Text.Runs[0].Text; } } }
public AlbumResult(Content content) { Thumbnails = ContentStaticHelpers.GetThumbnails(content); BrowseId = content.MusicResponsiveListItemRenderer.NavigationEndpoint.BrowseEndpoint.BrowseId; IsUpload = ContentStaticHelpers.BrowseIdIndicatedUpload(BrowseId); Title = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForTitle].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; AlbumType = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForAlbumType].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; var countFlexColumns = content.MusicResponsiveListItemRenderer.FlexColumns.Count; var runs = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForAlbumType].MusicResponsiveListItemFlexColumnRenderer.Text.Runs; if (countFlexColumns >= IndexInColumnsForArtist + 1) { Artist = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForArtist].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; } if (countFlexColumns >= IndexInColumnsForYear + 1) { Year = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForYear].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; } if (countFlexColumns >= IndexInColumnsForReleaseDate + 1) { ReleaseDate = content.MusicResponsiveListItemRenderer.FlexColumns[IndexInColumnsForReleaseDate].MusicResponsiveListItemFlexColumnRenderer.Text.Runs[IndexInRuns].Text; } if (runs.Count >= IndexInColumnsForArtist + 1) { Artist = runs[IndexInColumnsForArtist].Text; } if (runs.Count >= IndexInColumnsForReleaseDate + 1) { ReleaseDate = runs[IndexInColumnsForReleaseDate].Text; } }