Custom args and parsing OSC messages for Unreal

Hiya,

I’m using OSC/PILOT to build a control surface for an Unreal project, and also to interface between UE/Ableton on Mac and AUM/other apps on iPad. UE and Ableton are chatting away nicely using this message format:

ADDRESS (/midi/1/note) INT32(60)

…where 1 is the track and 60 would be C3, but I’m having trouble getting OSC/PILOT to output in this format. I’ve currently got:

ADDRESS (/midi/1/note_0) FLOAT(0)

The _0 and note off can be parsed away when it gets to UE, but I still don’t have the actual MIDI note (most likely me being a noob) and only the OSC address+which key was pressed. Ideally I’d like the MIDI note as an int within the OSC message.

Is it possible to use args to parse the output into the correct format before it gets to UE? If possible I’d like to avoid conditional Blueprint gymnastics depending on where the OSC originated.

The other option might be to route the MIDI back through Ableton, might have to get my crayons out and rethink how I’m routing everything.

Thanks in advance, awesome app by the way!!

I have used OSC Pilot with Unreal quite a bit in the past, direct OSC messages worked very well.

Good to know, thanks.

I’m trying to achieve two things and neither is OSC/PILOT directly to UE:

1: Ableton MIDI > MaxMSP > OSC > UE (this part is working)
2: External MIDI > OSC/PILOT > OSC > UE (this part isn’t, because of the message format)

I can send all MIDI via Ableton, but I’d prefer not to waste resources by always having it open if it’s only acting as a translator.

OSC/PILOT on an iPad gives me a dedicated control surface and avoids constant switching between three apps, which aside from saving resources is a big workflow win if you’re working on a laptop. Also UE isn’t the most optimised on Mac yet, so there’s that too.