From 0976f404535252eb7aedf5a4dbed154441bc4aa4 Mon Sep 17 00:00:00 2001 From: David Runge Date: Thu, 29 Jun 2017 17:51:17 +0200 Subject: thesis/thesis.tex: Expanding on controlling a server, controlling a client, rendering on dedicated speakers. --- thesis/thesis.tex | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'thesis') 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} -- cgit v1.2.3-70-g09d2