RecorderController

from panda3d.core import RecorderController
class RecorderController

Bases: TypedReferenceCount

This object manages the process of recording the user’s runtime inputs to a bam file so that the session can be recreated later.

Inheritance diagram

Inheritance diagram of RecorderController

__init__(*args, **kwargs)
addRecorder()

C++ Interface: add_recorder(const RecorderController self, str name, RecorderBase recorder)

/**
  • Adds the named recorder to the set of recorders that are in use.

  • If the controller is in recording mode, the named recorder will begin

  • recording its status to the session file. If the controller is in playback

  • mode and the name and type matches a recorder in the session file, the

  • recorder will begin receiving data.

*/

add_recorder()

C++ Interface: add_recorder(const RecorderController self, str name, RecorderBase recorder)

/**
  • Adds the named recorder to the set of recorders that are in use.

  • If the controller is in recording mode, the named recorder will begin

  • recording its status to the session file. If the controller is in playback

  • mode and the name and type matches a recorder in the session file, the

  • recorder will begin receiving data.

*/

beginPlayback()

C++ Interface: begin_playback(const RecorderController self, const Filename filename)

/**
  • Begins playing back data from the indicated filename. All of the recorders

  • in use should already have been added, although this may define additional

  • recorders if they are present in the file (these new recorders will not be

  • used). This may also undefine recorders that were previously added but are

  • not present in the file.

*/

beginRecord()

C++ Interface: begin_record(const RecorderController self, const Filename filename)

/**
  • Begins recording data to the indicated filename. All of the recorders in

  • use should already have been added.

*/

begin_playback()

C++ Interface: begin_playback(const RecorderController self, const Filename filename)

/**
  • Begins playing back data from the indicated filename. All of the recorders

  • in use should already have been added, although this may define additional

  • recorders if they are present in the file (these new recorders will not be

  • used). This may also undefine recorders that were previously added but are

  • not present in the file.

*/

begin_record()

C++ Interface: begin_record(const RecorderController self, const Filename filename)

/**
  • Begins recording data to the indicated filename. All of the recorders in

  • use should already have been added.

*/

close()

C++ Interface: close(const RecorderController self)

/**
  • Finishes recording data to the indicated filename.

*/

getClassType()

C++ Interface: get_class_type()

getClockOffset()

C++ Interface: get_clock_offset(RecorderController self)

/**
  • Returns the delta offset between the actual frame time and the frame time

  • written to the log. This is essentially the time at which the recording

  • (or playback) started.

*/

getFilename()

C++ Interface: get_filename(RecorderController self)

/**
  • Returns the filename that was passed to the most recent call to

  • begin_record() or begin_playback().

*/

getFrameOffset()

C++ Interface: get_frame_offset(RecorderController self)

/**
  • Returns the delta offset between the actual frame count and the frame count

  • written to the log. This is essentially the frame number at which the

  • recording (or playback) started.

*/

getFrameTie()

C++ Interface: get_frame_tie(RecorderController self)

/**
  • See set_frame_tie().

*/

getRandomSeed()

C++ Interface: get_random_seed(RecorderController self)

/**
  • Returns the random seed that was set by a previous call to

  • set_random_seed(), or the number read from the session file after

  • begin_playback() has been called.

*/

getRecorder()

C++ Interface: get_recorder(RecorderController self, str name)

/**
  • Returns the recorder with the indicated name, or NULL if there is no such

  • recorder.

  • If the controller is in playback mode, this may return the recorder

  • matching the indicated name as read from the session file, even if it was

  • never added to the table by the user. In this case, has_recorder() may

  • return false, but get_recorder() will return a non-NULL value.

*/

getStartTime()

C++ Interface: get_start_time(RecorderController self)

/**
  • Returns the time (and date) at which the current session was originally

  • recorded (or, in recording mode, the time at which the current session

  • began).

*/

get_class_type()

C++ Interface: get_class_type()

get_clock_offset()

C++ Interface: get_clock_offset(RecorderController self)

/**
  • Returns the delta offset between the actual frame time and the frame time

  • written to the log. This is essentially the time at which the recording

  • (or playback) started.

*/

get_filename()

C++ Interface: get_filename(RecorderController self)

/**
  • Returns the filename that was passed to the most recent call to

  • begin_record() or begin_playback().

*/

get_frame_offset()

C++ Interface: get_frame_offset(RecorderController self)

/**
  • Returns the delta offset between the actual frame count and the frame count

  • written to the log. This is essentially the frame number at which the

  • recording (or playback) started.

*/

get_frame_tie()

C++ Interface: get_frame_tie(RecorderController self)

/**
  • See set_frame_tie().

*/

get_random_seed()

C++ Interface: get_random_seed(RecorderController self)

/**
  • Returns the random seed that was set by a previous call to

  • set_random_seed(), or the number read from the session file after

  • begin_playback() has been called.

*/

get_recorder()

C++ Interface: get_recorder(RecorderController self, str name)

/**
  • Returns the recorder with the indicated name, or NULL if there is no such

  • recorder.

  • If the controller is in playback mode, this may return the recorder

  • matching the indicated name as read from the session file, even if it was

  • never added to the table by the user. In this case, has_recorder() may

  • return false, but get_recorder() will return a non-NULL value.

*/

get_start_time()

C++ Interface: get_start_time(RecorderController self)

/**
  • Returns the time (and date) at which the current session was originally

  • recorded (or, in recording mode, the time at which the current session

  • began).

*/

hasRecorder()

C++ Interface: has_recorder(RecorderController self, str name)

/**
  • Returns true if the named recorder has been added to the table by a

  • previous call to add_recorder(), false otherwise.

  • If the controller is in playback mode, this will also return false for a

  • recorder that was found in the session file but was never explicitly added

  • via add_recorder(); see get_recorder().

*/

has_recorder()

C++ Interface: has_recorder(RecorderController self, str name)

/**
  • Returns true if the named recorder has been added to the table by a

  • previous call to add_recorder(), false otherwise.

  • If the controller is in playback mode, this will also return false for a

  • recorder that was found in the session file but was never explicitly added

  • via add_recorder(); see get_recorder().

*/

isError()

C++ Interface: is_error(const RecorderController self)

/**
  • Returns true if the controller has been opened for input or output output

  • and there is an error on the stream, or false if the controller is closed

  • or if there is no problem.

*/

isOpen()

C++ Interface: is_open(RecorderController self)

/**
  • Returns true if the controller has been opened for either input or output,

  • false otherwise.

*/

isPlaying()

C++ Interface: is_playing(RecorderController self)

/**
  • Returns true if the controller has been opened for input, false otherwise.

*/

isRecording()

C++ Interface: is_recording(RecorderController self)

/**
  • Returns true if the controller has been opened for output, false otherwise.

*/

is_error()

C++ Interface: is_error(const RecorderController self)

/**
  • Returns true if the controller has been opened for input or output output

  • and there is an error on the stream, or false if the controller is closed

  • or if there is no problem.

*/

is_open()

C++ Interface: is_open(RecorderController self)

/**
  • Returns true if the controller has been opened for either input or output,

  • false otherwise.

*/

is_playing()

C++ Interface: is_playing(RecorderController self)

/**
  • Returns true if the controller has been opened for input, false otherwise.

*/

is_recording()

C++ Interface: is_recording(RecorderController self)

/**
  • Returns true if the controller has been opened for output, false otherwise.

*/

playFrame()

C++ Interface: play_frame(const RecorderController self)

/**
  • Gets the next frame of data from all of the active recorders and adds it to

  • the output file.

*/

play_frame()

C++ Interface: play_frame(const RecorderController self)

/**
  • Gets the next frame of data from all of the active recorders and adds it to

  • the output file.

*/

recordFrame()

C++ Interface: record_frame(const RecorderController self)

/**
  • Gets the next frame of data from all of the active recorders and adds it to

  • the output file.

*/

record_frame()

C++ Interface: record_frame(const RecorderController self)

/**
  • Gets the next frame of data from all of the active recorders and adds it to

  • the output file.

*/

removeRecorder()

C++ Interface: remove_recorder(const RecorderController self, str name)

/**
  • Removes the named recorder from the table. Returns true if successful,

  • false if there was no such recorder.

  • If the controller is in recording mode, the named recorder will stop

  • recording. If the controller is in playback mode, the named recorder will

  • disassociate itself from the session file (but if the session file still

  • has data for this name, a default recorder will take its place to decode

  • the data from the session file).

*/

remove_recorder()

C++ Interface: remove_recorder(const RecorderController self, str name)

/**
  • Removes the named recorder from the table. Returns true if successful,

  • false if there was no such recorder.

  • If the controller is in recording mode, the named recorder will stop

  • recording. If the controller is in playback mode, the named recorder will

  • disassociate itself from the session file (but if the session file still

  • has data for this name, a default recorder will take its place to decode

  • the data from the session file).

*/

setFrameTie()

C++ Interface: set_frame_tie(const RecorderController self, bool frame_tie)

/**
  • Sets the frame_tie flag.

  • When this is true, sessions are played back frame-for-frame, based on the

  • frame count of the recorded session. This gives the most accurate

  • playback, but the playback rate will vary according to the frame rate of

  • the playback machine.

  • When this is false, sessions are played back at real time, based on the

  • clock of the recorded session. This may introduce playback discrepencies

  • if the frames do not fall at exactly the same times as they did in the

  • original.

*/

setRandomSeed()

C++ Interface: set_random_seed(const RecorderController self, int random_seed)

/**
  • Indicates an arbitrary number to be recorded in the session file as a

  • random seed, should the application wish to take advantage of it. This

  • must be set before begin_record() is called.

*/

set_frame_tie()

C++ Interface: set_frame_tie(const RecorderController self, bool frame_tie)

/**
  • Sets the frame_tie flag.

  • When this is true, sessions are played back frame-for-frame, based on the

  • frame count of the recorded session. This gives the most accurate

  • playback, but the playback rate will vary according to the frame rate of

  • the playback machine.

  • When this is false, sessions are played back at real time, based on the

  • clock of the recorded session. This may introduce playback discrepencies

  • if the frames do not fall at exactly the same times as they did in the

  • original.

*/

set_random_seed()

C++ Interface: set_random_seed(const RecorderController self, int random_seed)

/**
  • Indicates an arbitrary number to be recorded in the session file as a

  • random seed, should the application wish to take advantage of it. This

  • must be set before begin_record() is called.

*/