Sound buffer length now configurable in wxWidgets GUI. Patch from bit.
This commit is contained in:
parent
e61d25eedd
commit
0928b4fbdf
3 changed files with 1256 additions and 1189 deletions
23
src/pc.xrc
23
src/pc.xrc
|
|
@ -28,6 +28,7 @@
|
|||
<ids-range name="IDM_VID_SCALE" start="1200" />
|
||||
<ids-range name="IDM_VID_SCALE_MODE" start="1300" />
|
||||
<ids-range name="IDM_VID_RENDER_DRIVER" start="1400" />
|
||||
<ids-range name="IDM_SND_BUF" start="2000" />
|
||||
<object class="wxMenuBar" name="status_menu">
|
||||
<object class="wxMenu">
|
||||
<label>_Options</label>
|
||||
|
|
@ -229,6 +230,28 @@
|
|||
<checkable>1</checkable>
|
||||
</object>
|
||||
</object>
|
||||
<object class="wxMenu">
|
||||
<label>Sound</label>
|
||||
<object class="wxMenu">
|
||||
<label>_Buffer length</label>
|
||||
<object class="wxMenuItem" name="IDM_SND_BUF[0]">
|
||||
<label>_50 ms</label>
|
||||
<radio>1</radio>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="IDM_SND_BUF[1]">
|
||||
<label>_100 ms</label>
|
||||
<radio>1</radio>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="IDM_SND_BUF[2]">
|
||||
<label>_200 ms</label>
|
||||
<radio>1</radio>
|
||||
</object>
|
||||
<object class="wxMenuItem" name="IDM_SND_BUF[3]">
|
||||
<label>_400 ms</label>
|
||||
<radio>1</radio>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="separator"/>
|
||||
<object class="wxMenuItem" name="IDM_STATUS">
|
||||
<label>_Machine</label>
|
||||
|
|
|
|||
3657
src/wx-resources.cpp
3657
src/wx-resources.cpp
File diff suppressed because it is too large
Load diff
|
|
@ -15,6 +15,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include "ibm.h"
|
||||
#include "cdrom-ioctl.h"
|
||||
#include "cdrom-image.h"
|
||||
|
|
@ -41,6 +42,8 @@
|
|||
|
||||
#define IDM_CDROM_REAL 1500
|
||||
|
||||
#define MIN_SND_BUF 50
|
||||
|
||||
uint64_t timer_freq;
|
||||
|
||||
|
||||
|
|
@ -285,6 +288,9 @@ void wx_setupmenu()
|
|||
window_remember ? WX_MB_CHECKED : WX_MB_UNCHECKED);
|
||||
wx_checkmenuitem(menu, WX_ID("IDM_BPB_DISABLE"), bpb_disable ? WX_MB_CHECKED : WX_MB_UNCHECKED);
|
||||
|
||||
sprintf(menuitem, "IDM_SND_BUF[%d]", (int)(log(sound_buf_len/MIN_SND_BUF)/log(2)));
|
||||
wx_checkmenuitem(menu, WX_ID(menuitem), WX_MB_CHECKED);
|
||||
|
||||
sprintf(menuitem, "IDM_VID_SCALE_MODE[%d]", video_scale_mode);
|
||||
wx_checkmenuitem(menu, WX_ID(menuitem), WX_MB_CHECKED);
|
||||
sprintf(menuitem, "IDM_VID_SCALE[%d]", video_scale);
|
||||
|
|
@ -729,6 +735,11 @@ int wx_handle_command(void* hwnd, int wParam, int checked)
|
|||
video_focus_dim = checked;
|
||||
saveconfig(NULL);
|
||||
}
|
||||
else if (ID_RANGE("IDM_SND_BUF[start]", "IDM_SND_BUF[end]"))
|
||||
{
|
||||
sound_buf_len = MIN_SND_BUF*1<<(wParam - wx_xrcid("IDM_SND_BUF[start]"));
|
||||
saveconfig(NULL);
|
||||
}
|
||||
else if (ID_IS("IDM_CDROM_DISABLED"))
|
||||
{
|
||||
if (cdrom_enabled)
|
||||
|
|
|
|||
Loading…
Reference in a new issue