diff options
Diffstat (limited to 'thesis')
-rw-r--r-- | thesis/thesis.tex | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex index 9cb0d3e..463091f 100644 --- a/thesis/thesis.tex +++ b/thesis/thesis.tex @@ -49,9 +49,10 @@ \newacronym{asdf}{ASDF}{Audio Scene Description Format} \newacronym{bs}{BS}{Binaural Synthesis} \newacronym{brs}{BRS}{Binaural Room Synthesis} +\newacronym{cc}{CC}{Creative Commons} \newacronym{cicm}{CICM}{Centre de recherche Informatique et Création Musicale} \newacronym{cnmat}{CNMAT}{Center for New Music and Audio Technologies} -\newacronym{cc}{CC}{Creative Commons} +\newacronym{cpu}{CPU}{Central Processing Unit} \newacronym{fdl}{FDL}{GNU Free Documentation License} \newacronym{gpl}{GPL}{GNU General Public License} \newacronym{gui}{GUI}{Graphical user interface} @@ -218,10 +219,10 @@ has a complex setup chain and many bugs, that are not likely to get fixed any time soon. - \subsection{HoaLibrary for PureData} - \label{subsec:hoalibraryforpd} + \subsection{HoaLibrary (PureData extension)} + \label{subsec:hoalibrary_puredata_extension} \subsection{3Dj (SuperCollider Quark)} - \label{subsec:3djsupercolliderquark} + \label{subsec:3dj_supercollider_quark} \subsection{WFSCollider} \label{subsec:wfscollider} @@ -554,7 +555,7 @@ the C++ side of the library, is responsible for assigning a network port to listen to for incoming messages, listening for messages, executing code on their arrival (callback handling) and sending - messages to clients. As most applications, that use liblo, use + messages to clients. As most applications, facilitating liblo, use \gls{osc} only as a messaging system, it usually means, that the application itself is not single-purpose and is busy computing something else most of the time. Therefore it makes sense to run a @@ -727,6 +728,30 @@ \cleardoublepage \subsubsection{Message levels} \label{subsubsec:message_levels} + The \gls{osc} interface conceived in the course of this work implements + several message levels to be able to distinguish between types of + clients and servers.\\ + The \textit{enumeration class} MessageLevel in + \textit{src/ssr\_global.h} defines the four types \textit{SERVER}, + \textit{THIN\_CLIENT}, \textit{CLIENT}, \textit{GUI\_CLIENT}.\\ + Client \gls{ssr} instances subscribe to (\gls{ssr}) server instances + with the \textit{MessageLevel} \textit{CLIENT} by default.\\ + Several updating messages, such as information on \gls{cpu} load or master + signal level are not of interest to a rendering client and should + therefore not be sent to them, which is why they are only sent to + clients with a \textit{MessageLevel} of \textit{GUI\_CLIENT} connected + to a \gls{ssr} instance.\\ + Lightweight \gls{osc} capable applications used to control a \gls{ssr} + server instance or mimicing the behavior of a server instance to + control a set of clients also don't need all the processing and + transport related information of clients sent to them, which is why + they ought to subscribe to them with the \textit{MessageLevel} + \textit{THIN\_CLIENT}.\\ + Server instances subscribed to, get the \textit{MessageLevel} + \textit{SERVER} assigned to by each client by default. To change the + type of \gls{osc} messages sent to them, the server's + \textit{MessageLevel} can be set to a higher value (i.e. + \textit{THIN\_CLIENT}). \subsubsection{Message interface} \label{subsubsec:message_interface} @@ -963,7 +988,7 @@ \begin{tabular}{ p{6.5cm} | p{0.9cm} | p{4.3cm} } \textbf{Path} & \textbf{Types} & \textbf{Description} \\ \hline - \texttt{/update/cpu\_load} & f & CPU load changes.\\ + \texttt{/update/cpu\_load} & f & \gls{cpu} load changes.\\ \noalign{\smallskip} \texttt{/update/processing/state} & T & Processing state is set.\\ \noalign{\smallskip} @@ -1057,7 +1082,7 @@ \texttt{/update/transport/state} & T & \gls{jack} transport was started.\\ \end{tabular} - \caption{\gls{osc} messages for updating information on cpu load, + \caption{\gls{osc} messages for updating information on \gls{cpu} load, processing, reference, scene, source, and transport of clients on a server.\\ Understood by server.\\ |