-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove bitmask for getInfo() in jni #15
base: master
Are you sure you want to change the base?
Conversation
FWIW X-Tracker modules can have up to 512 rows and OctaMED modules can have up to 3200 rows, so the row/num_row bounds definitely would have been problematic even if the length value was Out of curiosity, does this MED with a 3200-line pattern cause UI breakage or crashes? xmp-cli can't display the higher row/length values and exits before it finishes playing (but it doesn't seem to be a crash)... long.med.zip |
It seems to play it fine, but silently breaks the pattern row with an error of No crashes of any kind, just the canvas is unable to deal with that large of a row size. But at a quick glance, it seems to be caused by this along with the decimal to hex conversion at line 83 |
Though I'm not sure currently how deep the issue would persist Specifically how the canvas will react with a 3 character long row number next to channel 1 |
I have to hold the player on loop in order to complete all the rows. The time states it about 5 seconds long for playtime which when its not looping will also exit prematurely. |
I managed to get the pattern viewer to display values over 256. Though there are a couple of issues to address to port it over to java and this PR.
Edit: Fixed. With a bonus of re-centering the line bar so its not so high up. |
… 3 digit row numbers, recenter current line bar.
There are some modules that actually contain 256 rows, such as xylan orb and libxmp reports it as such. The masks limit the values at 255, so anything higher will result in 0. XM modules can have 256
(1...256)
rows based on the documentation. I guess XM starts with 1 instead of 0 for the beginning row?I don't see a reason why these values should be masked as its just passing long integer values provided by
xmp_frame_info
.Fixes issue at libxmp/libxmp#63