PyFLP icon indicating copy to clipboard operation
PyFLP copied to clipboard

🐞 `ChannelID.Parameters["fx.start"]` not always a `LogNormal`

Open chr15m opened this issue 1 year ago • 5 comments

Describe the issue

$ python
Python 3.7.9 (default, Feb 28 2023, 14:53:52) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyflp
>>> project = pyflp.parse("2step1.flp")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/pyflp/__init__.py", line 168, in parse
    events.append(event_type(id, value))
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/pyflp/_events.py", line 438, in __init__
    self._struct = self.STRUCT.parse(data, len=len(self._data))
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 288, in parse
    return self.parse_stream(io.BytesIO(data), **contextkw)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 300, in parse_stream
    return self._parsereport(stream, context, "(parsing)")
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 312, in _parsereport
    obj = self._parse(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 2120, in _parse
    subobj = sc._parsereport(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 312, in _parsereport
    obj = self._parse(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 2653, in _parse
    return self.subcon._parsereport(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 312, in _parsereport
    obj = self._parse(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 3739, in _parse
    obj = sc._parsereport(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 312, in _parsereport
    obj = self._parse(stream, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/construct/core.py", line 704, in _parse
    return self._decode(obj, context, path)
  File "/home/chrism/dev/fakeboy.mapp/.direnv/python-3.7.9/lib/python3.7/site-packages/pyflp/_descriptors.py", line 329, in _decode
    raise ValueError(f"Not a LogNormal, 2nd int must be 63; not {obj[1]}")
ValueError: Not a LogNormal, 2nd int must be 63; not 0

Here is the file I tried to load: 2step1.flp.zip

Thank you!

What version of PyFLP are you using?

2.1.0

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

chr15m avatar May 12 '23 09:05 chr15m