summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Runge <dave@sleepmap.de>2017-07-06 18:01:56 +0200
committerDavid Runge <dave@sleepmap.de>2017-07-06 18:01:56 +0200
commite5e2bc620d7541a88e67b31b05a940f3684f37ed (patch)
treec0e9c433d8b6e7edaba84cb1885128f2d9ac0a11
parent4f43d015c162a3f41a09d16dc1093a3ba0c7c7dd (diff)
downloadmaster-thesis-e5e2bc620d7541a88e67b31b05a940f3684f37ed.tar.gz
master-thesis-e5e2bc620d7541a88e67b31b05a940f3684f37ed.tar.bz2
master-thesis-e5e2bc620d7541a88e67b31b05a940f3684f37ed.tar.xz
master-thesis-e5e2bc620d7541a88e67b31b05a940f3684f37ed.zip
thesis/thesis.tex: Adding content for subsubsection assigning in- and outputs on the fly.
-rw-r--r--thesis/thesis.tex40
1 files changed, 40 insertions, 0 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 2245348..a596240 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -1982,6 +1982,46 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
\subsubsection{Assigning in- and outputs on the fly}
\label{subsubsec:assigning_in_and_outputs_on_the_fly}
+ The \gls{ssr}, being a \gls{jack} client, is able to add inputs for its
+ sources and outputs for its renderers according to the configuration
+ variables \mintinline{yaml}{INPUT_PREFIX} and
+ \mintinline{yaml}{OUTPUT_PREFIX}, as shown in
+ Listing~\ref{lst:ssr.conf.example}.\\
+
+ \begin{listing}[!htb]
+ \begin{mdframed}
+ \inputminted[numbers=left, firstline=44, lastline=50,
+ fontsize=\footnotesize,
+ breaklines]{yaml}{../../ssr/data/ssr.conf.example}
+ \end{mdframed}
+ \caption{data/ssr.conf.example: \gls{jack} settings in the \gls{ssr}
+ configuration file}
+ \label{lst:ssr.conf.example}
+ \end{listing}\\
+
+ The approach however is somewhat static, as it only allows setting up
+ one predefined client during startup. This can be the system's hardware
+ in- and outputs or other \gls{jack} clients. The selected input name is
+ added to the prefix to connect a \gls{ssr} source to a \gls{jack}
+ client output with that name. Following the configuration file example,
+ given a source input name of \mintinline{yaml}{1}, the \gls{ssr} would
+ connect to the \gls{jack} client port named
+ \mintinline{yaml}{alsa_pcm:capture_1}.\\
+ Dynamically reassigning source input or renderer output connections is
+ only possible by using external tools, able to handle connections of a
+ \gls{jack} session, such as QjackCtl \citep{website:qjackctl}, Patchage
+ \citep{website:patchage} or aj-snapshot \citep{website:aj-snapshot}.\\
+ Every \gls{jack} client is allowed to make connections to other clients
+ on the same server on its own. This general feature should be harnessed
+ in the case of the \gls{ssr} to allow assigning and reassigning of
+ source inputs and renderer outputs on the fly and exposing this
+ functionality to the \gls{osc} interface (i.e.\ by modifying and
+ extending the \gls{pubsub} interface).\\
+ This would make the application more dynamic and allow easier scripting
+ of scenes and reproduction setups alike. This becomes especially useful
+ in the case of listening experiments, as the experiments will not have
+ to rely on a mixture of different scripting languages anymore (e.g.\
+ see experimental setup in attachment of \citep{DmitryGrigoriev1896}).
\subsubsection{Interpolation of moving sources}
\label{subsubsec:interpolation_of_moving_sources}