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

140 Commits

Author SHA1 Message Date
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
9069f462ce converters.py: Don't update SCROLL/GOGO/BARLINE right away
Instead, we should only update the values once we encounter more notes.

This prevents an issue where a command is used before a BPMCHANGE event:

#   33
#   #GOGOEND
#   #BPMCHANGE 107
#   33,

If GOGOEND is applied right away, then the first '33' notes will be affected. But, we only want the last '33' notes to be affected.
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
73df48c70c Remove debugPrint-related funcs 2023-06-29 14:29:12 -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
f7209de56c .gitignore: Add __pycache__ 2023-06-29 02:02:23 -04:00
Viv
c320d4248b Move dev dependencies from GHA to pyproject.toml 2023-06-29 02:01:38 -04:00
Viv
2f06ee433c Add raises=AssertionError to ia6cho xfail entry 2023-06-29 02:01:38 -04:00
Viv
52eae95161 Increase verbosity of test suite (-v -> -vv) 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
1429b8f466 Make sure LUT .csv files are included in wheel/sdist 2023-06-27 19:35:45 -04:00
Viv
88031074a6 Rename test_songs -> test_conversion 2023-06-27 18:32:35 -04:00
Viv
4a2ee1cac0 create-release.yml: Add release workflow 2023-06-26 21:12:15 -04:00
Viv
99331eeeb8 __init__.py: Fix main to vary return variables
We want to return variables during testing, but not during CLI, or else they will be printed to stderr
2023-06-26 19:56:26 -04:00
Viv
07a617ab13 setup.py: Add newline 2023-06-26 19:54:51 -04:00
Viv
7b8097ef2e converters.py: Add missing barline setting 2023-06-26 19:11:04 -04:00
Viv
26b23ece19 Use LUT-based method for soul gauge bytes
The new CSV files are lookup tables generated using the following script:
https://github.com/vivaria/tja2fumen/issues/14#issuecomment-1606418746

Fixes #14.
2023-06-25 21:54:12 -04:00
Viv
c33cd4c7e7 .gitignore: Add .pytest_cache 2023-06-25 13:40:56 -04:00
Viv
a28a8da8da test_songs.py: Remove now-unnecessary header length check 2023-06-25 13:40:56 -04:00
Viv
f9760f46ce test_songs.py: Add strict case for TJA-converted headers 2023-06-25 13:40:56 -04:00
Viv
27b6dbe9d6 Move checkValidHeader into testing code 2023-06-25 13:40:56 -04:00
Viv
903410dd99 utils.py: Merge checkValidHeader and validateHeaderMetadata 2023-06-25 13:40:56 -04:00
Viv
6d8bfb97d5 utils.py: Remove now-unused checkMismatchedBytes func
This was initially used to validate the fumen writer to make sure it properly recreated the data from the fumen parser.

Any further byte-comparison will be done in a semantic way through pytest tests.
2023-06-25 13:40:56 -04:00
Viv
69af60e4e3 Improve readability of header processing code
- header -> headerPadding
- headerUnknown -> headerMetadata
- Add more thorough comments about the meaning of various header bytes
2023-06-25 13:40:56 -04:00
Viv
5899593024 Add notes about item byte in fumen files
See also: https://github.com/vivaria/tja2fumen/issues/17
2023-06-25 13:40:56 -04:00
Viv
52827f1abc Add support for #BARLINE commands
Fixes #3.

Necessary to get `mikdp` test to pass.
2023-06-25 13:40:56 -04:00
Viv
2e54975534 Add first tja-fumen pair (mikdp) to test 2023-06-25 13:40:56 -04:00
Viv
f2760d418b .gitignore: Allow tjas to be committed 2023-06-25 13:40:55 -04:00
Viv
c233dda574 converters.py: Fix bug with #GOGOEND parsing
bool('0') = True. We need to add `int()` so that bool(0) = False.
2023-06-25 12:16:27 -04:00
Viv
3b88104578 Add test to compare converted TJAs to fumens 2023-06-25 12:01:58 -04:00
Viv
2a24790d59 Clean up script I/O to make easier to call from tests 2023-06-25 01:00:08 -04:00
Viv
417bfe59eb pyproject.toml: Update for 0.0.1 release. 2023-06-04 15:27:19 -04:00
Viv
1abd86885e README.md: Update for 0.0.1 release. 2023-06-04 15:27:01 -04:00
Viv
654f67d6e2 Add * to .gitignore folders 2023-06-04 13:55:46 -04:00
Viv
58cafeb4f0 Make project pip-installable
Only local dev installs for now. PyPI will come later.
2023-06-04 12:51:07 -04:00
Viv
fed999164a Add LICENSE.txt file 2023-06-04 12:37:36 -04:00
Viv
a36849b4cc .gitignore: Add *.egg-ingo 2023-06-04 12:32:13 -04:00
Viv
2bfa3e8d31 Move main() from main.py into __init__.py 2023-06-04 12:31:42 -04:00
Viv
90f3d7902f main.py: Remove fumen-parsing code and make TJA mandatory
Fumen code was just for debugging purposes, and not necessary for TJA conversion.
2023-06-04 12:25:41 -04:00
Viv
5d50dcfa41 Switch to a src/ layout 2023-06-04 12:25:40 -04:00
Viv
2f95a8505b parsers.py: Handle STYLE to fix Ura conversion
Fixes #15.
2023-06-03 22:45:24 -04:00
Viv
41d18cf900 converters.py: Fixup comment 2023-06-03 20:40:07 -04:00