18 #ifndef PLUGINS_CHANNELTX_MODNFM_NFMMOD_H_ 19 #define PLUGINS_CHANNELTX_MODNFM_NFMMOD_H_ 26 #include <QNetworkRequest> 46 class QNetworkAccessManager;
94 m_sampleRate(sampleRate),
95 m_centerFrequency(centerFrequency)
137 m_seekPercentage(seekPercentage)
175 m_samplesCount(samplesCount)
187 quint32 recordLength)
197 quint32 recordLength) :
199 m_sampleRate(sampleRate),
200 m_recordLength(recordLength)
212 virtual void start();
229 (void) sinkElseSource;
235 QString& errorMessage);
239 const QStringList& channelSettingsKeys,
241 QString& errorMessage);
245 QString& errorMessage);
261 void levelChanged(qreal rmsLevel, qreal peakLevel,
int numSamples);
334 void applyChannelSettings(
int basebandSampleRate,
int outputSampleRate,
int inputFrequencyOffset,
bool force =
false);
NFMModSettings::NFMModInputAF m_afInput
void webapiReverseSendSettings(QList< QString > &channelSettingsKeys, const NFMModSettings &settings, bool force)
void processOneSample(Complex &ci)
static const int m_levelNbSamples
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport &response)
void calculateLevel(Real &sample)
std::size_t getSamplesCount() const
static const QString m_channelIdURI
uint m_feedbackAudioBufferFill
virtual int getNbSourceStreams() const
std::vector< Sample > SampleVector
std::vector< AudioSample > AudioVector
void networkManagerFinished(QNetworkReply *reply)
void pushFeedback(Real sample)
void applyChannelSettings(int basebandSampleRate, int outputSampleRate, int inputFrequencyOffset, bool force=false)
void pullAF(Real &sample)
quint32 getRecordLength() const
void webapiReverseSendCWSettings(const CWKeyerSettings &settings)
Bandpass< Real > m_bandpass
Interpolator m_feedbackInterpolator
MsgReportFileSourceStreamData(int sampleRate, quint32 recordLength)
int getSampleRate() const
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings &response, const NFMModSettings &settings)
Interpolator m_interpolator
virtual int webapiSettingsGet(SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
virtual int webapiSettingsPutPatch(bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
virtual int getNbSinkStreams() const
static MsgReportFileSourceStreamData * create(int sampleRate, quint32 recordLength)
std::size_t m_samplesCount
virtual bool deserialize(const QByteArray &data)
qint64 m_inputFrequencyOffset
AudioVector m_audioBuffer
virtual void pullAudio(int nbSamples)
#define MESSAGE_CLASS_DECLARATION
quint32 m_recordLength
record length in seconds computed from file size
AudioVector m_feedbackAudioBuffer
Real m_interpolatorDistanceRemain
virtual void pull(Sample &sample)
MovingAverageUtil< double, double, 16 > m_movingAverage
static MsgReportFileSourceStreamTiming * create(std::size_t samplesCount)
quint32 m_feedbackAudioSampleRate
virtual void getIdentifier(QString &id)
virtual QByteArray serialize() const
UpChannelizer * m_channelizer
SampleVector m_sampleBuffer
void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples)
NFMModSettings m_settings
Real m_feedbackInterpolatorDistance
QNetworkRequest m_networkRequest
virtual qint64 getCenterFrequency() const
Applies to a default stream.
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed.
void seekFileStream(int seekPercentage)
bool m_interpolatorConsumed
MsgReportFileSourceStreamTiming(std::size_t samplesCount)
void applySettings(const NFMModSettings &settings, bool force=false)
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
quint32 m_audioSampleRate
Lowpass< Real > m_lowpass
QNetworkAccessManager * m_networkManager
NFMMod(DeviceAPI *deviceAPI)
void applyFeedbackAudioSampleRate(unsigned int sampleRate)
static const QString m_channelId
ThreadedBasebandSampleSource * m_threadedChannelizer
quint64 m_fileSize
raw file size (bytes)
float m_modPhasor
baseband modulator phasor
AudioFifo m_feedbackAudioFifo
bool m_feedbackInterpolatorConsumed
virtual int webapiReportGet(SWGSDRangel::SWGChannelReport &response, QString &errorMessage)
std::complex< Real > Complex
virtual void getTitle(QString &title)
void applyAudioSampleRate(int sampleRate)
int m_inputFrequencyOffset
Real m_interpolatorDistance
Real m_feedbackInterpolatorDistanceRemain