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

Reply via email to