aboutsummaryrefslogtreecommitdiffstats
path: root/utils/alsoft-config/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/alsoft-config/mainwindow.cpp')
-rw-r--r--utils/alsoft-config/mainwindow.cpp84
1 files changed, 75 insertions, 9 deletions
diff --git a/utils/alsoft-config/mainwindow.cpp b/utils/alsoft-config/mainwindow.cpp
index 49a6c474..a79098a4 100644
--- a/utils/alsoft-config/mainwindow.cpp
+++ b/utils/alsoft-config/mainwindow.cpp
@@ -1,3 +1,6 @@
+
+#include "config.h"
+
#include <QFileDialog>
#include <QMessageBox>
#include <QSettings>
@@ -10,27 +13,50 @@ static const struct {
char backend_name[16];
char menu_string[32];
} backendMenuList[] = {
-#ifdef Q_OS_WIN32
- { "mmdevapi", "Add MMDevAPI" },
- { "dsound", "Add DirectSound" },
- { "winmm", "Add Windows Multimedia" },
-#endif
-#ifdef Q_OS_MAC
- { "core", "Add CoreAudio" },
-#endif
+#ifdef HAVE_JACK
{ "jack", "Add JACK" },
+#endif
+#ifdef HAVE_PULSEAUDIO
{ "pulse", "Add PulseAudio" },
-#ifdef Q_OS_UNIX
+#endif
+#ifdef HAVE_ALSA
{ "alsa", "Add ALSA" },
+#endif
+#ifdef HAVE_COREAUDIO
+ { "core", "Add CoreAudio" },
+#endif
+#ifdef HAVE_OSS
{ "oss", "Add OSS" },
+#endif
+#ifdef HAVE_SOLARIS
{ "solaris", "Add Solaris" },
+#endif
+#ifdef HAVE_SNDIO
{ "sndio", "Add SndIO" },
+#endif
+#ifdef HAVE_QSA
{ "qsa", "Add QSA" },
#endif
+#ifdef HAVE_MMDEVAPI
+ { "mmdevapi", "Add MMDevAPI" },
+#endif
+#ifdef HAVE_DSOUND
+ { "dsound", "Add DirectSound" },
+#endif
+#ifdef HAVE_WINMM
+ { "winmm", "Add Windows Multimedia" },
+#endif
+#ifdef HAVE_PORTAUDIO
{ "port", "Add PortAudio" },
+#endif
+#ifdef HAVE_OPENSL
{ "opensl", "Add OpenSL" },
+#endif
+
{ "null", "Add Null Output" },
+#ifdef HAVE_WAVE
{ "wave", "Add Wave Writer" },
+#endif
{ "", "" }
};
@@ -164,6 +190,46 @@ MainWindow::MainWindow(QWidget *parent) :
ui->stereoModeCombo->addItem(stereoModeList[i].name);
ui->stereoModeCombo->adjustSize();
+#if !defined(HAVE_NEON) && !defined(HAVE_SSE)
+ ui->cpuExtDisabledLabel->move(ui->cpuExtDisabledLabel->x(), ui->cpuExtDisabledLabel->y() - 60);
+#else
+ ui->cpuExtDisabledLabel->setVisible(false);
+#endif
+
+#ifndef HAVE_NEON
+
+#ifndef HAVE_SSE4_1
+#ifndef HAVE_SSE3
+#ifndef HAVE_SSE2
+#ifndef HAVE_SSE
+ ui->enableSSECheckBox->setVisible(false);
+#endif /* !SSE */
+ ui->enableSSE2CheckBox->setVisible(false);
+#endif /* !SSE2 */
+ ui->enableSSE3CheckBox->setVisible(false);
+#endif /* !SSE3 */
+ ui->enableSSE41CheckBox->setVisible(false);
+#endif /* !SSE4.1 */
+ ui->enableNeonCheckBox->setVisible(false);
+
+#else /* !Neon */
+
+#ifndef HAVE_SSE4_1
+#ifndef HAVE_SSE3
+#ifndef HAVE_SSE2
+#ifndef HAVE_SSE
+ ui->enableNeonCheckBox->move(ui->enableNeonCheckBox->x(), ui->enableNeonCheckBox->y() - 30);
+ ui->enableSSECheckBox->setVisible(false);
+#endif /* !SSE */
+ ui->enableSSE2CheckBox->setVisible(false);
+#endif /* !SSE2 */
+ ui->enableSSE3CheckBox->setVisible(false);
+#endif /* !SSE3 */
+ ui->enableSSE41CheckBox->setVisible(false);
+#endif /* !SSE4.1 */
+
+#endif
+
mPeriodSizeValidator = new QIntValidator(64, 8192, this);
ui->periodSizeEdit->setValidator(mPeriodSizeValidator);
mPeriodCountValidator = new QIntValidator(2, 16, this);