提交 2666a40a authored 作者: Joao Mesquita's avatar Joao Mesquita

Lets test preprocessors

上级 bec8d75e
...@@ -179,10 +179,26 @@ void MainWindow::debugConsoleTriggered() ...@@ -179,10 +179,26 @@ void MainWindow::debugConsoleTriggered()
} }
void MainWindow::applyPreprocessors(QStringList cmds)
{
if (g_FSHost.getCurrentActiveCall().isNull()) return;
QString uuid = g_FSHost.getCurrentActiveCall().data()->getUuid();
foreach(QString cmd, cmds)
{
switch_stream_handle_t stream = { 0 };
SWITCH_STANDARD_STREAM(stream);
switch_api_execute("uuid_preprocess", QString("%1 %2").arg(uuid, cmd).toAscii().data(), NULL, &stream);
switch_safe_free(stream.data);
}
}
void MainWindow::prefTriggered() void MainWindow::prefTriggered()
{ {
if (!preferences) if (!preferences)
{
preferences = new PrefDialog(); preferences = new PrefDialog();
connect(preferences, SIGNAL(preprocessorsApplied(QStringList)), this, SLOT(applyPreprocessors(QStringList)));
}
preferences->raise(); preferences->raise();
preferences->show(); preferences->show();
......
...@@ -85,6 +85,7 @@ private slots: ...@@ -85,6 +85,7 @@ private slots:
void updateCallTimers(); void updateCallTimers();
void debugConsoleTriggered(); void debugConsoleTriggered();
void debugEventsTriggered(); void debugEventsTriggered();
void applyPreprocessors(QStringList);
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
......
...@@ -15,6 +15,7 @@ PrefDialog::PrefDialog(QWidget *parent) : ...@@ -15,6 +15,7 @@ PrefDialog::PrefDialog(QWidget *parent) :
_pref_accounts = new PrefAccounts(ui); _pref_accounts = new PrefAccounts(ui);
_mod_portaudio = new PrefPortaudio(ui, this); _mod_portaudio = new PrefPortaudio(ui, this);
connect(_mod_portaudio, SIGNAL(preprocessorsApplied(QStringList)), this, SIGNAL(preprocessorsApplied(QStringList)));
_mod_sofia = new PrefSofia(ui, this); _mod_sofia = new PrefSofia(ui, this);
readConfig(); readConfig();
} }
......
...@@ -26,6 +26,9 @@ protected: ...@@ -26,6 +26,9 @@ protected:
private slots: private slots:
void writeConfig(); void writeConfig();
signals:
void preprocessorsApplied(QStringList);
private: private:
void readConfig(); void readConfig();
QSettings *_settings; QSettings *_settings;
......
...@@ -6,1006 +6,1158 @@ ...@@ -6,1006 +6,1158 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>839</width> <width>803</width>
<height>613</height> <height>667</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Preferences</string> <string>Preferences</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QVBoxLayout" name="verticalLayout_8">
<item row="0" column="0"> <item>
<widget class="QListWidget" name="listSections"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<property name="minimumSize">
<size>
<width>120</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>120</width>
<height>16777215</height>
</size>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::NoDragDrop</enum>
</property>
<property name="iconSize">
<size>
<width>96</width>
<height>84</height>
</size>
</property>
<property name="movement">
<enum>QListView::Static</enum>
</property>
<property name="flow">
<enum>QListView::LeftToRight</enum>
</property>
<property name="isWrapping" stdset="0">
<bool>true</bool>
</property>
<property name="spacing">
<number>12</number>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<item>
<property name="text">
<string>General</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/images/pref_general.jpg</normaloff>:/images/pref_general.jpg</iconset>
</property>
</item>
<item> <item>
<property name="text"> <widget class="QListWidget" name="listSections">
<string>Accounts</string> <property name="minimumSize">
</property> <size>
<property name="icon"> <width>120</width>
<iconset resource="../resources.qrc"> <height>0</height>
<normaloff>:/images/pref_accounts.jpg</normaloff>:/images/pref_accounts.jpg</iconset> </size>
</property> </property>
</item> <property name="maximumSize">
<item> <size>
<property name="text"> <width>120</width>
<string>Sofia</string> <height>16777215</height>
</property> </size>
<property name="icon"> </property>
<iconset resource="../resources.qrc"> <property name="showDropIndicator" stdset="0">
<normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset> <bool>false</bool>
</property> </property>
</item> <property name="dragDropMode">
<item> <enum>QAbstractItemView::NoDragDrop</enum>
<property name="text"> </property>
<string>PortAudio</string> <property name="iconSize">
</property> <size>
<property name="icon"> <width>96</width>
<iconset resource="../resources.qrc"> <height>84</height>
<normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset> </size>
</property> </property>
</item> <property name="movement">
</widget> <enum>QListView::Static</enum>
</item> </property>
<item row="0" column="1"> <property name="flow">
<widget class="QStackedWidget" name="stackedWidget"> <enum>QListView::LeftToRight</enum>
<property name="currentIndex"> </property>
<number>0</number> <property name="isWrapping" stdset="0">
</property> <bool>true</bool>
<widget class="QWidget" name="generalPage"> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <property name="spacing">
<number>12</number>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<item> <item>
<widget class="QGroupBox" name="groupBox_5"> <property name="text">
<property name="title"> <string>General</string>
<string>User Information</string> </property>
</property> <property name="icon">
<layout class="QFormLayout" name="formLayout_4"> <iconset resource="../resources.qrc">
<item row="0" column="0"> <normaloff>:/images/pref_general.jpg</normaloff>:/images/pref_general.jpg</iconset>
<widget class="QLabel" name="label_13"> </property>
<property name="text">
<string>CallerID Name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="PaCallerIdNameEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>CallerID Number:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="PaCallerIdNumEdit"/>
</item>
</layout>
</widget>
</item> </item>
</layout>
</widget>
<widget class="QWidget" name="accountsPage">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item> <item>
<widget class="QTableWidget" name="accountsTable"> <property name="text">
<property name="editTriggers"> <string>Accounts</string>
<set>QAbstractItemView::NoEditTriggers</set> </property>
</property> <property name="icon">
<property name="selectionBehavior"> <iconset resource="../resources.qrc">
<enum>QAbstractItemView::SelectRows</enum> <normaloff>:/images/pref_accounts.jpg</normaloff>:/images/pref_accounts.jpg</iconset>
</property> </property>
<column>
<property name="text">
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Username</string>
</property>
</column>
</widget>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_7"> <property name="text">
<item> <string>Sofia</string>
<widget class="QPushButton" name="sofiaGwAddBtn"> </property>
<property name="text"> <property name="icon">
<string>Add</string> <iconset resource="../resources.qrc">
</property> <normaloff>:/images/pref_sip.png</normaloff>:/images/pref_sip.png</iconset>
</widget> </property>
</item> </item>
<item>
<property name="text">
<string>Audio</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/images/pref_audio.gif</normaloff>:/images/pref_audio.gif</iconset>
</property>
</item>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="generalPage">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QPushButton" name="sofiaGwRemBtn"> <widget class="QGroupBox" name="groupBox_5">
<property name="text"> <property name="title">
<string>Remove</string> <string>User Information</string>
</property> </property>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>CallerID Name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="PaCallerIdNameEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>CallerID Number:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="PaCallerIdNumEdit"/>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout>
</widget>
<widget class="QWidget" name="accountsPage">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item> <item>
<widget class="QPushButton" name="sofiaGwEditBtn"> <widget class="QTableWidget" name="accountsTable">
<property name="enabled"> <property name="editTriggers">
<bool>true</bool> <set>QAbstractItemView::NoEditTriggers</set>
</property> </property>
<property name="text"> <property name="selectionBehavior">
<string>Edit</string> <enum>QAbstractItemView::SelectRows</enum>
</property> </property>
<column>
<property name="text">
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Username</string>
</property>
</column>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <layout class="QVBoxLayout" name="verticalLayout_7">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="sofiaPage">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QPushButton" name="sofiaGwAddBtn">
<property name="title"> <property name="text">
<string>Global</string> <string>Add</string>
</property> </property>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>log-level</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="sofiaLogLevelSpin"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>auto-restart</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="sofiaAutoRestartCombo">
<item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>debug-presence</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="sofiaDebugPresenceSpin"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>rewrite-multicasted-fs-path</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="sofiaRewriteMulticastedFsPathCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_6"> <widget class="QPushButton" name="sofiaGwRemBtn">
<property name="sizePolicy"> <property name="text">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <string>Remove</string>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Profile</string>
</property> </property>
<layout class="QFormLayout" name="formLayout_6">
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>user-agent-string</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="sofiaUserAgentStringEdit">
<property name="text">
<string>FreeSWITCH/FSComm</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_26">
<property name="text">
<string>hold-music</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="sofiaHoldMusicEdit">
<property name="text">
<string>localstream://moh</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>context</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="sofiaContextEdit">
<property name="text">
<string>public</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>dialplan</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="sofiaDialplanEdit">
<property name="text">
<string>XML</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Network</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QPushButton" name="sofiaGwEditBtn">
<property name="title"> <property name="enabled">
<string>Softphone Profile</string> <bool>true</bool>
</property> </property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>sip-port</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="sofiaSipPortSpin">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>12345</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>use-rtp-timer</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="sofiaUseRtpTimerCombo">
<item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>rtp-ip</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="sofiaRtpIpEdit">
<property name="text">
<string>auto</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>sip-ip</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="sofiaSipIpEdit">
<property name="text">
<string>auto</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_27">
<property name="text">
<string>apply-nat-acl</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="sofiaApplyNatAclEdit">
<property name="text">
<string>rfc1918</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_34">
<property name="text">
<string>ext-rtp-ip</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="sofiaExtRtpIpEdit">
<property name="text">
<string>stun:stun.freeswitch.org</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_35">
<property name="text">
<string>ext-sip-ip</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="sofiaExtSipIpEdit">
<property name="text">
<string>stun:stun.freeswitch.org</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Codecs</string>
</attribute>
<layout class="QFormLayout" name="formLayout_7">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_30">
<property name="text"> <property name="text">
<string>inbound-codec-negotiation</string> <string>Edit</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QComboBox" name="sofiaInboundCodecNegotiationCombo"> <spacer name="verticalSpacer">
<item> <property name="orientation">
<property name="text"> <enum>Qt::Vertical</enum>
<string>generous</string>
</property>
</item>
<item>
<property name="text">
<string>greedy</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_42">
<property name="text">
<string>Codecs</string>
</property> </property>
</widget> <property name="sizeHint" stdset="0">
</item> <size>
<item row="1" column="1"> <width>20</width>
<widget class="CodecWidget" name="sofiaProfileCodecWidget" native="true"/> <height>40</height>
</size>
</property>
</spacer>
</item> </item>
</layout> </layout>
</widget> </item>
<widget class="QWidget" name="tab_3"> </layout>
<attribute name="title"> </widget>
<string>Advanced</string> <widget class="QWidget" name="sofiaPage">
</attribute> <layout class="QVBoxLayout" name="verticalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout_6"> <item>
<item> <widget class="QTabWidget" name="tabWidget">
<widget class="QGroupBox" name="groupBox_7"> <property name="currentIndex">
<property name="title"> <number>0</number>
<string>Profile</string> </property>
</property> <widget class="QWidget" name="tab">
<layout class="QFormLayout" name="formLayout_8"> <attribute name="title">
<item row="0" column="0"> <string>General</string>
<widget class="QLabel" name="label_17"> </attribute>
<property name="text"> <layout class="QVBoxLayout" name="verticalLayout_5">
<string>rfc2833-pt</string> <item>
</property> <widget class="QGroupBox" name="groupBox">
</widget> <property name="title">
</item> <string>Global</string>
<item row="0" column="1"> </property>
<widget class="QLineEdit" name="sofiaRfc2833PtEdit"> <layout class="QFormLayout" name="formLayout">
<property name="text"> <property name="fieldGrowthPolicy">
<string>101</string> <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>debug</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="sofiaDebugSpin"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>sip-trace</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="sofiaSipTraceCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_20">
<property name="text">
<string>dtmf-duration</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="sofiaDtmfDurationSpin">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>rtp-timer-name</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="sofiaRtpTimerNameEdit">
<property name="text">
<string>soft</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_28">
<property name="text">
<string>manage-presence</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="sofiaManagePresenceCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_29">
<property name="text">
<string>max-proceeding</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="sofiaMaxProceedingEdit">
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_31">
<property name="text">
<string>nonce-ttl</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QSpinBox" name="sofiaNonceTtlSpin">
<property name="value">
<number>60</number>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_36">
<property name="text">
<string>rtp-timeout-sec</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="sofiaRtpTimeoutSecSpin">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>300</number>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_37">
<property name="text">
<string>rtp-hold-timeout-sec</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QSpinBox" name="sofiaRtpHoldTimeoutSecSpin">
<property name="maximum">
<number>5000</number>
</property>
<property name="value">
<number>1800</number>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_32">
<property name="text">
<string>auth-calls</string>
</property> </property>
</widget> <item row="0" column="0">
</item> <widget class="QLabel" name="label">
<item row="10" column="1"> <property name="text">
<widget class="QComboBox" name="sofiaAuthCallsCombo"> <string>log-level</string>
<item> </property>
<property name="text"> </widget>
<string>false</string> </item>
</property> <item row="0" column="1">
</item> <widget class="QSpinBox" name="sofiaLogLevelSpin"/>
<item> </item>
<property name="text"> <item row="1" column="0">
<string>true</string> <widget class="QLabel" name="label_2">
</property> <property name="text">
</item> <string>auto-restart</string>
</widget> </property>
</item> </widget>
<item row="11" column="0"> </item>
<widget class="QLabel" name="label_33"> <item row="1" column="1">
<property name="text"> <widget class="QComboBox" name="sofiaAutoRestartCombo">
<string>auth-all-packets</string> <item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>debug-presence</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="sofiaDebugPresenceSpin"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>rewrite-multicasted-fs-path</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="sofiaRewriteMulticastedFsPathCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Profile</string>
</property>
<layout class="QFormLayout" name="formLayout_6">
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>user-agent-string</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="sofiaUserAgentStringEdit">
<property name="text">
<string>FreeSWITCH/FSComm</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_26">
<property name="text">
<string>hold-music</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="sofiaHoldMusicEdit">
<property name="text">
<string>localstream://moh</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>context</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="sofiaContextEdit">
<property name="text">
<string>public</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>dialplan</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="sofiaDialplanEdit">
<property name="text">
<string>XML</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Network</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Softphone Profile</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property> </property>
</widget> <item row="0" column="0">
</item> <widget class="QLabel" name="label_18">
<item row="11" column="1"> <property name="text">
<widget class="QComboBox" name="sofiaAuthAllPacketsCombo"> <string>sip-port</string>
<item> </property>
<property name="text"> </widget>
<string>false</string> </item>
</property> <item row="0" column="1">
</item> <widget class="QSpinBox" name="sofiaSipPortSpin">
<item> <property name="minimum">
<property name="text"> <number>1</number>
<string>true</string> </property>
</property> <property name="maximum">
</item> <number>65535</number>
</widget> </property>
</item> <property name="value">
<item row="12" column="0"> <number>12345</number>
<widget class="QLabel" name="label_38"> </property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>use-rtp-timer</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="sofiaUseRtpTimerCombo">
<item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>rtp-ip</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="sofiaRtpIpEdit">
<property name="text">
<string>auto</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>sip-ip</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="sofiaSipIpEdit">
<property name="text">
<string>auto</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_27">
<property name="text">
<string>apply-nat-acl</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="sofiaApplyNatAclEdit">
<property name="text">
<string>rfc1918</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_34">
<property name="text">
<string>ext-rtp-ip</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="sofiaExtRtpIpEdit">
<property name="text">
<string>stun:stun.freeswitch.org</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_35">
<property name="text">
<string>ext-sip-ip</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="sofiaExtSipIpEdit">
<property name="text">
<string>stun:stun.freeswitch.org</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Codecs</string>
</attribute>
<layout class="QFormLayout" name="formLayout_7">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_30">
<property name="text">
<string>inbound-codec-negotiation</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="sofiaInboundCodecNegotiationCombo">
<item>
<property name="text"> <property name="text">
<string>disable-register</string> <string>generous</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="12" column="1">
<widget class="QComboBox" name="sofiaDisableRegisterCombo">
<item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_39">
<property name="text"> <property name="text">
<string>challenge-realm</string> <string>greedy</string>
</property> </property>
</widget> </item>
</item> </widget>
<item row="13" column="1"> </item>
<widget class="QComboBox" name="sofiaChallengeRealmCombo"> <item row="1" column="0">
<item> <widget class="QLabel" name="label_42">
<property name="text"> <property name="text">
<string>auto_from</string> <string>Codecs</string>
</property> </property>
</item> </widget>
<item> </item>
<property name="text"> <item row="1" column="1">
<string>auto_to</string> <widget class="CodecWidget" name="sofiaProfileCodecWidget" native="true"/>
</property> </item>
</item> </layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="portaudioPage">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Devices</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>indev</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="PaIndevCombo"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>outdev</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QComboBox" name="PaOutdevCombo"/>
</item>
<item>
<widget class="QPushButton" name="PaOutdevTestBtn">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximumSize">
<size>
<width>86</width>
<height>27</height>
</size>
</property>
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>rindgev</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QComboBox" name="PaRingdevCombo"/>
</item>
<item>
<widget class="QPushButton" name="PaRingdevTestBtn">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>86</width>
<height>27</height>
</size>
</property>
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPushButton" name="PaLoopTestBtn">
<property name="text">
<string>Loop Test</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaRefreshDevListBtn">
<property name="text">
<string>Refresh DevList</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_40">
<property name="text">
<string>Sample Rate</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="PaSampleRateEdit">
<property name="text">
<string>16000</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_41">
<property name="text">
<string>Codec MS</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="PaCodecMSEdit">
<property name="text">
<string>10</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Files</string>
</property>
<layout class="QFormLayout" name="formLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>ring-file</string>
</property>
</widget> </widget>
</item> <widget class="QWidget" name="tab_3">
<item row="0" column="1"> <attribute name="title">
<layout class="QHBoxLayout" name="horizontalLayout_4"> <string>Advanced</string>
<item> </attribute>
<widget class="QLineEdit" name="PaRingFileEdit"> <layout class="QVBoxLayout" name="verticalLayout_6">
<property name="text"> <item>
<string>tone_stream://%(2000,4000,440.0,480.0);loops=20</string> <widget class="QGroupBox" name="groupBox_7">
</property> <property name="title">
</widget> <string>Profile</string>
</item> </property>
<item> <layout class="QFormLayout" name="formLayout_8">
<widget class="QPushButton" name="PaRingFileBtn"> <item row="0" column="0">
<property name="text"> <widget class="QLabel" name="label_17">
<string>Open</string> <property name="text">
</property> <string>rfc2833-pt</string>
</widget> </property>
</item> </widget>
</layout> </item>
</item> <item row="0" column="1">
<item row="1" column="0"> <widget class="QLineEdit" name="sofiaRfc2833PtEdit">
<widget class="QLabel" name="label_12"> <property name="text">
<property name="text"> <string>101</string>
<string>ring-interval</string> </property>
</property> </widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>debug</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="sofiaDebugSpin"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>sip-trace</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="sofiaSipTraceCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_20">
<property name="text">
<string>dtmf-duration</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="sofiaDtmfDurationSpin">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>rtp-timer-name</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="sofiaRtpTimerNameEdit">
<property name="text">
<string>soft</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_28">
<property name="text">
<string>manage-presence</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="sofiaManagePresenceCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_29">
<property name="text">
<string>max-proceeding</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="sofiaMaxProceedingEdit">
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_31">
<property name="text">
<string>nonce-ttl</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QSpinBox" name="sofiaNonceTtlSpin">
<property name="value">
<number>60</number>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_36">
<property name="text">
<string>rtp-timeout-sec</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="sofiaRtpTimeoutSecSpin">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>300</number>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_37">
<property name="text">
<string>rtp-hold-timeout-sec</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QSpinBox" name="sofiaRtpHoldTimeoutSecSpin">
<property name="maximum">
<number>5000</number>
</property>
<property name="value">
<number>1800</number>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_32">
<property name="text">
<string>auth-calls</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QComboBox" name="sofiaAuthCallsCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_33">
<property name="text">
<string>auth-all-packets</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QComboBox" name="sofiaAuthAllPacketsCombo">
<item>
<property name="text">
<string>false</string>
</property>
</item>
<item>
<property name="text">
<string>true</string>
</property>
</item>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_38">
<property name="text">
<string>disable-register</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QComboBox" name="sofiaDisableRegisterCombo">
<item>
<property name="text">
<string>true</string>
</property>
</item>
<item>
<property name="text">
<string>false</string>
</property>
</item>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_39">
<property name="text">
<string>challenge-realm</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QComboBox" name="sofiaChallengeRealmCombo">
<item>
<property name="text">
<string>auto_from</string>
</property>
</item>
<item>
<property name="text">
<string>auto_to</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget> </widget>
</item> </widget>
<item row="1" column="1"> </item>
<widget class="QSpinBox" name="PaRingIntervalSpin"> </layout>
<property name="value"> </widget>
<number>5</number> <widget class="QWidget" name="portaudioPage">
</property> <layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget_2">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Devices</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>indev</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="PaIndevCombo"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>outdev</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QComboBox" name="PaOutdevCombo"/>
</item>
<item>
<widget class="QPushButton" name="PaOutdevTestBtn">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximumSize">
<size>
<width>86</width>
<height>27</height>
</size>
</property>
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>rindgev</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QComboBox" name="PaRingdevCombo"/>
</item>
<item>
<widget class="QPushButton" name="PaRingdevTestBtn">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>86</width>
<height>27</height>
</size>
</property>
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QPushButton" name="PaLoopTestBtn">
<property name="text">
<string>Loop Test</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaRefreshDevListBtn">
<property name="text">
<string>Refresh DevList</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_40">
<property name="text">
<string>Sample Rate</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="PaSampleRateEdit">
<property name="text">
<string>16000</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_41">
<property name="text">
<string>Codec MS</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="PaCodecMSEdit">
<property name="text">
<string>10</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Files</string>
</property>
<layout class="QFormLayout" name="formLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>ring-file</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="PaRingFileEdit">
<property name="text">
<string>tone_stream://%(2000,4000,440.0,480.0);loops=20</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaRingFileBtn">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>ring-interval</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="PaRingIntervalSpin">
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>hold-file</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLineEdit" name="PaHoldFileEdit">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaHoldFileBtn">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget> </widget>
</item> <widget class="QWidget" name="tab_6">
<item row="2" column="0"> <attribute name="title">
<widget class="QLabel" name="label_11"> <string>Preprocessor</string>
<property name="text"> </attribute>
<string>hold-file</string> <layout class="QFormLayout" name="formLayout_9">
</property> <item row="0" column="0" colspan="2">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Echo canceller</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="checkAECRead">
<property name="text">
<string>read</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="checkAECWrite">
<property name="text">
<string>write</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_45">
<property name="text">
<string>Tail</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="spinAECTail"/>
</item>
<item row="5" column="0" colspan="2">
<widget class="QLabel" name="label_43">
<property name="text">
<string>Echo Suppressor</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="checkESRead">
<property name="text">
<string>read</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="checkESWrite">
<property name="text">
<string>write</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="label_46">
<property name="text">
<string>Db</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QSpinBox" name="spinESDb"/>
</item>
<item row="10" column="0" colspan="2">
<widget class="QLabel" name="label_47">
<property name="text">
<string>Noise Supressor</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QCheckBox" name="checkNSRead">
<property name="text">
<string>read</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QCheckBox" name="checkNSWrite">
<property name="text">
<string>write</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QLabel" name="label_48">
<property name="text">
<string>Db</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QSpinBox" name="spinNSDb"/>
</item>
<item row="16" column="1">
<widget class="QCheckBox" name="checkAGCRead">
<property name="text">
<string>read</string>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QCheckBox" name="checkAGCWrite">
<property name="text">
<string>write</string>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QSpinBox" name="spinAGC"/>
</item>
<item row="15" column="0">
<widget class="QLabel" name="label_44">
<property name="text">
<string>AGC</string>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QPushButton" name="btnApplyPreprocessor">
<property name="text">
<string>Apply</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </widget>
<item row="2" column="1"> </item>
<layout class="QHBoxLayout" name="horizontalLayout"> </layout>
<item> </widget>
<widget class="QLineEdit" name="PaHoldFileEdit"> </widget>
<property name="readOnly"> </item>
<bool>true</bool> </layout>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="PaHoldFileBtn">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item> </item>
<item row="1" column="1"> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
......
...@@ -15,6 +15,28 @@ PrefPortaudio::PrefPortaudio(Ui::PrefDialog *ui, QObject *parent) : ...@@ -15,6 +15,28 @@ PrefPortaudio::PrefPortaudio(Ui::PrefDialog *ui, QObject *parent) :
connect(_ui->PaRingdevTestBtn, SIGNAL(clicked()), this, SLOT(ringdevTest())); connect(_ui->PaRingdevTestBtn, SIGNAL(clicked()), this, SLOT(ringdevTest()));
connect(_ui->PaLoopTestBtn, SIGNAL(clicked()), this, SLOT(loopTest())); connect(_ui->PaLoopTestBtn, SIGNAL(clicked()), this, SLOT(loopTest()));
connect(_ui->PaRefreshDevListBtn, SIGNAL(clicked()), this, SLOT(refreshDevList())); connect(_ui->PaRefreshDevListBtn, SIGNAL(clicked()), this, SLOT(refreshDevList()));
connect(_ui->btnApplyPreprocessor, SIGNAL(toggled(bool)), this, SLOT(applyPreprocessors(bool)));
}
void PrefPortaudio::applyPreprocessors(bool state)
{
QStringList cmds;
if (!state)
{
cmds.append("stop");
}
else
{
if (_ui->checkAECRead->isChecked()) cmds.append(QString("recho_cancel=%1").arg(_ui->spinAECTail->value()));
if (_ui->checkAECWrite->isChecked()) cmds.append(QString("wecho_cancel=%1").arg(_ui->spinAECTail->value()));
if (_ui->checkESRead->isChecked()) cmds.append(QString("recho_suppress=%1").arg(_ui->spinESDb->value()));
if (_ui->checkESWrite->isChecked()) cmds.append(QString("wecho_suppress=%1").arg(_ui->spinESDb->value()));
if (_ui->checkNSRead->isChecked()) cmds.append(QString("rnoise_suppress=%1").arg(_ui->spinNSDb->value()));
if (_ui->checkNSWrite->isChecked()) cmds.append(QString("wnoise_suppress=%1").arg(_ui->spinNSDb->value()));
if (_ui->checkAGCRead->isChecked()) cmds.append(QString("ragc=%1").arg(_ui->spinAGC->value()));
if (_ui->checkAGCWrite->isChecked()) cmds.append(QString("wagc=%1").arg(_ui->spinAGC->value()));
}
emit preprocessorsApplied(cmds);
} }
void PrefPortaudio::ringdevTest() void PrefPortaudio::ringdevTest()
......
...@@ -24,6 +24,11 @@ private slots: ...@@ -24,6 +24,11 @@ private slots:
void ringdevTest(); void ringdevTest();
void loopTest(); void loopTest();
void refreshDevList(); void refreshDevList();
void applyPreprocessors(bool);
signals:
void preprocessorsApplied(QStringList);
private: private:
void getPaDevlist(void); void getPaDevlist(void);
QSettings *_settings; QSettings *_settings;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论