summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Runge <dave@sleepmap.de>2017-06-19 22:18:03 +0200
committerDavid Runge <dave@sleepmap.de>2017-06-19 22:18:03 +0200
commit8e7760e8922b8dd900ce5af5008511696c6f694f (patch)
treef795dfd28120a674b40c2493aed5bf6fd0c137c2
parenta21aab0cb3fab439b981c4d4e702ee4c516f1a6f (diff)
downloadmaster-thesis-8e7760e8922b8dd900ce5af5008511696c6f694f.tar.gz
master-thesis-8e7760e8922b8dd900ce5af5008511696c6f694f.tar.bz2
master-thesis-8e7760e8922b8dd900ce5af5008511696c6f694f.tar.xz
master-thesis-8e7760e8922b8dd900ce5af5008511696c6f694f.zip
thesis/thesis.tex: Adding fancyhdr. Adding minted for listing source code. Adding AAP and NFC-HOA acronyms. Adding Roman page numbering for everything up to TOC. Moving lists before toc. Adding subsubsection about Starting the SSR (with client/server paragraphs). Adding code block for enum class MessageLevel. Adding more info on osc messaging. Adding remaining OSC messages in tables. Adding appendix.
-rw-r--r--thesis/thesis.tex117
1 files changed, 89 insertions, 28 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 4ba79f3..86ecd0d 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -1,9 +1,11 @@
-\documentclass[12pt,a4paper,oneside,titlepage]{paper}
+\documentclass[11pt, a4paper, oneside, titlepage, listof=totoc, headinclude,
+open=right, glossaries=totoc, captions=tableheading, final, BCOR=10mm,
+parskip=never]{paper}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
-\usepackage[dvipsnames,table]{xcolor}
+\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\definecolor{osc-out}{RGB}{150,0,255}
\definecolor{osc-in}{RGB}{0,0,255}
\definecolor{audio-in}{RGB}{255,0,0}
@@ -13,21 +15,16 @@
\definecolor{table-background-one}{RGB}{194,195,194}
\definecolor{table-background-two}{RGB}{210,213,210}
-\usepackage{listings}
-\lstdefinelanguage{Ini}{basicstyle=\ttfamily\tiny,
- columns=fullflexible,
- tag=[s]{[]},
- tagstyle=\color{blue}\bfseries,
- usekeywordsintag=true
-}[html]
-\lstdefinelanguage{bash}{basicstyle=\ttfamily\tiny}
+\usepackage[cache=false,newfloat=true]{minted}
+\usepackage{mdframed}
-\usepackage{ulem}
-\usepackage{lmodern}
-\usepackage{multirow}
+\usepackage{fancyhdr}
+%\usepackage{ulem}
+%\usepackage{lmodern}
\usepackage{url}
\usepackage{graphicx}
\usepackage{pdfpages}
+\usepackage{mathtools}
\usepackage{float}
\floatstyle{boxed}
@@ -43,6 +40,7 @@
% glossary
\usepackage[acronym,nonumberlist,toc]{glossaries}
+\newacronym{aap}{AAP}{Ambisonics Amplitude Panning}
\newacronym{adat}{ADAT}{Alesis Digital Audio Tape}
\newacronym{alsa}{ALSA}{Advanced Linux Sound Architecture}
\newacronym{api}{API}{Application programming interface}
@@ -62,6 +60,7 @@
\newacronym{ip}{IP}{Internet Protocol}
\newacronym{jack}{JACK}{JACK Audio Connection Kit}
\newacronym{madi}{MADI}{Multichannel Audio Digital Interface}
+\newacronym{nfc-hoa}{NFC-HOA}{Near-field-corrected Higher Order Ambisonics}
\newacronym{oop}{OOP}{Object-oriented Programming}
\newacronym{os}{OS}{Operating System}
\newacronym{osc}{OSC}{Open Sound Control}
@@ -81,6 +80,8 @@
\graphicspath{{../images//}}
\begin{document}
+ \pagenumbering{Roman}
+ \pagestyle{empty}
\begin{titlepage}
\centering
\includegraphics[width=0.3\textwidth]{tu-berlin-logo.pdf}\par\vspace{1cm}
@@ -100,7 +101,6 @@
{\large \today\par}
\end{titlepage}
- \pagestyle{empty}
\section*{Eidesstattliche Erklärung}
\vspace{1cm}
Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und
@@ -110,6 +110,10 @@
\vspace{2cm}
\noindent\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\ldots\\
David Runge
+ \newpage
+
+ Thanks
+ \newpage
\begin{abstract}
\gls{wfs} as a technological concept has been around for
@@ -128,6 +132,7 @@
This work is about the extension of the SoundScape Renderer's functionality
to turn it into a networking application for large scale \gls{wfs} setups.
\end{abstract}
+ \newpage
\renewcommand{\abstractname}{Zusammenfassung}
\begin{abstract}
@@ -147,11 +152,39 @@
This work is about the extension of the SoundScape Renderer's functionality
to turn it into a networking application for large scale \gls{wfs} setups.
\end{abstract}
+ \newpage
+
+ \setcounter{page}{1}
+ \pagestyle{plain}
+ \printglossaries
+ \newpage
+ \phantomsection
+ \addcontentsline{toc}{section}{\listtablename}
+ \listoftables
+ \newpage
+
+ \phantomsection
+ \addcontentsline{toc}{section}{\listfigurename}
+ \listoffigures
+ \newpage
+
+ \phantomsection
+ \addcontentsline{toc}{section}{\listlistingname}
+ \listoflistings
+ \newpage
+
+ \pagestyle{empty}
+ {
+ \renewcommand{\thispagestyle}[1]{}
+ \tableofcontents
+ \newpage
+ }
- \tableofcontents
- \cleardoublepage
\pagestyle{headings}
\setcounter{page}{1}
+ \pagenumbering{arabic}
+ \renewcommand{\theFancyVerbLine}{\textcolor{gray}{\scriptsize\arabic{FancyVerbLine}}}
+ \RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
\section{Introduction}
\label{sec:introduction}
@@ -567,6 +600,19 @@
version, instead of the current stable version of liblo was chosen for
the implementation.
+ \subsubsection{Starting the SSR}
+ \label{subsubsec:starting-the-ssr}
+ The \gls{ssr} can be started with a rendering engine preselected (an
+ executable postfixed by the rendering acronym), or by selecting one
+ through the configuration file, when using the executable named
+ \textbf{ssr}. This way \gls{aap}, \gls{bs}, \gls{brs}, generic,
+ \gls{nfc-hoa}, \gls{vbap}, \gls{wfs} renderers become available.\\
+
+ \paragraph{Client instance}
+ \label{para:client-instance}
+ \paragraph{Server instance}
+ \label{para:server-instance}
+
\subsubsection{Setups}
\label{subsubsec:setups}
The \gls{ssr} offers the possibility for many different \gls{osc}
@@ -735,10 +781,18 @@
To be able to distinguish between types of
clients and servers, several message levels were implemented for the
\gls{osc} interface conceived in the course of this work.\\
- The \textit{enumeration class} MessageLevel in
- \textit{src/ssr\_global.h} defines the four types \textit{CLIENT},
+ The \textit{enumeration class} MessageLevel (see
+ Listing~\ref{lst:ssr_global.h}) defines the four types \textit{CLIENT},
\textit{GUI\_CLIENT}, \textit{SERVER}, \textit{GUI\_SERVER}, (in
ascending order).\\
+ \begin{listing}[!htb]
+ \begin{mdframed}
+ \inputminted[numbers=left, firstline=54, lastline=60,
+ fontsize=\footnotesize]{c++}{../../ssr/src/ssr_global.h}
+ \end{mdframed}
+ \caption{src/ssr\_global.h: enum class MessageLevel}
+ \label{lst:ssr_global.h}
+ \end{listing}\\
\gls{ssr} client instances subscribe to (\gls{ssr}) server instances
with the \textit{MessageLevel} \textit{CLIENT} by default. Server
instances get the \textit{MessageLevel} \textit{SERVER} assigned
@@ -773,7 +827,13 @@
understood by client or server (or a context dependant meaning), most
of the messages understood by the \nameref{subsec:ip-interface} could
be implemented. Additional features, related to the server-client setup
- were integrated as well.
+ were integrated as well.\\
+ When starting a \gls{ssr} server instance (see
+ \nameref{para:server-instance}), it responds to the messages shown in
+ Table~\ref{tab:ssr-osc-subscribe},
+ Table~\ref{tab:ssr-osc-scene},
+ Table~\ref{tab:ssr-osc-processing-tracker-transport},
+ Table~\ref{tab:ssr-osc-reference} and Table~\ref{tab:ssr-osc-update}.
\begin{table}[!htb]
\scriptsize
@@ -805,8 +865,8 @@
\end{tabular}
\caption{\gls{osc} messages relevant for subscribing and setting of
message levels for clients.\\
- Understood by server.
}
+ \caption*{Understood by server.}
\label{tab:ssr-osc-subscribe}
\end{table}
@@ -916,8 +976,13 @@
true]}\\
\texttt{/scene/clear} & & Delete all sources &
\texttt{[/scene/clear]}\\
+ \texttt{/scene/decay\_exponent} & f & Set amplitude decay exponent
+ in virtual space ($1/r^{exp}$). & \texttt{[/scene/decay\_exponent,
+ 2.0]}\\
\texttt{/scene/load} & s & Load scene from \gls{asdf} file. &
\texttt{[/scene/load, “example.asd”]}\\
+ \texttt{/scene/master\_signal\_level} & f & Set the renderers
+ signal level. & \texttt{[/scene/master\_signal\_level, -20]}\\
\texttt{/scene/save} & s & Save scene to \gls{asdf} file. &
\texttt{[/scene/save, “example.asd”]}\\
\texttt{/scene/volume} & f & Set scene master volume. &
@@ -943,6 +1008,9 @@
\texttt{[/source/delete, 1]}\\
\texttt{/source/file\_channel} & ii & Set a source's file channel &
\texttt{[/source/file\_channel, 1, 2]}\\
+ \texttt{/source/file\_name\_or\_port\_number} & is & Set a source's
+ file name or port number &
+ \texttt{[/source/file\_name\_or\_port\_number, 1, “1”]}\\
\texttt{/source/port\_name } & is & Set a source's \gls{jack} input
port name & \texttt{[/source/port\_name, 1, “system:capture\_2”]}\\
\texttt{/source/gain} & if & Set a source's gain &
@@ -1115,14 +1183,7 @@
\pagestyle{empty}
\cleardoublepage
- \addcontentsline{toc}{section}{\listfigurename}
- \listoffigures
- \cleardoublepage
- \addcontentsline{toc}{section}{\listtablename}
- \listoftables
- \cleardoublepage
- \printindex
- \printglossaries
+ \appendix
\cleardoublepage
\bibliographystyle{plainnat}
\bibliography{../bib/ssr-networking}