Docs
Everything about installing and using ZCYMP 1.0.0 on Windows, and building it yourself.
Install
Installer
- Download
ZCYMP-1.0.0-Setup-x64.exeand run it. - If SmartScreen says "Windows protected your PC", choose More info, then Run anyway. The build is not code-signed.
- Pick a folder or keep the default,
%LOCALAPPDATA%\Programs\ZCYMP. No administrator rights are needed.
To remove it, open Windows Settings, Apps, Installed apps, and uninstall "Zero Client Youtube Music Player". The uninstaller asks whether to delete your settings and cached songs too.
Portable
Unzip ZCYMP-1.0.0-portable-x64.zip anywhere and run zcymp.exe. While portable.txt sits beside the exe, everything the app saves goes into a data folder next to it. Keep WebView2Loader.dll beside the exe; the app will not start without it.
Check the download
In PowerShell, compare the result with the SHA-256 on the download page:
Get-FileHash .\ZCYMP-1.0.0-Setup-x64.exe -Algorithm SHA256
First run
You can search and play without an account. To see your library, playlists and recommendations, choose Sign in in the sidebar. A window opens with Google's own sign-in page, so you type your password there and not into ZCYMP. The session it gets back is kept in Windows Credential Manager.
Home, Explore and Library are in the sidebar. The search box is at the top. Click a song to play it; the player bar at the bottom has the queue, the mini player and the now-playing view.
Island mini player
Press Ctrl + M, or the mini player button in the player bar. The app window becomes a small black notch at the top centre of the screen it was on, and stays above other windows.
| At rest | Shows the cover, the song's name, bars that move while music plays, and a thin line for how far the song has got. |
|---|---|
| Point at it | It opens into a mini player: cover, title and artists, a seek line you can click or drag, and previous, play / pause and next. |
| Double-click | Opens the full-screen player. |
| Corner button | Goes back to the full window. Ctrl + M does the same. |
The island always sits at the top centre; it cannot be dragged. Everything around it stays clickable. If you prefer the older strip-style mini player, turn off Settings, Appearance, Mini player, Island mini player and restart the app.
Song cache
When a song finishes streaming, ZCYMP keeps the audio on disk. The next time you play it, it starts immediately, uses no network, and works offline. With the cache on, the next song in your queue is also fetched ahead of time.
Open Settings, Cache and downloads:
| Song cache | On or off. Off: every play streams again. Songs already kept stay until you delete them. |
|---|---|
| Size limit | 256 MB to 10 GB (1 GB to start with). A song is about 4 MB. When the cache is full, the songs you played longest ago are removed first. |
| Delete cache | Removes every cached song and all cached artwork at once, and shows how much space that freed. |
The cache is separate from Downloads. A download is a tagged audio file in your Music folder that you asked for from a song's menu; the cache is the app's own and can be emptied at any time. Songs longer than about 16 MB of audio play through a moving window and are not cached.
Artwork and display
Settings, Display controls how much the app loads and draws.
| Artwork | Off, Low, Balanced or High. Lower settings download smaller pictures and keep fewer in memory. Off downloads no artwork at all and shows plain tiles. |
|---|---|
| Album and playlist covers | On cards and at the top of album and playlist pages. |
| Artist pictures | Artists' round pictures and the banner across an artist's page, the largest picture the app loads. |
| Explore | Switch New releases, Top songs and Charts on or off separately. A shelf that is off loads nothing. |
| Song lists | Row size, covers in rows, the album column, play counts, durations and the explicit badge. |
| Cards | Small, medium or large, with one- or two-line titles. |
| Animations | Off makes everything change at once and draws fewer frames. |
For the lightest setup, set Artwork to Low or Off, turn off Animations, and leave Appearance, Album-art background off.
Network and HTTP/3
Settings, General, Connection shows how artwork is being fetched and lets you change it.
| HTTP/3 for artwork | On by default. The app checks at launch whether HTTP/3 gets through on your network. If it does not, or a request fails, artwork is fetched over HTTP/2 instead without you noticing. |
|---|---|
| HTTP/3 for songs | Off by default and experimental. YouTube ties a song's address to the connection that asked for it, so on some networks HTTP/3 is refused. Each block that fails is fetched the usual way at once, and after two failures songs stay on the usual connection until you restart. |
| Proxy | Send everything through an HTTP or SOCKS proxy, or follow Windows' setting. HTTP/3 is not used through a proxy. |
Keyboard shortcuts
| Space | Play or pause |
|---|---|
| Ctrl + → / ← | Next or previous song |
| Ctrl + ↑ / ↓ | Volume up or down |
| Ctrl + F | Search |
| L | Open or close now playing |
| F | Full screen, while now playing is open |
| Ctrl + M | Mini player on or off |
| Alt + ← / → | Back or forward |
| F5 | Refresh the page |
| Esc | Leave full screen or now playing |
| Ctrl + + / - / 0 | Zoom in, zoom out, back to 100% |
| Media keys | Play / pause, next and previous work from anywhere |
The full list, and global shortcuts you can set yourself, are in Settings, Keyboard shortcuts.
Where files live
| Installed | %LOCALAPPDATA%\Programs\ZCYMP |
|---|---|
| Settings and caches | %APPDATA%\zcymp\data (portable: the data folder beside the exe) |
| Cached songs | data\cache\songs |
| Cached artwork | data\thumbs |
| Log | data\zcymp.log, and zcymp.prev.log from the launch before |
| Downloads | Music\ZCYMP, or the folder you pick in Settings |
ZCYMP shares nothing with an installed ytm-rs; the two can sit side by side.
Troubleshooting
The app does not start (portable)
Make sure WebView2Loader.dll is in the same folder as zcymp.exe. Unzip the whole archive rather than running the exe from inside it.
Sign-in fails or the sign-in window is blank
Sign-in needs Microsoft Edge WebView2. Install or repair the "WebView2 Runtime" from Microsoft, then try again. If the message mentions an error sending a request, something between you and YouTube is blocking the connection: check your VPN, firewall, or the app's proxy setting.
A song will not play, or stops after a moment
Try another song first. If only some songs fail, they may need an account or be unavailable in your country. If "HTTP/3 for songs" is on, turn it off. The log file has the reason on a line that starts with the song's id.
Covers do not appear
Check Settings, Display, Artwork is not Off and the cover switches are on. If your network blocks UDP oddly, turn off "HTTP/3 for artwork".
Start over
Quit the app and delete %APPDATA%\zcymp. That removes settings, the sign-in and both caches.
Build from source
You need a current stable Rust toolchain. Download the source, unzip it, and run:
cargo build --release
The app is target\release\zcymp.exe. HTTP/3 uses reqwest's http3 feature, which needs --cfg reqwest_unstable; the project's .cargo/config.toml sets it. To leave HTTP/3 out:
cargo build --release --no-default-features
To make the installer you need NSIS 3:
makensis -DVERSION=1.0.0 -DEXE=..\target\release\zcymp.exe installer\zcymp.nsi
On Linux, install libssl-dev libasound2-dev libgtk-3-dev libwebkit2gtk-4.1-dev libxdo-dev libayatana-appindicator3-dev libdbus-1-dev first. Run the tests with cargo test. The README in the source has the rest, including cross-building for Windows from Linux.
Credits and licence
- Built by not.xznt.
- A fork of ytm-rs by grapedjuice and contributors, including upstream pull requests #90 and #92.
- Licensed GPL-3.0-only. You may use, change and share it under that licence; the source is always available from the download page.
- The album-art background is a port of Kawarp (MIT, © Better Lyrics). Inter is under the SIL OFL 1.1 and Lucide icons under ISC.
- Not affiliated with YouTube or Google.