Skip to main content

faderport

An abstract class to interface with a Presonus FaderPort device.

The Presonus FaderPort is a USB MIDI controller that features a motorized fader, an endless rotary controller and a bunch of buttons. This class will handle the basic interfacing to the device. You write a concrete subclass to implement your application specific requirements.

This subclass must implement the following methods:

  • on_open — Called when MIDI port has opened,
  • on_button — Called when button is pressed or released,
  • on_fader_touch — Called when fader is touched or released,
  • on_fader — Called when fader is moved,
  • on_rotary — Called when the Pan control is rotated,
  • on_close — Called when MIDI port is about to close.

The fader property allows you to read or set the fader position on a scale of 0 to 1023.

You can turn the button lights on and off individually using light_on and light_off.

You can display hexadecimal characters (0-9, A-F) using char_on. This will use the button LEDs in a dot matrix style. (Extending this to the a full alphanumeric character set is an exercise left to the reader).

There are some methods for 'fancy' display effects, because why not? Check out: countdown, snake, blink and chase

IMPORTANT NOTE - There is a 'feature' in the FaderPort that can cause you some problems. If the 'Off' button is lit the fader will not send value updates when it's moved.

Installation

You'll need Python 3.6 or later.

Then:

pip install faderport

should do the trick.

This will also install the mido package and python-rtmidi backend.

Currently this has only been tested on Windows with a single FaderPort because that's all I have access to.

The adventurous can read the mido docs and try alternative backends.

Testing

Make sure your FaderPort is installed and connected and then:

from faderport import test
test()

This will instantiate a derived 'TestFaderPort' class, which also serves as an example implementation, and then run through some of it's features.

It will display some light patterns and move your fader and then monitor your actions until you hit the "Off" button on the FaderPort.

Try out the Pan knob, the fader and some of the buttons.

Try holding "shift" (on the FaderPort) and tweaking the Pan knob at the same time.

Change List

  • Version 1.0.1 - Added a reset command at startup. Sometimes when faderport is reconnected it can get in a weird mode. The Bank light is lit and our code doesn't work. This seems to fix it.
  • Version 1.0.0 - Initial Release

Metadata

Release files for faderport 1.0.1

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

Source distribution (sdist)

Source distribution for faderport 1.0.1
File Size Uploaded
faderport-1.0.1.tar.gz 6.8 kB Details

Built distribution (wheel)

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

Total release size: 14.2 kB

Release files / faderport-1.0.1.tar.gz

Download URL faderport-1.0.1.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
650b9d250b50d982a5557ab56f44ff9eaf006df3fa1a7137de31187b3ab8237d
BLAKE2b-256 checksum
How to use checksums
b53bc74f37e5f273c5f8cddc1afc6ae16ab51311e3a3da1d755e36eb76835522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / faderport-1.0.1-py3-none-any.whl

Download URL faderport-1.0.1-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f20f44f0bd6664564ff69010d49e228d01396daf3c3dad6ec2e9f25daa7163af
BLAKE2b-256 checksum
How to use checksums
3e82748cf288c50e466aa3e9915612fd44307b5716222947dab5f1bef5ecf620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.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