1
0
mirror of synced 2024-11-24 05:30:11 +01:00
Convert TJA charts into fumen (.bin) files
Go to file
2023-06-02 17:43:59 -04:00
tja2fumen Attempt to handle remaining header bytes 2023-06-02 17:43:59 -04:00
README.md Update README.md 2023-06-02 17:43:59 -04:00

tja2fumen

This repo a new attempt to write a tja2fumen chart converter to replace/complement the existing tja2bin.exe converter.

Goals

  • Fix desyncronization issues due to BPMCHANGE commands. (See: https://github.com/Fluto/TakoTako/issues/16)
  • Provide open source code, as opposed to distributing only a closed-source binary.
  • Provide a highly-documented reference for parsing both the TJA and Fumen file formats.
  • Stick to "pure Python", i.e. no external dependencies if possible.
  • Provide support for Windows/Linux/macOS via PyInstaller or something similar.

Usage

The converter is in a messy/experimental state, and is not yet fit for use due to lack of support for important TJA commands.

Future work

Note

: Simulator-specific commands (such as those used for Dan-i Dojo charts) are unlikely to be supported, due to the lack of support from official console releases.

  • Support for branch commands (#BRANCHSTART, #BRANCHEND, #N, #E, #M, #LEVELHOLD, etc.)
  • Support for barline manipulation commands (#BARLINEON, #BARLINEOFF)
  • Support for delay commands (#DELAY)
  • Refactoring into a more Pythonic style (variable names (camelCase -> under_score), object-oriented note/branch/measure representations, etc.)
  • Argument parsing + proper i/o handling
  • Packaging into an executable

Once these features are added, I will create an initial release. Until then, the source code in this repo is presented as-is.

Attribution

  • The fumen-parsing code in this project is based off of a modified copy of the readFumen() function from the fumen2osu.py found in @KatieFrogs' fumen-tools project.
  • The TJA-parsing code in this project is a Python translation of the parseTJA.js file from @WHMHammer's tja-tools.

Note

: To be explicily clear, neither @KatieFrogs nor @WHMHammer have endorsed this project, are affiliated with this project, or have made any direct contributions to this project. I have just modified their existing work.