Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Simulated result of a builder run for test purposes, without actual session and model content.
Integration tests for the render engine or the player have to deal with a lot of prerequisites, since both an external environment and actual content form the Session is required to start any processing. Effectively the complete core application is required — while in fact the engine is built in an abstracted way and does not need to know much about the rest of the application. Thus, as a remedy, it is possible to establish a faked context, exposing just those interfaces used by the engine for processing. As additional benefit, dedicated test operations can be rigged and verification routines can be used in place of actual media output.
This faked builder context provides a selection of consistent media element IDs with sensible properties and type markers, plus the attachment points for a simulated model structure, as if generated from an actual session model by a real Builder run.
5/2023 add more elements as needed for test driven integration of Player and engine
this was invented in 2012 – but development of the player subsystem stalled thereafter.
Definition in file dummy-builder-context.hpp.
#include "steam/mobject/model-port.hpp"
#include "steam/fixture/model-port-registry.hpp"
#include "steam/play/output-slot-connection.hpp"
#include "steam/play/output-manager.hpp"
#include "steam/asset/timeline.hpp"
#include "steam/asset/pipe.hpp"
#include "common/query.hpp"
#include "lib/iter-source.hpp"
#include "lib/nocopy.hpp"
#include "lib/util.hpp"
#include <vector>
Classes | |
struct | SimulatedBuilderContext |
helper for dummy render engine: Simulate the result of a build process, without actually running the builder. More... | |
class | UnimplementedConnection |
Typedefs | |
using | DummyOutputLink = std::pair< mobject::ModelPort, play::DataSink > |
using | ModelPorts = lib::IterSource< mobject::ModelPort >::iterator |
using | PID = asset::ID< Pipe > |
using | TID = asset::ID< Struct > |
Functions | |
PID | getPipe (string id) |
TID | getTimeline (string id) |
const string | namePortA ("bus-A") |
const string | namePortB ("bus-B") |
Variables | |
const uint | NUMBER_OF_PORTS = 2 |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::play | |
Playback and rendering control subsystem. | |