/********************************************************************************
** Form generated from reading UI file 'qjacktrip.ui'
**
** Created by: Qt User Interface Compiler version 6.11.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_QJACKTRIP_H
#define UI_QJACKTRIP_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>

QT_BEGIN_NAMESPACE

class Ui_QJackTrip
{
public:
    QWidget *centralWidget;
    QGridLayout *gridLayout;
    QLabel *ipLabel;
    QHBoxLayout *buttonLayout;
    QPushButton *connectButton;
    QPushButton *disconnectButton;
    QPushButton *exitButton;
    QGroupBox *inputGroupBox;
    QLabel *addressLabel;
    QLabel *typeLabel;
    QTabWidget *optionsTabWidget;
    QWidget *basicTab;
    QGridLayout *gridLayout_3;
    QGroupBox *autoPatchGroupBox;
    QGridLayout *gridLayout_10;
    QLabel *autoPatchLabel;
    QComboBox *autoPatchComboBox;
    QCheckBox *upmixCheckBox;
    QCheckBox *patchServerCheckBox;
    QGroupBox *channelGroupBox;
    QGridLayout *gridLayout_9;
    QSpinBox *channelRecvSpinBox;
    QLabel *channelRecvLabel;
    QLabel *channelLabel;
    QLabel *channelSendLabel;
    QSpinBox *channelSendSpinBox;
    QCheckBox *timeoutCheckBox;
    QGroupBox *authGroupBox;
    QGridLayout *gridLayout_6;
    QLineEdit *passwordEdit;
    QCheckBox *authCheckBox;
    QLineEdit *usernameEdit;
    QLabel *passwordLabel;
    QLabel *usernameLabel;
    QLabel *authNotVSLabel;
    QSpacerItem *basicVerticalSpacer;
    QGroupBox *requireAuthGroupBox;
    QGridLayout *gridLayout_7;
    QPushButton *keyBrowse;
    QLabel *authDisclaimerLabel;
    QLabel *certLabel;
    QLabel *keyLabel;
    QLineEdit *keyEdit;
    QLineEdit *certEdit;
    QPushButton *certBrowse;
    QCheckBox *requireAuthCheckBox;
    QLabel *credsLabel;
    QLineEdit *credsEdit;
    QPushButton *credsBrowse;
    QHBoxLayout *aboutLayout;
    QSpacerItem *aboutSpacer;
    QPushButton *vsModeButton;
    QPushButton *aboutButton;
    QCheckBox *zeroCheckBox;
    QWidget *advancedTab;
    QGridLayout *gridLayout_4;
    QLabel *queueLengthLabel;
    QLineEdit *clientNameEdit;
    QSpacerItem *advancedVerticalSpacer;
    QLabel *resolutionLabel;
    QLineEdit *remoteNameEdit;
    QComboBox *resolutionComboBox;
    QCheckBox *realTimeCheckBox;
    QSpinBox *ioStatsSpinBox;
    QSpinBox *basePortSpinBox;
    QHBoxLayout *useDefaultsLayout;
    QSpacerItem *useDefaultsSpacer;
    QPushButton *commandLineButton;
    QPushButton *useDefaultsButton;
    QLabel *remoteNameLabel;
    QCheckBox *ioStatsCheckBox;
    QLabel *remotePortLabel;
    QLabel *clientNameLabel;
    QLabel *redundancyLabel;
    QCheckBox *connectAudioCheckBox;
    QSpinBox *localPortSpinBox;
    QSpinBox *remotePortSpinBox;
    QLabel *basePortLabel;
    QLabel *localPortLabel;
    QSpinBox *redundancySpinBox;
    QLabel *ioStatsLabel;
    QSpinBox *queueLengthSpinBox;
    QCheckBox *verboseCheckBox;
    QWidget *backendTab;
    QGridLayout *gridLayout_11;
    QHBoxLayout *deviceManagementLayout;
    QSpacerItem *backendTabSpacer;
    QPushButton *refreshDevicesButton;
    QComboBox *backendComboBox;
    QComboBox *inputDeviceComboBox;
    QSpacerItem *backendSpacer;
    QLabel *inputDeviceLabel;
    QComboBox *bufferSizeComboBox;
    QLabel *backendLabel;
    QLabel *bufferSizeLabel;
    QComboBox *sampleRateComboBox;
    QLabel *sampleRateLabel;
    QLabel *outputDeviceLabel;
    QComboBox *outputDeviceComboBox;
    QLabel *backendWarningLabel;
    QWidget *JitterTab;
    QGridLayout *gridLayout_8;
    QLabel *packetsLabel;
    QCheckBox *autoQueueCheckBox;
    QLabel *autoQueueLabel;
    QFrame *bufferLine;
    QSpinBox *autoQueueSpinBox;
    QCheckBox *broadcastCheckBox;
    QSpacerItem *verticalSpacer;
    QLabel *autoQueueExplanationLabel;
    QCheckBox *jitterCheckBox;
    QComboBox *bufferStrategyComboBox;
    QLabel *bufferStrategyLabel;
    QLabel *broadcastQueueLabel;
    QSpinBox *broadcastQueueSpinBox;
    QWidget *pluginsTab;
    QVBoxLayout *verticalLayout;
    QGroupBox *incomingGroupBox;
    QGridLayout *gridLayout_5;
    QSlider *inZitarevWetnessSlider;
    QLabel *inFreeverbLabel;
    QCheckBox *inLimiterCheckBox;
    QCheckBox *inFreeverbCheckBox;
    QLabel *inZitarevLabel;
    QCheckBox *inCompressorCheckBox;
    QCheckBox *inZitarevCheckBox;
    QSlider *inFreeverbWetnessSlider;
    QGroupBox *outgoingGroupBox;
    QGridLayout *gridLayout_2;
    QCheckBox *outFreeverbCheckBox;
    QSlider *outFreeverbWetnessSlider;
    QLabel *outFreeverbLabel;
    QCheckBox *outZitarevCheckBox;
    QSlider *outZitarevWetnessSlider;
    QLabel *outZitarevLabel;
    QCheckBox *outCompressorCheckBox;
    QCheckBox *outLimiterCheckBox;
    QSpinBox *outClientsSpinBox;
    QLabel *outLimiterLabel;
    QSpacerItem *pluginsVerticalSpacer;
    QWidget *scriptingTab;
    QGridLayout *gridLayout_12;
    QLineEdit *disconnectScriptEdit;
    QLineEdit *connectScriptEdit;
    QPushButton *connectScriptBrowse;
    QCheckBox *connectScriptCheckBox;
    QSpacerItem *scriptingVerticalSpacer;
    QCheckBox *disconnectScriptCheckBox;
    QPushButton *disconnectScriptBrowse;
    QLabel *environmentVariableLabel;
    QComboBox *typeComboBox;
    QComboBox *addressComboBox;
    QGroupBox *outputGroupBox;
    QMenuBar *menuBar;
    QStatusBar *statusBar;

    void setupUi(QMainWindow *QJackTrip)
    {
        if (QJackTrip->objectName().isEmpty())
            QJackTrip->setObjectName("QJackTrip");
        QJackTrip->resize(409, 961);
        QIcon icon;
        icon.addFile(QString::fromUtf8(":/images/icon_32.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
        QJackTrip->setWindowIcon(icon);
        centralWidget = new QWidget(QJackTrip);
        centralWidget->setObjectName("centralWidget");
        gridLayout = new QGridLayout(centralWidget);
        gridLayout->setObjectName("gridLayout");
        ipLabel = new QLabel(centralWidget);
        ipLabel->setObjectName("ipLabel");
        QSizePolicy sizePolicy(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Maximum);
        sizePolicy.setHorizontalStretch(0);
        sizePolicy.setVerticalStretch(0);
        sizePolicy.setHeightForWidth(ipLabel->sizePolicy().hasHeightForWidth());
        ipLabel->setSizePolicy(sizePolicy);

        gridLayout->addWidget(ipLabel, 3, 1, 1, 1);

        buttonLayout = new QHBoxLayout();
        buttonLayout->setObjectName("buttonLayout");
        connectButton = new QPushButton(centralWidget);
        connectButton->setObjectName("connectButton");
        connectButton->setEnabled(false);

        buttonLayout->addWidget(connectButton);

        disconnectButton = new QPushButton(centralWidget);
        disconnectButton->setObjectName("disconnectButton");
        disconnectButton->setEnabled(false);

        buttonLayout->addWidget(disconnectButton);

        exitButton = new QPushButton(centralWidget);
        exitButton->setObjectName("exitButton");

        buttonLayout->addWidget(exitButton);


        gridLayout->addLayout(buttonLayout, 8, 0, 1, 2);

        inputGroupBox = new QGroupBox(centralWidget);
        inputGroupBox->setObjectName("inputGroupBox");

        gridLayout->addWidget(inputGroupBox, 6, 0, 1, 2);

        addressLabel = new QLabel(centralWidget);
        addressLabel->setObjectName("addressLabel");
        addressLabel->setEnabled(true);

        gridLayout->addWidget(addressLabel, 1, 0, 1, 1);

        typeLabel = new QLabel(centralWidget);
        typeLabel->setObjectName("typeLabel");

        gridLayout->addWidget(typeLabel, 0, 0, 1, 1);

        optionsTabWidget = new QTabWidget(centralWidget);
        optionsTabWidget->setObjectName("optionsTabWidget");
        optionsTabWidget->setEnabled(true);
        optionsTabWidget->setMinimumSize(QSize(391, 0));
        optionsTabWidget->setTabsClosable(false);
        optionsTabWidget->setMovable(false);
        basicTab = new QWidget();
        basicTab->setObjectName("basicTab");
        basicTab->setEnabled(true);
        gridLayout_3 = new QGridLayout(basicTab);
        gridLayout_3->setObjectName("gridLayout_3");
        autoPatchGroupBox = new QGroupBox(basicTab);
        autoPatchGroupBox->setObjectName("autoPatchGroupBox");
        gridLayout_10 = new QGridLayout(autoPatchGroupBox);
        gridLayout_10->setObjectName("gridLayout_10");
        autoPatchLabel = new QLabel(autoPatchGroupBox);
        autoPatchLabel->setObjectName("autoPatchLabel");
        QSizePolicy sizePolicy1(QSizePolicy::Policy::Maximum, QSizePolicy::Policy::Preferred);
        sizePolicy1.setHorizontalStretch(0);
        sizePolicy1.setVerticalStretch(0);
        sizePolicy1.setHeightForWidth(autoPatchLabel->sizePolicy().hasHeightForWidth());
        autoPatchLabel->setSizePolicy(sizePolicy1);

        gridLayout_10->addWidget(autoPatchLabel, 0, 0, 2, 2);

        autoPatchComboBox = new QComboBox(autoPatchGroupBox);
        autoPatchComboBox->addItem(QString());
        autoPatchComboBox->addItem(QString());
        autoPatchComboBox->addItem(QString());
        autoPatchComboBox->addItem(QString());
        autoPatchComboBox->addItem(QString());
        autoPatchComboBox->setObjectName("autoPatchComboBox");

        gridLayout_10->addWidget(autoPatchComboBox, 0, 2, 1, 1);

        upmixCheckBox = new QCheckBox(autoPatchGroupBox);
        upmixCheckBox->setObjectName("upmixCheckBox");

        gridLayout_10->addWidget(upmixCheckBox, 3, 0, 1, 3);

        patchServerCheckBox = new QCheckBox(autoPatchGroupBox);
        patchServerCheckBox->setObjectName("patchServerCheckBox");
        patchServerCheckBox->setEnabled(false);

        gridLayout_10->addWidget(patchServerCheckBox, 2, 0, 1, 3);


        gridLayout_3->addWidget(autoPatchGroupBox, 3, 0, 1, 2);

        channelGroupBox = new QGroupBox(basicTab);
        channelGroupBox->setObjectName("channelGroupBox");
        gridLayout_9 = new QGridLayout(channelGroupBox);
        gridLayout_9->setObjectName("gridLayout_9");
        channelRecvSpinBox = new QSpinBox(channelGroupBox);
        channelRecvSpinBox->setObjectName("channelRecvSpinBox");
        QSizePolicy sizePolicy2(QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Fixed);
        sizePolicy2.setHorizontalStretch(0);
        sizePolicy2.setVerticalStretch(0);
        sizePolicy2.setHeightForWidth(channelRecvSpinBox->sizePolicy().hasHeightForWidth());
        channelRecvSpinBox->setSizePolicy(sizePolicy2);
        channelRecvSpinBox->setMinimum(1);
        channelRecvSpinBox->setValue(2);

        gridLayout_9->addWidget(channelRecvSpinBox, 4, 1, 1, 1);

        channelRecvLabel = new QLabel(channelGroupBox);
        channelRecvLabel->setObjectName("channelRecvLabel");
        sizePolicy1.setHeightForWidth(channelRecvLabel->sizePolicy().hasHeightForWidth());
        channelRecvLabel->setSizePolicy(sizePolicy1);

        gridLayout_9->addWidget(channelRecvLabel, 4, 0, 1, 1);

        channelLabel = new QLabel(channelGroupBox);
        channelLabel->setObjectName("channelLabel");
        sizePolicy1.setHeightForWidth(channelLabel->sizePolicy().hasHeightForWidth());
        channelLabel->setSizePolicy(sizePolicy1);

        gridLayout_9->addWidget(channelLabel, 2, 0, 1, 2);

        channelSendLabel = new QLabel(channelGroupBox);
        channelSendLabel->setObjectName("channelSendLabel");

        gridLayout_9->addWidget(channelSendLabel, 3, 0, 1, 1);

        channelSendSpinBox = new QSpinBox(channelGroupBox);
        channelSendSpinBox->setObjectName("channelSendSpinBox");
        channelSendSpinBox->setMinimum(1);
        channelSendSpinBox->setValue(2);

        gridLayout_9->addWidget(channelSendSpinBox, 3, 1, 1, 1);


        gridLayout_3->addWidget(channelGroupBox, 2, 0, 1, 2);

        timeoutCheckBox = new QCheckBox(basicTab);
        timeoutCheckBox->setObjectName("timeoutCheckBox");

        gridLayout_3->addWidget(timeoutCheckBox, 6, 0, 1, 2);

        authGroupBox = new QGroupBox(basicTab);
        authGroupBox->setObjectName("authGroupBox");
        authGroupBox->setEnabled(true);
        gridLayout_6 = new QGridLayout(authGroupBox);
        gridLayout_6->setObjectName("gridLayout_6");
        passwordEdit = new QLineEdit(authGroupBox);
        passwordEdit->setObjectName("passwordEdit");
        passwordEdit->setEnabled(false);
        passwordEdit->setEchoMode(QLineEdit::Password);
        passwordEdit->setCursorPosition(0);

        gridLayout_6->addWidget(passwordEdit, 4, 1, 1, 1);

        authCheckBox = new QCheckBox(authGroupBox);
        authCheckBox->setObjectName("authCheckBox");

        gridLayout_6->addWidget(authCheckBox, 0, 0, 1, 2);

        usernameEdit = new QLineEdit(authGroupBox);
        usernameEdit->setObjectName("usernameEdit");
        usernameEdit->setEnabled(false);

        gridLayout_6->addWidget(usernameEdit, 3, 1, 1, 1);

        passwordLabel = new QLabel(authGroupBox);
        passwordLabel->setObjectName("passwordLabel");
        passwordLabel->setEnabled(false);

        gridLayout_6->addWidget(passwordLabel, 4, 0, 1, 1);

        usernameLabel = new QLabel(authGroupBox);
        usernameLabel->setObjectName("usernameLabel");
        usernameLabel->setEnabled(false);

        gridLayout_6->addWidget(usernameLabel, 3, 0, 1, 1);

        authNotVSLabel = new QLabel(authGroupBox);
        authNotVSLabel->setObjectName("authNotVSLabel");
        authNotVSLabel->setWordWrap(true);

        gridLayout_6->addWidget(authNotVSLabel, 1, 0, 1, 2);


        gridLayout_3->addWidget(authGroupBox, 8, 0, 1, 2);

        basicVerticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_3->addItem(basicVerticalSpacer, 9, 0, 1, 1);

        requireAuthGroupBox = new QGroupBox(basicTab);
        requireAuthGroupBox->setObjectName("requireAuthGroupBox");
        gridLayout_7 = new QGridLayout(requireAuthGroupBox);
        gridLayout_7->setObjectName("gridLayout_7");
        keyBrowse = new QPushButton(requireAuthGroupBox);
        keyBrowse->setObjectName("keyBrowse");
        keyBrowse->setEnabled(false);

        gridLayout_7->addWidget(keyBrowse, 3, 2, 1, 1);

        authDisclaimerLabel = new QLabel(requireAuthGroupBox);
        authDisclaimerLabel->setObjectName("authDisclaimerLabel");
        authDisclaimerLabel->setWordWrap(true);

        gridLayout_7->addWidget(authDisclaimerLabel, 1, 0, 1, 3);

        certLabel = new QLabel(requireAuthGroupBox);
        certLabel->setObjectName("certLabel");
        certLabel->setEnabled(false);

        gridLayout_7->addWidget(certLabel, 2, 0, 1, 1);

        keyLabel = new QLabel(requireAuthGroupBox);
        keyLabel->setObjectName("keyLabel");
        keyLabel->setEnabled(false);

        gridLayout_7->addWidget(keyLabel, 3, 0, 1, 1);

        keyEdit = new QLineEdit(requireAuthGroupBox);
        keyEdit->setObjectName("keyEdit");
        keyEdit->setEnabled(false);

        gridLayout_7->addWidget(keyEdit, 3, 1, 1, 1);

        certEdit = new QLineEdit(requireAuthGroupBox);
        certEdit->setObjectName("certEdit");
        certEdit->setEnabled(false);

        gridLayout_7->addWidget(certEdit, 2, 1, 1, 1);

        certBrowse = new QPushButton(requireAuthGroupBox);
        certBrowse->setObjectName("certBrowse");
        certBrowse->setEnabled(false);

        gridLayout_7->addWidget(certBrowse, 2, 2, 1, 1);

        requireAuthCheckBox = new QCheckBox(requireAuthGroupBox);
        requireAuthCheckBox->setObjectName("requireAuthCheckBox");

        gridLayout_7->addWidget(requireAuthCheckBox, 0, 0, 1, 2);

        credsLabel = new QLabel(requireAuthGroupBox);
        credsLabel->setObjectName("credsLabel");
        credsLabel->setEnabled(false);

        gridLayout_7->addWidget(credsLabel, 4, 0, 1, 1);

        credsEdit = new QLineEdit(requireAuthGroupBox);
        credsEdit->setObjectName("credsEdit");
        credsEdit->setEnabled(false);

        gridLayout_7->addWidget(credsEdit, 4, 1, 1, 1);

        credsBrowse = new QPushButton(requireAuthGroupBox);
        credsBrowse->setObjectName("credsBrowse");
        credsBrowse->setEnabled(false);

        gridLayout_7->addWidget(credsBrowse, 4, 2, 1, 1);


        gridLayout_3->addWidget(requireAuthGroupBox, 7, 0, 1, 2);

        aboutLayout = new QHBoxLayout();
        aboutLayout->setObjectName("aboutLayout");
        aboutSpacer = new QSpacerItem(40, 20, QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Minimum);

        aboutLayout->addItem(aboutSpacer);

        vsModeButton = new QPushButton(basicTab);
        vsModeButton->setObjectName("vsModeButton");

        aboutLayout->addWidget(vsModeButton);

        aboutButton = new QPushButton(basicTab);
        aboutButton->setObjectName("aboutButton");

        aboutLayout->addWidget(aboutButton);


        gridLayout_3->addLayout(aboutLayout, 11, 0, 1, 2);

        zeroCheckBox = new QCheckBox(basicTab);
        zeroCheckBox->setObjectName("zeroCheckBox");

        gridLayout_3->addWidget(zeroCheckBox, 5, 0, 1, 2);

        optionsTabWidget->addTab(basicTab, QString());
        advancedTab = new QWidget();
        advancedTab->setObjectName("advancedTab");
        advancedTab->setEnabled(true);
        gridLayout_4 = new QGridLayout(advancedTab);
        gridLayout_4->setObjectName("gridLayout_4");
        queueLengthLabel = new QLabel(advancedTab);
        queueLengthLabel->setObjectName("queueLengthLabel");
        sizePolicy1.setHeightForWidth(queueLengthLabel->sizePolicy().hasHeightForWidth());
        queueLengthLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(queueLengthLabel, 5, 0, 1, 1);

        clientNameEdit = new QLineEdit(advancedTab);
        clientNameEdit->setObjectName("clientNameEdit");
        clientNameEdit->setMaxLength(64);

        gridLayout_4->addWidget(clientNameEdit, 0, 1, 1, 2);

        advancedVerticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_4->addItem(advancedVerticalSpacer, 13, 0, 1, 1);

        resolutionLabel = new QLabel(advancedTab);
        resolutionLabel->setObjectName("resolutionLabel");
        sizePolicy1.setHeightForWidth(resolutionLabel->sizePolicy().hasHeightForWidth());
        resolutionLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(resolutionLabel, 7, 0, 1, 1);

        remoteNameEdit = new QLineEdit(advancedTab);
        remoteNameEdit->setObjectName("remoteNameEdit");
        remoteNameEdit->setMaxLength(64);

        gridLayout_4->addWidget(remoteNameEdit, 1, 1, 1, 2);

        resolutionComboBox = new QComboBox(advancedTab);
        resolutionComboBox->addItem(QString());
        resolutionComboBox->addItem(QString());
        resolutionComboBox->addItem(QString());
        resolutionComboBox->addItem(QString());
        resolutionComboBox->setObjectName("resolutionComboBox");

        gridLayout_4->addWidget(resolutionComboBox, 7, 1, 1, 2);

        realTimeCheckBox = new QCheckBox(advancedTab);
        realTimeCheckBox->setObjectName("realTimeCheckBox");
        realTimeCheckBox->setChecked(true);

        gridLayout_4->addWidget(realTimeCheckBox, 9, 0, 1, 3);

        ioStatsSpinBox = new QSpinBox(advancedTab);
        ioStatsSpinBox->setObjectName("ioStatsSpinBox");
        ioStatsSpinBox->setEnabled(false);
        ioStatsSpinBox->setMinimum(1);
        ioStatsSpinBox->setMaximum(120);

        gridLayout_4->addWidget(ioStatsSpinBox, 11, 1, 1, 1);

        basePortSpinBox = new QSpinBox(advancedTab);
        basePortSpinBox->setObjectName("basePortSpinBox");
        basePortSpinBox->setMinimum(1024);
        basePortSpinBox->setMaximum(65535);
        basePortSpinBox->setValue(61002);

        gridLayout_4->addWidget(basePortSpinBox, 4, 1, 1, 2);

        useDefaultsLayout = new QHBoxLayout();
        useDefaultsLayout->setObjectName("useDefaultsLayout");
        useDefaultsSpacer = new QSpacerItem(40, 20, QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Minimum);

        useDefaultsLayout->addItem(useDefaultsSpacer);

        commandLineButton = new QPushButton(advancedTab);
        commandLineButton->setObjectName("commandLineButton");

        useDefaultsLayout->addWidget(commandLineButton);

        useDefaultsButton = new QPushButton(advancedTab);
        useDefaultsButton->setObjectName("useDefaultsButton");

        useDefaultsLayout->addWidget(useDefaultsButton);


        gridLayout_4->addLayout(useDefaultsLayout, 14, 0, 1, 3);

        remoteNameLabel = new QLabel(advancedTab);
        remoteNameLabel->setObjectName("remoteNameLabel");
        sizePolicy1.setHeightForWidth(remoteNameLabel->sizePolicy().hasHeightForWidth());
        remoteNameLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(remoteNameLabel, 1, 0, 1, 1);

        ioStatsCheckBox = new QCheckBox(advancedTab);
        ioStatsCheckBox->setObjectName("ioStatsCheckBox");
        QSizePolicy sizePolicy3(QSizePolicy::Policy::Maximum, QSizePolicy::Policy::Fixed);
        sizePolicy3.setHorizontalStretch(0);
        sizePolicy3.setVerticalStretch(0);
        sizePolicy3.setHeightForWidth(ioStatsCheckBox->sizePolicy().hasHeightForWidth());
        ioStatsCheckBox->setSizePolicy(sizePolicy3);

        gridLayout_4->addWidget(ioStatsCheckBox, 11, 0, 1, 1);

        remotePortLabel = new QLabel(advancedTab);
        remotePortLabel->setObjectName("remotePortLabel");
        sizePolicy1.setHeightForWidth(remotePortLabel->sizePolicy().hasHeightForWidth());
        remotePortLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(remotePortLabel, 3, 0, 1, 1);

        clientNameLabel = new QLabel(advancedTab);
        clientNameLabel->setObjectName("clientNameLabel");
        sizePolicy1.setHeightForWidth(clientNameLabel->sizePolicy().hasHeightForWidth());
        clientNameLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(clientNameLabel, 0, 0, 1, 1);

        redundancyLabel = new QLabel(advancedTab);
        redundancyLabel->setObjectName("redundancyLabel");
        sizePolicy1.setHeightForWidth(redundancyLabel->sizePolicy().hasHeightForWidth());
        redundancyLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(redundancyLabel, 6, 0, 1, 1);

        connectAudioCheckBox = new QCheckBox(advancedTab);
        connectAudioCheckBox->setObjectName("connectAudioCheckBox");
        connectAudioCheckBox->setChecked(true);

        gridLayout_4->addWidget(connectAudioCheckBox, 8, 0, 1, 3);

        localPortSpinBox = new QSpinBox(advancedTab);
        localPortSpinBox->setObjectName("localPortSpinBox");
        localPortSpinBox->setMinimum(1024);
        localPortSpinBox->setMaximum(65535);
        localPortSpinBox->setValue(4464);

        gridLayout_4->addWidget(localPortSpinBox, 2, 1, 1, 2);

        remotePortSpinBox = new QSpinBox(advancedTab);
        remotePortSpinBox->setObjectName("remotePortSpinBox");
        remotePortSpinBox->setMinimum(1024);
        remotePortSpinBox->setMaximum(65535);
        remotePortSpinBox->setValue(4464);

        gridLayout_4->addWidget(remotePortSpinBox, 3, 1, 1, 2);

        basePortLabel = new QLabel(advancedTab);
        basePortLabel->setObjectName("basePortLabel");
        sizePolicy1.setHeightForWidth(basePortLabel->sizePolicy().hasHeightForWidth());
        basePortLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(basePortLabel, 4, 0, 1, 1);

        localPortLabel = new QLabel(advancedTab);
        localPortLabel->setObjectName("localPortLabel");
        sizePolicy1.setHeightForWidth(localPortLabel->sizePolicy().hasHeightForWidth());
        localPortLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(localPortLabel, 2, 0, 1, 1);

        redundancySpinBox = new QSpinBox(advancedTab);
        redundancySpinBox->setObjectName("redundancySpinBox");
        redundancySpinBox->setMinimum(1);
        redundancySpinBox->setValue(1);

        gridLayout_4->addWidget(redundancySpinBox, 6, 1, 1, 2);

        ioStatsLabel = new QLabel(advancedTab);
        ioStatsLabel->setObjectName("ioStatsLabel");
        ioStatsLabel->setEnabled(false);
        sizePolicy1.setHeightForWidth(ioStatsLabel->sizePolicy().hasHeightForWidth());
        ioStatsLabel->setSizePolicy(sizePolicy1);

        gridLayout_4->addWidget(ioStatsLabel, 11, 2, 1, 1);

        queueLengthSpinBox = new QSpinBox(advancedTab);
        queueLengthSpinBox->setObjectName("queueLengthSpinBox");
        queueLengthSpinBox->setMinimum(2);
        queueLengthSpinBox->setMaximum(999);
        queueLengthSpinBox->setValue(4);

        gridLayout_4->addWidget(queueLengthSpinBox, 5, 1, 1, 2);

        verboseCheckBox = new QCheckBox(advancedTab);
        verboseCheckBox->setObjectName("verboseCheckBox");

        gridLayout_4->addWidget(verboseCheckBox, 12, 0, 1, 3);

        optionsTabWidget->addTab(advancedTab, QString());
        backendTab = new QWidget();
        backendTab->setObjectName("backendTab");
        gridLayout_11 = new QGridLayout(backendTab);
        gridLayout_11->setObjectName("gridLayout_11");
        deviceManagementLayout = new QHBoxLayout();
        deviceManagementLayout->setObjectName("deviceManagementLayout");
        backendTabSpacer = new QSpacerItem(40, 20, QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Minimum);

        deviceManagementLayout->addItem(backendTabSpacer);

        refreshDevicesButton = new QPushButton(backendTab);
        refreshDevicesButton->setObjectName("refreshDevicesButton");
        refreshDevicesButton->setEnabled(false);

        deviceManagementLayout->addWidget(refreshDevicesButton);


        gridLayout_11->addLayout(deviceManagementLayout, 9, 0, 1, 2);

        backendComboBox = new QComboBox(backendTab);
        backendComboBox->addItem(QString());
        backendComboBox->addItem(QString());
        backendComboBox->setObjectName("backendComboBox");

        gridLayout_11->addWidget(backendComboBox, 0, 1, 1, 1);

        inputDeviceComboBox = new QComboBox(backendTab);
        inputDeviceComboBox->setObjectName("inputDeviceComboBox");
        inputDeviceComboBox->setEnabled(false);

        gridLayout_11->addWidget(inputDeviceComboBox, 3, 1, 1, 1);

        backendSpacer = new QSpacerItem(20, 444, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_11->addItem(backendSpacer, 6, 1, 1, 1);

        inputDeviceLabel = new QLabel(backendTab);
        inputDeviceLabel->setObjectName("inputDeviceLabel");
        inputDeviceLabel->setEnabled(false);
        sizePolicy1.setHeightForWidth(inputDeviceLabel->sizePolicy().hasHeightForWidth());
        inputDeviceLabel->setSizePolicy(sizePolicy1);

        gridLayout_11->addWidget(inputDeviceLabel, 3, 0, 1, 1);

        bufferSizeComboBox = new QComboBox(backendTab);
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->addItem(QString());
        bufferSizeComboBox->setObjectName("bufferSizeComboBox");
        bufferSizeComboBox->setEnabled(false);

        gridLayout_11->addWidget(bufferSizeComboBox, 2, 1, 1, 1);

        backendLabel = new QLabel(backendTab);
        backendLabel->setObjectName("backendLabel");
        sizePolicy1.setHeightForWidth(backendLabel->sizePolicy().hasHeightForWidth());
        backendLabel->setSizePolicy(sizePolicy1);

        gridLayout_11->addWidget(backendLabel, 0, 0, 1, 1);

        bufferSizeLabel = new QLabel(backendTab);
        bufferSizeLabel->setObjectName("bufferSizeLabel");
        bufferSizeLabel->setEnabled(false);
        sizePolicy1.setHeightForWidth(bufferSizeLabel->sizePolicy().hasHeightForWidth());
        bufferSizeLabel->setSizePolicy(sizePolicy1);

        gridLayout_11->addWidget(bufferSizeLabel, 2, 0, 1, 1);

        sampleRateComboBox = new QComboBox(backendTab);
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->addItem(QString());
        sampleRateComboBox->setObjectName("sampleRateComboBox");
        sampleRateComboBox->setEnabled(false);

        gridLayout_11->addWidget(sampleRateComboBox, 1, 1, 1, 1);

        sampleRateLabel = new QLabel(backendTab);
        sampleRateLabel->setObjectName("sampleRateLabel");
        sampleRateLabel->setEnabled(false);
        sizePolicy1.setHeightForWidth(sampleRateLabel->sizePolicy().hasHeightForWidth());
        sampleRateLabel->setSizePolicy(sizePolicy1);

        gridLayout_11->addWidget(sampleRateLabel, 1, 0, 1, 1);

        outputDeviceLabel = new QLabel(backendTab);
        outputDeviceLabel->setObjectName("outputDeviceLabel");
        outputDeviceLabel->setEnabled(false);
        sizePolicy1.setHeightForWidth(outputDeviceLabel->sizePolicy().hasHeightForWidth());
        outputDeviceLabel->setSizePolicy(sizePolicy1);

        gridLayout_11->addWidget(outputDeviceLabel, 4, 0, 1, 1);

        outputDeviceComboBox = new QComboBox(backendTab);
        outputDeviceComboBox->setObjectName("outputDeviceComboBox");
        outputDeviceComboBox->setEnabled(false);

        gridLayout_11->addWidget(outputDeviceComboBox, 4, 1, 1, 1);

        backendWarningLabel = new QLabel(backendTab);
        backendWarningLabel->setObjectName("backendWarningLabel");
        backendWarningLabel->setWordWrap(true);

        gridLayout_11->addWidget(backendWarningLabel, 5, 0, 1, 2);

        optionsTabWidget->addTab(backendTab, QString());
        JitterTab = new QWidget();
        JitterTab->setObjectName("JitterTab");
        gridLayout_8 = new QGridLayout(JitterTab);
        gridLayout_8->setObjectName("gridLayout_8");
        packetsLabel = new QLabel(JitterTab);
        packetsLabel->setObjectName("packetsLabel");
        packetsLabel->setEnabled(true);

        gridLayout_8->addWidget(packetsLabel, 10, 2, 1, 1);

        autoQueueCheckBox = new QCheckBox(JitterTab);
        autoQueueCheckBox->setObjectName("autoQueueCheckBox");
        autoQueueCheckBox->setEnabled(true);
        autoQueueCheckBox->setChecked(true);

        gridLayout_8->addWidget(autoQueueCheckBox, 8, 0, 1, 3);

        autoQueueLabel = new QLabel(JitterTab);
        autoQueueLabel->setObjectName("autoQueueLabel");
        autoQueueLabel->setEnabled(true);
        sizePolicy1.setHeightForWidth(autoQueueLabel->sizePolicy().hasHeightForWidth());
        autoQueueLabel->setSizePolicy(sizePolicy1);

        gridLayout_8->addWidget(autoQueueLabel, 9, 0, 1, 2);

        bufferLine = new QFrame(JitterTab);
        bufferLine->setObjectName("bufferLine");
        bufferLine->setEnabled(false);
        bufferLine->setFrameShape(QFrame::Shape::HLine);
        bufferLine->setFrameShadow(QFrame::Shadow::Sunken);

        gridLayout_8->addWidget(bufferLine, 5, 0, 1, 3);

        autoQueueSpinBox = new QSpinBox(JitterTab);
        autoQueueSpinBox->setObjectName("autoQueueSpinBox");
        autoQueueSpinBox->setEnabled(true);
        QSizePolicy sizePolicy4(QSizePolicy::Policy::MinimumExpanding, QSizePolicy::Policy::Fixed);
        sizePolicy4.setHorizontalStretch(0);
        sizePolicy4.setVerticalStretch(0);
        sizePolicy4.setHeightForWidth(autoQueueSpinBox->sizePolicy().hasHeightForWidth());
        autoQueueSpinBox->setSizePolicy(sizePolicy4);
        autoQueueSpinBox->setMaximum(1000000);
        autoQueueSpinBox->setSingleStep(100);
        autoQueueSpinBox->setValue(500);

        gridLayout_8->addWidget(autoQueueSpinBox, 9, 2, 1, 1);

        broadcastCheckBox = new QCheckBox(JitterTab);
        broadcastCheckBox->setObjectName("broadcastCheckBox");

        gridLayout_8->addWidget(broadcastCheckBox, 3, 0, 1, 3);

        verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_8->addItem(verticalSpacer, 12, 0, 1, 1);

        autoQueueExplanationLabel = new QLabel(JitterTab);
        autoQueueExplanationLabel->setObjectName("autoQueueExplanationLabel");
        autoQueueExplanationLabel->setEnabled(true);
        autoQueueExplanationLabel->setWordWrap(true);

        gridLayout_8->addWidget(autoQueueExplanationLabel, 11, 0, 1, 3);

        jitterCheckBox = new QCheckBox(JitterTab);
        jitterCheckBox->setObjectName("jitterCheckBox");
        jitterCheckBox->setEnabled(true);
        jitterCheckBox->setChecked(true);

        gridLayout_8->addWidget(jitterCheckBox, 0, 0, 1, 2);

        bufferStrategyComboBox = new QComboBox(JitterTab);
        bufferStrategyComboBox->addItem(QString());
        bufferStrategyComboBox->addItem(QString());
        bufferStrategyComboBox->addItem(QString());
        bufferStrategyComboBox->addItem(QString());
        bufferStrategyComboBox->setObjectName("bufferStrategyComboBox");
        bufferStrategyComboBox->setEnabled(true);

        gridLayout_8->addWidget(bufferStrategyComboBox, 2, 1, 1, 2);

        bufferStrategyLabel = new QLabel(JitterTab);
        bufferStrategyLabel->setObjectName("bufferStrategyLabel");
        bufferStrategyLabel->setEnabled(true);
        sizePolicy1.setHeightForWidth(bufferStrategyLabel->sizePolicy().hasHeightForWidth());
        bufferStrategyLabel->setSizePolicy(sizePolicy1);

        gridLayout_8->addWidget(bufferStrategyLabel, 2, 0, 1, 1);

        broadcastQueueLabel = new QLabel(JitterTab);
        broadcastQueueLabel->setObjectName("broadcastQueueLabel");
        broadcastQueueLabel->setEnabled(false);

        gridLayout_8->addWidget(broadcastQueueLabel, 4, 0, 1, 1);

        broadcastQueueSpinBox = new QSpinBox(JitterTab);
        broadcastQueueSpinBox->setObjectName("broadcastQueueSpinBox");
        broadcastQueueSpinBox->setEnabled(false);
        broadcastQueueSpinBox->setMinimum(2);
        broadcastQueueSpinBox->setMaximum(999);
        broadcastQueueSpinBox->setValue(8);

        gridLayout_8->addWidget(broadcastQueueSpinBox, 4, 1, 1, 2);

        optionsTabWidget->addTab(JitterTab, QString());
        pluginsTab = new QWidget();
        pluginsTab->setObjectName("pluginsTab");
        verticalLayout = new QVBoxLayout(pluginsTab);
        verticalLayout->setObjectName("verticalLayout");
        incomingGroupBox = new QGroupBox(pluginsTab);
        incomingGroupBox->setObjectName("incomingGroupBox");
        incomingGroupBox->setEnabled(true);
        gridLayout_5 = new QGridLayout(incomingGroupBox);
        gridLayout_5->setObjectName("gridLayout_5");
        inZitarevWetnessSlider = new QSlider(incomingGroupBox);
        inZitarevWetnessSlider->setObjectName("inZitarevWetnessSlider");
        inZitarevWetnessSlider->setEnabled(false);
        inZitarevWetnessSlider->setMaximum(100);
        inZitarevWetnessSlider->setOrientation(Qt::Horizontal);
        inZitarevWetnessSlider->setTickPosition(QSlider::TicksBelow);
        inZitarevWetnessSlider->setTickInterval(20);

        gridLayout_5->addWidget(inZitarevWetnessSlider, 1, 1, 1, 1);

        inFreeverbLabel = new QLabel(incomingGroupBox);
        inFreeverbLabel->setObjectName("inFreeverbLabel");
        inFreeverbLabel->setEnabled(false);

        gridLayout_5->addWidget(inFreeverbLabel, 0, 2, 1, 1);

        inLimiterCheckBox = new QCheckBox(incomingGroupBox);
        inLimiterCheckBox->setObjectName("inLimiterCheckBox");

        gridLayout_5->addWidget(inLimiterCheckBox, 4, 0, 1, 1);

        inFreeverbCheckBox = new QCheckBox(incomingGroupBox);
        inFreeverbCheckBox->setObjectName("inFreeverbCheckBox");

        gridLayout_5->addWidget(inFreeverbCheckBox, 0, 0, 1, 1);

        inZitarevLabel = new QLabel(incomingGroupBox);
        inZitarevLabel->setObjectName("inZitarevLabel");
        inZitarevLabel->setEnabled(false);

        gridLayout_5->addWidget(inZitarevLabel, 1, 2, 1, 1, Qt::AlignHCenter);

        inCompressorCheckBox = new QCheckBox(incomingGroupBox);
        inCompressorCheckBox->setObjectName("inCompressorCheckBox");

        gridLayout_5->addWidget(inCompressorCheckBox, 3, 0, 1, 1);

        inZitarevCheckBox = new QCheckBox(incomingGroupBox);
        inZitarevCheckBox->setObjectName("inZitarevCheckBox");

        gridLayout_5->addWidget(inZitarevCheckBox, 1, 0, 1, 1);

        inFreeverbWetnessSlider = new QSlider(incomingGroupBox);
        inFreeverbWetnessSlider->setObjectName("inFreeverbWetnessSlider");
        inFreeverbWetnessSlider->setEnabled(false);
        inFreeverbWetnessSlider->setMaximum(100);
        inFreeverbWetnessSlider->setSingleStep(1);
        inFreeverbWetnessSlider->setOrientation(Qt::Horizontal);
        inFreeverbWetnessSlider->setInvertedAppearance(false);
        inFreeverbWetnessSlider->setTickPosition(QSlider::TicksBelow);
        inFreeverbWetnessSlider->setTickInterval(20);

        gridLayout_5->addWidget(inFreeverbWetnessSlider, 0, 1, 1, 1);


        verticalLayout->addWidget(incomingGroupBox);

        outgoingGroupBox = new QGroupBox(pluginsTab);
        outgoingGroupBox->setObjectName("outgoingGroupBox");
        outgoingGroupBox->setEnabled(true);
        gridLayout_2 = new QGridLayout(outgoingGroupBox);
        gridLayout_2->setObjectName("gridLayout_2");
        outFreeverbCheckBox = new QCheckBox(outgoingGroupBox);
        outFreeverbCheckBox->setObjectName("outFreeverbCheckBox");

        gridLayout_2->addWidget(outFreeverbCheckBox, 0, 0, 1, 1);

        outFreeverbWetnessSlider = new QSlider(outgoingGroupBox);
        outFreeverbWetnessSlider->setObjectName("outFreeverbWetnessSlider");
        outFreeverbWetnessSlider->setEnabled(false);
        outFreeverbWetnessSlider->setMaximum(100);
        outFreeverbWetnessSlider->setSingleStep(1);
        outFreeverbWetnessSlider->setOrientation(Qt::Horizontal);
        outFreeverbWetnessSlider->setInvertedAppearance(false);
        outFreeverbWetnessSlider->setTickPosition(QSlider::TicksBelow);
        outFreeverbWetnessSlider->setTickInterval(20);

        gridLayout_2->addWidget(outFreeverbWetnessSlider, 0, 1, 1, 1);

        outFreeverbLabel = new QLabel(outgoingGroupBox);
        outFreeverbLabel->setObjectName("outFreeverbLabel");
        outFreeverbLabel->setEnabled(false);

        gridLayout_2->addWidget(outFreeverbLabel, 0, 2, 1, 1);

        outZitarevCheckBox = new QCheckBox(outgoingGroupBox);
        outZitarevCheckBox->setObjectName("outZitarevCheckBox");

        gridLayout_2->addWidget(outZitarevCheckBox, 1, 0, 1, 1);

        outZitarevWetnessSlider = new QSlider(outgoingGroupBox);
        outZitarevWetnessSlider->setObjectName("outZitarevWetnessSlider");
        outZitarevWetnessSlider->setEnabled(false);
        outZitarevWetnessSlider->setMaximum(100);
        outZitarevWetnessSlider->setOrientation(Qt::Horizontal);
        outZitarevWetnessSlider->setTickPosition(QSlider::TicksBelow);
        outZitarevWetnessSlider->setTickInterval(20);

        gridLayout_2->addWidget(outZitarevWetnessSlider, 1, 1, 1, 1);

        outZitarevLabel = new QLabel(outgoingGroupBox);
        outZitarevLabel->setObjectName("outZitarevLabel");
        outZitarevLabel->setEnabled(false);

        gridLayout_2->addWidget(outZitarevLabel, 1, 2, 1, 1);

        outCompressorCheckBox = new QCheckBox(outgoingGroupBox);
        outCompressorCheckBox->setObjectName("outCompressorCheckBox");

        gridLayout_2->addWidget(outCompressorCheckBox, 2, 0, 1, 1);

        outLimiterCheckBox = new QCheckBox(outgoingGroupBox);
        outLimiterCheckBox->setObjectName("outLimiterCheckBox");

        gridLayout_2->addWidget(outLimiterCheckBox, 3, 0, 1, 1);

        outClientsSpinBox = new QSpinBox(outgoingGroupBox);
        outClientsSpinBox->setObjectName("outClientsSpinBox");
        outClientsSpinBox->setEnabled(false);
        outClientsSpinBox->setMinimum(1);
        outClientsSpinBox->setMaximum(100);
        outClientsSpinBox->setValue(2);

        gridLayout_2->addWidget(outClientsSpinBox, 3, 1, 1, 1);

        outLimiterLabel = new QLabel(outgoingGroupBox);
        outLimiterLabel->setObjectName("outLimiterLabel");
        outLimiterLabel->setEnabled(false);

        gridLayout_2->addWidget(outLimiterLabel, 3, 2, 1, 1);


        verticalLayout->addWidget(outgoingGroupBox);

        pluginsVerticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        verticalLayout->addItem(pluginsVerticalSpacer);

        optionsTabWidget->addTab(pluginsTab, QString());
        scriptingTab = new QWidget();
        scriptingTab->setObjectName("scriptingTab");
        gridLayout_12 = new QGridLayout(scriptingTab);
        gridLayout_12->setObjectName("gridLayout_12");
        disconnectScriptEdit = new QLineEdit(scriptingTab);
        disconnectScriptEdit->setObjectName("disconnectScriptEdit");
        disconnectScriptEdit->setEnabled(false);

        gridLayout_12->addWidget(disconnectScriptEdit, 3, 0, 1, 1);

        connectScriptEdit = new QLineEdit(scriptingTab);
        connectScriptEdit->setObjectName("connectScriptEdit");
        connectScriptEdit->setEnabled(false);

        gridLayout_12->addWidget(connectScriptEdit, 1, 0, 1, 1);

        connectScriptBrowse = new QPushButton(scriptingTab);
        connectScriptBrowse->setObjectName("connectScriptBrowse");
        connectScriptBrowse->setEnabled(false);

        gridLayout_12->addWidget(connectScriptBrowse, 1, 1, 1, 1);

        connectScriptCheckBox = new QCheckBox(scriptingTab);
        connectScriptCheckBox->setObjectName("connectScriptCheckBox");

        gridLayout_12->addWidget(connectScriptCheckBox, 0, 0, 1, 2);

        scriptingVerticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_12->addItem(scriptingVerticalSpacer, 5, 0, 1, 1);

        disconnectScriptCheckBox = new QCheckBox(scriptingTab);
        disconnectScriptCheckBox->setObjectName("disconnectScriptCheckBox");

        gridLayout_12->addWidget(disconnectScriptCheckBox, 2, 0, 1, 2);

        disconnectScriptBrowse = new QPushButton(scriptingTab);
        disconnectScriptBrowse->setObjectName("disconnectScriptBrowse");
        disconnectScriptBrowse->setEnabled(false);

        gridLayout_12->addWidget(disconnectScriptBrowse, 3, 1, 1, 1);

        environmentVariableLabel = new QLabel(scriptingTab);
        environmentVariableLabel->setObjectName("environmentVariableLabel");
        environmentVariableLabel->setWordWrap(true);

        gridLayout_12->addWidget(environmentVariableLabel, 4, 0, 1, 2);

        optionsTabWidget->addTab(scriptingTab, QString());

        gridLayout->addWidget(optionsTabWidget, 5, 0, 1, 2);

        typeComboBox = new QComboBox(centralWidget);
        typeComboBox->addItem(QString());
        typeComboBox->addItem(QString());
        typeComboBox->addItem(QString());
        typeComboBox->addItem(QString());
        typeComboBox->setObjectName("typeComboBox");

        gridLayout->addWidget(typeComboBox, 0, 1, 1, 1);

        addressComboBox = new QComboBox(centralWidget);
        addressComboBox->setObjectName("addressComboBox");
        QSizePolicy sizePolicy5(QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Fixed);
        sizePolicy5.setHorizontalStretch(0);
        sizePolicy5.setVerticalStretch(0);
        sizePolicy5.setHeightForWidth(addressComboBox->sizePolicy().hasHeightForWidth());
        addressComboBox->setSizePolicy(sizePolicy5);
        addressComboBox->setEditable(true);
        addressComboBox->setMaxCount(5);
        addressComboBox->setInsertPolicy(QComboBox::NoInsert);

        gridLayout->addWidget(addressComboBox, 1, 1, 1, 1);

        outputGroupBox = new QGroupBox(centralWidget);
        outputGroupBox->setObjectName("outputGroupBox");

        gridLayout->addWidget(outputGroupBox, 7, 0, 1, 2);

        QJackTrip->setCentralWidget(centralWidget);
        menuBar = new QMenuBar(QJackTrip);
        menuBar->setObjectName("menuBar");
        menuBar->setGeometry(QRect(0, 0, 409, 30));
        QJackTrip->setMenuBar(menuBar);
        statusBar = new QStatusBar(QJackTrip);
        statusBar->setObjectName("statusBar");
        QJackTrip->setStatusBar(statusBar);
#if QT_CONFIG(shortcut)
        addressLabel->setBuddy(addressComboBox);
        typeLabel->setBuddy(typeComboBox);
        autoPatchLabel->setBuddy(autoPatchComboBox);
        channelRecvLabel->setBuddy(channelRecvSpinBox);
        channelLabel->setBuddy(channelSendSpinBox);
        channelSendLabel->setBuddy(channelSendSpinBox);
        passwordLabel->setBuddy(passwordEdit);
        usernameLabel->setBuddy(usernameEdit);
        certLabel->setBuddy(certEdit);
        keyLabel->setBuddy(keyEdit);
        credsLabel->setBuddy(credsEdit);
        queueLengthLabel->setBuddy(queueLengthSpinBox);
        resolutionLabel->setBuddy(resolutionComboBox);
        remoteNameLabel->setBuddy(remoteNameEdit);
        remotePortLabel->setBuddy(remotePortSpinBox);
        clientNameLabel->setBuddy(clientNameEdit);
        redundancyLabel->setBuddy(redundancySpinBox);
        basePortLabel->setBuddy(basePortSpinBox);
        localPortLabel->setBuddy(localPortSpinBox);
        ioStatsLabel->setBuddy(ioStatsSpinBox);
        inputDeviceLabel->setBuddy(inputDeviceComboBox);
        backendLabel->setBuddy(backendComboBox);
        bufferSizeLabel->setBuddy(bufferSizeComboBox);
        sampleRateLabel->setBuddy(sampleRateComboBox);
        outputDeviceLabel->setBuddy(outputDeviceComboBox);
        autoQueueLabel->setBuddy(autoQueueSpinBox);
        bufferStrategyLabel->setBuddy(bufferStrategyComboBox);
        broadcastQueueLabel->setBuddy(broadcastQueueSpinBox);
#endif // QT_CONFIG(shortcut)
        QWidget::setTabOrder(typeComboBox, addressComboBox);
        QWidget::setTabOrder(addressComboBox, connectButton);
        QWidget::setTabOrder(connectButton, disconnectButton);
        QWidget::setTabOrder(disconnectButton, exitButton);
        QWidget::setTabOrder(exitButton, optionsTabWidget);
        QWidget::setTabOrder(optionsTabWidget, channelSendSpinBox);
        QWidget::setTabOrder(channelSendSpinBox, channelRecvSpinBox);
        QWidget::setTabOrder(channelRecvSpinBox, autoPatchComboBox);
        QWidget::setTabOrder(autoPatchComboBox, patchServerCheckBox);
        QWidget::setTabOrder(patchServerCheckBox, upmixCheckBox);
        QWidget::setTabOrder(upmixCheckBox, zeroCheckBox);
        QWidget::setTabOrder(zeroCheckBox, timeoutCheckBox);
        QWidget::setTabOrder(timeoutCheckBox, requireAuthCheckBox);
        QWidget::setTabOrder(requireAuthCheckBox, certEdit);
        QWidget::setTabOrder(certEdit, certBrowse);
        QWidget::setTabOrder(certBrowse, keyEdit);
        QWidget::setTabOrder(keyEdit, keyBrowse);
        QWidget::setTabOrder(keyBrowse, credsEdit);
        QWidget::setTabOrder(credsEdit, credsBrowse);
        QWidget::setTabOrder(credsBrowse, authCheckBox);
        QWidget::setTabOrder(authCheckBox, usernameEdit);
        QWidget::setTabOrder(usernameEdit, passwordEdit);
        QWidget::setTabOrder(passwordEdit, vsModeButton);
        QWidget::setTabOrder(vsModeButton, aboutButton);
        QWidget::setTabOrder(aboutButton, clientNameEdit);
        QWidget::setTabOrder(clientNameEdit, remoteNameEdit);
        QWidget::setTabOrder(remoteNameEdit, localPortSpinBox);
        QWidget::setTabOrder(localPortSpinBox, remotePortSpinBox);
        QWidget::setTabOrder(remotePortSpinBox, basePortSpinBox);
        QWidget::setTabOrder(basePortSpinBox, queueLengthSpinBox);
        QWidget::setTabOrder(queueLengthSpinBox, redundancySpinBox);
        QWidget::setTabOrder(redundancySpinBox, resolutionComboBox);
        QWidget::setTabOrder(resolutionComboBox, connectAudioCheckBox);
        QWidget::setTabOrder(connectAudioCheckBox, realTimeCheckBox);
        QWidget::setTabOrder(realTimeCheckBox, ioStatsCheckBox);
        QWidget::setTabOrder(ioStatsCheckBox, ioStatsSpinBox);
        QWidget::setTabOrder(ioStatsSpinBox, verboseCheckBox);
        QWidget::setTabOrder(verboseCheckBox, commandLineButton);
        QWidget::setTabOrder(commandLineButton, useDefaultsButton);
        QWidget::setTabOrder(useDefaultsButton, backendComboBox);
        QWidget::setTabOrder(backendComboBox, sampleRateComboBox);
        QWidget::setTabOrder(sampleRateComboBox, bufferSizeComboBox);
        QWidget::setTabOrder(bufferSizeComboBox, inputDeviceComboBox);
        QWidget::setTabOrder(inputDeviceComboBox, outputDeviceComboBox);
        QWidget::setTabOrder(outputDeviceComboBox, refreshDevicesButton);
        QWidget::setTabOrder(refreshDevicesButton, jitterCheckBox);
        QWidget::setTabOrder(jitterCheckBox, bufferStrategyComboBox);
        QWidget::setTabOrder(bufferStrategyComboBox, broadcastCheckBox);
        QWidget::setTabOrder(broadcastCheckBox, broadcastQueueSpinBox);
        QWidget::setTabOrder(broadcastQueueSpinBox, autoQueueCheckBox);
        QWidget::setTabOrder(autoQueueCheckBox, autoQueueSpinBox);
        QWidget::setTabOrder(autoQueueSpinBox, inFreeverbCheckBox);
        QWidget::setTabOrder(inFreeverbCheckBox, inFreeverbWetnessSlider);
        QWidget::setTabOrder(inFreeverbWetnessSlider, inZitarevCheckBox);
        QWidget::setTabOrder(inZitarevCheckBox, inZitarevWetnessSlider);
        QWidget::setTabOrder(inZitarevWetnessSlider, inCompressorCheckBox);
        QWidget::setTabOrder(inCompressorCheckBox, inLimiterCheckBox);
        QWidget::setTabOrder(inLimiterCheckBox, outFreeverbCheckBox);
        QWidget::setTabOrder(outFreeverbCheckBox, outFreeverbWetnessSlider);
        QWidget::setTabOrder(outFreeverbWetnessSlider, outZitarevCheckBox);
        QWidget::setTabOrder(outZitarevCheckBox, outZitarevWetnessSlider);
        QWidget::setTabOrder(outZitarevWetnessSlider, outCompressorCheckBox);
        QWidget::setTabOrder(outCompressorCheckBox, outLimiterCheckBox);
        QWidget::setTabOrder(outLimiterCheckBox, outClientsSpinBox);
        QWidget::setTabOrder(outClientsSpinBox, connectScriptCheckBox);
        QWidget::setTabOrder(connectScriptCheckBox, connectScriptEdit);
        QWidget::setTabOrder(connectScriptEdit, connectScriptBrowse);
        QWidget::setTabOrder(connectScriptBrowse, disconnectScriptCheckBox);
        QWidget::setTabOrder(disconnectScriptCheckBox, disconnectScriptEdit);
        QWidget::setTabOrder(disconnectScriptEdit, disconnectScriptBrowse);

        retranslateUi(QJackTrip);

        optionsTabWidget->setCurrentIndex(0);
        autoPatchComboBox->setCurrentIndex(0);
        resolutionComboBox->setCurrentIndex(1);
        bufferSizeComboBox->setCurrentIndex(3);
        sampleRateComboBox->setCurrentIndex(3);
        bufferStrategyComboBox->setCurrentIndex(0);
        typeComboBox->setCurrentIndex(2);


        QMetaObject::connectSlotsByName(QJackTrip);
    } // setupUi

    void retranslateUi(QMainWindow *QJackTrip)
    {
        QJackTrip->setWindowTitle(QCoreApplication::translate("QJackTrip", "JackTrip", nullptr));
#if QT_CONFIG(tooltip)
        ipLabel->setToolTip(QCoreApplication::translate("QJackTrip", "If running as a server, this is the address you should supply to the other clients.\n"
"(You will need to enable any port forwarding on your router manually.)", nullptr));
#endif // QT_CONFIG(tooltip)
        ipLabel->setText(QCoreApplication::translate("QJackTrip", "Looking up external IP address...", nullptr));
        connectButton->setText(QCoreApplication::translate("QJackTrip", "Connect", nullptr));
        disconnectButton->setText(QCoreApplication::translate("QJackTrip", "Disconnect", nullptr));
        exitButton->setText(QCoreApplication::translate("QJackTrip", "Exit", nullptr));
        inputGroupBox->setTitle(QCoreApplication::translate("QJackTrip", "Input Channels", nullptr));
        addressLabel->setText(QCoreApplication::translate("QJackTrip", "&Address of server", nullptr));
        typeLabel->setText(QCoreApplication::translate("QJackTrip", "&Run JackTrip as", nullptr));
        autoPatchGroupBox->setTitle(QString());
        autoPatchLabel->setText(QCoreApplication::translate("QJackTrip", "Hub auto&patch mode", nullptr));
        autoPatchComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "Server to clients", nullptr));
        autoPatchComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "Client loopback", nullptr));
        autoPatchComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "Client fan out/in but no loopback", nullptr));
        autoPatchComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "Full Mix", nullptr));
        autoPatchComboBox->setItemText(4, QCoreApplication::translate("QJackTrip", "No auto patching", nullptr));

#if QT_CONFIG(tooltip)
        autoPatchComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "Select how you want audio to be routed by the hub server.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        upmixCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "For clients that only send one channel of audio, relay their signal in stereo.", nullptr));
#endif // QT_CONFIG(tooltip)
        upmixCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Upmix mono clients to stereo", nullptr));
#if QT_CONFIG(tooltip)
        patchServerCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Include the server in the audio patching. This allows an ensemble member to\n"
"play from this machine. (Available in client fan out/in and full mix modes.)", nullptr));
#endif // QT_CONFIG(tooltip)
        patchServerCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Include server in patching", nullptr));
#if QT_CONFIG(tooltip)
        channelRecvSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Number of audio channels toaccept from the network.", nullptr));
#endif // QT_CONFIG(tooltip)
        channelRecvLabel->setText(QCoreApplication::translate("QJackTrip", "&Received from network:", nullptr));
        channelLabel->setText(QCoreApplication::translate("QJackTrip", "&Number of channels", nullptr));
        channelSendLabel->setText(QCoreApplication::translate("QJackTrip", "&Sent to network:", nullptr));
#if QT_CONFIG(tooltip)
        channelSendSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Number of audio channels to send to the network.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        timeoutCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Stop JackTrip if no network traffic has been received for 10 seconds.", nullptr));
#endif // QT_CONFIG(tooltip)
        timeoutCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Disconnect after 10 seconds of no network activity", nullptr));
        authGroupBox->setTitle(QString());
#if QT_CONFIG(tooltip)
        passwordEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Enter your password. (This will not be shown or saved.)", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        authCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Supply a username and password to connect to the server.", nullptr));
#endif // QT_CONFIG(tooltip)
        authCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Use Authentication", nullptr));
#if QT_CONFIG(tooltip)
        usernameEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Enter your username for the server.", nullptr));
#endif // QT_CONFIG(tooltip)
        passwordLabel->setText(QCoreApplication::translate("QJackTrip", "&Password", nullptr));
        usernameLabel->setText(QCoreApplication::translate("QJackTrip", "&Username", nullptr));
        authNotVSLabel->setText(QCoreApplication::translate("QJackTrip", "(This is for JackTrip's inbuilt authentication system, not for the Virtual Studio. To connect to a Virtual Studio server, press the \"Virtual Studio Mode\" button below.)", nullptr));
        requireAuthGroupBox->setTitle(QString());
        keyBrowse->setText(QCoreApplication::translate("QJackTrip", "Browse", nullptr));
        authDisclaimerLabel->setText(QCoreApplication::translate("QJackTrip", "(This is a work in progress and needs to be manually configured outside of the app. Only use if you know what you're doing.)", nullptr));
        certLabel->setText(QCoreApplication::translate("QJackTrip", "&Certificate File", nullptr));
        keyLabel->setText(QCoreApplication::translate("QJackTrip", "&Key File", nullptr));
#if QT_CONFIG(tooltip)
        keyEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Choose the private key that the server should use for the SSL connection.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        certEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Choose the certificate file that the server should use to establish an initial SSL connection.", nullptr));
#endif // QT_CONFIG(tooltip)
        certBrowse->setText(QCoreApplication::translate("QJackTrip", "Browse", nullptr));
#if QT_CONFIG(tooltip)
        requireAuthCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Require clients to connect with a username and password.", nullptr));
#endif // QT_CONFIG(tooltip)
        requireAuthCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Require Authentication", nullptr));
        credsLabel->setText(QCoreApplication::translate("QJackTrip", "&Credentials File", nullptr));
#if QT_CONFIG(tooltip)
        credsEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Choose the file containing the list of usernames and passwords.", nullptr));
#endif // QT_CONFIG(tooltip)
        credsBrowse->setText(QCoreApplication::translate("QJackTrip", "Browse", nullptr));
        vsModeButton->setText(QCoreApplication::translate("QJackTrip", "&Virtual Studio Mode", nullptr));
        aboutButton->setText(QCoreApplication::translate("QJackTrip", "About", nullptr));
#if QT_CONFIG(tooltip)
        zeroCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Silence the audio when there's a buffer underrun.", nullptr));
#endif // QT_CONFIG(tooltip)
        zeroCheckBox->setText(QCoreApplication::translate("QJackTrip", "Set buffer to &zero when underrun occurs", nullptr));
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(basicTab), QCoreApplication::translate("QJackTrip", "Basic options", nullptr));
        queueLengthLabel->setText(QCoreApplication::translate("QJackTrip", "&Queue Buffer Length", nullptr));
#if QT_CONFIG(tooltip)
        clientNameEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Set the name of the Jack client.", nullptr));
#endif // QT_CONFIG(tooltip)
        clientNameEdit->setPlaceholderText(QCoreApplication::translate("QJackTrip", "JackTrip", nullptr));
        resolutionLabel->setText(QCoreApplication::translate("QJackTrip", "Audio &Bit Resolution", nullptr));
#if QT_CONFIG(tooltip)
        remoteNameEdit->setToolTip(QCoreApplication::translate("QJackTrip", "Set the name of the Jack client as it will appear on the hub server.", nullptr));
#endif // QT_CONFIG(tooltip)
        resolutionComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "8", nullptr));
        resolutionComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "16", nullptr));
        resolutionComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "24", nullptr));
        resolutionComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "32", nullptr));

#if QT_CONFIG(tooltip)
        resolutionComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "Select the audio bit resolution.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        realTimeCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Use real time priority for the networking threads.", nullptr));
#endif // QT_CONFIG(tooltip)
        realTimeCheckBox->setText(QCoreApplication::translate("QJackTrip", "Enable real&time priority for networking threads", nullptr));
#if QT_CONFIG(tooltip)
        ioStatsSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Choose how often stats should be reported.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        basePortSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Set the base UDP port to be used by connecting hub clients. The default is 61002.\n"
"(You should manually set this if running multiple hub servers on the same machine.)", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        commandLineButton->setToolTip(QCoreApplication::translate("QJackTrip", "Show the equivalent command line for the current settings.", nullptr));
#endif // QT_CONFIG(tooltip)
        commandLineButton->setText(QCoreApplication::translate("QJackTrip", "Get Command &Line", nullptr));
        useDefaultsButton->setText(QCoreApplication::translate("QJackTrip", "Use &Defaults", nullptr));
        remoteNameLabel->setText(QCoreApplication::translate("QJackTrip", "Remote Client &Name", nullptr));
#if QT_CONFIG(tooltip)
        ioStatsCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Display IO stats in another window.", nullptr));
#endif // QT_CONFIG(tooltip)
        ioStatsCheckBox->setText(QCoreApplication::translate("QJackTrip", "Display &IO Stats", nullptr));
        remotePortLabel->setText(QCoreApplication::translate("QJackTrip", "Remote &Port", nullptr));
        clientNameLabel->setText(QCoreApplication::translate("QJackTrip", "Custom Client &Name", nullptr));
        redundancyLabel->setText(QCoreApplication::translate("QJackTrip", "&Redundancy", nullptr));
#if QT_CONFIG(tooltip)
        connectAudioCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Connect the Jack client to the default system audio ports.", nullptr));
#endif // QT_CONFIG(tooltip)
        connectAudioCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Connect default audio ports", nullptr));
#if QT_CONFIG(tooltip)
        localPortSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Set the local port to use for the connection. The default is 4464.\n"
"(Useful for running multiple hub clients behind the same router.)", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        remotePortSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Set the remote port to use for the connection. The default is 4464.", nullptr));
#endif // QT_CONFIG(tooltip)
        basePortLabel->setText(QCoreApplication::translate("QJackTrip", "&UDP Base Port", nullptr));
        localPortLabel->setText(QCoreApplication::translate("QJackTrip", "&Local Port", nullptr));
#if QT_CONFIG(tooltip)
        redundancySpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Number of redundant packets to be sent to avoid glitches related to packet loss.", nullptr));
#endif // QT_CONFIG(tooltip)
        ioStatsLabel->setText(QCoreApplication::translate("QJackTrip", "Reporting &Interval (s)", nullptr));
#if QT_CONFIG(tooltip)
        queueLengthSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Set the queue buffer length, in packet size.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        verboseCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Display debugging information that would normally appear on the console.", nullptr));
#endif // QT_CONFIG(tooltip)
        verboseCheckBox->setText(QCoreApplication::translate("QJackTrip", "Show &Debug Information", nullptr));
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(advancedTab), QCoreApplication::translate("QJackTrip", "Advanced options", nullptr));
        refreshDevicesButton->setText(QCoreApplication::translate("QJackTrip", "&Refresh Device List", nullptr));
        backendComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "JACK", nullptr));
        backendComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "RtAudio", nullptr));

#if QT_CONFIG(tooltip)
        backendComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "<html><head/><body><p>Choose the audio backend to use. JACK is the default and is well tested, but requires the JACK audio server to be installed.</p><p>RtAudio is still a work in progress, but it works with your operating system's native audio drivers and requires no additional software.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        inputDeviceLabel->setText(QCoreApplication::translate("QJackTrip", "&Input Device:", nullptr));
        bufferSizeComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "16", nullptr));
        bufferSizeComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "32", nullptr));
        bufferSizeComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "64", nullptr));
        bufferSizeComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "128", nullptr));
        bufferSizeComboBox->setItemText(4, QCoreApplication::translate("QJackTrip", "256", nullptr));
        bufferSizeComboBox->setItemText(5, QCoreApplication::translate("QJackTrip", "512", nullptr));
        bufferSizeComboBox->setItemText(6, QCoreApplication::translate("QJackTrip", "1024", nullptr));

#if QT_CONFIG(tooltip)
        bufferSizeComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "<html><head/><body><p>Set the driver's buffer size to use with the RtAudio backend.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        backendLabel->setText(QCoreApplication::translate("QJackTrip", "Audio &Backend:", nullptr));
        bufferSizeLabel->setText(QCoreApplication::translate("QJackTrip", "&Buffer Size:", nullptr));
        sampleRateComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "22050", nullptr));
        sampleRateComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "32000", nullptr));
        sampleRateComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "44100", nullptr));
        sampleRateComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "48000", nullptr));
        sampleRateComboBox->setItemText(4, QCoreApplication::translate("QJackTrip", "88200", nullptr));
        sampleRateComboBox->setItemText(5, QCoreApplication::translate("QJackTrip", "96000", nullptr));
        sampleRateComboBox->setItemText(6, QCoreApplication::translate("QJackTrip", "192000", nullptr));

#if QT_CONFIG(tooltip)
        sampleRateComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "<html><head/><body><p>Set the audio sample rate to use with the RtAudio backend. This setting should be the same on both ends of the connection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        sampleRateComboBox->setCurrentText(QCoreApplication::translate("QJackTrip", "48000", nullptr));
        sampleRateLabel->setText(QCoreApplication::translate("QJackTrip", "&Sampling Rate:", nullptr));
        outputDeviceLabel->setText(QCoreApplication::translate("QJackTrip", "&Output Device:", nullptr));
        backendWarningLabel->setText(QCoreApplication::translate("QJackTrip", "These settings are ignored in hub server mode which requires JACK to operate.", nullptr));
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(backendTab), QCoreApplication::translate("QJackTrip", "Audio Backend", nullptr));
        packetsLabel->setText(QCoreApplication::translate("QJackTrip", "Packets", nullptr));
        autoQueueCheckBox->setText(QCoreApplication::translate("QJackTrip", "Automatically set the &queue length", nullptr));
        autoQueueLabel->setText(QCoreApplication::translate("QJackTrip", "Aim to &drop no more than one in every", nullptr));
#if QT_CONFIG(tooltip)
        broadcastCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable a second, broadcast output with a higher queue length\n"
"for better quality at the expense of latency.", nullptr));
#endif // QT_CONFIG(tooltip)
        broadcastCheckBox->setText(QCoreApplication::translate("QJackTrip", "Enable &Broadcast Output", nullptr));
        autoQueueExplanationLabel->setText(QCoreApplication::translate("QJackTrip", "This will override the queue buffer length entered in the advanced options tab. (The default value is 500.)", nullptr));
#if QT_CONFIG(tooltip)
        jitterCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the new jitter buffer. This is now the default.", nullptr));
#endif // QT_CONFIG(tooltip)
        jitterCheckBox->setText(QCoreApplication::translate("QJackTrip", "Enable &Jitter Buffer", nullptr));
        bufferStrategyComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "1 (adaptable latency)", nullptr));
        bufferStrategyComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "2 (stable latency)", nullptr));
        bufferStrategyComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "3 (loss concealment)", nullptr));
        bufferStrategyComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "4 (same as 3)", nullptr));

#if QT_CONFIG(tooltip)
        bufferStrategyComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "<html><head/><body><p>Buffer strategy 1 attempts to drop as little audio data as possible without exceeding the maximum queue length. It operates very similarly to the original buffer implementation with a few fixes to drop even less audio.</p><p>Buffer strategy 2 is optimized to keep the latency stable, so that the delay experienced over the connection doesn't fluctuate and is as predictable as possible. The trade off is that more audio might be dropped, but the difference should be negligible with the right queue length.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        bufferStrategyLabel->setText(QCoreApplication::translate("QJackTrip", "Use buffer &strategy", nullptr));
        broadcastQueueLabel->setText(QCoreApplication::translate("QJackTrip", "Broadcast &Queue Length", nullptr));
#if QT_CONFIG(tooltip)
        broadcastQueueSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Set the broadcast queue buffer length, in packet size.", nullptr));
#endif // QT_CONFIG(tooltip)
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(JitterTab), QCoreApplication::translate("QJackTrip", "Jitter Buffer", nullptr));
        incomingGroupBox->setTitle(QCoreApplication::translate("QJackTrip", "Incoming", nullptr));
#if QT_CONFIG(tooltip)
        inZitarevWetnessSlider->setToolTip(QCoreApplication::translate("QJackTrip", "Set the wet/dry mix.", nullptr));
#endif // QT_CONFIG(tooltip)
        inFreeverbLabel->setText(QCoreApplication::translate("QJackTrip", "Wetness", nullptr));
#if QT_CONFIG(tooltip)
        inLimiterCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the limiter on incoming audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        inLimiterCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Limiter", nullptr));
#if QT_CONFIG(tooltip)
        inFreeverbCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the freeverb plugin on incoming audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        inFreeverbCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Freeverb", nullptr));
        inZitarevLabel->setText(QCoreApplication::translate("QJackTrip", "Wetness", nullptr));
#if QT_CONFIG(tooltip)
        inCompressorCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the compressor plugin on incoming audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        inCompressorCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Compressor", nullptr));
#if QT_CONFIG(tooltip)
        inZitarevCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the zitarev reverb plugin on incoming audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        inZitarevCheckBox->setText(QCoreApplication::translate("QJackTrip", "&Zitarev", nullptr));
#if QT_CONFIG(tooltip)
        inFreeverbWetnessSlider->setToolTip(QCoreApplication::translate("QJackTrip", "Set the wet/dry mix.", nullptr));
#endif // QT_CONFIG(tooltip)
        outgoingGroupBox->setTitle(QCoreApplication::translate("QJackTrip", "Outgoing", nullptr));
#if QT_CONFIG(tooltip)
        outFreeverbCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the freeverb plugin on outgoing audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        outFreeverbCheckBox->setText(QCoreApplication::translate("QJackTrip", "Free&verb", nullptr));
#if QT_CONFIG(tooltip)
        outFreeverbWetnessSlider->setToolTip(QCoreApplication::translate("QJackTrip", "Set the wet/dry mix.", nullptr));
#endif // QT_CONFIG(tooltip)
        outFreeverbLabel->setText(QCoreApplication::translate("QJackTrip", "Wetness", nullptr));
#if QT_CONFIG(tooltip)
        outZitarevCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the zitarev reverb plugin on outgoing audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        outZitarevCheckBox->setText(QCoreApplication::translate("QJackTrip", "Zi&tarev", nullptr));
#if QT_CONFIG(tooltip)
        outZitarevWetnessSlider->setToolTip(QCoreApplication::translate("QJackTrip", "Set the wet/dry mix.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        outZitarevLabel->setToolTip(QCoreApplication::translate("QJackTrip", "Moisture is the essence of wetness,\n"
"and wetness is the essence of beauty.", nullptr));
#endif // QT_CONFIG(tooltip)
        outZitarevLabel->setText(QCoreApplication::translate("QJackTrip", "Wetness", nullptr));
#if QT_CONFIG(tooltip)
        outCompressorCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the compressor plugin on outgoing audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        outCompressorCheckBox->setText(QCoreApplication::translate("QJackTrip", "Com&pressor", nullptr));
#if QT_CONFIG(tooltip)
        outLimiterCheckBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enable the limiter on outgoing audio.", nullptr));
#endif // QT_CONFIG(tooltip)
        outLimiterCheckBox->setText(QCoreApplication::translate("QJackTrip", "Li&miter", nullptr));
#if QT_CONFIG(tooltip)
        outClientsSpinBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enter the anticipated number of clients that will be connected to the server.", nullptr));
#endif // QT_CONFIG(tooltip)
        outLimiterLabel->setText(QCoreApplication::translate("QJackTrip", "Clients", nullptr));
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(pluginsTab), QCoreApplication::translate("QJackTrip", "Plugins", nullptr));
        connectScriptBrowse->setText(QCoreApplication::translate("QJackTrip", "Browse", nullptr));
        connectScriptCheckBox->setText(QCoreApplication::translate("QJackTrip", "Execute script on &connection", nullptr));
        disconnectScriptCheckBox->setText(QCoreApplication::translate("QJackTrip", "Execute script on &disconnection", nullptr));
        disconnectScriptBrowse->setText(QCoreApplication::translate("QJackTrip", "Browse", nullptr));
        environmentVariableLabel->setText(QCoreApplication::translate("QJackTrip", "Any scripts that you write will have access to the following environment variables:\n"
"\n"
"JT_CLIENT_NAME - The name of the created JACK client\n"
"JT_SEND_CHANNELS - The number of audio channels sent to the network\n"
"JT_RECV_CHANNELS - The number of audio channels received from the network", nullptr));
        optionsTabWidget->setTabText(optionsTabWidget->indexOf(scriptingTab), QCoreApplication::translate("QJackTrip", "Scripting", nullptr));
        typeComboBox->setItemText(0, QCoreApplication::translate("QJackTrip", "P2P Client", nullptr));
        typeComboBox->setItemText(1, QCoreApplication::translate("QJackTrip", "P2P Server", nullptr));
        typeComboBox->setItemText(2, QCoreApplication::translate("QJackTrip", "Hub Client", nullptr));
        typeComboBox->setItemText(3, QCoreApplication::translate("QJackTrip", "Hub Server", nullptr));

#if QT_CONFIG(tooltip)
        typeComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "To connect to a p2p (peer to peer) server you need to run as a p2p client.\n"
"To connect to a hub server you need to run as a hub client.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        addressComboBox->setToolTip(QCoreApplication::translate("QJackTrip", "Enter the IP address or the hostname of the server you want to connect to.", nullptr));
#endif // QT_CONFIG(tooltip)
        outputGroupBox->setTitle(QCoreApplication::translate("QJackTrip", "Output Channels", nullptr));
    } // retranslateUi

};

namespace Ui {
    class QJackTrip: public Ui_QJackTrip {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_QJACKTRIP_H
