How to create a wheel for external audio-control in mimoLive?

With the help of Automation. This wheel needs Automation Layer v1.32 and at least mimoLive v5.10.1.b3.

Download Demo and try it yourself:
https://drive.google.com/file/d/1CLUV7hd_0Ni_2_T14j9JzhPLU0l5fBfb/view?usp=sharing
I configured control + a (increase) and control + s (decrease), so you could try it out. Some LayerSets are there to give more inspiration. If you want to use a keyboard-wrapper/-mapper.

This is the idea:
A mechanism which is able to cycle the increase or decrease over layer-variants, which contain the volume changes. A STOP on both ends should prevent over-cycling. By using Keyboard-Shortcuts, you could also connect this to a MIDI-Mapper, which pushes your wheel circling into mimoLive, by simply using two Shortcuts (or API-Endpoints, which you can pick from the variants “forward” and “backwards”). It’s based on a request from another section at this forum.

HOW DO I CONNECT THE DEMO WITH MY OSC-/MIDI-MAPPER/-WRAPPER?
Use

http://localhost:8989/<API-of-layer-variant-forward>/setLive
http://localhost:8989/<API-of-layer-variant-backwards>/setLive

to submit the increasing/decreasing signals.

If you want to use the LayerSets instead, use this:

http://localhost:8989/<API-OF-LAYER-SET>/layerSetRecall

Pleace replace “localhost” with your IP-Adress or hostname of your device, when you do not execute the request from the same device as mimoLive.

HOW TO CREATE SOMETHING BY MYSELF?
Layer at the bottom:

  • forward
  • pending
  • backwards

Layer on top of it:

  • STOP
  • 0% to 100% (use the assisting document from below)
  • STOP

What commands do we need? Only one:
layerOn(<API-Endpoint>)

Set your Automation-Layer to MANUAL!
Write your code into the onLive-section, except you know exactly what you’re doing. The pending-variant does not contain anything.

Extend the command, where it is in need.
NOTICE: Finish Signals or update-commands allways with the character “#”, when you abuse layerOn() to execute Signals/update-requests, or use httpRequest(http://…) with a full URL instead.):

  • layerOn(<API-Endpoint>/cycleThroughVariants#)
  • layerOn(<API-Endpoint>/cycleThroughVariantsBackwards#)
  • layerOn(<API-Endpoint>/?update=url-encoded%20content#)

“Forward” should first cycle the automation-layer above forward. Then it should switch itself to pending. Make sure to place only one command per line. We can do this with:
  layerOn(<API-Endpoint>/cycleThroughVariants#)
  layerOn(<API-Endpoint-of-the-variant-Pending>)

“Backwards” should do similar things. So, do the same, except at the first line:
  layerOn(<API-Endpoint>/cycleThroughVariantsBackwards#)
  layerOn(<API-Endpoint-of-the-variant-Pending>)

How to create the commands for 0%-100%?
For your convenience, I created a document, which creates the volume-change-commands for you (open-document-format):

Download this document here (ods-Format):
https://drive.google.com/file/d/16eTKjOAu_RRrNSC9q-Rv7beJcJ_msgQh/view?usp=sharing
(If you do not have a compatible app to use Open Document Spreadsheet-Files, use LibreOffice or OpenOffice)

Simply paste the API-Endpoint of your audio containing layer or layervariant into the fat yellow area, and copy the code you need from the light green area and paste it into your matching Volume-Control-Variant. Add as many variants you need/like to have. Then modify each layer-variant. Notice: the more variants you have, the longer it takes to get from 0 to 100 (or vice versa).

For the STOP-scripts, simply switch on 0% or 100%.
  layerOn(–GUESS WHICH API-ENDPOINT–) :slight_smile:

Further links:
HTTP-API Basics
Automation-Layer Basics

All the best and lots of fun,
JoPhi

Ps: I had to fight against German autocorrect. I hope I won.

Thank you! i’ll try it!

1 Like

Joseph, are there any experiences to share? I’m so curious about it. - Johannes.

Not yet, I’m waiting to arrive my new Akai APC mini