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