18 #ifndef PLUGINS_CHANNELTX_MODFREEDV_FREEDVMOD_H_    19 #define PLUGINS_CHANNELTX_MODFREEDV_FREEDVMOD_H_    26 #include <QNetworkRequest>    43 class QNetworkAccessManager;
    96             m_sampleRate(sampleRate),
    97             m_centerFrequency(centerFrequency)
   139             m_seekPercentage(seekPercentage)
   177             m_samplesCount(samplesCount)
   189                 quint32 recordLength)
   199                 quint32 recordLength) :
   201             m_sampleRate(sampleRate),
   202             m_recordLength(recordLength)
   216     virtual void start();
   233         (void) sinkElseSource;
   239                 QString& errorMessage);
   243                 const QStringList& channelSettingsKeys,
   245                 QString& errorMessage);
   249                 QString& errorMessage);
   269     void levelChanged(qreal rmsLevel, qreal peakLevel, 
int numSamples);
   346     void applyChannelSettings(
int basebandSampleRate, 
int outputSampleRate, 
int inputFrequencyOffset, 
bool force = 
false);
 
QNetworkRequest m_networkRequest
 
void webapiReverseSendSettings(QList< QString > &channelSettingsKeys, const FreeDVModSettings &settings, bool force)
 
std::vector< Sample > SampleVector
 
Real m_interpolatorDistance
 
std::vector< AudioSample > AudioVector
 
FreeDVMod(DeviceAPI *deviceAPI)
 
int m_inputSampleRate
speech (input) sample rate (fixed 8000 S/s) 
 
void applyFreeDVMode(FreeDVModSettings::FreeDVMode mode)
 
quint32 m_audioSampleRate
 
Real m_interpolatorDistanceRemain
 
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
 
AudioResampler m_audioResampler
 
virtual int getNbSinkStreams() const
 
int m_SSBFilterBufferIndex
 
uint32_t getAudioSampleRate() const
 
void networkManagerFinished(QNetworkReply *reply)
 
void applySettings(const FreeDVModSettings &settings, bool force=false)
 
void pullAF(Complex &sample)
 
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport &response)
 
int m_inputFrequencyOffset
 
virtual int webapiSettingsPutPatch(bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
 
ThreadedBasebandSampleSource * m_threadedChannelizer
 
static const int m_ssbFftLen
 
virtual void getTitle(QString &title)
 
virtual int webapiSettingsGet(SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
 
void setSpectrumSampleSink(BasebandSampleSink *sampleSink)
 
static MsgReportFileSourceStreamData * create(int sampleRate, quint32 recordLength)
 
quint32 m_recordLength
record length in seconds computed from file size 
 
static MsgReportFileSourceStreamTiming * create(std::size_t samplesCount)
 
virtual void getIdentifier(QString &id)
 
float m_scaleFactor
divide by this amount to scale from int16 to float in [-1.0, 1.0] interval 
 
bool m_interpolatorConsumed
 
std::complex< float > cmplx
 
FreeDVModSettings m_settings
 
void applyChannelSettings(int basebandSampleRate, int outputSampleRate, int inputFrequencyOffset, bool force=false)
 
Interpolator m_interpolator
 
static const QString m_channelId
 
void seekFileStream(int seekPercentage)
 
static const int m_levelNbSamples
 
#define MESSAGE_CLASS_DECLARATION
 
AudioVector m_audioBuffer
 
MovingAverageUtil< double, double, 16 > m_movingAverage
 
QNetworkAccessManager * m_networkManager
 
Real getLowCutoff() const
 
MsgReportFileSourceStreamData(int sampleRate, quint32 recordLength)
 
quint64 m_fileSize
raw file size (bytes) 
 
void webapiReverseSendCWSettings(const CWKeyerSettings &settings)
 
virtual void pullAudio(int nbSamples)
 
void applyAudioSampleRate(int sampleRate)
 
std::size_t getSamplesCount() const
 
SampleVector m_sampleBuffer
 
virtual int webapiReportGet(SWGSDRangel::SWGChannelReport &response, QString &errorMessage)
 
virtual void pull(Sample &sample)
 
int getSampleRate() const
 
quint32 getRecordLength() const
 
virtual int getNbSourceStreams() const
 
void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples)
 
void calculateLevel(Complex &sample)
 
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed. 
 
MsgReportFileSourceStreamTiming(std::size_t samplesCount)
 
static const QString m_channelIdURI
 
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings &response, const FreeDVModSettings &settings)
 
virtual bool deserialize(const QByteArray &data)
 
std::size_t m_samplesCount
 
virtual QByteArray serialize() const
 
qint64 m_inputFrequencyOffset
 
std::complex< Real > Complex
 
uint32_t getModemSampleRate() const
 
UpChannelizer * m_channelizer
 
virtual qint64 getCenterFrequency() const
Applies to a default stream. 
 
BasebandSampleSink * m_sampleSink
 
Complex * m_SSBFilterBuffer