Volume control on the history viewer
This commit is contained in:
parent
781a70208c
commit
40d4e21cb1
6 changed files with 18 additions and 7 deletions
|
@ -117,13 +117,15 @@ bool HistoryViewer::SaveMovie(string movieFile, uint32_t startPosition, uint32_t
|
|||
return result;
|
||||
}
|
||||
|
||||
// Copies a given state to the main window's state
|
||||
void HistoryViewer::ResumeGameplay(shared_ptr<Console> console, uint32_t resumePosition)
|
||||
{
|
||||
console->Lock();
|
||||
if (_console->GetRomInfo().RomFile.GetSha1Hash() != console->GetRomInfo().RomFile.GetSha1Hash()) {
|
||||
//Load game on the main window if they aren't the same
|
||||
console->LoadRom(console->GetRomInfo().RomFile, console->GetRomInfo().PatchFile);
|
||||
// TODO?
|
||||
// Mesen does console->Initialize(_console->GetRomPath(), _console->GetPatchFile());
|
||||
// but that's probably equivalent
|
||||
}
|
||||
if (resumePosition < _history.size()) {
|
||||
_history[resumePosition].LoadState(console);
|
||||
|
|
|
@ -126,6 +126,13 @@ extern "C" {
|
|||
}
|
||||
}
|
||||
|
||||
DllExport void __stdcall SetMasterVolume(double volume, ConsoleId consoleId) {
|
||||
AudioConfig config = GetConsoleById(consoleId)->GetSettings()->GetAudioConfig();
|
||||
config.MasterVolume = volume;
|
||||
GetConsoleById(consoleId)->GetSettings()->SetAudioConfig(config);
|
||||
}
|
||||
|
||||
|
||||
DllExport void __stdcall SetFullscreenMode(bool fullscreen, void *windowHandle, uint32_t monitorWidth, uint32_t monitorHeight)
|
||||
{
|
||||
if(_renderer) {
|
||||
|
|
|
@ -48,7 +48,7 @@ extern "C"
|
|||
|
||||
#ifdef _WIN32
|
||||
_historyRenderer.reset(new Renderer(_historyConsole, (HWND)viewerHandle, false));
|
||||
// _historySoundManager.reset(new SoundManager(_historyConsole, (HWND)windowHandle));
|
||||
_historySoundManager.reset(new SoundManager(_historyConsole, (HWND)windowHandle));
|
||||
#else
|
||||
_historyRenderer.reset(new SdlRenderer(_historyConsole, viewerHandle, false));
|
||||
_historySoundManager.reset(new SdlSoundManager(_historyConsole));
|
||||
|
@ -57,8 +57,8 @@ extern "C"
|
|||
|
||||
DllExport void __stdcall HistoryViewerRelease()
|
||||
{
|
||||
_historyConsole->Stop(true); // TODO: Check on this
|
||||
_historyConsole->Release(); // had True, "For ShutDown"
|
||||
_historyConsole->Stop(true);
|
||||
_historyConsole->Release(); // Mesen had True, "For ShutDown"
|
||||
_historyRenderer.reset();
|
||||
_historySoundManager.reset();
|
||||
_historyConsole.reset();
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace Mesen.GUI.Forms
|
|||
double verticalScale = (double)dimensions.Height / size.Height;
|
||||
double horizontalScale = (double)dimensions.Width / size.Width;
|
||||
double scale = Math.Min(verticalScale, horizontalScale);
|
||||
// InteropEmu.SetVideoScale(scale, InteropEmu.ConsoleId.HistoryViewer);
|
||||
// InteropEmu.SetVideoScale(scale, InteropEmu.ConsoleId.HistoryViewer); TODO
|
||||
}
|
||||
|
||||
private void tmrUpdatePosition_Tick(object sender, EventArgs e)
|
||||
|
@ -236,7 +236,7 @@ namespace Mesen.GUI.Forms
|
|||
|
||||
private void trkVolume_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
// InteropEmu.SetMasterVolume(trkVolume.Value / 10d, 0, EmuApi.ConsoleId.HistoryViewer);
|
||||
EmuApi.SetMasterVolume(trkVolume.Value, EmuApi.ConsoleId.HistoryViewer);
|
||||
}
|
||||
|
||||
private void mnuScale1x_Click(object sender, EventArgs e)
|
||||
|
|
|
@ -36,6 +36,8 @@ namespace Mesen.GUI
|
|||
return new Version((int)major, (int)minor, (int)revision);
|
||||
}
|
||||
|
||||
[DllImport(DllPath)] public static extern void SetMasterVolume(double volume, ConsoleId consoleId);
|
||||
|
||||
[DllImport(DllPath)] public static extern IntPtr RegisterNotificationCallback(NotificationListener.NotificationCallback callback);
|
||||
[DllImport(DllPath)] public static extern void UnregisterNotificationCallback(IntPtr notificationListener);
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace Mesen.GUI
|
|||
|
||||
public static UInt32[] HistoryViewerGetSegments()
|
||||
{
|
||||
UInt32[] segmentBuffer = new UInt32[HistoryViewerApi.HistoryViewerGetHistoryLength() / 30];
|
||||
UInt32[] segmentBuffer = new UInt32[HistoryViewerApi.HistoryViewerGetHistoryLength() / 60];
|
||||
UInt32 bufferSize = (UInt32)segmentBuffer.Length;
|
||||
|
||||
GCHandle hSegmentBuffer = GCHandle.Alloc(segmentBuffer, GCHandleType.Pinned);
|
||||
|
|
Loading…
Add table
Reference in a new issue