18 #ifndef PLUGINS_CHANNELTX_FILESOURCE_FILESOURCE_H_ 19 #define PLUGINS_CHANNELTX_FILESOURCE_FILESOURCE_H_ 29 #include <QNetworkRequest> 40 class FileSourceThread;
41 class QNetworkAccessManager;
65 m_log2Interp(log2Interp),
66 m_filterChainHash(filterChainHash)
186 m_seekMillis(seekMillis)
206 m_acquisition(acquisition)
225 m_playPause(playPause)
241 quint64 centerFrequency,
242 quint64 startingTimeStamp,
243 quint64 recordLength)
257 quint64 centerFrequency,
258 quint64 startingTimeStamp,
259 quint64 recordLength) :
261 m_sampleRate(sampleRate),
262 m_sampleSize(sampleSize),
263 m_centerFrequency(centerFrequency),
264 m_startingTimeStamp(startingTimeStamp),
265 m_recordLength(recordLength)
285 m_samplesCount(samplesCount)
293 bool isOK()
const {
return m_ok; }
315 virtual void start();
329 (void) sinkElseSource;
338 QString& errorMessage);
342 const QStringList& channelSettingsKeys,
344 QString& errorMessage);
348 QString& errorMessage);
434 #endif // PLUGINS_CHANNELTX_FILESOURCE_FILESOURCE_H_ int getSampleRate() const
void applySettings(const FileSourceSettings &settings, bool force=false)
quint64 m_startingTimeStamp
void setCenterFrequency(uint64_t centerFrequency)
QNetworkAccessManager * m_networkManager
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings &response, const FileSourceSettings &settings)
MsgSampleRateNotification(int sampleRate)
quint64 getRecordLength() const
quint64 m_startingTimeStamp
static MsgReportFileSourceAcquisition * create(bool acquisition)
MsgReportFileSourceStreamTiming(quint64 samplesCount)
quint64 getSamplesCount() const
void setSampleRate(uint32_t sampleRate)
quint64 getSamplesCount() const
bool getPlayPause() const
virtual qint64 getStreamCenterFrequency(int streamIndex, bool sinkElseSource) const
void networkManagerFinished(QNetworkReply *reply)
uint32_t m_fileSampleRate
MsgReportFileSourceStreamData(int sampleRate, quint32 sampleSize, quint64 centerFrequency, quint64 startingTimeStamp, quint64 recordLength)
virtual QByteArray serialize() const
virtual int webapiReportGet(SWGSDRangel::SWGChannelReport &response, QString &errorMessage)
virtual qint64 getCenterFrequency() const
Applies to a default stream.
void calculateFrequencyOffset()
UpChannelizer * m_channelizer
virtual int getNbSourceStreams() const
void validateFilterChainHash(FileSourceSettings &settings)
virtual void pull(Sample &sample)
QNetworkRequest m_networkRequest
bool getAcquisition() const
virtual int getNbSinkStreams() const
int getSampleRate() const
void getMagSqLevels(double &avg, double &peak, int &nbSamples)
quint64 getCenterFrequency() const
void seekFileStream(int seekMillis)
#define MESSAGE_CLASS_DECLARATION
virtual void getTitle(QString &title)
static const QString m_channelId
virtual int webapiSettingsPutPatch(bool force, const QStringList &channelSettingsKeys, SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
static MsgReportFileSourceStreamTiming * create(quint64 samplesCount)
virtual void getIdentifier(QString &id)
virtual bool deserialize(const QByteArray &data)
static MsgPlayPause * create(bool playPause)
quint64 getStartingTimeStamp() const
quint64 m_recordLength
record length in seconds computed from file size
MsgReportFileSourceAcquisition(bool acquisition)
int64_t m_frequencyOffset
ThreadedBasebandSampleSource * m_threadedChannelizer
quint64 m_centerFrequency
quint64 m_centerFrequency
virtual bool handleMessage(const Message &cmd)
Processing of a message. Returns true if message has actually been processed.
quint32 getSampleSize() const
virtual void pullAudio(int nbSamples)
static MsgSampleRateNotification * create(int sampleRate)
FileSourceSettings m_settings
uint32_t m_deviceSampleRate
virtual int webapiSettingsGet(SWGSDRangel::SWGChannelSettings &response, QString &errorMessage)
static MsgReportFileSourceStreamData * create(int sampleRate, quint32 sampleSize, quint64 centerFrequency, quint64 startingTimeStamp, quint64 recordLength)
void webapiReverseSendSettings(QList< QString > &channelSettingsKeys, const FileSourceSettings &settings, bool force)
MovingAverageUtil< Real, double, 16 > m_movingAverage
MagSqLevelsStore m_magSqLevelStore
MsgPlayPause(bool playPause)
static const QString m_channelIdURI
void webapiFormatChannelReport(SWGSDRangel::SWGChannelReport &response)
FileSource(DeviceAPI *deviceAPI)
unsigned __int64 uint64_t