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

Ah, yes, that solved it somewhat, thanks! I can see the incoming messages in the terminal but not in the text or console windows. Anyhow, I also get an error message:

OSC - Receiving:['/blender', 1.0]
---> but something went wrong with route n°0, category: System

Will dig further.

Sounds so familiar : )

An OSC message is composed of two things, an address and a list of parameters. The address is usually the first argument of the message and is a string containing slashes / to get subaddresses, useful for routing. /W is just that, a string, it could be anything but must match the address in the sender’s message. So if you send an osc message with /W 1.0 from anywhere blender will be receiving a value of 1.0 in the route listening to /W address. Does that make sense? If not, just search for OSC messaging syntax.

My guess is that Project is specific to the current blend file you’re working on right now, and System will be to any project you work on. But I’m just guessing, I don’t really know.

Thanks! If I understand you, the letters after the “/” is basically a prefix sent by the app that is sending the OSC messages to blender. Is there a way that I can tap into that data stream to help me debug. I see you’re seeing the messages in the terminal. How did you manage that?

Thanks again. We’ll get this figured out yet!

An OSC address is a string beginning with the character /. Is sent by the client and received by the server (blender in this case).
I managed to see the incoming messages by launching blender from terminal. Open a terminal and type blender. You should see the messages printed there as they arrive.

Hmm. Not seeing anything at all. I might need to debug my network or my Face Cap settings. Either than or OS X is stingier with what it shows on the command line. I tried with debug-all, and got a lot of info, but nothing that looks like data packets coming in.

In the mean time, I have a question about the path. If I right click and Copy Data Path, all I ever get is “active_shape_key_index” which can’t be right. If I use the hot keys to copy full path, I’m getting “bpy.data.objects[“head”].active_shape_key_index”

I suspect I need to replace active_shape_key_index with something more specific and containing a wildcard for the individual shape keys. Still trying to figure out what that might be. Is there a way of browsing the data paths?

Edit: I think I might have the data paths worked out. At least I’m not having them turn red anymore. I just don’t appear to be getting any data to put in them.

Sucess! It was absolutely a network issue. Even though I have the firewall turned off, my Mac isn’t letting me open port 9001. I need to figure out how to force that but in the mean time I just found an open port and suddenly got movement. Mind you, it looks like some of the data is going to the wrong shape keys or getting flipped, but this is progress, as you can tell from the screenshot of me smiling. lol

That was merely a matter of setting the right offset. All seems good except for the eyes. They seem to just be inheriting their rotation from the head. Is there any chance that the address has changed from /ELR and /ERR? Does the order of the routes matter? It seems that I want to rotate the whole group with grp_transform, but then rotate the eyes on their own origins.

I apologize for not being more present. Troubled times…

There is actually an already configured blend file to try with FaceCap on the documentation page : http://www.jpfep.net/pages/addroutes/osc/ (see at the bottom, the download link). You can take some insight from it. Unfortunately I don’t own an Apple device neither the App. I hope it still just works, there has been no FaceCap update since April however.

1 Like

I am a little bit stuck on this one, I will have to do some tests on a real Windows machine. As I only have Linux and sometimes do some tests with Wine (which allows me to run Windows programs like the win version of Blender with my Addon). I will try to do that this week.

I got myself a Monogram Creative Console last week for making music and videos, but I figured I should also be able to control Blender with it. It can send MIDI CC messages, which is how I found this add-on. When I first set it up, I could not get it to work in any of my projects. The examples worked just fine, both with Monogram and another MIDI controller, but setting it up from scratch with the exact same parameters just didn’t work. In the end, I gave up and turned off the computer. The next day, I gave it another go and it worked right away!! So to those who’re banging their head against their keyboard or MIDI controller…try the ol’ restart, it might just do it :smiley:

It works amazingly well. I’ve set up three profiles so far in Monogram (move, rotate, scale), each one with 6 configurable CC continuous controllers or sliders. Is there any way to make those 14 bit? The 7-bit resolution just seems a bit low for some applications (though setting the wrap values to smaller ranges seems to get around that issue pretty well).

I’ll try to make a video on how to install and set it all up. Thanks so much for creating this, @JPfeP :pray:

1 Like

Thanks for your nice comment ! BTW, do you use Windows 10 ? It’s a little be weird that restarting fixed it, but who knows, there could be an issue to investigate. Are there other people having some difficulties with this OS (or any other Windows version) and the MIDI connections ?

For your question, you will find in the list of the midi event the 14bit continuous controller of course, I suppose you have found by yourself. Don’t forget to change the MIDI IN mapping to (0-16383), as it’s not changed automatically and will stay with (0-127) otherwise.

Yes, Win10 x64.

Thanks! Alas, in my list, there is only a 7bi continuous controller, no 14bit one:

I can set the MIDI range to 16383 but am not sure if it has an effect if the controller is still set to 7bit :thinking:

The 14bit continuous controller are listed as “RPN 14bit” and “NRPN 14bit”, that’s their little names in the MIDI world. Please refer to some MIDI documentation to learn more about their specificity. In fact there is no real 14bit continuous controller described in the MIDI standard, as you will discover they are assembled by joining 2 traditional 7bit CC.


There is a new version of Addroutes, v0.32 !

I was working on more important changes when I discovered, at last, during some tests the reason why some of you had problems with Addroutes. It was not related to Windows in fact but, as “gheedough” reported (and others), to initialization problems when starting new projects. As it was not enough, the last version (0.31) was silently crashing when debugging was enabled without the new “copy to file” option.

Well, well, I hope you were not to impacted by those. I feel sorry for the slow reaction. I think the Add-On is now in better shape. Thanks to you all for reporting theses issues.

2 Likes

Ah, I see! I wasn’t aware of that, thanks for letting me know. Also good on your for finding and fixing that bug. It certainly was very frustrating, thanks!

Edit: I can now neither enable nor remove the add-on :frowning:

When I try to remove it, I get this error:

Edit2: Going to that directory in Explorer and manually removing the AddRoutes folder fixed the issue

edit3: I can’t get RPN or NRPN to work at all unfortunately. Console isn’t spitting out any errors either. Continuous Controller 7bit works as advertised. I can always dial in a finer range in ‘Wrap’ if I need such granular control over something, but just FYI.

Thank for reporting that, probably linked to the fact that the midi connection was active while removing the Add-on. I should try to handle that more gracefully. Fortunately you found the solution.

We should be able to sort out that RPN/NRPN affair soon after Xmas. You can see more output in the console when enabling the debug option in the MIDI Config panel.

And happy Xmas to all, BTW ! :wink:

@JPfeP Thank you for your work on the add-on, it is truly expanding.

I have been using the add-on successfully 0.31, now 0.32. I have it running in Blender 2.91 and 2.83. I have the following issue that is the same in all versions.

My OSC real-time routes max at 48 routes. I cannot add any more that will function successfully. Up to 48, everything works perfectly. I can add them to the list, but they do not function. At a certain point after 48, right-clicking a field in Blender will create a new route entry in the list, but the “index” field will be missing. Plus sign (+) creation will create a new entry with the “index” field, but it doesn’t function.

I am using OSC Pilot on a Windows 10 machine that has a high specification, CPU RAM etc. I can monitor and mirror the OSC signal and all is fine on that input side.

I have built multiple setups and each time I reach about 48, additional OSC routes do not function.

Thanks for any feedback you have and any more information that I can provide.

@JPfeP, is there a way to manually text edit the route list? For inputting or modifying a large number of routes and addresses, the interface is slow.
It would be also nice to be able to import and export the list between files.

I am using the add-on for character rigging, lots of bones in action. :slight_smile:

Appreciate the feedback.

You can export/import a group of routes using the category feature. See the Tools section in the Routes panel. You will get a text file in JSON format. This format is relatively easy to understand (each route is a collection of “key: value” pairs) but opening the file in an editor will present you a lot of long lines. It seems there are some JSON editors, using one of those might offer a better presentation.

Beware that there are a lot of keys for each route and some of them are not exposed thru the GUI. But copy/pasting/editing a route model that you have exported first should do the trick.

As for the problem with the 48 routes limit. See in the Routes/Tools section, when it happens, is the line “Overflow events” displaying a number > 0 ?

@JPfeP Thanks for that, I had tried exporting from a blank category before and got a very simple file. The export into a JSON editor is ideal, that helps a lot.

Regarding the 48 route limit, seems to be an error on my side, with two files I had trouble around 48, and did not push hard enough into my own error checkiing. I explored further and there is not a problem with plus adding more routes from the n-list. Over 90 working entries now.

Thanks again for the work and the assistance. Just tried your donation link on your website, however PayPal will not accept a Japanese address for a credit card payment. Let me know if there is another option.

Thanks for willing to support the project. Glad to have a user from Japan (I like your culture, I practice zazen sometimes). For the Paypal limitation, this let me think I should look in the future at alternative solutions like Teepee or Patreon…

1 Like

@JPfeP, I’d like to ask you a few questions about the workflow possibilities described on the add-on page. You wrote "The ‘revolutionary’ aspect of this add-on is to be able to work both on music and 3D visuals at the same time, under some very good conditions. EEVEE is a blessing and a strong opportunity for a new kind of creators who would want to push the art of videoclips way beyond its current state.". I’d like to send and receive OSC between two audio products (Reaper and Reaktor) and a graphics engine, possibly Blender using your add-on. I’d like to work in both directions: (1) music that drives its own video content and (2) the sonification of physics and particle system data. My question is can Blender play the role of Processing 3D or Jitter’s OpenGL interface (from Cycling 74’s MAX) to generate interactive realtime graphics? If yes, should I focus on EEVEE or Blender’s game engine (now UPBGE)? Would I be able to query in realtime for scene data and get collision data from both EEVEE and the game engine?