Controlling Curves UI in DaVinci Resolve with KM and Stream Deck or hopefully Stream Deck Plus

I want to control a UI panel in DaVinci Resolve (Color Grading Software).
Basically there is a panel for curves adjustments to the image.
I want to activate the Default anchors and then be able to grab them and move them. I would be manipulating 1 point at a time and movement can be restricted to up and down movements to begin with.
So grab a point, move it up or down, if I want to continue to manipulate the point it would need to be picked up at it new location and then moved.

Here's a video:

I could have up/down controls via 2 buttons or a dial (SD Plus - this would be great!) for each of the 6 default anchors. I think this would work well maybe be easier? Another option is to add the ability to bounce from point to point left or right.

I have a Steam deck XL, SD Plus and 5 button mouse with scroll wheel. I am not looking to buy any more eq.

Any ideas? places I should look or consider?

Have you seen this?

I own the pack and while it has a lot of great features, it has quite a few limitations.
They created there own plugin for mouse movement. It's implementation is rather good. Mapping screen locations to the stream deck command is as simple as position the cursor on the location and pressing and holding the input until a check mark appears.
The profile though does not have any kind of implementation as what I was positioning above. For curves they do have a solution for the Hue vs curves to a degree. on Hue vs Hue you can select one of the predefined color positions and then map the cursor to the properties at the bottom (hue input and hue rotate) and the dial will issue a mouse movement left or right with a return to original position. Nothing is actually interacting directly with the curve.

That having been said, it means there is no interaction with the primary curves panel I was referring to originally.
I assume this would require locating static UI elements, opening the menu and enabling the default anchors on the curve graph (can be done):

Then you need to be able to select one of the points on the line (that can be mapped):

Here's where I just have not idea....
Once the point is selected, I would need to be able to move it up or down using the dials or a button. One moved the cursor needs to find that point so that it can be continually adjusted.

I would need to be able to move between each of the 6 points, and be able to adjust them up or down with the cursor always finding where the point is currently. This operation can be divided into 6 vertical sections with up/down operators (dial or button) for each. Again the trick is the cursor finding the position of the point.

Obviously, I am not really speaking with expertise, but speculation, hence my creating the thread.

Ok, what about MidiGrade? If it actually interacts with DR via midi, then there might be something you can figure out. If not, identifying the nodes is going to be tricky to say the least.

I have heard of midi grade, but I just don't want to buy any more eq... I have stream deck xl, stream deck plus, KM, BMD Micro panel, BTT, I can't accumulate any more at this point. I appreciate the input though.

midi grade actually seems to operate similarly to the Sideshowfx profile&plugin. I do not ass a Primary curves implementation. I guess only the BMD mini panel can do it...

I wasn't suggesting you buy one; merely ascertain whether Resolve responds directly to midi in any way, with MidiGrade as a test case. Seems like it's not an option.

Always the default anchors, and only for up/down movement?

Not a DaVinci Resolve user, so I might be missing something, but there seems to be a complete lack of keyboard shortcuts for Curves operations. Unless you know of some you'll be reduced to image detection and simulated mouse drags.

You might be able to use a Found Image Collection, based on careful screen shots of a selected and not-selected node and limited to the Curves screen area to limit false positives. Because you are using two images you'd then have to re-sort the Collection to give you left-to-right anchors. Then, "For Each" in the Collection, click-drag the item's mid-point controlling that with the buttons.

Or you could do six separate image detections, each in a thin vertical slice of the Curves area, and work on those in turn -- that would depend on zero left-to-right anchor movement though.

I'd start by testing how reliable the image detection is going to be. You'll have to change the detection area to suit your setup, and might have to re-do the images in the wells, but this is working for me in a (very) simple test case:

Curves Anchors Test.kmmacros (20.5 KB)


Make any adjustments needed, make sure "Curves" is visible on your screen, run the macro -- with luck it should move the pointer first to the top corner of the selected anchor (if any), then left-to-right across the other anchors with a short delay between each move.

Identifying the node position is one mountain to climb; moving it is another. I had a go a few days ago with a simpler idea. Place your mouse over a node, then hit a hotkey to move it. If multiple moves are performed within one second, the mouse button isn't released.

The problem I found was that click-and-hold was finicky between movements and would often drop the node prematurely. This is why I was interested to know if there was a direct way to interact with the nodes.

Surely Blackmagic Design are aware that people want to use hardware controllers, but I couldn't find any info on midi implementation or otherwise.

I think -- and this only from a general read-around -- that part of their business model is "Resolve can be free/cheap, then we'll sell them a hardware controller".

1 Like

According to a blog post I read, MidiGrade stole the curves function from this product, which uses ControllerMate to achieve it.

I will check this out! Thanks for looking it to it and creating this. will report back asap!

Interesting. I'll look at controller mate as well. but it appears to be using a form od screen detection as well.

That will be a bit of a dead end -- ControllerMate worked via a mechanism (kernel extensions) that Apple has all but removed, for security reasons. The author said they won't be updating the software to suit (there's a link to that somewhere on this forum).

Fair enough. I see that. But am i wrong that, my original thought, that KM can accomplish the same this, the principal seems the same.

I have been slammed with work so i haven’t been able to experiment much, i still want to play with the previously posted macro/profile.

I update as soon as i am able.