summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--thesis/thesis.tex106
1 files changed, 34 insertions, 72 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 463091f..2c113fc 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -499,6 +499,7 @@
\rowcolors{2}{table-background-one}{table-background-two}
\begin{tabular}{ p{2cm} | p{8cm} }
\textbf{\gls{osc} type tag} & \textbf{Type} \\
+ \hline
\texttt{i} & int32 \\
\texttt{f} & float32 \\
\texttt{s} & \gls{osc}-string \\
@@ -755,7 +756,13 @@
\subsubsection{Message interface}
\label{subsubsec:message_interface}
- \gls{osc} offers the possibility of a hierarchical path tree, that can be used to group messages
+ \gls{osc} offers the possibility of a hierarchical path tree, that can
+ be used to group messages by type. In conjunction with messages only
+ 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.
+
\begin{table}[!htb]
\scriptsize
\centering
@@ -769,23 +776,17 @@
\hline
\texttt{/message\_level} & i & Set message level of sender &
\texttt{[/message\_level, 1]} \\
- \noalign{\smallskip}
\texttt{/message\_level} & ssi & Set message level of a specific
client & \texttt{[/message\_level, “127.0.0.1”,
“50002”, 1]} \\
- \noalign{\smallskip}
\texttt{/subscribe} & F & Unsubscribe sender & \texttt{[/subscribe,
false]} \\
- \noalign{\smallskip}
\texttt{/subscribe} & Fss & Unsubscribe specific client &
\texttt{[/subscribe, false, “127.0.0.1”, “50002”]}\\
- \noalign{\smallskip}
\texttt{/subscribe} & T & Subscribe sender & \texttt{[/subscribe,
true]} \\
- \noalign{\smallskip}
\texttt{/subscribe} & Ti & Subscribe sender with specific message
level & \texttt{[/subscribe, true, 1]} \\
- \noalign{\smallskip}
\texttt{/subscribe} & Tssi & Subscribe specific client with
specific message level & \texttt{[/subscribe, true, “127.0.0.1”,
“50002”, 1]} \\
@@ -796,6 +797,30 @@
}
\label{tab:ssr-osc-subscribe}
\end{table}
+
+ \begin{table}[!htb]
+ \scriptsize
+ \centering
+ \rowcolors{2}{table-background-one}{table-background-two}
+ \caption*{(Data types and their acronyms are listed in
+ Table~\ref{tab:ssr-osc-data-type-acronyms}.)
+ }
+ \begin{tabular}{ p{2cm} | p{1cm} | p{3.5cm} | p{3cm} }
+ \textbf{Path} & \textbf{Types} & \textbf{Description} &
+ \textbf{Example}\\
+ \hline
+ \texttt{/message\_level} & i & Set message level of sender (the
+ server) & \texttt{[/message\_level, 1]} \\
+ \texttt{/poll} & & Polls clients (continuously) to (re-)subscribe &
+ \texttt{[/poll]} \\
+ \end{tabular}
+ \caption{\gls{osc} messages relevant for polling and setting of
+ message levels for servers subscribed to.\\
+ Understood by clients.
+ }
+ \label{tab:ssr-osc-client-poll-message-level}
+ \end{table}
+
\begin{table}[!htb]
\scriptsize
\centering
@@ -809,22 +834,16 @@
\hline
\texttt{/processing/state} & F & Unset processing state &
\texttt{[/processing/state, false]} \\
- \noalign{\smallskip}
\texttt{/processing/state} & T & Set processing state &
\texttt{[/processing/state, true]} \\
- \noalign{\smallskip}
\texttt{/tracker/reset} & & Reset tracker &
\texttt{[/tracker/reset]} \\
- \noalign{\smallskip}
\texttt{/transport/rewind} & & Rewind the \gls{jack} transport &
\texttt{[/transport/rewind]} \\
- \noalign{\smallskip}
\texttt{/transport/seek} & s & Seek to time code in
\gls{jack} transport & \texttt{[/transport/seek, “42:00:00”]} \\
- \noalign{\smallskip}
\texttt{/transport/state} & F & Unset \gls{jack} transport
state & \texttt{[/transport/state, false]} \\
- \noalign{\smallskip}
\texttt{/transport/state} & T & Set \gls{jack} transport
state & \texttt{[/transport/state, true]} \\
\end{tabular}
@@ -841,20 +860,17 @@
\caption*{(Data types and their acronyms are listed in
Table~\ref{tab:ssr-osc-data-type-acronyms}.)
}
- \begin{tabular}{ p{4.3cm} | p{1cm} | p{2.5cm} | p{4.3cm} }
+ \begin{tabular}{ p{4.3cm} | p{1cm} | p{2.5cm} | p{4.4cm} }
\textbf{Path} & \textbf{Types} & \textbf{Description} &
\textbf{Example}\\
\hline
\texttt{/reference/orientation} & f & Set azimuth of reference
point & \texttt{[/reference/orientation, -90.0]} \\
- \noalign{\smallskip}
\texttt{/reference/position} & ff & Set position of reference &
\texttt{[/reference/position, 1.5, 2.0]} \\
- \noalign{\smallskip}
\texttt{/reference\_offset/orientation} & f & Set azimuth of
reference offset position &
\texttt{[/reference\_offset/orientation, -90.0]} \\
- \noalign{\smallskip}
\texttt{/reference\_offset/position} & ff & Set position of
reference offset & \texttt{[/reference\_offset/position, 1.5,
2.0]}\\
@@ -880,24 +896,18 @@
reference distance. &
\texttt{[/scene/amplitude\_reference
\_distance, 6.0]}\\
- \noalign{\smallskip}
\texttt{/scene/auto\_rotate\_sources} & F & Disable automatic
rotation of sources. & \texttt{[/scene/auto\_rotate\_sources,
false]}\\
- \noalign{\smallskip}
\texttt{/scene/auto\_rotate\_sources} & T & Enable automatic
rotation of sources. & \texttt{[/scene/auto\_rotate\_sources,
true]}\\
- \noalign{\smallskip}
\texttt{/scene/clear} & & Delete all sources &
\texttt{[/scene/clear]}\\
- \noalign{\smallskip}
\texttt{/scene/load} & s & Load scene from \gls{asdf} file. &
\texttt{[/scene/load, “example.asd”]}\\
- \noalign{\smallskip}
\texttt{/scene/save} & s & Save scene to \gls{asdf} file. &
\texttt{[/scene/save, “example.asd”]}\\
- \noalign{\smallskip}
\texttt{/scene/volume} & f & Set scene master volume. &
\texttt{[/scene/volume, 0.23]}\\
\end{tabular}
@@ -919,60 +929,45 @@
\hline
\texttt{/source/delete} & i & Delete source with given id &
\texttt{[/source/delete, 1]}\\
- \noalign{\smallskip}
\texttt{/source/file\_channel} & ii & Set a source's file channel &
\texttt{[/source/file\_channel, 1, 2]}\\
- \noalign{\smallskip}
\texttt{/source/port\_name } & is & Set a source's \gls{jack} input
port name & \texttt{[/source/port\_name, 1, “system:capture\_2”]}\\
- \noalign{\smallskip}
\texttt{/source/gain} & if & Set a source's gain &
\texttt{[/source/gain, 1, 0.2]}\\
- \noalign{\smallskip}
\texttt{/source/model} & is & Set a source's model &
\texttt{[/source/model, 1, “point”]}\\
- \noalign{\smallskip}
\texttt{/source/mute} & iF & Unmute a source &
\texttt{[/source/mute, 1, false]}\\
- \noalign{\smallskip}
\texttt{/source/mute} & iT & Mute a source &
\texttt{[/source/mute, 1, true]}\\
- \noalign{\smallskip}
\texttt{/source/name} & is & Set a source's name &
\texttt{[/source/name, 1, “Daisy”]}\\
- \noalign{\smallskip}
\texttt{/source/new} & i & Create a new source stub using id &
\texttt{[/source/new, 1]}\\
- \noalign{\smallskip}
\texttt{/source/new} & sssffffTFF & Create a new source
(auto-generated id) with name, model, port number, X-coordinate,
Y-coordinate, orientation, gain, movability, orientation movability
and mute status & \texttt{[/source/new, “Daisy”, “point”, “1”, 1.0,
2.5, 90.0, 0.2, true, false, false]} \\
- \noalign{\smallskip}
\texttt{/source/new} & sssffffisTFF & Create a new source
(auto-generated id) with name, model, port number, X-coordinate,
Y-coordinate, orientation, gain, file channel, properties file,
movability, orientation movability and mute status &
\texttt{[/source/new, “Daisy”, “point”, “1”, 1.0, 2.5, 90.0, 0.2,
2, “properties.xml”, true, false, false]} \\
- \noalign{\smallskip}
\texttt{/source/orientation} & if & Set a source's orientation &
\texttt{[/source/orientation, 1, -90.0]}\\
- \noalign{\smallskip}
\texttt{/source/position} & iff & Set a source's position &
\texttt{[/source/position, 1, 1.5, 2.0]}\\
- \noalign{\smallskip}
\texttt{/source/position\_fixed} & iF & Set a source movable &
\texttt{[/source/position\_fixed, 1, false]}\\
- \noalign{\smallskip}
\texttt{/source/position\_fixed} & iT & Set a source immovable &
\texttt{[/source/position\_fixed, 1, true]}\\
- \noalign{\smallskip}
\texttt{/source/properties\_file} & is & Set a source's properties
file & \texttt{[/source/properties\_file, 1,
“source-properties.xml”]}\\
- \end{tabular}
+ \end{tabular}
\caption{\gls{osc} messages relevant for source management.\\
Understood by server and clients.
}
@@ -989,96 +984,63 @@
\textbf{Path} & \textbf{Types} & \textbf{Description} \\
\hline
\texttt{/update/cpu\_load} & f & \gls{cpu} load changes.\\
- \noalign{\smallskip}
\texttt{/update/processing/state} & T & Processing state is set.\\
- \noalign{\smallskip}
\texttt{/update/processing/state} & F & Processing state is
unset.\\
- \noalign{\smallskip}
\texttt{/update/reference/orientation} & f & Reference orientation
changes.\\
- \noalign{\smallskip}
\texttt{/update/reference/position} & ff & Reference position
changes.\\
- \noalign{\smallskip}
\texttt{/update/reference\_offset/orientation} & f & Reference
offset orientation changes.\\
- \noalign{\smallskip}
\texttt{/update/reference\_offset/position} & ff & Reference offset
position changes.\\
- \noalign{\smallskip}
\texttt{/update/scene/amplitude\_reference\_distance} & f &
Amplitude reference distance changes.\\
- \noalign{\smallskip}
\texttt{/update/scene/auto\_rotate\_sources} & T & Auto rotation of
sources is set.\\
- \noalign{\smallskip}
\texttt{/update/scene/auto\_rotate\_sources} & F & Auto rotation of
sources is unset.\\
- \noalign{\smallskip}
\texttt{/update/scene/decay\_exponent} & f & The scene's decay
exponent has changed.\\
- \noalign{\smallskip}
\texttt{/update/scene/master\_signal\_level} & f & Master signal
level has changed.\\
- \noalign{\smallskip}
\texttt{/update/scene/sample\_rate} & i & Sample rate of the scene
changed.\\
- \noalign{\smallskip}
\texttt{/update/scene/volume} & f & Volume of the scene has
changed.\\
- \noalign{\smallskip}
\texttt{/update/source/delete} & i & A source with given id was
deleted. \\
- \noalign{\smallskip}
\texttt{/update/source/file\_channel} & ii & A source's file
channel was set.\\
- \noalign{\smallskip}
\texttt{/update/source/file\_name\_or\_port\_number} & is & A
source's file name or port number was set.\\
- \noalign{\smallskip}
\texttt{/update/source/gain} & if & A source's gain was set.\\
- \noalign{\smallskip}
\texttt{/update/source/length} & ii & A source's length was set.\\
- \noalign{\smallskip}
\texttt{/update/source/level} & if & A source's output level has
changed.\\
- \noalign{\smallskip}
\texttt{/update/source/model} & is & A source's model was set.\\
- \noalign{\smallskip}
\texttt{/update/source/mute} & iF & A source was unmuted.\\
- \noalign{\smallskip}
\texttt{/update/source/mute} & iT & A source was muted.\\
- \noalign{\smallskip}
\texttt{/update/source/name} & is & A source's name was set.\\
- \noalign{\smallskip}
\texttt{/update/source/orientation} & if & A source's orientation
was set. \\
- \noalign{\smallskip}
\texttt{/update/source/new} & i & A new source with given id was
created. \\
- \noalign{\smallskip}
\texttt{/update/source/port\_name} & is & A source's \gls{jack}
port\_name was set. \\
- \noalign{\smallskip}
\texttt{/update/source/position} & iff & A source's position was
set. \\
- \noalign{\smallskip}
\texttt{/update/source/position\_fixed} & iF & A source was set to
be movable. \\
- \noalign{\smallskip}
\texttt{/update/source/position\_fixed} & iT & A source was set to
be immovable. \\
- \noalign{\smallskip}
\texttt{/update/source/properties\_file} & is & A source's
properties\_file was set.\\
- \noalign{\smallskip}
\texttt{/update/transport/seek} & s & \gls{jack} transport seeked
to a timecode position.\\
- \noalign{\smallskip}
\texttt{/update/transport/state} & F & \gls{jack} transport was
stopped.\\
- \noalign{\smallskip}
\texttt{/update/transport/state} & T & \gls{jack} transport was
started.\\
\end{tabular}