SPAOP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
wonderlo::WonderOscServerSender Class Reference

A lowrappers::Address implementing the wonder::OscSender interface, sending its messages from a specified lowrappers::ServerThread's port. More...

#include <WonderOscServerSender.h>

Inheritance diagram for wonderlo::WonderOscServerSender:
Inheritance graph
[legend]
Collaboration diagram for wonderlo::WonderOscServerSender:
Collaboration graph
[legend]

Public Member Functions

 WonderOscServerSender (const std::string &host, const std::string &port, lowrappers::ServerThread &server, int proto=LO_UDP)
 Constructor. More...
 
 WonderOscServerSender (lo_address addr, lowrappers::ServerThread &server, bool isOwner=true)
 Constructor. More...
 
 WonderOscServerSender (const WonderOscServerSender &other)
 Copy constructor. More...
 
virtual ~WonderOscServerSender ()
 Destructor. More...
 
- Public Member Functions inherited from wonderlo::WonderOscSender
 WonderOscSender (const std::string &host, const std::string &port, int proto=LO_UDP)
 Constructor. More...
 
 WonderOscSender (lo_address addr, bool isOwner=true)
 Constructor. More...
 
 WonderOscSender (const WonderOscSender &other)
 Copy constructor. More...
 
virtual ~WonderOscSender ()
 Destructor. More...
 
void setAddress (const std::string &newHost, const std::string &newPort)
 Sets the destination address where this OscSender will send to. More...
 
std::string url () const
 Returns an url representing the destination address where this OscSender will send to. More...
 
std::string hostname () const
 Returns the hostname (or IP) of the destination address where this OscSender will send to. More...
 
std::string port () const
 Returns the destination port (or service name) where this OscSender will send to. More...
 
int getTtl () const
 Returns the time-to-live value for messages sent by this sender. More...
 
void setTtl (uint8_t ttl)
 Sets the time-to-live value for messages sent by this sender. More...
 
std::string getIface () const
 Returns the name of the network interface that will be used for sending messages. More...
 
void setIfaceByIp (const std::string &ip)
 Sets the network interface to use for sending to this address by its IP. More...
 
void sendSourceActivate (int id)
 Sends the /WONDER/source/activate message. More...
 
void sendSourceDeactivate (int id)
 Sends the /WONDER/source/deactivate message. More...
 
void sendSourceType (int id, int type)
 Sends the /WONDER/source/type message. More...
 
void sendSourcePosition (int id, float x, float y)
 Sends the /WONDER/source/position message. More...
 
void sendSourcePosition (int id, float x, float y, float duration)
 Sends the /WONDER/source/position message with a duration parameter. More...
 
void sendSourcePosition (int id, float x, float y, float duration, float timestamp)
 Sends the /WONDER/source/position message with a duration and a timestamp parameter. More...
 
void sendSourceAngle (int id, float angle)
 Sends the /WONDER/source/angle message. More...
 
void sendSourceName (int id, const std::string &name)
 Sends the /WONDER/source/name message, changing the source's name. More...
 
void sendSourceColor (int id, uint8_t r, uint8_t g, uint8_t b)
 Sends the /WONDER/source/color message, changing the colour to be used for that source in any GUI. More...
 
void sendSourceRotatingDirection (int id, int inverted)
 Sends the /WONDER/source/rotationDirection message, changing the rotation direction of the source. More...
 
void sendSourceScalingDirection (int id, int inverted)
 Sends the /WONDER/source/scalingDirection message, changing the scaling direction of the source. More...
 
void sendSourceDopplerEffect (int id, int on)
 Sends the /WONDER/source/dopplerEffect message, switching the doppler effect for this source on or off. More...
 
void sendListenerPosition (int listenerID, float x, float y)
 Sends the /WONDER/listener/position message, changing the position of the listener which is used to determine which speakers are used for focused sources. More...
 
void sendGlobalRenderpolygon (const std::string &roomName, int noOfVertices, wonder::Room::Vertex *vertices)
 Sends the /WONDER/global/renderpolygon message. More...
 
void sendStreamVisualConnect ()
 Sends the /WONDER/stream/visual/connect message. More...
 
void sendStreamVisualConnect (const std::string &name)
 Sends the /WONDER/stream/visual/connect message. More...
 
void sendStreamVisualConnect (const std::string &host, const std::string &port)
 Sends the /WONDER/stream/visual/connect message. More...
 
void sendStreamVisualDisconnect ()
 Sends the /WONDER/stream/visual/disconnect message. More...
 
void sendStreamVisualPing (int count)
 Sends the /WONDER/stream/visual/ping message. More...
 
void sendStreamVisualPong (int count)
 Sends the /WONDER/stream/visual/pong message. More...
 
void sendReply (const std::string &replyToMessage, int state, const std::string &message)
 Sends the /WONDER/reply message. More...
 
void sendProjectCreateWithScore (const std::string &projectName)
 Sends the /WONDER/project/createWithScore message. More...
 
void sendProjectCreate (const std::string &projectName)
 Sends the /WONDER/project/create message. More...
 
void sendProjectLoad (const std::string &projectName)
 Sends the /WONDER/project/load message. More...
 
void sendProjectSave ()
 Sends the /WONDER/project/save message without a parameter. More...
 
void sendProjectSave (const std::string &projectName)
 Sends the /WONDER/project/save message with a projectName parameter. More...
 
void sendPluginStandalone (const bool standAlone)
 Sends the /WONDER/plugin/standalone message. More...
 
- Public Member Functions inherited from lowrappers::Address
 Address (const std::string &host, const std::string &port, int proto=LO_UDP)
 Constructor. More...
 
 Address (lo_address addr, bool isOwner=true)
 Constructor. More...
 
virtual ~Address ()
 Destructor. More...
 
 Address (const Address &other)
 Copy constructor. More...
 
bool setAddress (const std::string &newHost, const std::string &newPort)
 Updates this Address to send to a new destination. More...
 
int getTtl () const
 Returns the time-to-live value for this Address. More...
 
void setTtl (uint8_t ttl)
 Sets the time-to-live value for this Address. More...
 
std::string getIface () const
 Returns the name of the network interface that will be used for sending to this address. More...
 
void setIfaceByIp (const std::string &ip)
 Sets the network interface to use for sending to this address. More...
 
std::string url () const
 An URL describing this address. More...
 
std::string hostname () const
 The hostname of this adress. More...
 
std::string port () const
 The port/service name of this adress. More...
 
int send (const std::string &path, const std::string types,...) const
 Sends a OSC formatted message to this address. More...
 
int send (const std::string &path, const Message &msg) const
 Sends a OSC formatted message to this address. More...
 
int send (const std::string &path, const lo_message msg) const
 Sends a Liblo lo_message to this address. More...
 
int sendVAList (const std::string &path, const std::string &types, va_list args) const
 Sends a OSC formatted message to this address. More...
 
int sendFrom (const ServerThread &from, const std::string &path, const std::string types,...) const
 Sends a OSC formatted message to this address, from the same socket as the specified server. More...
 
int sendFrom (const ServerThread &from, const std::string &path, const Message &msg) const
 Sends a OSC formatted message to this address, from the same socket as the specified server. More...
 
int sendFrom (const ServerThread &from, const std::string &path, const lo_message msg) const
 Sends a Liblo lo_message to this address, from the same socket that a specified ServerThread is listening on. More...
 
int sendVAListFrom (const ServerThread &from, const std::string &path, const std::string &types, va_list args) const
 Sends a OSC formatted message to this address, from the same socket that a specified ServerThread is listening on. More...
 
- Public Member Functions inherited from wonder::OscSender
virtual ~OscSender ()
 Destructor. More...
 
virtual void sendSourceColor (int sourceID, Colour colour)
 Sends the /WONDER/source/color message, changing the colour to be used for that source in any GUI. More...
 
void sendFullSourceInfo (const Source &src)
 Sends out all source-related information for one Source object (type, position, angle, colour, doppler effect setting and name). More...
 

Protected Member Functions

void wonderSend (const MessageWithPath &msg)
 Overriding VSSender::wonderSend, this changes the way OSC messages are sent from the various methods inherited from wonder::OscSender. More...
 

Detailed Description

A lowrappers::Address implementing the wonder::OscSender interface, sending its messages from a specified lowrappers::ServerThread's port.

Constructor & Destructor Documentation

wonderlo::WonderOscServerSender::WonderOscServerSender ( const std::string &  host,
const std::string &  port,
lowrappers::ServerThread server,
int  proto = LO_UDP 
)

Constructor.

Parameters
hostA valid hostname or ip string (see the liblo documentation for what exactly is supported).
portA validport number or service name (see the liblo documentation for what exactly is supported).
servera ServerThread whose port the outgoing messages will be sent from.
protoThe protocol to use (LO_UDP, LO_TCP or LO_UNIX). See the liblo documentation for details - LO_UDP should be used for communication with the current version of WONDER.
wonderlo::WonderOscServerSender::WonderOscServerSender ( lo_address  addr,
lowrappers::ServerThread server,
bool  isOwner = true 
)

Constructor.

Parameters
addrThe address to sent to.
servera ServerThread whose port the outgoing messages will be sent from.
isOwnerSpecifies who is responsible for freeing the lo_address addr (by calling lo_address_free). If set to true, this VSSenderobject will call lo_address_free on addr when it is destroyed or when a new Address is set. If set to false, the responsibility to call lo_address_free remains with the caller of this constructor.
wonderlo::WonderOscServerSender::WonderOscServerSender ( const WonderOscServerSender other)

Copy constructor.

Will create a new copy of the lo_address stored within other, so the new WonderOscServerSender will be owner of its lo_address while other's ownership status will remain unchanged.

Parameters
otherThe WonderOscServerSender to be copied.
wonderlo::WonderOscServerSender::~WonderOscServerSender ( )
virtual

Destructor.

Will call lo_address_delete on the lo_address stored internally if this WonderOscServerSender object is the owner of the lo_address.

Member Function Documentation

void wonderlo::WonderOscServerSender::wonderSend ( const MessageWithPath msg)
protectedvirtual

Overriding VSSender::wonderSend, this changes the way OSC messages are sent from the various methods inherited from wonder::OscSender.

This implementation passes the parameters on to lowrappers::Address::sendVAListFrom, sending from the port of the server passed in the WonderOscServerSender constructor.

Parameters
msgThe Message to be sent.
See Also
lowrappers::Address::sendFrom, WonderOscSender::wonderSend

Reimplemented from wonderlo::WonderOscSender.