summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--thesis/thesis.tex73
1 files changed, 64 insertions, 9 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 4614530..7b02882 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -117,14 +117,19 @@ parskip=never]{paper}
description={Version 4 (legacy) of the cross-platform application framework
for creating desktop applications.}
}
+\newglossaryentry{qt5}{
+ name={Qt5},
+ description={Version 5 of the cross-platform application framework for
+ creating desktop applications.}
+}
\makeglossaries
\graphicspath{{../images//}}
-\AtBeginDocument{\hypersetup{pdftitle = {A Networking Extension for the SoundScape Renderer},
- pdfauthor = {David Runge}
+\AtBeginDocument{\hypersetup{pdftitle = {A Networking Extension for the
+ SoundScape Renderer}, pdfauthor = {David Runge}
}
}
@@ -268,7 +273,7 @@ parskip=never]{paper}
\end{itemize}
Different concepts and contexts apply to all of the renderers, which are
about to be explained briefly in the following sections, prefixed by a
- section about spatial audio renderer appliances and followed by one about
+ section about spatial audio rendering algorithms and followed by one about
free software and its pitfalls.
\subsection{Spatial audio rendering algorithms}
@@ -714,7 +719,9 @@ parskip=never]{paper}
has to offer. Every time a function of the \gls{ssr}'s
\mintinline{c++}{Controller} instance, that was inherited from
\mintinline{c++}{Publisher}, is called, it will issue the call on all
- of its subscribers, too.\\
+ of its subscribers, too. Every message, available to the
+ \gls{ssr}'s~\ref{subsec:ip-interface} is therefore directly bound to
+ its \gls{pubsub} interface's set of functions.\\
\cleardoublepage
\subsection{Open Sound Control interface}
@@ -1011,7 +1018,7 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
elaborated upon in \textbf{\nameref{subsubsec:message_interface}}.\\
A special networked setup, in which the server instance is not
rendering any audio, is discussed in
- \textbf{\nameref{subsubsec:implementing_a_nullrenderer}}.
+ \textbf{\nameref{subsubsec:non-renderer}}.
\paragraph{Client-Server, shared rendering}
\label{para:client_server_shared_rendering}
@@ -1491,7 +1498,7 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
}
\label{tab:ssr-osc-source}
\end{table}
-
+
\noindent A client instance (see~\ref{para:client-instance}) will only
respond to the \textit{direct} messages listed in
Table~\ref{tab:ssr-osc-client-poll-message-level}
@@ -1583,7 +1590,7 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
\label{tab:ssr-osc-update}
\end{table}
- \cleardoublepage
+ \cleardoublepage
\subsubsection{Workflow Examples}
\label{subsubsec:workflow_examples}
@@ -1786,12 +1793,40 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
\cleardoublepage
\section{Discussion}
\label{sec:discussion}
+ The \gls{osc} based networking extension created for the \gls{ssr} is a
+ valuable usability improvement. Its implemented features are discussed
+ further in the following section, followed by an outlook on related
+ future work.\\
+ Due to the versatility of how the \gls{ssr} can be used in a networking
+ context, its likely, that some of its possibilities are not even accounted
+ for.
+
\subsection{Implemented Features}
\label{subsec:implemented_features}
+
\subsection{Future Work}
\label{subsec:future_work}
- \subsubsection{Implementing a NullRenderer}
- \label{subsubsec:implementing_a_nullrenderer}
+ Several features, interesting for different use-cases, could not be
+ implemented in the time frame set for this work. They are however
+ complementary to the \gls{osc} networking extension, or can be
+ implemented on top of it.\\
+
+ \subsubsection{Non-renderer}
+ \label{subsubsec:non-renderer}
+ The \gls{ssr} features a \gls{gui}, that was in the process of being
+ upgraded for \gls{qt5} at the time of writing. Future versions of the
+ software could be used to also display setups of networking
+ instances, instead of only displaying the locally running.\\
+ The implementation could be desirable for massive multi-channel setups
+ and simply switching between several (local or network-attached)
+ \gls{ssr} instances alike.\\
+ The functionalities of the \gls{ssr}'s \gls{gui}, its several spatial
+ audio renderers and \gls{osc} interface (amongst other parts) are
+ determined by its \gls{pubsub}. For the \gls{gui} part of the software
+ to display information about a networked setup, or even switch between
+ several of them, it is therefore not needed or even desirable for that
+ instance to render audio at all.\\
+
\begin{figure}[!htb]
\centering
\includegraphics[scale=1.0, trim = 20mm 204mm 10mm 10mm, clip]
@@ -1808,6 +1843,17 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
}
\label{fig:ssr-client-server-clients-only-shared-output}
\end{figure}
+
+ Figure~\ref{fig:ssr-client-server-clients-only-shared-output}
+ illustrates a scenario, in which a server instance is used to control a
+ set of \textit{n} clients, that collectively render audio (e.g.\ on a
+ large scale \gls{wfs} or \gls{nfc-hoa} system). In contrast to the
+ client instances, the server does not render any audio (i.e.\ has no
+ outputs) and might not even need any audio input.\\
+ The server in this example could also be a client, subscribed to a
+ server instance in a cluster similar to the one in
+ Figure~\ref{fig:ssr-external-client-server-shared-output}.
+
\begin{figure}[!htb]
\centering
\includegraphics[scale=1.0, trim = 20mm 204mm 10mm 10mm, clip]
@@ -1824,7 +1870,16 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
}
\label{fig:ssr-client-server-clients-only-separate-output}
\end{figure}
+
+ The example shown in
+ Figure~\ref{fig:ssr-client-server-clients-only-separate-output} is
+ similar to the aforementioned, with the difference, that its \textit{n}
+ clients render audio on separate systems.\\
+ This could be a set of
+
+
\cleardoublepage
+
\subsubsection{Implementing AlienLoudspeaker}
\label{subsubsec:implementing_alienloudspeaker}