demberto / demberto/PyFLP

🐞 Missing playlist data in FL Studio 2025 project files

Open
#200 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
212
Forks
30
PR merge metrics
No merged PRs in 30d

Description

### Describe the issue

It seems like the PlaylistEvent structure has changed, which leads to missing data in PyFLP.

### What version of PyFLP are you using?

v2.2.1

### What code caused this issue?

```python3
class PlaylistEvent(ListEventBase):
STRUCT = c.GreedyRange(
c.Struct(
"position" / c.Int32ul, # 4
"pattern_base" / c.Int16ul * "Always 20480", # 6
"item_index" / c.Int16ul, # 8
"length" / c.Int32ul, # 12
"track_rvidx" / c.Int16ul * "Stored reversed i.e. Track 1 would be 499", # 14
"group" / c.Int16ul, # 16
"_u1" / c.Bytes(2) * "Always (120, 0)", # 18
"item_flags" / c.Int16ul * "Always (64, 0)", # 20
"_u2" / c.Bytes(4) * "Always (64, 100, 128, 128)", # 24
"start_offset" / c.Float32l, # 28
"end_offset" / c.Float32l, # 32
"_u3" / c.If(c.this._params["new"], c.Bytes(28)) * "New in FL 21", # 60
)
)
SIZES = [32, 60]

can be changed to

class PlaylistEvent(ListEventBase):
STRUCT = c.GreedyRange(
c.Struct(
"position" / c.Int32ul, # 4
"pattern_base" / c.Int16ul * "Always 20480", # 6
"item_index" / c.Int16ul, # 8
"length" / c.Int32ul, # 12
"track_rvidx" / c.Int16ul * "Stored reversed i.e. Track 1 would be 499", # 14
"group" / c.Int16ul, # 16
"_u1" / c.Bytes(2) * "Always (120, 0)", # 18
"item_flags" / c.Int16ul * "Always (64, 0)", # 20
"_u2" / c.Bytes(4) * "Always (64, 100, 128, 128)", # 24
"start_offset" / c.Float32l, # 28
"end_offset" / c.Float32l, # 32
"_u3" / c.If(c.this._params["new"], c.Bytes(28)) * "New in FL 21", # 60
"_u4" / c.Int64sl, # fix
)
)
SIZES = [32, 60]

and it seems to read files fine now?
```

### Screenshots, Additional info

_No response_

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.