Project#
- class pyflp.project.Project[source]#
Represents an FL Studio project.
Information page
Settings page
- property arrangements: Arrangements#
Provides an iterator over arrangements and other related properties.
- artists: str | None#
Authors / artists info. to be embedded in exported WAV & MP3.
New in FL Studio v5.0.
- property channel_count: int#
Number of channels in the rack.
For Patcher presets, the total number of plugins used inside it.
- Raises:
ValueError – When a value less than zero is tried to be set.
- property channels: ChannelRack#
Provides an iterator over channels and channel rack properties.
- comments: str | None#
Comments / project description / summary.
Caution
Very old versions of FL used to store comments in RTF (Rich Text Format). PyFLP makes no efforts to parse that and stores it like a normal string as it is. It is upto you to extract the text out of it.
- property created_on: datetime | None#
The local date and time on which this project was created.
Located at the bottom of
page.
- property data_path: Path | None#
The absolute path used by FL to store all your renders.
New in FL Studio v9.0.0.
- format: FileFormat#
Internal format marker used by FL Studio to distinguish between types.
- licensed: bool | None#
Whether the project was last saved with a licensed copy of FL Studio.
Tip
Setting this to
True
and saving back the FLP will make it load the next time in a trial version of FL if it wouldn’t open before.
- property licensee: str | None#
-
The license holder’s username who last saved the project file.
If saved with a trial version this is empty.
Tip
As of the latest version, FL doesn’t check for the contents of this for deciding whether to open or not when in trial version.
- property ppq: int#
Pulses per quarter.
.
Note
All types of lengths, positions and offsets internally use the PPQ as a multiplying factor.
Danger
Don’t try to set this property, it affects all the length, position and offset calculations used for deciding the placement of playlist, automations, timemarkers and patterns.
When you change this in FL, it recalculates all the above. It is beyond PyFLP’s scope to properly recalculate the timings.
- Raises:
ValueError – When a value not in
VALID_PPQS
is tried to be set.
Changed in FL Studio v2.1.1: Defaults to
96
.
- show_info: bool | None#
Whether to show a banner while the project is loading inside FL Studio.
The banner shows the
title
,artists
,genre
,comments
andurl
.
- property tempo: int | float | None#
Tempo at the current position of the playhead (in BPM).
- Raises:
TypeError – When a fine-tuned tempo (
float
) isn’t supported. Use anint
(coarse tempo) value.PropertyCannotBeSet – If underlying event isn’t found.
ValueError – When a tempo outside the allowed range is set.
Changed in FL Studio v1.4.2: Max tempo increased to
999
(int).New in FL Studio v3.4.0: Fine tuned tempo (a float).
- Changed in FL Studio v11Max tempo limited to
522.000
. Probably when tempo automations
- Changed in FL Studio v11Max tempo limited to
- property time_spent: timedelta | None#
Time spent on the project since its creation.
Located at the bottom of
page.
- property version: FLVersion#
The version of FL Studio which was used to save the file.
Located at the top of
page.Caution
Changing this to a lower version will not make a file load magically inside FL Studio, as newer events and/or plugins might have been used.
- Raises:
PropertyCannotBeSet – This error should NEVER occur; if it does, it indicates possible corruption.
ValueError – When a string with an invalid format is tried to be set.
Enums#
- class pyflp.project.FileFormat[source]#
File formats used by FL Studio.
- None_ = -1#
Temporary file.
- Project = 0#
FL Studio project (.flp).
- Score = 16#
FL Studio score (.fsc). Stores pattern notes and controller events.
- Automation = 24#
Stores controller events and automation channels as FST.
- ChannelState = 32#
Entire channel (including plugin events). Stored as FST.
- PluginState = 48#
Events of a native plugin on a channel or insert slot. Stored as FST.
- GeneratorState = 49#
Plugins events of a VST instrument. Stored as FST.
- FXState = 50#
Plugin events of a VST effect. Stored as FST.
- InsertState = 64#
Insert and all its slots. Stored as FST.
- class pyflp.project.PanLaw[source]#
Used by
Project.pan_law
.- Circular = 0#
- Triangular = 2#
- class pyflp.project.ProjectID[source]#
- LoopActive = 9#
- ShowInfo = 10#
- _Volume = 12#
- PanLaw = 23#
- Licensed = 28#
- _TempoCoarse = 66#
- Pitch = 80#
- _TempoFine = 93#
- CurGroupId = 146#
- Tempo = 156#
- FLBuild = 159#
- Title = 194#
- Comments = 195#
- Url = 197#
- _RTFComments = 198#
- FLVersion = 199#
- Licensee = 200#
- DataPath = 202#
- Genre = 206#
- Artists = 207#
- Timestamp = 237#