Lumiera  0.pre.03
»edit your freedom«
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 
30 using lib::append_all;
31 
32 
33 namespace steam {
34 namespace 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 
47  PlayProcess::PlayProcess (OutputFeeds feeds)
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
Primary service of the Player subsystem: Starting and controlling render/playback.
Feed(engine::CalcStreams const &)
building a Feed effectively requires the definition of a rendering plan through the EngineService...
Strategy to hold all the detail knowledge necessary to establish a running render CalculationStream...
Steam-Layer implementation namespace root.
Playback/Render process within the Lumiera Player.
Derived specific exceptions within Lumiera&#39;s exception hierarchy.
Definition: error.hpp:190
_TransformIterT< IT, FUN >::Iter transform(IT &&source, FUN processingFunc)
pipes a given Lumiera Forward Iterator through a transformation function and wraps the resulting tran...
static PlayProcess * initiate(ModelPorts dataGenerators, FeedBuilder)
Factory: Initialise and configure a new PlayProcess.
Helpers for working with iterators based on the pipeline model.
Organisational unit of an ongoing render- or playback process.