JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_OSCSender.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
38class JUCE_API OSCSender
39{
40public:
41 //==============================================================================
43 OSCSender();
44
46 ~OSCSender();
47
48 //==============================================================================
62 bool connect (const String& targetHostName, int targetPortNumber);
63
75 bool connectToSocket (DatagramSocket& socket, const String& targetHostName, int targetPortNumber);
76
77 //==============================================================================
82 bool disconnect();
83
84 //==============================================================================
89 bool send (const OSCMessage& message);
90
95 bool send (const OSCBundle& bundle);
96
104 bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
105 const OSCMessage& message);
106
114 bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
115 const OSCBundle& bundle);
116
124 template <typename... Args>
125 bool send (const OSCAddressPattern& address, Args&&... args);
126
136 template <typename... Args>
137 bool sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
138 const OSCAddressPattern& address, Args&&... args);
139
140private:
141 //==============================================================================
142 struct Pimpl;
144
146};
147
148
149//==============================================================================
150template <typename... Args>
151bool OSCSender::send (const OSCAddressPattern& address, Args&&... args)
152{
153 return send (OSCMessage (address, std::forward<Args> (args)...));
154}
155
156template <typename... Args>
157bool OSCSender::sendToIPAddress (const String& targetIPAddress, int targetPortNumber,
158 const OSCAddressPattern& address, Args&&... args)
159{
160 return sendToIPAddress (targetIPAddress, targetPortNumber, OSCMessage (address, std::forward<Args> (args)...));
161}
162
163} // namespace juce
A wrapper for a datagram (UDP) socket.
An OSC address pattern.
An OSC bundle.
An OSC Message.
An OSC message sender.
bool sendToIPAddress(const String &targetIPAddress, int targetPortNumber, const OSCMessage &message)
Sends an OSC message to a specific IP address and port.
bool send(const OSCMessage &message)
Sends an OSC message to the target.
The JUCE String class!
Definition juce_String.h:53
connect
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
Definition juce_Memory.h:88
send
socket