Skip to content

demberto/PyFLP

Repository files navigation

PyFLP

PyFLP is an unofficial parser for FL Studio project and preset files written in Python.

CI Documentation Build Status pre-commit-ci
PyPI PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel
Activity Maintenance PyPI - Downloads
QA codecov CodeFactor Grade Checked with mypy pre-commit Security Status
Other License GitHub top language Code Style: Black covenant

From a very general point-of-view, this is the state of what is currently implemented. Click on a link to go to the documentation for that feature.

Group Feature Issues
Arrangements
open arrangement-general issues closed arrangement-general issues
🎼 Playlist open arrangement-playlist issues closed arrangement-playlist issues
🎞️ Tracks open arrangement-track issues closed arrangement-track issues
Channel Rack
open channel-general issues closed channel-general issues
πŸ“ˆ Automations open channel-automation issues closed channel-automation issues
🎹 Instruments channel-instrument issues closed channel-instrument issues
πŸ“š Layer open channel-layer issues closed channel-layer issues
πŸ“ Sampler open channel-sampler issues closed channel-sampler issues
Mixer
open mixer-general issues closed mixer-general issues
🎚️ Inserts open mixer-insert issues closed mixer-insert issues
🎰 Effect slots open mixer-slot issues closed mixer-slot issues
🎢 Patterns
open pattern-general issues closed pattern-general issues
πŸŽ› Controllers open pattern-controller issues closed pattern-controller issues
🎡 Notes open pattern-note issues closed pattern-note issues
🚩 Timemarkers open timemarker issues closed timemarker issues
Plugins Native - 8 effects, 1 synth open plugin-native issues closed plugin-native issues
VST 2/3 plugin-3rdparty issues closed plugin-3rdparty issues
Project - Settings and song metadata open project-general issues closed project-general issues

⏬ Installation

CPython 3.8+ / PyPy 3.8+ required.

python -m pip install -U pyflp

β–Ά Usage

Load a project file:

import pyflp
project = pyflp.parse("/path/to/parse.flp")

If you get any sort of errors or warnings while doing this, please open an issue.

Save the project:

pyflp.save(project, "/path/to/save.flp")

It is advised to do a backup of your projects before doing any changes. It is also recommended to open the modified project in FL Studio to ensure that it works as intended.

Check the reference for a complete list of useable features.

πŸ™ Acknowledgements

✨ Contributors

All Contributors

Thanks goes to these wonderful people:


nickberry17

πŸ’»

zacanger

πŸ› πŸ“–

Tim

πŸ“– πŸ’» 🚧

This project follows the all-contributors specification. Contributions of any kind are welcome!

Please see the contributor's guide for more information about contributing.

πŸ“§ Contact

You can contact me either via issues and discussions or through email via demberto(at)proton(dot)me.

Β© License

The code in this project has been licensed under the GNU Public License v3.