Proposal - MIDI Input Support

I feel like I need to attach a second keyboard and assign there some different shortcuts, this is the only way not to mess the original shortcuts that I like. However this is impossible to do.

The idea is to create a convention on top of an existing one. I would like to ask generally if you find this a good idea and if there are any plans about supporting MIDI input option. Even if someone do not want to acquire a MIDI hardware for 50 dollars, could download an software MIDI controller in a phone or tablet for less.

By default, creating panels and menus might be a good idea but their usage is strictly limited to the mouse/keyboard input hardware. The idea is to boost productivity, I think that having an input deviced fine tuned to specific task makes more sense.

Do you find this idea good?

it can have its uses, have you tried tools like the Bome’s MIDI Translator Classic?

pardon my question, why asking? do you want to develop something in that area?

Thanks for suggesting this program, it looks like a good workaround to test this concept.

Generally, this idea is to have the joy of one-button-shortcuts, due to ease of use and speed.

For example here would be a very simple setup, but in most advanced setups you could do much better stuff. Also another important fact is that there might be exactly specific setups for project oriented work. For example in character rigs it’s very common that people create custom Operators and Panels to save some manual effort, but still, it’s not as effective as a controller.

At the final level, provided that you can use a controller with analog controls, you could do also much more stuff.

The best proof of concept I know are these, music or dj software that use such concepts of MIDI control.

ah well if the keyboard to midi one is to simple and you want a bit more sophisticated solution, you would need to put development time into it.

Some 3D artists already are using midi devices which they had to program to make it function.

Photoshop/Lightroom users there is this one available;

Below is just a repost of something i posted before, because i was thinking similar, but this works, for now, although i would love the ability to hook physical sliders and knobs to some things.

I use the roccat power grid app for shortcuts i use often, it’s actually really useful, i imagine it would be even better if i had a tablet, but even on my phone it’s helpful, you just assign the shortcut button to a button in there and press it on your phone screen.
Watch this from about 1:40 for a better explanation.

p.s. I’m not a roccat salesman :stuck_out_tongue: it’s just the best one i could find for adding extra buttons, i was originally looking for software where i could plug in 2 keyboards and map them to different keys.

Something similar could be built into blender as a plugin, that way it could be made mode sensitive, i.e switch depending on whether you are in edit mode, object mode etc, and display the relevant buttons on your phone screen. Seeing as most people have smart phones now, there’s no extra investment needed.

Agreed! Although I think Per’s example video is much better than the glorified keyboard blipbox. Being able to assign sliders, knobs and buttons easily would be fantastic, and as is mentioned in the video: these controllers can be had cheap!

I’m planning to do something similar to that at some point. It’s meant to be more gesture oriented than just buttons, and maybe include some “analog” widgets like sliders and spinners. I don’t think just adding more buttons would be all that productive since you can add like 5 times more shortcuts into blender if you do a sane remapping. Blender’s default layout is really inefficient. It’s actually pretty easy to do in principle, but making it easily customizable is going to take some more effort.

Hooking up a midi device might be pretty simple too. There are bound to be generic midi libraries for python, which will let you read a buttonpress and then you can run a blender operator based on the key id.

with web midi api this would permit to make html interface for blender

When using a device like that, do you generally have to look at the device when pressing the buttons? I.e. does it give enough haptic feedback so that you don’t have to divert your eyes from the screen? If you have to keep glancing at it, it would be considerably slower to use than a normal keyboard.

Yeah!! I was actually trying to code it a while back, i have a midi keyboard lying here, it would be awesome to use it in blender!

Hello, I have written for my own needs an addon that can read/write MIDI and map properties to various midi controllers. It is called AddMIDI and is currently working but still experimental and not totally finished.

I have another one that do the same thing with OSC.

Unfortunately they are a little hard to install because they rely on external python modules. They both need some polishing too.

But let me precise my purpose was not to control blender operators with MIDI, but it is possible to add this. In fact I am working on a third addon which does that using a USB keyboard (but this only for linux).

These are very good ideas mentioned, they might be OK to begin with. However I am a bit more positive about the MIDI protocol only because it would be very flexible.

That makes sense, because I am a “blind typist” as well I might prefer a device like this instead of a touch based.

I think a lot better solution would be to create named functions that read parameters over the network. That’s how you could write a separate MIDI message outputter and connect it to blender via network socket connection. MIDI in blender is such an edge case, but issuing commands over the network is not.