Skip to main content

mftd

A thin, adaptable API for programatically configuring Midi Fighter Twister midi controllers, and integrating them in Touch Designer projects.

Firmware support

0.3.0 and later target the 2026 firmware (build 2026-06-01 or newer — the Midi Fighter Utility gates the same behaviour on fw_version >= 0x20230c11).

That release renumbered two enums by insertion, so running 0.3.0 against older firmware fails silently rather than loudly — the stale value selects a different, valid function:

Value Pre-2026 meaning 2026 meaning
EncoderSwitchActionType 6 Shift Encoder (Hold) Encoder Fine Adjust
SideSwitchAction 12 Cycle Bank Bank 2

Use 0.2.0 for pre-2026 firmware. 0.3.0 also adds device config addresses 33–38 (colour map, animation channels, sleep timer and animation, bank change animations), which older firmware does not report — get_device_config() raises on a response missing any declared address.

Build

Generate inlined source using inline-importer:

# Prepare destination
rm -f dist/mftd.py
mkdir -p dist

# Build
inline-python -p mftd -e mftd/__init__.py -o dist/mftd.py

Touch Designer Usage

When running inside TouchDesigner the library uses a midioutCHOP named midiOut to communicate with the Midi Fighter Twister. The library will create this operator if it is missing.

Release files for mftd 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mftd 0.4.0
File Size Uploaded
mftd-0.4.0.tar.gz 30.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mftd 0.4.0
File Interpreter ABI Platform
mftd-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 62.8 kB

Release files / mftd-0.4.0.tar.gz

Download URL mftd-0.4.0.tar.gz
Size 30.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f87c227a28a9198cefb08767b6cb17b0852b18e42cd69d7ac20fb98ea67572b5
BLAKE2b-256 checksum
How to use checksums
656978e44a0ccb51c655523836032917e7e9b5ea450c5f7251ccd25b9e645841
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mftd-0.4.0-py3-none-any.whl

Download URL mftd-0.4.0-py3-none-any.whl
Size 31.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
581990c5a5202d9edbc18c297f3b6ffb1f6e32046a8c861cf3de64483e1c16f0
BLAKE2b-256 checksum
How to use checksums
913a12a58fda7eb4d0e837005401fac3c68e19fbba4f9cfdc310de79364c46ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page