diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index cefc409..0dc6325 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -540,6 +540,7 @@ async fn music_album(testfiles: &Path) { ("one_artist", "MPREb_nlBWQROfvjo"), ("various_artists", "MPREb_8QkDeEIawvX"), ("single", "MPREb_bHfHGoy7vuv"), + ("description", "MPREb_PiyfuVl6aYd"), ] { let mut json_path = testfiles.to_path_buf(); json_path.push("music_playlist"); diff --git a/src/client/music_artist.rs b/src/client/music_artist.rs index f9a2de3..2039222 100644 --- a/src/client/music_artist.rs +++ b/src/client/music_artist.rs @@ -177,7 +177,7 @@ fn map_artist_page( for section in sections { match section { - response::music_artist::ItemSection::MusicShelfRenderer(shelf) => { + response::music_item::ItemSection::MusicShelfRenderer(shelf) => { if tracks_playlist_id.is_none() { if let Some(ep) = shelf.bottom_endpoint { if let Some(cfg) = @@ -194,10 +194,7 @@ fn map_artist_page( mapper.map_response(shelf.contents); } - response::music_artist::ItemSection::MusicCarouselShelfRenderer { - header, - contents, - } => { + response::music_item::ItemSection::MusicCarouselShelfRenderer { header, contents } => { let mut extendable_albums = false; if let Some(h) = header { let ep = h @@ -228,7 +225,7 @@ fn map_artist_page( mapper.map_response(contents); } } - response::music_artist::ItemSection::None => {} + response::music_item::ItemSection::None => {} } } diff --git a/src/client/music_playlist.rs b/src/client/music_playlist.rs index 9fdb89f..5cf7a05 100644 --- a/src/client/music_playlist.rs +++ b/src/client/music_playlist.rs @@ -72,7 +72,7 @@ impl MapResponse for response::MusicPlaylist { .contents .into_iter() .find_map(|section| match section { - response::music_playlist::ItemSection::MusicShelfRenderer(shelf) => Some(shelf), + response::music_item::ItemSection::MusicShelfRenderer(shelf) => Some(shelf), _ => None, }) .ok_or(ExtractionError::InvalidData(Cow::Borrowed( @@ -167,11 +167,11 @@ impl MapResponse for response::MusicPlaylist { let mut album_variants = None; for section in sections { match section { - response::music_playlist::ItemSection::MusicShelfRenderer(sh) => shelf = Some(sh), - response::music_playlist::ItemSection::MusicCarouselShelfRenderer { contents } => { - album_variants = Some(contents) - } - response::music_playlist::ItemSection::None => (), + response::music_item::ItemSection::MusicShelfRenderer(sh) => shelf = Some(sh), + response::music_item::ItemSection::MusicCarouselShelfRenderer { + contents, .. + } => album_variants = Some(contents), + response::music_item::ItemSection::None => (), } } let shelf = shelf.ok_or(ExtractionError::InvalidData(Cow::Borrowed( @@ -230,6 +230,7 @@ impl MapResponse for response::MusicPlaylist { name: header.title, cover: header.thumbnail.into(), artists, + description: header.description, album_type, year, by_va, @@ -278,6 +279,7 @@ mod tests { #[case::one_artist("one_artist", "MPREb_nlBWQROfvjo")] #[case::various_artists("various_artists", "MPREb_8QkDeEIawvX")] #[case::single("single", "MPREb_bHfHGoy7vuv")] + #[case::description("description", "MPREb_PiyfuVl6aYd")] fn map_music_album(#[case] name: &str, #[case] id: &str) { let filename = format!("testfiles/music_playlist/album_{}.json", name); let json_path = Path::new(&filename); diff --git a/src/client/response/music_artist.rs b/src/client/response/music_artist.rs index 39cfbd5..3e0d7bb 100644 --- a/src/client/response/music_artist.rs +++ b/src/client/response/music_artist.rs @@ -1,11 +1,10 @@ use serde::Deserialize; use serde_with::{serde_as, DefaultOnError}; -use crate::serializer::{ignore_any, text::Text, MapResult, VecLogError}; +use crate::serializer::{text::Text, MapResult, VecLogError}; use super::{ - music_item::{MusicResponseItem, MusicShelf, MusicThumbnailRenderer}, - url_endpoint::NavigationEndpoint, + music_item::{ItemSection, MusicResponseItem, MusicThumbnailRenderer}, ContentsRenderer, Tab, }; @@ -29,22 +28,6 @@ pub(crate) struct SectionList { pub section_list_renderer: ContentsRenderer, } -#[serde_as] -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) enum ItemSection { - MusicShelfRenderer(MusicShelf), - MusicCarouselShelfRenderer { - #[serde(default)] - #[serde_as(as = "DefaultOnError")] - header: Option, - #[serde_as(as = "VecLogError<_>")] - contents: MapResult>, - }, - #[serde(other, deserialize_with = "ignore_any")] - None, -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Header { @@ -82,30 +65,6 @@ pub(crate) struct SubscriptionButtonRenderer { pub subscriber_count_text: String, } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct MusicCarouselShelfHeader { - pub music_carousel_shelf_basic_header_renderer: MusicCarouselShelfHeaderRenderer, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct MusicCarouselShelfHeaderRenderer { - pub more_content_button: MoreContentButton, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct MoreContentButton { - pub button_renderer: ButtonRenderer, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct ButtonRenderer { - pub navigation_endpoint: NavigationEndpoint, -} - /// Response model for YouTube Music artist album page #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] diff --git a/src/client/response/music_item.rs b/src/client/response/music_item.rs index ef698dd..16ee6da 100644 --- a/src/client/response/music_item.rs +++ b/src/client/response/music_item.rs @@ -8,6 +8,7 @@ use crate::{ }, param::Language, serializer::{ + ignore_any, text::{Text, TextComponents}, MapResult, VecLogError, }, @@ -19,6 +20,23 @@ use super::{ MusicContinuationData, ThumbnailsWrap, }; +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) enum ItemSection { + #[serde(alias = "musicPlaylistShelfRenderer")] + MusicShelfRenderer(MusicShelf), + MusicCarouselShelfRenderer { + #[serde(default)] + #[serde_as(as = "DefaultOnError")] + header: Option, + #[serde_as(as = "VecLogError<_>")] + contents: MapResult>, + }, + #[serde(other, deserialize_with = "ignore_any")] + None, +} + #[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] @@ -191,6 +209,30 @@ pub(crate) struct ContinuationContents { pub music_shelf_continuation: MusicShelf, } +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct MusicCarouselShelfHeader { + pub music_carousel_shelf_basic_header_renderer: MusicCarouselShelfHeaderRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct MusicCarouselShelfHeaderRenderer { + pub more_content_button: MoreContentButton, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct MoreContentButton { + pub button_renderer: ButtonRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct ButtonRenderer { + pub navigation_endpoint: NavigationEndpoint, +} + /* #MAPPER */ diff --git a/src/client/response/music_playlist.rs b/src/client/response/music_playlist.rs index 2b1dabb..6e2fb2e 100644 --- a/src/client/response/music_playlist.rs +++ b/src/client/response/music_playlist.rs @@ -1,15 +1,9 @@ use serde::Deserialize; use serde_with::{serde_as, DefaultOnError, VecSkipError}; -use crate::serializer::{ - ignore_any, - text::{Text, TextComponents}, - MapResult, VecLogError, -}; +use crate::serializer::text::{Text, TextComponents}; -use super::music_item::{ - MusicContentsRenderer, MusicResponseItem, MusicShelf, MusicThumbnailRenderer, -}; +use super::music_item::{ItemSection, MusicContentsRenderer, MusicThumbnailRenderer}; use super::{ContentsRenderer, Tab}; /// Response model for YouTube Music playlists and albums @@ -33,20 +27,6 @@ pub(crate) struct SectionList { pub section_list_renderer: MusicContentsRenderer, } -#[serde_as] -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) enum ItemSection { - #[serde(alias = "musicPlaylistShelfRenderer")] - MusicShelfRenderer(MusicShelf), - MusicCarouselShelfRenderer { - #[serde_as(as = "VecLogError<_>")] - contents: MapResult>, - }, - #[serde(other, deserialize_with = "ignore_any")] - None, -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Header { @@ -67,7 +47,7 @@ pub(crate) struct HeaderRenderer { /// `"Album", " • ", <"Helene Fischer">, " • ", "2021"` #[serde(default)] pub subtitle: TextComponents, - /// Playlist description. May contain hashtags which are + /// Playlist/album description. May contain hashtags which are /// displayed as search links on the YouTube website. #[serde_as(as = "Option")] pub description: Option, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap new file mode 100644 index 0000000..252e7b1 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap @@ -0,0 +1,253 @@ +--- +source: src/client/music_playlist.rs +expression: map_res.c +--- +MusicAlbum( + id: "MPREb_PiyfuVl6aYd", + playlist_id: Some("OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY"), + name: "25", + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + description: Some("25 is the third studio album by English singer-songwriter Adele, released on 20 November 2015 by XL Recordings and Columbia Records. The album is titled as a reflection of her life and frame of mind at 25 years old and is termed a \"make-up record\". Its lyrical content features themes of Adele \"yearning for her old self, her nostalgia\", and \"melancholia about the passage of time\" according to an interview with the singer by Rolling Stone, as well as themes of motherhood and regret. In contrast to Adele\'s previous works, the production of 25 incorporated the use of electronic elements and creative rhythmic patterns, with elements of 1980s R&B and organs. Like when recording 21, Adele worked with producer and songwriter Paul Epworth and Ryan Tedder, along with new collaborations with Max Martin and Shellback, Bruno Mars, Greg Kurstin, Danger Mouse, the Smeezingtons, Samuel Dixon, and Tobias Jesso Jr.\n25 received generally positive reviews from music critics, who commended its production and Adele\'s vocal performance.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/25_(Adele_album)) under Creative Commons Attribution CC-BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/legalcode)"), + album_type: Album, + year: Some(2015), + by_va: false, + tracks: [ + TrackItem( + id: "YQHsXMglC9A", + title: "Hello", + duration: Some(296), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(1), + ), + TrackItem( + id: "fk4BbF7B29w", + title: "Send My Love (To Your New Lover)", + duration: Some(224), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(2), + ), + TrackItem( + id: "z7NEG3SGZ_g", + title: "I Miss You", + duration: Some(349), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(3), + ), + TrackItem( + id: "a1IuJLebHgM", + title: "When We Were Young", + duration: Some(291), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(4), + ), + TrackItem( + id: "-fsCc7Be1H0", + title: "Remedy", + duration: Some(246), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(5), + ), + TrackItem( + id: "l8djdhhFuxo", + title: "Water Under the Bridge", + duration: Some(241), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(6), + ), + TrackItem( + id: "Qiu59lZShCo", + title: "River Lea", + duration: Some(226), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(7), + ), + TrackItem( + id: "-hzFTJDJGkQ", + title: "Love in the Dark", + duration: Some(286), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(8), + ), + TrackItem( + id: "Db9ciJPIaEU", + title: "Million Years Ago", + duration: Some(228), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(9), + ), + TrackItem( + id: "jb5g4UFHmfQ", + title: "All I Ask", + duration: Some(272), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(10), + ), + TrackItem( + id: "1kZsaRkVEUY", + title: "Sweetest Devotion", + duration: Some(252), + cover: [], + artists: [ + ArtistId( + id: Some("UCRw0x9_EfawqmgDI2IgQLLg"), + name: "Adele", + ), + ], + album: Some(AlbumId( + id: "MPREb_PiyfuVl6aYd", + name: "25", + )), + view_count: None, + is_video: false, + track_nr: Some(11), + ), + ], + variants: [], +) diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap index d069d5d..1d4155c 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap @@ -34,6 +34,7 @@ MusicAlbum( name: "Oonagh", ), ], + description: None, album_type: Album, year: Some(2016), by_va: false, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap index 21a9acd..7921f84 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap @@ -38,6 +38,7 @@ MusicAlbum( name: "Vanessa Mai", ), ], + description: None, album_type: Single, year: Some(2020), by_va: false, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap index 300d837..94f3093 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap @@ -29,6 +29,7 @@ MusicAlbum( ), ], artists: [], + description: None, album_type: Single, year: Some(2022), by_va: true, diff --git a/src/model/mod.rs b/src/model/mod.rs index b0a0847..d6a54d2 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -1030,6 +1030,8 @@ pub struct MusicAlbum { pub cover: Vec, /// Artists of the album pub artists: Vec, + /// Album description in plaintext format + pub description: Option, /// Album type (Album/Single/EP) pub album_type: AlbumType, /// Release year diff --git a/testfiles/music_playlist/album_description.json b/testfiles/music_playlist/album_description.json new file mode 100644 index 0000000..0b3a347 --- /dev/null +++ b/testfiles/music_playlist/album_description.json @@ -0,0 +1,5872 @@ +{ + "contents": { + "singleColumnBrowseResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "content": { + "sectionListRenderer": { + "contents": [ + { + "musicShelfRenderer": { + "contents": [ + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:56" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CLQBEMn0AhgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "YQHsXMglC9A", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "text": "Hello" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "1" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1ZUUhzWE1nbEM5QQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMYQHsXMglC9A", + "videoId": "YQHsXMglC9A", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CMIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CMEBEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CMABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "YQHsXMglC9A" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CMABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CL4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CL8BEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CL4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "YQHsXMglC9A" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CL4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CL0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CL0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CLwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CLsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CLsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtZUUhzWE1nbEM5QQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CLoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CLcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CLkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CLkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CLcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CLgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CLgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "YQHsXMglC9A" + }, + "trackingParams": "CLcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "trackingParams": "CLYBEKc7IhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CLUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC1lRSHNYTWdsQzlBEhAyOTQ5Q0Q5MDQ1Q0YxOUQ4", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CLUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Hello - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Hello - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CMMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "YQHsXMglC9A", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CMMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "2949CD9045CF19D8", + "videoId": "YQHsXMglC9A" + }, + "trackingParams": "CLQBEMn0AhgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "3:44" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CKQBEMn0AhgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "fk4BbF7B29w", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "text": "Send My Love (To Your New Lover)" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "2" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1mazRCYkY3QjI5dw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMfk4BbF7B29w", + "videoId": "fk4BbF7B29w", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CLIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CLEBEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CLABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "fk4BbF7B29w" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CLABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CK4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CK8BEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CK4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "fk4BbF7B29w" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CK4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CK0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CK0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CKwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CKsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CKsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtmazRCYkY3QjI5dw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CKoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CKcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CKcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "fk4BbF7B29w" + }, + "trackingParams": "CKcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "trackingParams": "CKYBEKc7IhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CKUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC2ZrNEJiRjdCMjl3EhA1RjA3NEYxMDUyNkVCM0VF", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CKUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Send My Love (To Your New Lover) - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Send My Love (To Your New Lover) - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CLMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "fk4BbF7B29w", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CLMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "5F074F10526EB3EE", + "videoId": "fk4BbF7B29w" + }, + "trackingParams": "CKQBEMn0AhgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "5:49" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CJQBEMn0AhgCIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "z7NEG3SGZ_g", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "I Miss You" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "3" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk16N05FRzNTR1pfZw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMz7NEG3SGZ_g", + "videoId": "z7NEG3SGZ_g", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CKIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CKEBEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CKABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "z7NEG3SGZ_g" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CKABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJ4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CJ8BEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CJ4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "z7NEG3SGZ_g" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CJ4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJ0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJ0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CJwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CJsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CJsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgt6N05FRzNTR1pfZw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CJoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CJcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CJcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "z7NEG3SGZ_g" + }, + "trackingParams": "CJcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "trackingParams": "CJYBEKc7IhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CJUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC3o3TkVHM1NHWl9nEhAzQTQ1MTQxMEE4NUYzNjU1", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CJUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause I Miss You - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play I Miss You - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CKMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "3A451410A85F3655", + "videoId": "z7NEG3SGZ_g", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CKMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "3A451410A85F3655", + "videoId": "z7NEG3SGZ_g" + }, + "trackingParams": "CJQBEMn0AhgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:51" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CIQBEMn0AhgDIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "a1IuJLebHgM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "When We Were Young" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "4" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1hMUl1SkxlYkhnTQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMa1IuJLebHgM", + "videoId": "a1IuJLebHgM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CJIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CJEBEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CJABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "a1IuJLebHgM" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CJABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CI8BEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CI4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "a1IuJLebHgM" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CI4BEPvvBRgCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CI0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CI0BEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CIwBEMOUBhgDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CIsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CIsBEJD7BRgEIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo", + "shareEntityEndpoint": { + "serializedShareEntity": "CgthMUl1SkxlYkhnTQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CIoBEJH7BRgFIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CIcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIkBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CIcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIgBEPBbIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "a1IuJLebHgM" + }, + "trackingParams": "CIcBEKVBGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "trackingParams": "CIYBEKc7IhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CIUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC2ExSXVKTGViSGdNEhA5MTZBRTA3MzdBMjE3QzVD", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CIUBEL6-CSITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause When We Were Young - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play When We Were Young - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CJMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "916AE0737A217C5C", + "videoId": "a1IuJLebHgM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CJMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "916AE0737A217C5C", + "videoId": "a1IuJLebHgM" + }, + "trackingParams": "CIQBEMn0AhgDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:06" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CHQQyfQCGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "-fsCc7Be1H0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "Remedy" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "5" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0tZnNDYzdCZTFIMA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM-fsCc7Be1H0", + "videoId": "-fsCc7Be1H0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CIIBEJvzBRgAIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CIEBEMrHAyITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + }, + "clickTrackingParams": "CIABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "-fsCc7Be1H0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CIABEL7uBRgBIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CH4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CH8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CH4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "-fsCc7Be1H0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CH4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CH0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CH0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CHwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CHsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CHsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgstZnNDYzdCZTFIMA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CHoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CHcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CHcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "-fsCc7Be1H0" + }, + "trackingParams": "CHcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CHYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CHUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KCy1mc0NjN0JlMUgwEhA5OEM4MDkxNDhFQkE1ODM5", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CHUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Remedy - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Remedy - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CIMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "98C809148EBA5839", + "videoId": "-fsCc7Be1H0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CIMBEMjeAiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "98C809148EBA5839", + "videoId": "-fsCc7Be1H0" + }, + "trackingParams": "CHQQyfQCGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:01" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CGQQyfQCGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "l8djdhhFuxo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "Water Under the Bridge" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "6" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1sOGRqZGhoRnV4bw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMl8djdhhFuxo", + "videoId": "l8djdhhFuxo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CHIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CHEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CHAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "l8djdhhFuxo" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CHAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CG4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CG8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CG4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "l8djdhhFuxo" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CG4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CG0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CG0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CGwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CGsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CGsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtsOGRqZGhoRnV4bw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CGoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CGcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CGcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "l8djdhhFuxo" + }, + "trackingParams": "CGcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CGYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CGUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC2w4ZGpkaGhGdXhvEhBFOEVGMUFENjYxM0YyQUQ2", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CGUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Water Under the Bridge - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Water Under the Bridge - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CHMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "E8EF1AD6613F2AD6", + "videoId": "l8djdhhFuxo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CHMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "E8EF1AD6613F2AD6", + "videoId": "l8djdhhFuxo" + }, + "trackingParams": "CGQQyfQCGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "3:46" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CFQQyfQCGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "Qiu59lZShCo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "River Lea" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "7" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1RaXU1OWxaU2hDbw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMQiu59lZShCo", + "videoId": "Qiu59lZShCo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CGIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CGEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CGAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "Qiu59lZShCo" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CGAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CF4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CF8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CF4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "Qiu59lZShCo" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CF4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CF0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CF0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CFwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CFsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CFsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtRaXU1OWxaU2hDbw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CFoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CFcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CFcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "Qiu59lZShCo" + }, + "trackingParams": "CFcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CFYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CFUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC1FpdTU5bFpTaENvEhAzMzJCNTg3MDM0OTMyMDIx", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CFUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause River Lea - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play River Lea - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CGMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "332B587034932021", + "videoId": "Qiu59lZShCo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CGMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "332B587034932021", + "videoId": "Qiu59lZShCo" + }, + "trackingParams": "CFQQyfQCGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:46" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CEQQyfQCGAciEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "-hzFTJDJGkQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "Love in the Dark" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "8" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0taHpGVEpESkdrUQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM-hzFTJDJGkQ", + "videoId": "-hzFTJDJGkQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CFIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CFEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CFAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "-hzFTJDJGkQ" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CFAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CE4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CE8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CE4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "-hzFTJDJGkQ" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CE4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CE0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CE0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CEwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CEsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CEsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgstaHpGVEpESkdrUQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CEoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CEcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CEcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "-hzFTJDJGkQ" + }, + "trackingParams": "CEcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CEYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CEUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KCy1oekZUSkRKR2tREhBCMEZFMTVDQjRFMDA3REE4", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CEUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Love in the Dark - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Love in the Dark - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CFMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "B0FE15CB4E007DA8", + "videoId": "-hzFTJDJGkQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CFMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "B0FE15CB4E007DA8", + "videoId": "-hzFTJDJGkQ" + }, + "trackingParams": "CEQQyfQCGAciEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "3:48" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CDQQyfQCGAgiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "Db9ciJPIaEU", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "Million Years Ago" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "9" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1EYjljaUpQSWFFVQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMDb9ciJPIaEU", + "videoId": "Db9ciJPIaEU", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CEIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CEEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CEAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "Db9ciJPIaEU" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CEAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CD4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CD8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CD4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "Db9ciJPIaEU" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CD4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CD0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CD0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CDwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CDsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CDsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtEYjljaUpQSWFFVQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CDoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CDcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CDkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CDkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CDcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CDgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CDgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "Db9ciJPIaEU" + }, + "trackingParams": "CDcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CDYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CDUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC0RiOWNpSlBJYUVVEhAxRDQ5RjcyQUZCMUQxMTQx", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CDUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Million Years Ago - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Million Years Ago - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CEMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "1D49F72AFB1D1141", + "videoId": "Db9ciJPIaEU", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CEMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "1D49F72AFB1D1141", + "videoId": "Db9ciJPIaEU" + }, + "trackingParams": "CDQQyfQCGAgiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:32" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CCQQyfQCGAkiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "jb5g4UFHmfQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "All I Ask" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "10" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1qYjVnNFVGSG1mUQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMjb5g4UFHmfQ", + "videoId": "jb5g4UFHmfQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CDIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CDEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CDAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "jb5g4UFHmfQ" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CDAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CC4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CC8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CC4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "jb5g4UFHmfQ" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CC4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CC0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CC0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CCwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CCsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CCsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtqYjVnNFVGSG1mUQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CCoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CCcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CCcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "jb5g4UFHmfQ" + }, + "trackingParams": "CCcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CCYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CCUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KC2piNWc0VUZIbWZREhA1QTdFQkU1OTFFQTY3OTgz", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CCUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause All I Ask - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play All I Ask - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CDMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "5A7EBE591EA67983", + "videoId": "jb5g4UFHmfQ", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CDMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "5A7EBE591EA67983", + "videoId": "jb5g4UFHmfQ" + }, + "trackingParams": "CCQQyfQCGAkiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "musicResponsiveListItemRenderer": { + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL", + "text": { + "runs": [ + { + "text": "4:12" + } + ] + } + } + } + ], + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": { + "runs": [ + { + "navigationEndpoint": { + "clickTrackingParams": "CBQQyfQCGAoiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "videoId": "1kZsaRkVEUY", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": "Sweetest Devotion" + } + ] + } + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "text": {} + } + } + ], + "index": { + "runs": [ + { + "text": "11" + } + ] + }, + "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0xa1pzYVJrVkVVWQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM1kZsaRkVEUY", + "videoId": "1kZsaRkVEUY", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CCIQm_MFGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CCEQyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CCAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "1kZsaRkVEUY" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CCAQvu4FGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CB4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CB8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CB4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "1kZsaRkVEUY" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CB4Q--8FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CB0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CB0Q8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CBwQw5QGGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CBsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CBsQkPsFGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgsxa1pzYVJrVkVVWQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CBoQkfsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CBcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBkQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CBcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBgQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "1kZsaRkVEUY" + }, + "trackingParams": "CBcQpUEYBiITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CBYQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "multiSelectCheckbox": { + "checkboxRenderer": { + "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", + "onSelectionChangeCommand": { + "clickTrackingParams": "CBUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo", + "updateMultiSelectStateCommand": { + "multiSelectItem": "Ch8KCzFrWnNhUmtWRVVZEhBDNzdCQjExQ0ExNjEwRTUz", + "multiSelectParams": "CAMSKU9MQUs1dXlfay1CaTZOTHJxNURyREtQTHVpUnZtN05zYk1jY0tJY0VZ" + } + }, + "trackingParams": "CBUQvr4JIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Sweetest Devotion - Adele" + } + }, + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Sweetest Devotion - Adele" + } + }, + "activeBackgroundColor": 0, + "activeScaleFactor": 1, + "backgroundColor": 0, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "iconColor": 4294967295, + "iconLoadingColor": 0, + "loadingIndicatorColor": 4294901760, + "pauseIcon": { + "iconType": "PAUSE" + }, + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "playNavigationEndpoint": { + "clickTrackingParams": "CCMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D" + } + }, + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY", + "playlistSetVideoId": "C77BB11CA1610E53", + "videoId": "1kZsaRkVEUY", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "trackingParams": "CCMQyN4CIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "playlistItemData": { + "playlistSetVideoId": "C77BB11CA1610E53", + "videoId": "1kZsaRkVEUY" + }, + "trackingParams": "CBQQyfQCGAoiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "contentsMultiSelectable": true, + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + }, + "trackingParams": "CBMQ-V4YACITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CBIQui8iEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "trackingParams": "CBEQ8JMBGAAiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ] + } + }, + "header": { + "musicDetailHeaderRenderer": { + "description": { + "runs": [ + { + "text": "25 is the third studio album by English singer-songwriter Adele, released on 20 November 2015 by XL Recordings and Columbia Records. The album is titled as a reflection of her life and frame of mind at 25 years old and is termed a \"make-up record\". Its lyrical content features themes of Adele \"yearning for her old self, her nostalgia\", and \"melancholia about the passage of time\" according to an interview with the singer by Rolling Stone, as well as themes of motherhood and regret. In contrast to Adele's previous works, the production of 25 incorporated the use of electronic elements and creative rhythmic patterns, with elements of 1980s R&B and organs. Like when recording 21, Adele worked with producer and songwriter Paul Epworth and Ryan Tedder, along with new collaborations with Max Martin and Shellback, Bruno Mars, Greg Kurstin, Danger Mouse, the Smeezingtons, Samuel Dixon, and Tobias Jesso Jr.\n25 received generally positive reviews from music critics, who commended its production and Adele's vocal performance.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/25_(Adele_album)) under Creative Commons Attribution CC-BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/legalcode)" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MUSIC_SHUFFLE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAQQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECKAE%3D", + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + }, + "text": { + "runs": [ + { + "text": "Shuffle play" + } + ] + }, + "trackingParams": "CAQQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBAQm_MFGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "watchPlaylistEndpoint": { + "params": "wAEB", + "playlistId": "RDAMPLOLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CBAQm_MFGAEiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CA4Qvu4FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Album will play next" + } + ] + }, + "trackingParams": "CA8QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CA4Qvu4FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CA4Qvu4FGAIiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAwQ--8FGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Album added to queue" + } + ] + }, + "trackingParams": "CA0QyscDIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + } + }, + "clickTrackingParams": "CAwQ--8FGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CAwQ--8FGAMiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAoQw5QGGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAsQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CAoQw5QGGAQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CAkQkPsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CAkQkPsFGAUiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAgQkfsFGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "shareEntityEndpoint": { + "serializedShareEntity": "EilPTEFLNXV5X2stQmk2TkxycTVEckRLUEx1aVJ2bTdOc2JNY2NLSWNFWQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CAgQkfsFGAYiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + } + ], + "topLevelButtons": [ + { + "buttonRenderer": { + "accessibility": { + "label": "PLAY ALL" + }, + "accessibilityData": { + "accessibilityData": { + "label": "PLAY ALL" + } + }, + "icon": { + "iconType": "PLAY_ARROW" + }, + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAcQ8FsYByITCITF2qCOmvsCFcetVQodfBAG6A==", + "watchPlaylistEndpoint": { + "playlistId": "OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + }, + "size": "SIZE_DEFAULT", + "style": "STYLE_DEFAULT", + "text": { + "runs": [ + { + "text": "Play" + } + ] + }, + "trackingParams": "CAcQ8FsYByITCITF2qCOmvsCFcetVQodfBAG6A==" + } + }, + { + "toggleButtonRenderer": { + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultNavigationEndpoint": { + "clickTrackingParams": "CAUQmE0YCCITCITF2qCOmvsCFcetVQodfBAG6A==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAYQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAYQ8FsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "content": { + "runs": [ + { + "text": "Add favorites to your library after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "defaultText": { + "accessibility": { + "accessibilityData": { + "label": "Add to library" + } + }, + "runs": [ + { + "text": "Add to library" + } + ] + }, + "isDisabled": false, + "isToggled": false, + "toggledIcon": { + "iconType": "LIBRARY_REMOVE" + }, + "toggledText": { + "accessibility": { + "accessibilityData": { + "label": "Remove from library" + } + }, + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "trackingParams": "CAUQmE0YCCITCITF2qCOmvsCFcetVQodfBAG6A==" + } + } + ], + "trackingParams": "CAQQpzsiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "moreButton": { + "toggleButtonRenderer": { + "defaultIcon": { + "iconType": "EXPAND" + }, + "defaultText": { + "runs": [ + { + "text": "More" + } + ] + }, + "isDisabled": false, + "isToggled": false, + "toggledIcon": { + "iconType": "COLLAPSE" + }, + "toggledText": { + "runs": [ + { + "text": "Less" + } + ] + }, + "trackingParams": "CAIQmE0iEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "secondSubtitle": { + "runs": [ + { + "text": "11 songs" + }, + { + "text": " • " + }, + { + "text": "48 minutes" + } + ] + }, + "subtitle": { + "runs": [ + { + "text": "Album" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCRw0x9_EfawqmgDI2IgQLLg" + }, + "clickTrackingParams": "CAEQ99wCIhMIhMXaoI6a-wIVx61VCh18EAbo" + }, + "text": "Adele" + }, + { + "text": " • " + }, + { + "text": "2015" + } + ] + }, + "thumbnail": { + "croppedSquareThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/LRj9RZOKcS7PrG-NvXKnwSekCqXNWMItrnuF6WXmr3MeujS1HxqjiATe6H5HCM6-hoHNYncjmlIovaaH=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "trackingParams": "CAMQymQiEwiExdqgjpr7AhXHrVUKHXwQBug=" + } + }, + "title": { + "runs": [ + { + "text": "25" + } + ] + }, + "trackingParams": "CAEQ99wCIhMIhMXaoI6a-wIVx61VCh18EAbo" + } + }, + "microformat": { + "microformatDataRenderer": { + "urlCanonical": "https://music.youtube.com/playlist?list=OLAK5uy_k-Bi6NLrq5DrDKPLuiRvm7NsbMccKIcEY" + } + }, + "responseContext": { + "serviceTrackingParams": [ + { + "params": [ + { + "key": "has_unlimited_entitlement", + "value": "False" + }, + { + "key": "browse_id", + "value": "MPREb_PiyfuVl6aYd" + }, + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714256,23804281,23882503,23918597,23934970,23940248,23946420,23966208,23983296,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036947,24056145,24077241,24080738,24120819,24135310,24140247,24161116,24162919,24164186,24169501,24181174,24185614,24187043,24187377,24191629,24197450,24199724,24200839,24211178,24217535,24219713,24230619,24231806,24241378,24248092,24255165,24255543,24255545,24257695,24260783,24262346,24263796,24267564,24267570,24268142,24278596,24279196,24279852,24282829,24282967,24283495,24283556,24283657,24286005,24286017,24287327,24287370,24287795,24288045,24290971,24292955,24293804,24299747,24390675,24391009,24391537,24392269,24392405,24393382,24396819,24397915,24398048,24398124,24398595,24401557,24402891,24406381,24406605,24406984,24407199,24407665,24413145,24413556,24414199,24414637,24590921,39322399,39322504,39322574" + } + ], + "service": "GFEEDBACK" + }, + { + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20221031.00.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetBrowseAlbumDetailPage_rid", + "value": "0x3b95e42b9c6605be" + } + ], + "service": "CSI" + }, + { + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + }, + { + "key": "client.fexp", + "value": "24283657,23983296,24398595,24299747,24406605,24255543,24407199,24283495,24260783,24292955,24267564,24263796,24391537,24161116,24290971,24191629,24001373,24036947,23998056,24283556,24185614,24077241,24056145,24187377,24257695,24278596,24282829,24007246,24187043,23918597,24268142,23882503,24135310,23946420,24199724,23966208,24287327,24219713,24406984,24398124,23804281,24407665,24140247,24391009,24164186,24286017,24080738,24267570,24002025,39322574,1714256,24393382,24255545,24390675,39322504,24120819,24414199,24401557,24279196,24287795,24231806,24162919,24230619,24004644,24287370,24217535,24392269,39322399,24414637,24392405,23940248,24590921,23934970,24396819,24398048,24406381,24262346,24248092,24197450,24286005,24211178,24200839,24413145,24181174,24034168,24002022,24279852,24288045,24293804,24397915,24241378,24255165,24169501,24282967,24413556,24402891" + } + ], + "service": "ECATCHER" + } + ], + "visitorData": "CgsxUzNCQjZYSlBJZyiH5p-bBg%3D%3D" + }, + "trackingParams": "CAAQhGciEwiExdqgjpr7AhXHrVUKHXwQBug=" +} diff --git a/tests/snapshots/youtube__music_album_audiobook.snap b/tests/snapshots/youtube__music_album_audiobook.snap index 9a920df..89bca47 100644 --- a/tests/snapshots/youtube__music_album_audiobook.snap +++ b/tests/snapshots/youtube__music_album_audiobook.snap @@ -17,6 +17,7 @@ MusicAlbum( name: "Dirk Jacobs", ), ], + description: None, album_type: Audiobook, year: Some(2022), by_va: false, diff --git a/tests/snapshots/youtube__music_album_ep.snap b/tests/snapshots/youtube__music_album_ep.snap index a4dd811..4483204 100644 --- a/tests/snapshots/youtube__music_album_ep.snap +++ b/tests/snapshots/youtube__music_album_ep.snap @@ -13,6 +13,7 @@ MusicAlbum( name: "Madeline Juno", ), ], + description: None, album_type: Ep, year: Some(2016), by_va: false, diff --git a/tests/snapshots/youtube__music_album_one_artist.snap b/tests/snapshots/youtube__music_album_one_artist.snap index 9f9e435..ff58b3c 100644 --- a/tests/snapshots/youtube__music_album_one_artist.snap +++ b/tests/snapshots/youtube__music_album_one_artist.snap @@ -13,6 +13,7 @@ MusicAlbum( name: "Oonagh", ), ], + description: None, album_type: Album, year: Some(2016), by_va: false, diff --git a/tests/snapshots/youtube__music_album_show.snap b/tests/snapshots/youtube__music_album_show.snap index 17cc88a..b6651a5 100644 --- a/tests/snapshots/youtube__music_album_show.snap +++ b/tests/snapshots/youtube__music_album_show.snap @@ -13,6 +13,7 @@ MusicAlbum( name: "Kingdom Force", ), ], + description: None, album_type: Show, year: Some(2022), by_va: false, diff --git a/tests/snapshots/youtube__music_album_single.snap b/tests/snapshots/youtube__music_album_single.snap index d199c09..b90849e 100644 --- a/tests/snapshots/youtube__music_album_single.snap +++ b/tests/snapshots/youtube__music_album_single.snap @@ -17,6 +17,7 @@ MusicAlbum( name: "Vanessa Mai", ), ], + description: None, album_type: Single, year: Some(2020), by_va: false, diff --git a/tests/snapshots/youtube__music_album_various_artists.snap b/tests/snapshots/youtube__music_album_various_artists.snap index 723533b..541fa1f 100644 --- a/tests/snapshots/youtube__music_album_various_artists.snap +++ b/tests/snapshots/youtube__music_album_various_artists.snap @@ -8,6 +8,7 @@ MusicAlbum( name: "<Queendom2> FINAL", cover: "[cover]", artists: [], + description: None, album_type: Single, year: Some(2022), by_va: true, diff --git a/tests/youtube.rs b/tests/youtube.rs index 774776f..834a3fd 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -1587,7 +1587,11 @@ async fn music_search_albums( #[tokio::test] async fn music_search_artists() { let rp = RustyPipe::builder().strict().build(); - let res = rp.query().music_search_artists("namika").await.unwrap(); + let res = rp + .query() + .music_search_artists("namika lieblingsmensch") + .await + .unwrap(); let artist = &res.items.items[0]; assert_eq!(artist.id, "UCIh4j8fXWf2U0ro0qnGU8Mg");