Basic implementation of Capture Movie in Marble: Timer and Menu
completed by: Illya Kovalevskyy
mentors: Torsten Rahn, Dennis Nienhüser, Utku Aydın, Andrei Dorian Duma
We would like to implement movie capturing for Marble. This task is about the first step:
- Add a menu item "Capture Movie" to the Edit Menu (add a menu separator behind the Copy entries). Assign a keyboard shortcut to it. Once it's clicked the text should toggle to "Stop Capture". A reasonable shortcut should be assigned to this action. This should be implemented either for the Marble Qt or the KDE version.
- Create a new MovieCapture class. This movie class should have a QTimer. with a predefined interval of 200 ms provided as a member.
- The MovieCapture class should have a startRecording() method which will start the QTimer
- Every time the timer is triggered recordFrame() slot should be executed.
- In our most basic implementation the recordFrame() slot should just grab a QPixmap using MarbleWidget::mapScreenShot() and should save it as a PNG with a numbered filename without user interaction into the home directory.
- The MovieCapture class should have a stopRecording() method which will stop the Timer.
- The Capture Menu entry should be connected to the start() / stop() methods.