mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-12-23 00:30:17 +00:00
71c67cf132
Mockingboard or Phasor cards can be inserted into any slot. Change Config->Sound to that slots 4+5 to be individually selected for the 3 soundcard types. Add MockingboardCardManager class to manage multiple cards and mix the sound buffers.
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "IPropertySheetPage.h"
|
|
#include "PropertySheetDefs.h"
|
|
#include "Card.h"
|
|
|
|
class CPropertySheetHelper;
|
|
|
|
class CPageSound : private IPropertySheetPage
|
|
{
|
|
public:
|
|
CPageSound(CPropertySheetHelper& PropertySheetHelper) :
|
|
m_Page(PG_SOUND),
|
|
m_PropertySheetHelper(PropertySheetHelper)
|
|
{
|
|
CPageSound::ms_this = this;
|
|
}
|
|
virtual ~CPageSound(){}
|
|
|
|
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
|
|
|
|
DWORD GetVolumeMax(void){ return VOLUME_MAX; }
|
|
|
|
protected:
|
|
// IPropertySheetPage
|
|
virtual INT_PTR DlgProcInternal(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
|
|
virtual void DlgOK(HWND hWnd);
|
|
virtual void DlgCANCEL(HWND hWnd){}
|
|
|
|
private:
|
|
enum SOUNDCARDCHOICE { SC_MOCKINGBOARD = 0, SC_PHASOR, SC_SAM, SC_EMPTY, _SOUNDCARD_MAX_CHOICES, SC_UNAVAILABLE };
|
|
|
|
void InitOptions(HWND hWnd);
|
|
SOUNDCARDCHOICE CardTypeToComboItem(SS_CARDTYPE card);
|
|
|
|
static CPageSound* ms_this;
|
|
|
|
const PAGETYPE m_Page;
|
|
CPropertySheetHelper& m_PropertySheetHelper;
|
|
|
|
static const UINT VOLUME_MIN = 0;
|
|
static const UINT VOLUME_MAX = 59;
|
|
static const TCHAR m_soundchoices[];
|
|
static const char m_soundCardChoices[];
|
|
static const char m_soundCardChoice_Unavailable[];
|
|
};
|