MCPcopy Index your code
hub / github.com/HabitWaist/YT-Desktop-App

github.com/HabitWaist/YT-Desktop-App @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,153 symbols 2,181 edges 197 files 13 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

YouTube Music

Screenshot

Electron wrapper around YouTube Music featuring:

Demo Image

Player Screen (album color theme & ambient light)
Screenshot1
Screenshot2
Screenshot3
Screenshot4

Content

Available plugins:

  • Ad Blocker: Block ads and trackers.

  • Album Actions: Adds undislike, dislike, like, and unlike buttons for all the songs in a playlist or album.

  • Album Color Theme: Applies a dynamic theme and visual effects based on the album color palette.

  • Ambient Mode: Applies a lighting effect by casting gentle colors from the video, into your screen’s background.

  • Audio Compressor: Apply compression to audio (in other words, lowers the volume of the loudest parts of the signal and raises the volume of the softest parts).

  • Blur Navigation Bar: makes navigation bar transparent and blurry.

  • Bypass Age Restrictions: bypass YouTube's age verification.

  • Captions Selector: Enable captions.

  • Compact Sidebar: Always set the sidebar in compact mode.

  • Crossfade: Crossfade between songs (this one is not really working as expected).

  • Disable Autoplay: Makes every song start in "paused" mode. Every song, even the next one playing. So, use it only if you wanna stop your listening session.

  • Discord Rich Presence: Show your friends what you listen to with Rich Presence.

  • Downloader: downloads MP3 directly from the interface.

  • Exponential Volume: Makes the volume slider exponential so it's easier to select lower volumes.

  • In-App Menu: gives bars a fancy, dark look.

  • Scrobbler: Adds scrobbling support for Last.fm and ListenBrainz.

  • Lumia Stream: Adds Lumia Stream support.

  • Lyrics Genius: Adds lyrics support for most songs.

  • Music Together: Share a playlist with others. When the host plays a song, everyone else will hear the same song.

  • Navigation: Next/Back navigation arrows directly integrated in the interface, like in your favorite browser.

  • No Google Login: Remove Google login buttons and links from the interface.

  • Notifications: Display a notification when a song starts playing (interactive notifications are available on windows).

  • Picture-in-picture: allows to switch the app to picture-in-picture mode.

  • Playback Speed: Adds a slider that controls song speed.

  • Precise Volume: Control the volume precisely using mousewheel/hotkeys, with a custom hud and customizable volume steps.

  • Skip Disliked Song: Skips disliked songs.

  • Skip Silences: Automatically skip silenced sections (I don't like it; DON'T use it).

  • SponsorBlock: Automatically Skips non-music parts like intro/outro or parts of music videos where the song isn't playing.

  • Synced Lyrics: Provides synced lyrics to songs, using providers like LRClib.

  • Taskbar Media Control: Control playback from your Windows taskbar.

  • Video Quality Changer: Allows changing the video quality with a button on the video overlay.

  • Video Toggle: Adds a button to switch between Video/Song mode. Can also optionally remove the whole video tab, lol.

License

MIT © FoxDavoid

FAQ

Why apps menu isn't showing up?

If Hide Menu option is on - you can show the menu with the alt key.

Extension points exported contracts — how you extend this code

YouTubeMusicAppElement (Interface)
(no doc)
src/renderer.ts
CounterOptions (Interface)
(no doc)
src/custom-electron-prompt.d.ts
YtFormattedStringProps (Interface)
(no doc)
src/yt-web-components.d.ts
NavigationOptions (Interface)
(no doc)
src/navigation.d.ts
Compressor (Interface)
(no doc)
src/reset.d.ts
ToastService (Interface)
(no doc)
src/types/queue.ts
SongInfo (Interface)
(no doc)
src/providers/song-info.ts
LanguageResources (Interface)
(no doc)
src/i18n/resources/@types/index.ts

Core symbols most depended-on inside this repo

on
called by 113
src/plugins/music-together/queue/queue.ts
addEventListener
called by 73
src/navigation.d.ts
setProperty
called by 50
src/plugins/shortcuts/mpris-service.d.ts
createPlugin
called by 37
src/utils/index.ts
broadcast
called by 28
src/plugins/music-together/queue/queue.ts
ElementFromHtml
called by 22
src/plugins/utils/renderer/html.ts
$
called by 19
src/plugins/picture-in-picture/renderer.ts
cacheNoArgs
called by 15
src/providers/decorators.ts

Shape

Function 537
Interface 478
Method 88
Class 30
Enum 20

Languages

TypeScript100%

Modules by API surface

src/types/datahost-get-state.ts275 symbols
src/types/get-player-response.ts71 symbols
src/types/player-api-events.ts50 symbols
src/plugins/music-together/queue/queue.ts23 symbols
src/plugins/downloader/main/index.ts22 symbols
src/navigation.d.ts20 symbols
src/plugins/shortcuts/mpris.ts17 symbols
src/plugins/shortcuts/mpris-service.d.ts17 symbols
src/plugins/precise-volume/renderer.ts17 symbols
src/plugins/notifications/interactive.ts16 symbols
src/plugins/scrobbler/services/lastfm.ts15 symbols
src/plugins/lyrics-genius/types.ts15 symbols

For agents

$ claude mcp add YT-Desktop-App \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact