- #discord
- #desktop
- #automation
- #music
- #open-source
- #freeware
FLStudio RPC
A small Windows app that shows the FL Studio project you’re working on, and for how long, in your Discord status. Python, process monitoring and Discord Rich Presence.
- Role
- Solo developer, open source.
- Outcome
- Released on GitHub with a one-click launcher. The status follows a project switch within 5 seconds and clears itself when FL Studio closes.
- Year
- 2024
- Status
- shipped
- Stack
- Python
- pypresence
- pygetwindow
- psutil
- PyInstaller
The start
Discord didn't know I was making music
I produce music in FL Studio and spend most of my day on Discord. Discord can show which game you're playing, but it had no idea I was in a DAW, let alone which track. Friends and collaborators kept asking what I was working on, and I kept typing the same answer.
The goal
A status that keeps itself up to date
Put the answer where people already look: my Discord status. When FL Studio is open, show the project I'm working on and how long I've been at it. When I switch projects, follow along. When I close FL Studio, clean up. All of it without me touching anything.
The adventure
Reading a DAW from the outside
FL Studio has no API for this, so the app watches it from the outside. A small Python process checks whether
FL64.exeis running, reads the project name from the window title, and sends it to Discord's Rich Presence with a session timer. I packaged it with PyInstaller and added a batch launcher that opens FL Studio and the status together, and creates a desktop shortcut the first time.The status as your friends see it. The difficulties
Invisible, accurate and resilient
A background app has to stay out of the way, so the process checks had to be cheap enough to never show up in Task Manager. FL Studio's window title changes with the state of the project and can carry special characters, and an unsaved project has no name at all. And Discord can restart at any time, which mustn't crash the app.
The end
One click, then nothing to think about
It's released on GitHub with a one-click launcher. The status reads "Working on" plus the project name, follows a project switch within 5 seconds and clears itself when FL Studio closes. It's a small tool, but it taught me a lot about system-level programming: monitoring processes, reading other apps' windows, and building something that runs quietly in the background.
Automatic detection
Notices when FL Studio starts and turns the Rich Presence on by itself.
Project name in your status
Shows the project you have open, so friends and collaborators can see what you're working on.
Session timer
A live timer counts how long you've been on the current project.
Window detection
Finds FL Studio's window and reads the project information from its title.
Follows your projects
Open another project and the status updates on its own, within 5 seconds.
Cleans up after itself
Close FL Studio and the status disappears, so it never shows stale information.
In Discord
The app uses Discord's own Rich Presence, so the status looks like any game's: on your profile, in the member list and in your friends' activity feed.
Setup
Download
Get the latest release from the project's GitHub page.Extract
Unzip it wherever you like.Run
StartFLStudioRPC.bat: it opens FL Studio and the status together.Done
A desktop shortcut is created the first time, so from then on it's one click.
Once it's running there's nothing to do. While FL Studio is open your status reads "Working on" plus the project name, with the session timer. Close FL Studio and the status clears and the app stops.
The loop
A Python process runs in the background and repeats the same four steps every few seconds.
Process check
psutillooks forFL64.exe, a cheap lookup instead of walking every window.Window title
pygetwindowreads FL Studio's window title, which carries the project name.Presence
pypresencesends Discord the project name and a session timer.Cleanup
When FL Studio closes, the status is cleared and the app exits.
Architecture
Process monitor
psutil
Enumerates processes efficiently to spot FL Studio, with a polling interval that keeps the CPU cost negligible.
Window detection
pygetwindow
Identifies FL Studio's window and extracts the project name from its title, for named and unnamed projects alike.
Discord integration
pypresence
Keeps a Rich Presence connection open and only sends updates when something changes, to keep API use low.
Session management
State
Restarts the timer when the project changes and clears the presence data when FL Studio closes.
Challenges
Problem
Process detection
Knowing reliably when FL Studio is running, without the checks eating system resources.
Solution
Lightweight process enumeration and a tuned polling interval: a few seconds between checks keeps the app invisible in Task Manager.
Problem
Window title parsing
FL Studio's title changes with the project state and can contain special characters; unsaved projects have no name.
Solution
A parser that handles every title format and shows an unsaved project as an untitled session rather than a blank.
Problem
Discord connection
Discord can restart or drop the Rich Presence connection at any moment.
Solution
Connection management with automatic reconnection and error handling, so the app recovers instead of crashing.
Skills I gained
System programming in Python
psutil
Process monitoring and background services that run continuously without getting in the way.
Discord Rich Presence
pypresence
Status integration and management through Discord's Rich Presence API.
Window detection
pygetwindow
Finding another application's window and parsing its title into usable information.
Packaging and distribution
PyInstaller and batch
A packaged executable, plus batch scripting for the launcher and the automatic desktop shortcut.
What does my Discord status show?
"Working on" plus the name of the project you have open in FL Studio, with a timer for the current session.
What if my project isn't saved yet?
It shows as an untitled session instead of a blank status. Once you save it, the name appears.
How fast does it notice a project switch?
Within 5 seconds of opening a different project.
Do I have to start it every time?
The launcher starts FL Studio and the status together, and the desktop shortcut it creates makes that one click. When you close FL Studio, the app stops on its own.
Where can I download it?
From the releases on GitHub, where the source code is too.
Releases
The latest releases, straight from GitHub.
- 1.0.0GitHub
FLStudioRPC_v1.0.0
First functional release
Need something like this?
Tell me what it should do, where it runs and when you need it.
More work

- #computer-vision
- #automation
- #roblox
Leaf's Grand Blue Autofish
A free Windows app that fishes in Roblox Grand Blue for you and logs every catch it reads.

- #discord
- #bots
- #api-integration
LegitBot
A Discord bot that announced every diamond donation to the LEGIT clan, with an updated leaderboard.

- #computer-vision
- #automation
- #roblox
Pet Sim 99 Autofish
A screen-reading helper that tracks the whirlpools in Pet Simulator 99's fishing minigame.