Windows AVIDump: support "silent" frame dumping
When enabled, the silent option will avoid popping up dialog boxes for overwrite confirmation or codec selection. The codec selection defaults to uncompressed RGB. This is required for FifoCI on Windows which needs to drive Dolphin from the command line exclusively.
This commit is contained in:
parent
405444d4fe
commit
3500740dd4
|
@ -362,6 +362,7 @@ void SConfig::SaveMovieSettings(IniFile& ini)
|
||||||
movie->Set("PauseMovie", m_PauseMovie);
|
movie->Set("PauseMovie", m_PauseMovie);
|
||||||
movie->Set("Author", m_strMovieAuthor);
|
movie->Set("Author", m_strMovieAuthor);
|
||||||
movie->Set("DumpFrames", m_DumpFrames);
|
movie->Set("DumpFrames", m_DumpFrames);
|
||||||
|
movie->Set("DumpFramesSilent", m_DumpFramesSilent);
|
||||||
movie->Set("ShowInputDisplay", m_ShowInputDisplay);
|
movie->Set("ShowInputDisplay", m_ShowInputDisplay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,6 +604,7 @@ void SConfig::LoadMovieSettings(IniFile& ini)
|
||||||
movie->Get("PauseMovie", &m_PauseMovie, false);
|
movie->Get("PauseMovie", &m_PauseMovie, false);
|
||||||
movie->Get("Author", &m_strMovieAuthor, "");
|
movie->Get("Author", &m_strMovieAuthor, "");
|
||||||
movie->Get("DumpFrames", &m_DumpFrames, false);
|
movie->Get("DumpFrames", &m_DumpFrames, false);
|
||||||
|
movie->Get("DumpFramesSilent", &m_DumpFramesSilent, false);
|
||||||
movie->Get("ShowInputDisplay", &m_ShowInputDisplay, false);
|
movie->Get("ShowInputDisplay", &m_ShowInputDisplay, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,7 @@ struct SConfig : NonCopyable
|
||||||
std::string m_strMovieAuthor;
|
std::string m_strMovieAuthor;
|
||||||
unsigned int m_FrameSkip;
|
unsigned int m_FrameSkip;
|
||||||
bool m_DumpFrames;
|
bool m_DumpFrames;
|
||||||
|
bool m_DumpFramesSilent;
|
||||||
bool m_ShowInputDisplay;
|
bool m_ShowInputDisplay;
|
||||||
|
|
||||||
// DSP settings
|
// DSP settings
|
||||||
|
|
|
@ -88,9 +88,12 @@ bool AVIDump::CreateFile()
|
||||||
// Ask to delete file
|
// Ask to delete file
|
||||||
if (File::Exists(movie_file_name))
|
if (File::Exists(movie_file_name))
|
||||||
{
|
{
|
||||||
if (AskYesNoT("Delete the existing file '%s'?", movie_file_name.c_str()))
|
if (SConfig::GetInstance().m_DumpFramesSilent ||
|
||||||
|
AskYesNoT("Delete the existing file '%s'?", movie_file_name.c_str()))
|
||||||
|
{
|
||||||
File::Delete(movie_file_name);
|
File::Delete(movie_file_name);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AVIFileInit();
|
AVIFileInit();
|
||||||
NOTICE_LOG(VIDEO, "Opening AVI file (%s) for dumping", movie_file_name.c_str());
|
NOTICE_LOG(VIDEO, "Opening AVI file (%s) for dumping", movie_file_name.c_str());
|
||||||
|
@ -291,8 +294,17 @@ bool AVIDump::SetCompressionOptions()
|
||||||
memset(&s_options, 0, sizeof(s_options));
|
memset(&s_options, 0, sizeof(s_options));
|
||||||
s_array_options[0] = &s_options;
|
s_array_options[0] = &s_options;
|
||||||
|
|
||||||
|
if (SConfig::GetInstance().m_DumpFramesSilent)
|
||||||
|
{
|
||||||
|
s_options.fccType = streamtypeVIDEO;
|
||||||
|
s_options.fccHandler = mmioFOURCC('D', 'I', 'B', ' '); // Uncompressed
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return (AVISaveOptions(s_emu_wnd, 0, 1, &s_stream, s_array_options) != 0);
|
return (AVISaveOptions(s_emu_wnd, 0, 1, &s_stream, s_array_options) != 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool AVIDump::SetVideoFormat()
|
bool AVIDump::SetVideoFormat()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue