diff --git a/fscomm/fshost.cpp b/fscomm/fshost.cpp index 9cd0bd3796..6ddca28547 100644 --- a/fscomm/fshost.cpp +++ b/fscomm/fshost.cpp @@ -59,6 +59,8 @@ void FSHost::run(void) if (!conf_dir.exists(".fscomm")) { conf_dir.mkpath(".fscomm/conf/accounts"); + conf_dir.mkpath(".fscomm/sounds"); + QFile::copy(":/sounds/test.wav", QString("%1/.fscomm/sounds/test.wav").arg(QDir::homePath())); conf_dir.mkpath(".fscomm/templates"); QFile rootXML(":/confs/freeswitch.xml"); QString dest = QString("%1/.fscomm/conf/freeswitch.xml").arg(conf_dir.absolutePath()); diff --git a/fscomm/prefdialog.ui b/fscomm/prefdialog.ui index 1f228692c0..63d83ea4c2 100644 --- a/fscomm/prefdialog.ui +++ b/fscomm/prefdialog.ui @@ -234,7 +234,7 @@ - false + true diff --git a/fscomm/prefportaudio.cpp b/fscomm/prefportaudio.cpp index ecd1c603b9..16cc01ef23 100644 --- a/fscomm/prefportaudio.cpp +++ b/fscomm/prefportaudio.cpp @@ -11,6 +11,17 @@ PrefPortaudio::PrefPortaudio(Ui::PrefDialog *ui, QObject *parent) : connect(_ui->PaHoldFileBtn, SIGNAL(clicked()), this, SLOT(holdFileChoose())); connect(_ui->PaOutdevCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(outdevChangeDev(int))); connect(_ui->PaRingdevCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(ringdevChangeDev(int))); + connect(_ui->PaRingdevTestBtn, SIGNAL(clicked()), this, SLOT(ringdevTest())); +} + +void PrefPortaudio::ringdevTest() +{ + QString result; + if (g_FSHost.sendCmd("pa", QString("play %1/.fscomm/sounds/test.wav").arg(QDir::homePath()).toAscii().constData(), &result) != SWITCH_STATUS_SUCCESS) + { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error testing ringdev on mod_portaudio! %s\n", + result.toAscii().constData()); + } } void PrefPortaudio::ringdevChangeDev(int dev) diff --git a/fscomm/prefportaudio.h b/fscomm/prefportaudio.h index d427121629..9308e8b5dd 100644 --- a/fscomm/prefportaudio.h +++ b/fscomm/prefportaudio.h @@ -20,6 +20,7 @@ private slots: void holdFileChoose(); void outdevChangeDev(int); void ringdevChangeDev(int); + void ringdevTest(); private: void getPaDevlist(void); diff --git a/fscomm/resources.qrc b/fscomm/resources.qrc index 8c6ac288ed..2ee05d4693 100644 --- a/fscomm/resources.qrc +++ b/fscomm/resources.qrc @@ -11,4 +11,7 @@ conf/event_socket.conf.xml conf/portaudio.conf.xml + + resources/test.wav + diff --git a/fscomm/resources/test.wav b/fscomm/resources/test.wav new file mode 100644 index 0000000000..46daf5a872 Binary files /dev/null and b/fscomm/resources/test.wav differ