-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start playing messages after timestamp #618
Comments
This probably ties in with #484 as well, I think we need a design for a more fully featured Reader API, which could be taken advantage of by GUI/CLI any other type of tool, not just playback |
@Kaju-Bubanja @emersonknapp |
You might want to have a look at: #696 It's quite a list of features, a lot already done. It might contain what you are looking for. For the jump to a certain timepoint, this is not yet implemented, but looking at the progress so far, this is probably coming out soon. |
@KeisukeShima @Kaju-Bubanja I see some growing interests in Player::jump/seek API. |
@MichaelOrlov Thank you for your comment. I appreciate your work. |
Description
A full fledged player would be the optimal solution, but already being able to only start a bag after a certain timestamp can be useful. I propose to add a command line option --start_time timestamp and then to skip all messages until after that timestamp.
Related Issues
This feature is a subset of the idea for a full fledged player.
This feature would be really useful in tandem with the pause feature
Completion Criteria
Only messages after the passed timestamp are published.
Implementation Notes / Suggestions
The implementation seems really simple, basically only one line, it might not be the most efficient, because the not used messages still get loaded, but it's the most simple change that came to my mind, namely adding the if statement to the Player::play_messages_until_queue_empty function:
Testing Notes / Suggestions
A simple bag with some message play it with a starting time and check that all published messages have timestamps after the specified timestamp.
I am kinda stuck on how to add the option to the play_options.hpp file. I added following to play.py in rosbag2/ros2bag/verb/play.py:
Questions
Now there seems to be some importing stuff going on in rosbag2_transport/rosbag2_transport/__init__.py, namely:
rosbag2_transport_py = import_c_library('._rosbag2_transport_py', package='rosbag2_transport')
but I haven't been able to find the module ._rosbag2_transport_py, I guess this is some autogenerated file by configure_python.cmake? How would I go about adding the start_time option to the PlayOptions struct? Also where is the cpp file for the PlayOptions? Also some options in play.py are not available in play_options.hpp for example uri. If somebody could help me shed some light on the process of how to add a config option that would be amazing.
The text was updated successfully, but these errors were encountered: