[Feature Request] OSC, MIDI, and Syphon

Hi !
Compiling should not be a problem:

  • copy the files in a the Plugins folder of your project,
  • click File/Refresh project files from the Editor,
  • build and run from VS 2013.

Do not hesitate to tell me if it was more complicated than that!

I will post an example tonight.
In the mean time:

  • to receive messages, add a OscReceiverComponent to your class blueprint (in the Components tab),
    select it in the blueprint graph view and add the OnOscReceived event (should be in the contextual list).
    use PopFloat/String/etc. functions to get the message parameters.
  • to send messages, build a parameters list using PushFloat/String/etc.
    use the SendOsc function to actually send it.

I’ll add usage examples and some functionality very soon.

Cheers

Hi monsieurgustav

Thank you for the fast reply

yes it was not so hard to recompile (I did not have VS set up and/or using the github source… but it was fairly straightforward)
but i actually put your code in the plugins folder inside the engine… it compile without errors

in terms of the blueprint. i think i did the same steps you described… but i did not get it to work… yes if you could post some examples/pics that would be great

Thanks so much!

I pushed some examples and a new OSC receiver actor class.
Depending on your design, you may use either a receiver component (and add it to many actors) or a receiver actor (create a few class blueprint based on it for specific usage).
I plan to add the multicast feature and some others soon.

Tell me if you work it out !
(do not forget to look at the plugin settings as well, in “Edit/Project Settings/OSC”)

ps: To build the plugin, you don’t really need to compile the engine sources. (you do need VS 2013 though, or XCode)
On any Unreal project (from the shipped Editor): if you do not have VS2013 project in the project root folder, you can just add a dummy class from “File/AddCodeToProject”. It creates some files to disk.
Then, create a “Plugins” folder in the project root, and copy the OSC plugin folder into it.
From the Unreal Editor, click on “File/Refresh Visual Studio Project”, now the VS2013 project contains the plugin sources.
Build and run from VS2013, and that’s it !

pps: It would be nice to have a VS2013 project from the very beginning… if someone knows how to create it without the “AddCodeToProject” trick, I’m listening ! :slight_smile:

Thanks very much for the OSC plugin. I got it working in the editor although I don’t think I compiled anything, and I don’t see the latest stuff you mentioned pushing in the above post (e.g. examples).

I’m sure I’ll have more to say once I’ve had time to use it a bit more.

Cheers.

Hey monsieurgustav, i got it to work but i am getting constant crashes with these errors

!Id:c2b97128bef3ccbca5e65223d98d658c

Access violation - code c0000005 (first/second chance not available)

Fatal error!

UE4Editor_OSC!FUdpSocketReceiver::Run() + 131 bytes [c:\program files\unreal engine\4.4\engine\source\runtime
etworking\public\common\udpsocketreceiver.h:93]
UE4Editor_Core + 3091622 bytes
UE4Editor_Core + 3064429 bytes
kernel32 + 88557 bytes
ntdll + 181569 bytes

any ideas?

Hi !
I ran into the same issue…
I just pushed a fix, hope that will help !
Cheers

hey Gustav< i will check it out. Also I not seem to get the filter to work… all OSC messages affect everything even if i add the correct address e.i “/parametric” to the component. any ideas on this
but it works great otherwise
:slight_smile:

Thanks

Hum… address filtering is not yet implemented actually! :slight_smile:
Coming soon! (in the mean time, you can filter using blueprint nodes, as the received address is an event output)

Happy to know you’re using it!

cool thanks monsieurgustav!
Yes i am using it for a performance tomorrow! yeah!
ok i see how i can filter using that output
cheers

pD. I just tested it, recompiled the new version and it works great with that event output and a switch!
Yes!!

Yes man your update is solid, i performed with it last night and it was great, basically sending amplitude data from ableton live via osc. Rock solid!
So one question
How difficult is to keep this plugin up to date? 4.5 is coming up and maybe if it is not so difficult i could help maintain it.
Thanks again monsieurgustav.

My pleasure!
I didn’t put my hands on 4.5 yet, so it is hard to say how hard it will be to maintain (I hope there is nothing to do actually ! :slight_smile:
I definitely plan to support it anyway, as I will use it myself.

you sir, are my hero! thanks a lot, I can finally start migrating from unity.

And thank you to you to sir!

Finally the osc ball is rolling! Any plans to add midi?

Edited message

Can you give me a little hint on gustav´s plugin?

I managed to use succesfully the LocationSender (draggin it into the editor) but I can not find a way to do the same for LocationReceiver. I drag and drop, I am sending osc messages from openframeworks but nothing happe. Do I have to do something specific to listen to the messages?

Thanks for your help :slight_smile:

You might want to check the listening port in the plugin settings (default is 8000).
Then you may look at the blueprint execution path (appears in red in the blueprint graph editor) to know if the problem comes from the OSC receiving, or something else.

Sorry, I have no plan for that today.
I believe it is quite easy to convert MIDI to OSC though.

Thanks for your reply :slight_smile:

Port is checked and configured, same as the out port ( that works), about the execution path I have no sign for the on receive event, but if in the same blueprint I try to use the tick with the send function, everything works fine.

I am working under osx, might be an issue? For what I understood, I am connecting the on receive event to a popString, that I am trying to print on screen. Is there a different setup between the onReceive event and the send function?

I tested it on both Windows and MacOSX, “ping-ponging” a string value between systems, and it works…

Do not forget you need to bind the OscReceived event to either an OscReceiverComponent or a OscReceiverActor.
Alternatively, check if the provided examples work for you, there might be a clue from there.
Lastly, check the logs too. “OscLog” messages may help you.

I pushed 4.5 version of the plugin.

I started another thread to talk about this specific plugin :