Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
play-process.cpp
Go to the documentation of this file.
1/*
2 PlayProcess - state frame for an ongoing play/render process
3
4 Copyright (C)
5 2011, Hermann Vosseler <Ichthyostega@web.de>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12* *****************************************************************/
13
14
23#include "lib/itertools.hpp"
24
25//#include <string>
26//#include <memory>
27//#include <functional>
28
30using lib::append_all;
31
32
33namespace steam {
34namespace play {
35
36// using std::string;
37// using lumiera::Subsys;
38// using std::bind;
39
40
41 namespace { // Implementation details...
42
43
44 } // (End) hidden service impl details
45
46
48 : outputFeeds_(feeds)
49 {
50 if (isnil (feeds))
51 throw error::State{"creating a PlayProcess without any usable output connections"
52 , LERR_(CANT_PLAY)};
53 }
54
55
56
62 PlayProcess::initiate (ModelPorts dataGenerators, FeedBuilder activeOutputFeedBuilder)
63 {
64 OutputFeeds newFeeds;
65 append_all (transform (dataGenerators, activeOutputFeedBuilder), newFeeds);
66 return new PlayProcess (newFeeds);
68// treat_all(dataGenerators)
69// .apply (activeOutputFeedBuilder)
70// .buildVector();
71 }
72
73
74
75
76
78 Feed::Feed (engine::CalcStreams const& newActiveRenderingConnections)
79 : renderStreams_(newActiveRenderingConnections)
80 { }
81
82
83
84}} // namespace steam::play
Feed(engine::CalcStreams const &)
building a Feed effectively requires the definition of a rendering plan through the EngineService.
Playback/Render process within the Lumiera Player.
PlayProcess(OutputFeeds feeds)
static PlayProcess * initiate(ModelPorts dataGenerators, FeedBuilder)
Factory: Initialise and configure a new PlayProcess.
#define LERR_(_NAME_)
Definition error.hpp:45
Helpers for working with iterators based on the pipeline model.
_TransformIterT< IT, FUN >::Iter transform(IT &&source, FUN processingFunc)
pipes a given Lumiera Forward Iterator through a transformation function and wraps the resulting tran...
void append_all(IT iter, CON &container)
LumieraError< LERR_(STATE)> State
Definition error.hpp:209
std::vector< CalcStream > CalcStreams
std::vector< Feed > OutputFeeds
function< Feed(ModelPort)> FeedBuilder
Steam-Layer implementation namespace root.
Organisational unit of an ongoing render- or playback process.
Primary service of the Player subsystem: Starting and controlling render/playback.
Strategy to hold all the detail knowledge necessary to establish a running render CalculationStream.