Skip to main content

Toolbox for manipulating the JSON-Format used by Synth Riders Beatmap Editor in the clipboard

Project description

Synth Mapping Helper

Toolbox for manipulating the JSON-Format used by Synth Riders Beatmap Editor in the clipboard.

Features

For more info on each feature, check out the wiki

  • Filter by note and wall types for all operations
  • Changing type of notes and walls
    • Can cycle between multiple colors to make "rainbows" or alternate between single hand specials and regular notes
  • Change BPM indepenent of note timing (helpful if you have a map with different BPM sections)
  • Movement in XY and Time:
    Note: All operation can be done in regards to grid center, a pivot point, or the start of rails
    • Rotate
    • Scale and mirror
    • Outset (moving outwards/away by a fixed distance)
    • Offset (Translate/Move)
    • Stacking patterns
  • Pattern generation
    • Spirals/Zigzags
    • Spike/Buzz-Rails
    • Stack along rails
  • Rail manipulation
    • Merging
    • Splitting
    • Interpolation
    • Convert between single notes and rails
    • Snapping single notes to rails
  • Cross-Platform (Windows, Linux)
    • For Windows, supports drag and drop actions (fully usable without command prompt)
  • Imports directly from clipboard, and export to it
  • Uses an internal format that is easy to work with (wiki page):
    • Position in editor grid coordinates (+x=right, +y=up)
    • Time in measures (starting from start of selection)
    • Angles in degrees (positive=counterclockwise)
    • Notes/Rails seperated by color and as n x 3 numpy-arrays (x, y, time)
    • Walls as 1 x 5 numpy-arrays (x, y, time, type, rotation)
    • Walls positions are adjusted to match their rotation center
  • Companion application:
    • Automatic backups while mapping
    • Plot notes to spot outliers
    • View hand velocity and acceleration to find sections to smooth out
    • Show wall density and estimatation which ones will not render on quest
    • Fix wall offset between editor and game ("Finalize")

Maybe (contributions welcome)

  • GUI for common operations
  • Automatic smoothing

How to Install and use

Advanced users

  • Install via pip3 install synth_mapping_helper (requires Python 3.9 or higher)
  • See python3 -m synth_mapping_helper.cli -h for usage of the clipboard manipulation
  • See python3 -m synth_mapping_helper.companion -h for usage of the companion
  • Feel free to experiment with extending functionality by using the module functions directly. If you have something that you think could help other mappers, please make a PR

Windows

See this wiki page for detailed instructions, including screenshots.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synth_mapping_helper-1.3.13.tar.gz (51.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synth_mapping_helper-1.3.13-py3-none-any.whl (57.6 kB view details)

Uploaded Python 3

File details

Details for the file synth_mapping_helper-1.3.13.tar.gz.

File metadata

  • Download URL: synth_mapping_helper-1.3.13.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for synth_mapping_helper-1.3.13.tar.gz
Algorithm Hash digest
SHA256 18d3d97374755ad146656539a95ffd715e2d766d009f0dfb6e0fc8c7cf49ea97
MD5 0e098f2f8e87b2a29a9acedce20d85d0
BLAKE2b-256 83dfbd861e1ebbc554debf2d577ddffb903a3b1fbe2efc725b481244e8e36338

See more details on using hashes here.

File details

Details for the file synth_mapping_helper-1.3.13-py3-none-any.whl.

File metadata

File hashes

Hashes for synth_mapping_helper-1.3.13-py3-none-any.whl
Algorithm Hash digest
SHA256 5b772cae4bfb7cef7bc00973e1ba3c06f551825ea1397f637a7b22a2648f3e27
MD5 6ac7ab9bf1edfcfe22d9f2fda7440aff
BLAKE2b-256 c2c7db12f5365aab6ca852b3c6c99dee4bb2b2c837935213df24cf59b1c7fb2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page