core/movie: Allow setting a playback completion callback
Instead of specifying it when starting playback. This is necessary as you can end up playing the movie even if you started as Recording (for example, loading a state in R/O mode will switch to Playing mode)
This commit is contained in:
parent
06bc37a67d
commit
5a42a80f40
|
@ -486,8 +486,11 @@ void Movie::SaveMovie() {
|
|||
}
|
||||
}
|
||||
|
||||
void Movie::StartPlayback(const std::string& movie_file,
|
||||
std::function<void()> completion_callback) {
|
||||
void Movie::SetPlaybackCompletionCallback(std::function<void()> completion_callback) {
|
||||
playback_completion_callback = completion_callback;
|
||||
}
|
||||
|
||||
void Movie::StartPlayback(const std::string& movie_file) {
|
||||
LOG_INFO(Movie, "Loading Movie for playback");
|
||||
FileUtil::IOFile save_record(movie_file, "rb");
|
||||
const u64 size = save_record.GetSize();
|
||||
|
@ -510,7 +513,6 @@ void Movie::StartPlayback(const std::string& movie_file,
|
|||
|
||||
current_byte = 0;
|
||||
id = header.id;
|
||||
playback_completion_callback = completion_callback;
|
||||
|
||||
LOG_INFO(Movie, "Loaded Movie, ID: {:016X}", id);
|
||||
}
|
||||
|
|
|
@ -42,8 +42,8 @@ public:
|
|||
return s_instance;
|
||||
}
|
||||
|
||||
void StartPlayback(const std::string& movie_file,
|
||||
std::function<void()> completion_callback = [] {});
|
||||
void SetPlaybackCompletionCallback(std::function<void()> completion_callback);
|
||||
void StartPlayback(const std::string& movie_file);
|
||||
void StartRecording(const std::string& movie_file, const std::string& author);
|
||||
|
||||
/**
|
||||
|
@ -165,7 +165,7 @@ private:
|
|||
u32 rerecord_count = 1;
|
||||
bool read_only = true;
|
||||
|
||||
std::function<void()> playback_completion_callback;
|
||||
std::function<void()> playback_completion_callback = [] {};
|
||||
|
||||
template <class Archive>
|
||||
void serialize(Archive& ar, const unsigned int file_version);
|
||||
|
|
Reference in New Issue