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

Reporting back

The layer works, with some issues

1.- the interval between points is wide open, very considerable volume drops are perceived, loses the fading softness, so, I have to add a new layer variants, especially in low volume range (ex: 0 - 3% - 5% - 7% - 10% - 13%, etc)
2.- you have to move the fader gently. Any fast movement causes synchrony lost.
3.- Is a real pain make the mapping, copy the end points into the wheel layer variants and then, every layers variant into keyboard maestro.

I’ll do some real deal tests, and I’ll report back

I hope @Achim_Boinx and @Oliver_Boinx bring us a long term solution.

Thank you for your efforts.

PDT: extra request: is it possible assign the automation feature to the output main volume control?

1 Like

Thank you very much for your feedback. It was very important to test this and your test helped me to understand lots around the behaviour.

So, I want to officially ask @Achim_Boinx for two new Endpoints, which are representing the upspin and downspin of wheels (of any kind; min./max.-range). I also want to feature-request 360° wheels for these wheels which range are between -180° and +180° and between -infinity° and +infinity° <3

Unfortunately, it’s currently not possible to modify the main output’s volume by http-API-request. Since 5.10.1b4 it’s possible to update output-destinations by http-?update-API-request. Currently I try to figure out, what we’re already able to do. <3

2 Likes

“Unfortunately, it’s currently not possible to modify the main output’s volume by http-API-request. Since 5.10.1b4 it’s possible to update output-destinations by http-?update-API-request. Currently I try to figure out, what we’re already able to do. <3”

Not yet?

5.10.1 " * New: Output destinations can be updated via HTTP GET request with an ?update= parameter just like the layers."

Yes, as I wrote.

PGM out isn’t an output destination. It’s a preview. Maybe I missed something, but I do not know an API point which would be readable.

There is just one, which delivers a live preview image in PNG format (with alpha channel).

I mean, the fader control of audio monitor output…

Oh, I read main output. :slight_smile:

Currently the settings part is empty at the output destination’s JSON output. I cannot figure out, which keypath would be necessary.

Maybe @Achim_Boinx could help us.

Currently I can change just these values:

With an Endpoint with ?update like this:

http://localhost:8989/api/v1/documents/33665208/output-destinations/980FCEA4-6B33-499B-A9F3-FEC261C3CE6B?update={%22data%22:%20{%22attributes%22:%20{%22title%22:%20%22Hi%22}}}

It changed the title of the output destination to “Hi!”.

1 Like

I currently checked the new release (5.10.1), settings are still empty. :sob::sob::sob::sob::sob::joy::joy:

Yesterday I did my first job with the Akai controller and mimolive midi.

The midi shortcuts buttons via API endpoints and keyboard maestro works very smooth.
Thank you to @DaveTheNerd for show how to do that

The fader implementation need some improvements, not very accurate, and like I said, you need to move the potentiometers very very gently.
Sometimes, the wheels stays halfway and you realize that in the hard way.

Hopping for some update from @Achim_Boinx and @Oliver_Boinx

1 Like

Did you get a private message by @DaveTheNerd? What a pity that noone else can profit from this information.

1 Like

No, I did not

Just read his answer in this thread

2 Likes

Found it: Feature Request: Midi Mapping - #9 by DaveTheNerd

2 Likes

@JoPhi version 5.11 maybe?

1 Like

When you get settings, you can manipulate em.
all other components/variables are statik and not changeable.