mirror of
https://github.com/storytold/UE4-OSC.git
synced 2026-10-18 00:33:14 +00:00
4.5 port
set OSC_ENGINE_VERSION value to compile for an earlier version
This commit is contained in:
@@ -90,15 +90,25 @@ struct FOscDataElemStruct
|
|||||||
|
|
||||||
void SetString(FName value)
|
void SetString(FName value)
|
||||||
{
|
{
|
||||||
|
#if OSC_ENGINE_VERSION < 40500
|
||||||
static_assert(sizeof(value) <= sizeof(Data), "Too short to hold the string value.");
|
static_assert(sizeof(value) <= sizeof(Data), "Too short to hold the string value.");
|
||||||
|
Data = *reinterpret_cast<const int64*>(&value);
|
||||||
|
#else
|
||||||
|
static_assert(sizeof(FMinimalName) <= sizeof(Data), "Too short to hold the string value.");
|
||||||
|
const auto mininal = NameToMinimalName(value);
|
||||||
|
Data = *reinterpret_cast<const int64*>(&mininal);
|
||||||
|
#endif
|
||||||
Type = STRING;
|
Type = STRING;
|
||||||
Data = *reinterpret_cast<int64*>(&value);
|
|
||||||
assert(value == AsStringValue());
|
assert(value == AsStringValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
FName AsStringValue() const
|
FName AsStringValue() const
|
||||||
{
|
{
|
||||||
|
#if OSC_ENGINE_VERSION < 40500
|
||||||
return *reinterpret_cast<const FName *>(&Data);
|
return *reinterpret_cast<const FName *>(&Data);
|
||||||
|
#else
|
||||||
|
return MinimalNameToName(*reinterpret_cast<const FMinimalName *>(&Data));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsString() const
|
bool IsString() const
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
// Target engine version. Used to enable compatibility code.
|
||||||
|
#define OSC_ENGINE_VERSION 40500
|
||||||
|
|
||||||
|
|
||||||
/* Public Dependencies
|
/* Public Dependencies
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -150,7 +150,11 @@ void UOscDispatcher::Callback(const FArrayReaderPtr& data, const FIPv4Endpoint&)
|
|||||||
{
|
{
|
||||||
FSimpleDelegateGraphTask::CreateAndDispatchWhenReady(
|
FSimpleDelegateGraphTask::CreateAndDispatchWhenReady(
|
||||||
FSimpleDelegateGraphTask::FDelegate::CreateUObject(this, &UOscDispatcher::CallbackMainThread),
|
FSimpleDelegateGraphTask::FDelegate::CreateUObject(this, &UOscDispatcher::CallbackMainThread),
|
||||||
|
#if OSC_ENGINE_VERSION < 40500
|
||||||
TEXT("OscDispatcherProcessMessages"),
|
TEXT("OscDispatcherProcessMessages"),
|
||||||
|
#else
|
||||||
|
TStatId(),
|
||||||
|
#endif
|
||||||
nullptr,
|
nullptr,
|
||||||
ENamedThreads::GameThread);
|
ENamedThreads::GameThread);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ Integration
|
|||||||
===========
|
===========
|
||||||
|
|
||||||
Put the "OSC" folder in a "Plugins" folder in the project root.
|
Put the "OSC" folder in a "Plugins" folder in the project root.
|
||||||
|
|
||||||
e.g. "/MyProject/Plugins/OSC"
|
e.g. "/MyProject/Plugins/OSC"
|
||||||
|
|
||||||
|
|
||||||
@@ -15,12 +16,27 @@ Usage
|
|||||||
=====
|
=====
|
||||||
|
|
||||||
- Receiver:
|
- Receiver:
|
||||||
|
|
||||||
Set the listening port in the plugin settings.
|
Set the listening port in the plugin settings.
|
||||||
Add a OscReceiverComponent to your Blueprint class.
|
|
||||||
Bind the OnOscReceived custom event.
|
Add a OscReceiverComponent to your Blueprint class and bind the OnOscReceived custom event, or
|
||||||
|
|
||||||
|
Subclass the OscReceiverActor and bind the OnOscReceived custom event.
|
||||||
|
|
||||||
Use the PopFloat/Int/Bool/String functions to retrieve the OSC message parameters.
|
Use the PopFloat/Int/Bool/String functions to retrieve the OSC message parameters.
|
||||||
|
|
||||||
|
|
||||||
- Sender:
|
- Sender:
|
||||||
|
|
||||||
Set the "send to" addresses in the plugin settings.
|
Set the "send to" addresses in the plugin settings.
|
||||||
|
|
||||||
Use the PushFloat/Int/Bool/String functions to build the OSC message parameters.
|
Use the PushFloat/Int/Bool/String functions to build the OSC message parameters.
|
||||||
|
|
||||||
Use the SendOsc function to send the OSC message
|
Use the SendOsc function to send the OSC message
|
||||||
|
|
||||||
|
|
||||||
|
Engine version
|
||||||
|
=====
|
||||||
|
Tested on UE 4.4, UE 4.5 (Windows, MacOSX)
|
||||||
|
|
||||||
|
Set the OSC_ENGINE_VERSION value (in Source/OSC/Private/Osc.h) to compile for a specific engine version.
|
||||||
|
|||||||
Reference in New Issue
Block a user