donmai-me / maiconverter Goto Github PK
View Code? Open in Web Editor NEWA Simai, Ma2, and SDT (and predecessors) chart format Python library.
License: MIT License
A Simai, Ma2, and SDT (and predecessors) chart format Python library.
License: MIT License
I would like to know why the Python Version requirement is 3.8
.
I tested it locally (by changing the things to 3.7 or perhaps lower) and it works.
Unless a local runner test for this already done. Thanks!
I'm sorry to distube u so much,but when I execute the encrypt(sdt to sdb),it's said that "key not supplied".
Hi! I tried to use the encrypt function with the Finale AES Key that I have but the program keeps returning binascii error, non hexadecimal digit found. Can I check how do I resolve this issue? Thank you!
Since the official Simai format documentation is a bit unclear on certain things. The current popular Simai editor, Majdata, has different behaviour compared to the original Simai Flash player. There's also AstroDX with their own parsing library which may have different behaviour to Majdata and original Simai Flash player.
It would be nice if a Simai class has a hint (possibly an attribute) that the export
method and converter functions can use to address these differences in behaviours.
Currently, we can only export a MaiSxt object to an SDT chart. A MaiSxt can be constructed from an SRT, SZT, SCT, and SDT file (based only on its file extension.) It'll be nice if, during export, you can specify the chart format via a passed enum. If there are no passed enum to the export method, SDT should be the default export.
Hi! Thanks for updating. The error does not happen anymore. However, now I am getting a ValueError: invalid literal for int() with base 0. This happens both when I input the key in hex and input the key in ASCII. Is it that my key is wrong?
Originally posted by @brian-vb in #7 (comment)
There are four parts (more for other games) for ma2: header, events, notes, and statistics. Each part is separated by an empty line. It would be nice if instead of parsing a chart line by line and ignoring certain parts, the parser would parse a chart part-by-part.
The header contains metadata about the chart and the resolutions used for timing. Events are a list of bpm and time signature changes in chronological order. Notes are self-explanatory. And, statistics contains information about all of the notes present in the chart.
It would be nice if there are checks for MaiMai classic slides. Failed checks will raise a ValueError, and an optional switch to disable checks should be added to the parsing method.
For a guide on which slides are valid, I made a blog post that contains information on valid slides.
When using ma2tosimai, 360° Slides will be converted to A^A (A is the same number), and it will be recognized as a clockwise rotation by default when playing, which may cause the problem of reverse direction.
使用 ma2tosimai 时,遇到 360° 的 Slide 将被转换为 A^A (A 是同一个数字),在游玩时会默认被识别为顺时针旋转,可能会导致方向转反的问题。
There's a difference between valid slides in ma2 and in Sdt (and predecessors). There should be verification in added ma2 slides via MaiMa2's add_slide method. With an optional toggle to disable the check.
Failed checks will raise a ValueError.
According to my checklist, defining duration in terms of seconds seems to be the only missing feature for 3Simai. I've already added functions that can help convert seconds to measures with ease.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.