76 const char *local_in_logfile_name = NULL,
77 const char *local_out_logfile_name = NULL);
80 virtual int mainloop(
const timeval *timeout = NULL);
104 void set_replay_rate(vrpn_float32 rate)
106 d_filetime_accum.set_replay_rate(rate);
109 vrpn_float32 get_replay_rate() {
return d_filetime_accum.replay_rate(); }
120 int play_to_time(vrpn_float64 end_time);
121 int play_to_time(timeval end_time);
126 int play_to_filetime(
const timeval end_filetime);
133 int playone_to_filetime(timeval end_filetime);
136 timeval get_length();
137 double get_length_secs();
140 timeval get_lowest_user_timestamp();
143 timeval get_highest_user_timestamp();
146 const char *get_filename();
150 int jump_to_time(vrpn_float64 newtime);
151 int jump_to_time(timeval newtime);
155 int jump_to_filetime(timeval absolute_time);
163 void limit_messages_played_back(vrpn_uint32 max_playback)
171 vrpn_int32 d_controllerId;
173 vrpn_int32 d_set_replay_rate_type;
174 vrpn_int32 d_reset_type;
175 vrpn_int32 d_play_to_time_type;
183 timeval d_start_time;
184 timeval d_earliest_user_time;
185 vrpn_bool d_earliest_user_time_valid;
186 timeval d_highest_user_time;
187 vrpn_bool d_highest_user_time_valid;
190 void find_superlative_user_times();
211 bool store_stream_bookmark();
212 bool return_to_bookmark();
222 timeval d_filetime_accum_since_last_playback;
226 timeval d_time_of_last_accum;
229 vrpn_float32 d_replay_rate;
235 const timeval &accumulated(
void)
237 return d_filetime_accum_since_last_playback;
241 const timeval &time_of_last_accum(
void) {
return d_time_of_last_accum; }
243 vrpn_float32 replay_rate(
void) {
return d_replay_rate; }
248 void accumulate_to(
const timeval &now_time);
252 void set_replay_rate(vrpn_float32 new_rate);
256 void reset_at_time(
const timeval &now_time);
266 void play_to_user_message();
269 int need_to_play(timeval filetime);
274 virtual int read_cookie(
void);
276 virtual int read_entry(
void);
282 virtual int advance_currentLogEntry(
void);
284 virtual int close_file(
void);