iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
IPlugOSC.h
1/*
2 ==============================================================================
3
4 This file is part of the iPlug 2 library. Copyright (C) the iPlug 2 developers.
5
6 See LICENSE.txt for more info.
7
8 ==============================================================================
9*/
10
11#pragma once
12
25#include "IPlugOSC_internal.h"
26
27BEGIN_IPLUG_NAMESPACE
28
29using OSCMessageReceivedFunc = std::function<void(OscMessageRead& msg)>;
30
32class OSCSender : private OSCInterface
33{
34public:
39 OSCSender(const char* ip = "127.0.0.1", int port = 8000, OSCLogFunc logFunc = nullptr);
40
44 void SetDestination(const char* ip, int port);
45
49
52 void SetLogFunc(OSCLogFunc logFunc) { OSCInterface::SetLogFunc(logFunc); }
53
54private:
55 int mPort = 0;
56 WDL_String mDestIP;
57 OSCDevice* mDevice = nullptr;
58};
59
62{
63public:
67 OSCReceiver(int port = 8000, OSCLogFunc logFunc = nullptr, OSCMessageReceivedFunc receiveFunc = nullptr);
68
71 void SetReceivePort(int port);
72
75 void SetLogFunc(OSCLogFunc logFunc) { OSCInterface::SetLogFunc(logFunc); }
76
78 virtual void OnOSCMessage(OscMessageRead& msg)
79 {
80 if (mReceiveFunc)
81 {
82 mReceiveFunc(msg);
83 }
84 }
85
86private:
87 OSCMessageReceivedFunc mReceiveFunc = nullptr;
88 OSCDevice* mDevice = nullptr;
89 int mPort = 0;
90};
91
92END_IPLUG_NAMESPACE
OSCReceiver interface, implement in order to receive OSC messages.
Definition: IPlugOSC.h:62
void SetLogFunc(OSCLogFunc logFunc)
Set a log function after construction.
Definition: IPlugOSC.h:75
void SetReceivePort(int port)
Set the port number on which to listen for OSC messages.
Definition: IPlugOSC.cpp:46
virtual void OnOSCMessage(OscMessageRead &msg)
Override to handle incoming OSC messages in a derived class.
Definition: IPlugOSC.h:78
OSCSender interface, implement in order to send OSC messages.
Definition: IPlugOSC.h:33
void SetDestination(const char *ip, int port)
Set the destination ip and port.
Definition: IPlugOSC.cpp:12
void SetLogFunc(OSCLogFunc logFunc)
Set a log function after construction.
Definition: IPlugOSC.h:52
void SendOSCMessage(OscMessageWrite &msg)
Send an OSC message.
Definition: IPlugOSC.cpp:31