BMS-on, a transitional format to convert BMS to bmson#11
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-03is a continuation of#WAV03 01-ARP1.wav. When converted to bmson, the#WAV03and#WAV04will 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-yyMarks the object labeled
xxas 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-yyplays the sound at#WAVyy, starting at where the slice would continue. This allows bmson authors to easily check the sound of their chart.