MonoLinkComponent

From ModWiki
Jump to: navigation, search

The MonoLinkComponent (as opposed to the Monolink mod) is a new Python module built as a client for the Monomodular script. It allows connection to monome patches by means of exactly emulating the behavior of an actual monome. It does not require m4l, and takes care of all connectivity directly through Live.

To use MonoLink, install Monomodular and the appropriate control surface script for your controller in Live's MIDI Preferences.

To enter MonoLink mode on your controller, hold Shift + the 7th button on the first column of the grid (1,7). The button will flash, and the normal bank select button along the top of the shift screen will all be turned off (or on, if you are on banks 9-16) while in MonoLink mode.

Monolink preset.png


Functionality while in MonoLink mode is somewhat different from normal ModMode:

You still have access to a 256 cell grid, and can navigate it in the normal ways.

The keys currently have no functionality in MonoLink.

The alt button brings up the configuration screen. Two keypads will light on the top of the grid. The left one allows the user to enter the incoming udp port. The right one allows entry of the outgoing port.

Also while holding down alt, the current communication protocol can be altered with the bottom left two buttons on the grid (left is serialosc, right is monomeserial).

Monolink alt.png

The current port, prefix, and mode information will be displayed in the bottom bar of Live's GUI when alt is pressed or when any keypad entry is made.

Monolink info bar.png

There are 16 user presets that are accessible by holding shift and changing channels as one would in normal mod-mode. Each preset contains a pre-coded input and output port assignment, prefix, and communication mode preference. The presets can be altered by editing the MonoLink_Map.py file inside the scripts folder bundle. Preset one should not be altered, as it is the default configuration for MonoLink (but, hey, I'm not stopping you).

This might actually work the way its supposed to, hurrah! But if things don't work as expected, you can always disable the MonoLinkClient module in Monomodular by editing the MonoLink_Map.py file, and changing MONOLINK_ENABLE attribute from True to False. MonoLink is on by default, but if you are never going to use it, I would disable it, as it's bound to slow things down if even just a little bit.

MonoLink currently supports most SerialOsc and MonomeSerial calls. However, current implementation for some commands (incuding /cable and all /intensity and /lvl based commands) has not been completed, and they will simply be ignored by MonoLink.

As I collect more information about how this is working on different systems, I will update the MonoLinkComponent to be more integrated in the schema of Monomodular. Please let me know how this is working for you.