Basic docs.
authorCarl Hetherington <cth@carlh.net>
Sun, 19 Aug 2018 00:27:48 +0000 (01:27 +0100)
committerCarl Hetherington <cth@carlh.net>
Sun, 19 Aug 2018 00:29:04 +0000 (01:29 +0100)
doc/design/change_during_play.tex [new file with mode: 0644]

diff --git a/doc/design/change_during_play.tex b/doc/design/change_during_play.tex
new file mode 100644 (file)
index 0000000..28451e9
--- /dev/null
@@ -0,0 +1,23 @@
+\documentclass{article}
+\begin{document}
+
+If the data which the player relies on changes, the player must \texttt{setup\_pieces()} before it \texttt{pass()}es otherwise it may crash.
+
+I think there are two approaches to this:
+
+\begin{enumerate}
+
+\item Playlist signals that it is going to change; player and
+butler respond by suspending themselves (so they don't touch the `bad'
+playlist), playlist signals when the change has been made and
+\texttt{setup\_pieces()} has happened.  Player and butler resume.
+
+\item There is some RCU system so that changes to the playlist happen in a copy
+which is made into the `current' version at a convenient time to the
+player/butler.  This seems a bit tricky because the player's output also
+depends on the state of \texttt{Film}, so it seems that the copy would need to
+include the film's state (and possibly other bits).
+
+\end{enumerate}
+
+\end{document}