Add a progress slider to KML Tour playback
completed by: Mikhail Ivchenko
mentors: Torsten Rahn, Dennis Nienhüser
Marble is a virtual globe and world atlas — your Swiss army knife for maps. Find your way and explore the world!
Note: This task should use this review request as a base.
We are working on integrating support for KML Tours into Marble. The user interface will be a panel (like Routing, Map View, ...) where a tour can be loaded from a .kml file, edited, played and also recorded to a movie file. This task extends the existing playback buttons by a progress slider (QSlider) which shows the playback progress and can be changed by the user. When changed, the tour playback should advance appropriately.
- Read https://developers.google.com/kml/documentation/touring#tourtimelines and make sure you understand how the playback is supposed to work
- Think of a good data structure for TourPlayback which allows an easy
- given a value in the range (0..1) or any other range you like to determine the corresponding tour primitive. 0 corresponds to the start of the first tour primitive, 1 to the end of the last tour primitive. Besides determining the right tour primitive, you also need to determine how much the corresponding primitive has been advanced already
- Given the current time, determine the playback progress in the range (0..1) or any other range you like (same range as above)
- Add a QSlider to the existing playback buttons. Use the range <-> playback progress bijection to react to slider changes by the user. Emit a playbackProgress( double ) signal in regular intervals (several times a second) to advance the slider.
Helpful links:
- The easiest way to reach Marble developers to help you is to visit the #marble IRC channel in freenode. Watch out for Earthwings
- http://marble.kde.org/