1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-02-03 09:44:01 -05:00

WFM modulator: pull a number of input audio samples depending on total interpolation. Fixes issue #43

This commit is contained in:
f4exb 2017-08-06 17:48:18 +02:00
parent 18b22b58fb
commit a81a642db9
3 changed files with 8 additions and 4 deletions

View File

@ -168,7 +168,7 @@ void WFMMod::pull(Sample& sample)
void WFMMod::pullAudio(int nbSamples)
{
unsigned int nbSamplesAudio = nbSamples * m_interpolatorDistance;
unsigned int nbSamplesAudio = nbSamples * ((Real) m_config.m_audioSampleRate / (Real) m_config.m_basebandSampleRate);
if (nbSamplesAudio > m_audioBuffer.size())
{
@ -295,13 +295,15 @@ bool WFMMod::handleMessage(const Message& cmd)
{
UpChannelizer::MsgChannelizerNotification& notif = (UpChannelizer::MsgChannelizerNotification&) cmd;
m_config.m_outputSampleRate = notif.getSampleRate();
m_config.m_basebandSampleRate = notif.getBasebandSampleRate();
m_config.m_outputSampleRate = notif.getSampleRate();
m_config.m_inputFrequencyOffset = notif.getFrequencyOffset();
apply();
qDebug() << "WFMMod::handleMessage: MsgChannelizerNotification:"
<< " m_outputSampleRate: " << m_config.m_outputSampleRate
<< " m_basebandSampleRate: " << m_config.m_basebandSampleRate
<< " m_outputSampleRate: " << m_config.m_outputSampleRate
<< " m_inputFrequencyOffset: " << m_config.m_inputFrequencyOffset;
return true;

View File

@ -278,6 +278,7 @@ private:
};
struct Config {
int m_basebandSampleRate;
int m_outputSampleRate;
qint64 m_inputFrequencyOffset;
Real m_rfBandwidth;
@ -290,6 +291,7 @@ private:
bool m_playLoop;
Config() :
m_basebandSampleRate(0),
m_outputSampleRate(-1),
m_inputFrequencyOffset(0),
m_rfBandwidth(-1),

View File

@ -23,7 +23,7 @@
const PluginDescriptor WFMModPlugin::m_pluginDescriptor = {
QString("WFM Modulator"),
QString("3.5.0"),
QString("3.5.4"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,