Skip to content
/ DJeye Public

An accessible gaze- and wink-based DJing interface

License

Notifications You must be signed in to change notification settings

LIMUNIMI/DJeye

Repository files navigation

Djeye-controller

Djeye-controller is a MIDI controller designed to be used with your eyes only.
djeye-interface-video
video demo on youtube


Installation

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

Linux

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

MIXXX setup

  • 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/.

Windows

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.

MIXXX setup

  • 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\.

Virtual MIDI port software

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.

Tweak MIXXX Preferences

  1. Launch djeye-controller.
  2. 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.
  3. Activate master sync on both decks, holding down the sync button. (this implies you should play tracks which are similar BPM)
  4. enable fullscreen (F11).
  5. Enable "big library" from the button on the top-left.
  6. Put djeye-controller and MIXXX in the same desktop, so that MIXXX is "under" the controller.

Roadmap

  • interface controls values syncronization with MIXXX controls (eg. track position must be syncronized)
  • display track name

Limitations

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.

Architecture

The configuration of the controller is quite easy to modify, just change the initializer list's parameters. UML diagram

Building

Use CMake, pretty much the JUCE base examples.

Monitoring MIDI messages from terminal emulator

Show port list: ~aconnect -iol

Dump port messages ~aseqdump -p <#port>

About

An accessible gaze- and wink-based DJing interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published