15 #ifndef RECORDERCONTROLLER_H 16 #define RECORDERCONTROLLER_H 18 #include "pandabase.h" 19 #include "datagramOutputFile.h" 20 #include "datagramInputFile.h" 21 #include "recorderTable.h" 22 #include "recorderHeader.h" 23 #include "typedReferenceCount.h" 40 bool begin_record(
const Filename &filename);
41 bool begin_playback(
const Filename &filename);
44 INLINE time_t get_start_time()
const;
46 INLINE
void set_random_seed(
int random_seed);
47 INLINE
int get_random_seed()
const;
49 INLINE
bool is_recording()
const;
50 INLINE
bool is_playing()
const;
51 INLINE
bool is_open()
const;
52 INLINE
const Filename &get_filename()
const;
54 INLINE
bool is_error();
55 INLINE
double get_clock_offset()
const;
56 INLINE
int get_frame_offset()
const;
58 INLINE
void add_recorder(
const string &name,
RecorderBase *recorder);
59 INLINE
bool has_recorder(
const string &name)
const;
60 INLINE
RecorderBase *get_recorder(
const string &name)
const;
61 INLINE
bool remove_recorder(
const string &name);
63 INLINE
void set_frame_tie(
bool frame_tie);
64 INLINE
bool get_frame_tie()
const;
72 INLINE
static RecorderFactory *get_factory();
75 INLINE
static void create_factory();
92 bool _user_table_modified;
107 static RecorderFactory *_factory;
113 static void init_type() {
114 TypedReferenceCount::init_type();
115 register_type(_type_handle,
"RecorderController",
116 TypedReferenceCount::get_class_type());
119 return get_class_type();
121 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
129 #include "recorderController.I" A Factory can be used to create an instance of a particular subclass of some general base class...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
This object is used by the RecorderController to write (and read) a record of the set of recorders in...
The name of a file, such as a texture file or an Egg file.
This is the base class to a number of objects that record particular kinds of user input (like a Mous...
This class can be used to write a binary file that consists of an arbitrary header followed by a numb...
This object represents one frame of data in the recorded session file.
This object manages the process of recording the user's runtime inputs to a bam file so that the sess...
TypeHandle is the identifier used to differentiate C++ class types.