X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=theme.rst;h=72da4bcfb65c549c023dd38eaf13afb48964d2fc;hb=b3f0e3e5c219318325bc0be1653e31042d234399;hp=655329e840aa168d810f6b6fac976eb1b3e4fe85;hpb=619d8a89f87a555aabdedb9c60a9ac2902fca18a;p=nageru-docs diff --git a/theme.rst b/theme.rst index 655329e..72da4bc 100644 --- a/theme.rst +++ b/theme.rst @@ -30,7 +30,7 @@ is a library for high-quality, high-performance video filters, and Nageru's themes can use a simplified version of Movit's API where most of the low-level details are abstracted away. -Every frame, the theme choses a chain and a set of parameters to it, +Every frame, the theme chooses a chain and a set of parameters to it, based on what it thinks the picture should look like. Every chain consists of a set of *inputs* (which can be either live video streams or static pictures) and then a set of operators or *effects* to combine @@ -55,7 +55,7 @@ the screen, and in this case, that would be the input):: Note the “hq” parameter. Every chain needs to be able to run in two situations: Both for the stream output (the ”live” pane) and for the preview -displays (the big “preview” pane and the smaller ones). The details have +displays (the big “preview” pane and the :ref:`channels `). The details have to do with Nageru internals (high-quality chains need to have an additional Y'CbCr output), but the distinction is also useful for themes. In particular, some operations, like scaling, can be done in various quality levels, @@ -67,6 +67,7 @@ and then scaled down for the GUI. Preview chains are rendered in exactly the resolution required, although of course, intermediate steps could be bigger. + Setting parameters, and the get_chain entry point ------------------------------------------------- @@ -228,6 +229,8 @@ the transition is over and changes back to showing only one input (presumably the new one). +.. _channels: + Channels -------- @@ -317,6 +320,8 @@ Transitions involving scenes tend to be the most complicated parts of the theme logic, but also make for the most distinct parts of your visual look. +.. _images: + Image inputs ------------ @@ -327,7 +332,7 @@ were created like this:: input = chain:add_live_input(false, deint) -Image inputs are instead created by instantiating **ImageInput** and +Image inputs are instead created by instantiating *ImageInput* and adding them manually to the chain:: input = chain:add_effect(ImageInput.new("bg.jpeg"))