Danser Go Versions Save

Dancing visualizer of osu! standard maps and custom osu! client written in Go. Also a generator for osu! videos.

0.8.4

1 year ago

Happy New Year! ๐ŸŽ‰๐ŸŽ‰

General

Settings

  • Changed default values for OversampleMultiplier and BlendFrames to 16 and 24

Launcher

  • Fixed launcher crashing if Songs dir doesn't exist
  • Fixed "Browse" button freezing the launcher

0.8.3

1 year ago

Ho Ho Ho! ๐ŸŽ…

A small update this time, but read to the very end ;)

Danser

Recording

  • Improved quality (especially hitcircles) at lower resolutions

Gameplay

  • Added an option to ignore fails in replays. You can now render your multi replays ;)

Objects

  • Fixed some sliders not loading correctly
  • Danser is now ignoring sliders with 1B total length (pixel_length * repeats)

Cursordance

  • Fixed danser failing at ~60% of the map when Slider Dance is turned on.

Playfield

  • Fixed "Bloom to the beat" not being disableable

Storyboards

  • Fixed looping sprites disappearing too early

Launcher

Import

  • Slightly improved speed of calculating Star Rating of longer maps
  • Fixed some maps freezing Star Rating Calculation

Recording

  • Fixed danser opening new videos folder each time after finishing 2nd+ video.

And a small surprise in the launcher!

Merry Christmas! ๐ŸŽ…๐ŸŽ„

0.8.2

1 year ago

Finally an update :P

There are some changes in settings file format, read below.

General

  • Fixed function keys crashing danser and launcher (#293)
  • (Linux) Fixed inability to run danser if working directory is not the same as danser's directory
  • Fixed broken video on AMD GPUs with 15.200.* drivers

Danser

Recording

  • Fixed AAC audio being encoded at 128kbps no matter the setting
  • Removed manual blending weights
  • Moved Automatic weights to Motion Blur: image They migrate automatically

Gameplay

  • Fixed HT plays having wrong passive HP drain (#288)
  • Fixed NaN pp appearing in some cases
  • Fixed osu! auto replays auo-failing (OR just use danser UI mode FFS)
  • Switched danser auto and play mode to lazer's notelock (kinda, auto-miss is missing yet). Ability to switch between stable/lazer notelock will come in the future

Cursor dance

Objects

  • Added support for lazer's multi-type sliders: image
  • Fixed timing points with decimal time (lazer) being skipped
  • Improved performance of sliders with huge amounts of ticks/repeats
  • Immensely improved performance of slider path rendering, allowing complex sliders without losing quality. As a result, Quality options have been removed. For nerds: https://img.wieku.me/22/solace.mp4
  • Fixed distortions not looking correctly
  • Added options to customize distortions
  • Fixed objects with negative volume being loud

Storyboards

Launcher

General

  • Fixed some maps freezing Star Rating calculation
  • Removed classic knockout
  • Danser now detects new maps in osu! Songs directory, restart is no longer required: image
  • Maps can be imported by dropping OSZ file on launcher's window. osu! may complain about it.

Settings

  • Fixed search being reset on reopening
  • Added more tooltips
  • Added 16:9 presets to Recording Resolution: image

And probably something I forgot about.

0.8.1

1 year ago

General

  • Switched to 2022-09-30 PP System: https://osu.ppy.sh/home/news/2022-09-30-changes-to-osu-sr-and-pp
  • Fixed danser crashing during database refresh while trying to load beatmaps that are broken in a specific way
  • On Windows, danser first looks into registry to find osu! installation path (if multiple osu! instances are installed the one that handles files is selected) before defaulting to %localappdata%

Danser

UI

  • Switched results screen pp display font to HUD Font
  • Added customizable Outline to strain graph: 2022-10-03_14-49-10_vYZyR

Gameplay

  • Fixed DT ScoreV2 plays having wrong score

0.8.0

1 year ago

IMPORTANT

  • danser switched to GPLv3 license. Thanks to that, from now on, danser will be released with built-in ffmpeg (danser-optimized build that takes ~20MB instead of 100MB+). Now you will be able to render videos (or play background videos) out of the box ;)

  • Renamed danser to danser-cli and danser-launcher to danser. If it's important you can rename cli back, but launcher won't work properly then.

  • Settings from this version are not compatible with 0.7.1 downwards. Please make a backup if you plan to rollback. More info below

General

  • Fixed broken rendering on AMD/ATI TeraScale architectures (eg. Radeon HD 5xxx/6xxx). If you updated your graphics drivers and it's still broken, please let me know.

Danser

Record

UI

  • Added Infinite results screen in play mode
  • Fixed strain graph being funky on %Centre% alignments (https://github.com/Wieku/danser-go/issues/261)
  • BREAKING: Switched to per stat color (Color300, Color100 etc) instead of confusing to use list in hit counter. Old values are migrated automatically

Input

  • Added support to play with other keys than A-Z/0-9
  • Added an option to change screenshot key (default F2)

Objects

  • Make slider tick fade-in be closer to stable's behavior
  • Slider's Snake In/Out can be changed in real time
  • Fixed Fade/Duration Multipliers affecting slider ticks even if Snake In is disabled
  • Added -24ms offset for beatmaps with version lower than 5
  • Fixed old maps having wrong number of slider ticks

Gameplay

  • Added fail support. Danser now will stop rendering if player fails. Caveat: if -end (End time in launcher) option is set before fail, fail can still be heard if Gameplay.ShowResultsScreen is set to true

Cursor dance

  • Fixed danser missing on "hidden" circles (0 length sliders)
  • Added an option to offset spinner's centre, shouldn't be used in "Danser with UI" mode.

Background

Skinning

  • Fixed boolean values not working properly in skin.ini (should now match c language specs)

Misc

  • Added better FPS limiter
  • FPSCap can be now edited live
  • FPSCap lower than zero now means abs(FPSCap)*monitorRefreshRate

Launcher

Replays:

  • Select replay button now remembers last used directory
  • Fixed replays from other modes not being ignored on "Load latest replay at startup"
  • Fixed not properly set "Replays" directory crashing launcher
  • Properly announce that replay is from another mode

Knockouts:

  • Knockout "Select replays" button saves last used directory between launcher runs
  • Added support of dropping multiple replays at launcher window/executable, thus turning on knockout mode
  • Added enable/disable all button in knockout manager
  • Added shift+select in knockout manager
  • Added indicator how many replays are selected

Config manager/editor:

  • Added live edit of some settings while danser is running in Watch mode. It can be summoned by clicking "Edit" in the launcher or with ctrl+o in danser itself, will unminimize the launcher and open the config editor. Some not-locked options may still require restart for now
  • Added config save/clone confirmation with enter key
  • Added a launcher option to enable/disable JSON Paths in config editor (disabled by default, reduces noise)
  • Added "(!)" before option's label if that option has a tooltip
  • Added tooltips to some options
  • Fixed config editor's layout breaking when there are conditionally hidden options
  • Added key changer to input options
  • Added some user-friendliness to Custom FPS limit

And probably something I forgot about.

0.7.1

1 year ago

Recording

  • Fixed videos being oversaturated

Launcher

  • Improved visual quality
  • Fixed some maps freezing star rating calculation
  • Added an option to skip database integrity check, speeds up loading on slow HDDs. Not recommended though

0.7.0

1 year ago

:CatJam:

WARNING: This release may not be entirely stable. Please report any issues immediately. WARNING: Settings and database from this version are not compatible with 0.6.9 downwards. Please make a backup if you plan to rollback.

Biggest new feature

Official launcher (under danser-launcher executable). No more info on this, just try it yourself ;)

Command

  • Launching danser with -settings=credentials or -settings=launcher will crash as those names are reserved
  • Added -preciseprogress flag
  • Added -knockout2 flag

Info on those flags can be read in README

Recording

  • Improved rendering speed on slow/mobile CPUs (3x improvement on Intel i5 8250U, from 0.36 to 1.1x at 1080p and QuickSync)
  • New (incompatible) per encoder (video and audio) settings. Remember/backup your previous settings before using 0.7.0
  • Forcing nv12 on QuickSync encoders as its improving speed
  • Fixed combine process crashing if ffmpeg was in subfolder (by @jamiegyoung)
  • Added FLAC support to mp4 container
  • Added ffmpeg error to crash message

UI

  • Fixed Hp Bar not sliding out on breaks

Audio

  • Fixed 0 byte samples being rejected
  • Fixed audio getting randomly delayed on some Windows machines

Storyboards

  • Always load storyboard samples (similar behavior to osu)
  • Don't play expired samples
  • Fixed videos/samples not being loaded from subdirectories
  • Don't use separate thread if only samples were loaded, reducing CPU usage
  • Fixed 1 pixel elements being half-transparent

Knockout/Replays

  • Fixed "bubbles" getting very big if multiple players died at similar time
  • Added Knockout.MinPlayers setting (by @PercyDan54)
  • Fixed SD/PF replays crashing danser randomly after fail point

Settings

  • Moved api.txt to credentials.json. Migration happens automatically
  • Added Playfield.Background.Parallax.Enabled option
  • Added Playfield.Logo.Enabled option

Misc

  • All danser crashes should be now recorded in danser.log

And probably something I forgot about.

Big thanks to beta testers of the launcher โค

Happy dansing!!!

0.6.9

2 years ago

NICE ( อกยฐ อœส– อกยฐ)

Command:

  • Added -offset flag. Acts like osu!'s local offset. It's applied to recorded videos as well (unlike Audio.Offset). NOTE: it's inverted compared to stable.

Recording/Background videos:

  • FFmpeg can now be put in {danser dir}/ffmpeg/* to not bloat the main directory
  • Fixed ffmpeg being loaded from working directory if danser is started not from inside danser's directory
  • FFmpeg errors are more descriptive now

UI:

  • Combo Counter now looks even closer to stable
  • Ability to make PP, UR, Accuracy, Score and Combo static (not roll/bump)
  • Accuracy now starts at 100%
  • Configurable fade time of hit/aim errors
  • Configurable scale of positional misses on hit error bar
  • Added an option to scale hit error bar with speed
  • Added an option to show Slider Breaks in the hit counter
  • Fixed result screen not appearing if DT mod is used in preview/play modes
  • Added an option to add HUD underlay (refer to wiki)
  • PP/UR/hit counter font is now changeable (refer to wiki)

Storyboards:

  • Fixed some storyboard assets not loading due to leading/trailing spaces

Beatmaps:

  • Longer maps should take a bit less to load
  • Negative AR should take waaaaay less to load
  • Approach circles are forcibly disabled on AR < -88
  • Various hitsounding fixes (fixed 2883509 beatmap crashing danser)

Import:

  • Beatmap import spam is turned off by default, it may speed up loading of large libraries on slower PCs
  • Even with -nodbcheck enabled danser will load newly added beatmap sets

Knockout:

  • Added an option to sort knockout plays by Accuracy
  • Score, Accuracy and PP in knockout overlay now use standardized rolling counter
  • Players won't get knocked out if they lose combo before GraceEndTime (applies only to mode 0).

Settings:

  • Changed default cursor size to 12
  • Changed default trail density to 1
  • Added Top and Bottom as aliases for TopCentre and BottomCentre alignment values in settings
  • EZHT is removed from default ExcludedMods

Misc:

  • -noupdatecheck is on by default for Linux packages
  • Reduced assets.dpak size by 2MB (by @vladaad)
  • Switched to go 1.18
  • Added Discord RPC to logs (should be clear now if danser is stuck connecting to RPC and not during GLFW initialization)

And probably something I forgot about.

0.6.8

2 years ago

Happy New Year! ๐ŸŽ‰

WARNING: This release may not be entirely stable. Please report any issues immediately.

Command:

  • Add AT to -mods to show cursordance in replay mode, also allowing difficulty adjust arguments. No more need to put -knockout and set Knockout.MaxPlayers to 0: danser -id 2809623 -mods ATHR -ar 2

Recording:

  • Show ETA during recording
  • Fixed danser crashing if AutoWeightsID is set to 30

Settings:

  • Migration of api.txt to settings folder. Will be migrated automatically if it exists.
  • Application now tries to fix broken Windows paths (converting \ or \\\\\\ to \\ to meet JSON spec)
  • Fixed settings file being overwritten even when no changes were made

UI:

  • Added a highly configurable Strain Graph: danser_2021-11-26_20-06-39
  • Added an option to change spacing of Mod icons (Gameplay.Mods.AdditionalSpacing)
  • Fixed Mods being unfolded in play mode
  • Show difficulty adjust (-ar, -speed and so on) as mods: danser_2021-11-22_04-36-20

Cursor:

  • Added Skin.Cursor.TrailScale

Objects:

  • Fixed fading being incorrect for raw AR>10
  • Fixed hit circle numbers being visible far earlier if raw AR<0
  • Fixed approach circle having wrong speed at the beginning of the map if DT, HT or -speed was used

Replays:

  • Fixed some replays getting notelocked
  • Don't load replays if Knockout.MaxPlayers is 0

Scoring:

  • -speed now affects score in play and danser replay modes

Platform:

  • Don't force working directory upon startup, which made invocations like some/path/danser -r a.osr impossible
  • Follow symlinks in paths
  • On Linux:
    • If executable is located in /usr/bin/ or /usr/lib/danser, then it will use /usr/lib/danser as library and assets source and use ~/.local/share/danser for data and ~/.config/danser for settings (can be overridden with corresponding XDG environment variables)

And probably something I forgot about.

0.6.7

2 years ago

Scoring:

  • Implemented 2021.11.09+hotfix pp changes (no more need to use Gameplay.UseLazerPP, although it will be kept for potential not-yet-released changes in the future)

Storyboard/Videos: