Code Monkey home page Code Monkey logo

axyz-gems's Introduction

Axyz Gems v1.30

ROLI Lightpad Block code for running as a high-res multi XY surface.

Axyz Gems in Action

Table of Contents

Introduction
Installation
Heads up!
Control Changes
Operation
Setup
Parameters
Integration
Bitwig
Ableton

Introduction

This LittleFoot script will turn a ROLI Lightpad Block into a high-res multi XY surface. Multi as in five times... for five fingers... at the same time!

For every finger (touch) it shows a pulsing (on the beat if available) gem in a bright colour. The position of these gems are translated into MIDI Control Changes which can be mapped to anything in modern DAW's (Digital Audio Workstations) such as Ableton Live. A setup page on the device itself facilitates the easy creation of this kind of mappings.

I created this script because I really enjoy the plugins by U-he (Hive & Zebra2 in particular). These plugins have very nice XY controls which I map through Ableton Live (with Absolute 14-bit precision). These plugins also have CC 2 (breath) and CC 11 (expression) mapped as extra controllers, so the first gem (orange) uses these.

To see the gems operate bi-directional, make sure the mapped control values are send back to the device. In case of Ableton Live, ensure the Remote option is selected with your Output: Lightpad Block MIDI setup. If you like to see the gems pulsing on the beat, make sure Sync is selected as-well.

Installation

Roli Dashboard Apps Axyz Gems Roli Dashboard Apps Axyz Gems

To install this script save (only) the Axyz Gems.littlefoot script (here) in the default ROLI Blocks Littlefoot location of your platform (On MacOS this is ~/Documents/ROLI/LittleFoot). Now whenever you start the ROLI Dashboard, you will see the Axyz Gems app next to the default apps. Select it, and start tweaking... Enjoy! 😊

Heads up!

It has come to my attention that some users download the Axyz Gems.littlefoot by right clicking the file (above) and selecting download as an option. Saving that way will in fact dowload the container HTML file, and so it is impossible for ROLI Dashboard to upload the script to the Lightpad BLOCK. You will typicly be warned by an alert saying something like "Line 7, Column1: Found "<" when expecting a global variable or function". Please use the instructions above, or if you prefer, download the full release including these instructions by clicking here and then click Source code(zip).

Control Changes

The (default) arrangement of gems is as follows:

Gem Colour Indicator CC X CC Y CC Z
1 orange none 2 11 14
2 red Top Left 20 21 22
3 green Top Right 23 24 25
4 blue Bottom Left 26 27 28
5 pink Bottom Right 29 30 31

Operation

Use one to five fingers at once to place & move the gems on the pad. The first touch will correspond to the Primary Gem (default is 1: orange).Increasing the pressure will scale the gems outward (positive Z Scale) or inward (negative Z Scale).

Pressing the Side Button shortly will advance (and possibly wrap around) the Primary Gem, shown by the Indicator (see table above).

Setup

Pressing the SideButton a bit longer will open the Setup Page from which you can easily map your DAW's controls. Here selecting a dimension (X, Y or Z) and tapping one of the gems will only send out the corresponding the MIDI CC's (which prevents confusing the receiver). Press the Side Button again to leave this page, and return to normal operation.

Side toggles

The small side buttons will give access to some toggle states, pressing them will toggle and exit the Setup Page.

Left toggles

  1. orange: Beat toggle
  2. yellow: Reset Gems (center)
  3. cyan: Multitouch toggle

Right toggles

  1. blue: Record Off
  2. green: Record On (4)

Parameters

The Active Gems determine which gems are accesible. So 'All gems' will work with the full 5 gems, and 'Only Gem 3' will work only with Gem 3. The last option 'Only Gems 2-5' is handy if you want only the last 4 gems to access 4 XY pads in your software.

The Primary Gem determines which gem is selected by the first touch (finger), the next gem is accessible by the second touch, etc. This can be changed mid-flight by hitting the dot in it's respective corners.

If the option Z Scale allows pressure to influence (amplify) the actual position of the gem. The Z Threshold determines to amount of pressure needed before the scaling kicks in.

The High resolution option will (when selected) send out two CC's per dimension per gem, as such increasing the resolution. This is done according to the MIDI specification by sending out an extra CC (called LSB) for every value (called MSB). Most modern DAW's understand this mode (double CC's) as 14-bit CC's.

The MIDI Channel determines the MIDI channel used for sending the CC's.

The Recorder offers a Per Beat option, which will hold and playback all the values per beat. (This option might expand in the future) A large beat counter will show up, and advance. For this option to work, a MIDI clock signal should be sent to the Lightpad Block, as it needs to know the beat.

Integration

For enjoy the full joy of Axyz Gems, including high-resolution, there are dedicated Controller Surface scripts for Bitwig and Ableton.

Bitwig

Bitwig Axyz Gems Control UIFor Bitwig Control copy the Bitwig/AxyzGems.control.js (get it here) to your Documents/Bitwig Studio/Controller Scripts folder. Start Bitwig, go to Bitwig Settings -> Controllers, add the controller by clicking Add and selecting Bonboa -> Axyz Gems Controller (by Joris Röling), set the MIDI in and out to Lightpad BLOCK or Lightpad Block (Bluetooth)) and your good to go. The 8 macro knobs of the selected page of the selected device will be mapped to Gem 2 - 5. The control will be hi-res, AKA 14-bit.


Ableton

Ableton Axyz Gems UIFor Ableton copy the entire Ableton/Axyz_Gems folder to your MIDI Remote Scripts folder (on Mac this will be ~/Music/Ableton/User Library/Remote Scripts). Start Ableton, go to Preferences -> Link MIDI, select Axyz Gems in an empty Control Surface slot, select Lightpad BLOCK or Lightpad Block (Bluetooth) in Input and Output and your good to go. The 8 macro knobs of a selected grouped device will be mapped to Gems 2 - 5. (Sadly this will be low-res, AKA 7-bit, only)

axyz-gems's People

Contributors

discohead avatar jorisroling 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.