Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
play-process.hpp File Reference

Organisational unit of an ongoing render- or playback process. More...

Go to the source code of this file.

Description

Organisational unit of an ongoing render- or playback process.

A process object doesn't perform any work in itself, rather it's an entry in the process table maintained within the PlayService. This table entry is used to keep track of the individual data feeds, each corresponding to one of the global pipes to be "performed" in order to generate output data. Usually, these global pipes all belong to a given Timeline (but other setups are possible as well).

Each of these Feed objects comprising a play process is in turn responsible for getting one or multiple CalculationStream entities configured and operative within the actual render engine. Each of these calculation streams corresponds to a running series of calculations for consecutive frames, to be delivered in a time-bound fashion from the render engine into an OutputSlot, allocated for rendering this specific feed.

A PlayProcess isn't exposed directly to client code – it's the body object, while a Play::Controller handle is returned to the client (PImpl pattern). Using this controller frontend, clients are allowed to control and change the playback or rendering state and goals, which then causes the PlayProcess to reconfigure the ongoing or planned calculations.

See also
lumiera::DummyPlayer
stage::PlaybackController usage example

Definition in file play-process.hpp.

#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "steam/mobject/model-port.hpp"
#include "steam/engine/calc-stream.hpp"
#include "lib/iter-source.hpp"
#include "lib/util.hpp"
#include <functional>
#include <vector>

Namespaces

namespace  steam
 Steam-Layer implementation namespace root.
 
namespace  steam::play
 :test
 

Typedefs

typedef lib::IterSource< ModelPort >::iterator ModelPorts
 
typedef function< Feed(ModelPort)> FeedBuilder
 
typedef std::vector< FeedOutputFeeds
 

Classes

class  Feed
 Rendering data feed, corresponding to a single global pipe and to be delivered into a single OutputSlot. More...
 
class  PlayProcess
 Playback/Render process within the Lumiera Player. More...