Skip to content

twinter/mr_keyboard

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

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

MR-Keyboard

The software required to run the keyboard. It may be used as a standalone program or as a library in another program.

It interprets the signal coming from the optic boards and returns the events (i.e. key presses and releases) via console, logfile and midi. It also syncs the clocks of the optic boards and receives and processes signals coming from another program running the experiment (at the moment: Presentation) via TCP.

The program is made to be as robust as possible. It therefore disables the syncing with the NTP server if it isn't reachable (there is a setting to disable this behaviour), has multiple method to get more or less accurate timestamps from the boards and corrects most minor errors it encounters by itself.

I strongly recommend reading the this document and the one on the usage of the program completely and at least the first ~15 lines of the settings file before you start working with the program. If you want to use the program as a library then you should read the document on this as well.

The program is written in python 3 in contrast to the previous versions.

Git repository

The program lives here: https://github.molgen.mpg.de/twinter/MR-Keyboard

There also is an issue tracker. Use it for bugs, feature requests, missing comments/explanations, notes on the documentation etc. Write a ticket to the IT department if you need an account.

Features

You can do the following things with the program apart from the above:

  • set a multitude of options with a file (settings.ini if you didn't specify another) and CLI (command line interface) flags
  • configure the network to use a static IP set in the settings file
  • blacklist single channels (i.e. keys) of the keyboard
  • calculate velocity data from the received data stream (or disable it with an option in settings or a CLI flag, you can also expand this to all midi devices instead of just the primary one)
  • display the received data from a secondary midi input device and output it either on a secondary output device (recommended) or merge it with the primary output

How to install/setup/use/configure/understand the program

Have a look at the corresponding sections of USAGE_GENERAL.md (although i recommend reading it completely, especially if you want to write code using the program or plan extend it)

How to use this program as a library in another program

See USAGE_AS_A_LIBRARY.md for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Languages