Hi there! :) I'm new here. I come from using LightRoom and I use a MIDI controller to adjust levels with it's sliders and trigger actions with it's buttons... I wanted to do the same with DT.
With the mac there I use the MIDI2LR program by rsjaffe. It has a screen where it shows which event the controller is activating (which key or slider you are interacting with) and then you have a list of available actions to be linked. Then you store the pairings list and install a plugin in LR to interact with the external program. It's really easy to use and you can keep different pairings for different file types if needed. I don't know how it works internally, but it's really pleasing to use. I see there are similar projects for GIMP (which has a MIDI input entirely developed) and others programs do too. I think it would really make DT a viable alternative to LR having this external interface implemented. Needed? Of course not but, once implemented, it would attract new users for sure! ;) I've found a way to capture and deal with the controller's events, now I'd have to map them with available actions on DT. But I haven't found anywhere these available actions listed. There would be two different action types: "Adjust X level to Y" and "Set X to Y". An example would be: "Adjust brightness to the dialed level (0/127 or 0/255 or any number of available levels)". and "Set White Balance to AUTO". Theses are the questions I have: 1.- Is there any direct API to deal with the actions to be done? Like setBrightness(x) or setWhiteBalance(x). I see in the manual we have the "accels" to interact with some of the actions I try to deal with... 2.- Do we have to be in the specific view for the accels to work or do we first have to move to that specific view using the "change view to X" accel? Is there any accessible var to see what view are we in programmatically? Something like getActualView(). 3.- Are the Actions listed on those pages all the ones that are available in the program? Is there any list of all the available actions? Is there any way to define new actions? 4.- What are the available ways to "interact" with these actions? How does the program deal with the buttons being pushed or dials / sliders values being modified? *TL;DR* How to link the MIDI events to the program actions? API, accels, other ways? Does it have to be coded in LUA or are there other langs available to interact besides simulating the key strokes programmatically? Are there any state vars accessible from the external program to know actual values like the actual view or the actual white balance type? Something like getView() or getWhiteBalance(). For example: How does the program deal with the "darkroom" -> "basic group" -> "basic adjustments" -> "exposure" slider value when adjusting it? Is there a setExposure(x) API call? Or how do we get the actual value for it to use it in conditional actions? If getExposure() > n then X else Y. TIA, Jaume. ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org