\hypertarget{group__liblo}{
\section{High-level OSC API}
\label{group__liblo}\index{High-level OSC API@{High-level OSC API}}
}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structlo__timetag}{lo\_\-timetag}
\begin{CompactList}\small\item\em A structure to store OSC TimeTag values. \item\end{CompactList}\item 
union \hyperlink{unionlo__arg}{lo\_\-arg}
\begin{CompactList}\small\item\em Union used to read values from incoming messages. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{group__liblo_gfa8cfc08b763b0c039fb64a73c4c77da}{LO\_\-TT\_\-IMMEDIATE}~((\hyperlink{structlo__timetag}{lo\_\-timetag})\{0U,0U\})
\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{group__liblo_g11838c576b0197c255ce805fd7434736}{lo\_\-type} \{ \par
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347364ba0490216baf238719e1200325b037d}{LO\_\-INT32} =  'i', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736b3245e1b7edacde57f71d200840b0aa3}{LO\_\-FLOAT} =  'f', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347366121bddbedc79af47d86a8a25af47ad2}{LO\_\-STRING} =  's', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736140f48c944b6c888846b8109ceaeb98b}{LO\_\-BLOB} =  'b', 
\par
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736cfabb7d6ec1d4f9d033227de24c76b30}{LO\_\-INT64} =  'h', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347360516741a260e7109d2b0ed0c92beddbe}{LO\_\-TIMETAG} =  't', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347360ca92c843dfb45f4edabdefd60cdeca6}{LO\_\-DOUBLE} =  'd', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347364ae18ed5170672498406c36b16e7a948}{LO\_\-SYMBOL} =  'S', 
\par
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736f93c0cdf731b1edf4b9d44ad7d7dba26}{LO\_\-CHAR} =  'c', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736d295b5f7669a7220102082e20fd14ec0}{LO\_\-MIDI} =  'm', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736ce8c12ac58d6aaee426dc41cfa609009}{LO\_\-TRUE} =  'T', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd7434736e85a45e7bc3999069d82da7245d172f4}{LO\_\-FALSE} =  'F', 
\par
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd743473680fcaab02318c562b094ca407f81d2b3}{LO\_\-NIL} =  'N', 
\hyperlink{group__liblo_gg11838c576b0197c255ce805fd74347369b77e96b653de1f91344549b9b9a0273}{LO\_\-INFINITUM} =  'I'
 \}
\begin{CompactList}\small\item\em An enumeration of the OSC types liblo can send and receive. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} \hyperlink{group__liblo_ge5af61a02ab08871d3ea070c8f770cfe}{lo\_\-address\_\-new} (const char $\ast$host, const char $\ast$port)
\begin{CompactList}\small\item\em Declare an OSC destination, given IP address and port number. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} \hyperlink{group__liblo_g1af2cb3c80393cba838f64dfcdc35620}{lo\_\-address\_\-new\_\-from\_\-url} (const char $\ast$url)
\begin{CompactList}\small\item\em Create a lo\_\-address object from an OSC URL. \item\end{CompactList}\item 
void \hyperlink{group__liblo_g82b9a2d1d30214114eb5298f43aebac5}{lo\_\-address\_\-free} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t)
\begin{CompactList}\small\item\em Free the memory used by the lo\_\-address object. \item\end{CompactList}\item 
void \hyperlink{group__liblo_gcd72097b92411db148844d89071fd281}{lo\_\-address\_\-set\_\-ttl} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t, int ttl)
\begin{CompactList}\small\item\em Set the Time-to-Live value for a given target address. \item\end{CompactList}\item 
int \hyperlink{group__liblo_g3652ba694ba3c153dc96917e7321131c}{lo\_\-address\_\-get\_\-ttl} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} t)
\begin{CompactList}\small\item\em Get the Time-to-Live value for a given target address. \item\end{CompactList}\item 
int \hyperlink{group__liblo_gfa4253874f97c2c16254ac57d2b7c987}{lo\_\-send} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, const char $\ast$path, const char $\ast$type,...)
\begin{CompactList}\small\item\em Send a OSC formatted message to the address specified. \item\end{CompactList}\item 
int \hyperlink{group__liblo_ga4a314562b09e2fd00749a5d0b4d0955}{lo\_\-send\_\-from} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, \hyperlink{lo__types_8h_59067bf50cf8abb4371da6f03c9036c9}{lo\_\-server} from, \hyperlink{structlo__timetag}{lo\_\-timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{CompactList}\small\item\em Send a OSC formatted message to the address specified, from the same socket as the specificied server. \item\end{CompactList}\item 
int \hyperlink{group__liblo_g42ec6437789c7516c5b7909d8504751a}{lo\_\-send\_\-timestamped} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} targ, \hyperlink{structlo__timetag}{lo\_\-timetag} ts, const char $\ast$path, const char $\ast$type,...)
\begin{CompactList}\small\item\em Send a OSC formatted message to the address specified, scheduled to be dispatch at some time in the future. \item\end{CompactList}\item 
int \hyperlink{group__liblo_g407e1694a2ec58ee5b90c6390e0a5d53}{lo\_\-address\_\-errno} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} a)
\begin{CompactList}\small\item\em Return the error number from the last failed lo\_\-send or lo\_\-address\_\-new call. \item\end{CompactList}\item 
const char $\ast$ \hyperlink{group__liblo_gce321bfb9e529d8640e96e894db5400c}{lo\_\-address\_\-errstr} (\hyperlink{lo__types_8h_bf9b53223467de596b89e1377b0f3f3d}{lo\_\-address} a)
\begin{CompactList}\small\item\em Return the error string from the last failed lo\_\-send or lo\_\-address\_\-new call. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_gbe3e0c31189adfd7624de6c507b610ba}{lo\_\-server\_\-thread\_\-new} (const char $\ast$port, \hyperlink{lo__types_8h_a5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{CompactList}\small\item\em Create a new server thread to handle incoming OSC messages. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_g0fa9fcae4eabe09847d46b134dc33aa4}{lo\_\-server\_\-thread\_\-new\_\-multicast} (const char $\ast$group, const char $\ast$port, \hyperlink{lo__types_8h_a5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{CompactList}\small\item\em 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. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} \hyperlink{group__liblo_g6713cedfb0b2c4f066ec8a19366bf095}{lo\_\-server\_\-thread\_\-new\_\-with\_\-proto} (const char $\ast$port, int proto, \hyperlink{lo__types_8h_a5d2e4aa0ff9d4459fcc76e7ed5839fc}{lo\_\-err\_\-handler} err\_\-h)
\begin{CompactList}\small\item\em Create a new server thread to handle incoming OSC messages, specifying protocol. \item\end{CompactList}\item 
void \hyperlink{group__liblo_gd72be3f2a81b9583ad69dd007080c0e5}{lo\_\-server\_\-thread\_\-free} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Free memory taken by a server thread. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_66faedf5da13231d8c0166870477dce5}{lo\_\-method} \hyperlink{group__liblo_gcff9c90a8efc400448276b2d20831010}{lo\_\-server\_\-thread\_\-add\_\-method} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st, const char $\ast$path, const char $\ast$typespec, \hyperlink{lo__types_8h_3b1c86c0925d05e13b5438ce8fe80a6c}{lo\_\-method\_\-handler} h, void $\ast$user\_\-data)
\begin{CompactList}\small\item\em Add an OSC method to the specifed server thread. \item\end{CompactList}\item 
void \hyperlink{group__liblo_g072edf53338bc807444c4b510643a828}{lo\_\-server\_\-thread\_\-del\_\-method} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st, const char $\ast$path, const char $\ast$typespec)
\begin{CompactList}\small\item\em Delete an OSC method from the specifed server thread. \item\end{CompactList}\item 
void \hyperlink{group__liblo_g6187bacbdd21975bf9d34f5d6de66ba8}{lo\_\-server\_\-thread\_\-start} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Start the server thread. \item\end{CompactList}\item 
void \hyperlink{group__liblo_g639e6b7a05852aa9cf089cc8e01b98e7}{lo\_\-server\_\-thread\_\-stop} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Stop the server thread. \item\end{CompactList}\item 
int \hyperlink{group__liblo_g22f4b18eeac41490647ab9fe2333f933}{lo\_\-server\_\-thread\_\-get\_\-port} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Return the port number that the server thread has bound to. \item\end{CompactList}\item 
char $\ast$ \hyperlink{group__liblo_gc2805a7cbdd9465be4ca5101c569faf0}{lo\_\-server\_\-thread\_\-get\_\-url} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Return a URL describing the address of the server thread. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_59067bf50cf8abb4371da6f03c9036c9}{lo\_\-server} \hyperlink{group__liblo_gb968d51fa6e0d4bea92e3f84f5556161}{lo\_\-server\_\-thread\_\-get\_\-server} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Return the lo\_\-server for a lo\_\-server\_\-thread. \item\end{CompactList}\item 
int \hyperlink{group__liblo_g7bc3d8361b65e3ad112a1da956d9114e}{lo\_\-server\_\-thread\_\-events\_\-pending} (\hyperlink{lo__types_8h_09996ffb6bde21b8fb6106897b88feae}{lo\_\-server\_\-thread} st)
\begin{CompactList}\small\item\em Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the thread. \item\end{CompactList}\item 
\hyperlink{lo__types_8h_8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} \hyperlink{group__liblo_gffb2348c70cb0e1214fd50bdc7574c39}{lo\_\-blob\_\-new} (int32\_\-t size, const void $\ast$data)
\begin{CompactList}\small\item\em Create a new OSC blob type. \item\end{CompactList}\item 
void \hyperlink{group__liblo_ga46ef058cfdf14a16936c062ebac19b9}{lo\_\-blob\_\-free} (\hyperlink{lo__types_8h_8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{CompactList}\small\item\em Free the memory taken by a blob. \item\end{CompactList}\item 
uint32\_\-t \hyperlink{group__liblo_gb6c9184f0a54f19319d8a6409487b466}{lo\_\-blob\_\-datasize} (\hyperlink{lo__types_8h_8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{CompactList}\small\item\em Return the ammount of valid data in a lo blob object. \item\end{CompactList}\item 
void $\ast$ \hyperlink{group__liblo_g064e3435301e0df338b75023a7ebf38e}{lo\_\-blob\_\-dataptr} (\hyperlink{lo__types_8h_8e780f8c09e3e4dd737fe249f11d16fc}{lo\_\-blob} b)
\begin{CompactList}\small\item\em Return a pointer to the start of the blob data to allow contents to be changed. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Defines the high-level API functions neccesary to implement OSC support. Should be adequate for most applications, but ig 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_gfa8cfc08b763b0c039fb64a73c4c77da}{
\index{liblo@{liblo}!LO\_\-TT\_\-IMMEDIATE@{LO\_\-TT\_\-IMMEDIATE}}
\index{LO\_\-TT\_\-IMMEDIATE@{LO\_\-TT\_\-IMMEDIATE}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define LO\_\-TT\_\-IMMEDIATE~(({\bf lo\_\-timetag})\{0U,0U\})}}
\label{group__liblo_gfa8cfc08b763b0c039fb64a73c4c77da}




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


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 arguemnts with \hyperlink{group__liblo_gfa4253874f97c2c16254ac57d2b7c987}{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_gg11838c576b0197c255ce805fd74347364ba0490216baf238719e1200325b037d}{
LO\_\-INT32}
\label{group__liblo_gg11838c576b0197c255ce805fd74347364ba0490216baf238719e1200325b037d}
}]32 bit signed integer. \index{LO\_\-FLOAT@{LO\_\-FLOAT}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-FLOAT@{LO\_\-FLOAT}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd7434736b3245e1b7edacde57f71d200840b0aa3}{
LO\_\-FLOAT}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736b3245e1b7edacde57f71d200840b0aa3}
}]32 bit IEEE-754 float. \index{LO\_\-STRING@{LO\_\-STRING}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-STRING@{LO\_\-STRING}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd74347366121bddbedc79af47d86a8a25af47ad2}{
LO\_\-STRING}
\label{group__liblo_gg11838c576b0197c255ce805fd74347366121bddbedc79af47d86a8a25af47ad2}
}]Standard C, NULL terminated string. \index{LO\_\-BLOB@{LO\_\-BLOB}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-BLOB@{LO\_\-BLOB}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd7434736140f48c944b6c888846b8109ceaeb98b}{
LO\_\-BLOB}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736140f48c944b6c888846b8109ceaeb98b}
}]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_gg11838c576b0197c255ce805fd7434736cfabb7d6ec1d4f9d033227de24c76b30}{
LO\_\-INT64}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736cfabb7d6ec1d4f9d033227de24c76b30}
}]64 bit signed integer. \index{LO\_\-TIMETAG@{LO\_\-TIMETAG}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-TIMETAG@{LO\_\-TIMETAG}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd74347360516741a260e7109d2b0ed0c92beddbe}{
LO\_\-TIMETAG}
\label{group__liblo_gg11838c576b0197c255ce805fd74347360516741a260e7109d2b0ed0c92beddbe}
}]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_gg11838c576b0197c255ce805fd74347360ca92c843dfb45f4edabdefd60cdeca6}{
LO\_\-DOUBLE}
\label{group__liblo_gg11838c576b0197c255ce805fd74347360ca92c843dfb45f4edabdefd60cdeca6}
}]64 bit IEEE-754 double. \index{LO\_\-SYMBOL@{LO\_\-SYMBOL}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-SYMBOL@{LO\_\-SYMBOL}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd74347364ae18ed5170672498406c36b16e7a948}{
LO\_\-SYMBOL}
\label{group__liblo_gg11838c576b0197c255ce805fd74347364ae18ed5170672498406c36b16e7a948}
}]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_gg11838c576b0197c255ce805fd7434736f93c0cdf731b1edf4b9d44ad7d7dba26}{
LO\_\-CHAR}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736f93c0cdf731b1edf4b9d44ad7d7dba26}
}]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_gg11838c576b0197c255ce805fd7434736d295b5f7669a7220102082e20fd14ec0}{
LO\_\-MIDI}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736d295b5f7669a7220102082e20fd14ec0}
}]A 4 byte MIDI packet. \index{LO\_\-TRUE@{LO\_\-TRUE}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-TRUE@{LO\_\-TRUE}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd7434736ce8c12ac58d6aaee426dc41cfa609009}{
LO\_\-TRUE}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736ce8c12ac58d6aaee426dc41cfa609009}
}]Sybol representing the value True. \index{LO\_\-FALSE@{LO\_\-FALSE}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-FALSE@{LO\_\-FALSE}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd7434736e85a45e7bc3999069d82da7245d172f4}{
LO\_\-FALSE}
\label{group__liblo_gg11838c576b0197c255ce805fd7434736e85a45e7bc3999069d82da7245d172f4}
}]Sybol representing the value False. \index{LO\_\-NIL@{LO\_\-NIL}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-NIL@{LO\_\-NIL}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd743473680fcaab02318c562b094ca407f81d2b3}{
LO\_\-NIL}
\label{group__liblo_gg11838c576b0197c255ce805fd743473680fcaab02318c562b094ca407f81d2b3}
}]Sybol representing the value Nil. \index{LO\_\-INFINITUM@{LO\_\-INFINITUM}!liblo@{liblo}}\index{liblo@{liblo}!LO\_\-INFINITUM@{LO\_\-INFINITUM}}\item[{\em 
\hypertarget{group__liblo_gg11838c576b0197c255ce805fd74347369b77e96b653de1f91344549b9b9a0273}{
LO\_\-INFINITUM}
\label{group__liblo_gg11838c576b0197c255ce805fd74347369b77e96b653de1f91344549b9b9a0273}
}]Sybol representing the value Infinitum. \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{group__liblo_g407e1694a2ec58ee5b90c6390e0a5d53}{
\index{liblo@{liblo}!lo\_\-address\_\-errno@{lo\_\-address\_\-errno}}
\index{lo\_\-address\_\-errno@{lo\_\-address\_\-errno}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-address\_\-errno ({\bf lo\_\-address} {\em a})}}
\label{group__liblo_g407e1694a2ec58ee5b90c6390e0a5d53}


Return the error number from the last failed lo\_\-send or lo\_\-address\_\-new call. 

\hypertarget{group__liblo_gce321bfb9e529d8640e96e894db5400c}{
\index{liblo@{liblo}!lo\_\-address\_\-errstr@{lo\_\-address\_\-errstr}}
\index{lo\_\-address\_\-errstr@{lo\_\-address\_\-errstr}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ lo\_\-address\_\-errstr ({\bf lo\_\-address} {\em a})}}
\label{group__liblo_gce321bfb9e529d8640e96e894db5400c}


Return the error string from the last failed lo\_\-send or lo\_\-address\_\-new call. 

\hypertarget{group__liblo_g82b9a2d1d30214114eb5298f43aebac5}{
\index{liblo@{liblo}!lo\_\-address\_\-free@{lo\_\-address\_\-free}}
\index{lo\_\-address\_\-free@{lo\_\-address\_\-free}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-address\_\-free ({\bf lo\_\-address} {\em t})}}
\label{group__liblo_g82b9a2d1d30214114eb5298f43aebac5}


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

\hypertarget{group__liblo_g3652ba694ba3c153dc96917e7321131c}{
\index{liblo@{liblo}!lo\_\-address\_\-get\_\-ttl@{lo\_\-address\_\-get\_\-ttl}}
\index{lo\_\-address\_\-get\_\-ttl@{lo\_\-address\_\-get\_\-ttl}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-address\_\-get\_\-ttl ({\bf lo\_\-address} {\em t})}}
\label{group__liblo_g3652ba694ba3c153dc96917e7321131c}


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

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


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\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{description}
\end{Desc}
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_g1af2cb3c80393cba838f64dfcdc35620}{
\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{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-address} lo\_\-address\_\-new\_\-from\_\-url (const char $\ast$ {\em url})}}
\label{group__liblo_g1af2cb3c80393cba838f64dfcdc35620}


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

example: osc.udp://localhost:4444/my/path/ \hypertarget{group__liblo_gcd72097b92411db148844d89071fd281}{
\index{liblo@{liblo}!lo\_\-address\_\-set\_\-ttl@{lo\_\-address\_\-set\_\-ttl}}
\index{lo\_\-address\_\-set\_\-ttl@{lo\_\-address\_\-set\_\-ttl}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-address\_\-set\_\-ttl ({\bf lo\_\-address} {\em t}, \/  int {\em ttl})}}
\label{group__liblo_gcd72097b92411db148844d89071fd281}


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{Desc}
\item[Parameters:]
\begin{description}
\item[{\em t}]An OSC address. \item[{\em ttl}]An integer specifying the scope of a multicast UDP message. \end{description}
\end{Desc}
\hypertarget{group__liblo_g064e3435301e0df338b75023a7ebf38e}{
\index{liblo@{liblo}!lo\_\-blob\_\-dataptr@{lo\_\-blob\_\-dataptr}}
\index{lo\_\-blob\_\-dataptr@{lo\_\-blob\_\-dataptr}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ lo\_\-blob\_\-dataptr ({\bf lo\_\-blob} {\em b})}}
\label{group__liblo_g064e3435301e0df338b75023a7ebf38e}


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

\hypertarget{group__liblo_gb6c9184f0a54f19319d8a6409487b466}{
\index{liblo@{liblo}!lo\_\-blob\_\-datasize@{lo\_\-blob\_\-datasize}}
\index{lo\_\-blob\_\-datasize@{lo\_\-blob\_\-datasize}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t lo\_\-blob\_\-datasize ({\bf lo\_\-blob} {\em b})}}
\label{group__liblo_gb6c9184f0a54f19319d8a6409487b466}


Return the ammount of valid data in a lo blob object. 

If you want to know the storage size, use lo\_\-arg\_\-size(). \hypertarget{group__liblo_ga46ef058cfdf14a16936c062ebac19b9}{
\index{liblo@{liblo}!lo\_\-blob\_\-free@{lo\_\-blob\_\-free}}
\index{lo\_\-blob\_\-free@{lo\_\-blob\_\-free}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-blob\_\-free ({\bf lo\_\-blob} {\em b})}}
\label{group__liblo_ga46ef058cfdf14a16936c062ebac19b9}


Free the memory taken by a blob. 

\hypertarget{group__liblo_gffb2348c70cb0e1214fd50bdc7574c39}{
\index{liblo@{liblo}!lo\_\-blob\_\-new@{lo\_\-blob\_\-new}}
\index{lo\_\-blob\_\-new@{lo\_\-blob\_\-new}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-blob} lo\_\-blob\_\-new (int32\_\-t {\em size}, \/  const void $\ast$ {\em data})}}
\label{group__liblo_gffb2348c70cb0e1214fd50bdc7574c39}


Create a new OSC blob type. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em size}]The ammount 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{description}
\end{Desc}
\hypertarget{group__liblo_gfa4253874f97c2c16254ac57d2b7c987}{
\index{liblo@{liblo}!lo\_\-send@{lo\_\-send}}
\index{lo\_\-send@{lo\_\-send}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send ({\bf lo\_\-address} {\em targ}, \/  const char $\ast$ {\em path}, \/  const char $\ast$ {\em type}, \/   {\em ...})}}
\label{group__liblo_gfa4253874f97c2c16254ac57d2b7c987}


Send a OSC formatted message to the address specified. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\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 lo\_\-types\_\-common.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{description}
\end{Desc}
example:\par
 lo\_\-send(t, \char`\"{}/foo/bar\char`\"{}, \char`\"{}ff\char`\"{}, 0.1f, 23.0f);

returns -1 on failure. \hypertarget{group__liblo_ga4a314562b09e2fd00749a5d0b4d0955}{
\index{liblo@{liblo}!lo\_\-send\_\-from@{lo\_\-send\_\-from}}
\index{lo\_\-send\_\-from@{lo\_\-send\_\-from}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send\_\-from ({\bf lo\_\-address} {\em targ}, \/  {\bf lo\_\-server} {\em from}, \/  {\bf lo\_\-timetag} {\em ts}, \/  const char $\ast$ {\em path}, \/  const char $\ast$ {\em type}, \/   {\em ...})}}
\label{group__liblo_ga4a314562b09e2fd00749a5d0b4d0955}


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\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 lo\_\-types\_\-common.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{description}
\end{Desc}
example:\par
 serv = lo\_\-server\_\-new(NULL, err);\par
 lo\_\-server\_\-add\_\-method(serv, \char`\"{}/reply\char`\"{}, \char`\"{}ss\char`\"{}, reply\_\-handler, NULL); lo\_\-send\_\-from(t, serv, LO\_\-TT\_\-IMMEDIATE, \char`\"{}/foo/bar\char`\"{}, \char`\"{}ff\char`\"{}, 0.1f, 23.0f);

on success returns the number of bytes sent, returns -1 on failure. \hypertarget{group__liblo_g42ec6437789c7516c5b7909d8504751a}{
\index{liblo@{liblo}!lo\_\-send\_\-timestamped@{lo\_\-send\_\-timestamped}}
\index{lo\_\-send\_\-timestamped@{lo\_\-send\_\-timestamped}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-send\_\-timestamped ({\bf lo\_\-address} {\em targ}, \/  {\bf lo\_\-timetag} {\em ts}, \/  const char $\ast$ {\em path}, \/  const char $\ast$ {\em type}, \/   {\em ...})}}
\label{group__liblo_g42ec6437789c7516c5b7909d8504751a}


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\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 lo\_\-types\_\-common.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{description}
\end{Desc}
example:\par
 \hyperlink{structlo__timetag}{lo\_\-timetag} now;\par
 lo\_\-timetag\_\-now(\&now);\par
 lo\_\-send\_\-timestamped(t, now, \char`\"{}/foo/bar\char`\"{}, \char`\"{}ff\char`\"{}, 0.1f, 23.0f);

on success returns the number of bytes sent, returns -1 on failure. \hypertarget{group__liblo_gcff9c90a8efc400448276b2d20831010}{
\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{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-method} lo\_\-server\_\-thread\_\-add\_\-method ({\bf lo\_\-server\_\-thread} {\em st}, \/  const char $\ast$ {\em path}, \/  const char $\ast$ {\em typespec}, \/  {\bf lo\_\-method\_\-handler} {\em h}, \/  void $\ast$ {\em user\_\-data})}}
\label{group__liblo_gcff9c90a8efc400448276b2d20831010}


Add an OSC method to the specifed server thread. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\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{description}
\end{Desc}
\hypertarget{group__liblo_g072edf53338bc807444c4b510643a828}{
\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{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-del\_\-method ({\bf lo\_\-server\_\-thread} {\em st}, \/  const char $\ast$ {\em path}, \/  const char $\ast$ {\em typespec})}}
\label{group__liblo_g072edf53338bc807444c4b510643a828}


Delete an OSC method from the specifed server thread. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\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{description}
\end{Desc}
\hypertarget{group__liblo_g7bc3d8361b65e3ad112a1da956d9114e}{
\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{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-events\_\-pending ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_g7bc3d8361b65e3ad112a1da956d9114e}


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

\hypertarget{group__liblo_gd72be3f2a81b9583ad69dd007080c0e5}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-free@{lo\_\-server\_\-thread\_\-free}}
\index{lo\_\-server\_\-thread\_\-free@{lo\_\-server\_\-thread\_\-free}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-free ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_gd72be3f2a81b9583ad69dd007080c0e5}


Free memory taken by a server thread. 

Frees the memory, and, if currently running will stop the associated thread. \hypertarget{group__liblo_g22f4b18eeac41490647ab9fe2333f933}{
\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{\setlength{\rightskip}{0pt plus 5cm}int lo\_\-server\_\-thread\_\-get\_\-port ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_g22f4b18eeac41490647ab9fe2333f933}


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

\hypertarget{group__liblo_gb968d51fa6e0d4bea92e3f84f5556161}{
\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{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server} lo\_\-server\_\-thread\_\-get\_\-server ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_gb968d51fa6e0d4bea92e3f84f5556161}


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

This function is useful for passing a thread's lo\_\-server to \hyperlink{group__liblo_ga4a314562b09e2fd00749a5d0b4d0955}{lo\_\-send\_\-from()}. \hypertarget{group__liblo_gc2805a7cbdd9465be4ca5101c569faf0}{
\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{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ lo\_\-server\_\-thread\_\-get\_\-url ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_gc2805a7cbdd9465be4ca5101c569faf0}


Return a URL describing the address of the server thread. 

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


Create a new server thread to handle incoming OSC messages. 

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

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em port}]If NULL is passed then an unused port will be chosen by the system, its number may be retreived with \hyperlink{group__liblo_g22f4b18eeac41490647ab9fe2333f933}{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{description}
\end{Desc}
\hypertarget{group__liblo_g0fa9fcae4eabe09847d46b134dc33aa4}{
\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{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server\_\-thread} lo\_\-server\_\-thread\_\-new\_\-multicast (const char $\ast$ {\em group}, \/  const char $\ast$ {\em port}, \/  {\bf lo\_\-err\_\-handler} {\em err\_\-h})}}
\label{group__liblo_g0fa9fcae4eabe09847d46b134dc33aa4}


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{Desc}
\item[Parameters:]
\begin{description}
\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_g22f4b18eeac41490647ab9fe2333f933}{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{description}
\end{Desc}
\hypertarget{group__liblo_g6713cedfb0b2c4f066ec8a19366bf095}{
\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{\setlength{\rightskip}{0pt plus 5cm}{\bf lo\_\-server\_\-thread} lo\_\-server\_\-thread\_\-new\_\-with\_\-proto (const char $\ast$ {\em port}, \/  int {\em proto}, \/  {\bf lo\_\-err\_\-handler} {\em err\_\-h})}}
\label{group__liblo_g6713cedfb0b2c4f066ec8a19366bf095}


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 systme thread to handle incoming messages. Use this if you do not want to handle the threading yourself.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em port}]If NULL is passed then an unused port will be chosen by the system, its number may be retreived with \hyperlink{group__liblo_g22f4b18eeac41490647ab9fe2333f933}{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{description}
\end{Desc}
\hypertarget{group__liblo_g6187bacbdd21975bf9d34f5d6de66ba8}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-start@{lo\_\-server\_\-thread\_\-start}}
\index{lo\_\-server\_\-thread\_\-start@{lo\_\-server\_\-thread\_\-start}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-start ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_g6187bacbdd21975bf9d34f5d6de66ba8}


Start the server thread. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]the server thread to start. \end{description}
\end{Desc}
\hypertarget{group__liblo_g639e6b7a05852aa9cf089cc8e01b98e7}{
\index{liblo@{liblo}!lo\_\-server\_\-thread\_\-stop@{lo\_\-server\_\-thread\_\-stop}}
\index{lo\_\-server\_\-thread\_\-stop@{lo\_\-server\_\-thread\_\-stop}!liblo@{liblo}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lo\_\-server\_\-thread\_\-stop ({\bf lo\_\-server\_\-thread} {\em st})}}
\label{group__liblo_g639e6b7a05852aa9cf089cc8e01b98e7}


Stop the server thread. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]the server thread to start. \end{description}
\end{Desc}
