I wasn't sure where to post this idea, but here goes...
I just saw this today. An open source app (midi2lr) that lets you control LR via a midi controller. The obvious benefits are that you can have a hardware or virtual (think IPad based) device with dedicated analog controls (sliders, buttons, toggles, etc.) custom tailored to interact with AP.
Hmmm.... this is interesting... we approached another company that made specific controllers for photo-editing software a while ago and nothing came of it, maybe we could do something ourselves to enable MIDI controllers instead?... We'll have a chat in the office about it when we get a minute - thank you! :)
@Happy Kitten: Glad to hear this may be something of interest to the team. It easily could be an additional SKU complementing your other products. I'd definitely be interested in contributing to a MIDI2AP open-source project/effort. Could your test harness (which I assume is API driven) be extended/re-worked to facilitate a quick prototype/POC?
I just found out about MIDI controllers being used for Lightroom, and that would absolutely get things done faster. Plus I am feeling wrist strain more and more after hours of using a mouse every day so that alone would be worth the investment for me.
The full Resolve control panel is $30k, but there are cheaper and less space-consuming panels, like the ones from Tangent, or Blackmagic Design's own recently released Mini and Micro panels, which come in at roughly $3000 and $1000 respectively if I recall correctly.
They are all centered around trackballs for a traditional three-way Lift/Gamma/Gain color corrector, which Affinity currently lacks, but it would be a very useful feature even without a control panel, so it would be worth adding anyway.
This is the one thing that stops me using Affinity Photo for everyday use. My workflow with Lightroom controlled by the Native Instruments Maschine is so fast and intuitive that I can't leave their horrid pricing structure. Ironically Adobe didn't even invent it.
Yeah, 0-127 would kind of defeat the object. I was thinking about the midi controllers these days that 'endless' knobs, but then they would still just max out to 127 once you'd turned enough, then any further turning would do nothing :l
There shouldn't be an issue with MIDI value ranges. You can check out this link on midi2lightroom.com for a detailed explanation. The gist is that the interface controls the settings based on the type of "function" being mapped. Control settings/values are user-definable so can map to -M to +M as needed. The software interface also sets the controller's value/knob when switching between photos, ie. syncing knob's value auto-magically to match the photo's current values.
Not having any detailed knowledge of the midi interface/specs, I can't speak directly to your question of 128 value support. However, it would seem the actual resolution supported is greater than 128 discreet values based on actual usage. As Dan Moore writes, "the difference now is that midi controllers like the X-Touch Mini use encoder knobs which turn indefinitely and use an LED fan to indicate value. When connected to Lightroom using Midi2LR the encoder knobs update from photo to photo based on the given property." Effectively, using midi2lr and Behringer X-Touch Editor (PC only), one can set arbitrary value ranges: 0 to 100, -100 to 100, 0 to 16,387 with step/scale values. The step/scale effectively controlling the "sensitivity" of the knobs. Since the knobs turn indefinitely the mapping software controls the range of values being transmitted.
And then buy a bunch of buttons, knobs and rotaries and build your own controller, just like you want it! All it requires is that board, wires and then wanted buttons and other parts. Not even soldering is required (if someone is so afraid about that).
All it requires is that Affinity Photo would recognize a normal USB joysticks with 8 analog axis, 32 buttons / 16 rotaries and even one 8-way hat. And have support to have multiple of those devices (not just one).
Hmmm.... this is interesting... we approached another company that made specific controllers for photo-editing software a while ago and nothing came of it, maybe we could do something ourselves to enable MIDI controllers instead?... We'll have a chat in the office about it when we get a minute - thank you!
I'm also an LR user who would like to switch to Affinity Photo and one of the reasons I did not do it yet is an ability to use MIDI controller. I'm using Behringer Xtouch mini and I must say it is 2-3 times faster with the controller to edit photos in LR. It would probably be even more when using it on a daily basis.
Currently, a simple aftertouch action in terms of fading the pressure in and out will have me selecting three points along the action (start, maximum, end). Then I have to delete the selected point so that I can recreate the action with a curce - without the visual reference I just had to delete.
(Or can I use one of the MIDI plugins or some kind of input transformer to remap controller to aftertouch even dynamically? Then I could keep the meta aftertouch controller in the automation for future editing, that would be huge!)
Does your setting actually work? I looked in the 13 manual and in suggests that the line Main Value Use Subtype should be the other way round:
Subtype Use Main Value
Well, I guess it is a matter of perspective which way it has to be done.
Hi, Im a KM beginner and new here. Thank you very much for your help in advance.
I want to speed up my picture editing in capture one 20 on MacOS 11.5 by the Arturio BeatStep MIDI Controller.
Many parameters such as brightness, contrasts etc. can be controlled directly via shortcuts in Capture One. So this is easy to control with KM: Take a MIDI value by turning a knob and simulate a key pressing which will e.g. increase brightness by 0.1.
But for many parameters like Hue, brightness and saturation of individual colours there are no shortcuts in Capture one 20.
Is here anyone here who knows about capture one '20 scripts?
You seem well aware of the first way to control or automate an app, which is using keyboard shortcuts that the app builds and documents in its menus. Most apps are good with this, but even Apple apps sometimes force you to move and click the mouse to do things (eg, Find My.)
The second way to control or automate an app is using AppleScript. Most apps have a mechanism that allows users to control the app using AppleScript commands. But as with keyboard shortcuts, many apps are missing some of the methods needed to control the app this way. In order to see how much support your app has for AppleScript, you can check that yourself by using a macOS app called Script Editor and opening the application file itself in Script Editor. Since I don't own the app in question, I can't do this. And even if I had the app, I'm not very adept at writing solutions using AppleScript.
The third way to control or automate an app is using KM actions which read the screen, analyze the screen's images or text, and simulate keys and mouse movements in order to automate the things you want to do. This is usually a complex methodology, but when it works, it works. I do this all the time to solve problems. For example, on Saturday I noticed that the Apple Find My App doesn't support either the first or second approach for controlling it, so I wrote a KM macro that reads the screen, clicks on it, and sends me the text of my friend's addresses to my iPhone via SMS. I had to account for the position of the Find My window, the locations of my friends' names in the sidebar, and the location of the inspection window on the right side when it pops up. It sounds complicated, but once you know how to do it, it's not that hard.
One thing you haven't indicated is how you perform the requested action right now. Do you use the mouse on the screen to achieve this? Are you manipulating a control on the screen? Can you find a video online (or can you create one) that shows how you are currently doing this?
Thank you very much @Sleepy and @notsteve for your fast and helpful replys!
I have attached a screen video. There you can see which values I want to influence with KM.
On the video it is the brightness for blue, as an example. It would be great if a macro could increase or decrease this value for the brightness of blue by 0.1.
The controller has infinitely rotating knobs. If I turn the knob to the right, the value of the knob goes to "127", if I turn it to the left, the value goes to "1". Otherwise, the value is "0". It is as if I press a button. You can use the turning of a wheel as a trigger for KM. I tested it and it works fine.
I think you said you wanted to control the C1 software using the ABC hardware (please permit my use of acronyms.) But then you also talk about controlling C1 with KM. So I'm still trying to understand the problem. Or maybe there are two independent problems here.
Since C1 has robust support for AppleScript, then I probably shouldn't spend time creating a screen/mouse type of shortcut for this problem. However after looking at the screenshot he provided, it certainly looks doable, both easily and reliably.
The first thing I noticed is that there are a series of ten coloured blocks directly above the slider and number boxes. That would allow the KM action "Find Image" to reliably find the location of these elements on the screen (or in the app) at any time, and with high reliability. The second think I noticed is that there are three text boxes below and to the right of this element. In my experience, Monterey would have no problem using OCR to read these values with perfect accuracy (maybe even the KM OCR action would work.) Once the values were read, it would be quite easy to use the KM mouse click action to place the text cursor inside the text boxes, select the text, and change the value.
AppleScript always has 100% reliability, while my approaches are usually only 99% reliable and often depend upon things that AppleScript doesn't require like having the control elements visible on the screen. For example, if the window was half off the monitor, my method wouldn't work at all.
ff7609af8f