Skip to content

crepererum/tf1d

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

tf1d - a Traktor F1 userspace driver

This is a userspace driver for Linux that translates the proprietary USB protocol into standard MIDI.

Requirements

  • ALSA
  • libusb1.0

Installation

Just make it:

make build
sudo make install

To use the F1 without rebooting, you need to reload systemd and udev rules:

sudo systemctl daemon-reload
sudo udevadm control --reload-rules

Now plug in (or replug) your F1 and have fun!

Usage

Plug in your F1 and udev+systemd will start the daemon. Now you can use it as an input device or use ALSA or Jack to route the midi signal. For Bitwig, you can use the ALSA Virtual MIDI Script.

FAQ

Some clarifications.

Is this something official?

No, this work is not related to Native Instruments or any other music company.

Why not a proper kernel driver?

It works really well using this userspace solution, so why should I start hacking the kernel? This would also imply difficult debugging and (if I make a mistake) security problems.

But what about latency?

I am sure you are not able to press the buttons that fast and precisely ;)

Is there an output mode for lights and stuff?

Not yet. I have a working Python prototype which is able to control all the fancy lights on the device. But the MIDI mapping needs to be done as well as a proper threading model to avoid interference between input and output channel.

Are the mappings identical to the official Windows/OSX version?

No, but if you provide me a complete list of the mapping, I will change the code to match it.

Is it possible to use mulitple F1 units?

Currently not. This would require some modification and testing. So if you send a pull request or another F1 unit to me, I will fix that.

About

Traktor F1 userspace driver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published