UI: Disable toggle record shortcuts when no game is running
This commit is contained in:
parent
77ed078899
commit
ecadab92db
1 changed files with 50 additions and 33 deletions
|
@ -989,39 +989,9 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
break;
|
||||
|
||||
case EmulatorShortcut.ToggleRecordVideo:
|
||||
if(InteropEmu.AviIsRecording()) {
|
||||
InteropEmu.AviStop();
|
||||
} else {
|
||||
string filename = GetOutputFilename(ConfigManager.AviFolder, ConfigManager.Config.AviRecordInfo.Codec == VideoCodec.GIF ? ".gif" : ".avi");
|
||||
InteropEmu.AviRecord(filename, ConfigManager.Config.AviRecordInfo.Codec, ConfigManager.Config.AviRecordInfo.CompressionLevel);
|
||||
}
|
||||
break;
|
||||
|
||||
case EmulatorShortcut.ToggleRecordAudio:
|
||||
if(InteropEmu.WaveIsRecording()) {
|
||||
InteropEmu.WaveStop();
|
||||
} else {
|
||||
string filename = GetOutputFilename(ConfigManager.WaveFolder, ".wav");
|
||||
InteropEmu.WaveRecord(filename);
|
||||
}
|
||||
break;
|
||||
|
||||
case EmulatorShortcut.ToggleRecordMovie:
|
||||
if(!InteropEmu.MoviePlaying() && !InteropEmu.IsConnected()) {
|
||||
if(InteropEmu.MovieRecording()) {
|
||||
InteropEmu.MovieStop();
|
||||
} else {
|
||||
RecordMovieOptions options = new RecordMovieOptions(
|
||||
GetOutputFilename(ConfigManager.MovieFolder, ".mmo"),
|
||||
ConfigManager.Config.MovieRecordInfo.Author,
|
||||
ConfigManager.Config.MovieRecordInfo.Description,
|
||||
ConfigManager.Config.MovieRecordInfo.RecordFrom
|
||||
);
|
||||
InteropEmu.MovieRecord(ref options);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EmulatorShortcut.ToggleRecordVideo: ToggleRecordVideo(); break;
|
||||
case EmulatorShortcut.ToggleRecordAudio: ToggleRecordAudio(); break;
|
||||
case EmulatorShortcut.ToggleRecordMovie: ToggleRecordMovie(); break;
|
||||
|
||||
case EmulatorShortcut.TakeScreenshot: InteropEmu.TakeScreenshot(); break;
|
||||
case EmulatorShortcut.LoadRandomGame: LoadRandomGame(); break;
|
||||
|
@ -1078,6 +1048,53 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
}
|
||||
|
||||
private void ToggleRecordMovie()
|
||||
{
|
||||
if(!InteropEmu.IsRunning() || InteropEmu.MoviePlaying() || InteropEmu.IsConnected()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(InteropEmu.MovieRecording()) {
|
||||
InteropEmu.MovieStop();
|
||||
} else {
|
||||
RecordMovieOptions options = new RecordMovieOptions(
|
||||
GetOutputFilename(ConfigManager.MovieFolder, ".mmo"),
|
||||
ConfigManager.Config.MovieRecordInfo.Author,
|
||||
ConfigManager.Config.MovieRecordInfo.Description,
|
||||
ConfigManager.Config.MovieRecordInfo.RecordFrom
|
||||
);
|
||||
InteropEmu.MovieRecord(ref options);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleRecordAudio()
|
||||
{
|
||||
if(!InteropEmu.IsRunning()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(InteropEmu.WaveIsRecording()) {
|
||||
InteropEmu.WaveStop();
|
||||
} else {
|
||||
string filename = GetOutputFilename(ConfigManager.WaveFolder, ".wav");
|
||||
InteropEmu.WaveRecord(filename);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleRecordVideo()
|
||||
{
|
||||
if(!InteropEmu.IsRunning()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(InteropEmu.AviIsRecording()) {
|
||||
InteropEmu.AviStop();
|
||||
} else {
|
||||
string filename = GetOutputFilename(ConfigManager.AviFolder, ConfigManager.Config.AviRecordInfo.Codec == VideoCodec.GIF ? ".gif" : ".avi");
|
||||
InteropEmu.AviRecord(filename, ConfigManager.Config.AviRecordInfo.Codec, ConfigManager.Config.AviRecordInfo.CompressionLevel);
|
||||
}
|
||||
}
|
||||
|
||||
private string GetOutputFilename(string folder, string ext)
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
|
|
Loading…
Add table
Reference in a new issue