Queue / review
Open or close requests, review maps before accepting them, set queue limits and keep track of what has already been played.
ValoCookiestuff i made
the part this app originally existed for.
Open or close requests, review maps before accepting them, set queue limits and keep track of what has already been played.
You can filter by PP, stars, length, BPM, AR, CS, OD, status and mode. Leave them blank if you do not care.
Requested mods stay with the map and show up when the request is sent to osu!. NoMod stays clean instead of getting an unnecessary NM label.
If Twitch sticks a reply mention in front of a beatmap link, OSD still picks up the map and keeps the actual sender as the requester.
Viewers can check their own requests and see how much space they have left under the current queue limits.
Opened requests stay in History so you can go back to older maps without messing with the active queue.
shows the map you actually have selected, not just whatever came from the request queue.
Chat can ask for the current or most recently selected map, including difficulty, stars, mods and the map link when available.
Manual map changes in stable can update !np before gameplay starts instead of waiting until you play the map.
If osu! was already open before OSD, it can recover the newest recent selection instead of starting completely blank.
stable and lazer are handled separately because they store this stuff differently.
Report whichever client is active, or both if you want. OSD does not pretend it knows a custom skin name when it cannot prove one.
You can keep automatic detection or override the chat-facing name and download link for either client.
The broadcaster can change the display name or link from Twitch chat, switch back to auto or clear an override.
If a local lazer skin name cannot be resolved safely, you can name that skin manually instead of getting a made-up result.
use the pieces you want and ignore the rest.
Current selected/requested map as its own Browser Source.
A smaller queue view that does not need half the screen.
Just the current request status, separate from the rest of the queue UI.
keys, trails, TOTAL, BPM and MAX BPM in one Browser Source.
The overlay targets 60 FPS so presses and trails do not look choppy on stream.
Set Key 1, Key 2 and optional mouse inputs separately, including their colors and trail colors.
Live BPM is based on the actual timing between presses. There is no fake 300 BPM cap or anything like that.
The session max only updates from tapping that is consistent enough to count, so one cursed input spike does not become your record.
Both configured inputs are measured properly instead of alternating taps showing up at half speed.
Horizontal or vertical, with different trail directions depending on how you want it to sit in OBS.
Total presses stay cumulative until you reset them yourself.
There is an in-app color picker with HEX, RGB/HSV controls and recent colors.
The visualizer keeps updating while the OSD window is minimized.
profile info and match/session changes without needing another app open.
Rank, rating, games, wins, win rate, lifetime Ranked wins and season score when the official data has them.
When the OBS source or preview is visible, refreshes happen much faster so the overlay does not feel several minutes behind.
Remove the card background/border and keep only the text, graph and stats over your stream.
Colors and opacity are editable if you want it to match the rest of your overlay.
Session delta and W/L update when the published Ranked Play stats actually change.
OSD uses an official tosu runtime for some live map and gameplay data.
tosu is its own open-source project. i do not claim any of that code as mine. OSD currently pins tosu v4.25.1, verifies the runtime before packaging it and keeps the license/source notices with the release.
tosu is developed separately by the tosu project.
The packaged build currently uses tosu v4.25.1.
tosu is LGPL-3.0. The exact upstream source is linked in the third-party notices included with OSD.
OSD checks in the background and tells you when there is a newer build.
The app checks the ValoCookie update manifest and GitHub release info so one stale source does not leave you stuck on an old version.
Starts the updater instead of making you manually hunt down the newest exe.
The replacement is checked before OSD relaunches.
Yep. Supported keyboard and mouse bindings keep being captured in the background.
No artificial BPM cap. The value comes from the input timing.
Yep. Stable and lazer can each have their own display name and link.
Profile info can still refresh outside a match. The faster live refresh is mainly for when the overlay or preview is open.
Because OSD uses it for some live osu! telemetry and i would rather be very obvious about what is mine and what is not.
i also made a separate app for opening the rest of my stream setup and keeping pre-stream checks in one place. more info →