Djeye-controller is a MIDI controller designed to be used with your eyes only.
djeye-interface-video
The controller works on Linux, Windows and MacOS.
We developed some software to use the eye-tracker to emulate mouse input for Linux (Debian based) (see tobii-eye-interface) and for Windows (see DJEye_EyeLayer_Windows).
Go to the releases page and download the executable file for Linux (flatpack coming).
If you are interested in using the eye tracker go to the eye-tracker wrapper release page and download the executable. See the readme for info on usage
- Install MIXXX from flathub
- Copy the provided mapping (
Mappings/djeye.midi.xml
) and script (Mappings/djeye-scripts.js
) in:~/.var/app/org.mixxx.Mixxx/.mixxx/controllers/
.
Go to the releases page and download the executable file for Windows (installer coming).
If you are interested in using the eye tracker go to the eye-tracker wrapper release page and download the executable.
- Install MIXXX from their official website.
- Copy the provided mapping (
Mappings/djeye.midi.xml
) and script (Mappings/djeye-scripts.js
) in:C:\Program Files\Mixxx\controllers\
.
Since windows has no easy way to open virtual midi ports, you will need to install a vitrual midi port driver like loopmidi and create a port called DJEYE. You have to open this port before launching DJeye.
- Launch djeye-controller.
- Open MIXXX preferences (
ctrl+p
)- Go to Controllers, select "DJEYE" and select from the "Load Mapping" dropdown the "djeye" mapping (should be first on the list).
- Go to Library and set library row height to 70px.
- Activate master sync on both decks, holding down the sync button. (this implies you should play tracks which are similar BPM)
- enable fullscreen (
F11
). - Enable "big library" from the button on the top-left.
- Put djeye-controller and MIXXX in the same desktop, so that MIXXX is "under" the controller.
- interface controls values syncronization with MIXXX controls (eg. track position must be syncronized)
- display track name
The gaze-based interaction introduces some limitations in the expressive possibilities of the controller:
- simultaneous controls manipulation is not possible.
- due to the extension of graphic targets the number of controls which is possible to display simultaneously is not high.
- headphones volume is not modifiable.
The configuration of the controller is quite easy to modify, just change the initializer list's parameters.
Use CMake, pretty much the JUCE base examples.
Show port list:
~aconnect -iol
Dump port messages
~aseqdump -p <#port>