Control the Lumetri Color Panel in Adobe Premiere Pro CC with an Arturia Beatstep

0
0

Hi, I have a first version of the Arturia Beatstep and I’d like to use mainly the 17 knobs to control the individual parameters of the Lumetri Color Panel (temperature, tint, contrast, whites, blacks, saturation, the highlights/midtones/shadows faders in the color wheel section, and so on) as if they were actually faders. Is that possible with the Midi Translator? How? Since there’s no shortcut to those parameters inside Premiere Pro…

Thank you for your help!

Marked as spam
Posted by (Q&A Forum: 1, Answers: 9)
December 17, 2017 8:54 pm
439 views
0
Private answer

This is the project I’ve set up. Some translators’ names are in italian, because I’m italian, hope that’s not a problem.

Marked as spam
Posted by (Q&A Forum: 1, Answers: 9)
December 22, 2017 2:36 am
0
Private answer

If your device puts out 41H (65 D) for +1 and 3FH (63 D) for -1, then the below file should work for you. I disabled the absolute controller translator but it is still there.

Steve

bome@sniz.biz

Independent Bome Programming Specialist

Bome Q&A moderator

 

Marked as spam
Posted by (Q&A Forum: 27, Answers: 1892)
December 21, 2017 12:58 am
0
Private answer

OK, please see the attached project file. Only the checked presets are used as I use a general template for all of projects. The unchecked ones can be safely deleted.

In the Init preset when the project is opened I set the global variable gf to 64 and then ensure the knob I use to update the value is properly centered. This happens through a timer both when the  project is opened and if you hit the Esc key on your computer keyboard.

The  “Control Slider” preset is where are the real work happens.

Move to Slider upon pressing the first button on my LaunchControl MIDI controller, moves the mouse to a pre-designated place on the screen, I’m not using Adobe Premier, so you will need to capture the correct slider position on your screen.

After 10ms the second translatore (Left Click Down) happens. It is triggered by the same button press as above.

So at this point, you should now have your mouse over the slider and the mouse clicked down. You can now move your knob.

Adjust slider translator moves the mouse either left or right depending on the knob position (dragging it since the mouse button is still down).

When you have it in position, a separate button press on my controller generates a left click up and now the slider is in the new position.

With all this said remember that this all assumes you have the screen open and in the right place and that the initial mouse position is over the correct slider.

I hope this helps.

Note you will have to change the input device and controller numbers for your device as I don\'t have one.

Marked as spam
Posted by (Q&A Forum: 27, Answers: 1892)
December 20, 2017 8:19 pm

Ok, everything seems to work, but there’s a problem: though the knob on the beatstep has an endless rotation, the movement range on screen is only made of 127 units (both on the right and on the left), then the cursor stops, even if I continue to rotate the knob; the movement range should have been infinite, I can’t cover all the slider horizontal length… What does it depend on?

( at December 20, 2017 11:57 pm)

Do you know what your endless encoder is putting out for clockwise and counter clockwise motion? If it is relative values instead of absolute values, we can modify the behavior or the project to accomodate relative values.

Some controllers put out 41H for clockwise and 3FH for counter clockwise,
Others put out 1 for clockwise and 7FH for counter clockwise.

Just takes a little simple math to fix but I need to know what the controller puts out.

For instance if it puts out 41H for clockwise and 3F for counter clocwise, you just make the mouse move 1 pixel right for 41H and 1 pixel left for 3FH. For this example many times controllers will send 42H for 2 pixels right and 3E for 2 pixels left.

Hopefully you get the picture.

( at December 21, 2017 12:49 am)

If I’ve searched well, the knobs are in absolute mode, the other options are: relative #1, #2 or #3; and this is what the manual says about it:

“ABSOLUTE: The default setting: the knobs will
send absolute values from 0-127.

RELATIVE 1: The knob will send values 61-63 when turned in a
negative direction and values 65-67 when turned in a positive
direction. The turn speed determines the parameter response.

RELATIVE 2: The knob will send values 125-127 when turned in a
negative direction and values 1-3 when turned in a positive
direction. The turn speed determines the parameter response.

RELATIVE 3: The knob will send values 13-15 when turned in a
negative direction and values 17-19 when turned in a positive
direction. The turn speed determines the parameter response.”

I think the negative direction is the counter clockwise motion and the positive one the clockwise motion.
So… what now?

( at December 21, 2017 2:05 am)

Use Relative 1 and then the latest project file I posted.

( at December 21, 2017 2:18 am)

Okok, it works! Thank you!
Now the last adjustment for me is the velocity: if I want to navigate through the slider faster then it is now, how can I do that?

( at December 21, 2017 8:30 pm)
You want the slider to move faster with the knob? One way would be to increase the value of qq as the last rule in your “Adjust Slider Relative” translator but there might be a possibility of overshooting your target. For a multiplier of two you could put: qq=qq*2 The mouse would move 2 times the distance in either direction If a multiplier is too much, for an adder you could put: if qq > 0 then qq=qq+1 if qq < 0 then qq=qq-1 The mouse would move 1 pixel more than the knob specified. You could also change your mouse sensativity in your computer settings but this would also affect your real mouse movement. Steve bome@sniz.biz Independent Bome Programming Specialist Bome Q&A moderator
( at December 21, 2017 8:39 pm)

Yes, the multiplier works fine, I had to write qq=qq*15 !

However I can’t understand a thing: very often when I’m using the knobs, it seems that they send the same midi message too many times whereas I’m rotating the encoders only one step, why don’t they respond accurately? It’s a problem of scripting or hardware malfunction of my beatstep? It’s strange.

( at December 21, 2017 9:32 pm)

Well , I don’t have one but if you open the log window and enable Incoming and Outgoing in logging and then move your encoder. You will see what is happening. If you copy and paste the log here, I can have a a look. Best to attach the log as a text file though as the forum comment format will change the readability. Just copy and paste into notepad and then attache the notepad text file.

( at December 21, 2017 10:26 pm)

Well, looking at the log window, there are three phenomena that often happen:

1. As I turn a knob one step, nothing happens, no message of any kind, neither incoming nor outgoing, the log window remains clean;

2. As I turn a knob one step, I have six message, whereas they should have been two (the first two of the following example: one in and one out); example:

1: IN 0.8 Control Change on ch. 1 with CC#:114 (0x72) set ‘pp’ to value=65
2: OUT 0.8 Mouse move 1 (right)
3: IN 0.8 Control Change on ch. 1 with CC#:114 (0x72) set ‘pp’ to value=65
4: OUT 0.8 Mouse move 1 (right)
5: IN 0.8 Control Change on ch. 1 with CC#:114 (0x72) set ‘pp’ to value=63
6: OUT 0.8 Mouse move -1 (left)

3. As I turn a knob continuously, by many steps, it happens to have these kind of messages between the ‘normal ones’; like the four at the centre of these examples:

57: IN 0.6 Control Change on ch. 1 with CC#:73 (0x49) set ‘pp’ to value=63
58: OUT 0.6 Mouse move 15 (down)
59: IN 0.6 Control Change on ch. 1 with CC#:73 (0x49) set ‘pp’ to value=55
60: OUT 0.6 Mouse move 135 (down)
61: IN 0.6 Control Change on ch. 1 with CC#:73 (0x49) set ‘pp’ to value=55
62: OUT 0.6 Mouse move 135 (down)
63: IN 0.6 Control Change on ch. 1 with CC#:73 (0x49) set ‘pp’ to value=63
64: OUT 0.6 Mouse move 15 (down)

15: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=65
16: OUT 0.5 Mouse move -15 (up)
17: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=81
18: OUT 0.5 Mouse move -255 (up)
19: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=81
20: OUT 0.5 Mouse move -255 (up)
21: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=65
22: OUT 0.5 Mouse move -15 (up)

9: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=65
10: OUT 0.5 Mouse move -15 (up)
11: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=81
12: OUT 0.5 Mouse move 495 (down)
13: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=81
14: OUT 0.5 Mouse move 495 (down)
15: IN 0.5 Control Change on ch. 1 with CC#:93 (0x5D) set ‘pp’ to value=65
16: OUT 0.5 Mouse move -15 (up)

With these very high random values, the cursor jumps a lot further than it should, so I lose precision.

This is the situation…
Maybe one partial solution could be to program always equal values no matter the physical knob’s rotation speed that I manually give, I don’t know…

( at December 22, 2017 12:10 am)
OK, lets do this set up the log file to monitor only MIDI IN (nothing else) Then turn the knob to the right and and left. Let us see what the knob is actually sending. I don’t think it is sending what we are expecting. Please show the log file for that. Only turn the knob that you are trying to use to control. Fro the above log it looks like you are experimenting with several knob. Each one using different CC 114 73 93
( at December 22, 2017 12:26 am)

Also please post your project file so I can see how you have it set up.

( at December 22, 2017 12:30 am)

Yes, I’ve set up several knob, so, different CC, because I need at least five knobs for five different things: three key strokes (not for the Lumetri panel) and two mouse movements (needed for the Lumetri panel).

For the MIDI IN monitoring the situation is on the same line as the previous one.
This is what I normally have with knob #1 (one right turning and then one left turning):
1: MIDI IN [Arturia BeatStep]: B0 48 41
2: MIDI IN [Arturia BeatStep]: B0 48 3F

This is what sometimes I have in those strange situations:

(with knob #2, one right turning)
1: MIDI IN [Arturia BeatStep]: B0 4F 41
2: MIDI IN [Arturia BeatStep]: B0 4F 41
(then one left turning)
3: MIDI IN [Arturia BeatStep]: B0 4F 37

or

(knob #2 again, only one right turning)
1: MIDI IN [Arturia BeatStep]: B0 4F 41
2: MIDI IN [Arturia BeatStep]: B0 4F 41
3: MIDI IN [Arturia BeatStep]: B0 4F 3F

or

(knob #1 again, on a continuously right turning)
10: MIDI IN [Arturia BeatStep]: B0 48 41
11: MIDI IN [Arturia BeatStep]: B0 48 51
12: MIDI IN [Arturia BeatStep]: B0 48 51
13: MIDI IN [Arturia BeatStep]: B0 48 41

(knob #3, continuously right turning)
46: MIDI IN [Arturia BeatStep]: B0 4B 41
47: MIDI IN [Arturia BeatStep]: B0 4B 44
48: MIDI IN [Arturia BeatStep]: B0 4B 44
49: MIDI IN [Arturia BeatStep]: B0 4B 44
50: MIDI IN [Arturia BeatStep]: B0 4B 51
51: MIDI IN [Arturia BeatStep]: B0 4B 51
52: MIDI IN [Arturia BeatStep]: B0 4B 41

(knob #4, continuously right turning)
156: MIDI IN [Arturia BeatStep]: B0 72 41
157: MIDI IN [Arturia BeatStep]: B0 72 49
158: MIDI IN [Arturia BeatStep]: B0 72 49
159: MIDI IN [Arturia BeatStep]: B0 72 49
160: MIDI IN [Arturia BeatStep]: B0 72 5C
161: MIDI IN [Arturia BeatStep]: B0 72 5C
162: MIDI IN [Arturia BeatStep]: B0 72 5C
163: MIDI IN [Arturia BeatStep]: B0 72 5C
164: MIDI IN [Arturia BeatStep]: B0 72 51
165: MIDI IN [Arturia BeatStep]: B0 72 51
166: MIDI IN [Arturia BeatStep]: B0 72 41

So, I’ve noticed that the velocity values rear up as I manually increase the rotation speed of the knobs, but I think this is compatible with what the manual says: “The turn speed determines the parameter response”. But I still can’t understand why the velocity values also change when I don’t increase the turn speed, or the other strange things…

( at December 22, 2017 2:35 am)

This all makes send except if you are saying you are turning slowly and you are still getting big increment
+41 = 1 right _49 would be 9 right.
Maybe you should look at the number and instead of adding or subtracting the value, just always add only one subtract only 1

So something like this

if pp >64 then pp=1
if pp< 64 then qq=-1 If that doesn't move them enough, then add a fudge factor to each

( at December 22, 2017 6:13 am)

Yes, I’m turning with a normal linear speed (not fast), and I’m still getting this big increment! That’s one of the problems. So to fix this I have to script the two rules you have written above, ok, but there’s also the fact that with one turning step (the beatstep’s encoders are made of “steps” in their spin, there’s no “fluid” rotation), I have three midi messages instead of one:
1: MIDI IN [Arturia BeatStep]: B0 4F 41
2: MIDI IN [Arturia BeatStep]: B0 4F 41
3: MIDI IN [Arturia BeatStep]: B0 4F 3F

Why?

( at December 22, 2017 12:58 pm)

Likely if you are not turning the controller fast or far, it is malfunctioning. The rules should smooth it out a bit but I’m afraid, if the knob itself is mis-behaving, there is not much more we can do than what we have done already. First two messages are right turn, last one is left turn so the output should end up with 1 pixel movement to the right (2 right 1 left).

( at December 22, 2017 2:07 pm)

Ok, I see. But now there’s a new problem with the latest rules: they work but for some reason when I click on the slider in Premiere, one pixel is not enough to activate it, instead two pixels (for example) are enough, but if I change the rule in “if pp >64 then pp=2” then I will move the slider always by two pixels, and I’ll lose precision…
Is there a way, a kind of rule, to move by TWO pixels only with the FIRST midi message that I send with an encoder, and then by ONE pixel with all the other following messages sent by the same encoder until I change the midi input with another encoder or pad?

ie something like this:

if pp>64 then firstly pp=2 then pp=1

I hope I’ve explained the need well… Thank you!!

( at December 23, 2017 3:50 pm)

I would recommend if you want to change the precision, instead of using an absolute value use a global variable (say gp). Then you control the precision by pushing a button

if pp>64 then qq=qq+gp

Set it up so that the push of a button sets gp to 1 when pushed and maybe 5 when released

Example:
Input cc5 on channel 1 any value set pp to value
Rules:
// Button pushed
if pp=127 then gp=1
//Button released
if pp!=127 then gp=5
Output None

However if you want to go on the strategy you suggested you could duplicate the existing translator at the push of the button to also set the value of gp to 1 then withing the slider movement have it set it back to something after it does the first slider move.

Steve

( at December 23, 2017 6:09 pm)

I don’t understand what you’re suggesting this time… But I’ve found another way to solve the problem: I’ve duplicated twice the pad’s translator that moves and clicks my mouse on the slider in Premiere, and then I’ve changed the outgoings in “mouse position” to move the cursor by two pixels on the right (after 7 milliseconds from the first pad’s translator) and (for the second translator’s copy) two pixels on the left (after another 3 milliseconds from the first translator’s copy), so that the cursor can return to the initial position. In this way the slider is “activated” and I can adjust it with the knob; I’ve tested it and it works!

Finally, now I think that’s really all!

( at December 24, 2017 6:47 pm)

Glad to find out you found a solution. Yes there are lots of ways to try and deal with controller extraneous behavior. A lot of time it takes a big of trial and error.

Steve

( at December 26, 2017 12:37 am)

Yeah. Thank you again for all this support, Steve! You’ve been really helpful!!

( at December 26, 2017 1:03 am)
0
Private answer

Here is an example of a project that converts knobs to mouse movement and buttons to mouse clicks. On input I used a Novation Launch Control. It was provided to another user that was asking about this. Maybe this can help get you started.

 

 

Marked as spam
Posted by (Q&A Forum: 27, Answers: 1892)
December 19, 2017 4:31 am
0
Private answer

Well, here is the thing. Adobe Premier is not designed to work with MIDI controllers but it CAN understand mouse movements and hotkeys. So most of what you will be able to do with an external MIDI controller is emulate keystrokes and mouse movements.  Some programs understand control elements such as sliders and if you are on Windows AND Adobe can do that, then you can define the mouse to move to a given control and move it. My experience has not been to positive with most Adobe products.   We can get the mouse to move to a designated screen coordinate and move a slider but since coordinates change and slider positions also change, it would not be too reliable.   I could probably set something up but would have to license Adobe to do that as we at Bome do not have licenses on ever piece of software out there.  So if you want to give it a try, you can look out your controller output for a given knob of slider and define what MIDI it generates and what mouse or keyboard action you want to perform, I can help you with that but I can’t test it.

Example:

When I start moving my slider that puts out CC1 on channel one, I want the mouse to go to position x 58 y 23, then click and hold the left button and then drag it to position x 80 y 23.  I want it to release the slider (mouse up) after 3 seconds of no movement of the slider.

As you can see, this probably would not work for all values you want to set so here would be another example

I want my mouse controller Cc1 to move mouse left and right on my screen as I turn the knob left and right respectiely. I want my mouse ocntroll Cc2 to move the mouse up and down. I want button Note 3 down to click the mouse down and when I release it to unclick the mouse.  (Essential making two knobs and a button to control  the mouse instead of useing the real mouse.

There are already examples out on the board for the second scenario above, if that is what you want. Ultimately if you want a piece of software to reliably use a MIDI controller, the software should be MIDI enabled.

There are a lot of other things we can do with non-MIDI software but most of everything that is anywhere close to reliable is emulate keyboard shortcuts.  I’m pretty sure, we have done brightness and contrast and there is likely even project files we can find (albeit, probably not with your controller so we would have to redifine the inputs that your controller generates.

Let me know how you would like to proceed.

 

Steve

bome@sniz.biz

Independent Bome Programming Specialist

Bome Q&A moderator

 

Marked as spam
Posted by (Q&A Forum: 27, Answers: 1892)
December 19, 2017 4:15 am

Just looking at tutorials I did, the only thing that looks like it is MIDI enabled in Premier Pro is the sound engine. I did this tutorial to show how Bome could emulate Mackie control but I don’t think it is what you are looking for. I believe the tutorial references the project file if you want to give it a try. I actually had to rent the software to put this tutorial together but there was enough user demand to justify the cost.

https://youtu.be/P1eti-F5xmE

( at December 19, 2017 4:24 am)

Think I understand more or less… To have the lowest number of steps to do, let me know if this is possible: for a specific slider on the lumetri panel, can I set on the midi controller 1 pad as the left click of the mouse on the specific point of the screen where the slider is, and then 1 knob to move the slider left or right?
And, not to constantly hold down the pad while I’m using the knob, can I program the pad to maintain active the left click for “X” seconds and/or until I press another pad for another slider?

Also, I’m a little confused about a thing: programming the midi controller as if it’s the mouse, this means that the controller actually control my mouse over the screen? Or is it a sort of additional “virtual mouse” apart from the real mouse? So that I can use both the real mouse and the midi controller togheter, and not one at a time.

Thanks for the clarifications!

( at December 20, 2017 7:05 pm)
0
Private answer

Hi, if there are not keyboard shortcuts, the only option you would have is to use your MIDI controls to move the mouse but I doubt if you would get much more benefit from a MIDI controller than an actual mouse.  I could not see anywhere where you could assign keyboard shortcuts to various Lumetri controls and the control panel looks quite complex, so I doubt if you would even have enough keys to define all of the parameters it provides.

If you want me to show you how to make a given knob move the mouse or button click the mouse I can do that but again, it may not be any more efficient than using the actual mouse.

Steve

bome@sniz.biz

Independent Bome Programming Specialist

Bome Q&A moderator

 

Marked as spam
Posted by (Q&A Forum: 27, Answers: 1892)
December 18, 2017 12:39 am

Note, if there area limited amount of controls you want to control externally, it is possible primarily if they are sliders and always on the same place on the screen. We could program a knob to move the mouse to a given location on a screen and a button press, with a knob to drag the slider.

( at December 18, 2017 12:53 am)

Ok, I don’t necessarily need to control externally all the parameters of the panel, so it’s intresting the possibility of programming a knob as if it’s a mouse to control the sliders of a given area of the screen, but it seems a lot intricate, especially for the fact that I couldn’t actually use the mouse to move between the clips on the timeline, for example, and use the midi controller on the Lumetri panel at the same time; also I have to steadily pay attention not to change the area of the screen where the Lumetri panel is located throughout the entire color correction/grading process…

But if this is the only way to do that, I don’t know, because there are external controllers specifically made for Premiere/editing software (such as palette gear, or tangent ripple) that can automatically control those Lumetri parameters simply assigning them to the hardware device, so I wonder in which way they can do that, and if we can replicate it on a midi controller… What about that? 

Thank you Steve for the support, really appreciated!

( at December 19, 2017 2:22 am)