mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-13 07:35:41 +08:00
Added CAudioDevice and cleaning up IVoice
refs #36 - Added a common class CAudioDevice encapsulating each audio device - One subclass for input and output devices - Changed IVoice interface slightly to better fit into the event flow refs #81
This commit is contained in:
committed by
Mathew Sutcliffe
parent
fcebc44b02
commit
158de31c0b
@@ -13,6 +13,7 @@
|
||||
#include "../blackmisc/context.h"
|
||||
#include "../blackmisc/avcallsign.h"
|
||||
#include "../blackmisc/vvoiceroom.h"
|
||||
#include "../blackmisc/vaudiodevice.h"
|
||||
|
||||
#include <vatlib/vatlib.h>
|
||||
|
||||
@@ -25,11 +26,9 @@ namespace BlackCore
|
||||
|
||||
/* TODOS:
|
||||
* - Find a replacement for comUnit. Maybe map it to the ComUnit in the aircraft as a class
|
||||
* - Object: class encapsulating a hardware device (vatlib uses integer index, which is necessarily persistent)
|
||||
* - Settings: Settings classes to store hardware settings (squelch, background noise, hardware device)
|
||||
*/
|
||||
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
protected:
|
||||
@@ -54,13 +53,23 @@ namespace BlackCore
|
||||
virtual bool isReceiving(const uint32_t comUnit) = 0;
|
||||
virtual bool isConnected(const uint32_t comUnit) = 0;
|
||||
|
||||
virtual void getUserList(const uint32_t comUnit) = 0;
|
||||
virtual void getInputDevices(const uint32_t comUnit) = 0;
|
||||
virtual void getOutputDevices(const uint32_t comUnit) = 0;
|
||||
|
||||
// The following methods should be called everytime you receive a update signal.
|
||||
// Reason:
|
||||
// We cannot say when the device and user lists are completed. Instead information is cached internally
|
||||
// and signals emitted in case of a change. This way other objects can listen to this signals and call the getter
|
||||
// again.
|
||||
virtual void roomUserList(const uint32_t comUnit) = 0;
|
||||
virtual void audioInputDevices(const uint32_t comUnit) = 0;
|
||||
virtual void audioOutputDevices(const uint32_t comUnit) = 0;
|
||||
|
||||
virtual void setInputDevice(const uint32_t comUnit, BlackMisc::Voice::CInputAudioDevice &device) = 0;
|
||||
virtual void setOutputDevice(const uint32_t comUnit, BlackMisc::Voice::COutputAudioDevice &device) = 0;
|
||||
|
||||
virtual const BlackMisc::Voice::CVoiceRoom &voiceRoom (const uint32_t comUnit) = 0;
|
||||
|
||||
signals:
|
||||
// Signals regarding the voice server connection
|
||||
void notConnected(const uint32_t comUnit);
|
||||
void connecting(const uint32_t comUnit);
|
||||
void connected(const uint32_t comUnit);
|
||||
@@ -68,16 +77,15 @@ namespace BlackCore
|
||||
void kicked(const uint32_t comUnit);
|
||||
void disconnecting(const uint32_t comUnit);
|
||||
void disconnected(const uint32_t comUnit);
|
||||
|
||||
// Signals about users joining and leaving
|
||||
void userJoined(const uint32_t comUnit, const BlackMisc::Aviation::CCallsign &callsign);
|
||||
void userLeft(const uint32_t comUnit, const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
// Audio signals
|
||||
void audioStarted(const uint32_t comUnit);
|
||||
void audioStopped(const uint32_t comUnit);
|
||||
|
||||
void userList(const uint32_t comIndex);
|
||||
|
||||
void outputDeviceList();
|
||||
void inputDeviceList();
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
@@ -19,12 +19,12 @@ namespace BlackCore
|
||||
m_callsign = callsign;
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::joinVoiceServer(const uint32_t comIndex, const QString &serverSpec)
|
||||
void CVoiceClientVatlib::joinVoiceRoom(const uint32_t comUnit, const BlackMisc::Voice::CVoiceRoom &voiceRoom)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::leaveVoiceServer(const uint32_t comIndex)
|
||||
void CVoiceClientVatlib::leaveVoiceRoom(const uint32_t comUnit)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -54,17 +54,32 @@ namespace BlackCore
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::getUserList(const uint32_t comIndex)
|
||||
void CVoiceClientVatlib::roomUserList(const uint32_t comIndex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::getInputDevices(const uint32_t comIndex)
|
||||
void CVoiceClientVatlib::audioInputDevices(const uint32_t comIndex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::getOutputDevices(const uint32_t comIndex)
|
||||
void CVoiceClientVatlib::audioOutputDevices(const uint32_t comIndex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::setInputDevice(const uint32_t comUnit, BlackMisc::Voice::CInputAudioDevice &device)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CVoiceClientVatlib::setOutputDevice(const uint32_t comUnit, BlackMisc::Voice::COutputAudioDevice &device)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
const BlackMisc::Voice::CVoiceRoom &CVoiceClientVatlib::voiceRoom(const uint32_t comUnit)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -23,17 +23,22 @@ namespace BlackCore
|
||||
virtual ~CVoiceClientVatlib();
|
||||
|
||||
virtual void setCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void joinVoiceServer(const uint32_t comUnit, const QString &serverSpec);
|
||||
virtual void leaveVoiceServer(const uint32_t comUnit) = 0;
|
||||
virtual void joinVoiceRoom(const uint32_t comUnit, const BlackMisc::Voice::CVoiceRoom &voiceRoom);
|
||||
virtual void leaveVoiceRoom(const uint32_t comUnit);
|
||||
virtual void setVolume(const uint32_t comUnit, const uint32_t volumne);
|
||||
virtual void startTransmitting(const uint32_t comUnit);
|
||||
virtual void stopTransmitting(const uint32_t comUnit);
|
||||
virtual bool isReceiving(const uint32_t comUnit);
|
||||
virtual bool isConnected(const uint32_t comUnit);
|
||||
|
||||
virtual void getUserList(const uint32_t comUnit);
|
||||
virtual void getInputDevices(const uint32_t comUnit);
|
||||
virtual void getOutputDevices(const uint32_t comUnit);
|
||||
virtual void roomUserList(const uint32_t comUnit);
|
||||
virtual void audioInputDevices(const uint32_t comUnit);
|
||||
virtual void audioOutputDevices(const uint32_t comUnit);
|
||||
|
||||
virtual void setInputDevice(const uint32_t comUnit, BlackMisc::Voice::CInputAudioDevice &device);
|
||||
virtual void setOutputDevice(const uint32_t comUnit, BlackMisc::Voice::COutputAudioDevice &device);
|
||||
|
||||
virtual const BlackMisc::Voice::CVoiceRoom &voiceRoom (const uint32_t comUnit);
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user