diff --git a/fcdlib/fcdtraits.cpp b/fcdlib/fcdtraits.cpp index 01fd745eb..9c5ea4af1 100644 --- a/fcdlib/fcdtraits.cpp +++ b/fcdlib/fcdtraits.cpp @@ -22,8 +22,8 @@ const char *fcd_traits::displayedName = "FunCube Dongle Pro+"; const char *fcd_traits::pluginDisplayedName = "FunCube Pro Input"; const char *fcd_traits::pluginDisplayedName = "FunCube Pro+ Input"; -const char *fcd_traits::pluginVersion = "3.14.5"; -const char *fcd_traits::pluginVersion = "3.14.5"; +const char *fcd_traits::pluginVersion = "3.14.6"; +const char *fcd_traits::pluginVersion = "3.14.6"; const int64_t fcd_traits::loLowLimitFreq = 64000000L; const int64_t fcd_traits::loLowLimitFreq = 150000L; diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index 2266b09f8..9fd0381c1 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -303,9 +303,18 @@ bool AirspyInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "AirspyInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/airspy/airspyplugin.cpp b/plugins/samplesource/airspy/airspyplugin.cpp index 6d1ee85f7..439cf73c8 100644 --- a/plugins/samplesource/airspy/airspyplugin.cpp +++ b/plugins/samplesource/airspy/airspyplugin.cpp @@ -29,7 +29,7 @@ const int AirspyPlugin::m_maxDevices = 32; const PluginDescriptor AirspyPlugin::m_pluginDescriptor = { QString("Airspy Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/airspy/airspysettings.cpp b/plugins/samplesource/airspy/airspysettings.cpp index ef8dbb1a0..d1c7d786b 100644 --- a/plugins/samplesource/airspy/airspysettings.cpp +++ b/plugins/samplesource/airspy/airspysettings.cpp @@ -40,6 +40,7 @@ void AirspySettings::resetToDefaults() m_iqCorrection = false; m_transverterMode = false; m_transverterDeltaFrequency = 0; + m_fileRecordName = ""; } QByteArray AirspySettings::serialize() const diff --git a/plugins/samplesource/airspy/airspysettings.h b/plugins/samplesource/airspy/airspysettings.h index 4e42fe061..b8daf0ea0 100644 --- a/plugins/samplesource/airspy/airspysettings.h +++ b/plugins/samplesource/airspy/airspysettings.h @@ -17,6 +17,8 @@ #ifndef _AIRSPY_AIRSPYSETTINGS_H_ #define _AIRSPY_AIRSPYSETTINGS_H_ +#include + struct AirspySettings { typedef enum { FC_POS_INFRA = 0, @@ -39,6 +41,7 @@ struct AirspySettings { bool m_iqCorrection; bool m_transverterMode; qint64 m_transverterDeltaFrequency; + QString m_fileRecordName; AirspySettings(); void resetToDefaults(); diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index c817050d5..0fb3b3fdc 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -320,9 +320,18 @@ bool AirspyHFInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "AirspyHFInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/airspyhf/airspyhfplugin.cpp b/plugins/samplesource/airspyhf/airspyhfplugin.cpp index 2bdd3c46e..8612607ac 100644 --- a/plugins/samplesource/airspyhf/airspyhfplugin.cpp +++ b/plugins/samplesource/airspyhf/airspyhfplugin.cpp @@ -30,7 +30,7 @@ const PluginDescriptor AirspyHFPlugin::m_pluginDescriptor = { QString("AirspyHF Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.cpp b/plugins/samplesource/airspyhf/airspyhfsettings.cpp index 46818093f..a0971776c 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.cpp +++ b/plugins/samplesource/airspyhf/airspyhfsettings.cpp @@ -33,6 +33,7 @@ void AirspyHFSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_bandIndex = 0; + m_fileRecordName = ""; } QByteArray AirspyHFSettings::serialize() const diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.h b/plugins/samplesource/airspyhf/airspyhfsettings.h index b806b59eb..937355d96 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.h +++ b/plugins/samplesource/airspyhf/airspyhfsettings.h @@ -17,6 +17,8 @@ #ifndef _AIRSPYHFF_AIRSPYHFSETTINGS_H_ #define _AIRSPYHFF_AIRSPYHFSETTINGS_H_ +#include + struct AirspyHFSettings { quint64 m_centerFrequency; @@ -26,6 +28,7 @@ struct AirspyHFSettings bool m_transverterMode; qint64 m_transverterDeltaFrequency; quint32 m_bandIndex; + QString m_fileRecordName; AirspyHFSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/bladerfinput/bladerfinput.cpp b/plugins/samplesource/bladerfinput/bladerfinput.cpp index 76f6f8766..68b35b570 100644 --- a/plugins/samplesource/bladerfinput/bladerfinput.cpp +++ b/plugins/samplesource/bladerfinput/bladerfinput.cpp @@ -275,9 +275,18 @@ bool BladerfInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "BladerfInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/bladerfinput/bladerfinputplugin.cpp b/plugins/samplesource/bladerfinput/bladerfinputplugin.cpp index e93a56375..043b7a4b1 100644 --- a/plugins/samplesource/bladerfinput/bladerfinputplugin.cpp +++ b/plugins/samplesource/bladerfinput/bladerfinputplugin.cpp @@ -30,7 +30,7 @@ const PluginDescriptor BlderfInputPlugin::m_pluginDescriptor = { QString("BladeRF Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/bladerfinput/bladerfinputsettings.cpp b/plugins/samplesource/bladerfinput/bladerfinputsettings.cpp index 5976dd6f8..988e18647 100644 --- a/plugins/samplesource/bladerfinput/bladerfinputsettings.cpp +++ b/plugins/samplesource/bladerfinput/bladerfinputsettings.cpp @@ -40,6 +40,7 @@ void BladeRFInputSettings::resetToDefaults() m_xb200Filter = BLADERF_XB200_AUTO_1DB; m_dcBlock = false; m_iqCorrection = false; + m_fileRecordName = ""; } QByteArray BladeRFInputSettings::serialize() const diff --git a/plugins/samplesource/bladerfinput/bladerfinputsettings.h b/plugins/samplesource/bladerfinput/bladerfinputsettings.h index 7d18fa987..c5f64b6aa 100644 --- a/plugins/samplesource/bladerfinput/bladerfinputsettings.h +++ b/plugins/samplesource/bladerfinput/bladerfinputsettings.h @@ -18,6 +18,7 @@ #define _BLADERF_BLADERFINPUTSETTINGS_H_ #include +#include #include struct BladeRFInputSettings { @@ -40,6 +41,7 @@ struct BladeRFInputSettings { bladerf_xb200_filter m_xb200Filter; bool m_dcBlock; bool m_iqCorrection; + QString m_fileRecordName; BladeRFInputSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index e84ec0121..2660f2bfc 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -245,9 +245,18 @@ bool FCDProInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "FCDProInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/fcdpro/fcdprosettings.cpp b/plugins/samplesource/fcdpro/fcdprosettings.cpp index 88f19bc73..65c92133a 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.cpp +++ b/plugins/samplesource/fcdpro/fcdprosettings.cpp @@ -47,6 +47,7 @@ void FCDProSettings::resetToDefaults() m_gain6Index = 0; m_transverterMode = false; m_transverterDeltaFrequency = 0; + m_fileRecordName = ""; } QByteArray FCDProSettings::serialize() const diff --git a/plugins/samplesource/fcdpro/fcdprosettings.h b/plugins/samplesource/fcdpro/fcdprosettings.h index 59f4e3860..f4972717d 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.h +++ b/plugins/samplesource/fcdpro/fcdprosettings.h @@ -17,6 +17,8 @@ #ifndef _FCDPRO_FCDPROSETTINGS_H_ #define _FCDPRO_FCDPROSETTINGS_H_ +#include + struct FCDProSettings { quint64 m_centerFrequency; qint32 m_LOppmTenths; @@ -40,6 +42,7 @@ struct FCDProSettings { bool m_iqCorrection; bool m_transverterMode; qint64 m_transverterDeltaFrequency; + QString m_fileRecordName; FCDProSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index 37d658879..b6dee89dc 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -239,9 +239,18 @@ bool FCDProPlusInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "FCDProPlusInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp index 15b7abcd2..59d10c2d1 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp @@ -38,6 +38,7 @@ void FCDProPlusSettings::resetToDefaults() m_iqImbalance = false; m_transverterMode = false; m_transverterDeltaFrequency = 0; + m_fileRecordName = ""; } QByteArray FCDProPlusSettings::serialize() const diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.h b/plugins/samplesource/fcdproplus/fcdproplussettings.h index b0978fb17..f4fe21c3d 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.h +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.h @@ -17,6 +17,8 @@ #ifndef _FCDPROPLUS_FCDPROPLUSSETTINGS_H_ #define _FCDPROPLUS_FCDPROPLUSSETTINGS_H_ +#include + struct FCDProPlusSettings { quint64 m_centerFrequency; bool m_rangeLow; @@ -31,6 +33,7 @@ struct FCDProPlusSettings { bool m_iqImbalance; bool m_transverterMode; qint64 m_transverterDeltaFrequency; + QString m_fileRecordName; FCDProPlusSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index 2559fabc7..eab536bc7 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -263,7 +263,7 @@ bool HackRFInput::handleMessage(const Message& message) if (m_settings.m_fileRecordName.size() != 0) { m_fileSink->setFileName(m_settings.m_fileRecordName); } else { - m_fileSink->setFileName(QString("rec_%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); } m_fileSink->startRecording(); diff --git a/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp b/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp index dadc4629f..3ac127c62 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor HackRFInputPlugin::m_pluginDescriptor = { QString("HackRF Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 07bf4222c..6bd12e525 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -687,9 +687,18 @@ bool LimeSDRInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "LimeSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp b/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp index 50765becd..38066caf6 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp @@ -33,7 +33,7 @@ const PluginDescriptor LimeSDRInputPlugin::m_pluginDescriptor = { QString("LimeSDR Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp index 34f053d3b..88383e328 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp @@ -45,6 +45,7 @@ void LimeSDRInputSettings::resetToDefaults() m_extClockFreq = 10000000; // 10 MHz m_transverterMode = false; m_transverterDeltaFrequency = 0; + m_fileRecordName = ""; } QByteArray LimeSDRInputSettings::serialize() const diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.h b/plugins/samplesource/limesdrinput/limesdrinputsettings.h index a82638954..9287589a2 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.h +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.h @@ -18,6 +18,7 @@ #define PLUGINS_SAMPLESOURCE_LIMESDRINPUT_LIMESDRINPUTSETTINGS_H_ #include +#include #include /** @@ -64,6 +65,7 @@ struct LimeSDRInputSettings uint32_t m_extClockFreq; //!< Frequency (Hz) of external clock source bool m_transverterMode; qint64 m_transverterDeltaFrequency; + QString m_fileRecordName; LimeSDRInputSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index ad9b7e889..8d8a80452 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -192,9 +192,18 @@ bool PerseusInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "PerseusInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/perseus/perseusplugin.cpp b/plugins/samplesource/perseus/perseusplugin.cpp index 241bd3171..227b875e2 100644 --- a/plugins/samplesource/perseus/perseusplugin.cpp +++ b/plugins/samplesource/perseus/perseusplugin.cpp @@ -27,7 +27,7 @@ const PluginDescriptor PerseusPlugin::m_pluginDescriptor = { QString("Perseus Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/perseus/perseussettings.cpp b/plugins/samplesource/perseus/perseussettings.cpp index 77a57a83f..5ae31d97d 100644 --- a/plugins/samplesource/perseus/perseussettings.cpp +++ b/plugins/samplesource/perseus/perseussettings.cpp @@ -35,6 +35,7 @@ void PerseusSettings::resetToDefaults() m_adcPreamp = false; m_wideBand = false; m_attenuator = Attenuator_None; + m_fileRecordName = ""; } QByteArray PerseusSettings::serialize() const diff --git a/plugins/samplesource/perseus/perseussettings.h b/plugins/samplesource/perseus/perseussettings.h index 864bb0cec..1330e2747 100644 --- a/plugins/samplesource/perseus/perseussettings.h +++ b/plugins/samplesource/perseus/perseussettings.h @@ -18,6 +18,7 @@ #define PLUGINS_SAMPLESOURCE_PERSEUS_PERSEUSSETTINGS_H_ #include +#include struct PerseusSettings { @@ -40,6 +41,7 @@ struct PerseusSettings bool m_adcPreamp; bool m_wideBand; Attenuator m_attenuator; + QString m_fileRecordName; PerseusSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 0f977ce6e..9cb8827a8 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -190,9 +190,18 @@ bool PlutoSDRInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "PlutoSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp index 189591b5d..93e14c5ba 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp @@ -28,7 +28,7 @@ class DeviceSourceAPI; const PluginDescriptor PlutoSDRInputPlugin::m_pluginDescriptor = { QString("PlutoSDR Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp index c90e7a630..556977d75 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp @@ -44,6 +44,7 @@ void PlutoSDRInputSettings::resetToDefaults() m_gainMode = GAIN_MANUAL; m_transverterMode = false; m_transverterDeltaFrequency = 0; + m_fileRecordName = ""; } QByteArray PlutoSDRInputSettings::serialize() const diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h index 19d4793b2..691161181 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h @@ -18,6 +18,7 @@ #define _PLUTOSDR_PLUTOSDRINPUTSETTINGS_H_ #include +#include #include struct PlutoSDRInputSettings { @@ -73,7 +74,7 @@ struct PlutoSDRInputSettings { GainMode m_gainMode; bool m_transverterMode; qint64 m_transverterDeltaFrequency; - + QString m_fileRecordName; PlutoSDRInputSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index 9278ff555..f08101d03 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -304,9 +304,18 @@ bool RTLSDRInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "RTLSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp index a952d8063..bf9ed0ddc 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp @@ -14,7 +14,7 @@ const PluginDescriptor RTLSDRPlugin::m_pluginDescriptor = { QString("RTL-SDR Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp index 479fa6c96..6b5fd6ead 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp @@ -39,6 +39,7 @@ void RTLSDRSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_rfBandwidth = 2500 * 1000; // Hz + m_fileRecordName = ""; } QByteArray RTLSDRSettings::serialize() const diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.h b/plugins/samplesource/rtlsdr/rtlsdrsettings.h index 32303eff5..bf2ad2c60 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.h +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.h @@ -17,6 +17,8 @@ #ifndef _RTLSDR_RTLSDRSETTINGS_H_ #define _RTLSDR_RTLSDRSETTINGS_H_ +#include + struct RTLSDRSettings { typedef enum { FC_POS_INFRA = 0, @@ -38,6 +40,7 @@ struct RTLSDRSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; quint32 m_rfBandwidth; //!< RF filter bandwidth in Hz + QString m_fileRecordName; RTLSDRSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp index d38695119..d8af205df 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp @@ -185,9 +185,18 @@ bool SDRdaemonSourceInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "SDRdaemonSourceInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceplugin.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceplugin.cpp index fa46eeb2d..7023c4acf 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceplugin.cpp +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceplugin.cpp @@ -26,7 +26,7 @@ const PluginDescriptor SDRdaemonSourcePlugin::m_pluginDescriptor = { QString("SDRdaemon source input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.cpp index 81da4ca8a..fccb2981d 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.cpp +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.cpp @@ -36,6 +36,7 @@ void SDRdaemonSourceSettings::resetToDefaults() m_dcBlock = false; m_iqCorrection = false; m_fcPos = 2; // center + m_fileRecordName = ""; } QByteArray SDRdaemonSourceSettings::serialize() const diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.h b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.h index 53a2a2bb0..d9907a92d 100644 --- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.h +++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcesettings.h @@ -33,6 +33,7 @@ struct SDRdaemonSourceSettings { bool m_dcBlock; bool m_iqCorrection; quint32 m_fcPos; + QString m_fileRecordName; SDRdaemonSourceSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index d8d86e4f0..46292c333 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -299,9 +299,18 @@ bool SDRPlayInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "SDRPlayInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/sdrplay/sdrplayplugin.cpp b/plugins/samplesource/sdrplay/sdrplayplugin.cpp index aebdd2072..6628540a8 100644 --- a/plugins/samplesource/sdrplay/sdrplayplugin.cpp +++ b/plugins/samplesource/sdrplay/sdrplayplugin.cpp @@ -25,7 +25,7 @@ const PluginDescriptor SDRPlayPlugin::m_pluginDescriptor = { QString("SDRPlay RSP1 Input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.cpp b/plugins/samplesource/sdrplay/sdrplaysettings.cpp index 201cd314c..8585f54c5 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.cpp +++ b/plugins/samplesource/sdrplay/sdrplaysettings.cpp @@ -41,6 +41,7 @@ void SDRPlaySettings::resetToDefaults() m_lnaOn = false; m_mixerAmpOn = false; m_basebandGain = 29; + m_fileRecordName = ""; } QByteArray SDRPlaySettings::serialize() const diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.h b/plugins/samplesource/sdrplay/sdrplaysettings.h index 8c7b06fd1..36b048928 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.h +++ b/plugins/samplesource/sdrplay/sdrplaysettings.h @@ -19,6 +19,7 @@ #include #include +#include #include struct SDRPlaySettings { @@ -43,6 +44,7 @@ struct SDRPlaySettings { bool m_lnaOn; bool m_mixerAmpOn; int m_basebandGain; + QString m_fileRecordName; SDRPlaySettings(); void resetToDefaults(); diff --git a/plugins/samplesource/testsource/testsourceinput.cpp b/plugins/samplesource/testsource/testsourceinput.cpp index 4ac79a456..4c247fe14 100644 --- a/plugins/samplesource/testsource/testsourceinput.cpp +++ b/plugins/samplesource/testsource/testsourceinput.cpp @@ -177,9 +177,18 @@ bool TestSourceInput::handleMessage(const Message& message) MsgFileRecord& conf = (MsgFileRecord&) message; qDebug() << "RTLSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - if (conf.getStartStop()) { + if (conf.getStartStop()) + { + if (m_settings.m_fileRecordName.size() != 0) { + m_fileSink->setFileName(m_settings.m_fileRecordName); + } else { + m_fileSink->setFileName(QString("rec%1_%2.sdriq").arg(m_deviceAPI->getDeviceUID()).arg(QDateTime::currentDateTimeUtc().toString("yyyy-MM-ddThh:mm:ss"))); + } + m_fileSink->startRecording(); - } else { + } + else + { m_fileSink->stopRecording(); } diff --git a/plugins/samplesource/testsource/testsourceplugin.cpp b/plugins/samplesource/testsource/testsourceplugin.cpp index 6ad8bbea4..6245ec0f9 100644 --- a/plugins/samplesource/testsource/testsourceplugin.cpp +++ b/plugins/samplesource/testsource/testsourceplugin.cpp @@ -29,7 +29,7 @@ const PluginDescriptor TestSourcePlugin::m_pluginDescriptor = { QString("Test Source input"), - QString("3.14.5"), + QString("3.14.6"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/testsource/testsourcesettings.cpp b/plugins/samplesource/testsource/testsourcesettings.cpp index a78d81f92..65e1b10b2 100644 --- a/plugins/samplesource/testsource/testsourcesettings.cpp +++ b/plugins/samplesource/testsource/testsourcesettings.cpp @@ -41,6 +41,7 @@ void TestSourceSettings::resetToDefaults() m_iFactor = 0.0f; m_qFactor = 0.0f; m_phaseImbalance = 0.0f; + m_fileRecordName = ""; } QByteArray TestSourceSettings::serialize() const diff --git a/plugins/samplesource/testsource/testsourcesettings.h b/plugins/samplesource/testsource/testsourcesettings.h index d4c476703..6d39c22cf 100644 --- a/plugins/samplesource/testsource/testsourcesettings.h +++ b/plugins/samplesource/testsource/testsourcesettings.h @@ -17,6 +17,8 @@ #ifndef _TESTSOURCE_TESTSOURCESETTINGS_H_ #define _TESTSOURCE_TESTSOURCESETTINGS_H_ +#include + struct TestSourceSettings { typedef enum { FC_POS_INFRA = 0, @@ -54,6 +56,7 @@ struct TestSourceSettings { float m_iFactor; //!< -1.0 < x < 1.0 float m_qFactor; //!< -1.0 < x < 1.0 float m_phaseImbalance; //!< -1.0 < x < 1.0 + QString m_fileRecordName; TestSourceSettings(); void resetToDefaults();