🐞 Missing playlist data in FL Studio 2025 project files
- 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
Assessment
This issue has not been assessed yet.