summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--thesis/thesis.tex39
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.\\