mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 01:18:38 -05:00
PVS-Studio static analysis corrections (2) issue #137
This commit is contained in:
parent
f01b90094b
commit
2b846f5d28
@ -28,6 +28,11 @@
|
||||
#include "deviceplutosdrbox.h"
|
||||
|
||||
DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) :
|
||||
m_devSampleRate(0),
|
||||
m_LOppmTenths(0),
|
||||
m_lpfFIREnable(false),
|
||||
m_lpfFIRBW(100.0f),
|
||||
m_lpfFIRlog2Decim(0),
|
||||
m_lpfFIRRxGain(0),
|
||||
m_lpfFIRTxGain(0),
|
||||
m_ctx(0),
|
||||
@ -39,7 +44,8 @@ DevicePlutoSDRBox::DevicePlutoSDRBox(const std::string& uri) :
|
||||
m_chnTx0q(0),
|
||||
m_rxBuf(0),
|
||||
m_txBuf(0),
|
||||
m_xoInitial(0)
|
||||
m_xoInitial(0),
|
||||
m_temp(0.0f)
|
||||
{
|
||||
m_ctx = iio_create_context_from_uri(uri.c_str());
|
||||
|
||||
|
@ -611,7 +611,6 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
uint32_t u32AddrStart;
|
||||
uint32_t u32AddrEnd;
|
||||
uint32_t u32Addr;
|
||||
BOOL bFinished=FALSE;
|
||||
|
||||
/*
|
||||
phd = fcdOpen();
|
||||
@ -671,7 +670,7 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
// Write blocks
|
||||
aucBufOut[0] = 0; // Report ID, ignored
|
||||
aucBufOut[1] = FCD_CMD_BL_WRITE_FLASH_BLOCK;
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size && !bFinished; u32Addr+=48)
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size; u32Addr+=48)
|
||||
{
|
||||
memcpy(&aucBufOut[3], &pc[u32Addr], 48);
|
||||
|
||||
@ -681,7 +680,6 @@ FCD_MODE_ENUM fcdBlWriteFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (aucBufIn[0]!=FCD_CMD_BL_WRITE_FLASH_BLOCK || aucBufIn[1]!=1)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
@ -715,7 +713,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
uint32_t u32AddrStart;
|
||||
uint32_t u32AddrEnd;
|
||||
uint32_t u32Addr;
|
||||
BOOL bFinished=FALSE;
|
||||
|
||||
/*
|
||||
phd = fcdOpen();
|
||||
@ -776,7 +773,7 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
// Read blocks
|
||||
aucBufOut[0] = 0; // Report ID, ignored
|
||||
aucBufOut[1] = FCD_CMD_BL_READ_FLASH_BLOCK;
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size && !bFinished; u32Addr+=48)
|
||||
for (u32Addr=u32AddrStart; u32Addr+47<u32AddrEnd && u32Addr+47<n64Size; u32Addr+=48)
|
||||
{
|
||||
hid_write(phd, aucBufOut, 65);
|
||||
memset(aucBufIn, 0xCC, 65); // Clear out the response buffer
|
||||
@ -784,7 +781,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (aucBufIn[0]!=FCD_CMD_BL_READ_FLASH_BLOCK || aucBufIn[1]!=1)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
@ -794,7 +790,6 @@ FCD_MODE_ENUM fcdBlVerifyFirmware(hid_device *phd, char *pc, int64_t n64Size)
|
||||
|
||||
if (memcmp(&aucBufIn[2],&pc[u32Addr],48)!=0)
|
||||
{
|
||||
bFinished = TRUE;
|
||||
/*
|
||||
fcdClose(phd);
|
||||
phd = NULL;*/
|
||||
|
@ -43,6 +43,9 @@ HttpSession::HttpSession(const HttpSession& other)
|
||||
|
||||
HttpSession& HttpSession::operator= (const HttpSession& other)
|
||||
{
|
||||
if (this == &other) {
|
||||
return *this;
|
||||
}
|
||||
HttpSessionData* oldPtr=dataPtr;
|
||||
dataPtr=other.dataPtr;
|
||||
if (dataPtr)
|
||||
|
@ -168,8 +168,6 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
float fltQ;
|
||||
Complex ci;
|
||||
|
||||
qint16 * ptrBufferToRelease = 0;
|
||||
|
||||
//********** Let's rock and roll buddy ! **********
|
||||
|
||||
m_objSettingsMutex.lock();
|
||||
@ -178,6 +176,7 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
|
||||
#ifdef EXTENDED_DIRECT_SAMPLE
|
||||
|
||||
qint16 * ptrBufferToRelease = 0;
|
||||
qint16 * ptrBuffer;
|
||||
qint32 intLen;
|
||||
|
||||
@ -232,10 +231,12 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
|
||||
m_scopeSampleBuffer.clear();
|
||||
}
|
||||
|
||||
#ifdef EXTENDED_DIRECT_SAMPLE
|
||||
if (ptrBufferToRelease != 0)
|
||||
{
|
||||
delete ptrBufferToRelease;
|
||||
}
|
||||
#endif
|
||||
|
||||
m_objSettingsMutex.unlock();
|
||||
}
|
||||
|
@ -59,6 +59,9 @@ void ATVDemodSettings::resetToDefaults()
|
||||
m_blnVSync = false;
|
||||
m_blnInvertVideo = false;
|
||||
m_intVideoTabIndex = 0;
|
||||
m_fltLineTimeMultiplier = 1.0f;
|
||||
m_fltTopTimeMultiplier = 1.0f;
|
||||
m_rfSliderDivisor = 1;
|
||||
|
||||
m_intTVSampleRate = 0;
|
||||
m_intNumberSamplePerLine = 0;
|
||||
|
@ -27,12 +27,10 @@ const unsigned int RDSDecoder::syndrome[5] = {383,14,303,663,748};
|
||||
RDSDecoder::RDSDecoder()
|
||||
{
|
||||
m_reg = 0;
|
||||
m_sync = NO_SYNC;
|
||||
m_presync = false;
|
||||
m_lastseenOffsetCounter = 0;
|
||||
m_bitCounter = 0;
|
||||
m_lastseenOffset = 0;
|
||||
m_wrongBlocksCounter = 0;
|
||||
m_blocksCounter = 0;
|
||||
m_blockBitCounter = 0;
|
||||
m_blockNumber = 0;
|
||||
|
@ -50,6 +50,13 @@ RDSDemod::RDSDemod()
|
||||
m_parms.reading_frame = 0;
|
||||
m_parms.dbit = 0;
|
||||
m_prev = 0.0f;
|
||||
memset(m_xv, 0, 6*sizeof(Real));
|
||||
memset(m_yv, 0, 6*sizeof(Real));
|
||||
memset(m_xw, 0, 2*sizeof(Real));
|
||||
memset(m_yw, 0, 2*sizeof(Real));
|
||||
m_report.acc = 0.0f;
|
||||
m_report.fclk = 0.0f;
|
||||
m_report.qua = 0.0f;
|
||||
}
|
||||
|
||||
RDSDemod::~RDSDemod()
|
||||
|
@ -261,6 +261,9 @@ void RDSParser::clearUpdateFlags()
|
||||
m_g14_updated = false;
|
||||
m_g14_data_available = false;
|
||||
m_g15_updated = false;
|
||||
radiotext_AB_flag = false;
|
||||
debug = false;
|
||||
log = false;
|
||||
}
|
||||
|
||||
void RDSParser::clearAllFields()
|
||||
@ -272,6 +275,8 @@ void RDSParser::clearAllFields()
|
||||
m_pi_area_coverage_index = 0;
|
||||
m_pi_country_identification = 0;
|
||||
m_pi_traffic_program = false;
|
||||
pi_country_identification = 0;
|
||||
pi_program_reference_number = 0;
|
||||
|
||||
// Group 00 data
|
||||
m_g0_count = 0;
|
||||
@ -854,7 +859,7 @@ void RDSParser::decode_type8(unsigned int *group, bool B)
|
||||
|
||||
bool T = (group[1] >> 4) & 0x1; // 0 = user message, 1 = tuning info
|
||||
bool F = (group[1] >> 3) & 0x1; // 0 = multi-group, 1 = single-group
|
||||
bool D = (group[2] > 15) & 0x1; // 1 = diversion recommended
|
||||
bool D = (group[2] >> 15) & 0x1; // 1 = diversion recommended
|
||||
m_g8_diversion_recommended = D;
|
||||
|
||||
static unsigned long int free_format[4];
|
||||
|
@ -11,6 +11,7 @@ const int LoRaDemodSettings::bandwidths[] = {7813,15625,20833,31250,62500};
|
||||
const int LoRaDemodSettings::nb_bandwidths = 5;
|
||||
|
||||
LoRaDemodSettings::LoRaDemodSettings() :
|
||||
m_centerFrequency(0),
|
||||
m_channelMarker(0),
|
||||
m_spectrumGUI(0)
|
||||
{
|
||||
|
@ -537,8 +537,8 @@ void ATVModGUI::on_cameraManualFPSEnable_toggled(bool checked)
|
||||
{
|
||||
ATVMod::MsgConfigureCameraData* message = ATVMod::MsgConfigureCameraData::create(
|
||||
ui->camSelect->currentIndex(),
|
||||
checked,
|
||||
ui->cameraManualFPS->value() / 10.0f);
|
||||
ui->cameraManualFPS->value() / 10.0f,
|
||||
checked);
|
||||
m_atvMod->getInputMessageQueue()->push(message);
|
||||
}
|
||||
|
||||
@ -547,8 +547,8 @@ void ATVModGUI::on_cameraManualFPS_valueChanged(int value)
|
||||
ui->cameraManualFPSText->setText(tr("%1 FPS").arg(value / 10.0f, 0, 'f', 1));
|
||||
ATVMod::MsgConfigureCameraData* message = ATVMod::MsgConfigureCameraData::create(
|
||||
ui->camSelect->currentIndex(),
|
||||
ui->cameraManualFPSEnable->isChecked(),
|
||||
value / 10.0f);
|
||||
value / 10.0f,
|
||||
ui->cameraManualFPSEnable->isChecked());
|
||||
m_atvMod->getInputMessageQueue()->push(message);
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,7 @@ void UDPSinkSettings::resetToDefaults()
|
||||
m_inputSampleRate = 48000;
|
||||
m_inputFrequencyOffset = 0;
|
||||
m_rfBandwidth = 12500;
|
||||
m_lowCutoff = 0.0f;
|
||||
m_fmDeviation = 2500;
|
||||
m_amModFactor = 0.95;
|
||||
m_channelMute = false;
|
||||
|
@ -136,7 +136,7 @@ bool BladerfOutput::start()
|
||||
|
||||
if((m_bladerfThread = new BladerfOutputThread(m_dev, &m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("BladerfOutput::start: out of memory");
|
||||
qCritical("BladerfOutput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ bool FileSinkOutput::start()
|
||||
|
||||
if((m_fileSinkThread = new FileSinkThread(&m_ofstream, &m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("out of memory");
|
||||
qCritical("out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
@ -303,7 +303,7 @@ void FileSinkOutput::applySettings(const FileSinkSettings& settings, bool force)
|
||||
|
||||
if (m_fileSinkThread != 0)
|
||||
{
|
||||
m_fileSinkThread->setSamplerate(m_settings.m_sampleRate);
|
||||
m_fileSinkThread->setLog2Interpolation(m_settings.m_log2Interp);
|
||||
}
|
||||
|
||||
forwardChange = true;
|
||||
|
@ -118,7 +118,7 @@ bool HackRFOutput::start()
|
||||
|
||||
if((m_hackRFThread = new HackRFOutputThread(m_dev, &m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("HackRFOutput::start: out of memory");
|
||||
qCritical("HackRFOutput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ bool LimeSDROutput::start()
|
||||
|
||||
if ((m_limeSDROutputThread = new LimeSDROutputThread(&m_streamId, &m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("LimeSDROutput::start: cannot create thread");
|
||||
qCritical("LimeSDROutput::start: cannot create thread");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ bool PlutoSDROutput::start()
|
||||
|
||||
if ((m_plutoSDROutputThread = new PlutoSDROutputThread(PLUTOSDR_BLOCKSIZE_SAMPLES, m_deviceShared.m_deviceParams->getBox(), &m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("PlutoSDROutput::start: cannot create thread");
|
||||
qCritical("PlutoSDROutput::start: cannot create thread");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
@ -314,7 +314,6 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool
|
||||
{
|
||||
bool forwardChangeOwnDSP = false;
|
||||
bool forwardChangeOtherDSP = false;
|
||||
bool suspendOwnThread = false;
|
||||
bool ownThreadWasRunning = false;
|
||||
bool suspendAllOtherThreads = false; // All others means Rx in fact
|
||||
DevicePlutoSDRBox *plutoBox = m_deviceShared.m_deviceParams->getBox();
|
||||
@ -334,11 +333,6 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool
|
||||
(m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force)
|
||||
{
|
||||
suspendAllOtherThreads = true;
|
||||
suspendOwnThread = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
suspendOwnThread = true;
|
||||
}
|
||||
|
||||
if (suspendAllOtherThreads)
|
||||
@ -361,14 +355,11 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool
|
||||
}
|
||||
}
|
||||
|
||||
if (suspendOwnThread)
|
||||
{
|
||||
if (m_plutoSDROutputThread && m_plutoSDROutputThread->isRunning())
|
||||
{
|
||||
m_plutoSDROutputThread->stopWork();
|
||||
ownThreadWasRunning = true;
|
||||
}
|
||||
}
|
||||
|
||||
// apply settings
|
||||
|
||||
@ -479,12 +470,9 @@ bool PlutoSDROutput::applySettings(const PlutoSDROutputSettings& settings, bool
|
||||
}
|
||||
}
|
||||
|
||||
if (suspendOwnThread)
|
||||
{
|
||||
if (ownThreadWasRunning) {
|
||||
m_plutoSDROutputThread->startWork();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: forward changes to other (Rx) DSP
|
||||
if (forwardChangeOtherDSP)
|
||||
|
@ -66,7 +66,7 @@ bool SDRdaemonSinkOutput::start()
|
||||
|
||||
if((m_sdrDaemonSinkThread = new SDRdaemonSinkThread(&m_sampleSourceFifo)) == 0)
|
||||
{
|
||||
qFatal("out of memory");
|
||||
qCritical("out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ bool AirspyInput::start()
|
||||
|
||||
if((m_airspyThread = new AirspyThread(m_dev, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("AirspyInput::start: out of memory");
|
||||
qCritical("AirspyInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ bool AirspyHFInput::start()
|
||||
|
||||
if ((m_airspyHFThread = new AirspyHFThread(m_dev, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("AirspyHFInput::start: out of memory");
|
||||
qCritical("AirspyHFInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ bool AirspyHFIInput::start()
|
||||
|
||||
if ((m_airspyHFThread = new AirspyHFIThread(m_dev, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("AirspyHFInput::start: out of memory");
|
||||
qCritical("AirspyHFInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ bool BladerfInput::start()
|
||||
if (m_running) stop();
|
||||
|
||||
if((m_bladerfThread = new BladerfInputThread(m_dev, &m_sampleFifo)) == 0) {
|
||||
qFatal("BladerfInput::start: out of memory");
|
||||
qCritical("BladerfInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ bool FCDProInput::start()
|
||||
|
||||
if ((m_FCDThread = new FCDProThread(&m_sampleFifo)) == NULL)
|
||||
{
|
||||
qFatal("out of memory");
|
||||
qCritical("out of memory");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -117,7 +117,7 @@ bool FCDProPlusInput::start()
|
||||
|
||||
if ((m_FCDThread = new FCDProPlusThread(&m_sampleFifo)) == NULL)
|
||||
{
|
||||
qFatal("out of memory");
|
||||
qCritical("out of memory");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ bool FileSourceInput::start()
|
||||
//openFileStream();
|
||||
|
||||
if((m_fileSourceThread = new FileSourceThread(&m_ifstream, &m_sampleFifo)) == NULL) {
|
||||
qFatal("out of memory");
|
||||
qCritical("out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ bool HackRFInput::start()
|
||||
|
||||
if ((m_hackRFThread = new HackRFInputThread(m_dev, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("HackRFInput::start: out of memory");
|
||||
qCritical("HackRFInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -395,7 +395,7 @@ bool LimeSDRInput::start()
|
||||
|
||||
if ((m_limeSDRInputThread = new LimeSDRInputThread(&m_streamId, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("LimeSDRInput::start: cannot create thread");
|
||||
qCritical("LimeSDRInput::start: cannot create thread");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ bool PerseusInput::start()
|
||||
|
||||
if ((m_perseusThread = new PerseusThread(m_perseusDescriptor, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("PerseusInput::start: cannot create thread");
|
||||
qCritical("PerseusInput::start: cannot create thread");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ bool PlutoSDRInput::start()
|
||||
|
||||
if ((m_plutoSDRInputThread = new PlutoSDRInputThread(PLUTOSDR_BLOCKSIZE_SAMPLES, m_deviceShared.m_deviceParams->getBox(), &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("PlutoSDRInput::start: cannot create thread");
|
||||
qCritical("PlutoSDRInput::start: cannot create thread");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
@ -344,7 +344,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo
|
||||
{
|
||||
bool forwardChangeOwnDSP = false;
|
||||
bool forwardChangeOtherDSP = false;
|
||||
bool suspendOwnThread = false;
|
||||
bool ownThreadWasRunning = false;
|
||||
bool suspendAllOtherThreads = false; // All others means Tx in fact
|
||||
DevicePlutoSDRBox *plutoBox = m_deviceShared.m_deviceParams->getBox();
|
||||
@ -364,11 +363,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo
|
||||
(m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force)
|
||||
{
|
||||
suspendAllOtherThreads = true;
|
||||
suspendOwnThread = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
suspendOwnThread = true;
|
||||
}
|
||||
|
||||
if (suspendAllOtherThreads)
|
||||
@ -391,14 +385,11 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo
|
||||
}
|
||||
}
|
||||
|
||||
if (suspendOwnThread)
|
||||
{
|
||||
if (m_plutoSDRInputThread && m_plutoSDRInputThread->isRunning())
|
||||
{
|
||||
m_plutoSDRInputThread->stopWork();
|
||||
ownThreadWasRunning = true;
|
||||
}
|
||||
}
|
||||
|
||||
// apply settings
|
||||
|
||||
@ -557,12 +548,9 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo
|
||||
}
|
||||
}
|
||||
|
||||
if (suspendOwnThread)
|
||||
{
|
||||
if (ownThreadWasRunning) {
|
||||
m_plutoSDRInputThread->startWork();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: forward changes to other (Tx) DSP
|
||||
if (forwardChangeOtherDSP)
|
||||
|
@ -189,7 +189,7 @@ bool RTLSDRInput::start()
|
||||
|
||||
if ((m_rtlSDRThread = new RTLSDRThread(m_dev, &m_sampleFifo)) == NULL)
|
||||
{
|
||||
qFatal("RTLSDRInput::start: out of memory");
|
||||
qCritical("RTLSDRInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ bool SDRPlayInput::start()
|
||||
|
||||
if((m_sdrPlayThread = new SDRPlayThread(m_dev, &m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("SDRPlayInput::start: failed to create thread");
|
||||
qCritical("SDRPlayInput::start: failed to create thread");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ bool TestSourceInput::start()
|
||||
|
||||
if ((m_testSourceThread = new TestSourceThread(&m_sampleFifo)) == 0)
|
||||
{
|
||||
qFatal("TestSourceInput::start: out of memory");
|
||||
qCritical("TestSourceInput::start: out of memory");
|
||||
stop();
|
||||
return false;
|
||||
}
|
||||
@ -257,7 +257,7 @@ bool TestSourceInput::applySettings(const TestSourceSettings& settings, bool for
|
||||
}
|
||||
}
|
||||
|
||||
if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency)
|
||||
if ((m_settings.m_centerFrequency != settings.m_centerFrequency)
|
||||
|| (m_settings.m_fcPos != settings.m_fcPos)
|
||||
|| (m_settings.m_frequencyShift != settings.m_frequencyShift)
|
||||
|| (m_settings.m_log2Decim != settings.m_log2Decim) || force)
|
||||
|
@ -263,7 +263,7 @@ bool AudioFifo::create(uint32_t numSamples)
|
||||
if(m_fifo != 0)
|
||||
{
|
||||
delete[] m_fifo;
|
||||
m_fifo = NULL;
|
||||
m_fifo = 0;
|
||||
}
|
||||
|
||||
m_size = 0;
|
||||
@ -271,12 +271,8 @@ bool AudioFifo::create(uint32_t numSamples)
|
||||
m_head = 0;
|
||||
m_tail = 0;
|
||||
|
||||
if((m_fifo = new qint8[numSamples * m_sampleSize]) == 0)
|
||||
{
|
||||
qDebug("out of memory");
|
||||
return false;
|
||||
}
|
||||
|
||||
m_fifo = new qint8[numSamples * m_sampleSize];
|
||||
m_size = numSamples;
|
||||
return true;
|
||||
|
||||
return m_fifo != 0;
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ bool ChannelMarker::deserialize(const QByteArray& data)
|
||||
d.readU32(6, &u32tmp, 9999);
|
||||
setUDPSendPort(u32tmp);
|
||||
d.readS32(7, &tmp, 0);
|
||||
if ((tmp >= 0) || (tmp < FScaleDisplay_none)) {
|
||||
if ((tmp >= 0) && (tmp < FScaleDisplay_none)) {
|
||||
setFrequencyScaleDisplayType((frequencyScaleDisplay_t) tmp);
|
||||
} else {
|
||||
setFrequencyScaleDisplayType(FScaleDisplay_freq);
|
||||
|
@ -287,7 +287,6 @@ void CWKeyer::nextStateIambic()
|
||||
{
|
||||
if (m_dash)
|
||||
{
|
||||
m_samplePointer = 0;
|
||||
m_keyIambicState = KeyDash;
|
||||
}
|
||||
else if (!m_dot)
|
||||
@ -314,7 +313,6 @@ void CWKeyer::nextStateIambic()
|
||||
{
|
||||
if (m_dot)
|
||||
{
|
||||
m_samplePointer = 0;
|
||||
m_keyIambicState = KeyDot;
|
||||
}
|
||||
else if (!m_dash)
|
||||
|
@ -15,12 +15,11 @@ FFTEngine* FFTEngine::create()
|
||||
#ifdef USE_FFTW
|
||||
qDebug("FFTEngine::create: using FFTW engine");
|
||||
return new FFTWEngine;
|
||||
#endif // USE_FFTW
|
||||
#ifdef USE_KISSFFT
|
||||
#elif USE_KISSFFT
|
||||
qDebug("FFTEngine::create: using KissFFT engine");
|
||||
return new KissEngine;
|
||||
#endif // USE_KISSFFT
|
||||
|
||||
#else // USE_KISSFFT
|
||||
qCritical("FFTEngine::create: no engine built");
|
||||
return NULL;
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
@ -78,6 +78,8 @@ void fftfilt::init_filter()
|
||||
fftfilt::fftfilt(float f1, float f2, int len)
|
||||
{
|
||||
flen = len;
|
||||
pass = 0;
|
||||
window = 0;
|
||||
init_filter();
|
||||
create_filter(f1, f2);
|
||||
}
|
||||
@ -85,6 +87,8 @@ fftfilt::fftfilt(float f1, float f2, int len)
|
||||
fftfilt::fftfilt(float f2, int len)
|
||||
{
|
||||
flen = len;
|
||||
pass = 0;
|
||||
window = 0;
|
||||
init_filter();
|
||||
create_dsb_filter(f2);
|
||||
}
|
||||
|
@ -38,7 +38,6 @@ protected:
|
||||
int flen;
|
||||
int flen2;
|
||||
g_fft<float> *fft;
|
||||
g_fft<float> *ift;
|
||||
cmplx *filter;
|
||||
cmplx *filterOpp;
|
||||
cmplx *data;
|
||||
@ -50,7 +49,7 @@ protected:
|
||||
|
||||
inline float fsinc(float fc, int i, int len) {
|
||||
return (i == len/2) ? 2.0 * fc:
|
||||
sin(2 * M_PI * fc * (i - len/2)) / (M_PI * (i - len/2));
|
||||
sin(2 * M_PI * fc * (i - (len/2))) / (M_PI * (i - (len/2)));
|
||||
}
|
||||
|
||||
inline float _blackman(int i, int len) {
|
||||
|
@ -65,13 +65,13 @@ private:
|
||||
|
||||
// base fft methods
|
||||
void riffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow);
|
||||
void ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl);
|
||||
void ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl);
|
||||
void rifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void rifft4pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void rifft2pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void rifft1pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void rffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow);
|
||||
void frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl);
|
||||
void frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl);
|
||||
void rfft8pt(FFT_TYPE *ioptr);
|
||||
void rfft4pt(FFT_TYPE *ioptr);
|
||||
void rfft2pt(FFT_TYPE *ioptr);
|
||||
@ -79,27 +79,27 @@ private:
|
||||
void iffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow);
|
||||
void ifftrecurs(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
int NDiffU, int StageCnt);
|
||||
void ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
void ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride,
|
||||
int NDiffU, int StageCnt);
|
||||
void ibfR4(FFT_TYPE *ioptr, int M, int NDiffU);
|
||||
void ibfR2(FFT_TYPE *ioptr, int M, int NDiffU);
|
||||
void ifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void ifft4pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void ifft2pt(FFT_TYPE *ioptr, FFT_TYPE scale);
|
||||
void scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE scale);
|
||||
void scbitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow, FFT_TYPE scale);
|
||||
void ffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow);
|
||||
void fftrecurs(FFT_TYPE *ioptr, int M,
|
||||
FFT_TYPE *Utbl, int Ustride, int NDiffU,
|
||||
int StageCnt);
|
||||
void bfstages(FFT_TYPE *ioptr, int M,
|
||||
FFT_TYPE *Utbl, int Ustride,
|
||||
FFT_TYPE *inUtbl, int Ustride,
|
||||
int NDiffU, int StageCnt);
|
||||
void bfR4(FFT_TYPE *ioptr, int M, int NDiffU);
|
||||
void bfR2(FFT_TYPE *ioptr, int M, int NDiffU);
|
||||
void fft8pt(FFT_TYPE *ioptr);
|
||||
void fft4pt(FFT_TYPE *ioptr);
|
||||
void fft2pt(FFT_TYPE *ioptr);
|
||||
void bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow);
|
||||
void bitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow);
|
||||
void fftBRInit(int M, short *BRLow);
|
||||
void fftCosInit(int M, FFT_TYPE *Utbl);
|
||||
|
||||
@ -182,7 +182,7 @@ void g_fft<FFT_TYPE>::fftBRInit(int M, short *BRLow)
|
||||
// bit reverse and first radix 2 stage of forward or inverse fft
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow)
|
||||
void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow)
|
||||
{
|
||||
FFT_TYPE f0r;
|
||||
FFT_TYPE f0i;
|
||||
@ -229,9 +229,9 @@ void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow)
|
||||
for (; ioptr < iolimit; ioptr += POW2(M / 2 + 1)) {
|
||||
for (Colstart = Nroot_1; Colstart >= 0; Colstart--) {
|
||||
iCol = Nroot_1;
|
||||
p0r = ioptr + Nroot_1_ColInc + BRLow[Colstart] * 4;
|
||||
p0r = ioptr + Nroot_1_ColInc + inBRLow[Colstart] * 4;
|
||||
IOP = ioptr + (Colstart << ColstartShift);
|
||||
p1r = IOP + BRLow[iCol] * 4;
|
||||
p1r = IOP + inBRLow[iCol] * 4;
|
||||
f0r = *(p0r);
|
||||
f0i = *(p0r + 1);
|
||||
f1r = *(p0r + posA);
|
||||
@ -290,7 +290,7 @@ void g_fft<FFT_TYPE>::bitrevR2(FFT_TYPE *ioptr, int M, short *BRLow)
|
||||
f1r = *(p0r + posA);
|
||||
f1i = *(p0r + posAi);
|
||||
iCol -= 1;
|
||||
p1r = IOP + BRLow[iCol] * 4;
|
||||
p1r = IOP + inBRLow[iCol] * 4;
|
||||
}
|
||||
f2r = *(p0r + 2);
|
||||
f2i = *(p0r + (2 + 1));
|
||||
@ -840,7 +840,7 @@ void g_fft<FFT_TYPE>::bfR4(FFT_TYPE *ioptr, int M, int NDiffU)
|
||||
// RADIX 8 Stages
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
void g_fft<FFT_TYPE>::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride,
|
||||
int NDiffU, int StageCnt)
|
||||
{
|
||||
unsigned int pos;
|
||||
@ -876,8 +876,8 @@ void g_fft<FFT_TYPE>::bfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustri
|
||||
U2toU3 = (POW2(M) / 8) * Ustride;
|
||||
for (; StageCnt > 0; StageCnt--) {
|
||||
|
||||
u0r = &Utbl[0];
|
||||
u0i = &Utbl[POW2(M - 2) * Ustride];
|
||||
u0r = &inUtbl[0];
|
||||
u0i = &inUtbl[POW2(M - 2) * Ustride];
|
||||
u1r = u0r;
|
||||
u1i = u0i;
|
||||
u2r = u0r;
|
||||
@ -1228,7 +1228,7 @@ void g_fft<FFT_TYPE>::ffts1(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, short *BRLow
|
||||
// scaled bit reverse and first radix 2 stage forward or inverse fft
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE scale)
|
||||
void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *inBRLow, FFT_TYPE scale)
|
||||
{
|
||||
FFT_TYPE f0r;
|
||||
FFT_TYPE f0i;
|
||||
@ -1275,9 +1275,9 @@ void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE
|
||||
for (; ioptr < iolimit; ioptr += POW2(M / 2 + 1)) {
|
||||
for (Colstart = Nroot_1; Colstart >= 0; Colstart--) {
|
||||
iCol = Nroot_1;
|
||||
p0r = ioptr + Nroot_1_ColInc + BRLow[Colstart] * 4;
|
||||
p0r = ioptr + Nroot_1_ColInc + inBRLow[Colstart] * 4;
|
||||
IOP = ioptr + (Colstart << ColstartShift);
|
||||
p1r = IOP + BRLow[iCol] * 4;
|
||||
p1r = IOP + inBRLow[iCol] * 4;
|
||||
f0r = *(p0r);
|
||||
f0i = *(p0r + 1);
|
||||
f1r = *(p0r + posA);
|
||||
@ -1336,7 +1336,7 @@ void g_fft<FFT_TYPE>::scbitrevR2(FFT_TYPE *ioptr, int M, short *BRLow, FFT_TYPE
|
||||
f1r = *(p0r + posA);
|
||||
f1i = *(p0r + posAi);
|
||||
iCol -= 1;
|
||||
p1r = IOP + BRLow[iCol] * 4;
|
||||
p1r = IOP + inBRLow[iCol] * 4;
|
||||
}
|
||||
f2r = *(p0r + 2);
|
||||
f2i = *(p0r + (2 + 1));
|
||||
@ -1886,7 +1886,7 @@ void g_fft<FFT_TYPE>::ibfR4(FFT_TYPE *ioptr, int M, int NDiffU)
|
||||
// RADIX 8 Stages
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustride,
|
||||
void g_fft<FFT_TYPE>::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl, int Ustride,
|
||||
int NDiffU, int StageCnt)
|
||||
{
|
||||
unsigned int pos;
|
||||
@ -1922,8 +1922,8 @@ void g_fft<FFT_TYPE>::ibfstages(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl, int Ustr
|
||||
U2toU3 = (POW2(M) / 8) * Ustride;
|
||||
for (; StageCnt > 0; StageCnt--) {
|
||||
|
||||
u0r = &Utbl[0];
|
||||
u0i = &Utbl[POW2(M - 2) * Ustride];
|
||||
u0r = &inUtbl[0];
|
||||
u0i = &inUtbl[POW2(M - 2) * Ustride];
|
||||
u1r = u0r;
|
||||
u1i = u0i;
|
||||
u2r = u0r;
|
||||
@ -2567,7 +2567,7 @@ void g_fft<FFT_TYPE>::rfft8pt(FFT_TYPE *ioptr)
|
||||
// Finish RFFT
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl)
|
||||
{
|
||||
unsigned int pos;
|
||||
unsigned int posi;
|
||||
@ -2587,7 +2587,7 @@ void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
p0r = ioptr;
|
||||
p1r = ioptr + pos / 2;
|
||||
|
||||
u0r = Utbl + POW2(M - 3);
|
||||
u0r = inUtbl + POW2(M - 3);
|
||||
|
||||
w0r = *u0r, f0r = *(p0r);
|
||||
f0i = *(p0r + 1);
|
||||
@ -2622,8 +2622,8 @@ void g_fft<FFT_TYPE>::frstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
*(p1r + pos) = f5r;
|
||||
*(p1r + posi) = f5i;
|
||||
|
||||
u0r = Utbl + 1;
|
||||
u0i = Utbl + (POW2(M - 2) - 1);
|
||||
u0r = inUtbl + 1;
|
||||
u0i = inUtbl + (POW2(M - 2) - 1);
|
||||
|
||||
w0r = *u0r, w0i = *u0i;
|
||||
|
||||
@ -3038,7 +3038,7 @@ void g_fft<FFT_TYPE>::rifft8pt(FFT_TYPE *ioptr, FFT_TYPE scale)
|
||||
// Start RIFFT
|
||||
//------------------------------------------------------------------------------
|
||||
template <typename FFT_TYPE>
|
||||
void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *inUtbl)
|
||||
{
|
||||
unsigned int pos;
|
||||
unsigned int posi;
|
||||
@ -3058,7 +3058,7 @@ void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
p0r = ioptr;
|
||||
p1r = ioptr + pos / 2;
|
||||
|
||||
u0r = Utbl + POW2(M - 3);
|
||||
u0r = inUtbl + POW2(M - 3);
|
||||
|
||||
w0r = *u0r, f0r = *(p0r);
|
||||
f0i = *(p0r + 1);
|
||||
@ -3093,8 +3093,8 @@ void g_fft<FFT_TYPE>::ifrstage(FFT_TYPE *ioptr, int M, FFT_TYPE *Utbl)
|
||||
*(p1r + pos) = f5r;
|
||||
*(p1r + posi) = f5i;
|
||||
|
||||
u0r = Utbl + 1;
|
||||
u0i = Utbl + (POW2(M - 2) - 1);
|
||||
u0r = inUtbl + 1;
|
||||
u0i = inUtbl + (POW2(M - 2) - 1);
|
||||
|
||||
w0r = *u0r, w0i = *u0i;
|
||||
|
||||
|
@ -42,6 +42,7 @@ NCO::NCO()
|
||||
{
|
||||
initTable();
|
||||
m_phase = 0;
|
||||
m_phaseIncrement = 0;
|
||||
}
|
||||
|
||||
void NCO::setFreq(Real freq, Real sampleRate)
|
||||
|
@ -44,6 +44,7 @@ NCOF::NCOF()
|
||||
{
|
||||
initTable();
|
||||
m_phase = 0.0f;
|
||||
m_phaseIncrement = 0.0f;
|
||||
}
|
||||
|
||||
void NCOF::setFreq(Real freq, Real sampleRate)
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "settings/mainsettings.h"
|
||||
#include "commands/command.h"
|
||||
|
||||
MainSettings::MainSettings()
|
||||
MainSettings::MainSettings() : m_audioDeviceInfo(0)
|
||||
{
|
||||
resetToDefaults();
|
||||
}
|
||||
|
@ -20,6 +20,9 @@ void Preset::resetToDefaults()
|
||||
m_channelConfigs.clear();
|
||||
m_sourceId.clear();
|
||||
m_sourceConfig.clear();
|
||||
m_dcOffsetCorrection = false;
|
||||
m_iqImbalanceCorrection = false;
|
||||
m_sourceSequence = 0;
|
||||
}
|
||||
|
||||
QByteArray Preset::serialize() const
|
||||
|
@ -57,8 +57,8 @@ private:
|
||||
uint getTriggerIndex() const { return m_triggerIndex; }
|
||||
int getTriggerChannel() const { return m_triggerChannel; }
|
||||
Real getTriggerLevel() const { return m_triggerLevel; }
|
||||
Real getTriggerPositiveEdge() const { return m_triggerPositiveEdge; }
|
||||
Real getTriggerBothEdges() const { return m_triggerBothEdges; }
|
||||
bool getTriggerPositiveEdge() const { return m_triggerPositiveEdge; }
|
||||
bool getTriggerBothEdges() const { return m_triggerBothEdges; }
|
||||
uint getTriggerPre() const { return m_triggerPre; }
|
||||
uint getTriggerDelay() const { return m_triggerDelay; }
|
||||
uint getTriggerCounts() const { return m_triggerCounts; }
|
||||
|
@ -731,7 +731,8 @@ private:
|
||||
m_nbSources(1),
|
||||
m_memSize(m_nbTraceMemories),
|
||||
m_currentMemIndex(0),
|
||||
m_traceSize(m_traceChunkSize)
|
||||
m_traceSize(m_traceChunkSize),
|
||||
m_preTrigCount(0)
|
||||
{
|
||||
m_traceBackBuffers.resize(m_nbSources);
|
||||
m_sourceFill.resize(m_nbSources);
|
||||
|
@ -197,9 +197,12 @@ void SpectrumVis::handleConfigure(int fftSize, int overlapPercent, FFTWindow::Fu
|
||||
{
|
||||
m_overlapPercent = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_overlapPercent = overlapPercent;
|
||||
}
|
||||
|
||||
m_fftSize = fftSize;
|
||||
m_overlapPercent = overlapPercent;
|
||||
m_fft->configure(m_fftSize, false);
|
||||
m_window.create(window, m_fftSize);
|
||||
m_overlapSize = (m_fftSize * m_overlapPercent) / 100;
|
||||
|
@ -1279,10 +1279,10 @@ void GLSpectrum::applyChanges()
|
||||
|
||||
if (sidebands == ChannelMarker::usb) {
|
||||
nw = dv->m_channelMarker->getLowCutoff(); // negative bandwidth
|
||||
pw = dv->m_channelMarker->getBandwidth() / 2; // positive bandwidth
|
||||
pw = (dv->m_channelMarker->getBandwidth() / 2); // positive bandwidth
|
||||
} else if (sidebands == ChannelMarker::lsb) {
|
||||
pw = dv->m_channelMarker->getLowCutoff();
|
||||
nw = dv->m_channelMarker->getBandwidth() / 2;
|
||||
nw = (dv->m_channelMarker->getBandwidth() / 2);
|
||||
} else if (sidebands == ChannelMarker::vusb) {
|
||||
nw = -dv->m_channelMarker->getOppositeBandwidth(); // negative bandwidth
|
||||
pw = dv->m_channelMarker->getBandwidth(); // positive bandwidth
|
||||
@ -1554,7 +1554,7 @@ void GLSpectrum::applyChanges()
|
||||
|
||||
m_histogramBuffer = new QImage(m_fftSize, 100, QImage::Format_RGB32);
|
||||
|
||||
if(m_histogramBuffer != NULL)
|
||||
if(m_histogramBuffer != 0)
|
||||
{
|
||||
m_histogramBuffer->fill(qRgb(0x00, 0x00, 0x00));
|
||||
m_glShaderHistogram.initTexture(*m_histogramBuffer, QOpenGLTexture::ClampToEdge);
|
||||
@ -1581,15 +1581,21 @@ void GLSpectrum::applyChanges()
|
||||
|
||||
void GLSpectrum::mouseMoveEvent(QMouseEvent* event)
|
||||
{
|
||||
if(m_displayWaterfall && (m_displayWaterfall || m_displayHistogram || m_displayMaxHold || m_displayCurrent)) {
|
||||
if(m_frequencyScaleRect.contains(event->pos())) {
|
||||
if(m_cursorState == CSNormal) {
|
||||
if (m_displayWaterfall || m_displayHistogram || m_displayMaxHold || m_displayCurrent)
|
||||
{
|
||||
if(m_frequencyScaleRect.contains(event->pos()))
|
||||
{
|
||||
if(m_cursorState == CSNormal)
|
||||
{
|
||||
setCursor(Qt::SizeVerCursor);
|
||||
m_cursorState = CSSplitter;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if(m_cursorState == CSSplitter) {
|
||||
}
|
||||
else
|
||||
{
|
||||
if(m_cursorState == CSSplitter)
|
||||
{
|
||||
setCursor(Qt::ArrowCursor);
|
||||
m_cursorState = CSNormal;
|
||||
return;
|
||||
|
@ -46,11 +46,14 @@ ValueDial::ValueDial(QWidget* parent, ColorMapper colorMapper) :
|
||||
}
|
||||
|
||||
m_value = 0;
|
||||
m_valueNew = 0;
|
||||
m_valueMin = 0;
|
||||
m_valueMax = 2200000;
|
||||
m_numDigits = 7;
|
||||
m_numDecimalPoints = m_numDigits / 3;
|
||||
m_cursor = -1;
|
||||
m_digitWidth = 0;
|
||||
m_digitHeight = 0;
|
||||
|
||||
m_hightlightedDigit = -1;
|
||||
m_text = formatText(m_value);
|
||||
|
@ -50,11 +50,14 @@ ValueDialZ::ValueDialZ(bool positiveOnly, QWidget* parent, ColorMapper colorMapp
|
||||
}
|
||||
|
||||
m_value = 0;
|
||||
m_valueNew = 0;
|
||||
m_valueMin = m_positiveOnly ? 0 : -2200000;
|
||||
m_valueMax = 2200000;
|
||||
m_numDigits = 7;
|
||||
m_numDecimalPoints = m_numDigits / 3;
|
||||
m_cursor = -1;
|
||||
m_digitWidth = 0;
|
||||
m_digitHeight = 0;
|
||||
|
||||
m_hightlightedDigit = -1;
|
||||
m_text = formatText(m_value);
|
||||
|
Loading…
Reference in New Issue
Block a user