| ... | ... |
@@ -34,15 +34,15 @@ protected: |
| 34 | 34 |
std::bitset<16> mutes; |
| 35 | 35 |
|
| 36 | 36 |
XSFConfig_2SF(); |
| 37 |
- void LoadSpecificConfig(); |
|
| 38 |
- void SaveSpecificConfig(); |
|
| 39 |
- void GenerateSpecificDialogs(); |
|
| 40 |
- INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); |
|
| 41 |
- void ResetSpecificConfigDefaults(HWND hwndDlg); |
|
| 42 |
- void SaveSpecificConfigDialog(HWND hwndDlg); |
|
| 43 |
- void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad); |
|
| 37 |
+ void LoadSpecificConfig() override; |
|
| 38 |
+ void SaveSpecificConfig() override; |
|
| 39 |
+ void GenerateSpecificDialogs() override; |
|
| 40 |
+ INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) override; |
|
| 41 |
+ void ResetSpecificConfigDefaults(HWND hwndDlg) override; |
|
| 42 |
+ void SaveSpecificConfigDialog(HWND hwndDlg) override; |
|
| 43 |
+ void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad) override; |
|
| 44 | 44 |
public: |
| 45 |
- void About(HWND parent); |
|
| 45 |
+ void About(HWND parent) override; |
|
| 46 | 46 |
}; |
| 47 | 47 |
|
| 48 | 48 |
unsigned XSFConfig::initSampleRate = DESMUME_SAMPLE_RATE; |
| ... | ... |
@@ -31,10 +31,10 @@ class XSFPlayer_2SF : public XSFPlayer |
| 31 | 31 |
bool Load2SF(XSFFile *xSFToLoad); |
| 32 | 32 |
public: |
| 33 | 33 |
XSFPlayer_2SF(const std::filesystem::path &path); |
| 34 |
- ~XSFPlayer_2SF() { this->Terminate(); }
|
|
| 35 |
- bool Load(); |
|
| 36 |
- void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples); |
|
| 37 |
- void Terminate(); |
|
| 34 |
+ ~XSFPlayer_2SF() override { this->Terminate(); }
|
|
| 35 |
+ bool Load() override; |
|
| 36 |
+ void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples) override; |
|
| 37 |
+ void Terminate() override; |
|
| 38 | 38 |
}; |
| 39 | 39 |
|
| 40 | 40 |
const char *XSFPlayer::WinampDescription = "2SF Decoder"; |
| ... | ... |
@@ -32,15 +32,15 @@ protected: |
| 32 | 32 |
std::bitset<6> mutes; |
| 33 | 33 |
|
| 34 | 34 |
XSFConfig_GSF(); |
| 35 |
- void LoadSpecificConfig(); |
|
| 36 |
- void SaveSpecificConfig(); |
|
| 37 |
- void GenerateSpecificDialogs(); |
|
| 38 |
- INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); |
|
| 39 |
- void ResetSpecificConfigDefaults(HWND hwndDlg); |
|
| 40 |
- void SaveSpecificConfigDialog(HWND hwndDlg); |
|
| 41 |
- void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad); |
|
| 35 |
+ void LoadSpecificConfig() override; |
|
| 36 |
+ void SaveSpecificConfig() override; |
|
| 37 |
+ void GenerateSpecificDialogs() override; |
|
| 38 |
+ INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) override; |
|
| 39 |
+ void ResetSpecificConfigDefaults(HWND hwndDlg) override; |
|
| 40 |
+ void SaveSpecificConfigDialog(HWND hwndDlg) override; |
|
| 41 |
+ void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad) override; |
|
| 42 | 42 |
public: |
| 43 |
- void About(HWND parent); |
|
| 43 |
+ void About(HWND parent) override; |
|
| 44 | 44 |
}; |
| 45 | 45 |
|
| 46 | 46 |
unsigned XSFConfig::initSampleRate = 44100; |
| ... | ... |
@@ -28,10 +28,10 @@ class XSFPlayer_GSF : public XSFPlayer |
| 28 | 28 |
{
|
| 29 | 29 |
public: |
| 30 | 30 |
XSFPlayer_GSF(const std::filesystem::path &path); |
| 31 |
- ~XSFPlayer_GSF() { this->Terminate(); }
|
|
| 32 |
- bool Load(); |
|
| 33 |
- void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples); |
|
| 34 |
- void Terminate(); |
|
| 31 |
+ ~XSFPlayer_GSF() override { this->Terminate(); }
|
|
| 32 |
+ bool Load() override; |
|
| 33 |
+ void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples) override; |
|
| 34 |
+ void Terminate() override; |
|
| 35 | 35 |
}; |
| 36 | 36 |
|
| 37 | 37 |
const char *XSFPlayer::WinampDescription = "GSF Decoder"; |
| ... | ... |
@@ -30,7 +30,7 @@ struct INFOEntrySEQ : INFOEntry |
| 30 | 30 |
|
| 31 | 31 |
INFOEntrySEQ(); |
| 32 | 32 |
|
| 33 |
- void Read(PseudoFile &file); |
|
| 33 |
+ void Read(PseudoFile &file) override; |
|
| 34 | 34 |
}; |
| 35 | 35 |
|
| 36 | 36 |
struct INFOEntryBANK : INFOEntry |
| ... | ... |
@@ -40,7 +40,7 @@ struct INFOEntryBANK : INFOEntry |
| 40 | 40 |
|
| 41 | 41 |
INFOEntryBANK(); |
| 42 | 42 |
|
| 43 |
- void Read(PseudoFile &file); |
|
| 43 |
+ void Read(PseudoFile &file) override; |
|
| 44 | 44 |
}; |
| 45 | 45 |
|
| 46 | 46 |
struct INFOEntryWAVEARC : INFOEntry |
| ... | ... |
@@ -49,7 +49,7 @@ struct INFOEntryWAVEARC : INFOEntry |
| 49 | 49 |
|
| 50 | 50 |
INFOEntryWAVEARC(); |
| 51 | 51 |
|
| 52 |
- void Read(PseudoFile &file); |
|
| 52 |
+ void Read(PseudoFile &file) override; |
|
| 53 | 53 |
}; |
| 54 | 54 |
|
| 55 | 55 |
struct INFOEntryPLAYER : INFOEntry |
| ... | ... |
@@ -58,5 +58,5 @@ struct INFOEntryPLAYER : INFOEntry |
| 58 | 58 |
|
| 59 | 59 |
INFOEntryPLAYER(); |
| 60 | 60 |
|
| 61 |
- void Read(PseudoFile &file); |
|
| 61 |
+ void Read(PseudoFile &file) override; |
|
| 62 | 62 |
}; |
| ... | ... |
@@ -50,13 +50,13 @@ protected: |
| 50 | 50 |
std::bitset<16> mutes; |
| 51 | 51 |
|
| 52 | 52 |
XSFConfig_NCSF(); |
| 53 |
- void LoadSpecificConfig(); |
|
| 54 |
- void SaveSpecificConfig(); |
|
| 55 |
- void GenerateSpecificDialogs(); |
|
| 56 |
- INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); |
|
| 57 |
- void ResetSpecificConfigDefaults(HWND hwndDlg); |
|
| 58 |
- void SaveSpecificConfigDialog(HWND hwndDlg); |
|
| 59 |
- void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad); |
|
| 53 |
+ void LoadSpecificConfig() override; |
|
| 54 |
+ void SaveSpecificConfig() override; |
|
| 55 |
+ void GenerateSpecificDialogs() override; |
|
| 56 |
+ INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) override; |
|
| 57 |
+ void ResetSpecificConfigDefaults(HWND hwndDlg) override; |
|
| 58 |
+ void SaveSpecificConfigDialog(HWND hwndDlg) override; |
|
| 59 |
+ void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad) override; |
|
| 60 | 60 |
|
| 61 | 61 |
#ifdef _DEBUG |
| 62 | 62 |
std::unique_ptr<SoundViewData> soundViewData; |
| ... | ... |
@@ -64,7 +64,7 @@ protected: |
| 64 | 64 |
static INT_PTR CALLBACK SoundViewDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); |
| 65 | 65 |
#endif |
| 66 | 66 |
public: |
| 67 |
- void About(HWND parent); |
|
| 67 |
+ void About(HWND parent) override; |
|
| 68 | 68 |
|
| 69 | 69 |
#ifdef _DEBUG |
| 70 | 70 |
void CallSoundView(XSFPlayer *xSFPlayer, HINSTANCE hInstance, HWND hwndParent); |
| ... | ... |
@@ -38,10 +38,10 @@ class XSFPlayer_NCSF : public XSFPlayer |
| 38 | 38 |
bool LoadNCSF(); |
| 39 | 39 |
public: |
| 40 | 40 |
XSFPlayer_NCSF(const std::filesystem::path &path); |
| 41 |
- ~XSFPlayer_NCSF(); |
|
| 42 |
- bool Load(); |
|
| 43 |
- void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples); |
|
| 44 |
- void Terminate(); |
|
| 41 |
+ ~XSFPlayer_NCSF() override; |
|
| 42 |
+ bool Load() override; |
|
| 43 |
+ void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples) override; |
|
| 44 |
+ void Terminate() override; |
|
| 45 | 45 |
|
| 46 | 46 |
void SetInterpolation(unsigned interpolation); |
| 47 | 47 |
void SetMutes(const std::bitset<16> &newMutes); |
| ... | ... |
@@ -30,15 +30,15 @@ protected: |
| 30 | 30 |
std::bitset<8> mutes; |
| 31 | 31 |
|
| 32 | 32 |
XSFConfig_SNSF(); |
| 33 |
- void LoadSpecificConfig(); |
|
| 34 |
- void SaveSpecificConfig(); |
|
| 35 |
- void GenerateSpecificDialogs(); |
|
| 36 |
- INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); |
|
| 37 |
- void ResetSpecificConfigDefaults(HWND hwndDlg); |
|
| 38 |
- void SaveSpecificConfigDialog(HWND hwndDlg); |
|
| 39 |
- void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad); |
|
| 33 |
+ void LoadSpecificConfig() override; |
|
| 34 |
+ void SaveSpecificConfig() override; |
|
| 35 |
+ void GenerateSpecificDialogs() override; |
|
| 36 |
+ INT_PTR CALLBACK ConfigDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) override; |
|
| 37 |
+ void ResetSpecificConfigDefaults(HWND hwndDlg) override; |
|
| 38 |
+ void SaveSpecificConfigDialog(HWND hwndDlg) override; |
|
| 39 |
+ void CopySpecificConfigToMemory(XSFPlayer *xSFPlayer, bool preLoad) override; |
|
| 40 | 40 |
public: |
| 41 | 41 |
unsigned resampler; |
| 42 | 42 |
|
| 43 |
- void About(HWND parent); |
|
| 43 |
+ void About(HWND parent) override; |
|
| 44 | 44 |
}; |
| ... | ... |
@@ -38,10 +38,10 @@ class XSFPlayer_SNSF : public XSFPlayer |
| 38 | 38 |
{
|
| 39 | 39 |
public: |
| 40 | 40 |
XSFPlayer_SNSF(const std::filesystem::path &path); |
| 41 |
- ~XSFPlayer_SNSF() { this->Terminate(); }
|
|
| 42 |
- bool Load(); |
|
| 43 |
- void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples); |
|
| 44 |
- void Terminate(); |
|
| 41 |
+ ~XSFPlayer_SNSF() override { this->Terminate(); }
|
|
| 42 |
+ bool Load() override; |
|
| 43 |
+ void GenerateSamples(std::vector<std::uint8_t> &buf, unsigned offset, unsigned samples) override; |
|
| 44 |
+ void Terminate() override; |
|
| 45 | 45 |
}; |
| 46 | 46 |
|
| 47 | 47 |
const char *XSFPlayer::WinampDescription = "SNSF Decoder"; |
| ... | ... |
@@ -72,7 +72,7 @@ class RelativePositionToParent : public RelativePosition |
| 72 | 72 |
{
|
| 73 | 73 |
public: |
| 74 | 74 |
RelativePositionToParent(const Point<short> &RelPosition, PositionType PosType) : RelativePosition(RelPosition, BaseType::ToParent, PosType) { }
|
| 75 |
- RelativePositionToParent *Clone() const { return new RelativePositionToParent(this->relativePosition, this->positionType); }
|
|
| 75 |
+ RelativePositionToParent *Clone() const override { return new RelativePositionToParent(this->relativePosition, this->positionType); }
|
|
| 76 | 76 |
}; |
| 77 | 77 |
|
| 78 | 78 |
class RelativePositionToSibling : public RelativePosition |
| ... | ... |
@@ -81,7 +81,7 @@ public: |
| 81 | 81 |
short siblingsBack; |
| 82 | 82 |
|
| 83 | 83 |
RelativePositionToSibling(const Point<short> &RelPosition, PositionType PosType, short SiblingsBack = 1) : RelativePosition(RelPosition, BaseType::ToSibling, PosType), siblingsBack(SiblingsBack) { }
|
| 84 |
- RelativePositionToSibling *Clone() const { return new RelativePositionToSibling(this->relativePosition, this->positionType, this->siblingsBack); }
|
|
| 84 |
+ RelativePositionToSibling *Clone() const override { return new RelativePositionToSibling(this->relativePosition, this->positionType, this->siblingsBack); }
|
|
| 85 | 85 |
}; |
| 86 | 86 |
|
| 87 | 87 |
enum class DialogControlType |
| ... | ... |
@@ -453,9 +453,9 @@ class DialogTemplate |
| 453 | 453 |
} |
| 454 | 454 |
void CalculatePositions(bool doRightAndBottom = false); |
| 455 | 455 |
void CalculateSize(); |
| 456 |
- std::uint16_t GetControlCount() const; |
|
| 457 |
- std::vector<std::uint8_t> GenerateControlTemplate() const; |
|
| 458 |
- DialogGroup *Clone() const { return new DialogGroup(*this); }
|
|
| 456 |
+ std::uint16_t GetControlCount() const override; |
|
| 457 |
+ std::vector<std::uint8_t> GenerateControlTemplate() const override; |
|
| 458 |
+ DialogGroup *Clone() const override { return new DialogGroup(*this); }
|
|
| 459 | 459 |
}; |
| 460 | 460 |
|
| 461 | 461 |
class DialogControlWithoutLabel : public DialogControl |
| ... | ... |
@@ -484,8 +484,8 @@ class DialogTemplate |
| 484 | 484 |
|
| 485 | 485 |
return control; |
| 486 | 486 |
} |
| 487 |
- virtual std::vector<std::uint8_t> GenerateControlTemplate() const; |
|
| 488 |
- virtual DialogControlWithoutLabel *Clone() const { return new DialogControlWithoutLabel(*this); }
|
|
| 487 |
+ virtual std::vector<std::uint8_t> GenerateControlTemplate() const override; |
|
| 488 |
+ virtual DialogControlWithoutLabel *Clone() const override{ return new DialogControlWithoutLabel(*this); }
|
|
| 489 | 489 |
}; |
| 490 | 490 |
|
| 491 | 491 |
class DialogControlWithLabel : public DialogControl |
| ... | ... |
@@ -517,8 +517,8 @@ class DialogTemplate |
| 517 | 517 |
|
| 518 | 518 |
return control; |
| 519 | 519 |
} |
| 520 |
- virtual std::vector<std::uint8_t> GenerateControlTemplate() const; |
|
| 521 |
- virtual DialogControlWithLabel *Clone() const { return new DialogControlWithLabel(*this); }
|
|
| 520 |
+ virtual std::vector<std::uint8_t> GenerateControlTemplate() const override; |
|
| 521 |
+ virtual DialogControlWithLabel *Clone() const override { return new DialogControlWithLabel(*this); }
|
|
| 522 | 522 |
}; |
| 523 | 523 |
|
| 524 | 524 |
class DialogEditBox : public DialogControlWithoutLabel |
| ... | ... |
@@ -584,7 +584,7 @@ class DialogTemplate |
| 584 | 584 |
{
|
| 585 | 585 |
return DialogControlWithoutLabel::CreateControl<DialogComboBox>(builder, 0x0085); |
| 586 | 586 |
} |
| 587 |
- short GetControlHeight() const { return (this->style & CBS_SIMPLE && !(this->style & CBS_DROPDOWNLIST)) ? this->rect.size.height : 14; }
|
|
| 587 |
+ short GetControlHeight() const override { return (this->style & CBS_SIMPLE && !(this->style & CBS_DROPDOWNLIST)) ? this->rect.size.height : 14; }
|
|
| 588 | 588 |
}; |
| 589 | 589 |
|
| 590 | 590 |
std::wstring title; |
| ... | ... |
@@ -26,10 +26,10 @@ protected: |
| 26 | 26 |
|
| 27 | 27 |
XSFConfigIO_Winamp(); |
| 28 | 28 |
public: |
| 29 |
- void SetValueString(const std::string &name, const std::string &value); |
|
| 30 |
- std::string GetValueString(const std::string &name, const std::string &defaultValue) const; |
|
| 31 |
- void SetHInstance(HINSTANCE hInstance); |
|
| 32 |
- HINSTANCE GetHInstance() const; |
|
| 29 |
+ void SetValueString(const std::string &name, const std::string &value) override; |
|
| 30 |
+ std::string GetValueString(const std::string &name, const std::string &defaultValue) const override; |
|
| 31 |
+ void SetHInstance(HINSTANCE hInstance) override; |
|
| 32 |
+ HINSTANCE GetHInstance() const override; |
|
| 33 | 33 |
}; |
| 34 | 34 |
|
| 35 | 35 |
XSFConfigIO *XSFConfigIO::Create() |