Flapi Bridge API Reference¶
Auto-generated API documentation for the Flapi Bridge module.
Overview¶
The Flapi Bridge provides communication between the external MCP server and FL Studio's internal Python environment using Flapi. Flapi uses virtual MIDI ports to forward Python API calls to FL Studio.
FLStudioBridge¶
FLStudioBridge()
¶
Bridge for communicating with FL Studio via Flapi.
This class manages the Flapi connection and provides methods to execute FL Studio API calls through the Flapi bridge.
Initialize the FL Studio bridge.
Source code in src/fruityloops_mcp/flapi_bridge.py
is_available
property
¶
Check if Flapi library is available.
is_enabled
property
¶
Check if Flapi is currently enabled.
is_connected
property
¶
Check if connected to FL Studio via Flapi.
enable()
¶
Enable Flapi connection to FL Studio.
This must be called before any FL Studio API calls can be made. Flapi modifies the FL Studio API stubs to forward calls to FL Studio via MIDI.
Returns:
| Type | Description |
|---|---|
bool
|
True if Flapi was enabled successfully, False otherwise. |
Source code in src/fruityloops_mcp/flapi_bridge.py
disable()
¶
Disable Flapi connection.
After calling this, FL Studio API calls will no longer be forwarded to FL Studio.
Source code in src/fruityloops_mcp/flapi_bridge.py
test_connection()
¶
Test if the connection to FL Studio is working.
Returns:
| Type | Description |
|---|---|
bool
|
True if connected and able to communicate with FL Studio. |
Source code in src/fruityloops_mcp/flapi_bridge.py
connection()
¶
Context manager for Flapi connection.
Usage
with bridge.connection() as bridge: # FL Studio API calls here pass
Yields:
| Type | Description |
|---|---|
FLStudioBridge
|
The FLStudioBridge instance. |
Source code in src/fruityloops_mcp/flapi_bridge.py
Helper Functions¶
get_bridge()
¶
Get the global FLStudioBridge instance.
Returns:
| Type | Description |
|---|---|
FLStudioBridge
|
The global FLStudioBridge instance. |
Usage Example¶
from fruityloops_mcp.flapi_bridge import get_bridge
# Get the global bridge instance
bridge = get_bridge()
# Enable Flapi connection
if bridge.enable():
print("Connected to FL Studio!")
# Control FL Studio
print(bridge.transport_start())
print(bridge.transport_get_bpm())
# Disconnect when done
bridge.disable()
Context Manager Usage¶
from fruityloops_mcp.flapi_bridge import FLStudioBridge
bridge = FLStudioBridge()
with bridge.connection():
# FL Studio API calls here
bridge.transport_start()
bridge.mixer_set_track_volume(1, 0.8)
Transport Methods¶
transport_start()- Start playbacktransport_stop()- Stop playbacktransport_record()- Toggle recordingtransport_get_song_pos()- Get current positiontransport_set_song_pos(position)- Set positiontransport_get_bpm()- Get tempotransport_set_bpm(bpm)- Set tempo
Mixer Methods¶
mixer_get_track_volume(track_num)- Get volumemixer_set_track_volume(track_num, volume)- Set volumemixer_get_track_name(track_num)- Get namemixer_set_track_name(track_num, name)- Set namemixer_get_track_pan(track_num)- Get panmixer_set_track_pan(track_num, pan)- Set panmixer_mute_track(track_num, mute)- Mute/unmutemixer_solo_track(track_num, solo)- Solo/unsolo
Channel Methods¶
channels_count()- Get channel countchannels_get_name(channel_num)- Get namechannels_set_volume(channel_num, volume)- Set volumechannels_mute(channel_num, mute)- Mute/unmutechannels_get_color(channel_num)- Get colorchannels_set_color(channel_num, color)- Set color
Pattern Methods¶
patterns_count()- Get pattern countpatterns_get_name(pattern_num)- Get namepatterns_set_name(pattern_num, name)- Set namepatterns_get_length(pattern_num)- Get lengthpatterns_jump_to(pattern_num)- Jump to pattern
Playlist Methods¶
playlist_get_track_name(track_num)- Get track nameplaylist_set_track_name(track_num, name)- Set track name
General Methods¶
general_get_version()- Get FL Studio versiongeneral_get_project_title()- Get project titlegeneral_save_project()- Save projectgeneral_undo()- Undo last action
UI Methods¶
ui_show_window(window_id)- Show windowui_get_visible(window_id)- Check visibility
Setup Requirements¶
- Install loopMIDI (Windows) and create ports:
Flapi Request-
Flapi Response -
Install Flapi:
-
Configure FL Studio MIDI settings for Flapi ports
-
Restart FL Studio with Flapi script enabled