Lumiera  0.pre.03
»edit your freedom«
playback-controller.hpp
Go to the documentation of this file.
1 /*
2  PLAYBACK-CONTROLLER.hpp - playback controller object
3 
4  Copyright (C)
5  2009, Joel Holdsworth <joel@airwebreathe.org.uk>
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 
30 #ifndef PLAYBACK_CONTROLLER_HPP
31 #define PLAYBACK_CONTROLLER_HPP
32 
33 #include "stage/gtk-base.hpp"
35 #include "include/display-facade.h"
36 #include "lib/nocopy.hpp"
37 
38 
39 
40 namespace stage {
41 namespace ctrl {
42 
43 
44 
48  {
49 
50  volatile bool playing_;
51 
53 
54  LumieraDisplaySlot viewerHandle_;
55 
56  static PlaybackController* instance;
57 
58  public:
59 
62 
63  static PlaybackController& get();
64 
65  void play();
66  void pause();
67  void stop();
68 
69  bool is_playing();
70 
71  void useDisplay (LumieraDisplaySlot display);
72 
73  private:
74 
75  void on_frame();
76 
77  };
78 
79 
80 }} // namespace stage::ctrl
81 #endif // PLAYBACK_CONTROLLER_HPP
82 
Playback process, front-end to be used by client code.
Any copy and copy construction prohibited.
Definition: nocopy.hpp:37
Experimental Interface, allowing the Dummy-Player to access the video display widget in the GUI...
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
A set of basic GTK includes for the UI.