mirror of
https://github.com/AppleWin/AppleWin.git
synced 2026-04-23 20:21:14 +00:00
A few miscellaneous cleanups. (PR #1355)
Move DSXXX function to a more specific location. . DSAvailable() is not implemented in SoundCore. . DSInit() & DSUninit(); are only meaningful in Windows. SoundBuffer: use plain C++ to clean it up as opposed to COM interfaces. . which are only relevant to the Win32 implementation. Remove 2 obsolete FMT macros. NTSC: load bitmaps by resource id. SoundBuffer: make creation of a SoundBuffer an atomic operation. Fix 2019 solution.
This commit is contained in:
@@ -107,6 +107,7 @@
|
||||
<ClInclude Include="source\SaveState.h" />
|
||||
<ClInclude Include="source\SerialComms.h" />
|
||||
<ClInclude Include="source\SNESMAX.h" />
|
||||
<ClInclude Include="source\SoundBuffer.h" />
|
||||
<ClInclude Include="source\SoundCore.h" />
|
||||
<ClInclude Include="source\Speaker.h" />
|
||||
<ClInclude Include="source\Speech.h" />
|
||||
@@ -134,6 +135,7 @@
|
||||
<ClInclude Include="source\W5100.h" />
|
||||
<ClInclude Include="source\Windows\AppleWin.h" />
|
||||
<ClInclude Include="source\Windows\DirectInput.h" />
|
||||
<ClInclude Include="source\Windows\DXSoundBuffer.h" />
|
||||
<ClInclude Include="source\Windows\HookFilter.h" />
|
||||
<ClInclude Include="source\Windows\Win32Frame.h" />
|
||||
<ClInclude Include="source\YamlHelper.h" />
|
||||
@@ -264,6 +266,7 @@
|
||||
<ClCompile Include="Source\VidHD.cpp" />
|
||||
<ClCompile Include="source\Windows\AppleWin.cpp" />
|
||||
<ClCompile Include="source\Windows\DirectInput.cpp" />
|
||||
<ClCompile Include="source\Windows\DXSoundBuffer.cpp" />
|
||||
<ClCompile Include="source\Windows\HookFilter.cpp" />
|
||||
<ClCompile Include="source\Windows\Win32Frame.cpp" />
|
||||
<ClCompile Include="source\Windows\WinFrame.cpp" />
|
||||
@@ -298,14 +301,18 @@
|
||||
<None Include="resource\Apple2.rom" />
|
||||
<None Include="resource\Apple2e.rom" />
|
||||
<None Include="resource\Apple2e_Enhanced.rom" />
|
||||
<None Include="resource\Apple2e_Enhanced_Video.rom" />
|
||||
<None Include="resource\Apple2_JPlus.rom" />
|
||||
<None Include="resource\Apple2_JPlus_Video.rom" />
|
||||
<None Include="resource\Apple2_Plus.rom" />
|
||||
<None Include="resource\Apple2_Video.rom" />
|
||||
<None Include="resource\Base64A.rom" />
|
||||
<None Include="resource\Base64A_German_Video.rom" />
|
||||
<None Include="resource\Disk2-13sector.rom" />
|
||||
<None Include="resource\DISK2.rom" />
|
||||
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom" />
|
||||
<None Include="resource\HDC-SmartPort.bin" />
|
||||
<None Include="resource\Hddrvr-v2.bin" />
|
||||
<None Include="resource\Hddrvr.bin" />
|
||||
<None Include="resource\Mockingboard-D.rom" />
|
||||
<None Include="resource\MouseInterface.rom" />
|
||||
|
||||
@@ -274,6 +274,9 @@
|
||||
<ClCompile Include="source\MockingboardCardManager.cpp">
|
||||
<Filter>Source Files\Emulator</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="source\Windows\DXSoundBuffer.cpp">
|
||||
<Filter>Source Files\Windows</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="source\CommonVICE\6510core.h">
|
||||
@@ -621,6 +624,12 @@
|
||||
<ClInclude Include="source\MemoryDefs.h">
|
||||
<Filter>Source Files\Emulator</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\SoundBuffer.h">
|
||||
<Filter>Source Files\Emulator</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\Windows\DXSoundBuffer.h">
|
||||
<Filter>Source Files\Windows</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="resource\Applewin.bmp">
|
||||
@@ -808,6 +817,10 @@
|
||||
<None Include="resource\Disk2-13sector.rom">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
<None Include="resource\Hddrvr-v2.bin" />
|
||||
<None Include="resource\HDC-SmartPort.bin" />
|
||||
<None Include="resource\Apple2_Video.rom" />
|
||||
<None Include="resource\Apple2e_Enhanced_Video.rom" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="docs\CodingConventions.txt">
|
||||
|
||||
@@ -70,9 +70,9 @@ LED_CAPSOFF_P8_BITMAP BITMAP "LED_CAPS_OFF_P8.BMP"
|
||||
LED_CAPSON_P8_BITMAP BITMAP "LED_CAPS_ON_P8.BMP"
|
||||
LED_LATOFF_BITMAP BITMAP "LED_CAPS_OFF_LAT.BMP"
|
||||
LED_LATON_BITMAP BITMAP "LED_CAPS_ON_LAT.BMP"
|
||||
CHARSET82 BITMAP "CHARSET82.BMP"
|
||||
CHARSET8M BITMAP "CHARSET8M.BMP"
|
||||
CHARSET8C BITMAP "CHARSET8C.BMP"
|
||||
IDB_CHARSET82 BITMAP "CHARSET82.bmp"
|
||||
IDB_CHARSET8M BITMAP "CHARSET8M.bmp"
|
||||
IDB_CHARSET8C BITMAP "CHARSET8C.bmp"
|
||||
HELP_BUTTON BITMAP "HELP.BMP"
|
||||
DRIVESWAP_BUTTON BITMAP "DRIVESWAP.BMP"
|
||||
IDB_APPLEWIN BITMAP "ApplewinLogo.bmp"
|
||||
@@ -327,8 +327,8 @@ END
|
||||
// FIRMWARE
|
||||
//
|
||||
|
||||
IDR_DISK2_13SECTOR_FW FIRMWARE "Disk2-13sector.rom"
|
||||
IDR_DISK2_16SECTOR_FW FIRMWARE "Disk2.rom"
|
||||
IDR_DISK2_13SECTOR_FW FIRMWARE "DISK2-13sector.rom"
|
||||
IDR_DISK2_16SECTOR_FW FIRMWARE "DISK2.rom"
|
||||
IDR_SSC_FW FIRMWARE "SSC.rom"
|
||||
IDR_HDDRVR_FW FIRMWARE "Hddrvr.bin"
|
||||
IDR_HDDRVR_V2_FW FIRMWARE "Hddrvr-v2.bin"
|
||||
@@ -349,12 +349,12 @@ IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom"
|
||||
IDR_APPLE2_JPLUS_ROM ROM "Apple2_JPlus.rom"
|
||||
IDR_APPLE2E_ROM ROM "Apple2e.rom"
|
||||
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
|
||||
IDR_PRAVETS_82_ROM ROM "Pravets82.rom"
|
||||
IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom"
|
||||
IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom"
|
||||
IDR_PRAVETS_82_ROM ROM "PRAVETS82.ROM"
|
||||
IDR_PRAVETS_8M_ROM ROM "PRAVETS8M.ROM"
|
||||
IDR_PRAVETS_8C_ROM ROM "PRAVETS8C.ROM"
|
||||
IDR_TK3000_2E_ROM ROM "TK3000e.rom"
|
||||
IDR_BASE_64A_ROM ROM "Base64A.rom"
|
||||
IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.rom"
|
||||
IDR_FREEZES_F8_ROM ROM "Freezes_Non-Autostart_F8_Rom.rom"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
+4
-1
@@ -56,6 +56,9 @@
|
||||
#define IDR_BASE64A_VIDEO_ROM 154
|
||||
#define IDR_HDDRVR_V2_FW 155
|
||||
#define IDR_HDC_SMARTPORT_FW 156
|
||||
#define IDB_CHARSET8M 157
|
||||
#define IDB_CHARSET82 158
|
||||
#define IDB_CHARSET8C 159
|
||||
#define IDC_KEYB_BUFFER_ENABLE 1005
|
||||
#define IDC_SAVESTATE 1006
|
||||
#define IDC_SAVESTATE_ON_EXIT 1007
|
||||
@@ -138,7 +141,7 @@
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NO_MFC 1
|
||||
#define _APS_NEXT_RESOURCE_VALUE 149
|
||||
#define _APS_NEXT_RESOURCE_VALUE 160
|
||||
#define _APS_NEXT_COMMAND_VALUE 40012
|
||||
#define _APS_NEXT_CONTROL_VALUE 1083
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
|
||||
+2
-2
@@ -43,14 +43,14 @@ public:
|
||||
virtual int FrameMessageBox(LPCSTR lpText, LPCSTR lpCaption, UINT uType) = 0;
|
||||
|
||||
// this function merges LoadBitmap and GetBitmapBits from windows.h
|
||||
virtual void GetBitmap(LPCSTR lpBitmapName, LONG cb, LPVOID lpvBits) = 0;
|
||||
virtual void GetBitmap(WORD id, LONG cb, LPVOID lpvBits) = 0;
|
||||
|
||||
// create the network backed for Uthernet 1 and 2
|
||||
// useful to use libslirp in Linux
|
||||
virtual std::shared_ptr<NetworkBackend> CreateNetworkBackend(const std::string & interfaceName) = 0;
|
||||
|
||||
// create an object to write sound output to
|
||||
virtual std::shared_ptr<SoundBuffer> CreateSoundBuffer() = 0;
|
||||
virtual std::shared_ptr<SoundBuffer> CreateSoundBuffer(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName) = 0;
|
||||
|
||||
// FindResource, MAKEINTRESOURCE, SizeofResource, LoadResource, LockResource
|
||||
// Return pointer to resource if size is correct.
|
||||
|
||||
@@ -71,12 +71,12 @@ static void get_csbits_xy(csbits_t csbits, UINT ch, UINT cx, UINT cy, const BYTE
|
||||
}
|
||||
}
|
||||
|
||||
static void get_csbits(csbits_t csbits, const char* resourceName, const UINT cy0)
|
||||
static void get_csbits(csbits_t csbits, WORD id, const UINT cy0)
|
||||
{
|
||||
const UINT bufferSize = bitmapWidthBytes*bitmapHeight;
|
||||
BYTE* pBuffer = new BYTE [bufferSize];
|
||||
|
||||
GetFrame().GetBitmap(resourceName, bufferSize, pBuffer);
|
||||
GetFrame().GetBitmap(id, bufferSize, pBuffer);
|
||||
|
||||
for (UINT cy=cy0, ch=0; cy<cy0+16; cy++)
|
||||
{
|
||||
@@ -288,10 +288,10 @@ static void VideoRomForIIeEnhanced(void)
|
||||
|
||||
void make_csbits(void)
|
||||
{
|
||||
get_csbits(&csbits_pravets82[0], TEXT("CHARSET82"), 0); // Pravets 82
|
||||
get_csbits(&csbits_pravets8M[0], TEXT("CHARSET8M"), 0); // Pravets 8M
|
||||
get_csbits(&csbits_pravets8C[0], TEXT("CHARSET8C"), 0); // Pravets 8A / 8C: Alt char set off
|
||||
get_csbits(&csbits_pravets8C[1], TEXT("CHARSET8C"), 16); // Pravets 8A / 8C: Alt char set on
|
||||
get_csbits(&csbits_pravets82[0], IDB_CHARSET82, 0); // Pravets 82
|
||||
get_csbits(&csbits_pravets8M[0], IDB_CHARSET8M, 0); // Pravets 8M
|
||||
get_csbits(&csbits_pravets8C[0], IDB_CHARSET8C, 0); // Pravets 8A / 8C: Alt char set off
|
||||
get_csbits(&csbits_pravets8C[1], IDB_CHARSET8C, 16); // Pravets 8A / 8C: Alt char set on
|
||||
|
||||
VideoRomForIIandIIPlus(); // GH#1308
|
||||
VideoRomForIIeEnhanced(); // GH#1308
|
||||
|
||||
@@ -5,9 +5,6 @@ class SoundBuffer
|
||||
public:
|
||||
virtual ~SoundBuffer() = default;
|
||||
|
||||
virtual HRESULT Init(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName) = 0;
|
||||
virtual HRESULT Release() = 0;
|
||||
|
||||
virtual HRESULT SetCurrentPosition(DWORD dwNewPosition) = 0;
|
||||
virtual HRESULT GetCurrentPosition(LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) = 0;
|
||||
|
||||
@@ -23,3 +20,6 @@ public:
|
||||
virtual HRESULT GetStatus(LPDWORD lpdwStatus) = 0;
|
||||
virtual HRESULT Restore() = 0;
|
||||
};
|
||||
|
||||
// this must be reimplemented in each platform
|
||||
bool DSAvailable();
|
||||
|
||||
@@ -152,14 +152,10 @@ HRESULT DSGetSoundBuffer(VOICE* pVoice, uint32_t dwFlags, uint32_t dwBufferSize,
|
||||
{
|
||||
pVoice->name = pszDevName;
|
||||
|
||||
std::shared_ptr<SoundBuffer> soundBuffer = GetFrame().CreateSoundBuffer();
|
||||
std::shared_ptr<SoundBuffer> soundBuffer = GetFrame().CreateSoundBuffer(dwFlags, dwBufferSize, nSampleRate, nChannels, pszDevName);
|
||||
if (!soundBuffer)
|
||||
return E_FAIL;
|
||||
|
||||
HRESULT hr = soundBuffer->Init(dwFlags, dwBufferSize, nSampleRate, nChannels, pszDevName);
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
|
||||
pVoice->lpDSBvoice = soundBuffer;
|
||||
|
||||
_ASSERT(g_uNumVoices < uMAX_VOICES);
|
||||
@@ -169,7 +165,7 @@ HRESULT DSGetSoundBuffer(VOICE* pVoice, uint32_t dwFlags, uint32_t dwBufferSize,
|
||||
if(pVoice->bIsSpeaker)
|
||||
g_pSpeakerVoice = pVoice;
|
||||
|
||||
return hr;
|
||||
return DS_OK;
|
||||
}
|
||||
|
||||
void DSReleaseSoundBuffer(VOICE* pVoice)
|
||||
@@ -188,7 +184,7 @@ void DSReleaseSoundBuffer(VOICE* pVoice)
|
||||
}
|
||||
}
|
||||
|
||||
SAFE_RELEASE(pVoice->lpDSBvoice);
|
||||
pVoice->lpDSBvoice.reset();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -58,10 +58,6 @@ void SoundCore_SetErrorMax(const int nErrorMax);
|
||||
|
||||
void SoundCore_StopTimer();
|
||||
|
||||
bool DSInit();
|
||||
void DSUninit();
|
||||
bool DSAvailable();
|
||||
|
||||
LONG NewVolume(uint32_t dwVolume, uint32_t dwVolumeMax);
|
||||
|
||||
void SysClk_WaitTimer();
|
||||
|
||||
+2
-1
@@ -996,7 +996,8 @@ bool Spkr_DSInit()
|
||||
|
||||
hr = SpeakerVoice.lpDSBvoice->GetCurrentPosition(&dwCurrentPlayCursor, &dwCurrentWriteCursor);
|
||||
LogFileOutput("Spkr_DSInit: GetCurrentPosition kludge (%08X)\n", (uint32_t)hr);
|
||||
LogOutput("[DSInit] PC=%08" DWORD_T_FMT ", WC=%08" DWORD_T_FMT ", Diff=%08" DWORD_T_FMT "\n", dwCurrentPlayCursor, dwCurrentWriteCursor, dwCurrentWriteCursor-dwCurrentPlayCursor);
|
||||
LogOutput("[DSInit] PC=%08X, WC=%08X, Diff=%08X\n", (uint32_t)dwCurrentPlayCursor,
|
||||
(uint32_t)dwCurrentWriteCursor, (uint32_t)(dwCurrentWriteCursor-dwCurrentPlayCursor));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -59,15 +59,11 @@ typedef UINT64 uint64_t;
|
||||
#if _MSC_VER < 1900
|
||||
#ifdef _WIN64
|
||||
#define SIZE_T_FMT "llu"
|
||||
#define PTRDIFF_T_FMT "lld"
|
||||
#else
|
||||
#define SIZE_T_FMT "lu"
|
||||
#define PTRDIFF_T_FMT "ld"
|
||||
#endif
|
||||
#else
|
||||
#define SIZE_T_FMT "zu"
|
||||
#define PTRDIFF_T_FMT "td"
|
||||
#define DWORD_T_FMT "lX"
|
||||
#endif
|
||||
|
||||
#else // !_WIN32
|
||||
@@ -89,7 +85,5 @@ typedef UINT64 uint64_t;
|
||||
//#define USE_SPEECH_API
|
||||
|
||||
#define SIZE_T_FMT "zu"
|
||||
#define PTRDIFF_T_FMT "td"
|
||||
#define DWORD_T_FMT "X"
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
@@ -43,7 +43,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#include "Riff.h"
|
||||
#include "SaveState.h"
|
||||
#include "SerialComms.h"
|
||||
#include "SoundCore.h"
|
||||
#include "Speaker.h"
|
||||
#include "LanguageCard.h"
|
||||
#include "CardManager.h"
|
||||
@@ -51,6 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#include "Speech.h"
|
||||
#endif
|
||||
#include "Windows/Win32Frame.h"
|
||||
#include "Windows/DXSoundBuffer.h"
|
||||
#include "RGBMonitor.h"
|
||||
#include "NTSC.h"
|
||||
|
||||
|
||||
@@ -48,10 +48,10 @@ static UINT g_uDSInitRefCount = 0;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
HRESULT DXSoundBuffer::Init(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName)
|
||||
std::shared_ptr<SoundBuffer> DXSoundBuffer::create(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels)
|
||||
{
|
||||
if (!g_lpDS)
|
||||
return E_FAIL;
|
||||
return NULL;
|
||||
|
||||
WAVEFORMATEX wavfmt;
|
||||
DSBUFFERDESC dsbdesc;
|
||||
@@ -69,21 +69,30 @@ HRESULT DXSoundBuffer::Init(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate
|
||||
dsbdesc.lpwfxFormat = &wavfmt;
|
||||
dsbdesc.dwFlags = dwFlags | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_STICKYFOCUS;
|
||||
|
||||
LPDIRECTSOUNDBUFFER pBuffer;
|
||||
|
||||
// Are buffers released when g_lpDS OR m_pBuffer is released?
|
||||
// . From DirectX doc:
|
||||
// "Buffer objects are owned by the device object that created them. When the
|
||||
// device object is released, all buffers created by that object are also released..."
|
||||
return g_lpDS->CreateSoundBuffer(&dsbdesc, &m_pBuffer, NULL);
|
||||
HRESULT hr = g_lpDS->CreateSoundBuffer(&dsbdesc, &pBuffer, NULL);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
LogFileOutput("DXSoundBuffer: CreateSoundBuffer(), hr=0x%08X\n", (uint32_t)hr);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return std::make_shared<DXSoundBuffer>(pBuffer);
|
||||
}
|
||||
|
||||
HRESULT DXSoundBuffer::Release()
|
||||
DXSoundBuffer::DXSoundBuffer(LPDIRECTSOUNDBUFFER pBuffer) : m_pBuffer(pBuffer)
|
||||
{
|
||||
if (!m_pBuffer)
|
||||
return DS_OK;
|
||||
_ASSERT(m_pBuffer);
|
||||
}
|
||||
|
||||
DXSoundBuffer::~DXSoundBuffer()
|
||||
{
|
||||
HRESULT hr = m_pBuffer->Release();
|
||||
m_pBuffer = NULL;
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT DXSoundBuffer::SetCurrentPosition(DWORD dwNewPosition)
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
class DXSoundBuffer : public SoundBuffer
|
||||
{
|
||||
public:
|
||||
~DXSoundBuffer() { Release(); }
|
||||
static std::shared_ptr<SoundBuffer> create(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels);
|
||||
|
||||
virtual HRESULT Init(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName);
|
||||
virtual HRESULT Release();
|
||||
DXSoundBuffer(LPDIRECTSOUNDBUFFER pBuffer);
|
||||
virtual ~DXSoundBuffer();
|
||||
|
||||
virtual HRESULT SetCurrentPosition(DWORD dwNewPosition);
|
||||
virtual HRESULT GetCurrentPosition(LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor);
|
||||
@@ -26,5 +26,8 @@ public:
|
||||
virtual HRESULT Restore();
|
||||
|
||||
private:
|
||||
LPDIRECTSOUNDBUFFER m_pBuffer = NULL;
|
||||
const LPDIRECTSOUNDBUFFER m_pBuffer;
|
||||
};
|
||||
|
||||
bool DSInit();
|
||||
void DSUninit();
|
||||
|
||||
@@ -587,9 +587,9 @@ int Win32Frame::FrameMessageBox(LPCSTR lpText, LPCSTR lpCaption, UINT uType)
|
||||
return MessageBox(handle, lpText, lpCaption, uType);
|
||||
}
|
||||
|
||||
void Win32Frame::GetBitmap(LPCSTR lpBitmapName, LONG cb, LPVOID lpvBits)
|
||||
void Win32Frame::GetBitmap(WORD id, LONG cb, LPVOID lpvBits)
|
||||
{
|
||||
HBITMAP hBitmap = LoadBitmap(g_hInstance, lpBitmapName);
|
||||
HBITMAP hBitmap = LoadBitmap(g_hInstance, MAKEINTRESOURCE(id));
|
||||
GetBitmapBits(hBitmap, cb, lpvBits);
|
||||
DeleteObject(hBitmap);
|
||||
}
|
||||
@@ -632,7 +632,7 @@ std::shared_ptr<NetworkBackend> Win32Frame::CreateNetworkBackend(const std::stri
|
||||
return backend;
|
||||
}
|
||||
|
||||
std::shared_ptr<SoundBuffer> Win32Frame::CreateSoundBuffer()
|
||||
std::shared_ptr<SoundBuffer> Win32Frame::CreateSoundBuffer(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName)
|
||||
{
|
||||
return std::make_shared<DXSoundBuffer>();
|
||||
return DXSoundBuffer::create(dwFlags, dwBufferSize, nSampleRate, nChannels);
|
||||
}
|
||||
|
||||
@@ -53,14 +53,14 @@ public:
|
||||
virtual void ResizeWindow(void);
|
||||
|
||||
virtual int FrameMessageBox(LPCSTR lpText, LPCSTR lpCaption, UINT uType);
|
||||
virtual void GetBitmap(LPCSTR lpBitmapName, LONG cb, LPVOID lpvBits);
|
||||
virtual void GetBitmap(WORD id, LONG cb, LPVOID lpvBits);
|
||||
virtual BYTE* GetResource(WORD id, LPCSTR lpType, uint32_t expectedSize);
|
||||
virtual void Restart();
|
||||
|
||||
virtual std::string Video_GetScreenShotFolder() const;
|
||||
|
||||
virtual std::shared_ptr<NetworkBackend> CreateNetworkBackend(const std::string& interfaceName);
|
||||
virtual std::shared_ptr<SoundBuffer> CreateSoundBuffer();
|
||||
virtual std::shared_ptr<SoundBuffer> CreateSoundBuffer(DWORD dwFlags, DWORD dwBufferSize, DWORD nSampleRate, int nChannels, LPCSTR pDevName);
|
||||
|
||||
bool GetFullScreenShowSubunitStatus(void);
|
||||
bool GetWindowedModeShowDiskiiStatus(void);
|
||||
|
||||
@@ -38,13 +38,13 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#include "Mockingboard.h"
|
||||
#include "MouseInterface.h"
|
||||
#include "Windows/DirectInput.h"
|
||||
#include "Windows/DXSoundBuffer.h"
|
||||
#include "NTSC.h"
|
||||
#include "ParallelPrinter.h"
|
||||
#include "Pravets.h"
|
||||
#include "Registry.h"
|
||||
#include "SaveState.h"
|
||||
#include "SerialComms.h"
|
||||
#include "SoundCore.h"
|
||||
#include "Uthernet1.h"
|
||||
#include "Uthernet2.h"
|
||||
#include "Speaker.h"
|
||||
|
||||
Reference in New Issue
Block a user