Giter Club home page Giter Club logo

microdude's Introduction

MicroDude

MicroDude is an editor for Arturia MicroBrute. It offers all the functionality of Arturia MicroBrute Connection but the firmware upload and the factory patterns reset.

Screenshot

Also, it is possible to use MicroDude from other Python programs.

Additional features

  • Pitch and modulation wheels calibration
  • Choose between persistent changes (SysEx) or non persistent (MIDI controllers)

Installation

MicroDude is a Python package that is installed the standard way with python3 setup.py install. However, as it contains desktop application related resources, it is installed with make.

The package dependencies for Debian based distributions are:

  • make
  • python3
  • python3-setuptools
  • python3-mido
  • python3-rtmidi
  • gettext

You can easily install them by running sudo apt-get install make python3 python3-setuptools python3-mido python3-rtmidi gettext. In case python-rtmidi is not available, PortMidi will be used as the backend. You can install it with sudo apt-get install libportmidi-dev.

To install MicroDude simply run make && sudo make install.

Usage of the Python interface

If you want have direct access to the MicroBrute you can use the Connector class in the python package this way.

Firstly, to connect to the MicroBrute you have to proceed the following way.

$ python3
>>> from microdude import connector
>>> connector.get_ports()
['MicroBrute:MicroBrute MIDI 1 28:0', 'MicroBrute:MicroBrute MIDI 2 28:1', 'Midi Through:Midi Through Port-0 14:0']
>>> c = connector.Connector()
>>> c.connect('MicroBrute:MicroBrute MIDI 1 28:0')

From here, it is possible to get or set parameters or sequences.

>>> c.set_parameter(connector.BEND_RANGE, 12)
True
>>> c.get_parameter(connector.BEND_RANGE)
12
>>> c.set_sequence('7:36 x x 36 x x 36 x x 36 x x 32 x 39 x')
>>> c.get_sequence(6)
'7:36 x x 36 x x 36 x x 36 x x 32 x 39 x'

Notice that while the get_sequence method is 0 based index the sequence string returned follows the Arturia specifications and is 1 based index.

Lastly, you can close the connector to free the resources.

>>> c.disconnect()

How to add a new localization

To add a new translation file for locale X, run msginit -i locale/messages.pot -o locale/X.po.

In case there are new texts to be translated, the pot file needs to be updated. To do this, run make update_pot.

Documentation

You can find the SysEx documentation in doc/sysex.

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.