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

  • Filter by note and wall types for all operations
  • Changing colors
  • Change BPM indepenent of note timing
  • 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)
  • Pattern generation
    • Spirals/Zigzags
    • Spike/Buzz-Rails
    • Stacking patterns with movement
  • Rail manipulation
    • Merging
    • Splitting
    • Interpolation
    • Convert between single notes and 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:
    • 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

Maybe

  • GUI
  • Momentum analysis
  • 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
  • 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

Installation:

Updating:

  • Optional: Download windows_helpers.zip again (backup your custom actions before you overwrite)
  • Run install.bat again

Usage:

  • Copy the notes from the editor with CTRL-C
  • Drag an action text file like merge_rails.txt or spiralize.txt onto smh.bat to execute.
  • Paste the result into the editor with CTRL-V

Making your own actions:

  • Run show_help.bat to learn which options are supported
  • You can specify multiple different operations in the same line, they will be chained in the order they appear in the help (ordering of options in the line has no effect).
  • If you want a different order, or want to do the same operation multiple times (ie different offsets for two colors), each action file can contain multiple lines which are executed in sequence
  • Each line is an independent command, so ie a pivot specified in the first line does not affect the second lines
  • If you made a particularly useful action, feel free to share it so it can be added to the examples

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-0.7.1.tar.gz (15.6 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-0.7.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synth_mapping_helper-0.7.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for synth_mapping_helper-0.7.1.tar.gz
Algorithm Hash digest
SHA256 303e088c910f8770615066ce26b11be00c87a1f53adbdf8cda236dbd6cf2c980
MD5 fcbe9547c40c13c5f7fd574d41865586
BLAKE2b-256 4533994982b3692730e2bf5f59a43c1aff089ec08455c40bc4f6f33c0b92e338

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for synth_mapping_helper-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 639b65bacfc0f24ca674d38cbd8faa1a7b893fc9e2970c9375c12074446840c5
MD5 87c8ff706a693114474e538ceaf80b8c
BLAKE2b-256 10b97aceadcb75c8313d4b18ba6e8c21293ae2e3d26e023f0b9320d89263cc22

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