A minimal workflow system for creatives; free and open-source.
NOTE: This is the initial prototype of miniflow, implemented as a python script. It currently ships with the config that I use to control apple music with the transport controls of my d-command controller. I use it with V-Control Pro in midi mode.
miniflow/
├── pyproject.toml
├── Makefile
├── README.md
├── config/ # my config
├── deploy/ # os files
├── vendor/ # vendor files
└── src/ # miniflow code- Python:
>= 3.11 - Package & Environment Manager:
uv - OS: macOS (current release target for AppleScript integration)
Sync dependencies and install miniflow in editable mode inside a local .venv:
uv sync
Run the application directly in verbose mode to inspect incoming MIDI messages and triggers:
uv run miniflow -v --config config/macos/dcommand-applemusic.toml
Install miniflow system-wide as a local CLI tool and register/start the background daemon via launchd:
make install
Note: To install a custom configuration preset during setup, specify the
CONFIGvariable:make install CONFIG=config/macos/your_custom_config.toml
Configurations are written in TOML and located in ~/.config/miniflow/config.toml after installation.
port_name = "V-Control Midi Mode"
[controls."dcommand/main/transport/play"]
label = "Play / Pause"
description = "Toggles playback in Apple Music"
type = "cc"
cc = 21
channel = 3
mode = "toggle"
triggers = [
{ type = "applescript", command = 'tell application "Music" to playpause' }
]
[controls."dcommand/main/transport/stop"]
label = "Stop"
description = "Pauses playback and resets Play LED"
type = "cc"
cc = 22
channel = 3
mode = "momentary"
triggers = [
{ type = "applescript", command = 'tell application "Music" to pause' },
{ type = "set_toggle", target = "dcommand/main/transport/play", state = false }
]
Logs are written to the default runtime directory:
# Standard Output
tail -f ~/.local/etc/miniflow/stdout.log
# Standard Error
tail -f ~/.local/etc/miniflow/stderr.log
To stop the daemon, remove the LaunchAgent plist, and uninstall the miniflow executable:
make uninstall
Released under the MIT License.