citra_qt: Rebuilt movie frontend

This is completely rebuilt, in order to allow setting author, displaying movie metadata, and toggling read-only mode.

The UX is changed to more closely match other emulators' behaviour. Now you can only record/play from start/reset (In the future, we might want to introduce 'record from savestate')

Also fixed a critical bug where movie file can be corrupted when ending the recording while game is still running.
This commit is contained in:
zhupengfei 2020-07-06 21:44:17 +08:00
parent 5a42a80f40
commit 113e0c7331
No known key found for this signature in database
GPG key ID: DD129E108BD09378
14 changed files with 541 additions and 151 deletions

View file

@ -208,7 +208,7 @@ private slots:
void OnCreateGraphicsSurfaceViewer();
void OnRecordMovie();
void OnPlayMovie();
void OnStopRecordingPlayback();
void OnCloseMovie(bool shutting_down = false);
void OnCaptureScreenshot();
#ifdef ENABLE_FFMPEG_VIDEO_DUMPER
void OnStartVideoDumping();
@ -224,7 +224,6 @@ private slots:
void OnMouseActivity();
private:
bool ValidateMovie(const QString& path, u64 program_id = 0);
Q_INVOKABLE void OnMoviePlaybackCompleted();
void UpdateStatusBar();
void LoadTranslation();
@ -267,6 +266,7 @@ private:
// Movie
bool movie_record_on_start = false;
QString movie_record_path;
QString movie_record_author;
// Video dumping
bool video_dumping_on_start = false;