diff --git a/Configuration.ui b/Configuration.ui
index 10676b462..2caba429f 100644
--- a/Configuration.ui
+++ b/Configuration.ui
@@ -2308,10 +2308,10 @@ Right click for insert and delete options.
1
- 0.200000000000000
+ 0.000000000000000
- 0.500000000000000
+ 2.000000000000000
0.100000000000000
@@ -2616,12 +2616,12 @@ soundcard changes
+
+
-
+
-
-
diff --git a/mainwindow.cpp b/mainwindow.cpp
index bdc2230fc..4c8c28c74 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -345,6 +345,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
m_bandEdited {false},
m_splitMode {false},
m_monitoring {false},
+ m_tx_when_ready {false},
m_transmitting {false},
m_tune {false},
m_tx_watchdog {false},
@@ -2941,7 +2942,7 @@ void MainWindow::guiUpdate()
setXIT (ui->TxFreqSpinBox->value ());
Q_EMIT m_config.transceiver_ptt (true); //Assert the PTT
- ptt1Timer.start(int(1000.0*m_config.txDelay())); //Start-of-transmission sequencer delay
+ m_tx_when_ready = true;
}
if(!m_bTxTime and !m_tune) m_btxok=false; //Time to stop transmitting
}
@@ -5289,6 +5290,15 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const&
// qDebug () << "MainWindow::handle_transceiver_update:" << s;
Transceiver::TransceiverState old_state {m_rigState};
//transmitDisplay (s.ptt ());
+ if (s.ptt () && !m_rigState.ptt ()) // safe to start audio
+ // (caveat - DX Lab Suite Commander)
+ {
+ if (m_tx_when_ready && g_iptt) // waiting to Tx and still needed
+ {
+ ptt1Timer.start(1000 * m_config.txDelay ()); //Start-of-transmission sequencer delay
+ }
+ m_tx_when_ready = false;
+ }
m_rigState = s;
if (old_state.online () == false && s.online () == true)
{
diff --git a/mainwindow.h b/mainwindow.h
index dbefab216..8eec6aed3 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -526,6 +526,7 @@ private:
bool m_bandEdited;
bool m_splitMode;
bool m_monitoring;
+ bool m_tx_when_ready;
bool m_transmitting;
bool m_tune;
bool m_tx_watchdog; // true when watchdog triggered