merge doublemelon (#2067)

non-exhaustive (but exhausting) list of changes:

* base laid for multiple window support, but will likely require more work to work correctly
* encapsulation of frontend state for proper multi-instance support
* (JIT still needs a fix for the NDS::Current workaround but we can get there later)
* new, more flexible configuration system
This commit is contained in:
Arisotura
2024-06-15 13:52:47 +02:00
committed by GitHub
parent 8e9b88d01d
commit 25a7b1ca1d
111 changed files with 16802 additions and 5042 deletions

View File

@ -24,18 +24,19 @@
namespace Ui { class AudioSettingsDialog; }
class AudioSettingsDialog;
class EmuThread;
class EmuInstance;
class AudioSettingsDialog : public QDialog
{
Q_OBJECT
public:
explicit AudioSettingsDialog(QWidget* parent, bool emuActive, EmuThread* emuThread);
explicit AudioSettingsDialog(QWidget* parent);
~AudioSettingsDialog();
static AudioSettingsDialog* currentDlg;
static AudioSettingsDialog* openDlg(QWidget* parent, bool emuActive, EmuThread* emuThread)
static AudioSettingsDialog* openDlg(QWidget* parent)
{
if (currentDlg)
{
@ -43,7 +44,7 @@ public:
return currentDlg;
}
currentDlg = new AudioSettingsDialog(parent, emuActive, emuThread);
currentDlg = new AudioSettingsDialog(parent);
currentDlg->show();
return currentDlg;
}
@ -56,6 +57,7 @@ public:
void onConsoleReset();
signals:
void updateAudioVolume(int vol, bool dsisync);
void updateAudioSettings();
private slots:
@ -70,14 +72,18 @@ private slots:
void on_btnMicWavBrowse_clicked();
private:
EmuThread* emuThread;
Ui::AudioSettingsDialog* ui;
EmuInstance* emuInstance;
int oldInterp;
int oldBitDepth;
int oldVolume;
bool oldDSiSync;
QButtonGroup* grpMicMode;
int volume;
bool dsiSync;
};
#endif // AUDIOSETTINGSDIALOG_H