Green frame capture problem and Outgoing mouse settings for DaVinci Resolve specific control types

Hi,
I got two questions:

  1. When I use the inject event capture button, the green frame that appears just locate itself around the main window of the destination application (DaVinci Resolve, NI Massive or Affinity Publisher and possibly many other applications) and does not allow me to position the green frame on any controls of the destination application. Could you please explain why is that and how to solve this problem?

  2. Supposing that there is a solution to question 1, which Outgoing mouse settings I have to use in Bome translator software to capture the 3 specific control types in DaVinci Resolve highlighted in yellow in the picture below?

Thank you.

Hi, and welcome to the Bome Community!

The areas exposed for injected events (the green areas) are defined by the developers of the application (in this case Davinci Resolve) so if specific controls are not exposed individually by a green area, you cannot use injected events. You can only define to the level as designated by the green areas, if any.

The most common recourse most people use in this situation is to set the application to a fixed area on the screen that never moves and then calculate the mouse location of each desired control from there and use a mouse action in MT Pro to navigate to that area.

Once you know the location of each of the controls (you can do this by setting an outgoing action of mouse click and then clicking ‘capture’ then clicking the desired control), then any you can use that captured position for future mouse actions.

mous-click-position

Video Demo - No sound

Steve Caldwell
Bome Customer Care


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

Hi Steve,
thank you for the admirable fast reply to my question, and this certainly adds to the overall quality of your product.
I understand you point when you say that ‘the areas exposed for injected events (green areas) are defined by the developers’. However it puzzle me how comes that hardware (or its driver) like the AKAI APC 40 manages to access those areas (see this video https://www.youtube.com/watch?v=7S03SN0GKeU&t=1471s at timeline 32.19). I won’t like to think that the only possibility to properly accessing those areas by injection means (without using instead the ‘fixed area on the screen that never moves’ system) is to use the AKAI APC 40 or similar hardware/driver. The ‘fixed areas’ system is not ideal because there is software that dynamically creates parameter areas locations and depending by the options chosen, those parameters will be located in different vertical positions.
So, could you please bring light to the mystery of how the AKAI APC 40 manage to access those parameters and why is not possible to have the same capability into Bome Translator? Thank you.

Hi Steve,
I tried this, and does not work (the little horizontal double arrow as per Video demo you attached now also appears). I got the midi input activated (open) in the project window, I got the midi message captured and loaded into the Translator and I got its midi message coming-in in the Event monitor. Could you please let me know if perhaps a step is missing from the procedure? Furthermore, your demo seems to apply only on value fields (Center). How to go about the horizontal slider (Size) and rotary encoder (Angle) of the destination software? Thank you.

In the example, he is accessing a VST plug-in of some sort which uses MIDI in messages. Davinci Resolve does not support MIDI In message except for Fairlight and those are mapped to Mackie MCU or HUI MIDI messages only.

Finding the location on the screen will apply to any control type. You click the location and the mouse position is captured as shown in the instructions.

For MIDI capture, please make sure you have capture the exact incoming message you want by clicking it in the capture window. Please post an example of your incoming message that you are using to click the location. You can turn on the Bome MIDI Translator Log and check MIDI in to we can see what MIDI is being sent.

Also please search this board for ‘Davnici’ as there are many other examples of people that have used MT Pro to do various things in Davinci Resolve.

Steve Caldwell
Bome Customer Care


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

Thanks Steve,

That explains very well the mistery. Well, what can I say, perhaps you might want one day decide to release some software specific scripts that would offer the same possibilities but that interfaces with Bome translator. That at a reasonable and affordable additional cost or as added value to Bome translator :slight_smile:

Hi Steve,
I found what was causing the problem and from the input and output side everything works technically fine now, with the exception that on the destination software I am just left with the field selected and activated (red rectangle in the picture enclosed, Center X) but no possibility to change the field value. Why is that and how do I solve it?

You might be able to use a scroll wheel output to move the number up or down. That would likely be the easiest. If you want to actually enter text, it becomes more complicated. I’ve done this before and there are some examples out on the forum. Basically I take the CC number value and convert it to a series of output keystrokes to put in the text box.

Steve Caldwell
Bome Customer Care


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

I did a quick test and scroll wheel doesn’t work but you can do a series of mouse actions that result in a drag operation that will increase or decrease the number.

Steve Caldwell
Bome Customer Care


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

I haven’t researched the API and am not sure if Davinci Resolve has one. Bome Corporation seems to stay awy from writing application specific interfaces and sticks with the more generic. It would probably be appropriate for Davinci Resolve to support MIDI as beyond the limited support they have for Fairlight. Then again their software is free so maybe they don’t want to invest too much time on it.

Steve Caldwell
Bome Customer Care


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

Hi Steve,

DaVinci Resolve seems to have an API : DaVinci Resolve API · GitHub

Pity if Bome Corporation is not interested to release application specific interfaces as I am sure that there would be a huge interest for it and even increase Bone Translator sales to a wider user base.

Not sure if DaVinci Resolve will provide full MIDI support, not because it is free (there is also a paid version of it) but eventually because they might have interest to keep it as it is in order to (or try to) sell their expensive interface hardware :frowning:

By the way, from your side, it would be great if you could try to push the idea of application specific interfaces to Bome :slight_smile:

Thank you for your assistance an interest in this subject.

Hi Steve,

Could you please provide more details and possibly a practical example for the implementation of this.

Moreover, I am also trying to implement a more ‘expanded’ version of this for which I need some additional help.
This is what I would like to do:

  1. I need first to capture the current numeric field value (Center X) form the destination software into a variable (local or global?).

  2. Then I have to increase or decrease the captured variable value.
    a) To do this, I can add/subtract a value unit to the previous variable.
    b) The increase/decrease of the variable unit value to be set to ‘continuous’ and will the depend by the fact that I keep or not pressed the relative midi key.
    c) The ‘speed’ of the continuous value increase/decrease to be controlled by an additional midi button or slider.

  3. Then I have to output/write every time the increased/decreased updated value into the field of the destination software.

Would you please suggest an efficient way to achieve all of the above and possibly/ideally provide some practical examples. The solution to this case would also apply to many other similar scenarios therefore I think it is worth to clarify it properly.

Thank you.

Bome MIDI Translator cannot capture screen data. However the below might work for you.

I have two knobs programmed.

The first knob moves to a fixed position on the screen for the Zoom parameter and as I rotate right or left, it will increase or decrease the value.

The second knob moves to a different fixed position and then drags the same way.

This video demonstrates it in action.

In my case I’m using relative encoders(knobs) that send a value of 65 or more for right movement and 63 or less for left movement. If your controller send different values, the programming of the movement will need to change.

Attached is the project file I used for the demonstration.

Relative-to-Mouse-Drag-Davinci-2022-03-30.bmtp (5.1 KB)

Steve Caldwell
Bome Customer Care


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

Hi Steve,
I have been through your project ‘Relative-to-Mouse-Drag-Davinci-2022-03-30’ and I got some questions:

  1. With regard to Translator ‘Move Encoder Set Watchdog’ I think to understand that its functions are:
    a) To run once one of the knobs is moved.
    b) To activate debug mode (if needed) by setting manually global variable zz to 1
    c) To create a Timer action called ‘Watchdog’ with a 1000ms delay, cyclically as long as knob movement is detected.

  2. With regard to Translator ‘Watchdog - Mouse Up’ I think to understand that its functions are:
    a) To perform action ‘Mouse up’ following call after 1000ms from outgoing Timer action ‘Watchdog’.

Please correct me if the above interpretation is wrong or if it is worth to add some more details.

In any case, with reference to the above, my questions are:

1c) Why do we need to create this delay?

2a) What if we keep rotating the knob more than 1000ms? In this situation does the ‘Mouse Up’ action still gets performed at 1000ms effectively interrupting the rotation of the knob even though for a fraction of time? If so, won’t make more sense if the ‘Mouse Up’ action gets performed only if I stop turning the knob?

2a) Instead of using the Timer trigger (Watchdog) for Translator (Wathcdog-Mouse Up), could we not have used instead just a ‘Knob not turned’ or ‘turning knob stopped’ input trigger (and if so how to create this trigger)? Also why this system would be eventually less efficient than yours?

Thank you.

You need to wait a period of time before triggering the mouse up otherwise it will interrupt what you are doing with the knob.

The delay will extend by triggering again if you are still turning the knob, thereby disabling the mouse up action. There is no ‘event’ for stop moving other than using a watchdog timer. You can change the delay to shorter if you think 1000ms is too much. If it is too short, it may indeed trigger mouse up if you pause turning the knob.

Your assumptions are correct.

Steve Caldwell
Bome Customer Care


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

Hi Steve,

that clarifies pretty well the most obscure part of your sample project and contributes to understand better how Bome translator works.

Thank you. :slightly_smiling_face:

Hi Steve,

While I was setting up my Maschine MK2 knobs to “relative offset” mode, I come across a behavior that I did not expect, which is when I turned the knob the MK2 was outputting on its screen only 2 values: 0 and 2 !

Checking the above MIDI output on Bome translator it turned out that those values were actually 63 and 65.

I thought initially there was something wrong in having only 2 values as output from a relative offset mode until luckily I came across a wonderful post from you on this thread Translating absolute MIDI CC into relative -1/+1 values which explains in deep and very well, beside other things, how various types of relative encoders work.

That has been a godsend for me and I wish to thank you for that excellent post and to mention solution link on this thread so that will be easier for other users to find it.

Take care.

Thank you for your kind words!!!

Yes, it is strange that you cannot find out this information easily. I’ve learned it through the school of hard knocks (experience).

I’m glad things are working for you!

Steve Caldwell
Bome Customer Care


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

Hi Claudio,
thanks for that interesting discussion and the nice words!

2 cents from me:

Yes, I fully understand that this could be a natural area we could diversify into. One hurdle for us is actually our commitment to quality and customer service. If we would release, say, a specific solution for Davinci Resolve, we’d want to need to acquire know how with that video software, so that we can create a suitable solution, and provide the customer support for it. Unfortunately, at this time, we don’t have the man power for all of that.

For now, we stick with what we know and we see as a core strength: build the tools and let the customers work on actual solutions.

We do offer an OEM version of a runtime of MIDI Translator Pro (MT Player): if a customer wants to get into the business of marketing a specific solution created with Bome MIDI Translator Pro, we can enter a license agreement. One example is MIDIGrade, where the customer even wanted the user interface fully customized. It’s actually a MT project file for using a MIDI controller for color grading in Davinci Resolve.

Good find! We also provide a video tutorial for that:

Hi Florian,

it is a honor to have your participation in this thread, it looks like I manage to attract your attention :wink: :slight_smile:

Thank you for:

  1. the link to the video tutorial
  2. mentioning one of the solutions to a pre-made mapping for DaVinci Resolve.
  3. clarifying your development policy.

With regard to the above points this is my reply:

  1. While I must give credit to MIDIGrade’s creator to have done an admirable job with the mapping, it looks to me that (at least for MAC users) the previous mapping solution I mentioned (the one for the AKAI APC 40 https://www.youtube.com/watch?v=7S03SN0GKeU&t=1471s from tachyon-consulting.com) is more powerful because:

a) (corrected post): It allows to customize DaVinci Resolve ‘Suite’ parameters (excluding FUSION page parameters) to any MIDI control, not just Color correction/grading parameters. Depending by the DaVinci page/environment characteristic, to control parameters it uses sometime screen coordinates (for example in the Color page because the page where the controls are is mostly static) sometime various programming tricks (where possible and for less static pages). Because Fusion environment is dynamic and the most/completely ‘closed’ compared to other DaVinci pages/environments, it is not possible to use screen coordinates or any programming tricks to control his parameters. Please refer to http://tachyon-consulting.com for further details.

b) The software required is currently less expensive, about 100 Euros (and the fact that the cost of MidiGrade jumped from the initial 49.95 Euros in the year 2016 to the the current 224 Euros is definitely exaggerated and excessive. Even with an eventual discount which brings the cost at 145 Euros it is still a big jump).

c) You can get one of the hardware required (the AKAI APC 40 MK1) on the second hand market for less than 100 Euros.

d) Therefore considering all of the above points you can get a much more versatile solution for less than 200 Euros.

  1. I understand your policy and current constraints and I hope one day you will manage to diversify and offer a versatile DaVinci Resolve scripting solution that works on the ID of any of its parameters and allow mapping on any MIDI device (and eventually as well on computer keyboards). I am not aware that this sort of solution already exist and I am wondering (from the the development point of view) if a Midi Translator API would be required or not to achieve that. I am sure you could answer to this question perhaps clarifying as well the best way to interface a DaVinci script with MT.

Additionally, since tachyon-consulting.com solution seems to be available only for MAC, won’t be a good idea if you would contact the developer and suggest to come out with a solution for Windows using your software MT player?

Looking forward to your reply.

Thank you. :slightly_smiling_face: