plugins can now compile with unicode

excluding DX9

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3905 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
LPFaint99 2009-07-30 07:08:31 +00:00
parent 28198d0062
commit 90d2d95c72
11 changed files with 75 additions and 82 deletions

View File

@ -60,9 +60,9 @@ DSPConfigDialogHLE::DSPConfigDialogHLE(wxWindow *parent, wxWindowID id, const wx
// Add tooltips // Add tooltips
m_buttonEnableHLEAudio->SetToolTip(wxT("This is the most common sound type")); m_buttonEnableHLEAudio->SetToolTip(wxT("This is the most common sound type"));
m_buttonEnableDTKMusic->SetToolTip(wxT("This is sometimes used to play music tracks from the disc")); m_buttonEnableDTKMusic->SetToolTip(wxT("This is sometimes used to play music tracks from the disc"));
m_buttonEnableThrottle->SetToolTip(wxT("This is sometimes used together with pre-rendered movies.\n" m_buttonEnableThrottle->SetToolTip(wxT("This is sometimes used together with pre-rendered movies.\n")
"Disabling this also disables the speed throttle which this causes,\n" wxT("Disabling this also disables the speed throttle which this causes,\n")
"meaning that there will be no upper limit on your FPS.")); wxT("meaning that there will be no upper limit on your FPS."));
m_buttonEnableRE0Fix->SetToolTip(wxT("This fixes audo in RE0 and maybe some other games.")); m_buttonEnableRE0Fix->SetToolTip(wxT("This fixes audo in RE0 and maybe some other games."));
m_BackendSelection->SetToolTip(wxT("Changing this will have no effect while the emulator is running!")); m_BackendSelection->SetToolTip(wxT("Changing this will have no effect while the emulator is running!"));

View File

@ -52,9 +52,9 @@ DSPConfigDialogLLE::DSPConfigDialogLLE(wxWindow *parent, wxWindowID id, const wx
// Add tooltips // Add tooltips
m_buttonEnableDTKMusic->SetToolTip(wxT("This is sometimes used to play music tracks from the disc")); m_buttonEnableDTKMusic->SetToolTip(wxT("This is sometimes used to play music tracks from the disc"));
m_buttonEnableThrottle->SetToolTip(wxT("This is sometimes used together with pre-rendered movies.\n" m_buttonEnableThrottle->SetToolTip(wxT("This is sometimes used together with pre-rendered movies.\n")
"Disabling this also disables the speed throttle which this causes,\n" wxT("Disabling this also disables the speed throttle which this causes,\n")
"meaning that there will be no upper limit on your FPS.")); wxT("meaning that there will be no upper limit on your FPS."));
m_BackendSelection->SetToolTip(wxT("Changing this will have no effect while the emulator is running!")); m_BackendSelection->SetToolTip(wxT("Changing this will have no effect while the emulator is running!"));
// Create sizer and add items to dialog // Create sizer and add items to dialog

View File

@ -160,7 +160,7 @@ void PADConfigDialogSimple::CreateGUIControls()
if (xresult == ERROR_SUCCESS) if (xresult == ERROR_SUCCESS)
{ {
arrayStringFor_X360Pad.Add(wxString::Format("%i", x+1)); arrayStringFor_X360Pad.Add(wxString::Format(wxT("%i"), x+1));
} }
} }
#endif #endif

View File

@ -211,7 +211,7 @@ void GetDllInfo(PLUGIN_INFO* _PluginInfo)
void SetDllGlobals(PLUGIN_GLOBALS* _pPluginGlobals) { void SetDllGlobals(PLUGIN_GLOBALS* _pPluginGlobals) {
globals = _pPluginGlobals; globals = _pPluginGlobals;
LogManager::SetInstance((LogManager *)globals->logManager); // LogManager::SetInstance((LogManager *)globals->logManager);
} }

View File

@ -83,7 +83,8 @@ void OpenGL_SetWindowText(const char *text)
#elif defined(HAVE_COCOA) && HAVE_COCOA #elif defined(HAVE_COCOA) && HAVE_COCOA
cocoaGLSetTitle(GLWin.cocoaWin, text); cocoaGLSetTitle(GLWin.cocoaWin, text);
#elif defined(_WIN32) #elif defined(_WIN32)
SetWindowText(EmuWindow::GetWnd(), text); // TODO convert text to unicode and change SetWindowTextA to SetWindowText
SetWindowTextA(EmuWindow::GetWnd(), text);
#elif defined(USE_WX) && USE_WX #elif defined(USE_WX) && USE_WX
GLWin.frame->SetTitle(wxString::FromAscii(text)); GLWin.frame->SetTitle(wxString::FromAscii(text));
#elif defined(HAVE_X11) && HAVE_X11 // GLX #elif defined(HAVE_X11) && HAVE_X11 // GLX
@ -233,10 +234,10 @@ bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _iwidth, int _iheight
// Create a separate window // Create a separate window
if (!g_Config.renderToMainframe || g_VideoInitialize.pWindowHandle == NULL) if (!g_Config.renderToMainframe || g_VideoInitialize.pWindowHandle == NULL)
g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create(NULL, g_hInstance, "Please wait..."); g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create(NULL, g_hInstance, _T("Please wait..."));
// Create a child window // Create a child window
else else
g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create((HWND)g_VideoInitialize.pWindowHandle, g_hInstance, "Please wait..."); g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create((HWND)g_VideoInitialize.pWindowHandle, g_hInstance, _T("Please wait..."));
// Show the window // Show the window
EmuWindow::Show(); EmuWindow::Show();
@ -269,7 +270,7 @@ bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _iwidth, int _iheight
// Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar. // Try To Set Selected Mode And Get Results. NOTE: CDS_FULLSCREEN Gets Rid Of Start Bar.
if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL) if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
{ {
if (MessageBox(NULL,"The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?","NeHe GL",MB_YESNO|MB_ICONEXCLAMATION)==IDYES) if (MessageBox(NULL, _T("The Requested Fullscreen Mode Is Not Supported By\nYour Video Card. Use Windowed Mode Instead?"), _T("NeHe GL"),MB_YESNO|MB_ICONEXCLAMATION)==IDYES)
g_Config.bFullscreen = false; g_Config.bFullscreen = false;
else else
return false; return false;

View File

@ -231,27 +231,26 @@ void GFXConfigDialogOGL::CreateGUIControls()
m_EFBCopyDisableHotKey->SetValue(g_Config.bEFBCopyDisableHotKey); m_EFBCopyDisableHotKey->SetValue(g_Config.bEFBCopyDisableHotKey);
// Tool tips // Tool tips
m_Fullscreen->SetToolTip(wxT( m_Fullscreen->SetToolTip(
"This will create a Fullscreen window using the chosen Fullscreen resolution." wxT("This will create a Fullscreen window using the chosen Fullscreen resolution.")
"\nPress Alt+Enter to switch between Fullscreen and Windowed mode." wxT("\nPress Alt+Enter to switch between Fullscreen and Windowed mode.")
"\n\nApplies instanty during gameplay: <No>")); wxT("\n\nApplies instanty during gameplay: <No>"));
m_NativeResolution->SetToolTip(wxT( m_NativeResolution->SetToolTip(
"This will use the game's native resolution and stretch it to fill the" wxT("This will use the game's native resolution and stretch it to fill the")
"\nwindow instead of changing the internal display resolution. It" wxT("\nwindow instead of changing the internal display resolution. It")
"\nmay result in a blurrier image, but it may also give a higher" wxT("\nmay result in a blurrier image, but it may also give a higher")
"\nFPS if you have a slow graphics card." wxT("\nFPS if you have a slow graphics card.")
"\n\nApplies instanty during gameplay: <Yes>")); wxT("\n\nApplies instanty during gameplay: <Yes>"));
m_2xResolution->SetToolTip(wxT( m_2xResolution->SetToolTip(wxT(
"Applies instanty during gameplay: <Yes>")); "Applies instanty during gameplay: <Yes>"));
m_Crop->SetToolTip(wxT( m_Crop->SetToolTip(
"Crop the picture instead of creating a letterbox. It will assume that your screen" wxT("Crop the picture instead of creating a letterbox. It will assume that your screen")
"\nis of the 5:4 format if you have selected the 4:3 aspect ratio. It will assume" wxT("\nis of the 5:4 format if you have selected the 4:3 aspect ratio. It will assume")
"\nthat your screen is of the 16:10 format if you have selected the 16:9 aspect ratio." wxT("\nthat your screen is of the 16:10 format if you have selected the 16:9 aspect ratio.")
"\n\nApplies instanty during gameplay: <Yes>")); wxT("\n\nApplies instanty during gameplay: <Yes>"));
m_WindowResolutionCB->SetToolTip(wxT( m_WindowResolutionCB->SetToolTip(
"Select internal resolution for the separate rendering window. This resolution also applies" wxT("Select internal resolution for the separate rendering window. This resolution also applies")
" to the fullscreen mode" wxT(" to the fullscreen mode\n\nApplies instanty during gameplay: <No>"));
"\n\nApplies instanty during gameplay: <No>"));
m_MSAAModeCB->SetToolTip(wxT( m_MSAAModeCB->SetToolTip(wxT(
"Applies instanty during gameplay: <No>")); "Applies instanty during gameplay: <No>"));
m_EFBCopyDisableHotKey->SetToolTip(wxT( m_EFBCopyDisableHotKey->SetToolTip(wxT(
@ -386,8 +385,8 @@ void GFXConfigDialogOGL::CreateGUIControls()
m_StaticBox_EFB = new wxStaticBox(m_PageAdvanced, ID_STATICBOX_EFB, wxT("EFB Copy")); m_StaticBox_EFB = new wxStaticBox(m_PageAdvanced, ID_STATICBOX_EFB, wxT("EFB Copy"));
m_CheckBox_DisableCopyEFB = new wxCheckBox(m_PageAdvanced, ID_CHECKBOX_DISABLECOPYEFB, wxT("Disable")); m_CheckBox_DisableCopyEFB = new wxCheckBox(m_PageAdvanced, ID_CHECKBOX_DISABLECOPYEFB, wxT("Disable"));
m_CheckBox_DisableCopyEFB->SetValue(g_Config.bEFBCopyDisable); m_CheckBox_DisableCopyEFB->SetValue(g_Config.bEFBCopyDisable);
m_CheckBox_DisableCopyEFB->SetToolTip(wxT("This may lead to a higher FPS in for example Zelda - TP." m_CheckBox_DisableCopyEFB->SetToolTip(wxT("This may lead to a higher FPS in for example Zelda - TP.")
" But it may also cause graphical errors and missing graphics.")); wxT(" But it may also cause graphical errors and missing graphics."));
m_Radio_CopyEFBToRAM = new wxRadioButton(m_PageAdvanced, ID_RADIO_COPYEFBTORAM, wxT("Copy EFB to system RAM (real)")); m_Radio_CopyEFBToRAM = new wxRadioButton(m_PageAdvanced, ID_RADIO_COPYEFBTORAM, wxT("Copy EFB to system RAM (real)"));
m_Radio_CopyEFBToRAM->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]")); m_Radio_CopyEFBToRAM->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]"));
@ -405,9 +404,9 @@ void GFXConfigDialogOGL::CreateGUIControls()
m_DumpEFBTarget->SetValue(g_Config.bDumpEFBTarget); m_DumpEFBTarget->SetValue(g_Config.bDumpEFBTarget);
m_DumpFrames = new wxCheckBox(m_PageAdvanced, ID_DUMPFRAMES, wxT("Dump Rendered Frames"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_DumpFrames = new wxCheckBox(m_PageAdvanced, ID_DUMPFRAMES, wxT("Dump Rendered Frames"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
#ifdef _WIN32 #ifdef _WIN32
m_DumpFrames->SetToolTip(wxT( m_DumpFrames->SetToolTip(
"When dumping begins, you will be prompted to choose a video codec to" wxT("When dumping begins, you will be prompted to choose a video codec to")
" encode the video in.")); wxT(" encode the video in."));
#else #else
m_DumpFrames->SetToolTip(wxT( m_DumpFrames->SetToolTip(wxT(
"!!WARNING!! This option dumps raw bitmaps of each frame, and will fill up" "!!WARNING!! This option dumps raw bitmaps of each frame, and will fill up"
@ -438,12 +437,12 @@ void GFXConfigDialogOGL::CreateGUIControls()
m_SafeTextureCache->SetValue(g_Config.bSafeTextureCache); m_SafeTextureCache->SetValue(g_Config.bSafeTextureCache);
// Tool tips // Tool tips
m_SafeTextureCache->SetToolTip(wxT("This is useful to prevent Metroid Prime from crashing, but can cause problems in other games." m_SafeTextureCache->SetToolTip(wxT("This is useful to prevent Metroid Prime from crashing, but can cause problems in other games.")
"\n[This option will apply immediately and does not require a restart. However it may not" wxT("\n[This option will apply immediately and does not require a restart. However it may not")
" be entirely safe to change it midgames.]")); wxT(" be entirely safe to change it midgames.]"));
m_DstAlphaPass->SetToolTip(wxT("This renders a second time to set alpha to a constant value," m_DstAlphaPass->SetToolTip(wxT("This renders a second time to set alpha to a constant value,")
"\nDisabling it may speed up some games, but could also cause glitches.")); wxT("\nDisabling it may speed up some games, but could also cause glitches."));
m_DisableFog->SetToolTip(wxT("This option should not require a restart.")); m_DisableFog->SetToolTip(wxT("This option should not require a restart."));
// Sizers // Sizers
@ -509,10 +508,10 @@ void GFXConfigDialogOGL::CreateGUIControls()
void GFXConfigDialogOGL::AboutClick(wxCommandEvent& WXUNUSED (event)) void GFXConfigDialogOGL::AboutClick(wxCommandEvent& WXUNUSED (event))
{ {
wxMessageBox(_T("Dolphin OpenGL Plugin\nBy zerofrog(@gmail.com)\n\n" wxMessageBox(wxT("Dolphin OpenGL Plugin\nBy zerofrog(@gmail.com)\n\n")
"A card supporting Vertex/Pixel Shader 2.0 or higher, framebuffer objects, " wxT("A card supporting Vertex/Pixel Shader 2.0 or higher, framebuffer objects, ")
"and multiple render targets is required in order to use this plugin."), wxT("and multiple render targets is required in order to use this plugin."),
_T("Dolphin OGL"), wxOK, this); wxT("Dolphin OGL"), wxOK, this);
} }
void GFXConfigDialogOGL::ReloadShaderClick(wxCommandEvent& WXUNUSED (event)) void GFXConfigDialogOGL::ReloadShaderClick(wxCommandEvent& WXUNUSED (event))
@ -819,4 +818,3 @@ void Config::UpdateProjectionHack()
} }
} }

View File

@ -144,7 +144,7 @@ HWND m_hMain = NULL; // The main CPanel
HINSTANCE m_hInstance = NULL; HINSTANCE m_hInstance = NULL;
WNDCLASSEX wndClass; WNDCLASSEX wndClass;
const TCHAR m_szClassName[] = "DolphinEmuWnd"; const TCHAR m_szClassName[] = _T("DolphinEmuWnd");
int g_winstyle; int g_winstyle;
// --------------------------------------------------------------------- // ---------------------------------------------------------------------

View File

@ -164,8 +164,8 @@ void WiimoteBasicConfigDialog::CreateGUIControls()
m_UseRealWiimote[0]->SetValue(g_Config.bUseRealWiimote); m_UseRealWiimote[0]->SetValue(g_Config.bUseRealWiimote);
m_ConnectRealWiimote[i]->SetToolTip(wxT("Connected to the real wiimote. This can not be changed during gameplay.")); m_ConnectRealWiimote[i]->SetToolTip(wxT("Connected to the real wiimote. This can not be changed during gameplay."));
m_UseRealWiimote[i]->SetToolTip(wxT("Use the real Wiimote in the game. This can be changed during gameplay. This can not be selected" m_UseRealWiimote[i]->SetToolTip(wxT("Use the real Wiimote in the game. This can be changed during gameplay. This can not be selected")
" when a recording is to be done. No status in this window will be updated when this is checked.")); wxT(" when a recording is to be done. No status in this window will be updated when this is checked."));
m_SizeReal[i] = new wxStaticBoxSizer(wxVERTICAL, m_Controller[i], wxT("Real Wiimote")); m_SizeReal[i] = new wxStaticBoxSizer(wxVERTICAL, m_Controller[i], wxT("Real Wiimote"));
m_SizeReal[i]->Add(m_ConnectRealWiimote[i], 0, wxEXPAND | wxALL, 5); m_SizeReal[i]->Add(m_ConnectRealWiimote[i], 0, wxEXPAND | wxALL, 5);

View File

@ -285,7 +285,7 @@ void WiimotePadConfigDialog::ToBlank(bool _ToBlank)
if(GetButtonText(i, j).ToAscii() == "-1") if(GetButtonText(i, j).ToAscii() == "-1")
SetButtonText(i, (char *)"", j); SetButtonText(i, (char *)"", j);
#else #else
if(GetButtonText(i, j) == "-1") SetButtonText(i, "", j); if(GetButtonText(i, j) == wxT("-1")) SetButtonText(i, "", j);
#endif #endif
} }
else else
@ -515,9 +515,9 @@ void WiimotePadConfigDialog::DoGetButtons(int _GetId)
SetButtonTextAll(_GetId, (char *)"-1"); SetButtonTextAll(_GetId, (char *)"-1");
// Notify the user // Notify the user
wxMessageBox(wxString::Format(wxT( wxMessageBox(wxString::Format(
"You selected a key with a to low key code (%i), please" wxT("You selected a key with a to low key code (%i), please")
" select another key with a higher key code."), pressed) wxT(" select another key with a higher key code."), pressed)
, wxT("Notice"), wxICON_INFORMATION); , wxT("Notice"), wxICON_INFORMATION);
} }

View File

@ -413,14 +413,11 @@ void WiimotePadConfigDialog::CreatePadGUIControls()
// Tooltips // Tooltips
m_Joyname[i]->SetToolTip(wxT("Save your settings and configure another joypad")); m_Joyname[i]->SetToolTip(wxT("Save your settings and configure another joypad"));
m_CheckC2S[i]->SetToolTip(wxT( m_CheckC2S[i]->SetToolTip(wxT("This will convert a circular stick radius to a square stick radius.")
"This will convert a circular stick radius to a square stick radius." wxT(" This can be useful for the pitch and roll emulation."));
" This can be useful for the pitch and roll emulation." m_CheckC2SLabel[i]->SetToolTip(
)); wxT("To produce a perfect square circle in the 'Out' window you have to manually set")
m_CheckC2SLabel[i]->SetToolTip(wxT( wxT("\nyour diagonal values here from what is shown in the 'In' window."));
"To produce a perfect square circle in the 'Out' window you have to manually set"
"\nyour diagonal values here from what is shown in the 'In' window."
));
// Sizers // Sizers
m_gDeadZone[i] = new wxBoxSizer(wxVERTICAL); m_gDeadZone[i] = new wxBoxSizer(wxVERTICAL);

View File

@ -89,10 +89,10 @@ void WiimoteRecordingConfigDialog::SaveFile()
file.Set(SaveName.c_str(), "HotKeyIR", m_RecordHotKeyIR[i]->GetSelection()); file.Set(SaveName.c_str(), "HotKeyIR", m_RecordHotKeyIR[i]->GetSelection());
// Movement name // Movement name
file.Set(SaveName.c_str(), "MovementName", m_RecordText[i]->GetValue().c_str()); file.Set(SaveName.c_str(), "MovementName", (const char*)m_RecordText[i]->GetValue().mb_str(wxConvUTF8));
// Game name // Game name
file.Set(SaveName.c_str(), "GameName", m_RecordGameText[i]->GetValue().c_str()); file.Set(SaveName.c_str(), "GameName", (const char*)m_RecordGameText[i]->GetValue().mb_str(wxConvUTF8));
// Recording speed (currently always saved directly after a recording) // Recording speed (currently always saved directly after a recording)
/* /*
@ -120,10 +120,9 @@ void WiimoteRecordingConfigDialog::CreateGUIControlsRecording()
m_UpdateMeters->SetValue(g_Config.bUpdateRealWiimote); m_UpdateMeters->SetValue(g_Config.bUpdateRealWiimote);
m_UpdateMeters->SetToolTip(wxT( m_UpdateMeters->SetToolTip(
"You can turn this off when a game is running to avoid a potential slowdown that may come from redrawing the\n" wxT("You can turn this off when a game is running to avoid a potential slowdown that may come from redrawing the\n")
"configuration screen. Remember that you also need to press '+' on your Wiimote before you can record movements." wxT("configuration screen. Remember that you also need to press '+' on your Wiimote before you can record movements."));
));
// Width and height of the gauges // Width and height of the gauges
static const int Gw = 35, Gh = 110; //ugly static const int Gw = 35, Gh = 110; //ugly
@ -234,27 +233,25 @@ void WiimoteRecordingConfigDialog::CreateGUIControlsRecording()
wxStaticText * m_TextPlaySpeed = new wxStaticText(m_PageRecording, wxID_ANY, wxT("Pl. s."), wxDefaultPosition, wxSize(40, -1), wxALIGN_CENTRE); wxStaticText * m_TextPlaySpeed = new wxStaticText(m_PageRecording, wxID_ANY, wxT("Pl. s."), wxDefaultPosition, wxSize(40, -1), wxALIGN_CENTRE);
// Tool tips // Tool tips
m_TextRec->SetToolTip(wxT( m_TextRec->SetToolTip(
"To record a movement first press this button, then start the recording by pressing 'A' on the Wiimote and stop the recording\n" wxT("To record a movement first press this button, then start the recording by pressing 'A' on the Wiimote and stop the recording\n")
"by letting go of 'A'")); wxT("by letting go of 'A'"));
m_TextHotKeyWm->SetToolTip(wxT( m_TextHotKeyWm->SetToolTip(
"Select a hotkey for playback of Wiimote movements. You can combine it with an" wxT("Select a hotkey for playback of Wiimote movements. You can combine it with an")
" optional Shift, Ctrl, or Alt switch." wxT(" optional Shift, Ctrl, or Alt switch."));
));
m_TextHotKeyNc->SetToolTip(wxT( m_TextHotKeyNc->SetToolTip(wxT(
"Select a hotkey for playback of Nunchuck movements")); "Select a hotkey for playback of Nunchuck movements"));
m_TextHotKeyIR->SetToolTip(wxT( m_TextHotKeyIR->SetToolTip(wxT(
"Select a hotkey for playback of Nunchuck movements")); "Select a hotkey for playback of Nunchuck movements"));
m_TextRecSpeed->SetToolTip(wxT( m_TextRecSpeed->SetToolTip(wxT(
"Recording speed in average measurements per second")); "Recording speed in average measurements per second"));
m_TextPlaySpeed->SetToolTip(wxT( m_TextPlaySpeed->SetToolTip(
"Playback speed: A playback speed of 100 means that the playback occurs at the same rate as it was recorded. (You can see the\n" wxT("Playback speed: A playback speed of 100 means that the playback occurs at the same rate as it was recorded. (You can see the\n")
"current update rate in the Status window above when a game is running.) However, if your framerate is only at 50% of full speed\n" wxT("current update rate in the Status window above when a game is running.) However, if your framerate is only at 50% of full speed\n")
"you may want to select a playback rate of 50, because then the game might perceive the playback as a full speed playback. (This\n" wxT("you may want to select a playback rate of 50, because then the game might perceive the playback as a full speed playback. (This\n")
"holds if Wiimote_Update() is tied to the framerate, I'm not sure that this is the case. It seemed to vary somewhat with different\n" wxT("holds if Wiimote_Update() is tied to the framerate, I'm not sure that this is the case. It seemed to vary somewhat with different\n")
"framerates but perhaps not enough to say that it was exactly tied to the framerate.) So until this is better understood you'll have\n" wxT("framerates but perhaps not enough to say that it was exactly tied to the framerate.) So until this is better understood you'll have\n")
"to try different playback rates and see which one that works." wxT("to try different playback rates and see which one that works."));
));
sRealRecord[0] = new wxBoxSizer(wxHORIZONTAL); sRealRecord[0] = new wxBoxSizer(wxHORIZONTAL);
sRealRecord[0]->Add(m_TextRec, 0, wxEXPAND | (wxLEFT), 5); sRealRecord[0]->Add(m_TextRec, 0, wxEXPAND | (wxLEFT), 5);