swift
afvclientbridge.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SAMPLES_AFVCLIENTBRIDGE_H
7 #define SAMPLES_AFVCLIENTBRIDGE_H
8 
9 #include <QObject>
10 
12 
14 class CAfvClientBridge : public QObject
15 {
16  Q_OBJECT
17 
20  Q_PROPERTY(double inputVolumePeakVU READ getInputVolumePeakVU NOTIFY inputVolumePeakVU)
21  Q_PROPERTY(double outputVolumePeakVU READ getOutputVolumePeakVU NOTIFY outputVolumePeakVU)
27 
28 public:
30  CAfvClientBridge(swift::core::afv::clients::CAfvClient *afvClient, QObject *parent = nullptr);
31 
34  double getInputVolumePeakVU() const { return m_afvClient->getInputVolumePeakVU(); }
35  double getOutputVolumePeakVU() const { return m_afvClient->getOutputVolumePeakVU(); }
37 
40  {
41  return m_afvClient->getConnectionStatus();
42  }
43 
46  QString getReceivingCallsignsCom1() { return m_afvClient->getReceivingCallsignsStringCom1(); }
47  QString getReceivingCallsignsCom2() { return m_afvClient->getReceivingCallsignsStringCom2(); }
49 
51  Q_INVOKABLE void connectTo(const QString &cid, const QString &password, const QString &callsign)
52  {
53  const QString client = "swift " % swift::config::CBuildConfig::getShortVersionString();
54  m_afvClient->connectTo(cid, password, callsign, client);
55  }
56 
58  Q_INVOKABLE void disconnectFrom() { m_afvClient->disconnectFrom(); }
59 
62  Q_INVOKABLE QStringList availableInputDevices() const { return m_afvClient->availableInputDevices(); }
63  Q_INVOKABLE QStringList availableOutputDevices() const { return m_afvClient->availableOutputDevices(); }
65 
67  Q_INVOKABLE void setBypassEffects(bool value) { m_afvClient->setBypassEffects(value); }
68 
70  Q_INVOKABLE void startAudio(const QString &inputDeviceName, const QString &outputDeviceName)
71  {
72  m_afvClient->startAudio(inputDeviceName, outputDeviceName);
73  }
74 
76  Q_INVOKABLE void enableTransceiver(quint16 id, bool enable) { m_afvClient->enableTransceiver(id, enable); }
77 
79  Q_INVOKABLE void updateComFrequency(quint16 id, quint32 frequencyHz)
80  {
81  m_afvClient->updateComFrequency(id, frequencyHz);
82  }
83 
85  Q_INVOKABLE void updatePosition(double latitudeDeg, double longitudeDeg, double heightMeters)
86  {
87  m_afvClient->updatePosition(latitudeDeg, longitudeDeg, heightMeters);
88  }
89 
91  Q_INVOKABLE void setPtt(bool active) { m_afvClient->setPtt(active); }
92 
95  Q_INVOKABLE void setLoopBack(bool on) { m_afvClient->setLoopBack(on); }
96  Q_INVOKABLE bool isLoopback() const { return m_afvClient->isLoopback(); }
98 
100  Q_INVOKABLE void setInputVolumeDb(double valueDb) { m_afvClient->setInputVolumeDb(valueDb); }
101 
103  Q_INVOKABLE void setNormalizedMasterOutputVolume(double valueDb)
104  {
105  m_afvClient->setNormalizedMasterOutputVolume(valueDb);
106  }
107 
108 signals:
112 
115 
118 
120  void ptt(bool active, const swift::misc::CIdentifier &identifier);
121 
124  void inputVolumePeakVU(double value);
125  void outputVolumePeakVU(double value);
127 
128 private:
129  swift::core::afv::clients::CAfvClient *m_afvClient = nullptr;
130 };
131 
132 #endif // SAMPLES_AFVCLIENTBRIDGE_H
Bridge, running in main thread -> voice client in own thread.
Q_INVOKABLE QStringList availableOutputDevices() const
Audio devices.
void receivingCallsignsChanged(const swift::core::afv::audio::TransceiverReceivingCallsignsChangedArgs &args)
Receiving callsigns have been changed.
void inputVolumePeakVU(double value)
VU levels.
Q_INVOKABLE void setNormalizedMasterOutputVolume(double valueDb)
Normalized volumes 0..100.
double getOutputVolumePeakVU() const
VU values, 0..1.
Q_INVOKABLE void updatePosition(double latitudeDeg, double longitudeDeg, double heightMeters)
Update own aircraft position.
Q_INVOKABLE void connectTo(const QString &cid, const QString &password, const QString &callsign)
Connect to network.
double inputVolumePeakVU
Bridge properties.
void updatedFromOwnAircraftCockpit()
Client updated from own aicraft data.
swift::core::afv::clients::CAfvClient::ConnectionStatus getConnectionStatus() const
Connection status.
Q_INVOKABLE void setInputVolumeDb(double valueDb)
Input volume in dB, [MinDbIn, MaxDbIn]dB.
QString getReceivingCallsignsCom1()
Callsigns currently received.
Q_INVOKABLE void startAudio(const QString &inputDeviceName, const QString &outputDeviceName)
Start/stop client.
Q_INVOKABLE bool isLoopback() const
Loopback.
void outputVolumePeakVU(double value)
VU levels.
void connectionStatusChanged(swift::core::afv::clients::CAfvClient::ConnectionStatus status)
Connection status has been changed.
Q_INVOKABLE void setBypassEffects(bool value)
Enable/disable VHF simulation, true means effects are NOT used.
swift::core::afv::clients::CAfvClient::ConnectionStatus connectionStatus
Bridge properties.
QString receivingCallsignsCom1
Bridge properties.
Q_INVOKABLE void setLoopBack(bool on)
Loopback.
Q_INVOKABLE void setPtt(bool active)
Push to talk.
double outputVolumePeakVU
Bridge properties.
Q_INVOKABLE QStringList availableInputDevices() const
Audio devices.
Q_INVOKABLE void enableTransceiver(quint16 id, bool enable)
Enable COM unit/transceiver.
double getInputVolumePeakVU() const
VU values, 0..1.
Q_INVOKABLE void updateComFrequency(quint16 id, quint32 frequencyHz)
Update frequency.
Q_INVOKABLE void disconnectFrom()
Disconnect from network.
QString getReceivingCallsignsCom2()
Callsigns currently received.
QString receivingCallsignsCom2
Bridge properties.
CAfvClientBridge(swift::core::afv::clients::CAfvClient *afvClient, QObject *parent=nullptr)
Ctor.
void ptt(bool active, const swift::misc::CIdentifier &identifier)
PTT status in this particular AFV client.
static const QString & getShortVersionString()
Version as QVersionNumber.
void startAudio()
Start/stop client.
Definition: afvclient.cpp:264
Q_INVOKABLE QStringList availableOutputDevices() const
Audio devices.
Definition: afvclient.cpp:240
ConnectionStatus
Connection status.
Definition: afvclient.h:53
Q_INVOKABLE void updateComFrequency(quint16 id, quint32 frequencyHz)
Update frequency.
Definition: afvclient.cpp:482
Q_INVOKABLE bool isLoopback() const
Loopback.
Definition: afvclient.h:221
Q_INVOKABLE void setPtt(bool active)
Push to talk.
Definition: afvclient.cpp:675
Q_INVOKABLE QStringList availableInputDevices() const
Audio devices.
Definition: afvclient.cpp:235
double getInputVolumePeakVU() const
VU values, 0..1.
Definition: afvclient.cpp:862
bool setNormalizedMasterOutputVolume(int volume)
Normalized volumes 0..100.
Definition: afvclient.cpp:805
Q_INVOKABLE void updatePosition(double latitudeDeg, double longitudeDeg, double heightMeters)
Update own aircraft position.
Definition: afvclient.cpp:521
Q_INVOKABLE bool setInputVolumeDb(double valueDb)
Input volume in dB, [MinDbIn, MaxDbIn]dB.
Definition: afvclient.cpp:719
Q_INVOKABLE void setBypassEffects(bool value)
Enable/disable VHF simulation, true means effects are NOT used.
Definition: afvclient.cpp:245
Q_INVOKABLE void connectTo(const QString &cid, const QString &password, const QString &callsign, const QString &client)
Connect to network.
Definition: afvclient.cpp:138
ConnectionStatus getConnectionStatus() const
Connection status.
Definition: afvclient.cpp:1542
void disconnectFrom(bool stop)
Disconnect from network.
Definition: afvclient.cpp:207
Q_INVOKABLE void setLoopBack(bool on)
Loopback.
Definition: afvclient.h:220
Q_INVOKABLE void enableTransceiver(quint16 id, bool enable)
Enable COM unit/transceiver.
Definition: afvclient.cpp:447
double getOutputVolumePeakVU() const
VU values, 0..1.
Definition: afvclient.cpp:868
QString getReceivingCallsignsStringCom1() const
Callsigns currently received.
Definition: afvclient.cpp:965
QString getReceivingCallsignsStringCom2() const
Callsigns currently received.
Definition: afvclient.cpp:972
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition: identifier.h:29