Skip to content

Parsing error of DMFs saved with latest version of Deflemask #5

@sreuter

Description

@sreuter

Hey there :)

We recently started doing some final adjustments on our BGM. Unfortunately, the DMFs produced by the latest version of Deflemask can't be parsed by dmf2mlm.

Parsing 'input/xxxx.dmf'... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/__main__.py", line 116, in <module>
    mod = dmf.Module(file.read())
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 563, in __init__
    self.parse_samples()
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 669, in parse_samples
    sample = Sample.from_dmf_data(self.data[self.head_ofs:])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 415, in from_dmf_data
    s.bits = SampleWidth(data[head_ofs+2])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/enum.py", line 744, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/enum.py", line 1158, in __new__
    raise ve_exc
ValueError: 178 is not a valid SampleWidth

==

Parsing 'input/xxxx.dmf'... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/__main__.py", line 116, in <module>
    mod = dmf.Module(file.read())
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 563, in __init__
    self.parse_samples()
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 669, in parse_samples
    sample = Sample.from_dmf_data(self.data[self.head_ofs:])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mtn/Library/CloudStorage/Dropbox/dmf2mlm/src/dmf.py", line 410, in from_dmf_data
    s.name = data[head_ofs+5:head_ofs+5+name_len].decode(encoding='ascii')
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)

Any idea what might be going wrong here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions