danser-go is a CLI visualisation tool for osu!standard maps.
As danser is in development phase, some things may break. If that happens please fill an issue with as much detail as possible.
WARNING: Because of MacOS' poor OpenGL support, danser-go won't run on that platform. Please use dual-booted Windows/Linux instead.
- Omoi - Chiisana Koi no Uta (Synth Rock Cover) [Kroytz's EX EX] - TAG2 Mirror Collage
- Sex Whales & Fraxo - Dead To Me (feat. Lox Chatterbox) [extrad1881 (ar 10)] Mirror Collage
- Nightcore - Flower Dance [Amachoco ARX.7] Mandala Mirror Collage
- Flower Dance (osu! cursordance)
- osu! top 50 replays knockout | xi - FREEDOM DiVE [ENDLESS DiMENSiONS]
- osu! top 50 knockout | YURRY CANNON - Suicide Parade [Sakase]
- osu! top 50 replays knockout | Kobaryo - Bookmaker [Corrupt The World]
You can download the newest Windows/Linux 64-bit binaries from releases.
After unpacking it to your desired directory, you need to run it using a command-line application/terminal:
danser <arguments>
./danser <arguments>
If you try to run Danser without any arguments there's a surprise waiting for you ;)
-artist="NOMA"
or-a="NOMA"
-title="Brain Power"
or-t="Brain Power"
-difficulty="Overdrive"
or-d="Overdrive"
-creator="Skystar"
or-c="Skystar"
-md5=hash
- overrides all map selection arguments and attempts to find.osu
file matching the specified MD5 hash-id=433005
- overrides all map selection arguments and attempts to find.osu
file with matching BeatmapID (not BeatmapSetID!)-cursors=2
- number of cursors used in mirror collage-tag=2
- number of cursors in TAG mode-speed=1.5
- music speed. Value of 1.5 is equal to osu!'s DoubleTime mod-pitch=1.5
- music pitch. Value of 1.5 is equal to osu!'s Nightcore pitch. To recreate osu!'s Nightcore mod, use with speed 1.5-settings=name
- settings filename - for examplesettings-name.json
instead ofsettings.json
-debug
- shows additional info when running Danser, overridesGraphics.DrawFPS
setting-play
- play through the map in osu!standard mode-skip
- skips map's intro like in osu!-start=20.5
- start the map at a given time (in seconds)-end=30.5
- end the map at the given time (in seconds)-knockout
- knockout mode-record
- Records danser's output to a video file. Needs a globally accessible ffmpeg installation.-out=abcd
- overrides-record
flag, records to a given filename instead of auto-generating it. Extension of the file is set in settings. When the-ss
flag is used, this sets the output filename as well.-replay="path_to_replay.osr"
or-r="path_to_replay.osr"
- plays a given replay file. Be sure to replace\
with\\
or/
. Overrides all map selection arguments-mods=HDHR
- displays the map with given mods. This argument is ignored when-replay
is used-skin
- overridesSkin.CurrentSkin
in settings-cs
,-ar
,-od
,-hp
- overrides maps' difficulty settings (values outside of osu!'s normal limits accepted)-nodbcheck
- skips updating the database with new, changed or deleted maps-ss=20.5
- creates a screenshot at the given time in .png format-quickstart
- skips intro (-skip
flag), setsLeadInTime
andLeadInHold
to 0.
Since danser 0.4.0b artist, creator, difficulty names and titles don't have to exactly match the .osu
file.
Examples which should give the same result:
<executable> -d="Overdrive" -tag=2 //Assuming that there is only ONE map with "Overdrive" as its difficulty name
<executable> -t="Brain Power" -d="Overdrive" -tag=2
<executable> -t "Brain Power" -d Overdrive -tag 2
<executable> -t="ain pow" -difficulty="rdrive" -tag=2
<executable> -md5=59f3708114c73b2334ad18f31ef49046 -tag=2
Settings and knockout usage are detailed in the wiki.
You need to clone it or download as a .zip (and unpack it to desired directory)
- 64-bit go (1.17 at least)
- gcc (Linux/Unix), mingw-w64 or WinLibs (Windows, TDM-GCC won't work)
- OpenGL library (shipped with drivers)
- xorg-dev (Linux)
First, enter the cloned/downloaded repository.
When you're running it for the first time or if you made any changes type:
go build
This will automatically download and build needed dependencies.
Afterwards type:
./danser-go <arguments>
Software created by Sebastian Krajewski (@Wieku) and contributors
Full credits can be found here.