Closed keigen-shu closed 11 years ago
Ok, let's see...
I don't have that much time now because exams but in 2 weeks I will be able to work in this project again and others too :D
Notes in measures with BeatSigs that are more than 1 (7/4, 11/6, etc.) aren't processed properly. The notes were aligned to normal size (1/1) while the measure is resized to twice the size. Also, in smaller sizes (5/4, 9/8, etc.), the notes may technically leak/overflow to the following measure. I'm very sure that the problem is in Render.java, because BMSParser works as it should (tick time is relative to the current measure from 0 to 1). I tried to find the problem, but the operation logic is very messy and a little weird for me to understand.
ew render.java D: Can you upload a test song to test it? I think I got the problem fixed but I have no file to test it xD
Here ya go.
*-------- HEADER FIELD #PLAYER 1 #BPM 120 #PLAYLEVEL 18 #RANK 3 *-------- DATA FIELD *---- Measure 0: 8/4 #00002:2 *---- Scratch #00016:010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00011:0001000000000000 #00012:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00013:00000000000001010000000000000000 #00014:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00015:0000000000000000000000000000000000000000010101010000000000000000 #00018:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00019:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010101010101 *---- Measure 0: 4/4 #00111:010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00113:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00115:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00119:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 *---- Measure 0: 2/4 #00202:0.5 #00213:010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00215:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101
From @mrcdk's commit, the BMS parser still buggy? If it's not, then maybe we can close this issue...
Beat change is also broken on OJN charts. This is the section in Phase 1 HX with the beat change.
I went looking for this issue @keigen-shu mentioned and I actually found that its this commit bea526c8a00a7e8bbabac774e1075a1da4f98966 that introduced it, so if @mrcdk is listening, could you tell us what were you trying to fix with that ? I am afraid reverting that will create another problem somewhere else.
Hi there, I can't remember but, looking at it, before that change the fractional measure (2/4, 3/4,...) wasn't taking action on every event. The issue was with BMS files so maybe ojm ones don't need to apply the fraction to every event. Does the ojm format have fractional measures? I can't recall correctly. AFAIK, the BMS files work correctly so that part is fixed. Not sure about the ojm files and I can't test them now. El 14/09/2013 16:44, "chaosfox" notifications@github.com escribió:
I went looking for this issue @keigen-shu https://github.com/keigen-shumentioned and I actually found that its this commit bea526chttps://github.com/open2jamorg/open2jam/commit/bea526c8a00a7e8bbabac774e1075a1da4f98966that introduced it, so if @mrcdk https://github.com/mrcdk is listening, could you tell us what were you trying to fix with that ? I am afraid reverting that will create another problem somewhere else.
— Reply to this email directly or view it on GitHubhttps://github.com/open2jamorg/open2jam/issues/18#issuecomment-24448319 .
yeah ojn does have fractional measures, as seen on the screenshot @keigen-shu posted, that empty space on measure 42 shouldn't exist, instead the notes should be stretched over the measure.
Changing one breaks the other..I don't know what can be done in this case..
How does the OJN note chart store the notes in fractional measure?
In BMS, for instance, a 3/4 measure with a note in each quarter note would look like "01 01 01". Is it the same with OJN, or it stores as 4/4 ("01 01 01 00")?
If it's the latter one, a way to fix that is by dividing the position by the fraction when reading the OJN chart. e.g.
position = position / timeSignatureOfThisMeasure;
So that the "position" attributes consistently refer to the position in that measure, relative to its size, not four quarter notes.
Ok, after some testing I've found that OJN applies the fraction to the note directly, so we don't need to do it.
nice @mrcdk , that solves it for both ojn and bms.
I will close this issue now then, if there is any other problems with bms please create a new issue.
List of problems: