Davinci Resolve with Arturia Beatstep

Hello together,

I’m completly new here inside the world of MTP. The reason why I’m here is, that I want to control DaVinci Resolve with an Arturia Beatstep as well. So first I feld a bit disabointed becaus it seems to be not possible to access the attribute fields inside of DaVince as “Windows inject events” … then I found this tread. I downloaded the latest RESOLVE.bmtp file and … well something, but not the expected happend.

So what do I have to do to keep this project working for me? How do I have to configure the Beatstep-Device?

I use DaVinci Resolve Studio 17.2 with an 4k monitor (seems to be importend, because I found some coordinates inside the code) at a Windows 10 machine.

If someone would help me it would be greate.
Thanks for the done work and best regards
Steffan

Hi Steffan and welcome to the forum!

There are many users that use various MIDI controllers with Davinci Resolve.
Most of them convert MIDI message to either shortcut keys, mouse movements, and mouse clicks. If there is a specific project file that you downloaded and want me to help you with a specific function, I can help here as part of free Bome support.

I have Davnici Resolve free version on both Mac and PC but I only use them to support Bome Customers. None of my screens are 4k monitors though. I do happen to have an Arturia Beatstep I could work with.

Let me know.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Also note that the Beatstep is programmable so you need to review the past posts to see how it was set up for the last customer. It won’t work if you don’t have your controller set up the same way

Hi Steffan Hi Steve! Sorry for my late answer!!!
If U’re still interested in the subject I can give U details about it - a little resume (and in the end I have to ask some help from the Master Steve for some minor issues I’m having right now)
Let me know my friend

all the best

I’d be interested in knowing what issues you are facing. Maybe I can help.

Steve

1 Like

Hello thanks for answering … I’m still interessted in any information about controlling DaVinci Resolve with the BeatStep controller from Arturia. Currently I’m working on an implementation oriented on the Mac-Stuff from Tychyon

Best regards
Stef

Hi Stef,
As U can see scrolling down over the post I made some months ago I’ve reached my goal using the arturia beatstep (version 1) with resolve davinci studio.
I’m on MAC, and thanx to Steve I’ve understood a little bit more about midi programming (more or less :))
I’m attaching my last file with BOME: thanx to it I can command the colour tab (I need most for the colour page) with the beatstep. Let me know if it does work for U.
p.s. I use 3 monitors, 1 mac where there is the timeline and the main page of resolve, a second monitor with the scopes and a third one as a reference; the bome is open in the reference monitor, and the main davinci window is full screen (this because of the exact mouse position).RESOLVE_2021_BMT_june.bmtp (52.0 KB)

Hi Master,
yes I’m facing some issues.
1 - when I’m rotating the knobs of the beatstep I often found the cursor not controlling the wheel - to the left or to the right - but somehow it’s like lays to digit inside the button (in the picture). Is there any way to avoid it? It happens once every 10 times I’m working with the knobs. (first picture I’m attaching).
2 - Is there any way to move some slider up and down (and not only the knobs to the left and right)? I’m trying but I always I’m wrong! (see figure 2) it seem I've to digit Schermata 2021-06-03 alle 19.53.38
Thanx a lot dear Steve!!!

I forgot
Of course if my file does work for U I’ll let U know which button command which tab

Hi,

thanks for the project and following informations. Today I have no chance to test it, I wil do this at the weekend.

The problem you discribe is similar to my behavior. I think that one important point is, that you have to place the mouse pointer not on the field, but close to it. Because I use a 4k display, I choose a position of around 50px left from the field. I expirence is, that the change of knobs sometimes results in a double click so that the current parameter will be reseted. So I have to gamble with the delays of mourse release, positioning and press (again). An other import thing is the feeling when you turn a knob an the change to another … it have to feel … good - if you know what I mean.

Tnaks for your support
Stef

1 Like

I haven’t experienced this, but then again I don’t have a 4K monitor.
It is also important that you do not bump another control while the mouse is in drag mode. You can do this by using a global variable to disable all other controls so that the mouse movement is not affected by them. With that said, I’m not sure if this is the problem, however.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Hi and thanx 4 the replies,
@Stefbert Yes, the problems U’re talking about are the same as mine. I’m going to write down a sort of resumè to let @SteveC fully understand these issues we’re facing and help us (I hope):

  1. often the rotating of a knob results in a double click (and not, as ususal, toturn the wheel to the right or to the right) so that the current parameter will be reseted. So I have to gamble with the delays of mouse release, positioning and press (again). This happens when I’m on a knob independently from bumping another control, but I’m wondering if I can decrease the timing after I’ve dragged… maybe in this way this issue can be solved in a certain way? If U could help with the file I’m attaching, maybe also using global variables, it would be great… programming is a little bit out of my understanding… :slight_smile:
    note: this problem I’m talking about is really annoying 'cause it happens when I watch the reference monitor and not the cursor, and I find out of this issue watching the cursor (corresponding on a double click instead of dragging) so I’ve to rotate another knob to coming back to the dragging… this means I can trust too much not seeing the cursor and its behaviour, so it’s too much time consuming, the opposite of my (our) needs using this wonderful software;

  2. is there a chance to use the vertical sliders dragging up and down instead of dragging the wheel right or left (I guess the main problem here is that the cursor has to be not relative while dragging coming back in a neutral central position but it has to be exactly where I’m dragging the slider: can U help us master Steve?

  3. Stef writes: “An other import thing is the feeling when you turn a knob an the change to another … it have to feel … good - if you know what I mean” - Actually rotating a knob itself it never has a precise behaviour, so sometimes is too fast, other times too slow or jumps to extreme values I’ve to reset… and same thing turning on the other knobs - I tries different values combination but it doesn’t work good.

  4. I can’t find out how to use the main knob controlling the timeline, it only has control or nrpn modes, and never let me control anything.

I’m attaching a file in which there is also the dragging wheels tabs, so it’s the more clean it could be to let U (I really hope) to help me (Us).
RESOLVE_2021_BMT_june.bmtp (13.2 KB)

On Item 1, after reviewing further, if you are getting a double click, it is likely that you stop moving the knob for more than 1/4 of a second which will result in a mouse up. Either that or since you have multiple click up timers, you should be able to disable all but one. Leave translator 1.4 enabled and disable 1.9, 1.14 and 1.19. There is no need to have 3 of them as they all do the same thing.

Then set up an unused global variable for the click up delay and then change the delay timer of 1.3, 1.8, 1.13 and 1.18 to that global variable. Then you can alter the value of the new global variable and change the click up delay of all of the translators.

On item 2, it is best to not try and drag a slider as you never know the exact position to move the mouse to drag it. Your initial mouse position is very important.

On Item 3, there might be a setting on the Beatstep to not use acceleration on your knobs which will make the knob behavior more predictable. If there is not a setting for this then it might require playing with the rules of the drag translators to even out the movement behavior. This would take some experimentation.

On item 4, I’m not sure if the main knob is programmable, I would need to check. If it sends NRPN, we might be able to convert it to relative movements for mouse. I have to break out my Beatstep and the manual to find out.

I’ll break out my Beatstep a bit later today and let you know.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanx a lot dear Steve,
About disabling 1.9,1.14 and 1.19, I thought everyone control their click on the difference wheels…
U wrote: “Then set up an unused global variable for the click up delay and then change the delay timer of 1.3, 1.8, 1.13 and 1.18 to that global variable. Then you can alter the value of the new global variable and change the click up delay of all of the translators.”
Could U translate it a little more for a primitive man like I am? :slight_smile: if U could give me an example, Master.
Thank U a lot and thanx for the other tips.
best

Set your big knob to Relative# 1 like you have the others and it should work for you.

Set your Knob Acceleration to Slow and that should make the knob movements more predicable.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

I’m not sure which global variables you are using in your project and which you are not. You will need to figure that out. See this video on best practices that should help you keep track of your used global variables.

Assuming you are not using ha, using the videos above as a guide, set it up with a value of 250.
Then instead of 250 ms delay in the click up translators 1,2,1.8 and 1,18, enter ha instead of 250.

Once that is done, any time you want to change the click-up delay, all you have to do is change the value of ha and restart the project and then the timer will use the new value in all of those translators.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

So here is my current version. One difference is that I change between the different page within davinci via keystrokes and, because I’m visual oriented, I keep eye on the visual feedback thru the pad colors.

I try to organize the functions close to the implemation from Tachyon. So I analysed the video (https://posttools.tachyon-consulting.com/davinci-resolve-controllers/beatstep-resolve-edition/?v=3a52f3c22ed6) and learn about how he solves the handling of the beatstep with DaVinci resolve … most ideas are good, a few can be optimized.

Within my implementation, which is stil under construction and far away from beeing ready, you first have to rund the init sequence were I send some commands to the beatstep to have access to the function keys and be able to use all three colors. The init sequence will be started currently via a key command Ctrl+alt+shift+i … on a windows keyboard.

You can change between the pages with shift and pad 1 to 7 … the options are shown in magenta the current page is red. Well if you just start, there will be no current page. Actually I only begin to realize the color page and there only the primary wheels.

Import is that you have an extern midi loopback, because the color functions are handelt by note On command, send to a virtual channel, loop back (I use loopMIDI, an external programm) and then the note On command will be handelt by preset 8 LED Group Handler. The note command is just a trigger, the color information are transmitted via global variables.

The color page will be handeld by to presets … 3 and 4 …

Below are my settings for the BeatStep device …


Needed requisties:
loopMIDI … create with this tool an additional MIDI-Device, named ‘loopMIDI Port’, to use within BMTP
Arturia BeatStep Setup
Pad 1 : Note G#1 (20, 0x14), Gate, Global → Set LED 2C
Pad 2 : Note A1 (21, 0x15), Gate, Global → Set LED 2D
Pad 3 : Note A#1 (22, 0x16), Gate, Global → Set LED 2E
Pad 4 : Note B1 (23, 0x17), Gate, Global → Set LED 2F
Pad 5 : Note C2 (24, 0x18), Gate, Global → Set LED 30
Pad 6 : Note C#2 (25, 0x19), Gate, Global → Set LED 31
Pad 7 : Note D2 (26, 0x1a), Gate, Global → Set LED 32
Pad 8 : Note D#2 (27, 0x1b), Gate, Global → Set LED 33
Pad 9 : Note C1 (12, 0x0c), Gate, Global → Set LED 24
Pad 10 : Note C#1 (13, 0x0d), Gate, Global → Set LED 25
Pad 11 : Note D1 (14, 0x0e), Gate, Global → Set LED 26
Pad 12 : Note D#1 (15, 0x0f), Gate, Global → Set LED 27
Pad 13 : Note E#1 (16, 0x10), Gate, Global → Set LED 28
Pad 14 : Note F1 (17, 0x11), Gate, Global → Set LED 29
Pad 15 : Note F#1 (18, 0x12), Gate, Global → Set LED 2A
Pad 16 : Note G1 (19, 0x13), Gate, Global → Set LED 2B


Knob 1 : CC 1 , Rel 1 , Global
Knob 2 : CC 2 , Rel 1 , Global
Knob 3 : CC 3 , Rel 1 , Global
Knob 4 : CC 4 , Rel 1 , Global
Knob 5 : CC 5 , Rel 1 , Global
Knob 6 : CC 6 , Rel 1 , Global
Knob 7 : CC 7 , Rel 1 , Global
Knob 8 : CC 8 , Rel 1 , Global
Knob 9 : CC 9 , Rel 1 , Global
Knob 10 : CC 10 , Rel 1 , Global
Knob 11 : CC 11 , Rel 1 , Global
Knob 12 : CC 12 , Rel 1 , Global
Knob 13 : CC 13 , Rel 1 , Global
Knob 14 : CC 14 , Rel 1 , Global
Knob 15 : CC 15 , Rel 1 , Global
Knob 16 : CC 16 , Rel 1 , Global
Knob 17 : CC 0 , Rel 1 , Global

Stop : MMC Stop
Play : MMC Eject

Sequencer Editor … all disabled
USer Scale … all disabled

Controller:
Knob Accelerator = Fast (Slow(off), Medium, Fast)
Pad Velocity Curve = Full (Linear, Logarithmic, Exponential, Full)

Performance Data:
no special settings

Sequencer Data:
Step Size = 1/16
Pattern Length = 1

StefDavinciResolve4kv2.bmtp (47.4 KB)

thanx a lot ! :heart:

Hi Stef, I’m going to take a look on your file.
(I arranged the buttons for the different tabs too, faaar away to be complete… infact I found out the configuration did work for me on the color page and that’s was enough 4 me… Time to make a better job :slight_smile: )
all the best

@Stefbert
You should not be using LoopMIDI Port for both input and output. Unlike MT Pro Virtual Ports, LoopMIDI ports are really pipes so using the same port name for both input and output could cause MIDI loops and hang your project.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz