JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::OSCMessage Class Reference

An OSC Message. More...

#include <juce_OSCMessage.h>

Collaboration diagram for juce::OSCMessage:

Public Member Functions

 OSCMessage (const OSCAddressPattern &ap) noexcept
 Constructs an OSCMessage object with the given address pattern and no arguments. More...
 
template<typename Arg1 , typename... Args>
 OSCMessage (const OSCAddressPattern &ap, Arg1 &&arg1, Args &&... args)
 Constructs an OSCMessage object with the given address pattern and list of arguments. More...
 
void addArgument (OSCArgument argument)
 Adds the OSCArgument argument to the OSCMessage object. More...
 
void addBlob (MemoryBlock blob)
 Creates a new OSCArgument of type blob with binary data content copied from the given MemoryBlock. More...
 
void addColour (OSCColour colour)
 Creates a new OSCArgument of type colour with the given value, and adds it to the OSCMessage object. More...
 
void addFloat32 (float value)
 Creates a new OSCArgument of type float32 with the given value, and adds it to the OSCMessage object. More...
 
void addInt32 (int32 value)
 Creates a new OSCArgument of type int32 with the given value, and adds it to the OSCMessage object. More...
 
void addString (const String &value)
 Creates a new OSCArgument of type string with the given value, and adds it to the OSCMessage object. More...
 
const OSCArgumentbegin () const noexcept
 Returns a pointer to the first OSCArgument in the OSCMessage object. More...
 
OSCArgumentbegin () noexcept
 Returns a pointer to the first OSCArgument in the OSCMessage object. More...
 
void clear ()
 Removes all arguments from the OSCMessage. More...
 
const OSCArgumentend () const noexcept
 Returns a pointer to the last OSCArgument in the OSCMessage object. More...
 
OSCArgumentend () noexcept
 Returns a pointer to the last OSCArgument in the OSCMessage object. More...
 
OSCAddressPattern getAddressPattern () const noexcept
 Returns the address pattern of the OSCMessage. More...
 
bool isEmpty () const noexcept
 Returns true if the OSCMessage contains no OSCArgument objects; false otherwise. More...
 
const OSCArgumentoperator[] (const int i) const noexcept
 
OSCArgumentoperator[] (const int i) noexcept
 Returns a reference to the OSCArgument at index i in the OSCMessage object. More...
 
void setAddressPattern (const OSCAddressPattern &ap) noexcept
 Sets the address pattern of the OSCMessage. More...
 
int size () const noexcept
 Returns the number of OSCArgument objects that belong to this OSCMessage. More...
 

Private Member Functions

void addArguments ()
 
template<typename Arg1 , typename... Args>
void addArguments (Arg1 &&arg1, Args &&... args)
 

Private Attributes

OSCAddressPattern addressPattern
 
Array< OSCArgumentarguments
 

Detailed Description

An OSC Message.

An OSCMessage consists of an OSCAddressPattern and zero or more OSCArguments.

OSC messages are the elementary objects that are used to exchange any data via OSC. An OSCSender can send OSCMessage objects to an OSCReceiver.

@tags{OSC}

Constructor & Destructor Documentation

◆ OSCMessage() [1/2]

juce::OSCMessage::OSCMessage ( const OSCAddressPattern ap)
noexcept

Constructs an OSCMessage object with the given address pattern and no arguments.

Parameters
apthe address pattern of the message. This must be a valid OSC address (starting with a forward slash) and may contain OSC wildcard expressions. You can pass in a string literal or a juce String (they will be converted to an OSCAddressPattern automatically).

◆ OSCMessage() [2/2]

template<typename Arg1 , typename... Args>
juce::OSCMessage::OSCMessage ( const OSCAddressPattern ap,
Arg1 &&  arg1,
Args &&...  args 
)

Constructs an OSCMessage object with the given address pattern and list of arguments.

Parameters
apthe address pattern of the message. This must be a valid OSC address (starting with a forward slash) and may contain OSC wildcard expressions. You can pass in a string literal or a juce String (they will be converted to an OSCAddressPattern automatically).
arg1the first argument of the message.
argsan optional list of further arguments to add to the message.

References addArguments(), and juce::gl::arg1.

Member Function Documentation

◆ addArgument()

void juce::OSCMessage::addArgument ( OSCArgument  argument)

Adds the OSCArgument argument to the OSCMessage object.

Note: This method will result in a copy of the OSCArgument object if it is passed as an lvalue. If the OSCArgument is of type blob, this will also copy the underlying binary data. In general, you should use addInt32, addFloat32, etc. instead.

◆ addArguments() [1/2]

void juce::OSCMessage::addArguments ( )
inlineprivate

Referenced by OSCMessage().

◆ addArguments() [2/2]

template<typename Arg1 , typename... Args>
void juce::OSCMessage::addArguments ( Arg1 &&  arg1,
Args &&...  args 
)
inlineprivate

References juce::gl::arg1.

◆ addBlob()

void juce::OSCMessage::addBlob ( MemoryBlock  blob)

Creates a new OSCArgument of type blob with binary data content copied from the given MemoryBlock.

Note: If the argument passed is an lvalue, this may copy the binary data.

◆ addColour()

void juce::OSCMessage::addColour ( OSCColour  colour)

Creates a new OSCArgument of type colour with the given value, and adds it to the OSCMessage object.

◆ addFloat32()

void juce::OSCMessage::addFloat32 ( float  value)

Creates a new OSCArgument of type float32 with the given value, and adds it to the OSCMessage object.

◆ addInt32()

void juce::OSCMessage::addInt32 ( int32  value)

Creates a new OSCArgument of type int32 with the given value, and adds it to the OSCMessage object.

◆ addString()

void juce::OSCMessage::addString ( const String value)

Creates a new OSCArgument of type string with the given value, and adds it to the OSCMessage object.

◆ begin() [1/2]

const OSCArgument* juce::OSCMessage::begin ( ) const
noexcept

Returns a pointer to the first OSCArgument in the OSCMessage object.

This method is provided for compatibility with standard C++ iteration mechanisms.

◆ begin() [2/2]

OSCArgument* juce::OSCMessage::begin ( )
noexcept

Returns a pointer to the first OSCArgument in the OSCMessage object.

This method is provided for compatibility with standard C++ iteration mechanisms.

◆ clear()

void juce::OSCMessage::clear ( )

Removes all arguments from the OSCMessage.

◆ end() [1/2]

const OSCArgument* juce::OSCMessage::end ( ) const
noexcept

Returns a pointer to the last OSCArgument in the OSCMessage object.

This method is provided for compatibility with standard C++ iteration mechanisms.

◆ end() [2/2]

OSCArgument* juce::OSCMessage::end ( )
noexcept

Returns a pointer to the last OSCArgument in the OSCMessage object.

This method is provided for compatibility with standard C++ iteration mechanisms.

◆ getAddressPattern()

OSCAddressPattern juce::OSCMessage::getAddressPattern ( ) const
noexcept

Returns the address pattern of the OSCMessage.

◆ isEmpty()

bool juce::OSCMessage::isEmpty ( ) const
noexcept

Returns true if the OSCMessage contains no OSCArgument objects; false otherwise.

◆ operator[]() [1/2]

const OSCArgument& juce::OSCMessage::operator[] ( const int  i) const
noexcept

◆ operator[]() [2/2]

OSCArgument& juce::OSCMessage::operator[] ( const int  i)
noexcept

Returns a reference to the OSCArgument at index i in the OSCMessage object.

This method does not check the range and results in undefined behaviour in case i < 0 or i >= size().

◆ setAddressPattern()

void juce::OSCMessage::setAddressPattern ( const OSCAddressPattern ap)
noexcept

Sets the address pattern of the OSCMessage.

Parameters
apthe address pattern of the message. This must be a valid OSC address (starting with a forward slash) and may contain OSC wildcard expressions. You can pass in a string literal or a juce String (they will be converted to an OSCAddressPattern automatically).

◆ size()

int juce::OSCMessage::size ( ) const
noexcept

Returns the number of OSCArgument objects that belong to this OSCMessage.

Member Data Documentation

◆ addressPattern

OSCAddressPattern juce::OSCMessage::addressPattern
private

◆ arguments

Array<OSCArgument> juce::OSCMessage::arguments
private

The documentation for this class was generated from the following file: