๐ค Reversing FLP format#
You should first take a look at what events are. A decent knowledge of the topics mentioned there as well as Python itself is assumed.
One could use a hex editor, but its too tedious. I have a simpler solution:
Events#
Which event needs to be inspected can only be understood when you observe the ordering of events, whether they occur for default values or not as well as a general knowledge of new features and changes occuring inside FL Studio.
Check this discussion for a list of unknown / undiscovered events.
Struct fields#
Structs whose field names are prefixed with a _u
are undiscovered fields.
Wherever possible, I have added helpful comments right next to them.
Also, throughout PyFLPโs codebase, there are a number of # TODO
comments.
Some of these can have additional information about them.
My workflow#
Create a new test FLP or a preset and save it.
Parse the file with PyFLP and record the initial values.
Turn knobs / faders all the way to their extremes, save and repeat (2)
Hint
WhatsNew.rtf
FL Studioโs changelog file WhatsNew.rtf
exists in its install folder.
It is a very helpful source for understanding which features were added
when.