Search

PythonReactSEOPDF
OpenClaw

flstudio-scripting

FL Studio Python scripting for MIDI controller development, piano roll manipulation, Edison audio editing, workflow automation, and FLP file parsing with PyFLP. Use for programmatic configuration, device customization, MIDI transport, macros, and save file manipulation. Covers all 427+ API functions across 14 MIDI scripting modules plus piano roll, Edison, and PyFLP contexts.

delorenj0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install delorenj/flstudio-scripting

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

FL Studio Python Scripting

Complete reference for FL Studio's Python API: MIDI controller scripting (14 modules, 427+ functions), piano roll note manipulation, Edison audio editing, and FLP file parsing with PyFLP.

Quick Start

Requirements
  • FL Studio 20.8.4+, Python 3.6+
Check API Version
import general
print(f"API Version: {general.getVersion()}")
Script Installation

Place scripts in Shared\Python\User Scripts folder.


Three Scripting Contexts

1. MIDI Controller Scripting

Purpose: Control FL Studio through hardware MIDI controllers and send feedback to devices. Runs: Continuously while FL Studio is open. Available modules: transport, mixer, channels, arrangement, patterns, playlist, device, ui, general, plugins, screen, launchMapPages, utils, callbacks

Entry points:

def OnInit():
    """Called when script starts."""
    pass

def OnDeInit():
    """Called when script stops."""
    pass

def OnMidiMsg(msg):
    """Called for incoming MIDI messages."""
    pass

def OnControlChange(msg):
    """Called for CC messages."""
    pass

def OnNoteOn(msg):
    """Called for note-on messages."""
    pass

def OnRefresh(flags):
    """Called when FL Studio state changes."""
    pass
2. Piano Roll Scripting

Purpose: Manipulate notes and markers in the piano roll editor. Runs: Once when user invokes through Scripts menu. Available modules: flpianoroll, enveditor

import flpianoroll
score = flpianoroll.score
for note in score.notes:
    note.velocity = 0.8  # Set all velocities to 80%
3. Edison Audio Scripting

Purpose: Edit and process audio samples in Edison. Runs: Once within Edison's context. Available modules: enveditor


API Module Reference Map

Navigate to the appropriate reference file based on what you need to control. Read these files ONLY when you need specific API signatures.

Core Workflow Modules

| Module | Function...

Source information

Source
github
Repository
openclaw/skills
Path
skills/delorenj/flstudio-scripting
Version
—
Commit
c16b1735e30ca37825eb9d260cc5fd33f7159282
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# FL Studio Python Scripting

Complete reference for FL Studio's Python API: MIDI controller scripting (14 modules, 427+ functions), piano roll note manipulation, Edison audio editing, and FLP file parsing with PyFLP.

## Quick Start

### Requirements
- FL Studio 20.8.4+, Python 3.6+

### Check API Version
```python
import general
print(f"API Version: {general.getVersion()}")
```

### Script Installation
Place scripts in `Shared\Python\User Scripts` folder.

---

## Three Scripting Contexts

### 1. MIDI Controller Scripting

**Purpose:** Control FL Studio through hardware MIDI controllers and send feedback to devices.
**Runs:** Continuously while FL Studio is open.
**Available modules:** transport, mixer, channels, arrangement, patterns, playlist, device, ui, general, plugins, screen, launchMapPages, utils, callbacks

**Entry points:**
```python
def OnInit():
    """Called when script starts."""
    pass

def OnDeInit():
    """Called when script stops."""
    pass

def OnMidiMsg(msg):
    """Called for incoming MIDI messages."""
    pass

def OnControlChange(msg):
    """Called for CC messages."""
    pass

def OnNoteOn(msg):
    """Called for note-on messages."""
    pass

def OnRefresh(flags):
    """Called when FL Studio state changes."""
    pass
```

### 2. Piano Roll Scripting

**Purpose:** Manipulate notes and markers in the piano roll editor.
**Runs:** Once when user invokes through Scripts menu.
**Available modules:** `flpianoroll`, `enveditor`

```python
import flpianoroll
score = flpianoroll.score
for note in score.notes:
    note.velocity = 0.8  # Set all velocities to 80%
```

### 3. Edison Audio Scripting

**Purpose:** Edit and process audio samples in Edison.
**Runs:** Once within Edison's context.
**Available modules:** `enveditor`

---

## API Module Reference Map

Navigate to the appropriate reference file based on what you need to control.
Read these files ONLY when you need specific API signatures.

### Core Workflow Modules

| Module | Function...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

parakeet-stt

carlulsoe

Local speech-to-text with NVIDIA Parakeet TDT 0.6B v3 (ONNX on CPU). 30x faster than Whisper, 25 languages, auto-detection, OpenAI-compatible API. Use when transcribing audio files, converting speech to text, o...

OpenClaw

feishu-process-feedback

carlzhao007

飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。 在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。 支持任务类型识别、智能解析、错误重试、并发控制、状态持久化...