-
Notifications
You must be signed in to change notification settings - Fork 12
BMS-on, a transitional format to convert BMS to bmson #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
I want to request a few improvements (or adding a branch so we can work on this together, I think it's a nice idea) In addition to an option to enable the BMS-on features - that way we can avoid possible incompatibilities if someone decides to actually name their WAVs C-whatever.wav. That's probably an improvement I think would be critical in regards to user interface. In addition, adding the ability to account for STOPs properly is critical, as it's standard bmson. |
@zardoru You can push commits directly to my branch because I already set up the pull request to allow that ;) I am not aware about any coding standard in this project. I’ve seen camelCase, PascalCase and xHungrianNotation. That’s why you see all of them in this PR; I try to adapt to surrounding code. I copied the time calculation code from https://github.com/zardoru/iBMSC/blob/master/iBMSC/MainWindow.vb#L1256-L1266 which also lacks STOP support. So to implement a STOP support, that part should be fixed as well, I guess. As for possible naming collision, the specification is strict about the |
I'm going to try and add some UI code into this later, and try and fix that time calculation. |
|
@zardoru Yup, I forgot to push it 😅 |
I added the 89194d9 branch with a new way to calculate BPM + Stop time, based off what I do with raindrop. |
ℹ️ If you are here from Twitter, I have put the wrong link 😅.
ℹ️ Please read about my fork here: https://github.com/dtinth/iBMSC
BMS-on
BMS-on is a backwards-incompatible extension to the BMS file format to allow artists to use BMS tools to author a bmson file.
I have been using a BMS-based format similar to BMS-on to create the note charts for “Only love”, “Reminiscentia” and “Everyday evermore.” It works pretty well for me, so I want to document it.
Use case
Example
In the above example,
#WAV04 C-03
is a continuation of#WAV03 01-ARP1.wav
. When converted to bmson, the#WAV03
and#WAV04
will be converted into the same sound channel with filename01-ARP1.wav
. The 03 objects will have the continue flag (c
) = false, where 04 will have the continue flag = true.Extension
#WAVxx C-yy
Marks the object labeled
xx
as a continuation of another soundyy
.Compatibility implications
A BMS-on can be played in normal BMS players. However, continuation keysounds will become a non-keysounded note. To make the song fully-keysounded, the BMS-on file must be converted into a real bmson first.
Code
This PR makes µBMSC, when clicking on a note with sound assigned to filename
#WAVxx C-yy
plays the sound at#WAVyy
, starting at where the slice would continue. This allows bmson authors to easily check the sound of their chart.