Midi Controller for Darktable

I uploaded a new release of the module for darktable 3.0.1 here [WIP][RFC] Add support for MIDI controllers mapping to sliders by dterrahe · Pull Request #3722 · darktable-org/darktable · GitHub

It now supports note keys and does not require external programs so is much easier to configure. It comes pre-configured for x-touch mini and BeatStep.

@beachbum and @Alex_Davidson if you can send me the midi codes that the LoupeDeck or LoupeDeck+ send, I can include an example default template. You could use Pocket MIDI for example. Clearly indicate which key-presses, knob turns (left and right) and knob presses generate which codes. Also give the exact name (including capitals) that they are identified by in Windows MIDI.

2 Likes

Is the Loupedeck even a midi device?

According to the post by Aurelien above ( Midi Controller for Darktable - #84 by aurelienpierre ) that is what he was told by LoupeDeck. But only LD and LD+, not any newer models.

1 Like

I’m glad to help! I have the program loaded up, but before I get started, could you clarify what you mean by “exact name that they are identified…”?
As far as I can see, I press a button and it just shows a code in the midi monitor window. I don’t see anything in the midi output monitor or the system exclusive window.
I wanted to ask before doing a bunch of work and finding out it’s useless because I didn’t enable some setting somewhere

Edit: If anyone else knows what he’s talking about please let me know, I’d like to do this tonight since I’m available now but might not be available later on

Thanks Alex! With “exact name” I just mean the name the MIDI system uses to identify the Loupedeck or Loupedeck+. So that’s simply the devicename you selected under “InputPort”. Including the correct capitalisation.

You don’t have to edit the data from MIDI In Monitor too much; I’m happy to see a header with a list of buttons or knobs and then a list of codes that you get when you turn and press them in the same order. So it would look something like:

D1-Contrast-Exposure-Clarity:
BA 01 30
BA 01 31
9A 00 7F
8A 00 00
BA 02 21
BA 02 22
9A 01 7F
8A 01 00
BA 03 02
BA 03 03
9A 02 7F
8A 02 00
BA 04 01
BA 04 02
BA 04 03
9A 03 7F
8A 03 00
BA 05 01
BA 05 02
9A 04 7F
8A 04 00
BA 06 01
BA 06 02
Hue-Sat-Lum
9A 10 7F
8A 10 00
9A 11 7F
8A 11 00
9A 12 7F
8A 12 00
etc

Thanks in advance!

BTW have you tried to install the darktable module to see if you could map one of the knobs or sliders yourself?

Oh that’s what you meant. It seems obvious now, hehe. Anyway, I haven’t tried the plugin with Darktable yet but I’ll try that later today. For now I have all of the midi codes in this google doc along with a few notes.

The Hue Saturation and Lumination might not be super straightforward to implement and the functionality of the color wheels is a little strange, but I went into those details in the doc.

Many thanks Alex! Much appreciated.

I’ve put a very basic configuration file together here darktable/midirc-Loupedeck+ at da58603578b055521540af87d911578da8a9c1cf · darktable-org/darktable · GitHub

Please put it in C:\Program Files\darktable\share\darktable\midi
Also use PmDefaults to select the loupedeck+ as both input and output device (I’m not giving you a .reg file to do this “automatically” because I’m not sure if the “+” in the name would work).

Also pay attention to the last comment I put in my installation instructions about activating all modules.

There are some issues with fully supporting the Loupedeck with the current code. The color sliders cannot be used, because the “color zones” module doesn’t expose the values of the individual colors as sliders.

If that gets fixed, in theory, I could map the Hue, Sat and Lum keys to switch between different “pages” in my module. But then each of the keys and knobs that don’t change between pages will need identical configuration on each page.

For now, please give this setup a go and let me know what does and what doesn’t work.

Thanks!

Hi…I’m on Linux, for the longest time I was using Raw Studio, but when I changed distros, it was not available for that distro (Mint 18) so now I use Darktable. Took me a while to get used to the workflow and I kinda hated it at first, but now it’s growing on me. Probably not as good as the windows programs but it’s also free and open so there’s that.

Hello,
Is this script required for the Linux versions of DarkTable 3.8.0? I’m using a Loupedeck+ and, according to the documentation shown here, the Loupedeck+'s basic functions should work. But, I’m not sure if that’s the case for the Linux release. I assumed it to be plug and play for installs on both Ubuntu and Windows. My assumption seems incorrect.

The loupdecks should work out of the box, but without any keys pre-mapped. The input system implemented in 3.8 is completely different from the 2 year old midi prototype and uses a different configuration format. Nobody has yet submitted a template for the loupedeck(+), but it shouldn’t take too much time to set up the mappings for all of the buttons yourself, if you know the modules they should link to.

Going back to this old post; https://github.com/darktable-org/darktable/pull/12375 implements a feature specific for the bcr2000/bcf2000 that changes the pattern of the rings of indicator lights around the controller dials to indicate if a value is 0-100%, -x to +x or otherwise.

2 Likes

Pixels just gave me a “popular link” badge because somebody clicked on the link in this old post Midi Controller for Darktable - #93 by dterrahe
Just wanted to respond here that that information is completely outdated and irrelevant now because midi support in dt has been implemented in a different way since.

2 Likes

This may be somewhat confusing, since the 4.2 manual links to post #92 this thread:

Yes, I think it would be fine if a template was available, and instructions how to install this. I’ve strived to get my Loupdeck+ to function.

hannoschwalm at one stage indicated that he would publish what he had done to implement the Loupdeck+, but so far I haven’t seen anything in that same thread.

Hello,
@hannoschwalm published them in a post on GitHub (the links are at the end of the post)

greetings from Brussels,
Christian

Thanks for making me aware of that.
To make it easier to find this information/files, I think I will add those two files to the thread here on pixls.us where the topic was raised.

The manual could preferably also link to this info.

1 Like

The manual is separately maintained on GitHub. Everybody can contribute to it. Including you if you feel you want to give something back after being helped by others

This is not a finalized or “official” version, just what i am using since a while now with my loupedeck+ without any problems.

Here you find the relevant preferences:

The shortcut rc binding you should import:
loupedeck_plus.rc.txt (4.6 KB)

and some sort of manual
loupedeck_plus…pdf (168.8 KB)

Hope this helps you folks out there :slight_smile:

4 Likes

Yes, thanks a lot, @hannoschwalm, this was really helpful!

(I’ll post a link to this material from that other midi-thread were this was discussed.)

Oh that’s awesome! It makes me want to get a Loupedeck+.

(Now we just a similar preset to import for game controllers, which I —
and probably many others here — have. :smile:)

Have you tried visual mapping mode for setting up shortcuts (from a game controller or otherwise)? It should be very easy. And since a game controller has fewer buttons (without an intended meaning printed on them like the loupedeck) the likelihood that everybody will want to use them the same way is small.