summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Runge <dave@sleepmap.de>2017-06-29 17:51:17 +0200
committerDavid Runge <dave@sleepmap.de>2017-06-29 17:51:17 +0200
commit0976f404535252eb7aedf5a4dbed154441bc4aa4 (patch)
treed8e461ec7a7c309c31fb833eed7becfbd1887b8f
parent34876fd9af2d27d1db53dcb6fcf0e08f8883784f (diff)
downloadmaster-thesis-0976f404535252eb7aedf5a4dbed154441bc4aa4.tar.gz
master-thesis-0976f404535252eb7aedf5a4dbed154441bc4aa4.tar.bz2
master-thesis-0976f404535252eb7aedf5a4dbed154441bc4aa4.tar.xz
master-thesis-0976f404535252eb7aedf5a4dbed154441bc4aa4.zip
thesis/thesis.tex: Expanding on controlling a server, controlling a client, rendering on dedicated speakers.
-rw-r--r--thesis/thesis.tex28
1 files changed, 28 insertions, 0 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 6a163e8..ba23607 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -416,12 +416,40 @@ parskip=never]{paper}
\subsubsection{Remote controlling a server}
\label{subsubsec:remote_controlling_a_server}
+ A \gls{ssr} server instance in the notion of a medium to large scale
+ reproduction setup is supposed to have a set of \textit{n}
+ (pre-)assigned clients. Generally, controlling it should be possible
+ through either \gls{udp} or \gls{tcp}.
+ Every message sent to it, should be distributed to all of its clients
+ (if applicable), preferably using the same protocol used to communicate
+ with the server. The messaging system should be flexible and
+ scriptable.\\
+ All audio inputs available to the server should be available to its
+ clients as well. A server instance should be able to render audio just
+ as a client would. It should be able to receive messages from its
+ clients and act upon them (e.g.\ updating \gls{gui} elements).
\subsubsection{Remote controlling clients}
\label{subsubsec:remote_controlling_a_client}
+ A \gls{ssr} client can either be local (on the same machine) or
+ somewhere on the same network, as the server or application controlling
+ it. It should not make a difference, if the client instance is
+ controlled by a server instance or any other application, implementing
+ the messaging system it uses. A client should send an update to its
+ server or the application controlling it, upon receiving a valid
+ message.
\subsubsection{Rendering on dedicated speakers}
\label{subsubsec:rendering_on_dedicated_speakers}
+ In a medium or large scale setup, \textit{n} clients collectively
+ render audio on \textit{l} loudspeakers, while all should be using the
+ same \textit{i} inputs and each have \textit{c} hardware outputs.
+ \textit{l} is preferably a multiple of \textit{c}, but definitely
+ larger than \textit{c}.\\
+ As the described setups usually have too many loudspeakers for only one
+ machine (i.e.\ a client), a system has to be conceived, by which each
+ client will only render on its specifically assigned subset of size
+ \textit{c} of the \textit{n} loudspeakers.
\subsection{Publisher/Subscriber interface}
\label{subsec:publisher_subscriber_interface}