From 2deed87a42868310059505edd028fb9560a70b7e Mon Sep 17 00:00:00 2001 From: David Runge Date: Fri, 7 Jul 2017 17:09:36 +0200 Subject: thesis/thesis.tex: Elaborating on scene transfer. --- thesis/thesis.tex | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/thesis/thesis.tex b/thesis/thesis.tex index d049da9..eec798a 100644 --- a/thesis/thesis.tex +++ b/thesis/thesis.tex @@ -2000,6 +2000,40 @@ ssr-aap -N “server” -C “127.0.0.1:50002” \subsubsection{Scene transfer} \label{subsubsec:scene_transfer} + The \gls{ip} interface of the \gls{ssr} implements a functionality to + transfer all information related to a scene as a \gls{xml} formatted + string. This is useful, if the scene information should be stored on + the machine requesting the information, instead of on the rendering + machine.\\ + Due to shortage of time to implement it and the original functionality + heavily relying on the \gls{xml} associated code, the \gls{osc} + interface still lacks this feature, which in its context could + additionally also be used to transfer all scene information to another + client, subscribed to a server.\\ + It could be particularly useful, if clients could for example request + the scene currently held be their server instance, in the case where + they are started after the server has been started, but its scene + already being setup. The server would then send a set of instructions + as \gls{osc} messages, needed for setting up the scene in question.\\ + For this feature to work reliably, some edge cases have to be + considered, such as gaps in the list of source \glspl{id}: Every source + gets a unique non-zero, non-negative \gls{id} assigned on creation. + When a source is deleted, its \gls{id} is not assigned to a source + anymore and will not be reused, unless the whole scene is deleted and a + new cycle of source creation reaches a number that high.\\ + This means, if a scene with source \gls{id} gaps has to be transferred, + the \gls{osc} messages have to be designed in such a way, that they can + account for them, as every source message (apart from + \textit{/source/new}) requires a valid source \gls{id} and subsequent + calls to the server would otherwise trigger uncorrectly mapped + operations on its clients sources.\\ + Additionally, it would be useful to be able to transfer a scene to + another client, by request, if the caller's + \mintinline{c++}{MessageLevel} is \mintinline{c++}{SERVER} or higher.\\ + The scene is a piece of redundant information, in a networked setup + (whereas the reproduction setup is individual). Being able to transfer + scenes, using \gls{osc}, would further improve usability, as the + description files only have to be in one place. \subsubsection{Assigning in- and outputs on the fly} \label{subsubsec:assigning_in_and_outputs_on_the_fly} -- cgit v1.2.3-54-g00ecf