1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

Add instant replay

This commit is contained in:
srcejon
2023-11-22 14:28:35 +00:00
parent cbab429395
commit 7cc9cd1bf1
41 changed files with 2270 additions and 460 deletions
+47
View File
@@ -15,6 +15,9 @@
// You should have received a copy of the GNU General Public License //
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
///////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include "gui/pluginpresetsdialog.h"
#include "gui/dialogpositioner.h"
#include "device/deviceapi.h"
@@ -35,6 +38,8 @@ BasicDeviceSettingsDialog::BasicDeviceSettingsDialog(QWidget *parent) :
setReverseAPIAddress("127.0.0.1");
setReverseAPIPort(8888);
setReverseAPIDeviceIndex(0);
setReplayBytesPerSecond(0);
setReplayStep(5.0f);
}
BasicDeviceSettingsDialog::~BasicDeviceSettingsDialog()
@@ -42,6 +47,48 @@ BasicDeviceSettingsDialog::~BasicDeviceSettingsDialog()
delete ui;
}
void BasicDeviceSettingsDialog::setReplayBytesPerSecond(int bytesPerSecond)
{
bool enabled = bytesPerSecond > 0;
ui->replayLengthLabel->setEnabled(enabled);
ui->replayLength->setEnabled(enabled);
ui->replayLengthUnits->setEnabled(enabled);
ui->replayLengthSize->setEnabled(enabled);
ui->replayStepLabel->setEnabled(enabled);
ui->replayStep->setEnabled(enabled);
ui->replayStepUnits->setEnabled(enabled);
m_replayBytesPerSecond = bytesPerSecond;
}
void BasicDeviceSettingsDialog::setReplayLength(float replayLength)
{
m_replayLength = replayLength;
ui->replayLength->setValue(replayLength);
}
void BasicDeviceSettingsDialog::on_replayLength_valueChanged(double value)
{
m_replayLength = (float)value;
float size = m_replayLength * m_replayBytesPerSecond;
if (size < 1e6) {
ui->replayLengthSize->setText("(<1MB)");
} else {
ui->replayLengthSize->setText(QString("(%1MB)").arg(std::ceil(size/1e6)));
}
}
void BasicDeviceSettingsDialog::setReplayStep(float replayStep)
{
m_replayStep = replayStep;
ui->replayStep->setValue(replayStep);
}
void BasicDeviceSettingsDialog::on_replayStep_valueChanged(double value)
{
m_replayStep = value;
}
void BasicDeviceSettingsDialog::setUseReverseAPI(bool useReverseAPI)
{
m_useReverseAPI = useReverseAPI;