Setting Up a Blueprint MIDI Manager with 4.14 version of MIDI Device Support Plugin

Thanks! Things got a bit awkward because my midi file had note on events and fake note off events (note on with 0 velocity) on the same tick and the Find node only outputs the index from the first instance found in an array. I wish there was a FindAll node but I guess it’s not that hard to make yourself. I should be able to get something working at least.

Here’s what I got for now: Porn GIF — warmminoragama
Self playing piano kind of (no sound yet though)

Do you think midi out is also part of the plan at some unknown future point?

I hope to have a very rough and simple demo of my roli-UE4 stuff at some point over the extended weekend that is coming up here in the uk. Main problem I have right now is that I havent got a way to properly record me using the roli & the screen showing the results at the same time and my attempts at improvising something have failed so far.

When we were preparing our GDC demonstration, we got help with our reactive materials from one of the Technical Artists here and to help him design the material, we set him up with a MIDI keyboard so he could audition interactivity.

This blew his mind!

776.gif

One of the things we would love to support is generic device interaction (MIDI included). We think it would be great for all designers to incorporate other types of device interaction: faders, knobs, soft-keys, etc. So this interests us a lot. It’s just a matter of human resources and time. We have a lot of big things still on our plate yet to do, but this is on our radar.

As far as your problem, I have had some success with OBS. You can mix multiple video sources (web cam and screen share) as well as multiple audio sources.

1 Like

Thanks for the tips. When it comes to changing parameters with knobs I quite like the Ableton Push 2 controller because of its display. Some months ago I wrote a node.js app which runs on a raspberry pi which is connected to the push 2. The app does a number of things including sending midi cc stuff from the physical knobs on the push 2 (including hi-res version which combines two cc numbers in a similar way to how standard pitch bend uses a high and low set of bits). But the real magic comes from its control of the display and the use of OSC - I can send the names of parameters I would like a ‘page’ of knobs to control, min & max ranges etc from any app that supports OSC, and send that data back to the app using either midi or OSC. When I have got to grips with UE4 more I would like to use it with UE4 in a manner that makes it very easy for me to wire up variables for control and have their names etc show on the display without too much messing around with templates and manual configuration in more than one place. I already got the UE4 OSC plugin that someone wrote working with 4.16 so I’m pretty confident I can achieve it without too many sticking points.

Thanks for the tip about OBS - since my initial demo is not intended to be polished in any way I am going to try recording the roli and my monitor running UE4 in the same shot, and have ordered an ipad tripod to achieve this which will hopefully arrive before the weekend.

Can Anyone help me? I have got this MidiDevice(http://www.akaipro.com/product/mpkmini#specs) and I followed all stepps of @.reynolds, using the version 4.14. Now there this BP and I placed it into the Viewport. Well now I am clueless how to make it work. I was thinking of triggering events like using the computer keyboard. Lets say: Press “G” > Drops one Cube at a certain point. But Instead of using the computer Keyboard, I would like to use one of those Pads of this MidiDevice.

Assuming you’ve built it exactly like mine, and you’re successfully receiving MIDI event data, then you can start experimenting with your device to understand what event data corresponds with your device input.

Hit a pad and then find out what kind of data you’re receiving into your BP.

Once you know that, then you can set up BP code that receives that type of data and when the corresponding data is found, it does its thing.

So for example, let’s say you hit a pad and it lists it as Note On data and the Note On data has Pitch 48.

Well then you have a BP that says, when I receive Note On data of Pitch 48, then spawn a cube at this world location.

Hi DanReynolds, Thank you for your quick reply!

When I hit any pads or midi_keys there is somehow no response like the ones you mentioned.
It seems like the data_stream is for some reason blocked?

(Dropbox - File Deleted)
Those are two Screenshoots, essential all I did + hitting pads

I guess there is one or more mistakes in the BP of my screenshot, can you see it?

You left your MIDI Device Name blank? It’s trying to match the name you gave it for a MIDI controller with the ones available. You said the name was nothing, so it will fail every time:

Thank you so much DanReynolds :]
Honestly, if I were on my own I would have stopped by now:
(Dropbox - File Deleted)

Nice! Now it’s time to make the magic happen! You can do it!

Thanks for the explanation. I have it working to get my player jump with a midi keyboard (m-audio keystation88)but after a while it just stops responding. the keyboard is still recognised by the plugin. The keyboard doesnt generate not off triggers but probably note on’s with zero velocity… dont know why it stops after about 2 minutes. I really want to trigger all sorts of devices trough arduino or MIDI (perfume machines, actuators, fans, low frequency rumbling etc etc). I am forced toward MIDI ( https://www.tindie.com/products/hotchk155/relay-switcher--8-channel-midi-to-relay-module/ ) If somebody can point me in the right direction to trigger relais through UE4 I would be very happy. I think it is great to build all sorts of VR arcade machines ( ) . At the moment I guess the midi-out is sill not supported so I am having difficultys getting relais switches to work.

Initial question was: why does it stop after a couple of minute?

Just found out arduino made a upgrade to 4.16 so I wil give it a try.

Hey game_master_jodan!

I’m not sure why it would stop working. I’ve definitely run some long sessions. Are you sure your hardware isn’t going to sleep or anything like that? Some USB ports power down after a couple of minutes of inactivity, maybe something like that happened?

I’ve not experienced that either. Does it do it with any non-UE4 apps that support midi in?

Sorry I didnt post my roli midi demo yet, got distracted by fixing a UE4 mac audio device selection bug (see my mac thread), Apple WWDC, a hardware synth, the roli seaboard block announcement, 4.16 versions of some nvidia plugins that I want to use for the demo and general perfectionism despite this only supposed to be a crude demo of my experiment at this point. Will get back to it before the end of June, cheers.

Moving to Unreal – noob interface/messaging question

I decided to move my music app from Java to Unreal after I heard about the new synthesis support in Unreal, so I am very much a noob, and likely I am missing something:

I can’t seem to get the Messaging objects in the **BlueprintInterfaceMessages ** section to show up when I right click and search for their function names. Are they functions that I need to create in C++ , or macro’s within blueprint?

Not asking anyone to do it for me. A pointer to a tutorial on interfaces/messaging would be helpful.

Best regards.

Did you create a Blueprint Interface?

This tutorial doesn’t cover how to create Blueprint Interfaces.

Check out: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/Types/Interface/

Generally speaking, Blueprint Interfaces are powerful because they allow you to send information or call functions but not care who you’re communicating with–this allows the recipient to determine how they use the data and what the function does for them.

It is a collection of Virtual Functions (which are meant to be overridden) by anyone using the Interface.

Once you create the Blueprint Interface, the Interface calls will appear in your context menu.

Awesome. Thanks a lot. :smiley:

The Event Dispatch Transmits part of the the big picture seems to be missing as a zoomed in jpg. Therefore I can’t be certain I am doing everything correctly: hard to read from the large jpg.

Is it possible that we can get a zoomed in snip of that portion?

Also, in making one of the Interfaces: Call Note Off – I make the Interface, and then in my blueprint go to Class Settings and add it… But it seems pretty random to me, depending on how I save or compile if the interface shows up as a message or not… I eventually get it to show up, with the little letter image up in the right corner, but I am not sure exactly how I got it that way, and sometimes it takes a lot of compiling and saving back and forth before it shows up as a message?

Also Call Note Off doesn’t show up in my Interfaces in the “My Blueprint” panel ?

Best regards.

You don’t need to add your interface to the object that calls the Interface function–that will help alleviate some of the context menu confusion. Otherwise, yes, you’re looking for the envelope in the upper right hand corner which tells you that this is a dispatch call, not a local call or a public function call.

Also, it’s a good practice on your Interfaces to have return booleans that return true when the function call was successful–that way you can verify it on the object side or do something different if it failed, etc. Additionally, Interface functions require some kind of output, so it’s a good practice anyhow. That might be why your Note Off isn’t visible? Maybe? Not sure.