1
0
mirror of synced 2024-11-30 23:57:16 +01:00
Commit Graph

19 Commits

Author SHA1 Message Date
Viv
ce633253ee
Add support for multiplayer charts (STYLE:{Single,Double}, # START {P1,P2}) (#23)
This PR adds support for multiplayer charts, and adds a new multiplayer
TJA/fumen combo for testing.

This PR is quite small, because the only work that needed to be done is
parsing the course metadata. Once the TJA lines are split into courses,
the actual course-by-course parsing logic is identical to the songs that
came before.

Fixes #6.
2023-07-05 16:03:41 -04:00
Viv
d9b1476f4d
Add remaining support for branches (#BRANCHSTART r) (#21)
This PR adds the remaining changes needed to support branching TJA
songs.

- Properly handling `r` (drumroll) based branching conditions
- Handling commands that come after a measure end but _before_ the first
`#BRANCHSTART` command. (This was not previously covered by
`hol6po.tja`.)

As well, it adds a bit of cleanup/refactoring to the changes from the
previous branch PR (#20).

To test these changes, another new branching TJA-fumen pair is added to
the test suite.
2023-07-02 00:00:36 -04:00
Viv
4e613d7237
Add partial support for branches (#BRANCHSTART P, no R, no #SECTION) (#20)
This PR adds partial branch support -- enough to correctly convert
`hol6po.tja`, but likely not enough to convert other songs.

Partially addresses #2.
2023-07-01 17:41:23 -04:00
Viv
e2b0ac3e50 testing/: Remove outdated comments 2023-06-30 17:37:38 -04:00
Viv
2ed0f92a69 Revert "tests: Import from src.tja2fumen"
This reverts commit af91e9fe47.

I was mistaken. Importing from src is _not_ necessary to perform PyCharm coverage tests. Instead, the package must be installed in editable mode.
2023-06-29 20:34:39 -04:00
Viv
3e33d5c634 Fix errors in ia6cho charts
The official fumen had some issues where a note ended up in the wrong measure:

- Expected: pos 0.0 on the next measure
- Actual: pos 645 on the prev measure (impossible pos)

They're the same pos, but only pos 0.0 is possible to express in TJA charts, so the fumens themselves had to be updated.

Also, the TJA chart had errors, too:

- The BPMs/SCROLLs in the BPMCHANGE section were incorrect
- Some drumrolls were too short

Fixing these errors caused the failing test to pass.
2023-06-29 19:47:25 -04:00
Viv
ea701a5c63 tests/: Increase the tolerance for drumroll duration
Again, I encountered a large mismatch where an official fumen didn't land on the expected beat.
2023-06-29 19:47:25 -04:00
Viv
91ad789d10 tests/: Don't halt early if there's a len(notes) mistmatch 2023-06-29 19:47:25 -04:00
Viv
712cdc0a14 tests/: Don't halt early if there's a len(measures) mismatch 2023-06-29 19:47:25 -04:00
Viv
8b302e876f tests/: Use readable name for song variables 2023-06-29 19:47:25 -04:00
Viv
3f981236e3 tests/: Add sorting for generated songs
This makes things nicer to debug, since we're following an expected order.
2023-06-29 15:40:05 -04:00
Viv
305b70eb27 tests/: Compare only the non-empty measures 2023-06-29 15:39:39 -04:00
Viv
0bef98c10d Stop hardcoding song['length']
Instead, rely on len(song['measures') as the single source of truth for measures
2023-06-29 15:19:51 -04:00
Viv
6286a3a78d Reorder test functions 2023-06-29 15:19:51 -04:00
Viv
af91e9fe47 tests: Import from src.tja2fumen
This will _actually_ perform an in-place test run, rather than importing from the installed package. This is necessary for PyCharm's coverage to ework correctly.
2023-06-29 14:10:25 -04:00
Viv
2f06ee433c Add raises=AssertionError to ia6cho xfail entry 2023-06-29 02:01:38 -04:00
Viv
5a1d7c9aa3 Add ia6cho to test suite as XFAIL 2023-06-29 02:01:29 -04:00
vivaria
e528f48e1d
Adapt release workflow to also act as a test suite (#18) 2023-06-29 01:20:46 -04:00
Viv
88031074a6 Rename test_songs -> test_conversion 2023-06-27 18:32:35 -04:00