Added commands to voice sample. Test successfull refs #36 - Added commands to list input and output devices - Fixed some compiler errors on win - Voice confirmed working on windows and linux

Signed-off-by: Roland Winklmeier <roland.m.winklmeier@gmail.com>

refs #81
This commit is contained in:
Roland Winklmeier
2013-12-02 00:09:50 +01:00
committed by Mathew Sutcliffe
parent 45b9f60444
commit 0bae898db8
5 changed files with 44 additions and 18 deletions

View File

@@ -13,19 +13,19 @@ Client::Client(QObject *parent) :
connect(m_voiceClient, &IVoiceClient::squelchTestFinished, this, &Client::onSquelchTestFinished); connect(m_voiceClient, &IVoiceClient::squelchTestFinished, this, &Client::onSquelchTestFinished);
connect(m_voiceClient, &IVoiceClient::micTestFinished, this, &Client::onMicTestFinished); connect(m_voiceClient, &IVoiceClient::micTestFinished, this, &Client::onMicTestFinished);
connect(m_voiceClient, &IVoiceClient::connected, this, &Client::connectionStatusConnected); connect(m_voiceClient, &IVoiceClient::connected, this, &Client::connectionStatusConnected);
connect(m_voiceClient, &IVoiceClient::disconnected, this, &Client::connectionStatusDisconnected);
using namespace std::placeholders; using namespace std::placeholders;
m_commands["help"] = std::bind(&Client::help, this, _1); m_commands["help"] = std::bind(&Client::help, this, _1);
m_commands["echo"] = std::bind(&Client::echo, this, _1); m_commands["echo"] = std::bind(&Client::echo, this, _1);
m_commands["exit"] = std::bind(&Client::exit, this, _1); m_commands["exit"] = std::bind(&Client::exit, this, _1);
m_commands["squelchtest"] = std::bind(&Client::runSquelchTest, this, _1); m_commands["squelchtest"] = std::bind(&Client::squelchTestCmd, this, _1);
m_commands["mictest"] = std::bind(&Client::runMicTest, this, _1); m_commands["mictest"] = std::bind(&Client::micTestCmd, this, _1);
m_commands["setcallsign"] = std::bind(&Client::setCallsignCmd, this, _1); m_commands["setcallsign"] = std::bind(&Client::setCallsignCmd, this, _1);
m_commands["initconnect"] = std::bind(&Client::initiateConnectionCmd, this, _1); m_commands["initconnect"] = std::bind(&Client::initiateConnectionCmd, this, _1);
m_commands["termconnect"] = std::bind(&Client::terminateConnectionCmd, this, _1); m_commands["termconnect"] = std::bind(&Client::terminateConnectionCmd, this, _1);
m_commands["inputdevices"] = std::bind(&Client::inputDevicesCmd, this, _1);
m_commands["outputdevices"] = std::bind(&Client::outputDevicesCmd, this, _1);
} }
@@ -80,14 +80,14 @@ void Client::exit(QTextStream &)
emit quit(); emit quit();
} }
void Client::runSquelchTest(QTextStream &args) void Client::squelchTestCmd(QTextStream &args)
{ {
std::cout << "Running squelch test. Please be quiet for 5 seconds..." << std::endl; std::cout << "Running squelch test. Please be quiet for 5 seconds..." << std::endl;
printLinePrefix(); printLinePrefix();
m_voiceClient->runSquelchTest(); m_voiceClient->runSquelchTest();
} }
void Client::runMicTest(QTextStream &args) void Client::micTestCmd(QTextStream &args)
{ {
std::cout << "Running mic test. Speak normally for 5 seconds..." << std::endl; std::cout << "Running mic test. Speak normally for 5 seconds..." << std::endl;
printLinePrefix(); printLinePrefix();
@@ -118,6 +118,26 @@ void Client::terminateConnectionCmd(QTextStream &args)
printLinePrefix(); printLinePrefix();
} }
void Client::inputDevicesCmd(QTextStream &args)
{
QList<BlackMisc::Voice::CInputAudioDevice> devices = m_voiceClient->audioInputDevices();
foreach (BlackMisc::Voice::CInputAudioDevice device, devices)
{
std::cout << device.name().toStdString() << std::endl;
}
printLinePrefix();
}
void Client::outputDevicesCmd(QTextStream &args)
{
QList<BlackMisc::Voice::COutputAudioDevice> devices = m_voiceClient->audioOutputDevices();
foreach (BlackMisc::Voice::COutputAudioDevice device, devices)
{
std::cout << " " << device.name().toStdString() << std::endl;
}
printLinePrefix();
}
void Client::onSquelchTestFinished() void Client::onSquelchTestFinished()
{ {
std::cout << "Input squelch: " << m_voiceClient->inputSquelch() << std::endl; std::cout << "Input squelch: " << m_voiceClient->inputSquelch() << std::endl;

View File

@@ -9,6 +9,7 @@
#include "blackcore/voiceclient.h" #include "blackcore/voiceclient.h"
#include <QObject> #include <QObject>
#include <functional>
#include <QMap> #include <QMap>
class Client : public QObject class Client : public QObject
@@ -27,11 +28,13 @@ private: //commands
void help(QTextStream &args); void help(QTextStream &args);
void echo(QTextStream &args); void echo(QTextStream &args);
void exit(QTextStream &args); void exit(QTextStream &args);
void runSquelchTest(QTextStream &args); void squelchTestCmd(QTextStream &args);
void runMicTest(QTextStream &args); void micTestCmd(QTextStream &args);
void setCallsignCmd(QTextStream &args); void setCallsignCmd(QTextStream &args);
void initiateConnectionCmd(QTextStream &args); void initiateConnectionCmd(QTextStream &args);
void terminateConnectionCmd(QTextStream &args); void terminateConnectionCmd(QTextStream &args);
void inputDevicesCmd(QTextStream &args);
void outputDevicesCmd(QTextStream &args);
void printLinePrefix(); void printLinePrefix();

View File

@@ -13,9 +13,7 @@ DEPENDPATH += . ../../src
INCLUDEPATH += . ../../src INCLUDEPATH += . ../../src
SOURCES += *.cpp SOURCES += *.cpp
HEADERS += *.h \ HEADERS += *.h
client.h \
reader.h
LIBS += -L../../lib -lblackcore -lblackmisc LIBS += -L../../lib -lblackcore -lblackmisc
LIBS += -lvatlib LIBS += -lvatlib

View File

@@ -12,7 +12,7 @@ namespace BlackCore
{ {
CVoiceClientVatlib::CVoiceClientVatlib(QObject *parent) : CVoiceClientVatlib::CVoiceClientVatlib(QObject *parent) :
IVoiceClient(parent), IVoiceClient(parent),
m_voice(Create_Cvatlib_Voice_Simple()), m_voice(Cvatlib_Voice_Simple::Create()),
m_inputSquelch(-1), m_inputSquelch(-1),
m_queryUserRoomIndex(-1) m_queryUserRoomIndex(-1)
{ {
@@ -139,7 +139,7 @@ namespace BlackCore
try try
{ {
Q_ASSERT_X (m_voice->IsValid() && m_voice->IsSetup(), "CVoiceClientVatlib", "Cvatlib_Voice_Simple invalid or not setup!"); Q_ASSERT_X (m_voice->IsValid() && m_voice->IsSetup(), "CVoiceClientVatlib", "Cvatlib_Voice_Simple invalid or not setup!");
m_voice->IsRoomConnected(comUnit); return m_voice->IsRoomConnected(comUnit);
} }
catch (...) { this->exceptionDispatcher(Q_FUNC_INFO); } catch (...) { this->exceptionDispatcher(Q_FUNC_INFO); }
} }
@@ -259,7 +259,7 @@ namespace BlackCore
const BlackMisc::Voice::CVoiceRoom &CVoiceClientVatlib::voiceRoom(const uint32_t comUnit) const BlackMisc::Voice::CVoiceRoom &CVoiceClientVatlib::voiceRoom(const uint32_t comUnit)
{ {
return BlackMisc::Voice::CVoiceRoom();
} }
void CVoiceClientVatlib::timerEvent(QTimerEvent *) void CVoiceClientVatlib::timerEvent(QTimerEvent *)

View File

@@ -3,6 +3,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef BLACKMISC_AUDIODEVICE_H
#define BLACKMISC_AUDIODEVICE_H
/*! /*!
\file \file
*/ */
@@ -11,8 +14,10 @@
#include <QString> #include <QString>
#ifndef BLACKMISC_AUDIODEVICE_H #ifdef Q_OS_WIN
#define BLACKMISC_AUDIODEVICE_H typedef short int16_t;
#endif
namespace BlackMisc namespace BlackMisc
{ {
@@ -30,7 +35,7 @@ namespace BlackMisc
/*! /*!
* Default constructor. * Default constructor.
*/ */
CAudioDevice() : m_deviceIndex(-1), m_deviceName("") {} CAudioDevice() : m_deviceIndex(0), m_deviceName("") {}
/*! /*!