\hypertarget{group__liblo}{
\section{High-\/level OSC API}
\label{group__liblo}\index{High-\/level OSC API@{High-\/level OSC API}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structlo__timetag}{lo\_\-timetag}
\begin{DoxyCompactList}\small\item\em A structure to store OSC TimeTag values. \item\end{DoxyCompactList}\item 
union \hyperlink{unionlo__arg}{lo\_\-arg}
\begin{DoxyCompactList}\small\item\em Union used to read values from incoming messages. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}{LO\_\-TT\_\-IMMEDIATE}~((\hyperlink{structlo__timetag}{lo\_\-timetag})\{0U,1U\})
\begin{DoxyCompactList}\small\item\em A timetag constant representing \char`\"{}now\char`\"{}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__liblo_ga11838c576b0197c255ce805fd7434736}{lo\_\-type} \{ \par
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}{LO\_\-INT32} =  'i', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}{LO\_\-FLOAT} =  'f', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}{LO\_\-STRING} =  's', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}{LO\_\-BLOB} =  'b', 
\par
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}{LO\_\-INT64} =  'h', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}{LO\_\-TIMETAG} =  't', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}{LO\_\-DOUBLE} =  'd', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}{LO\_\-SYMBOL} =  'S', 
\par
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}{LO\_\-CHAR} =  'c', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}{LO\_\-MIDI} =  'm', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}{LO\_\-TRUE} =  'T', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}{LO\_\-FALSE} =  'F', 
\par
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}{LO\_\-NIL} =  'N', 
\hyperlink{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}{LO\_\-INFINITUM} =  'I'
 \}
\begin{DoxyCompactList}\small\item\em An enumeration of the OSC types liblo can send and receive. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new} (const char $\ast$host, const char $\ast$port)
\begin{DoxyCompactList}\small\item\em Declare an OSC destination, given IP address and port number. Same as \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\_\-address\_\-new\_\-with\_\-proto()}, but using UDP. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\_\-address\_\-new\_\-with\_\-proto} (int proto, const char $\ast$host, const char $\ast$port)
\begin{DoxyCompactList}\small\item\em Declare an OSC destination, given IP address and port number, specifying protocol. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} \hyperlink{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}{lo\_\-address\_\-new\_\-from\_\-url} (const char $\ast$url)
\begin{DoxyCompactList}\small\item\em Create a lo\_\-address object from an OSC URL. \item\end{DoxyCompactList}\item 
void \hyperlink{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}{lo\_\-address\_\-free} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t)
\begin{DoxyCompactList}\small\item\em Free the memory used by the lo\_\-address object. \item\end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gacd72097b92411db148844d89071fd281}{lo\_\-address\_\-set\_\-ttl} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t, int ttl)
\begin{DoxyCompactList}\small\item\em Set the Time-\/to-\/Live value for a given target address. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga3652ba694ba3c153dc96917e7321131c}{lo\_\-address\_\-get\_\-ttl} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t)
\begin{DoxyCompactList}\small\item\em Get the Time-\/to-\/Live value for a given target address. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a OSC formatted message to the address specified. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}{lo\_\-send\_\-from} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, \hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\_\-server} from, \hyperlink{structlo__timetag}{lo\_\-timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a OSC formatted message to the address specified, from the same socket as the specificied server. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga42ec6437789c7516c5b7909d8504751a}{lo\_\-send\_\-timestamped} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, \hyperlink{structlo__timetag}{lo\_\-timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{DoxyCompactList}\small\item\em Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the future. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}{lo\_\-address\_\-errno} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} a)
\begin{DoxyCompactList}\small\item\em Return the error number from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new()} call. \item\end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__liblo_gace321bfb9e529d8640e96e894db5400c}{lo\_\-address\_\-errstr} (\hyperlink{lo__types_8h_abf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} a)
\begin{DoxyCompactList}\small\item\em Return the error string from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new()} call. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_gabe3e0c31189adfd7624de6c507b610ba}{lo\_\-server\_\-thread\_\-new} (const char $\ast$port, \hyperlink{lo__types_8h_aa5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{DoxyCompactList}\small\item\em Create a new server thread to handle incoming OSC messages. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_ga0fa9fcae4eabe09847d46b134dc33aa4}{lo\_\-server\_\-thread\_\-new\_\-multicast} (const char $\ast$group, const char $\ast$port, \hyperlink{lo__types_8h_aa5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{DoxyCompactList}\small\item\em Create a new server thread to handle incoming OSC messages, and join a UDP multicast group. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_ga6713cedfb0b2c4f066ec8a19366bf095}{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto} (const char $\ast$port, int proto, \hyperlink{lo__types_8h_aa5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{DoxyCompactList}\small\item\em Create a new server thread to handle incoming OSC messages, specifying protocol. \item\end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gad72be3f2a81b9583ad69dd007080c0e5}{lo\_\-server\_\-thread\_\-free} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Free memory taken by a server thread. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a66faedf5da13231d8c0166870477dce5}{lo\_\-method} \hyperlink{group__liblo_gacff9c90a8efc400448276b2d20831010}{lo\_\-server\_\-thread\_\-add\_\-method} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st, const char $\ast$path, const char $\ast$typespec, \hyperlink{lo__types_8h_a3b1c86c0925d05e13b5438ce8fe80a6c}{lo\_\-method\_\-handler} h, void $\ast$user\_\-data)
\begin{DoxyCompactList}\small\item\em Add an OSC method to the specifed server thread. \item\end{DoxyCompactList}\item 
void \hyperlink{group__liblo_ga072edf53338bc807444c4b510643a828}{lo\_\-server\_\-thread\_\-del\_\-method} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st, const char $\ast$path, const char $\ast$typespec)
\begin{DoxyCompactList}\small\item\em Delete an OSC method from the specifed server thread. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga4b284c1b96d0354c5de4ff7ba5a44fbc}{lo\_\-server\_\-thread\_\-start} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Start the server thread. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga06992ac46b04e58cb77d7c519a578f57}{lo\_\-server\_\-thread\_\-stop} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Stop the server thread. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}{lo\_\-server\_\-thread\_\-get\_\-port} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Return the port number that the server thread has bound to. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__liblo_gac2805a7cbdd9465be4ca5101c569faf0}{lo\_\-server\_\-thread\_\-get\_\-url} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Return a URL describing the address of the server thread. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a59067bf50cf8abb4371da6f03c9036c9}{lo\_\-server} \hyperlink{group__liblo_gab968d51fa6e0d4bea92e3f84f5556161}{lo\_\-server\_\-thread\_\-get\_\-server} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Return the lo\_\-server for a lo\_\-server\_\-thread. \item\end{DoxyCompactList}\item 
int \hyperlink{group__liblo_ga7bc3d8361b65e3ad112a1da956d9114e}{lo\_\-server\_\-thread\_\-events\_\-pending} (\hyperlink{lo__types_8h_a09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{DoxyCompactList}\small\item\em Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the thread. \item\end{DoxyCompactList}\item 
\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} \hyperlink{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}{lo\_\-blob\_\-new} (int32\_\-t size, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Create a new OSC blob type. \item\end{DoxyCompactList}\item 
void \hyperlink{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}{lo\_\-blob\_\-free} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{DoxyCompactList}\small\item\em Free the memory taken by a blob. \item\end{DoxyCompactList}\item 
uint32\_\-t \hyperlink{group__liblo_gab6c9184f0a54f19319d8a6409487b466}{lo\_\-blob\_\-datasize} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{DoxyCompactList}\small\item\em Return the amount of valid data in a lo\_\-blob object. \item\end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__liblo_ga064e3435301e0df338b75023a7ebf38e}{lo\_\-blob\_\-dataptr} (\hyperlink{lo__types_8h_a8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{DoxyCompactList}\small\item\em Return a pointer to the start of the blob data to allow contents to be changed. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Defines the high-\/level API functions necessary to implement OSC support. Should be adequate for most applications, but if you require lower level control you can use the functions defined in \hyperlink{lo__lowlevel_8h}{lo\_\-lowlevel.h} 

\subsection{Define Documentation}
\hypertarget{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}{
\index{liblo@{liblo}!LO\_\-TT\_\-IMMEDIATE@{LO\_\-TT\_\-IMMEDIATE}}
\index{LO\_\-TT\_\-IMMEDIATE@{LO\_\-TT\_\-IMMEDIATE}!liblo@{liblo}}
\subsubsection[{LO\_\-TT\_\-IMMEDIATE}]{\setlength{\rightskip}{0pt plus 5cm}\#define LO\_\-TT\_\-IMMEDIATE~(({\bf lo\_\-timetag})\{0U,1U\})}}
\label{group__liblo_gafa8cfc08b763b0c039fb64a73c4c77da}


A timetag constant representing \char`\"{}now\char`\"{}. 



\subsection{Enumeration Type Documentation}
\hypertarget{group__liblo_ga11838c576b0197c255ce805fd7434736}{
\index{liblo@{liblo}!lo\_\-type@{lo\_\-type}}
\index{lo\_\-type@{lo\_\-type}!liblo@{liblo}}
\subsubsection[{lo\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf lo\_\-type}}}
\label{group__liblo_ga11838c576b0197c255ce805fd7434736}


An enumeration of the OSC types liblo can send and receive. 

The value of the enumeration is the typechar used to tag messages and to specify arguments with \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send()}. \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{LO\_\-INT32@{LO\_\-INT32}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-INT32@{LO\_\-INT32}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}{
LO\_\-INT32}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a4ba0490216baf238719e1200325b037d}
}]32 bit signed integer. \index{LO\_\-FLOAT@{LO\_\-FLOAT}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-FLOAT@{LO\_\-FLOAT}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}{
LO\_\-FLOAT}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736ab3245e1b7edacde57f71d200840b0aa3}
}]32 bit IEEE-\/754 float. \index{LO\_\-STRING@{LO\_\-STRING}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-STRING@{LO\_\-STRING}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}{
LO\_\-STRING}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a6121bddbedc79af47d86a8a25af47ad2}
}]Standard C, NULL terminated string. \index{LO\_\-BLOB@{LO\_\-BLOB}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-BLOB@{LO\_\-BLOB}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}{
LO\_\-BLOB}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a140f48c944b6c888846b8109ceaeb98b}
}]OSC binary blob type. Accessed using the lo\_\-blob\_\-$\ast$() functions. \index{LO\_\-INT64@{LO\_\-INT64}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-INT64@{LO\_\-INT64}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}{
LO\_\-INT64}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736acfabb7d6ec1d4f9d033227de24c76b30}
}]64 bit signed integer. \index{LO\_\-TIMETAG@{LO\_\-TIMETAG}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-TIMETAG@{LO\_\-TIMETAG}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}{
LO\_\-TIMETAG}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a0516741a260e7109d2b0ed0c92beddbe}
}]OSC TimeTag type, represented by the \hyperlink{structlo__timetag}{lo\_\-timetag} structure. \index{LO\_\-DOUBLE@{LO\_\-DOUBLE}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-DOUBLE@{LO\_\-DOUBLE}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}{
LO\_\-DOUBLE}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a0ca92c843dfb45f4edabdefd60cdeca6}
}]64 bit IEEE-\/754 double. \index{LO\_\-SYMBOL@{LO\_\-SYMBOL}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-SYMBOL@{LO\_\-SYMBOL}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}{
LO\_\-SYMBOL}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a4ae18ed5170672498406c36b16e7a948}
}]Standard C, NULL terminated, string. Used in systems which distinguish strings and symbols. \index{LO\_\-CHAR@{LO\_\-CHAR}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-CHAR@{LO\_\-CHAR}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}{
LO\_\-CHAR}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736af93c0cdf731b1edf4b9d44ad7d7dba26}
}]Standard C, 8 bit, char variable. \index{LO\_\-MIDI@{LO\_\-MIDI}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-MIDI@{LO\_\-MIDI}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}{
LO\_\-MIDI}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736ad295b5f7669a7220102082e20fd14ec0}
}]A 4 byte MIDI packet. \index{LO\_\-TRUE@{LO\_\-TRUE}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-TRUE@{LO\_\-TRUE}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}{
LO\_\-TRUE}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736ace8c12ac58d6aaee426dc41cfa609009}
}]Sybol representing the value True. \index{LO\_\-FALSE@{LO\_\-FALSE}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-FALSE@{LO\_\-FALSE}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}{
LO\_\-FALSE}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736ae85a45e7bc3999069d82da7245d172f4}
}]Sybol representing the value False. \index{LO\_\-NIL@{LO\_\-NIL}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-NIL@{LO\_\-NIL}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}{
LO\_\-NIL}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a80fcaab02318c562b094ca407f81d2b3}
}]Sybol representing the value Nil. \index{LO\_\-INFINITUM@{LO\_\-INFINITUM}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-INFINITUM@{LO\_\-INFINITUM}}\item[{\em 
\hypertarget{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}{
LO\_\-INFINITUM}
\label{group__liblo_gga11838c576b0197c255ce805fd7434736a9b77e96b653de1f91344549b9b9a0273}
}]Sybol representing the value Infinitum. \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}{
\index{liblo@{liblo}!lo\_\-address\_\-errno@{lo\_\-address\_\-errno}}
\index{lo\_\-address\_\-errno@{lo\_\-address\_\-errno}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-errno}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-address\_\-errno (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ a}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga407e1694a2ec58ee5b90c6390e0a5d53}


Return the error number from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new()} call. 

\hypertarget{group__liblo_gace321bfb9e529d8640e96e894db5400c}{
\index{liblo@{liblo}!lo\_\-address\_\-errstr@{lo\_\-address\_\-errstr}}
\index{lo\_\-address\_\-errstr@{lo\_\-address\_\-errstr}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-errstr}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lo\_\-address\_\-errstr (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ a}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gace321bfb9e529d8640e96e894db5400c}


Return the error string from the last failed \hyperlink{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{lo\_\-send()} or \hyperlink{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new()} call. 

\hypertarget{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}{
\index{liblo@{liblo}!lo\_\-address\_\-free@{lo\_\-address\_\-free}}
\index{lo\_\-address\_\-free@{lo\_\-address\_\-free}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-address\_\-free (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ t}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga82b9a2d1d30214114eb5298f43aebac5}


Free the memory used by the lo\_\-address object. 

\hypertarget{group__liblo_ga3652ba694ba3c153dc96917e7321131c}{
\index{liblo@{liblo}!lo\_\-address\_\-get\_\-ttl@{lo\_\-address\_\-get\_\-ttl}}
\index{lo\_\-address\_\-get\_\-ttl@{lo\_\-address\_\-get\_\-ttl}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-get\_\-ttl}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-address\_\-get\_\-ttl (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ t}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga3652ba694ba3c153dc96917e7321131c}


Get the Time-\/to-\/Live value for a given target address. 


\begin{DoxyParams}{Parameters}
\item[{\em t}]An OSC address. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
An integer specifying the scope of a multicast UDP message. 
\end{DoxyReturn}
\hypertarget{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}{
\index{liblo@{liblo}!lo\_\-address\_\-new@{lo\_\-address\_\-new}}
\index{lo\_\-address\_\-new@{lo\_\-address\_\-new}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-address} lo\_\-address\_\-new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ host, }
\item[{const char $\ast$}]{ port}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gae5af61a02ab08871d3ea070c8f770cfe}


Declare an OSC destination, given IP address and port number. Same as \hyperlink{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{lo\_\-address\_\-new\_\-with\_\-proto()}, but using UDP. 


\begin{DoxyParams}{Parameters}
\item[{\em host}]An IP address or number, or NULL for the local machine. \item[{\em port}]a decimal port number or service name.\end{DoxyParams}
The lo\_\-address object may be used as the target of OSC messages.

Note: if you wish to receive replies from the target of this address, you must first create a lo\_\-server\_\-thread or lo\_\-server object which will receive the replies. The last lo\_\-server(\_\-thread) object creted will be the receiver. \hypertarget{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}{
\index{liblo@{liblo}!lo\_\-address\_\-new\_\-from\_\-url@{lo\_\-address\_\-new\_\-from\_\-url}}
\index{lo\_\-address\_\-new\_\-from\_\-url@{lo\_\-address\_\-new\_\-from\_\-url}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-new\_\-from\_\-url}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-address} lo\_\-address\_\-new\_\-from\_\-url (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ url}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga1af2cb3c80393cba838f64dfcdc35620}


Create a lo\_\-address object from an OSC URL. 

example: {\ttfamily \char`\"{}osc.udp://localhost:4444/my/path/\char`\"{}} \hypertarget{group__liblo_gaceb4b068bc48c2b075e790910cab3075}{
\index{liblo@{liblo}!lo\_\-address\_\-new\_\-with\_\-proto@{lo\_\-address\_\-new\_\-with\_\-proto}}
\index{lo\_\-address\_\-new\_\-with\_\-proto@{lo\_\-address\_\-new\_\-with\_\-proto}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-new\_\-with\_\-proto}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-address} lo\_\-address\_\-new\_\-with\_\-proto (
\begin{DoxyParamCaption}
\item[{int}]{ proto, }
\item[{const char $\ast$}]{ host, }
\item[{const char $\ast$}]{ port}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gaceb4b068bc48c2b075e790910cab3075}


Declare an OSC destination, given IP address and port number, specifying protocol. 


\begin{DoxyParams}{Parameters}
\item[{\em proto}]The protocol to use, must be one of LO\_\-UDP, LO\_\-TCP or LO\_\-UNIX. \item[{\em host}]An IP address or number, or NULL for the local machine. \item[{\em port}]a decimal port number or service name.\end{DoxyParams}
The lo\_\-address object may be used as the target of OSC messages.

Note: if you wish to receive replies from the target of this address, you must first create a lo\_\-server\_\-thread or lo\_\-server object which will receive the replies. The last lo\_\-server(\_\-thread) object creted will be the receiver. \hypertarget{group__liblo_gacd72097b92411db148844d89071fd281}{
\index{liblo@{liblo}!lo\_\-address\_\-set\_\-ttl@{lo\_\-address\_\-set\_\-ttl}}
\index{lo\_\-address\_\-set\_\-ttl@{lo\_\-address\_\-set\_\-ttl}!liblo@{liblo}}
\subsubsection[{lo\_\-address\_\-set\_\-ttl}]{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-address\_\-set\_\-ttl (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ t, }
\item[{int}]{ ttl}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gacd72097b92411db148844d89071fd281}


Set the Time-\/to-\/Live value for a given target address. 

This is required for sending multicast UDP messages. A value of 1 (the usual case) keeps the message within the subnet, while 255 means a global, unrestricted scope.


\begin{DoxyParams}{Parameters}
\item[{\em t}]An OSC address. \item[{\em ttl}]An integer specifying the scope of a multicast UDP message. \end{DoxyParams}
\hypertarget{group__liblo_ga064e3435301e0df338b75023a7ebf38e}{
\index{liblo@{liblo}!lo\_\-blob\_\-dataptr@{lo\_\-blob\_\-dataptr}}
\index{lo\_\-blob\_\-dataptr@{lo\_\-blob\_\-dataptr}!liblo@{liblo}}
\subsubsection[{lo\_\-blob\_\-dataptr}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lo\_\-blob\_\-dataptr (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-blob}}]{ b}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga064e3435301e0df338b75023a7ebf38e}


Return a pointer to the start of the blob data to allow contents to be changed. 

\hypertarget{group__liblo_gab6c9184f0a54f19319d8a6409487b466}{
\index{liblo@{liblo}!lo\_\-blob\_\-datasize@{lo\_\-blob\_\-datasize}}
\index{lo\_\-blob\_\-datasize@{lo\_\-blob\_\-datasize}!liblo@{liblo}}
\subsubsection[{lo\_\-blob\_\-datasize}]{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t lo\_\-blob\_\-datasize (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-blob}}]{ b}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gab6c9184f0a54f19319d8a6409487b466}


Return the amount of valid data in a lo\_\-blob object. 

If you want to know the storage size, use \hyperlink{group__liblolowlevel_gaf793bbd32346a91d7d680d91ae68d1bd}{lo\_\-arg\_\-size()}. \hypertarget{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}{
\index{liblo@{liblo}!lo\_\-blob\_\-free@{lo\_\-blob\_\-free}}
\index{lo\_\-blob\_\-free@{lo\_\-blob\_\-free}!liblo@{liblo}}
\subsubsection[{lo\_\-blob\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-blob\_\-free (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-blob}}]{ b}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gaa46ef058cfdf14a16936c062ebac19b9}


Free the memory taken by a blob. 

\hypertarget{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}{
\index{liblo@{liblo}!lo\_\-blob\_\-new@{lo\_\-blob\_\-new}}
\index{lo\_\-blob\_\-new@{lo\_\-blob\_\-new}!liblo@{liblo}}
\subsubsection[{lo\_\-blob\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-blob} lo\_\-blob\_\-new (
\begin{DoxyParamCaption}
\item[{int32\_\-t}]{ size, }
\item[{const void $\ast$}]{ data}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gaffb2348c70cb0e1214fd50bdc7574c39}


Create a new OSC blob type. 


\begin{DoxyParams}{Parameters}
\item[{\em size}]The amount of space to allocate in the blob structure. \item[{\em data}]The data that will be used to initialise the blob, should be size bytes long. \end{DoxyParams}
\hypertarget{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}{
\index{liblo@{liblo}!lo\_\-send@{lo\_\-send}}
\index{lo\_\-send@{lo\_\-send}!liblo@{liblo}}
\subsubsection[{lo\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ targ, }
\item[{const char $\ast$}]{ path, }
\item[{const char $\ast$}]{ type, }
\item[{}]{ ...}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gafa4253874f97c2c16254ac57d2b7c987}


Send a OSC formatted message to the address specified. 


\begin{DoxyParams}{Parameters}
\item[{\em targ}]The target OSC address \item[{\em path}]The OSC path the message will be delivered to \item[{\em type}]The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\_\-osc\_\-types.h} \item[{\em ...}]The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\end{DoxyParams}
example: 
\begin{DoxyCode}
 lo_send(t, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
-\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}{
\index{liblo@{liblo}!lo\_\-send\_\-from@{lo\_\-send\_\-from}}
\index{lo\_\-send\_\-from@{lo\_\-send\_\-from}!liblo@{liblo}}
\subsubsection[{lo\_\-send\_\-from}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send\_\-from (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ targ, }
\item[{{\bf lo\_\-server}}]{ from, }
\item[{{\bf lo\_\-timetag}}]{ ts, }
\item[{const char $\ast$}]{ path, }
\item[{const char $\ast$}]{ type, }
\item[{}]{ ...}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}


Send a OSC formatted message to the address specified, from the same socket as the specificied server. 


\begin{DoxyParams}{Parameters}
\item[{\em targ}]The target OSC address \item[{\em from}]The server to send message from (can be NULL to use new socket) \item[{\em ts}]The OSC timetag timestamp at which the message will be processed (can be LO\_\-TT\_\-IMMEDIATE if you don't want to attach a timetag) \item[{\em path}]The OSC path the message will be delivered to \item[{\em type}]The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\_\-osc\_\-types.h} \item[{\em ...}]The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\end{DoxyParams}
example: 
\begin{DoxyCode}
 serv = lo_server_new(NULL, err);
 lo_server_add_method(serv, "/reply", "ss", reply_handler, NULL);
 lo_send_from(t, serv, LO_TT_IMMEDIATE, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
on success, the number of bytes sent, or -\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_ga42ec6437789c7516c5b7909d8504751a}{
\index{liblo@{liblo}!lo\_\-send\_\-timestamped@{lo\_\-send\_\-timestamped}}
\index{lo\_\-send\_\-timestamped@{lo\_\-send\_\-timestamped}!liblo@{liblo}}
\subsubsection[{lo\_\-send\_\-timestamped}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send\_\-timestamped (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-address}}]{ targ, }
\item[{{\bf lo\_\-timetag}}]{ ts, }
\item[{const char $\ast$}]{ path, }
\item[{const char $\ast$}]{ type, }
\item[{}]{ ...}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga42ec6437789c7516c5b7909d8504751a}


Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the future. 


\begin{DoxyParams}{Parameters}
\item[{\em targ}]The target OSC address \item[{\em ts}]The OSC timetag timestamp at which the message will be processed \item[{\em path}]The OSC path the message will be delivered to \item[{\em type}]The types of the data items in the message, types are defined in \hyperlink{lo__osc__types_8h}{lo\_\-osc\_\-types.h} \item[{\em ...}]The data values to be transmitted. The types of the arguments passed here must agree with the types specified in the type parameter.\end{DoxyParams}
example: 
\begin{DoxyCode}
 lo_timetag now;<br>
 lo_timetag_now(&now);<br>
 lo_send_timestamped(t, now, "/foo/bar", "ff", 0.1f, 23.0f);
\end{DoxyCode}


\begin{DoxyReturn}{Returns}
on success, the number of bytes sent, or -\/1 on failure. 
\end{DoxyReturn}
\hypertarget{group__liblo_gacff9c90a8efc400448276b2d20831010}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-add\_\-method@{lo\_\-server\_\-thread\_\-add\_\-method}}
\index{lo\_\-server\_\-thread\_\-add\_\-method@{lo\_\-server\_\-thread\_\-add\_\-method}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-add\_\-method}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-method} lo\_\-server\_\-thread\_\-add\_\-method (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st, }
\item[{const char $\ast$}]{ path, }
\item[{const char $\ast$}]{ typespec, }
\item[{{\bf lo\_\-method\_\-handler}}]{ h, }
\item[{void $\ast$}]{ user\_\-data}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gacff9c90a8efc400448276b2d20831010}


Add an OSC method to the specifed server thread. 


\begin{DoxyParams}{Parameters}
\item[{\em st}]The server thread the method is to be added to. \item[{\em path}]The OSC path to register the method to. If NULL is passed the method will match all paths. \item[{\em typespec}]The typespec the method accepts. Incoming messages with similar typespecs (e.g. ones with numerical types in the same position) will be coerced to the typespec given here. \item[{\em h}]The method handler callback function that will be called it a matching message is received \item[{\em user\_\-data}]A value that will be passed to the callback function, h, when its invoked matching from this method. \end{DoxyParams}
\hypertarget{group__liblo_ga072edf53338bc807444c4b510643a828}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-del\_\-method@{lo\_\-server\_\-thread\_\-del\_\-method}}
\index{lo\_\-server\_\-thread\_\-del\_\-method@{lo\_\-server\_\-thread\_\-del\_\-method}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-del\_\-method}]{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-del\_\-method (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st, }
\item[{const char $\ast$}]{ path, }
\item[{const char $\ast$}]{ typespec}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga072edf53338bc807444c4b510643a828}


Delete an OSC method from the specifed server thread. 


\begin{DoxyParams}{Parameters}
\item[{\em st}]The server thread the method is to be removed from. \item[{\em path}]The OSC path of the method to delete. If NULL is passed the method will match the generic handler. \item[{\em typespec}]The typespec the method accepts. \end{DoxyParams}
\hypertarget{group__liblo_ga7bc3d8361b65e3ad112a1da956d9114e}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-events\_\-pending@{lo\_\-server\_\-thread\_\-events\_\-pending}}
\index{lo\_\-server\_\-thread\_\-events\_\-pending@{lo\_\-server\_\-thread\_\-events\_\-pending}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-events\_\-pending}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-events\_\-pending (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga7bc3d8361b65e3ad112a1da956d9114e}


Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the thread. 

\hypertarget{group__liblo_gad72be3f2a81b9583ad69dd007080c0e5}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-free@{lo\_\-server\_\-thread\_\-free}}
\index{lo\_\-server\_\-thread\_\-free@{lo\_\-server\_\-thread\_\-free}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-free (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gad72be3f2a81b9583ad69dd007080c0e5}


Free memory taken by a server thread. 

Frees the memory, and, if currently running will stop the associated thread. \hypertarget{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-get\_\-port@{lo\_\-server\_\-thread\_\-get\_\-port}}
\index{lo\_\-server\_\-thread\_\-get\_\-port@{lo\_\-server\_\-thread\_\-get\_\-port}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-get\_\-port}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-get\_\-port (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}


Return the port number that the server thread has bound to. 

\hypertarget{group__liblo_gab968d51fa6e0d4bea92e3f84f5556161}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-get\_\-server@{lo\_\-server\_\-thread\_\-get\_\-server}}
\index{lo\_\-server\_\-thread\_\-get\_\-server@{lo\_\-server\_\-thread\_\-get\_\-server}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-get\_\-server}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server} lo\_\-server\_\-thread\_\-get\_\-server (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gab968d51fa6e0d4bea92e3f84f5556161}


Return the lo\_\-server for a lo\_\-server\_\-thread. 

This function is useful for passing a thread's lo\_\-server to \hyperlink{group__liblo_gaa4a314562b09e2fd00749a5d0b4d0955}{lo\_\-send\_\-from()}. \hypertarget{group__liblo_gac2805a7cbdd9465be4ca5101c569faf0}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-get\_\-url@{lo\_\-server\_\-thread\_\-get\_\-url}}
\index{lo\_\-server\_\-thread\_\-get\_\-url@{lo\_\-server\_\-thread\_\-get\_\-url}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-get\_\-url}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ lo\_\-server\_\-thread\_\-get\_\-url (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gac2805a7cbdd9465be4ca5101c569faf0}


Return a URL describing the address of the server thread. 

Return value must be free()'d to reclaim memory. \hypertarget{group__liblo_gabe3e0c31189adfd7624de6c507b610ba}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-new@{lo\_\-server\_\-thread\_\-new}}
\index{lo\_\-server\_\-thread\_\-new@{lo\_\-server\_\-thread\_\-new}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server\_\-thread} lo\_\-server\_\-thread\_\-new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ port, }
\item[{{\bf lo\_\-err\_\-handler}}]{ err\_\-h}
\end{DoxyParamCaption}
)}}
\label{group__liblo_gabe3e0c31189adfd7624de6c507b610ba}


Create a new server thread to handle incoming OSC messages. 

Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.


\begin{DoxyParams}{Parameters}
\item[{\em port}]If NULL is passed then an unused port will be chosen by the system, its number may be retrieved with \hyperlink{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}{lo\_\-server\_\-thread\_\-get\_\-port()} so it can be passed to clients. Otherwise a decimal port number, service name or UNIX domain socket path may be passed. \item[{\em err\_\-h}]A function that will be called in the event of an error being raised. The function prototype is defined in \hyperlink{lo__types_8h}{lo\_\-types.h} \end{DoxyParams}
\hypertarget{group__liblo_ga0fa9fcae4eabe09847d46b134dc33aa4}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-new\_\-multicast@{lo\_\-server\_\-thread\_\-new\_\-multicast}}
\index{lo\_\-server\_\-thread\_\-new\_\-multicast@{lo\_\-server\_\-thread\_\-new\_\-multicast}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-new\_\-multicast}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server\_\-thread} lo\_\-server\_\-thread\_\-new\_\-multicast (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ group, }
\item[{const char $\ast$}]{ port, }
\item[{{\bf lo\_\-err\_\-handler}}]{ err\_\-h}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga0fa9fcae4eabe09847d46b134dc33aa4}


Create a new server thread to handle incoming OSC messages, and join a UDP multicast group. 

Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.


\begin{DoxyParams}{Parameters}
\item[{\em group}]The multicast group to join. See documentation on IP multicast for the acceptable address range; e.g., \href{http://tldp.org/HOWTO/Multicast-HOWTO-2.html}{\tt http://tldp.org/HOWTO/Multicast-\/HOWTO-\/2.html} \item[{\em port}]If NULL is passed then an unused port will be chosen by the system, its number may be retrieved with \hyperlink{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}{lo\_\-server\_\-thread\_\-get\_\-port()} so it can be passed to clients. Otherwise a decimal port number, service name or UNIX domain socket path may be passed. \item[{\em err\_\-h}]A function that will be called in the event of an error being raised. The function prototype is defined in \hyperlink{lo__types_8h}{lo\_\-types.h} \end{DoxyParams}
\hypertarget{group__liblo_ga6713cedfb0b2c4f066ec8a19366bf095}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-new\_\-with\_\-proto@{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto}}
\index{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto@{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto}]{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server\_\-thread} lo\_\-server\_\-thread\_\-new\_\-with\_\-proto (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ port, }
\item[{int}]{ proto, }
\item[{{\bf lo\_\-err\_\-handler}}]{ err\_\-h}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga6713cedfb0b2c4f066ec8a19366bf095}


Create a new server thread to handle incoming OSC messages, specifying protocol. 

Server threads take care of the message reception and dispatch by transparently creating a system thread to handle incoming messages. Use this if you do not want to handle the threading yourself.


\begin{DoxyParams}{Parameters}
\item[{\em port}]If NULL is passed then an unused port will be chosen by the system, its number may be retrieved with \hyperlink{group__liblo_ga22f4b18eeac41490647ab9fe2333f933}{lo\_\-server\_\-thread\_\-get\_\-port()} so it can be passed to clients. Otherwise a decimal port number, service name or UNIX domain socket path may be passed. \item[{\em proto}]The protocol to use, should be one of LO\_\-UDP, LO\_\-TCP or LO\_\-UNIX. \item[{\em err\_\-h}]A function that will be called in the event of an error being raised. The function prototype is defined in \hyperlink{lo__types_8h}{lo\_\-types.h} \end{DoxyParams}
\hypertarget{group__liblo_ga4b284c1b96d0354c5de4ff7ba5a44fbc}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-start@{lo\_\-server\_\-thread\_\-start}}
\index{lo\_\-server\_\-thread\_\-start@{lo\_\-server\_\-thread\_\-start}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-start (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga4b284c1b96d0354c5de4ff7ba5a44fbc}


Start the server thread. 


\begin{DoxyParams}{Parameters}
\item[{\em st}]the server thread to start. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
\hypertarget{group__liblo_ga06992ac46b04e58cb77d7c519a578f57}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-stop@{lo\_\-server\_\-thread\_\-stop}}
\index{lo\_\-server\_\-thread\_\-stop@{lo\_\-server\_\-thread\_\-stop}!liblo@{liblo}}
\subsubsection[{lo\_\-server\_\-thread\_\-stop}]{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-stop (
\begin{DoxyParamCaption}
\item[{{\bf lo\_\-server\_\-thread}}]{ st}
\end{DoxyParamCaption}
)}}
\label{group__liblo_ga06992ac46b04e58cb77d7c519a578f57}


Stop the server thread. 


\begin{DoxyParams}{Parameters}
\item[{\em st}]the server thread to start. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
Less than 0 on failure, 0 on success. 
\end{DoxyReturn}
