diff --git a/.gitignore b/.gitignore index beb432f6..b724b2a3 100644 --- a/.gitignore +++ b/.gitignore @@ -118,6 +118,7 @@ dist .pnp.* config/*.json +config/yti-* *.txt .idea/ diff --git a/config/ytmusic.json.example b/config/ytmusic.json.example index 758fb51a..ffb48e99 100644 --- a/config/ytmusic.json.example +++ b/config/ytmusic.json.example @@ -4,8 +4,6 @@ "enable": true, "clients": [], "data": { - "cookie": "VISITOR_INFO1_LIVE=jMDXz2_L8rY; __Secure-3PAPISID=3AxsXpSXGqOInSDn1jEKn; DEVICE_INFO=ChxOekU0TmTBpjek5EWZ0G; YSC=7gZdl3Zdl3; SID=TwhNsaZRXYTAtXxzGyu6rZdpg2HvGROeW8J4Ym_FhkhoZMUYEQ.; __Secure-1PSID=TwhNOsaZRXYTyRBe4rxAtXRIKsIEtk_Qot2VLBNfHQrQ.; __Secure-3PSID=ZRXYTAtXRIKsIEtk_Qot2yRBerZdpg2HvvZRXYTAtXRIKsIEtk_Qot2yRBerkuZICFQ.; HSID=A1UMmELW79; SSID=AKhomOs; APISID=IlHHmuzkPdQzZZDhHn3; SAPISID=3AxsXpy0u75Qb/n1jEKn; __Secure-1PAPISID=3AxsXpQb/AkSDn1jEKn; LOGIN_INFO=AFmP6vFpyVCZZAIgDwbkhWMBBhluaIWAPP:QUQ314UW5NWMjNmd2ZUJnYnJsakdIMjZoaE5zVVMjNmd2ZZUiHRlb3ZlV3ZIcUVyRVIMjNmdjNmd2ZZUivYlNqX2ZNZUiHdUNFNFdaYmJIW1NkJRX3hqdlU2YnFESkFuSS1uTldnZVRmLXNjWFc5OUJuR3dTd3JsZGZYa2EtZFQ2a0k2Ry1KQQ==; PREF=volume=26; SIDCC=AFvI_94PxXwls-ndqpGfPgFX3FWj80y_94PxXwls-ndqfSh15sP; __Secure-1PSIDCC=AFvIBnUbRr96I96UCIp2U4T8HRVk2B0HfKzhzxwsiP; __Secure-3PSIDCC=AFvIB3bINuUN0ETDR9gO91wpwWIVmpGki3BxT3bINuUN0ETDR9gO91wCH", - "authUser": 0 } } ] diff --git a/docsite/docs/configuration/configuration.mdx b/docsite/docs/configuration/configuration.mdx index 1b9446a5..bf9ae6da 100644 --- a/docsite/docs/configuration/configuration.mdx +++ b/docsite/docs/configuration/configuration.mdx @@ -673,28 +673,30 @@ After starting multi-scrobbler with credentials in-place open the dashboard (`ht ### [Youtube Music](https://music.youtube.com) +
+ + Migrating from YT Music cookie-based Source + + In multi-scrobbler **below v0.9.0** YT Music credentials were extracted from browser cookies. Due to authentication inconsistency and YT service changes this was approach was dropped in favor of [oauth authentication which is more stable.](https://ytjs.dev/guide/authentication.html#youtube-tv-oauth2) + + Your existing credentials cannot be migrated. However, the oauth approach is quite easy. Continue following the directions below to setup new authentication for your YT Music Source. + +
+ :::note -* YT Music authentication is "browser based" which means your credentials may expire after a (long?) period of time OR if you log out of https://music.youtube.com. In the event this happens just repeat the steps below to get new credentials. [See the FAQ](../FAQ.md#youtube-music-fails-after-some-time) for a more detailed explanation. * Communication to YT Music is **unofficial** and not supported or endorsed by Google. This means that **this integration may stop working at any time** if Google decides to change how YT Music works in the browser. * Due to this scrobble history from YTM is often inconsistent and can cause missed scrobbles. [See the FAQ](../FAQ.md#youtube-music-misses-scrobbles) for a more detailed explanation. ::: -Credentials for YT Music are obtained from a browser request to https://music.youtube.com **once you are logged in.** [Specific requirements are here and summarized below:](https://github.com/nickp10/youtube-music-ts-api/blob/master/DOCUMENTATION.md#authenticate) - -* Open a new tab -* Open the developer tools (Ctrl-Shift-I) and select the “Network” tab -* Go to https://music.youtube.com and ensure you are logged in - -Then... +To authenticate simply start multi-scrobbler with an empty YT Music configuration. An authentication URL/code will be logged in additon to being available from the dashboard. -1. Find and select an authenticated POST request. The simplest way is to filter by /browse using the search bar of the developer tools. If you don’t see the request, try scrolling down a bit or clicking on the library button in the top bar. -2. **Make sure **Headers** pane is selected and open -3. In the **Request Headers** section find and copy the **entire value** found after `Cookie:` and use this as the `cookie` value in your multi-scrobbler config -4. If present, in the **Request Headers** section find and copy the number found in `X-google-AuthUser` and use this as the value for `authUser` in your multi-scrobbler config +``` +[2024-10-09 15:24:17.358 -0400] INFO : [App] [Sources] [Ytmusic - MyYTM] ERROR: Sign in with the code 'CLV-KFA-BVKY' using the authentication link on the dashboard or https://www.google.com/device +``` -![Google Headers](google-header.jpg) +Visit the authentication URL and enter the code that was provided (also available on the dashboard). After completing the setup flow MS will log `Auth success` and the YT Music dashboard card will display as **Idle** after refreshing. Click the **Start** link to begin monitoring. #### Configuration diff --git a/docsite/docs/configuration/google-header.jpg b/docsite/docs/configuration/google-header.jpg deleted file mode 100644 index 4ca5f28b25f0e2fc44930040dadb95fba912e770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231527 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

$-Q@ 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 diff --git a/package-lock.json b/package-lock.json index 27d588bd..689b54c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "vite-express": "^0.16.0", "vlc-client": "^1.1.1", "xml2js": "0.6.0", - "youtube-music-ts-api": "^1.7.0" + "youtubei.js": "^10.5.0" }, "devDependencies": { "@dbus-types/notifications": "^0.0.5", @@ -543,6 +543,11 @@ "node": ">=6.9.0" } }, + "node_modules/@bufbuild/protobuf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.0.tgz", + "integrity": "sha512-+imAQkHf7U/Rwvu0wk1XWgsP3WnpCWmK7B48f0XqSNzgk64+grljTKC7pnO/xBiEMUziF7vKRfbBnOQhg126qQ==" + }, "node_modules/@bundled-es-modules/cookie": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz", @@ -1132,6 +1137,14 @@ "npm": ">=9.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@fortawesome/fontawesome-common-types": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", @@ -3814,14 +3827,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "engines": { - "node": "*" - } - }, "node_modules/check-error": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", @@ -4152,14 +4157,6 @@ "node": ">= 8" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "engines": { - "node": "*" - } - }, "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", @@ -6611,6 +6608,17 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jintr": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jintr/-/jintr-2.1.1.tgz", + "integrity": "sha512-89cwX4ouogeDGOBsEVsVYsnWWvWjchmwXBB4kiBhmjOKw19FiOKhNhMhpxhTlK2ctl7DS+d/ethfmuBpzoNNgA==", + "funding": [ + "https://github.com/sponsors/LuanRT" + ], + "dependencies": { + "acorn": "^8.8.0" + } + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", @@ -9577,18 +9585,6 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, - "node_modules/sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", - "dependencies": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -10693,6 +10689,17 @@ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -11709,12 +11716,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/youtube-music-ts-api": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/youtube-music-ts-api/-/youtube-music-ts-api-1.7.0.tgz", - "integrity": "sha512-IaH14moHLbXTs3e8cM/Zpld+Jf4pQeYslCGmm6karfQSJ5OQ6h1dZ01qblpzKgqZrcbRF3tg7ASAYNDpB0RaFw==", + "node_modules/youtubei.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-10.5.0.tgz", + "integrity": "sha512-iyA+VF28c15tCCKH9ExM2RKC3zYiHzA/eixGlJ3vERANkuI+xYKzAZ4vtOhmyqwrAddu88R/DkzEsmpph5NWjg==", + "funding": [ + "https://github.com/sponsors/LuanRT" + ], "dependencies": { - "sha1": "^1.1.1" + "@bufbuild/protobuf": "^2.0.0", + "jintr": "^2.1.1", + "tslib": "^2.5.0", + "undici": "^5.19.1" } }, "node_modules/zod": { diff --git a/package.json b/package.json index 6a75f74c..7e98aa3c 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,7 @@ "vite-express": "^0.16.0", "vlc-client": "^1.1.1", "xml2js": "0.6.0", - "youtube-music-ts-api": "^1.7.0" + "youtubei.js": "^10.5.0" }, "devDependencies": { "@dbus-types/notifications": "^0.0.5", diff --git a/patches/youtube-music-ts-api+1.7.0.patch b/patches/youtube-music-ts-api+1.7.0.patch deleted file mode 100644 index 68aa5b10..00000000 --- a/patches/youtube-music-ts-api+1.7.0.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/node_modules/youtube-music-ts-api/build/exports.d.ts b/node_modules/youtube-music-ts-api/build/exports.d.ts -index e256777..c151c4b 100644 ---- a/node_modules/youtube-music-ts-api/build/exports.d.ts -+++ b/node_modules/youtube-music-ts-api/build/exports.d.ts -@@ -7,7 +7,7 @@ declare module 'youtube-music-ts-api' { - } - - declare module 'youtube-music-ts-api/service/youtube-music' { -- import { IYouTubeMusic, IYouTubeMusicAuthenticated, IYouTubeMusicGuest } from "youtube-music-ts-api/interfaces-primary"; -+ import { IYouTubeMusic, IYouTubeMusicAuthenticated, IYouTubeMusicGuest, OnAuthChange } from "youtube-music-ts-api/interfaces-primary"; - /** - * Defines the main YouTube Music API object. Using this object, you can either choose to make calls as a guest or an - * authenticated user. Not all APIs are available as a guest, so it is preferred to authenticate the user if possible. -@@ -19,9 +19,10 @@ declare module 'youtube-music-ts-api/service/youtube-music' { - * @param cookiesStr The cookie string of a valid logged in user. To obtain this cookie value, log into https://music.youtube.com as a user - * and use your browser's developer tools to obtain the "cookie" value sent as a request header. Extra values in the cookie will be ignored. - * @param authUser X-Goog-AuthUser header value -+ * @param onAuthChange A callback called when cookies/authuser are updated based on YTM response - * @returns A promise that will yield authenticated access to the YouTube Music API. - */ -- authenticate(cookiesStr: string, authUser?: number): Promise; -+ authenticate(cookiesStr: string, authUser?: number, onAuthChange?: OnAuthChange): Promise; - /** - * Provides guest access to the YouTube Music API. Only non-restrictive APIs (such as public playlists) are available to guests. - * -@@ -33,6 +34,10 @@ declare module 'youtube-music-ts-api/service/youtube-music' { - - declare module 'youtube-music-ts-api/interfaces-primary' { - import { IAlbumDetail, IAlbumSummary, IArtistSummary, IPlaylistDetail, IPlaylistSummary, ITrackDetail } from "youtube-music-ts-api/interfaces-supplementary"; -+ export type OnAuthChange = (cookieStr: string, authUser: number, changed: Map) => void; - /** - * Defines the main YouTube Music API object. Using this object, you can either choose to make calls as a guest or an - * authenticated user. Not all APIs are available as a guest, so it is preferred to authenticate the user if possible. -@@ -44,9 +49,10 @@ declare module 'youtube-music-ts-api/interfaces-primary' { - * @param cookiesStr The cookie string of a valid logged in user. To obtain this cookie value, log into https://music.youtube.com as a user - * and use your browser's developer tools to obtain the "cookie" value sent as a request header. Extra values in the cookie will be ignored. - * @param authUser X-Goog-AuthUser header value -+ * @param onAuthChange A callback called when cookies/authuser are updated based on YTM response - * @returns A promise that will yield authenticated access to the YouTube Music API. - */ -- authenticate(cookiesStr: string, authUser: number): Promise; -+ authenticate(cookiesStr: string, authUser: number, onAuthChange?: OnAuthChange): Promise; - /** - * Provides guest access to the YouTube Music API. Only non-restrictive APIs (such as public playlists) are available to guests. - * -@@ -112,7 +118,7 @@ declare module 'youtube-music-ts-api/interfaces-primary' { - * - * @returns A promise that will yield a playlist with detailed information on a recently played tracks. - */ -- getLibraryHistory(): Promise; -+ getLibraryHistory(asPlaylists?: boolean): Promise; - /** - * Moves the specified track within the playlist. - * -diff --git a/node_modules/youtube-music-ts-api/build/exports.js b/node_modules/youtube-music-ts-api/build/exports.js -index ae406e1..a9d5481 100644 ---- a/node_modules/youtube-music-ts-api/build/exports.js -+++ b/node_modules/youtube-music-ts-api/build/exports.js -@@ -1,2 +1,3 @@ - #! /usr/bin/env node --!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("https"),require("sha1")):"function"==typeof define&&define.amd?define(["https","sha1"],t):"object"==typeof exports?exports["youtube-music-ts-api"]=t(require("https"),require("sha1")):e["youtube-music-ts-api"]=t(e.https,e.sha1)}(global,((e,t)=>(()=>{"use strict";var s={523:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default={context:{capabilities:{},client:{clientName:"WEB_REMIX",clientVersion:"0.1",experimentIds:[],experimentsToken:"",gl:"DE",hl:"en",locationInfo:{locationPermissionAuthorizationStatus:"LOCATION_PERMISSION_AUTHORIZATION_STATUS_UNSUPPORTED"},musicAppInfo:{musicActivityMasterSwitch:"MUSIC_ACTIVITY_MASTER_SWITCH_INDETERMINATE",musicLocationMasterSwitch:"MUSIC_LOCATION_MASTER_SWITCH_INDETERMINATE",pwaInstallabilityStatus:"PWA_INSTALLABILITY_STATUS_UNKNOWN"},utcOffsetMinutes:60},request:{internalExperimentFlags:[{key:"force_music_enable_outertube_tastebuilder_browse",value:"true"},{key:"force_music_enable_outertube_playlist_detail_browse",value:"true"},{key:"force_music_enable_outertube_search_suggestions",value:"true"}],sessionIndex:{}},user:{enableSafetyMode:!1}}}},479:function(e,t,s){var r=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var i=Object.getOwnPropertyDescriptor(t,s);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,i)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),i=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||r(t,e,s)},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=s(116);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n(a).default}}),i(s(800),t),i(s(189),t)},800:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},189:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},175:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(s(841)),n=r(s(421));class a extends i.default{constructor(){super(),this.trackParser=new n.default}parseAlbumsSummaryResponse(e){const t=[],s=this.traverse(e,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents","*","itemSectionRenderer","contents","0","gridRenderer","items");if(Array.isArray(s))for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{traverse(e,...t){if(e){if(Array.isArray(t)&&t.length>0){if(Array.isArray(e)&&"*"===t[0]){for(let s=0;s1){t=parseInt(n[1]);break}}return{id:this.traverse(e,"musicTwoRowItemRenderer","title","runs","0","navigationEndpoint","browseEndpoint","browseId"),name:this.traverse(e,"musicTwoRowItemRenderer","title","runs","0","text"),thumbnails:this.traverse(e,"musicTwoRowItemRenderer","thumbnailRenderer","musicThumbnailRenderer","thumbnail","thumbnails"),count:t}}parsePlaylistDetailResponse(e){const t=this.traverse(e,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents","0","musicPlaylistShelfRenderer");if(t)return this.parsePlaylistDetail(e,t)}parsePlaylistDetailContinuation(e,t){const s=this.traverse(t,"continuationContents","musicPlaylistShelfContinuation","contents"),r=this.trackParser.parseTrackDetails(s);Array.isArray(e.tracks)&&e.tracks.push.apply(e.tracks,r),e.continuationToken=this.traverse(t,"continuationContents","musicPlaylistShelfContinuation","continuations","0","nextContinuationData","continuation")}parsePlaylistDetail(e,t){const s=void 0===this.traverse(e,"header","musicEditablePlaylistDetailHeaderRenderer"),r=s?e:this.traverse(e,"header","musicEditablePlaylistDetailHeaderRenderer"),i=s?"PUBLIC":this.traverse(r,"editHeader","musicPlaylistEditHeaderRenderer","privacy"),n=this.traverse(r,"header","musicDetailHeaderRenderer");let a=0;const o=this.traverse(n,"secondSubtitle","runs","0","text");if(o){const e=o.split(" ");e&&e.length>0&&(a=parseInt(e[0]))}const u=this.traverse(t,"contents");return{id:this.traverse(t,"playlistId"),name:this.traverse(n,"title","runs","0","text"),description:this.traverse(n,"description","runs","0","text"),privacy:i,count:a,tracks:this.trackParser.parseTrackDetails(u),continuationToken:this.traverse(t,"continuations","0","nextContinuationData","continuation")}}mergeValidPlaylistTracks(...e){const t=[];for(const s of e)for(const e of s.tracks)this.trackParser.isTrackDataMissing(e)||t.find((t=>t.id===e.id))||t.push(e);return t}}t.default=a},421:function(e,t,s){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(s(841));class n extends i.default{parseTrackDetails(e){const t=[];if(Array.isArray(e))for(const s of e){const e=this.traverse(s,"musicResponsiveListItemRenderer");if(e){const s=this.parseTrackDetail(e);s&&s.id&&t.push(s)}}return t}parseTrackDetail(e){const t=[],s=[],r=this.traverse(e,"flexColumns","1","musicResponsiveListItemFlexColumnRenderer","text","runs");if(Array.isArray(r))for(const e of r){const r=this.traverse(e,"navigationEndpoint","browseEndpoint","browseId"),i=this.traverse(e,"text");i&&(r&&s.push({id:r,name:i}),t.push({id:r,name:i}))}let i;const n=this.traverse(e,"flexColumns","2","musicResponsiveListItemFlexColumnRenderer","text","runs","0");n&&(i={id:this.traverse(n,"navigationEndpoint","browseEndpoint","browseId"),name:this.traverse(n,"text")});const a=this.traverse(e,"fixedColumns","0","musicResponsiveListItemFixedColumnRenderer","text","simpleText")||this.traverse(e,"fixedColumns","0","musicResponsiveListItemFixedColumnRenderer","text","runs","0","text"),o=this.traverse(e,"menu","menuRenderer","topLevelButtons");let u="INDIFFERENT";if(Array.isArray(o))for(const e of o)e.likeButtonRenderer&&(u=e.likeButtonRenderer.likeStatus);return{id:this.traverse(e,"overlay","musicItemThumbnailOverlayRenderer","content","musicPlayButtonRenderer","playNavigationEndpoint","watchEndpoint","videoId"),alternateId:this.traverse(e,"playlistItemData","playlistSetVideoId"),title:this.traverse(e,"flexColumns","0","musicResponsiveListItemFlexColumnRenderer","text","runs","0","text"),artists:s.length>0?s:t,album:i,thumbnails:this.traverse(e,"thumbnail","musicThumbnailRenderer","thumbnail","thumbnails"),likeStatus:u,duration:a}}isTrackDataMissing(e){return"Song is private"==e.title}parseTracksDetailResponse(e){const t=this.traverse(e,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents","*","itemSectionRenderer","contents","0","musicShelfRenderer"),s=this.traverse(t,"contents");return{continuationToken:this.traverse(t,"continuations","0","nextContinuationData","continuation"),tracks:this.parseTrackDetails(s)}}parseTracksDetailContinuation(e,t){const s=this.traverse(t,"continuationContents","musicShelfContinuation","contents"),r=this.parseTrackDetails(s);Array.isArray(e.tracks)&&e.tracks.push.apply(e.tracks,r),e.continuationToken=this.traverse(t,"continuationContents","musicShelfContinuation","continuations","0","nextContinuationData","continuation")}parseAlbumTrackDetails(e,t,s){const r=[];for(const i of e)r.push({id:this.traverse(i,"videoId"),title:this.traverse(i,"title"),artists:t,album:s,durationMillis:parseInt(this.traverse(i,"lengthMs")),trackNumber:parseInt(this.traverse(i,"albumTrackIndex"))});return r}}t.default=n},653:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,n){function a(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(26)),a=i(s(418));class o extends a.default{constructor(e,t){super(),this.cookies=e,this.authUser=t}generateHeaders(){return Object.assign(Object.assign({},super.generateHeaders()),{Authorization:this.generateAuthorization(),Cookie:this.generateCookie(),"X-Goog-AuthUser":this.authUser})}generateAuthorization(){let e=(new Date).getTime();const t=`${e} ${this.cookies.get("__Secure-3PAPISID")} ${this.origin}`;return`SAPISIDHASH ${e}_${(0,n.default)(t)}`}generateCookie(){let e="";return this.cookies.forEach((function(t,s){e&&(e+=";"),e+=s+"="+t})),e}getLibraryAlbums(){return r(this,void 0,void 0,(function*(){const e=yield this.sendRequest("browse",{browseId:"FEmusic_liked_albums"});return this.albumParser.parseAlbumsSummaryResponse(e)}))}getLibraryArtists(){return r(this,void 0,void 0,(function*(){const e=yield this.sendRequest("browse",{browseId:"FEmusic_library_corpus_track_artists"});return this.artistParser.parseArtistsSummaryResponse(e)}))}getLibraryPlaylists(){return r(this,void 0,void 0,(function*(){const e=yield this.sendRequest("browse",{browseId:"FEmusic_liked_playlists"});return this.playlistParser.parsePlaylistsSummaryResponse(e)}))}getLibraryTracks(){return r(this,void 0,void 0,(function*(){return this.getLibraryTracksInternal()}))}getLibraryTracksInternal(){return r(this,void 0,void 0,(function*(){const e={browseId:"FEmusic_liked_videos"},t=yield this.sendRequest("browse",e),s=this.trackParser.parseTracksDetailResponse(t);for(;s.continuationToken;){const t=yield this.sendRequest("browse",e,`ctoken=${s.continuationToken}&continuation=${s.continuationToken}`);this.trackParser.parseTracksDetailContinuation(s,t)}return s.tracks}))}getLibraryHistory(){return r(this,void 0,void 0,(function*(){const e=yield this.sendRequest("browse",{browseId:"FEmusic_history"}),t=this.playlistParser.traverse(e,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents"),s=[];for(const e of t)void 0!==e.musicShelfRenderer&&void 0!==e.musicShelfRenderer.contents&&e.musicShelfRenderer.contents.length>0&&s.push(e.musicShelfRenderer.contents);const r=s.flat(1);return{id:"FEmusic_history",name:"History",description:"Recently played music in reverse chronological order",privacy:"PRIVATE",count:r.length,tracks:this.trackParser.parseTrackDetails(r)}}))}createPlaylist(e,t,s,i){return r(this,void 0,void 0,(function*(){const r=yield this.sendRequest("playlist/create",{title:e,description:t,privacyStatus:s||"PRIVATE",sourcePlaylistId:this.playlistIdTrim(i)});if(r&&r.playlistId)return{id:r.playlistId,name:e,count:0}}))}deletePlaylist(e){return r(this,void 0,void 0,(function*(){return"STATUS_SUCCEEDED"===(yield this.sendRequest("playlist/delete",{playlistId:this.playlistIdTrim(e)})).status}))}addTracksToPlaylist(e,...t){return r(this,void 0,void 0,(function*(){return"STATUS_SUCCEEDED"===(yield this.sendRequest("browse/edit_playlist",{playlistId:this.playlistIdTrim(e),actions:t.map((e=>({action:"ACTION_ADD_VIDEO",addedVideoId:e.id})))})).status}))}removeTracksFromPlaylist(e,...t){return r(this,void 0,void 0,(function*(){const s=[];for(const e of t){if(!e.id)throw new Error("Track ID is missing. Ensure you have both the ID and the Alternate ID.");if(!e.alternateId)throw new Error("Track Alternate ID is missing. Ensure you have both the ID and the Alternate ID.");s.push({action:"ACTION_REMOVE_VIDEO",removedVideoId:e.id,setVideoId:e.alternateId})}return"STATUS_SUCCEEDED"===(yield this.sendRequest("browse/edit_playlist",{playlistId:this.playlistIdTrim(e),actions:s})).status}))}moveTrackWithinPlaylist(e,t,s){return r(this,void 0,void 0,(function*(){const r=[];if(!t||!t.alternateId)throw new Error("The track being moved is missing. Ensure you have specified a track to move.");return r.push({action:"ACTION_MOVE_VIDEO_BEFORE",movedSetVideoIdSuccessor:s?s.alternateId:void 0,setVideoId:t.alternateId}),"STATUS_SUCCEEDED"===(yield this.sendRequest("browse/edit_playlist",{playlistId:this.playlistIdTrim(e),actions:r})).status}))}rateTrack(e,t){return r(this,void 0,void 0,(function*(){let s;return s="LIKE"===t?"like/like":"DISLIKE"===t?"like/dislike":"like/removelike","STATUS_SUCCEEDED"===(yield this.sendRequest(s,{target:{videoId:e}})).status}))}}t.default=o},303:function(e,t,s){var r=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var i=Object.getOwnPropertyDescriptor(t,s);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,i)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&r(t,e,s);return i(t,e),t},a=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,n){function a(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=n(s(799)),l=o(s(175)),c=o(s(304)),d=o(s(660)),h=o(s(421)),p=o(s(523));t.default=class{constructor(){this.hostname="music.youtube.com",this.basePath="/youtubei/v1/",this.queryString="?alt=json&key=AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30",this.origin="https://music.youtube.com",this.albumParser=new l.default,this.artistParser=new c.default,this.playlistParser=new d.default,this.trackParser=new h.default}generateHeaders(){return{"X-Origin":this.origin}}sendRequest(e,t,s){return a(this,void 0,void 0,(function*(){let r;t&&(t=Object.assign(Object.assign({},p.default),t),r=JSON.stringify(t));const i=s?`${this.queryString}&${s}`:this.queryString,n=yield this.sendHttpsRequest({hostname:this.hostname,path:`${this.basePath}${e}${i}`,method:"POST",headers:this.generateHeaders()},r);if(200===n.statusCode&&n.body){const e=JSON.parse(n.body);if(e)return e}throw new Error(`Could not send the specified request to ${e}. Status code: ${n.statusCode}`)}))}sendHttpsRequest(e,t){return a(this,void 0,void 0,(function*(){return new Promise(((s,r)=>{const i=e.headers||{};e.headers=i,e.timeout=6e4,t&&(i["Content-Type"]="application/json",i["Content-Length"]=t.length);const n=u.request(e,(e=>{let t="";e.on("data",(e=>{t+=e})),e.on("end",(()=>{e.body=t,s(e)}))})).on("error",(e=>{r(e)}));t&&n.write(t),n.end()}))}))}playlistIdTrim(e){return e&&e.toUpperCase().startsWith("VL")?e.substring(2):e}playlistIdPad(e){return e&&!e.toUpperCase().startsWith("VL")?"VL"+e:e}}},418:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,n){function a(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(303));class a extends n.default{constructor(){super()}getAlbum(e){return r(this,void 0,void 0,(function*(){const t={browseId:e,browseEndpointContextSupportedConfigs:{browseEndpointContextMusicConfig:{pageType:"MUSIC_PAGE_TYPE_ALBUM"}}},s=yield this.sendRequest("browse",t);return this.albumParser.parseAlbumDetailResponse(s)}))}getPlaylist(e,t=0){return r(this,void 0,void 0,(function*(){const s=yield this.getPlaylistInternal(e);for(;t>0;){const r=s.tracks.length!==s.count,i=!!s.tracks.find((e=>this.trackParser.isTrackDataMissing(e)));if(!r&&!i)break;{const r=yield this.getPlaylistInternal(e),i=this.playlistParser.mergeValidPlaylistTracks(s,r);s.tracks=i,t--}}return s}))}getPlaylistInternal(e){return r(this,void 0,void 0,(function*(){const t={browseId:this.playlistIdPad(e),browseEndpointContextSupportedConfigs:{browseEndpointContextMusicConfig:{pageType:"MUSIC_PAGE_TYPE_PLAYLIST"}}},s=yield this.sendRequest("browse",t),r=this.playlistParser.parsePlaylistDetailResponse(s);for(;r.continuationToken;){const e=yield this.sendRequest("browse",t,`ctoken=${r.continuationToken}&continuation=${r.continuationToken}`);this.playlistParser.parsePlaylistDetailContinuation(r,e)}return r}))}}t.default=a},116:function(e,t,s){var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(i,n){function a(e){try{u(r.next(e))}catch(e){n(e)}}function o(e){try{u(r.throw(e))}catch(e){n(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(s(653)),a=i(s(418));t.default=class{authenticate(e,t=0){return r(this,void 0,void 0,(function*(){if(!e)throw new Error("The specific cookie string is missing");const s=e.split(";");if(!s||0===s.length)throw new Error("An invalid cookie string was specified");const r=new Map;for(const e of s){const t=e.split("=");t&&2===t.length&&r.set(t[0].trim(),t[1].trim())}return new n.default(r,t)}))}guest(){return r(this,void 0,void 0,(function*(){return new a.default}))}}},799:t=>{t.exports=e},26:e=>{e.exports=t}},r={};return function e(t){var i=r[t];if(void 0!==i)return i.exports;var n=r[t]={exports:{}};return s[t].call(n.exports,n,n.exports,e),n.exports}(479)})())); -\ No newline at end of file -+/*! For license information please see exports.js.LICENSE.txt */ -+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("https"),require("sha1")):"function"==typeof define&&define.amd?define(["https","sha1"],e):"object"==typeof exports?exports["youtube-music-ts-api"]=e(require("https"),require("sha1")):t["youtube-music-ts-api"]=e(t.https,t.sha1)}(global,((t,e)=>(()=>{"use strict";var r={611:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={context:{capabilities:{},client:{clientName:"WEB_REMIX",clientVersion:"0.1",experimentIds:[],experimentsToken:"",gl:"DE",hl:"en",locationInfo:{locationPermissionAuthorizationStatus:"LOCATION_PERMISSION_AUTHORIZATION_STATUS_UNSUPPORTED"},musicAppInfo:{musicActivityMasterSwitch:"MUSIC_ACTIVITY_MASTER_SWITCH_INDETERMINATE",musicLocationMasterSwitch:"MUSIC_LOCATION_MASTER_SWITCH_INDETERMINATE",pwaInstallabilityStatus:"PWA_INSTALLABILITY_STATUS_UNKNOWN"},utcOffsetMinutes:60},request:{internalExperimentFlags:[{key:"force_music_enable_outertube_tastebuilder_browse",value:"true"},{key:"force_music_enable_outertube_playlist_detail_browse",value:"true"},{key:"force_music_enable_outertube_search_suggestions",value:"true"}],sessionIndex:{}},user:{enableSafetyMode:!1}}}},77:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0})},98:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0})},710:function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){s=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r{function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:0;if(!t)throw new Error("The specific cookie string is missing");var n=t.split(";");if(!n||0===n.length)throw new Error("An invalid cookie string was specified");var o,i=new Map,a=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var o=0,i=function(){};return{s:i,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){s=!0,a=t},f:function(){try{u||null==n.return||n.return()}finally{if(s)throw a}}}}(n);try{for(a.s();!(o=a.n()).done;){var u=o.value.split("=");u&&2===u.length&&i.set(u[0].trim(),u[1].trim())}}catch(t){a.e(t)}finally{a.f()}return[i,e]},e.buildCookies=function(t){var e="";return t.forEach((function(t,r){e&&(e+=";"),e+=r+"="+t})),e}},445:(t,e)=>{function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function n(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1?e-1:0),o=1;o0){if(Array.isArray(t)&&"*"===r[0]){for(var i=0;i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){s=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1){e=parseInt(a[1]);break}}return{id:this.traverse(t,"musicTwoRowItemRenderer","title","runs","0","navigationEndpoint","browseEndpoint","browseId"),name:this.traverse(t,"musicTwoRowItemRenderer","title","runs","0","text"),thumbnails:this.traverse(t,"musicTwoRowItemRenderer","thumbnailRenderer","musicThumbnailRenderer","thumbnail","thumbnails"),count:e}}},{key:"parsePlaylistDetailResponse",value:function(t){var e=this.traverse(t,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents","0","musicPlaylistShelfRenderer");if(e)return this.parsePlaylistDetail(t,e)}},{key:"parsePlaylistDetailContinuation",value:function(t,e){var r=this.traverse(e,"continuationContents","musicPlaylistShelfContinuation","contents"),n=this.trackParser.parseTrackDetails(r);Array.isArray(t.tracks)&&t.tracks.push.apply(t.tracks,n),t.continuationToken=this.traverse(e,"continuationContents","musicPlaylistShelfContinuation","continuations","0","nextContinuationData","continuation")}},{key:"parsePlaylistDetail",value:function(t,e){var r=void 0===this.traverse(t,"header","musicEditablePlaylistDetailHeaderRenderer"),n=r?t:this.traverse(t,"header","musicEditablePlaylistDetailHeaderRenderer"),o=r?"PUBLIC":this.traverse(n,"editHeader","musicPlaylistEditHeaderRenderer","privacy"),i=this.traverse(n,"header","musicDetailHeaderRenderer"),a=0,u=this.traverse(i,"secondSubtitle","runs","0","text");if(u){var s=u.split(" ");s&&s.length>0&&(a=parseInt(s[0]))}var c=this.traverse(e,"contents");return{id:this.traverse(e,"playlistId"),name:this.traverse(i,"title","runs","0","text"),description:this.traverse(i,"description","runs","0","text"),privacy:o,count:a,tracks:this.trackParser.parseTrackDetails(c),continuationToken:this.traverse(e,"continuations","0","nextContinuationData","continuation")}}},{key:"mergeValidPlaylistTracks",value:function(){for(var t=this,e=[],r=arguments.length,n=new Array(r),i=0;i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){s=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(s)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?r:e,album:l,thumbnails:this.traverse(t,"thumbnail","musicThumbnailRenderer","thumbnail","thumbnails"),likeStatus:y,duration:h}}},{key:"isTrackDataMissing",value:function(t){return"Song is private"==t.title}},{key:"parseTracksDetailResponse",value:function(t){var e=this.traverse(t,"contents","singleColumnBrowseResultsRenderer","tabs","0","tabRenderer","content","sectionListRenderer","contents","*","itemSectionRenderer","contents","0","musicShelfRenderer"),r=this.traverse(e,"contents");return{continuationToken:this.traverse(e,"continuations","0","nextContinuationData","continuation"),tracks:this.parseTrackDetails(r)}}},{key:"parseTracksDetailContinuation",value:function(t,e){var r=this.traverse(e,"continuationContents","musicShelfContinuation","contents"),n=this.parseTrackDetails(r);Array.isArray(t.tracks)&&t.tracks.push.apply(t.tracks,n),t.continuationToken=this.traverse(e,"continuationContents","musicShelfContinuation","continuations","0","nextContinuationData","continuation")}},{key:"parseAlbumTrackDetails",value:function(t,e,r){var n,i=[],a=o(t);try{for(a.s();!(n=a.n()).done;){var u=n.value;i.push({id:this.traverse(u,"videoId"),title:this.traverse(u,"title"),artists:e,album:r,durationMillis:parseInt(this.traverse(u,"lengthMs")),trackNumber:parseInt(this.traverse(u,"albumTrackIndex"))})}}catch(t){a.e(t)}finally{a.f()}return i}}])&&a(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),f}(c(r(445)).default);e.default=l},573:function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},s=u.iterator||"@@iterator",c=u.asyncIterator||"@@asyncIterator",l=u.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=e&&e.prototype instanceof g?e:g,i=Object.create(o.prototype),u=new A(n||[]);return a(i,"_invoke",{value:j(t,r,u)}),i}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var y="suspendedStart",v="suspendedYield",d="executing",m="completed",b={};function g(){}function w(){}function _(){}var k={};f(k,s,(function(){return this}));var x=Object.getPrototypeOf,S=x&&x(x(L([])));S&&S!==r&&i.call(S,s)&&(k=S);var O=_.prototype=g.prototype=Object.create(k);function E(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function P(t,e){function r(o,a,u,s){var c=p(t[o],t,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==n(f)&&i.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,u,s)}),(function(t){r("throw",t,u,s)})):e.resolve(f).then((function(t){l.value=t,u(l)}),(function(t){return r("throw",t,u,s)}))}s(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function j(e,r,n){var o=y;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var s=R(u,n);if(s){if(s===b)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=p(e,r,n);if("normal"===c.type){if(o=n.done?m:v,c.arg===b)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=m,n.method="throw",n.arg=c.arg)}}}function R(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,R(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var i=p(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,b;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,b):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function L(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:L(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),b}},e}function i(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=u(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],s=!0,c=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);s=!0);}catch(t){c=!0,o=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(t,e)||u(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,e){if(t){if("string"==typeof t)return s(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(t?u.push({id:c.toString(),name:h.musicShelfRenderer.title.runs[0].text,description:"Recently played from ".concat(h.musicShelfRenderer.title.runs[0].text),privacy:"PRIVATE",count:h.musicShelfRenderer.contents.length,tracks:this.trackParser.parseTrackDetails(h.musicShelfRenderer.contents)}):s.push(h.musicShelfRenderer.contents)),c++}catch(t){l.e(t)}finally{l.f()}if(!t){e.next=12;break}return e.abrupt("return",u);case 12:return p=s.flat(1),e.abrupt("return",{id:"FEmusic_history",name:"History",description:"Recently played music in reverse chronological order",privacy:"PRIVATE",count:p.length,tracks:this.trackParser.parseTrackDetails(p)});case 14:case"end":return e.stop()}}),e,this)})))}},{key:"createPlaylist",value:function(t,e,r,n){return p(this,void 0,void 0,o().mark((function i(){var a;return o().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,this.sendRequest("playlist/create",{title:t,description:e,privacyStatus:r||"PRIVATE",sourcePlaylistId:this.playlistIdTrim(n)});case 2:if((a=o.sent)&&a.playlistId){o.next=5;break}return o.abrupt("return",void 0);case 5:return o.abrupt("return",{id:a.playlistId,name:t,count:0});case 6:case"end":return o.stop()}}),i,this)})))}},{key:"deletePlaylist",value:function(t){return p(this,void 0,void 0,o().mark((function e(){var r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sendRequest("playlist/delete",{playlistId:this.playlistIdTrim(t)});case 2:return r=e.sent,e.abrupt("return","STATUS_SUCCEEDED"===r.status);case 4:case"end":return e.stop()}}),e,this)})))}},{key:"addTracksToPlaylist",value:function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n1?e-1:0),n=1;n=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:L(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),b}},e}function i(t,e){for(var r=0;r=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:L(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),b}},e}function i(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:0;return s(this,void 0,void 0,o().mark((function r(){var n,i,a,u,s,c=this;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getPlaylistInternal(t);case 2:n=r.sent;case 3:if(!(e>0)){r.next=18;break}if(i=n.tracks.length!==n.count,a=!!n.tracks.find((function(t){return c.trackParser.isTrackDataMissing(t)})),!i&&!a){r.next=15;break}return r.next=9,this.getPlaylistInternal(t);case 9:u=r.sent,s=this.playlistParser.mergeValidPlaylistTracks(n,u),n.tracks=s,e--,r.next=16;break;case 15:return r.abrupt("break",18);case 16:r.next=3;break;case 18:return r.abrupt("return",n);case 19:case"end":return r.stop()}}),r,this)})))}},{key:"getPlaylistInternal",value:function(t){return s(this,void 0,void 0,o().mark((function e(){var r,n,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={browseId:this.playlistIdPad(t),browseEndpointContextSupportedConfigs:{browseEndpointContextMusicConfig:{pageType:"MUSIC_PAGE_TYPE_PLAYLIST"}}},e.next=3,this.sendRequest("browse",r);case 3:n=e.sent,i=this.playlistParser.parsePlaylistDetailResponse(n);case 5:if(!i.continuationToken){e.next=12;break}return e.next=8,this.sendRequest("browse",r,"ctoken=".concat(i.continuationToken,"&continuation=").concat(i.continuationToken));case 8:a=e.sent,this.playlistParser.parsePlaylistDetailContinuation(i,a),e.next=5;break;case 12:return e.abrupt("return",i);case 13:case"end":return e.stop()}}),e,this)})))}}],r&&i(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),h}(c(r(409)).default);e.default=l},365:function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(){o=function(){return e};var t,e={},r=Object.prototype,i=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},s=u.iterator||"@@iterator",c=u.asyncIterator||"@@asyncIterator",l=u.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=e&&e.prototype instanceof g?e:g,i=Object.create(o.prototype),u=new A(n||[]);return a(i,"_invoke",{value:j(t,r,u)}),i}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var y="suspendedStart",v="suspendedYield",d="executing",m="completed",b={};function g(){}function w(){}function _(){}var k={};f(k,s,(function(){return this}));var x=Object.getPrototypeOf,S=x&&x(x(L([])));S&&S!==r&&i.call(S,s)&&(k=S);var O=_.prototype=g.prototype=Object.create(k);function E(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function P(t,e){function r(o,a,u,s){var c=p(t[o],t,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==n(f)&&i.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,u,s)}),(function(t){r("throw",t,u,s)})):e.resolve(f).then((function(t){l.value=t,u(l)}),(function(t){return r("throw",t,u,s)}))}s(c.arg)}var o;a(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function j(e,r,n){var o=y;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var s=R(u,n);if(s){if(s===b)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=p(e,r,n);if("normal"===c.type){if(o=n.done?m:v,c.arg===b)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=m,n.method="throw",n.arg=c.arg)}}}function R(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,R(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var i=p(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,b;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,b):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function L(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=i.call(a,"catchLoc"),c=i.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:L(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),b}},e}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return u(this,void 0,void 0,o().mark((function n(){var a,u,s;return o().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,a=(0,c.parseAuth)(t,e),f=2,u=function(t){if(Array.isArray(t))return t}(o=a)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],s=!0,c=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);s=!0);}catch(t){c=!0,o=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(o,f)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(o,f)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),s=u[0],u[1],n.abrupt("return",new l.default(s,e,r));case 5:throw n.prev=5,n.t0=n.catch(0),n.t0;case 8:case"end":return n.stop()}var o,f}),n,null,[[0,5]])})))}},{key:"guest",value:function(){return u(this,void 0,void 0,o().mark((function t(){return o().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new f.default);case 1:case"end":return t.stop()}}),t)})))}}],r&&a(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.default=h},479:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=r(365);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return i(a).default}}),o(r(77),e),o(r(98),e)},799:e=>{e.exports=t},26:t=>{t.exports=e}},n={};return function t(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return r[e].call(i.exports,i,i.exports,t),i.exports}(479)})())); -\ No newline at end of file diff --git a/src/backend/common/AbstractComponent.ts b/src/backend/common/AbstractComponent.ts index 3ae51e5f..3d42b7ee 100644 --- a/src/backend/common/AbstractComponent.ts +++ b/src/backend/common/AbstractComponent.ts @@ -318,4 +318,8 @@ export default abstract class AbstractComponent { return play; } } + + public additionalApiData(): Record { + return {}; + } } diff --git a/src/backend/common/infrastructure/config/source/ytmusic.ts b/src/backend/common/infrastructure/config/source/ytmusic.ts index 2e70513a..215a1c8d 100644 --- a/src/backend/common/infrastructure/config/source/ytmusic.ts +++ b/src/backend/common/infrastructure/config/source/ytmusic.ts @@ -1,32 +1,15 @@ import { PollingOptions } from "../common.js"; import { CommonSourceConfig, CommonSourceData, CommonSourceOptions } from "./index.js"; -export interface YTMusicCredentials { - /** - * The cookie retrieved from the Request Headers of music.youtube.com after logging in. - * - * See https://github.com/nickp10/youtube-music-ts-api/blob/master/DOCUMENTATION.md#authenticate and https://ytmusicapi.readthedocs.io/en/latest/setup.html#copy-authentication-headers for how to retrieve this value. - * - * @examples ["VISITOR_INFO1_LIVE=jMp2xA1Xz2_PbVc; __Secure-3PAPISID=3AxsXpy0M/AkISpjek; ..."] - * */ - cookie: string - /** - * If the 'X-Goog-AuthUser' header is present in the Request Headers for music.youtube.com it must also be included - * - * @example [0] - * */ - authUser?: number | string -} - -export interface YTMusicData extends YTMusicCredentials, CommonSourceData, PollingOptions { +export interface YTMusicData extends CommonSourceData, PollingOptions { } export interface YTMusicSourceConfig extends CommonSourceConfig { - data: YTMusicData + data?: YTMusicData options?: CommonSourceOptions & { /** - * When true MS will log to DEBUG what parts of the cookie are updated by YTM + * When true MS will log to DEBUG all of the credentials data it receives from YTM * */ - logAuthUpdateChanges?: boolean + logAuth?: boolean } } diff --git a/src/backend/server/api.ts b/src/backend/server/api.ts index af3b2923..b13ff285 100644 --- a/src/backend/server/api.ts +++ b/src/backend/server/api.ts @@ -191,7 +191,8 @@ export const setupApi = (app: ExpressWithAsync, logger: Logger, appLoggerStream: authed, players: 'players' in x ? (x as MemorySource).playersToObject() : {}, sot: ('playerSourceOfTruth' in x) ? x.playerSourceOfTruth : SOURCE_SOT.HISTORY, - supportsUpstreamRecentlyPlayed: x.supportsUpstreamRecentlyPlayed + supportsUpstreamRecentlyPlayed: x.supportsUpstreamRecentlyPlayed, + ...x.additionalApiData() }; if(!x.isReady()) { if(x.buildOK === false) { diff --git a/src/backend/server/auth.ts b/src/backend/server/auth.ts index 10898a1d..dc41fa0c 100644 --- a/src/backend/server/auth.ts +++ b/src/backend/server/auth.ts @@ -7,6 +7,7 @@ import ScrobbleClients from "../scrobblers/ScrobbleClients.js"; import LastfmSource from "../sources/LastfmSource.js"; import ScrobbleSources from "../sources/ScrobbleSources.js"; import SpotifySource from "../sources/SpotifySource.js"; +import YTMusicSource from "../sources/YTMusicSource.js"; export const setupAuthRoutes = (app: ExpressWithAsync, logger: Logger, sourceMiddle: ExpressHandler, clientMiddle: ExpressHandler, scrobbleSources: ScrobbleSources, scrobbleClients: ScrobbleClients) => { app.use('/api/client/auth', clientMiddle); @@ -49,6 +50,10 @@ export const setupAuthRoutes = (app: ExpressWithAsync, logger: Logger, sourceMid // @ts-expect-error TS(2339): Property 'deezerSource' does not exist on type 'Se... Remove this comment to see the full error message req.session.deezerSource = name; return passport.authenticate(`deezer-${source.name}`)(req,res,next); + case 'ytmusic': + await (source as YTMusicSource).reauthenticate(); + res.redirect((source as YTMusicSource).verificationUrl); + break; default: return res.status(400).send(`Specified source does not have auth implemented (${source.type})`); } diff --git a/src/backend/sources/YTMusicSource.ts b/src/backend/sources/YTMusicSource.ts index 621c8ce1..e3d7efae 100644 --- a/src/backend/sources/YTMusicSource.ts +++ b/src/backend/sources/YTMusicSource.ts @@ -1,12 +1,11 @@ import dayjs from "dayjs"; import EventEmitter from "events"; -import YouTubeMusic from "youtube-music-ts-api"; -import { IYouTubeMusicAuthenticated } from "youtube-music-ts-api/interfaces-primary"; -import { IPlaylistDetail, ITrackDetail } from "youtube-music-ts-api/interfaces-supplementary"; import { PlayObject } from "../../core/Atomic.js"; import { FormatPlayObjectOptions, InternalConfig } from "../common/infrastructure/Atomic.js"; -import { YTMusicCredentials, YTMusicSourceConfig } from "../common/infrastructure/config/source/ytmusic.js"; -import { parseDurationFromTimestamp, readJson, writeFile } from "../utils.js"; +import { YTMusicSourceConfig } from "../common/infrastructure/config/source/ytmusic.js"; +import { Innertube, UniversalCache, Parser, YTNodes, ApiResponse, IBrowseResponse } from 'youtubei.js'; +import {resolve} from 'path'; +import { sleep } from "../utils.js"; import { getPlaysDiff, humanReadableDiff, @@ -15,93 +14,177 @@ import { } from "../utils/PlayComparisonUtils.js"; import AbstractSource, { RecentlyPlayedOptions } from "./AbstractSource.js"; +export const ytiHistoryResponseToListItems = (res: ApiResponse): YTNodes.MusicResponsiveListItem[] => { + const page = Parser.parseResponse(res.data); + const items = page.contents_memo.getType(YTNodes.MusicResponsiveListItem); + return Array.from(items); +} + +const maybeJsonErrorInfo = (err: Error): object | string | undefined => { + if('info' in err) { + try { + return JSON.parse(err.info as string); + } catch (e) { + return err.info as string; + } + } + return undefined; +} + +const loggedErrorExtra = (err: Error): object | undefined => { + const maybeInfo = maybeJsonErrorInfo(err); + if(maybeInfo === undefined) { + return undefined; + } + if(typeof maybeInfo === 'string') { + return {apiResponse: maybeInfo}; + } + return maybeInfo; +} + +export const ytiHistoryResponseFromShelfToPlays = (res: ApiResponse): PlayObject[] => { + const page = Parser.parseResponse(res.data); + const items: PlayObject[] = []; + const shelves = page.contents_memo.getType(YTNodes.MusicShelf); + shelves.forEach((shelf) => { + shelf.contents.forEach((listItem) => { + items.push(YTMusicSource.formatPlayObj(listItem, {shelf: shelf.title.text})); + }); + }); + return items; +} + export default class YTMusicSource extends AbstractSource { - apiInstance?: IYouTubeMusicAuthenticated requiresAuth = true; + requiresAuthInteraction = true; declare config: YTMusicSourceConfig recentlyPlayed: PlayObject[] = []; + yti: Innertube; + userCode?: string; + verificationUrl?: string; + workingCredsPath: string; - currentCreds!: YTMusicCredentials; constructor(name: string, config: YTMusicSourceConfig, internal: InternalConfig, emitter: EventEmitter) { super('ytmusic', name, config, internal, emitter); this.canPoll = true; this.supportsUpstreamRecentlyPlayed = true; - this.workingCredsPath = `${this.configDir}/currentAuth-ytm-${name}.json`; + this.workingCredsPath = resolve(this.configDir, `yti-${this.name}`); } - protected writeCurrentAuth = async (cookie: string, authUser: number) => { - await writeFile(this.workingCredsPath, JSON.stringify({ - cookie, - authUser - })); + public additionalApiData(): Record { + const data: Record = {}; + if(this.userCode !== undefined) { + data.userCode = this.userCode; + } + return data; } protected async doBuildInitData(): Promise { - let creds: YTMusicCredentials; - try { - creds = await readJson(this.workingCredsPath, {throwOnNotFound: false}) as YTMusicCredentials; - if(creds !== undefined) { - this.currentCreds = creds; - return `Read updated credentials from file currentAuth-ytm-${this.name}.json`; + this.yti = await Innertube.create({ + cache: new UniversalCache(true, this.workingCredsPath) + }); + this.yti.session.on('update-credentials', async ({ credentials }) => { + if(this.config.options?.logAuth) { + this.logger.debug(credentials, 'Credentials updated'); + } else { + this.logger.debug('Credentials updated'); } - } catch (e) { - this.logger.warn('Current YTMusic credentials file exists but could not be parsed', { path: this.workingCredsPath }); - } - if(creds === undefined) { - if(this.config.data.cookie === undefined) { - throw new Error('No YTM cookies were found in configuration'); + await this.yti.session.oauth.cacheCredentials(); + }); + this.yti.session.on('auth-pending', async (data) => { + this.userCode = data.user_code; + this.verificationUrl = data.verification_url; + }); + this.yti.session.on('auth-error', async (data) => { + this.logger.error(new Error('YTM Authentication error', {cause: data})); + }); + this.yti.session.on('auth', async ({ credentials }) => { + if(this.config.options?.logAuth) { + this.logger.debug(credentials, 'Auth success'); + } else { + this.logger.debug('Auth success'); } - this.currentCreds = this.config.data; - return 'Read initial credentials from config'; - } + await this.yti.session.oauth.cacheCredentials(); + this.userCode = undefined; + this.verificationUrl = undefined; + this.authed = true; + }); + return true; + } + + reauthenticate = async () => { + await this.tryStopPolling(); + await this.clearCredentials(); + this.authed = false; + await this.testAuth(); + } + + clearCredentials = async () => { + await this.yti.session.signOut(); } doAuthentication = async () => { try { - await this.getRecentlyPlayed(); - return true; - } catch (e) { - if(e.message.includes('Status code: 401')) { - let hint = 'Verify your cookie and authUser are correct.'; - if(this.currentCreds.authUser === undefined) { - hint = `${hint} TIP: 'authUser' is not defined your credentials. If you are using Chrome to retrieve credentials from music.youtube.com make sure the value from the 'X-Goog-AuthUser' is used as 'authUser'.`; + await Promise.race([ + sleep(300), + this.yti.session.signIn() + ]); + if(this.authed === false && this.userCode !== undefined) { + if(this.userCode !== undefined) { + throw new Error(`Sign in with the code '${this.userCode}' using the authentication link on the dashboard or ${this.verificationUrl}`) + } else { + throw new Error('Waited too long for auth response from YTM!'); + } + } + try { + await this.yti.account.getInfo() + } catch (e) { + const info = loggedErrorExtra(e); + if(info !== undefined) { + this.logger.error(info, 'Additional API response details') } - this.logger.error(`Authentication failed with the given credentials. ${hint} | Error => ${e.message}`); + throw new Error('Credentials exist but API calls are failing. Try re-authenticating?', {cause: e}); } + return true; + } catch (e) { throw e; } } - static formatPlayObj(obj: ITrackDetail, options: FormatPlayObjectOptions = {}): PlayObject { - const {newFromSource = false} = options; + static formatPlayObj(obj: YTNodes.MusicResponsiveListItem, options: FormatPlayObjectOptions = {}): PlayObject { + const {newFromSource = false, shelf = undefined} = options; const { id, title, album: albumData, artists: artistsData, - duration: durTimestamp, // string timestamp + authors: authorData, + duration: dur, // string timestamp } = obj; - let artists = undefined, + let artists = [], album = undefined, duration = undefined; if(artistsData !== undefined) { artists = artistsData.map(x => x.name) as string[]; + } else if(authorData !== undefined) { + artists = authorData.map(x => x.name) as string[]; } + let albumArtists: string[] = []; + if(artistsData !== undefined && authorData !== undefined) { + albumArtists = authorData.map(x => x.name) as string[]; + } if(albumData !== undefined) { album = albumData.name; - if(albumData.artist !== undefined) { - albumArtists = [albumData.artist.name]; - } } - if(durTimestamp !== undefined) { - const durObj = parseDurationFromTimestamp(durTimestamp); + if(dur!== undefined) { + const durObj = dayjs.duration(dur.seconds, 's') duration = durObj.asSeconds(); } return { @@ -118,57 +201,14 @@ export default class YTMusicSource extends AbstractSource { source: 'YTMusic', trackId: id, newFromSource, + comment: shelf } } } recentlyPlayedTrackIsValid = (playObj: PlayObject) => playObj.meta.newFromSource - protected onAuthUpdate = (cookieStr: string, authUser: number, updated: Map) => { - const { - options: { - logAuthUpdateChanges = false - } = {} - } = this.config; - - if(logAuthUpdateChanges) { - const parts: string[] = []; - if(authUser !== this.currentCreds.authUser) { - parts.push(`X-Goog-Authuser: ${authUser}`); - } - for(const [k,v] of updated) { - parts.push(`Cookie ${k}: Old => ${v.old} | New => ${v.new}`); - } - this.logger.info(`Updated Auth -->\n${parts.join('\n')}`); - } else { - this.logger.verbose(`Updated Auth`); - } - - this.currentCreds = { - cookie: cookieStr, - authUser - }; - - - this.writeCurrentAuth(cookieStr, authUser).then(() => {}); - } - - api = async (): Promise => { - if(this.apiInstance !== undefined) { - return this.apiInstance; - } - // @ts-expect-error default does exist - const ytm = new YouTubeMusic.default() as YouTubeMusic; - try { - this.apiInstance = await ytm.authenticate(this.currentCreds.cookie, typeof this.config.data.authUser === 'string' ? Number.parseInt(this.config.data.authUser) : this.config.data.authUser, this.onAuthUpdate); - } catch (e: any) { - this.logger.error('Failed to authenticate', e); - throw e; - } - return this.apiInstance; - } - - protected getLibraryHistory = async (): Promise => { + protected getLibraryHistory = async (): Promise => { // internally for this call YT returns a *list* of playlists with decreasing granularity from most recent to least recent like this: // * Today // * Yesterday @@ -177,14 +217,17 @@ export default class YTMusicSource extends AbstractSource { // // the playlist returned can therefore change abruptly IE MS started yesterday and new music listened to today -> "today" playlist is cleared try { - const playlist = await (await this.api()).getLibraryHistory(); - return {tracks: [], ...playlist}; + const res = await this.yti.actions.execute('/browse', { + browse_id: 'FEmusic_history', + client: 'YTMUSIC' + }); + return res; } catch (e) { throw e; } } - protected getLibraryHistoryPlaylists = async (): Promise => { + protected getLibraryHistoryPlaylists = async (): Promise => { // internally for this call YT returns a *list* of playlists with decreasing granularity from most recent to least recent like this: // * Today // * Yesterday @@ -193,26 +236,19 @@ export default class YTMusicSource extends AbstractSource { // // the playlist returned can therefore change abruptly IE MS started yesterday and new music listened to today -> "today" playlist is cleared try { - return await (await this.api()).getLibraryHistory(true) as IPlaylistDetail[]; + const res = await this.getLibraryHistory(); + return ytiHistoryResponseFromShelfToPlays(res); } catch (e) { + const info = loggedErrorExtra(e); + if(info !== undefined) { + this.logger.error(info, 'Additional API response details') + } throw e; } } getUpstreamRecentlyPlayed = async (options: RecentlyPlayedOptions = {}): Promise => { - let playlists: IPlaylistDetail[]; - try { - playlists = await this.getLibraryHistoryPlaylists() - } catch (e) { - throw e; - } - const playlistAwareTracks: PlayObject[][] = []; - - for(const playlist of playlists) { - playlistAwareTracks.push(playlist.tracks.map((x) => YTMusicSource.formatPlayObj(x, {newFromSource: false})).map((x) => ({...x,meta: {...x.meta, comment: playlist.name}}))) - } - - return playlistAwareTracks.flat(1).slice(0, 100); + return (await this.getLibraryHistoryPlaylists()).slice(0, 100); } /** @@ -221,7 +257,7 @@ export default class YTMusicSource extends AbstractSource { getRecentlyPlayed = async (options: RecentlyPlayedOptions = {}) => { const { display = false } = options; - let playlistDetail: IPlaylistDetail; + let playlistDetail: ApiResponse; try { playlistDetail = await this.getLibraryHistory(); } catch (e) { @@ -230,7 +266,7 @@ export default class YTMusicSource extends AbstractSource { let newPlays: PlayObject[] = []; - const plays = playlistDetail.tracks.map((x) => YTMusicSource.formatPlayObj(x, {newFromSource: false})).slice(0, 20); + const plays = ytiHistoryResponseToListItems(playlistDetail).map((x) => YTMusicSource.formatPlayObj(x, {newFromSource: false})).slice(0, 20); if(this.polling === false) { this.recentlyPlayed = plays; newPlays = plays; diff --git a/src/backend/tests/ytm/ytm.test.ts b/src/backend/tests/ytm/ytm.test.ts new file mode 100644 index 00000000..9ea14d1f --- /dev/null +++ b/src/backend/tests/ytm/ytm.test.ts @@ -0,0 +1,21 @@ +import { after, before, describe, it } from 'mocha'; +import chai, { assert, expect } from 'chai'; +import asPromised from 'chai-as-promised'; +import { Innertube, UniversalCache, Parser, YTNodes, IBrowseResponse } from 'youtubei.js'; +import { ytiHistoryResponseFromShelfToPlays, ytiHistoryResponseToListItems } from "../../sources/YTMusicSource.js"; +import ytHistoryRes from './ytres.json'; + +chai.use(asPromised); + +describe('Parses History', function () { + + it(`Parses a history response to tracks`, async function () { + const items = ytiHistoryResponseToListItems(ytHistoryRes); + expect(items).length(10); + }); + + it(`Parses a history response plays with shelf name`, async function () { + const items = ytiHistoryResponseFromShelfToPlays(ytHistoryRes); + expect(items[0]?.meta?.comment).to.eq('March 2023'); + }); +}); diff --git a/src/backend/tests/ytm/ytres.json b/src/backend/tests/ytm/ytres.json new file mode 100644 index 00000000..3d1187f8 --- /dev/null +++ b/src/backend/tests/ytm/ytres.json @@ -0,0 +1,5480 @@ +{ + "success": true, + "status_code": 200, + "data": { + "responseContext": { + "serviceTrackingParams": [ + { + "service": "GFEEDBACK", + "params": [ + { + "key": "browse_id", + "value": "FEmusic_history" + }, + { + "key": "browse_id_prefix", + "value": "" + }, + { + "key": "logged_in", + "value": "1" + }, + { + "key": "e", + "value": "9406004,23804281,23966208,24004644,24077241,24181174,24241378,24439361,24459435,24542367,24548629,24566687,51009781,51010235,51017346,51020570,51025415,51041512,51050361,51053689,51063643,51064835,51065188,51089007,51098297,51098299,51111738,51115184,51117319,51124104,51125020,51133103,51152050,51157411,51157841,51157895,51158514,51160545,51162170,51165467,51169118,51176511,51177817,51178982,51183909,51186528,51190652,51195231,51204329,51217504,51221011,51223962,51224135,51225967,51227037,51228350,51230241,51230478,51231814,51237842,51239093,51241028,51242447,51243940,51248255,51248734,51251836,51255676,51255680,51255743,51256084,51258066,51266454,51267568,51268362,51275782,51276557,51276565,51276640,51281227,51284653,51286051,51287196,51287500,51289938,51295132,51295408,51296439,51298018,51298829,51299710,51299724,51300414,51300530,51300699,51300760,51302359,51302492,51302680,51303666,51303667,51303669,51303790,51304121,51304155,51305840,51305952,51307723,51309313,51310323,51312153,51313148" + } + ] + }, + { + "service": "CSI", + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20211213.00.00" + }, + { + "key": "yt_li", + "value": "1" + }, + { + "key": "GetBrowseHistoryPage_rid", + "value": "0xdaafccf3094c8a75" + } + ] + }, + { + "service": "ECATCHER", + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + } + ] + } + ], + "maxAgeSeconds": 0 + }, + "contents": { + "singleColumnBrowseResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "title": "Recently played", + "selected": true, + "content": { + "sectionListRenderer": { + "contents": [ + { + "musicShelfRenderer": { + "title": { + "runs": [ + { + "text": "March 2023" + } + ] + }, + "contents": [ + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CJoBEMn0AhgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/lK5HVlcs0og/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n6IBQoqXjxzwft7oN7A06fHgAzLQ", + "width": 400, + "height": 225 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CKcBEIS_AiITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CKYBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "watchEndpoint": { + "videoId": "lK5HVlcs0og", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CKYBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Oil - Gorillaz" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Oil - Gorillaz" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Oil (feat. Stevie Nicks)", + "navigationEndpoint": { + "clickTrackingParams": "CJoBEMn0AhgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "lK5HVlcs0og", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Gorillaz", + "navigationEndpoint": { + "clickTrackingParams": "CJoBEMn0AhgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "UCNIV5B_aJnLrKDSnW_MOmcQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + }, + { + "text": " • " + }, + { + "text": "2.1M views" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": {}, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:51" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKUBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "lK5HVlcs0og", + "playlistId": "RDAMVMlK5HVlcs0og", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1sSzVIVmxjczBvZw%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CKUBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKMBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "lK5HVlcs0og", + "onEmptyQueue": { + "clickTrackingParams": "CKMBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "lK5HVlcs0og" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CKMBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CKQBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CKMBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKEBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "lK5HVlcs0og", + "onEmptyQueue": { + "clickTrackingParams": "CKEBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "lK5HVlcs0og" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CKEBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CKIBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CKEBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKABEMOUBhgDIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToPlaylistEndpoint": { + "videoId": "lK5HVlcs0og" + } + }, + "trackingParams": "CKABEMOUBhgDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJ8BEJD7BRgEIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "UCNIV5B_aJnLrKDSnW_MOmcQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CJ8BEJD7BRgEIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJ4BEJH7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtsSzVIVmxjczBvZw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CJ4BEJH7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJsBEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpK44OPe9xRf5FyjrM14f9l0jy-shAx9lcuoSa1AXxSX8teMWvyCmPZhJp1CLrGGTSF-CAe7NG2FwuuFHCKpzdP9aWH6PA", + "actions": [ + { + "clickTrackingParams": "CJsBEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CJsBEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CJ0BEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CJsBEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + ], + "trackingParams": "CJsBEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "lK5HVlcs0og" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CJwBEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CJwBEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "lK5HVlcs0og" + } + } + }, + { + "clickTrackingParams": "CJwBEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "lK5HVlcs0og" + } + } + }, + { + "clickTrackingParams": "CJwBEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "lK5HVlcs0og" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "lK5HVlcs0og" + } + } + }, + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CIwBEMn0AhgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/S03T47hapAc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mpyeV7fqoxVkHya4TPBGkZvJpuBg", + "width": 400, + "height": 225 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CJkBEIS_AiITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CJgBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "watchEndpoint": { + "videoId": "S03T47hapAc", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CJgBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Cracker Island - Gorillaz" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Cracker Island - Gorillaz" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Cracker Island (feat. Thundercat)", + "navigationEndpoint": { + "clickTrackingParams": "CIwBEMn0AhgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "S03T47hapAc", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Gorillaz", + "navigationEndpoint": { + "clickTrackingParams": "CIwBEMn0AhgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "UCNIV5B_aJnLrKDSnW_MOmcQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + }, + { + "text": " • " + }, + { + "text": "47M views" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": {}, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:39" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJcBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "S03T47hapAc", + "playlistId": "RDAMVMS03T47hapAc", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1TMDNUNDdoYXBBYw%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CJcBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJUBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "S03T47hapAc", + "onEmptyQueue": { + "clickTrackingParams": "CJUBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "S03T47hapAc" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CJUBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CJYBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CJUBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJMBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "S03T47hapAc", + "onEmptyQueue": { + "clickTrackingParams": "CJMBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "S03T47hapAc" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CJMBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CJQBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CJMBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJIBEMOUBhgDIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToPlaylistEndpoint": { + "videoId": "S03T47hapAc" + } + }, + "trackingParams": "CJIBEMOUBhgDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJEBEJD7BRgEIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "UCNIV5B_aJnLrKDSnW_MOmcQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CJEBEJD7BRgEIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJABEJH7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtTMDNUNDdoYXBBYw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CJABEJH7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI0BEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJEZGr5oUyd1nMJS28h8PuaYqLd1991E-0MR78jcHoAq5vXzOB7bqAi4IXaPoVOPketJdtJCMvn89R8j4Xyb3etB-xKSQ", + "actions": [ + { + "clickTrackingParams": "CI0BEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CI0BEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CI8BEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CI0BEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + ], + "trackingParams": "CI0BEKc7IhMIt_TqieGBiQMVxdVyCR1QITDt", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "S03T47hapAc" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CI4BEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CI4BEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "S03T47hapAc" + } + } + }, + { + "clickTrackingParams": "CI4BEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "S03T47hapAc" + } + } + }, + { + "clickTrackingParams": "CI4BEKVBGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "S03T47hapAc" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "S03T47hapAc" + } + } + } + ], + "trackingParams": "CIsBEPleGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + } + } + }, + { + "musicShelfRenderer": { + "title": { + "runs": [ + { + "text": "February 2023" + } + ] + }, + "contents": [ + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CHsQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/aZlTfoNytQ8aa6nJkrN3GclMwvPpTWoWNjaIhH4k1IZ_FB1olspeJWZELsABC032Gcm1Vq7VWUx7x2gXug=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/aZlTfoNytQ8aa6nJkrN3GclMwvPpTWoWNjaIhH4k1IZ_FB1olspeJWZELsABC032Gcm1Vq7VWUx7x2gXug=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CIoBEIS_AiITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CIkBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "watchEndpoint": { + "videoId": "LlAhFxf-BV0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CIkBEMjeAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Gourmet Race (From \"Kirby Superstar\") - The 8-Bit Big Band" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Gourmet Race (From \"Kirby Superstar\") - The 8-Bit Big Band" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Gourmet Race (From \"Kirby Superstar\") (feat. Sam Dillon)", + "navigationEndpoint": { + "clickTrackingParams": "CHsQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "LlAhFxf-BV0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "The 8-Bit Big Band", + "navigationEndpoint": { + "clickTrackingParams": "CHsQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Backwards Compatible", + "navigationEndpoint": { + "clickTrackingParams": "CHsQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_QwI9tAIYSEf", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:35" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIgBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "LlAhFxf-BV0", + "playlistId": "RDAMVMLlAhFxf-BV0", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1MbEFoRnhmLUJWMA%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CIgBEJvzBRgAIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIYBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "LlAhFxf-BV0", + "onEmptyQueue": { + "clickTrackingParams": "CIYBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "LlAhFxf-BV0" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CIYBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CIcBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CIYBEL7uBRgBIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIQBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "LlAhFxf-BV0", + "onEmptyQueue": { + "clickTrackingParams": "CIQBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "LlAhFxf-BV0" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CIQBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CIUBEMrHAyITCLf06onhgYkDFcXVcgkdUCEw7Q==" + } + } + } + } + ] + } + }, + "trackingParams": "CIQBEPvvBRgCIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CIMBEIT_BRgDIhMIt_TqieGBiQMVxdVyCR1QITDt", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLE7NQR22Wj326Z7Wfc8g1V-OT7QenQFJR82j_TpPlWdLnw9IgVKXsv1t3rJJB6fkfMIaBf_Q3joFZn1UZlsL8nzyXnFg" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CIMBEIT_BRgDIhMIt_TqieGBiQMVxdVyCR1QITDt", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpK6N-46lmyH--aqaRbTL0De2JmFIYc8m5GQMnI5kIjpCElMko97vSDSlXqBMo5rJShJVGEFJNu1-xisheQ455C_DcV2Uw" + } + }, + "trackingParams": "CIMBEIT_BRgDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIIBEMOUBhgEIhMIt_TqieGBiQMVxdVyCR1QITDt", + "addToPlaylistEndpoint": { + "videoId": "LlAhFxf-BV0" + } + }, + "trackingParams": "CIIBEMOUBhgEIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIEBEI_7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "MPREb_QwI9tAIYSEf", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CIEBEI_7BRgFIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIABEJD7BRgGIhMIt_TqieGBiQMVxdVyCR1QITDt", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CIABEJD7BRgGIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CH8QkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtMbEFoRnhmLUJWMA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CH8QkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHwQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpL2De8IUZhbv7DfcRX76elE4nbKHRdVVrf1PwRPlaJrakFmOzxj-qllXWTWRvrAEMi9fn04rzYAJbzDEW3wm5FXlyCvqw", + "actions": [ + { + "clickTrackingParams": "CHwQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CHwQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CH4QyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CHwQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CHwQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "LlAhFxf-BV0" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CH0QpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CH0QpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "LlAhFxf-BV0" + }, + "actions": [ + { + "clickTrackingParams": "CH0QpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpLE7NQR22Wj326Z7Wfc8g1V-OT7QenQFJR82j_TpPlWdLnw9IgVKXsv1t3rJJB6fkfMIaBf_Q3joFZn1UZlsL8nzyXnFg" + } + } + ] + } + }, + { + "clickTrackingParams": "CH0QpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "LlAhFxf-BV0" + } + } + }, + { + "clickTrackingParams": "CH0QpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "LlAhFxf-BV0" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "LlAhFxf-BV0" + } + } + }, + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CGoQyfQCGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/TyYSkfW7KK5oCV0rO0_NL9TZyhre2KffMonya2ll6L5xsARE1MYCMxKwIICNzDk9Cxd_L9Kxw3c8SmjjBw=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/TyYSkfW7KK5oCV0rO0_NL9TZyhre2KffMonya2ll6L5xsARE1MYCMxKwIICNzDk9Cxd_L9Kxw3c8SmjjBw=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CHoQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CHkQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "UFFa0QoHWvE", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CHkQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Tank! - Seatbelts" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Tank! - Seatbelts" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Tank!", + "navigationEndpoint": { + "clickTrackingParams": "CGoQyfQCGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "UFFa0QoHWvE", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Seatbelts", + "navigationEndpoint": { + "clickTrackingParams": "CGoQyfQCGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCFhMA8ygjzH72UqPf7PmlUg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "COWBOY BEBOP (Original Motion Picture Soundtrack)", + "navigationEndpoint": { + "clickTrackingParams": "CGoQyfQCGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_asHLU4Jr7nQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:31" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHgQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "UFFa0QoHWvE", + "playlistId": "RDAMVMUFFa0QoHWvE", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1VRkZhMFFvSFd2RQ%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CHgQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHYQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "UFFa0QoHWvE", + "onEmptyQueue": { + "clickTrackingParams": "CHYQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "UFFa0QoHWvE" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CHYQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CHcQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CHYQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHQQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "UFFa0QoHWvE", + "onEmptyQueue": { + "clickTrackingParams": "CHQQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "UFFa0QoHWvE" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CHQQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CHUQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CHQQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CHMQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLZbVGiTSImuqmPNeXJmm2W-Y1TyQzRvdo5NpgVtyiRGffScEIAt5IJNuo7JMCJIgZM3tYogOBrBw9xXYvD7AdX3-U-Ww" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CHMQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLAw74GT5zUOhXXJYMV1uZjXKUMqOfqXWa11MVrTMeqJvKd5zMQuEExBq9spm18mvDFBo8KUzK3Xfo5ICvjwuMWRRLQXw" + } + }, + "trackingParams": "CHMQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHIQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "UFFa0QoHWvE" + } + }, + "trackingParams": "CHIQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHEQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_asHLU4Jr7nQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CHEQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHAQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCFhMA8ygjzH72UqPf7PmlUg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CHAQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "View song credits" + } + ] + }, + "icon": { + "iconType": "PEOPLE_GROUP" + }, + "navigationEndpoint": { + "clickTrackingParams": "CG8Qr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPTCUFFa0QoHWvE", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_CREDITS" + } + } + } + }, + "trackingParams": "CG8Qr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CG4QkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtVRkZhMFFvSFd2RQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CG4QkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGsQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpIvqzNn3JiRi5Ie3KsGTM3Ls0y1L9FYXSd7L2D4NEOlMbbTKry-AkWQLZSVAfFFFiUt4vlFjagf3vuq8YeLmeyaENEnsg", + "actions": [ + { + "clickTrackingParams": "CGsQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CGsQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CG0QyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CGsQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CGsQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "UFFa0QoHWvE" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CGwQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CGwQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "UFFa0QoHWvE" + }, + "actions": [ + { + "clickTrackingParams": "CGwQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpLZbVGiTSImuqmPNeXJmm2W-Y1TyQzRvdo5NpgVtyiRGffScEIAt5IJNuo7JMCJIgZM3tYogOBrBw9xXYvD7AdX3-U-Ww" + } + } + ] + } + }, + { + "clickTrackingParams": "CGwQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "UFFa0QoHWvE" + } + } + }, + { + "clickTrackingParams": "CGwQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "UFFa0QoHWvE" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "UFFa0QoHWvE" + } + } + }, + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CFgQyfQCGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/QgFG5RHpesQcNq4JDY51ot0i2GRRf7GFpiO49zyAVO2C5YyKxCTglY0A9c4zBCHWkLrtg7mi-0UY5Uc=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/QgFG5RHpesQcNq4JDY51ot0i2GRRf7GFpiO49zyAVO2C5YyKxCTglY0A9c4zBCHWkLrtg7mi-0UY5Uc=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CGkQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CGgQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "Cg90gxYZ1C0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CGgQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Dang! - Mac Miller" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Dang! - Mac Miller" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Dang! (feat. Anderson .Paak)", + "navigationEndpoint": { + "clickTrackingParams": "CFgQyfQCGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Cg90gxYZ1C0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Mac Miller", + "navigationEndpoint": { + "clickTrackingParams": "CFgQyfQCGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC52ZqHVQz5OoGhvbWiRal6g", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "The Divine Feminine", + "navigationEndpoint": { + "clickTrackingParams": "CFgQyfQCGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_kCZ6WUs8Rg3", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "5:06" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGcQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Cg90gxYZ1C0", + "playlistId": "RDAMVMCg90gxYZ1C0", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1DZzkwZ3hZWjFDMA%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CGcQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGUQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "Cg90gxYZ1C0", + "onEmptyQueue": { + "clickTrackingParams": "CGUQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Cg90gxYZ1C0" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CGUQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CGYQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CGUQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGMQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "Cg90gxYZ1C0", + "onEmptyQueue": { + "clickTrackingParams": "CGMQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Cg90gxYZ1C0" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CGMQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CGQQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CGMQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_SAVED" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CGIQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpKCoTcJoGS7RGWGTxtTbZPe-SIBzyeO79F_h1Wv4Mq1PJK6JQrNoNsg-oJax_Qt-gjVL72Lm3o1A25yTP_kg_xIliwJQw" + } + }, + "toggledText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_ADD" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CGIQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLanq6fYOBQp2MpLP0zOfqAu9vm5oGQoiD5EhyUTSkBowi6IvsQ_vk1Chd-gUnoo1ESxOw4svtrC-i_shCEm1hh_R96ng" + } + }, + "trackingParams": "CGIQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGEQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "Cg90gxYZ1C0" + } + }, + "trackingParams": "CGEQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGAQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_kCZ6WUs8Rg3", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CGAQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF8QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC52ZqHVQz5OoGhvbWiRal6g", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CF8QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "View song credits" + } + ] + }, + "icon": { + "iconType": "PEOPLE_GROUP" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF4Qr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPTCCg90gxYZ1C0", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_CREDITS" + } + } + } + }, + "trackingParams": "CF4Qr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF0QkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtDZzkwZ3hZWjFDMA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CF0QkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFoQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpKD66WoJdanHu2afRa1D2sUJ2KBQEIQkXYQqw-bVqTwgblrd0Y2Yrk4sakynVmcj8iAV-JKHahNbnRyMIUe_aqsT9wvpA", + "actions": [ + { + "clickTrackingParams": "CFoQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CFoQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CFwQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CFoQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CFoQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "Cg90gxYZ1C0" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CFsQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CFsQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "Cg90gxYZ1C0" + }, + "actions": [ + { + "clickTrackingParams": "CFsQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpLanq6fYOBQp2MpLP0zOfqAu9vm5oGQoiD5EhyUTSkBowi6IvsQ_vk1Chd-gUnoo1ESxOw4svtrC-i_shCEm1hh_R96ng" + } + } + ] + } + }, + { + "clickTrackingParams": "CFsQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "Cg90gxYZ1C0" + } + } + }, + { + "clickTrackingParams": "CFsQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "Cg90gxYZ1C0" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "badges": [ + { + "musicInlineBadgeRenderer": { + "trackingParams": "CFkQoe0CGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "icon": { + "iconType": "MUSIC_EXPLICIT_BADGE" + }, + "accessibilityData": { + "accessibilityData": { + "label": "Explicit" + } + } + } + } + ], + "playlistItemData": { + "videoId": "Cg90gxYZ1C0" + } + } + }, + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CEgQyfQCGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/aZlTfoNytQ8aa6nJkrN3GclMwvPpTWoWNjaIhH4k1IZ_FB1olspeJWZELsABC032Gcm1Vq7VWUx7x2gXug=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/aZlTfoNytQ8aa6nJkrN3GclMwvPpTWoWNjaIhH4k1IZ_FB1olspeJWZELsABC032Gcm1Vq7VWUx7x2gXug=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CFcQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CFYQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "2SqWRLU32BU", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CFYQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Want You Gone (From \"Portal 2\") - The 8-Bit Big Band" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Want You Gone (From \"Portal 2\") - The 8-Bit Big Band" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Want You Gone (From \"Portal 2\") (feat. Benny Benack III)", + "navigationEndpoint": { + "clickTrackingParams": "CEgQyfQCGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "2SqWRLU32BU", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "The 8-Bit Big Band", + "navigationEndpoint": { + "clickTrackingParams": "CEgQyfQCGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Backwards Compatible", + "navigationEndpoint": { + "clickTrackingParams": "CEgQyfQCGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_QwI9tAIYSEf", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:41" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFUQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "2SqWRLU32BU", + "playlistId": "RDAMVM2SqWRLU32BU", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0yU3FXUkxVMzJCVQ%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CFUQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "2SqWRLU32BU", + "onEmptyQueue": { + "clickTrackingParams": "CFMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "2SqWRLU32BU" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CFMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CFQQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CFMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "2SqWRLU32BU", + "onEmptyQueue": { + "clickTrackingParams": "CFEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "2SqWRLU32BU" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CFEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CFIQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CFEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CFAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLlPWHHrxpeMjCiq0OOYwhvoD09J3NyLMsf-FOjvxjEM4z73aluqVrtTi1caj7mlc7mNzjvfQ8-YHRywKUdAAvMKXcVBQ" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CFAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpI0qa28UYPekFWZkSvvEgFGDH79RQF6vYaxiT62Y_jtsqlCSr7pxiEplJrSjuTtNNaPSdvRZuDCMg4HPzg0x36eOErmKg" + } + }, + "trackingParams": "CFAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE8Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "2SqWRLU32BU" + } + }, + "trackingParams": "CE8Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE4Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_QwI9tAIYSEf", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CE4Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE0QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CE0QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEwQkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgsyU3FXUkxVMzJCVQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CEwQkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJ8N3kDghKreUTXjJNCA4M3mYI8JJ5Fwubaj0sgNejydirRhHEEp_zLnXMRxuwptDlmLl7whMofuuj7PimO7s2G5Vmk4w", + "actions": [ + { + "clickTrackingParams": "CEkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CEkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CEsQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CEkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CEkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "2SqWRLU32BU" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CEoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CEoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "2SqWRLU32BU" + }, + "actions": [ + { + "clickTrackingParams": "CEoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpLlPWHHrxpeMjCiq0OOYwhvoD09J3NyLMsf-FOjvxjEM4z73aluqVrtTi1caj7mlc7mNzjvfQ8-YHRywKUdAAvMKXcVBQ" + } + } + ] + } + }, + { + "clickTrackingParams": "CEoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "2SqWRLU32BU" + } + } + }, + { + "clickTrackingParams": "CEoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "2SqWRLU32BU" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "2SqWRLU32BU" + } + } + }, + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CDgQyfQCGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/Ks-HeVbqttdGlZO1T78EaBW7IAnh1jqjL7hNrN6FP5if_GnKplO5kPq2LEI826hmEfMwk0_OizVEBCTT=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/Ks-HeVbqttdGlZO1T78EaBW7IAnh1jqjL7hNrN6FP5if_GnKplO5kPq2LEI826hmEfMwk0_OizVEBCTT=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CEcQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CEYQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "oHk4YYGjmHw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CEYQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Still Alive (From \"Portal\") - The 8-Bit Big Band" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Still Alive (From \"Portal\") - The 8-Bit Big Band" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Still Alive (From \"Portal\")", + "navigationEndpoint": { + "clickTrackingParams": "CDgQyfQCGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "oHk4YYGjmHw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "The 8-Bit Big Band", + "navigationEndpoint": { + "clickTrackingParams": "CDgQyfQCGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Choose Your Character!", + "navigationEndpoint": { + "clickTrackingParams": "CDgQyfQCGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_c367wl7Zw7K", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:12" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEUQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "oHk4YYGjmHw", + "playlistId": "RDAMVMoHk4YYGjmHw", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1vSGs0WVlHam1Idw%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CEUQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "oHk4YYGjmHw", + "onEmptyQueue": { + "clickTrackingParams": "CEMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "oHk4YYGjmHw" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CEMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CEQQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CEMQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "oHk4YYGjmHw", + "onEmptyQueue": { + "clickTrackingParams": "CEEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "oHk4YYGjmHw" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CEEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CEIQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CEEQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CEAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJSgYpvN9UPyc35j80lfhua3PI4HDiHZhFvW0JYRiviCt8jDSi1Z_IBqrQRi6r6SyOwFF7S_hydAKnEeBB3wKPPHFG4mA" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CEAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpIH8l8P0YOBro7HQXuq8iSR5kmNXF4XB1UTr7uzQUjPGGVmZLy25JtttODE658jDS2HmJWIaKQ0S2mvLHtdC5JnNcdJlw" + } + }, + "trackingParams": "CEAQhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD8Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "oHk4YYGjmHw" + } + }, + "trackingParams": "CD8Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD4Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_c367wl7Zw7K", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CD4Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD0QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UC4gpHwG5SQKJzV2qObgJdJg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CD0QkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDwQkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtvSGs0WVlHam1Idw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CDwQkfsFGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLzTm-h1Kkqs50pWrr3wO8sBRvhrQG-nXtPo5pRhvbuAyvOzayjptqjneqX1K905qkW08-qRS6dnfvRvQHG01WC_QMuiA", + "actions": [ + { + "clickTrackingParams": "CDkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CDkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CDsQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CDkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CDkQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "oHk4YYGjmHw" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CDoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CDoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "oHk4YYGjmHw" + }, + "actions": [ + { + "clickTrackingParams": "CDoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpJSgYpvN9UPyc35j80lfhua3PI4HDiHZhFvW0JYRiviCt8jDSi1Z_IBqrQRi6r6SyOwFF7S_hydAKnEeBB3wKPPHFG4mA" + } + } + ] + } + }, + { + "clickTrackingParams": "CDoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "oHk4YYGjmHw" + } + } + }, + { + "clickTrackingParams": "CDoQpUEYCSITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "oHk4YYGjmHw" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "oHk4YYGjmHw" + } + } + } + ], + "trackingParams": "CDcQ-V4YASITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + } + } + }, + { + "musicShelfRenderer": { + "title": { + "runs": [ + { + "text": "January 2023" + } + ] + }, + "contents": [ + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CCYQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/2ORsVnMoDz54nNIDYYE14YP5r7C1NQXsIVFgO5IMs6y64rY2u4VRQYsvjpaiXlew0hQf9IFmfq4gw6-u=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/2ORsVnMoDz54nNIDYYE14YP5r7C1NQXsIVFgO5IMs6y64rY2u4VRQYsvjpaiXlew0hQf9IFmfq4gw6-u=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CDYQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CDUQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "bsL1wgy1j-Q", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CDUQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Shadow Stabbing - CAKE" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Shadow Stabbing - CAKE" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Shadow Stabbing", + "navigationEndpoint": { + "clickTrackingParams": "CCYQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "bsL1wgy1j-Q", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "CAKE", + "navigationEndpoint": { + "clickTrackingParams": "CCYQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCPEA0kfpI53U9vmqnc9lJ-A", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Comfort Eagle", + "navigationEndpoint": { + "clickTrackingParams": "CCYQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_sHzavCc6vDo", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:08" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDQQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "bsL1wgy1j-Q", + "playlistId": "RDAMVMbsL1wgy1j-Q", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1ic0wxd2d5MWotUQ%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CDQQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDIQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "bsL1wgy1j-Q", + "onEmptyQueue": { + "clickTrackingParams": "CDIQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "bsL1wgy1j-Q" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CDIQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CDMQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CDIQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDAQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "bsL1wgy1j-Q", + "onEmptyQueue": { + "clickTrackingParams": "CDAQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "bsL1wgy1j-Q" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CDAQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CDEQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CDAQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CC8QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpL_ryR1M99Jzih_0ldsLXcBwa4YGduyKopUYo8Ka7aMdQNQWnj8v3eZIlKFqQHyuXwZtz1vbGuO7yjwir5jA34vnBAagA" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CC8QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJ8B1uAfrhorrrb3LNFyLRKK6pd4PVOAd17lrSURsNhvdD81oVCsQv3C_aNcDZg34A5Xiq5M3OnX1AFXYLmSNk4OiCEyg" + } + }, + "trackingParams": "CC8QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC4Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "bsL1wgy1j-Q" + } + }, + "trackingParams": "CC4Qw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC0Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_sHzavCc6vDo", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CC0Qj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCwQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCPEA0kfpI53U9vmqnc9lJ-A", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CCwQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "View song credits" + } + ] + }, + "icon": { + "iconType": "PEOPLE_GROUP" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCsQr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPTCbsL1wgy1j-Q", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_CREDITS" + } + } + } + }, + "trackingParams": "CCsQr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCoQkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgtic0wxd2d5MWotUQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CCoQkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCcQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpKVzCu4tmZ5slH81PeCcXKhErbHcynfcKk116yMYjUcQGST276b7LBoU3gJl0tAHdC-LPkZOViU_hzzX71pkrp5DQ1XFw", + "actions": [ + { + "clickTrackingParams": "CCcQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CCcQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CCkQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CCcQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CCcQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "bsL1wgy1j-Q" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CCgQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CCgQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "bsL1wgy1j-Q" + }, + "actions": [ + { + "clickTrackingParams": "CCgQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpL_ryR1M99Jzih_0ldsLXcBwa4YGduyKopUYo8Ka7aMdQNQWnj8v3eZIlKFqQHyuXwZtz1vbGuO7yjwir5jA34vnBAagA" + } + } + ] + } + }, + { + "clickTrackingParams": "CCgQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "bsL1wgy1j-Q" + } + } + }, + { + "clickTrackingParams": "CCgQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "bsL1wgy1j-Q" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "bsL1wgy1j-Q" + } + } + } + ], + "trackingParams": "CCUQ-V4YAiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + } + } + }, + { + "musicShelfRenderer": { + "title": { + "runs": [ + { + "text": "December 2022" + } + ] + }, + "contents": [ + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CBQQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://lh3.googleusercontent.com/kSPVOVNh0C9kfkYFD8UuurMsnCB8r5WKzvxSP68HxM1fZnOs-FetIJlatZpXeTuoTIBFd_jrK-Y8W6wn=w60-h60-l90-rj", + "width": 60, + "height": 60 + }, + { + "url": "https://lh3.googleusercontent.com/kSPVOVNh0C9kfkYFD8UuurMsnCB8r5WKzvxSP68HxM1fZnOs-FetIJlatZpXeTuoTIBFd_jrK-Y8W6wn=w120-h120-l90-rj", + "width": 120, + "height": 120 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CCQQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CCMQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "Bcus42ihkTI", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CCMQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play I'd Rather Go Blind - Etta James" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause I'd Rather Go Blind - Etta James" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "I'd Rather Go Blind", + "navigationEndpoint": { + "clickTrackingParams": "CBQQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Bcus42ihkTI", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Etta James", + "navigationEndpoint": { + "clickTrackingParams": "CBQQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCieyolnCbsWzyEt6wsd7lgQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Tell Mama", + "navigationEndpoint": { + "clickTrackingParams": "CBQQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_zqisM59IhFI", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "2:37" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCIQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Bcus42ihkTI", + "playlistId": "RDAMVMBcus42ihkTI", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1CY3VzNDJpaGtUSQ%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "trackingParams": "CCIQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCAQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "Bcus42ihkTI", + "onEmptyQueue": { + "clickTrackingParams": "CCAQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Bcus42ihkTI" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CCAQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CCEQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CCAQvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CB4Q--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "Bcus42ihkTI", + "onEmptyQueue": { + "clickTrackingParams": "CB4Q--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "Bcus42ihkTI" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CB4Q--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CB8QyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CB4Q--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultText": { + "runs": [ + { + "text": "Save to library" + } + ] + }, + "defaultIcon": { + "iconType": "LIBRARY_ADD" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CB0QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpLHMvI9NTAH1b72E3E8M_TiRHfeAV2QQG99zKHXwLc1s4bS1bRiAuxjZcPZa8eCR9-LkFBlnpMLPwhsWd5JH6-jwLOk0Q" + } + }, + "toggledText": { + "runs": [ + { + "text": "Remove from library" + } + ] + }, + "toggledIcon": { + "iconType": "LIBRARY_SAVED" + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CB0QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJmCHH0N61R-ck4nVDG4wtOOshhZc320HAfVdKraBseoCJBO23YO04iwGWaW3Ss4OOjDmHbiQo67BXYjioJ6O5s3e5uLg" + } + }, + "trackingParams": "CB0QhP8FGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBwQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "Bcus42ihkTI" + } + }, + "trackingParams": "CBwQw5QGGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPREb_zqisM59IhFI", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + } + } + }, + "trackingParams": "CBsQj_sFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBoQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCieyolnCbsWzyEt6wsd7lgQ", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CBoQkPsFGAYiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "View song credits" + } + ] + }, + "icon": { + "iconType": "PEOPLE_GROUP" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBkQr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "MPTCBcus42ihkTI", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_CREDITS" + } + } + } + }, + "trackingParams": "CBkQr6MKGAciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBgQkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtCY3VzNDJpaGtUSQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CBgQkfsFGAgiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBUQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJej_VTpKrs8fIOKS7t0oBIpfXVkIK34ypeEKoP6dsYm3e-A0EiO80JiEWv-k0dVGYDMAiyJz_BmNEvHFta1l-1f_eYoQ", + "actions": [ + { + "clickTrackingParams": "CBUQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CBUQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CBcQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CBUQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CBUQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "Bcus42ihkTI" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CBYQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CBYQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "Bcus42ihkTI" + }, + "actions": [ + { + "clickTrackingParams": "CBYQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "musicLibraryStatusUpdateCommand": { + "libraryStatus": "MUSIC_LIBRARY_STATUS_IN_LIBRARY", + "addToLibraryFeedbackToken": "AB9zfpLHMvI9NTAH1b72E3E8M_TiRHfeAV2QQG99zKHXwLc1s4bS1bRiAuxjZcPZa8eCR9-LkFBlnpMLPwhsWd5JH6-jwLOk0Q" + } + } + ] + } + }, + { + "clickTrackingParams": "CBYQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "Bcus42ihkTI" + } + } + }, + { + "clickTrackingParams": "CBYQpUEYCiITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "Bcus42ihkTI" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "Bcus42ihkTI" + } + } + } + ], + "trackingParams": "CBMQ-V4YAyITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + } + } + }, + { + "musicShelfRenderer": { + "title": { + "runs": [ + { + "text": "July 2022" + } + ] + }, + "contents": [ + { + "musicResponsiveListItemRenderer": { + "trackingParams": "CAUQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "thumbnail": { + "musicThumbnailRenderer": { + "thumbnail": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/vi/iBs8XgoNe1c/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kTwvgU5Fs-nyi0thvefssM2_6h3g", + "width": 400, + "height": 225 + } + ] + }, + "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", + "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FIT", + "trackingParams": "CBIQhL8CIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + }, + "overlay": { + "musicItemThumbnailOverlayRenderer": { + "background": { + "verticalGradient": { + "gradientLayerColors": [ + "3422552064", + "3422552064" + ] + } + }, + "content": { + "musicPlayButtonRenderer": { + "playNavigationEndpoint": { + "clickTrackingParams": "CBEQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "watchEndpoint": { + "videoId": "iBs8XgoNe1c", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CBEQyN4CIhMIt_TqieGBiQMVxdVyCR1QITDt", + "playIcon": { + "iconType": "PLAY_ARROW" + }, + "pauseIcon": { + "iconType": "PAUSE" + }, + "iconColor": 4294967295, + "backgroundColor": 0, + "activeBackgroundColor": 0, + "loadingIndicatorColor": 14745645, + "playingIcon": { + "iconType": "VOLUME_UP" + }, + "iconLoadingColor": 0, + "activeScaleFactor": 1, + "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", + "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", + "accessibilityPlayData": { + "accessibilityData": { + "label": "Play Generous Heart - Maya Hawke" + } + }, + "accessibilityPauseData": { + "accessibilityData": { + "label": "Pause Generous Heart - Maya Hawke" + } + } + } + }, + "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", + "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" + } + }, + "flexColumns": [ + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Generous Heart", + "navigationEndpoint": { + "clickTrackingParams": "CAUQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "iBs8XgoNe1c", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + } + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": { + "runs": [ + { + "text": "Maya Hawke", + "navigationEndpoint": { + "clickTrackingParams": "CAUQyfQCGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCpCdLTLfDakfXAI29jeytkg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + } + }, + { + "text": " • " + }, + { + "text": "1.1M views" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" + } + }, + { + "musicResponsiveListItemFlexColumnRenderer": { + "text": {}, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_MEDIUM" + } + } + ], + "fixedColumns": [ + { + "musicResponsiveListItemFixedColumnRenderer": { + "text": { + "runs": [ + { + "text": "3:49" + } + ] + }, + "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", + "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" + } + } + ], + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBAQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "iBs8XgoNe1c", + "playlistId": "RDAMVMiBs8XgoNe1c", + "params": "wAEB", + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1pQnM4WGdvTmUxYw%3D%3D" + } + }, + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "trackingParams": "CBAQm_MFGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CA4Qvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "iBs8XgoNe1c", + "onEmptyQueue": { + "clickTrackingParams": "CA4Qvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "iBs8XgoNe1c" + } + } + }, + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "commands": [ + { + "clickTrackingParams": "CA4Qvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CA8QyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CA4Qvu4FGAEiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAwQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "queueAddEndpoint": { + "queueTarget": { + "videoId": "iBs8XgoNe1c", + "onEmptyQueue": { + "clickTrackingParams": "CAwQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "watchEndpoint": { + "videoId": "iBs8XgoNe1c" + } + } + }, + "queueInsertPosition": "INSERT_AT_END", + "commands": [ + { + "clickTrackingParams": "CAwQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CA0QyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CAwQ--8FGAIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Save to playlist" + } + ] + }, + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAsQw5QGGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToPlaylistEndpoint": { + "videoId": "iBs8XgoNe1c" + } + }, + "trackingParams": "CAsQw5QGGAMiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAoQkPsFGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "browseEndpoint": { + "browseId": "UCpCdLTLfDakfXAI29jeytkg", + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + } + } + }, + "trackingParams": "CAoQkPsFGAQiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAkQkfsFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtpQnM4WGdvTmUxYw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "trackingParams": "CAkQkfsFGAUiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + { + "menuServiceItemRenderer": { + "text": { + "runs": [ + { + "text": "Remove from history" + } + ] + }, + "icon": { + "iconType": "REMOVE_FROM_HISTORY" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAYQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "feedbackEndpoint": { + "feedbackToken": "AB9zfpJ3thZOEUQswqS4m4Lzmd53sj00aZ0LU4nzWKeZhzICUgXTnd6_HTpAYp-SaerIhrB2gYL5Y_evqwErFfx8qiUAGzpHZA", + "actions": [ + { + "clickTrackingParams": "CAYQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "hideEnclosingAction": { + "hack": true + } + }, + { + "clickTrackingParams": "CAYQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "This item has been removed from your history." + } + ] + }, + "trackingParams": "CAgQyscDIhMIt_TqieGBiQMVxdVyCR1QITDt" + } + } + } + } + ] + } + }, + "trackingParams": "CAYQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ], + "trackingParams": "CAYQpzsiEwi39OqJ4YGJAxXF1XIJHVAhMO0=", + "topLevelButtons": [ + { + "likeButtonRenderer": { + "target": { + "videoId": "iBs8XgoNe1c" + }, + "likeStatus": "INDIFFERENT", + "trackingParams": "CAcQpUEYByITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likesAllowed": true, + "serviceEndpoints": [ + { + "clickTrackingParams": "CAcQpUEYByITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "LIKE", + "target": { + "videoId": "iBs8XgoNe1c" + } + } + }, + { + "clickTrackingParams": "CAcQpUEYByITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "DISLIKE", + "target": { + "videoId": "iBs8XgoNe1c" + } + } + }, + { + "clickTrackingParams": "CAcQpUEYByITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "likeEndpoint": { + "status": "INDIFFERENT", + "target": { + "videoId": "iBs8XgoNe1c" + } + } + } + ] + } + } + ], + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + } + } + }, + "playlistItemData": { + "videoId": "iBs8XgoNe1c" + } + } + } + ], + "trackingParams": "CAQQ-V4YBCITCLf06onhgYkDFcXVcgkdUCEw7Q==", + "shelfDivider": { + "musicShelfDividerRenderer": { + "hidden": true + } + } + } + } + ], + "trackingParams": "CAMQui8iEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + "tabIdentifier": "FEmusic_history", + "trackingParams": "CAIQ8JMBGAAiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + } + ] + } + }, + "header": { + "musicHeaderRenderer": { + "title": { + "runs": [ + { + "text": "History" + } + ] + }, + "trackingParams": "CAEQ4HIiEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } + }, + "trackingParams": "CAAQhGciEwi39OqJ4YGJAxXF1XIJHVAhMO0=" + } +} diff --git a/src/client/components/statusCard/SourceStatusCard.tsx b/src/client/components/statusCard/SourceStatusCard.tsx index 269db1db..475ae06e 100644 --- a/src/client/components/statusCard/SourceStatusCard.tsx +++ b/src/client/components/statusCard/SourceStatusCard.tsx @@ -81,6 +81,7 @@ const SourceStatusCard = (props: SourceStatusCardData) => {
{discovered}: {tracksDiscovered}
{upstreamRecent} {canPoll && hasAuthInteraction ?
(Re)authenticate : null} + {type === 'ytmusic' && 'userCode' in data ?
Code: {data.userCode as string}
: null} ); } return (