AddRoutes (MIDI, OSC + Blemote, a nascent Android app)

Interesting question, I would say a game engine would be better suited for realtime performance. I am not aware of collision detection possibilities in Blender/EEVEE for instance, or getting easily data from physics. The later being probably not that obvious to do even with a game engine.

If your processing tends to be heavy the right way would be to use GLSL (which is C like language allowing to address the GPU directly) in the context of a game engine (they all allow that, and some like Godot have builtin OSC features).

EEVEE apparently doesn’t allow this directly but the shaders made with the node editor are (most probably) converted in GLSL internally.

The BGE was letting users to do some GLSL programming, I presume the UPBGE has preserved that well thought after feature.

To sum up, AddRoutes is not very well suited for VJ like performance, it can do that occasionally but has still to be considered as a preview facility in order to produce a non-interactive animation.

Sending from Blender using OSC/MIDI is currently less developed that the receiving side and the Blender python API allows to get properties values mostly. But I doubt it’s possible to get particles positions for instance. There is no real events system internally as you would find in a game engine or even in a web browser (actually I think there is something new emerging, I have to dig into that BTW but last time I checked the documentation was scarce).


First I must say that I was more than happy when I found out that your addon exists. It seems like a perfect solution for a lot of tasks in Blender, and since I already have a quite good MIDI controller, I could map a lot of functionality to it’s keys.

But, unfortunately, I just can’t make it to work :frowning:
I’ve read this thread, and a lot of documentation on your website, but I just can’t seem to find some simple step by step explanation how to make it work?
You know, something like “hello world” in programming world.

So, could you please help me with something like that? Simple steps which would I guess also help other users in the future since I can see in this thread that I’m not the only one who was struggling.

I would like to learn just one basic function. For instance, I have “play” button on my MIDI controller which send this message when I click it.


Could you please explain to me how can I map this MIDI message to “play” in Blender? Once I figure that, I believe I’ll know how to do all the other mappings.

Thanks! :slight_smile:

Hi, I’m having trouble installing Add-on on Mac. When I download the add-on the file comes in .py , when I install add-on, I can’t find it in blender. please help

Hello, I apologize for not being more present here and by email. I don’t have a proper graphic card for EEVEE, and the current shortage is a massive show stopper for me. I did kind of a break, it was welcome too, as development is a little bit hard sometimes (no life mode). Winter is gone for good and the mood is better. I am going to get back on this project. :slight_smile:

1 Like

I can make it go for a project, but I want to leave it permanent as a stroke control:

But I really don’t understand how to do this.

1 Like

Solved :grinning:

1 Like

This is suddenly broken for me unfortunately. When I try to enable the addon I get the following error:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\modules\", line 351, in enable
    mod = __import__(module_name)
  File "C:\Users\x\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\AddRoutes\", line 56, in <module>
    from . import data
  File "C:\Users\x\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\AddRoutes\", line 32, in <module>
    from . import g_vars
  File "C:\Users\x\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\AddRoutes\", line 22, in <module>
    import rtmidi
  File "C:\Users\x!\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\AddRoutes\rtmidi\", line 4, in <module>
    from ._rtmidi import *  # noqa
ModuleNotFoundError: No module named 'rtmidi._rtmidi'
pip install rtmidi