Skip to content
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

Corrupt Module #170

Closed
dotmatrixgirl opened this issue Dec 13, 2019 · 9 comments
Closed

Corrupt Module #170

dotmatrixgirl opened this issue Dec 13, 2019 · 9 comments

Comments

@dotmatrixgirl
Copy link

Module is corrupt according to all versions of 0.3.2 (and 0.3.1, I think, OPNA2608 checked). Opens fine when I use the 0.3.0 winXP in wine, I don't have any other versions from 0.3.0 to test it on. I tried exporting the instruments as a bank, but that the bank can't be opened by 0.3.2, leading me to suspect that an instrument may be the cause. Module and bank attached. I haven't encountered any other modules that show as corrupt. I thought it FM ext mode, but another module that used that opened fine.
snow_angels.zip

@iyatemu
Copy link

iyatemu commented Dec 14, 2019

All modules fail to open between 0.3.0 and 0.3.1/0.3.2 for me.

@dotmatrixgirl
Copy link
Author

Strange, I only had that issue with this one module

@rerrahkr
Copy link
Member

Thanks for reports. There are two different bugs in the module and the bank.

The module is corrupted because the incorrect value of sequence type is set at FM pitch 3. I think this bug is due to the ambiguous definition of internal values for sequence type before v0.3.1. In latest version, this bug could have been fixed by the type value check before saving to the file.
I attached the fixed module here.
Snow Angels FIXED.zip

The bank corruption is caused by wrong instrument indexing in the bank export. I will fix it and release a new version.

@rerrahkr
Copy link
Member

I fixed the bank export at 5d90de2, this commit prevents exporting corrupted file.

@iyatemu
Copy link

iyatemu commented Dec 14, 2019

If the problem was in the module saving process of 0.3.0 does that mean modules created in 0.3.0 and older will be incompatible with 0.3.1/2 and newer?

@dotmatrixgirl
Copy link
Author

dotmatrixgirl commented Dec 15, 2019

evidence indicates otherwise - all my modules work fine, aside from this one.

@galap-1
Copy link

galap-1 commented Dec 15, 2019

I don't know whether this is one of the known bugs or not, but I am having a corruption problem with this module as well. This opens in 0.3.0 and not in 0.3.1/2
metalj.zip

I have found other modules to be compatible, but I think those were saved by earlier versions than 0.3.0,

@rerrahkr
Copy link
Member

I found that the sequence type of FM/SSG arpeggio and FM/SSG pitch were not copied in the instrument deep copy, which means the value of sequence type was not initialized and an unexpected value was written to files.

I fixed it at 7b151b6 and I will revise version of module, instrument and bank to check the sequence type value in old files: If an incorrect sequence type is detected during file load, it will be modified to Absolute (0x00) automatically.
All unexpected sequence types will be replaced with Absolute, so you may need to modify appropriate sequence types after loading old files.

These changes will be posted to my Twitter and IMPORTANT.md. I'm sorry for the inconvenience.

@rerrahkr
Copy link
Member

If an incorrect sequence type is detected during file load, it will be modified to Absolute (0x00) automatically.

I added this at e9bc317.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants