Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
demo-controller.hpp
Go to the documentation of this file.
1/*
2 DEMO-CONTROLLER.hpp - playback controller object
3
4 Copyright (C)
5 2009, Joel Holdsworth <joel@airwebreathe.org.uk>
6 2025, Hermann Vosseler <Ichthyostega@web.de>
7
8  **Lumiera** is free software; you can redistribute it and/or modify it
9  under the terms of the GNU General Public License as published by the
10  Free Software Foundation; either version 2 of the License, or (at your
11  option) any later version. See the file COPYING for further details.
12
13*/
14
15
31#ifndef DEMO_CONTROLLER_H
32#define DEMO_CONTROLLER_H
33
34#include "stage/gtk-base.hpp"
36#include "lib/nocopy.hpp"
37
38#include <memory>
39#include <functional>
40
41namespace steam {
42namespace node {
43 class DummyTickService;
45}}
46
47namespace stage {
48namespace ctrl {
49
50 using std::unique_ptr;
51
52
56 , public sigc::trackable
57 {
58 unique_ptr<steam::node::DummyImageGenerator> imageGen_;
59 unique_ptr<steam::node::DummyTickService> tick_;
60
61 public:
64
65 bool isPlaying() const { return playing_; }
66
67 void play();
68 void pause();
69 void stop();
70
72 sigc::signal<void(void* const)> output_;
73 private:
75 void processFrame();
76 };
77
78
79}} // namespace stage::ctrl
80#endif /*DEMO_CONTROLLER_H*/
81
unique_ptr< steam::node::DummyImageGenerator > imageGen_
unique_ptr< steam::node::DummyTickService > tick_
void activate(lumiera::DisplayerInput)
Signal slot to be called after the output window was created and the actually usable video display te...
sigc::signal< void(void *const)> output_
Tick generating service for a periodic callback, with adjustable frequency.
Any copy and copy construction prohibited.
Definition nocopy.hpp:38
Opaque handles and similar typedefs used to communicate via the lumiera::Display and lumiera::DummyPl...
A set of basic GTK includes for the UI.
DisplayerInput
Supported Displayer formats.
Lumiera GTK UI implementation root.
Definition guifacade.cpp:37
Steam-Layer implementation namespace root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.