Giter VIP home page Giter VIP logo

djeye's Introduction

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>

djeye's People

Contributors

olbotta avatar

Stargazers

Julian Prein avatar

Watchers

Luca A. Ludovico avatar Davide Andrea "Murivan" Mauro avatar Nicola Davanzo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.