Allolib
1.0
C++ Components For Interactive Multimedia
al_AppRecorder.hpp
1
#ifndef AL_APPRECORDER_H
2
#define AL_APPRECORDER_H
3
4
// Author: Andres Cabrera and Lance Putnam
5
6
#include "al/app/al_App.hpp"
7
#include "al/app/al_AudioDomain.hpp"
8
#include "al/app/al_ComputationDomain.hpp"
9
#include "al/app/al_OpenGLGraphicsDomain.hpp"
10
#include "al/app/al_SimulationDomain.hpp"
11
#include "al/io/al_File.hpp"
12
17
namespace
al
{
18
19
class
RecordingDomain
:
public
SynchronousDomain
{
20
public
:
21
// Domain functions
22
// bool init(ComputationDomain *parent = nullptr) override {return true;}
23
bool
tick
()
override
{
24
mFreeze =
true
;
25
while
(mFreeze) {
26
al_sleep
(0.25);
27
}
28
return
true
;
29
}
30
// bool cleanup(ComputationDomain *parent = nullptr) override;
31
32
bool
mFreeze{
true
};
33
};
34
39
class
AppRecorder
{
40
public
:
41
AppRecorder
() {}
42
43
~
AppRecorder
() { stopRecording(); }
44
45
void
connectApp(
App
*app) {
46
mGraphicsDomain = app->graphicsDomain();
47
mAudioDomain = app->audioDomain();
48
mSimulationDomain = app->simulationDomain();
49
mWindowDomain = app->defaultWindowDomain();
50
}
51
52
void
startRecordingOffline(
double
totalTime = 120.0);
53
54
// void startRecordingRT() {}
55
56
void
stopRecording() { mRunning =
false
; }
57
58
private
:
59
std::shared_ptr<OpenGLGraphicsDomain> mGraphicsDomain;
60
std::shared_ptr<GLFWOpenGLWindowDomain> mWindowDomain;
61
std::shared_ptr<AudioDomain> mAudioDomain;
62
std::shared_ptr<SimulationDomain> mSimulationDomain;
63
64
bool
mRunning;
65
};
66
67
}
// namespace al
68
69
#endif
// AL_APPRECORDER_H
al::App
Simple App class.
Definition:
al_App.hpp:29
al::AppRecorder
Simple App class.
Definition:
al_AppRecorder.hpp:39
al::RecordingDomain
Definition:
al_AppRecorder.hpp:19
al::RecordingDomain::tick
bool tick() override
Execute a pass of the domain.
Definition:
al_AppRecorder.hpp:23
al::SynchronousDomain
Definition:
al_ComputationDomain.hpp:165
al
Definition:
al_App.hpp:23
al::al_sleep
void al_sleep(al_sec dt)
Sleep for an interval of seconds.
C:
Users
Andres
source
repos
casm_viewer
external
tinc
external
allolib
include
al
app
al_AppRecorder.hpp
Generated on Thu Apr 8 2021 13:24:22 for Allolib by
1.9.1