Viv
4a5a3399aa
Refactor TJA parsing code to enable the development of further features ( #19 )
2023-06-30 14:51:57 -04:00
Viv
1510a62bf5
tests/
: Add WIP test for soul-gauge byte LUTs
2023-06-29 21:24:55 -04:00
Viv
73b1fed5a7
Standarize I/O for read/writeFumen functions
2023-06-29 20:56:34 -04:00
Viv
1ea10e0635
parsers.py
: Remove byteOrder
from readFumen
...
This is a relic of KatieFrog's old fumen2osu tool, and is not used.
2023-06-29 20:52:37 -04:00
Viv
6d2f5a73bb
Add comments to TJA test files
...
- Documenting the purpose of each song in the test suite
- Testing that comments are handled correctly
2023-06-29 20:51:13 -04:00
Viv
c04d90d85f
test_and_publish_release.yml
: Use -e
for first test
...
This isn't 100% necessary, but better reflects what should be done by devs when installing tja2fumen in their development environment.
2023-06-29 20:35:37 -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
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