Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
play-process.hpp
Go to the documentation of this file.
1/*
2 PLAY-PROCESS.hpp - 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
41#ifndef STEAM_PLAY_PLAY_PROCESS_H
42#define STEAM_PLAY_PLAY_PROCESS_H
43
44
45#include "lib/error.hpp"
46#include "lib/nocopy.hpp"
47//#include "include/dummy-player-facade.h"
48//#include "include/display-facade.h"
49//#include "common/instancehandle.hpp"
50//#include "lib/singleton-ref.hpp"
53#include "lib/iter-source.hpp"
54#include "lib/util.hpp"
55
56#include <functional>
57//#include <string>
58#include <vector>
59
60
61namespace steam {
62namespace play {
63
64// using std::string;
65// using lumiera::Subsys;
66// using lumiera::Display;
67// using lumiera::DummyPlayer;
68 using util::isnil;
70 using std::function;
71
73
74 namespace error = lumiera::error;
75
76
77
78
85 class Feed
86 {
88
89 public:
90
98 };
99
100 typedef function<Feed(ModelPort)> FeedBuilder;
101 typedef std::vector<Feed> OutputFeeds;
102
103
104 /**************************************************/
122 {
124
125 PlayProcess (OutputFeeds feeds);
126
127 public:
128 static PlayProcess*
129 initiate (ModelPorts dataGenerators, FeedBuilder);
130 };
131
132
133
134
135}} // namespace steam::play
136#endif
A core abstraction within the render engine to represent an ongoing calculation.
Handle designating a point within the model, where actually output data can be pulled.
Rendering data feed, corresponding to a single global pipe and to be delivered into a single OutputSl...
engine::CalcStreams renderStreams_
Playback/Render process within the Lumiera Player.
static PlayProcess * initiate(ModelPorts dataGenerators, FeedBuilder)
Factory: Initialise and configure a new PlayProcess.
Any copy and copy construction prohibited.
Definition nocopy.hpp:38
Lumiera error handling (C++ interface).
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
Organising the output data calculation possibilities.
std::vector< CalcStream > CalcStreams
std::vector< Feed > OutputFeeds
lib::IterSource< ModelPort >::iterator ModelPorts
function< Feed(ModelPort)> FeedBuilder
Steam-Layer implementation namespace root.
bool isnil(lib::time::Duration const &dur)
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...