1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-25 13:35:23 -04:00

ATV Demod: feed the video signal scope only if the scope tab is selected

This commit is contained in:
f4exb 2017-03-24 12:57:49 +01:00
parent 4ef2386945
commit d292e2a040
4 changed files with 25 additions and 9 deletions

View File

@ -99,7 +99,8 @@ void ATVDemod::configure(
float fltVoltLevelSynchroBlack, float fltVoltLevelSynchroBlack,
bool blnHSync, bool blnHSync,
bool blnVSync, bool blnVSync,
bool blnInvertVideo) bool blnInvertVideo,
int intVideoTabIndex)
{ {
Message* msgCmd = MsgConfigureATVDemod::create( Message* msgCmd = MsgConfigureATVDemod::create(
fltLineDurationUs, fltLineDurationUs,
@ -110,7 +111,8 @@ void ATVDemod::configure(
fltVoltLevelSynchroBlack, fltVoltLevelSynchroBlack,
blnHSync, blnHSync,
blnVSync, blnVSync,
blnInvertVideo); blnInvertVideo,
intVideoTabIndex);
objMessageQueue->push(msgCmd); objMessageQueue->push(msgCmd);
} }
@ -223,7 +225,7 @@ void ATVDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto
} }
} }
if(m_objScopeSink != 0) if ((m_objRunning.m_intVideoTabIndex == 1) && (m_objScopeSink != 0)) // do only if scope tab is selected and scope is available
{ {
m_objScopeSink->feed(m_objScopeSampleBuffer.begin(), m_objScopeSampleBuffer.end(), false); // m_ssb = positive only m_objScopeSink->feed(m_objScopeSampleBuffer.begin(), m_objScopeSampleBuffer.end(), false); // m_ssb = positive only
} }

View File

@ -66,6 +66,7 @@ public:
bool m_blnHSync; bool m_blnHSync;
bool m_blnVSync; bool m_blnVSync;
bool m_blnInvertVideo; bool m_blnInvertVideo;
int m_intVideoTabIndex;
ATVConfig() : ATVConfig() :
m_intSampleRate(0), m_intSampleRate(0),
@ -77,7 +78,8 @@ public:
m_fltVoltLevelSynchroBlack(1.0f), m_fltVoltLevelSynchroBlack(1.0f),
m_blnHSync(false), m_blnHSync(false),
m_blnVSync(false), m_blnVSync(false),
m_blnInvertVideo(false) m_blnInvertVideo(false),
m_intVideoTabIndex(0)
{ {
} }
}; };
@ -142,7 +144,8 @@ public:
float fltVoltLevelSynchroBlack, float fltVoltLevelSynchroBlack,
bool blnHSync, bool blnHSync,
bool blnVSync, bool blnVSync,
bool blnInvertVideo); bool blnInvertVideo,
int intVideoTabIndex);
void configureRF(MessageQueue* objMessageQueue, void configureRF(MessageQueue* objMessageQueue,
ATVModulation enmModulation, ATVModulation enmModulation,
@ -188,7 +191,8 @@ private:
float fltVoltLevelSynchroBlack, float fltVoltLevelSynchroBlack,
bool blnHSync, bool blnHSync,
bool blnVSync, bool blnVSync,
bool blnInvertVideo) bool blnInvertVideo,
int intVideoTabIndex)
{ {
return new MsgConfigureATVDemod( return new MsgConfigureATVDemod(
fltLineDurationUs, fltLineDurationUs,
@ -199,7 +203,8 @@ private:
fltVoltLevelSynchroBlack, fltVoltLevelSynchroBlack,
blnHSync, blnHSync,
blnVSync, blnVSync,
blnInvertVideo); blnInvertVideo,
intVideoTabIndex);
} }
ATVConfig m_objMsgConfig; ATVConfig m_objMsgConfig;
@ -214,7 +219,8 @@ private:
float fltVoltLevelSynchroBlack, float fltVoltLevelSynchroBlack,
bool blnHSync, bool blnHSync,
bool blnVSync, bool blnVSync,
bool blnInvertVideo) : bool blnInvertVideo,
int intVideoTabIndex) :
Message() Message()
{ {
m_objMsgConfig.m_fltVoltLevelSynchroBlack = fltVoltLevelSynchroBlack; m_objMsgConfig.m_fltVoltLevelSynchroBlack = fltVoltLevelSynchroBlack;
@ -226,6 +232,7 @@ private:
m_objMsgConfig.m_blnHSync = blnHSync; m_objMsgConfig.m_blnHSync = blnHSync;
m_objMsgConfig.m_blnVSync = blnVSync; m_objMsgConfig.m_blnVSync = blnVSync;
m_objMsgConfig.m_blnInvertVideo = blnInvertVideo; m_objMsgConfig.m_blnInvertVideo = blnInvertVideo;
m_objMsgConfig.m_intVideoTabIndex = intVideoTabIndex;
} }
}; };

View File

@ -370,7 +370,8 @@ void ATVDemodGUI::applySettings()
ui->blackLevel->value() / 1000.0f, ui->blackLevel->value() / 1000.0f,
ui->hSync->isChecked(), ui->hSync->isChecked(),
ui->vSync->isChecked(), ui->vSync->isChecked(),
ui->invertVideo->isChecked()); ui->invertVideo->isChecked(),
ui->screenTabWidget->currentIndex());
qDebug() << "ATVDemodGUI::applySettings:" qDebug() << "ATVDemodGUI::applySettings:"
<< " m_objChannelizer.inputSampleRate: " << m_objChannelizer->getInputSampleRate() << " m_objChannelizer.inputSampleRate: " << m_objChannelizer->getInputSampleRate()
@ -617,6 +618,11 @@ void ATVDemodGUI::on_fmDeviation_valueChanged(int value)
applyRFSettings(); applyRFSettings();
} }
void ATVDemodGUI::on_screenTabWidget_currentChanged(int index)
{
applySettings();
}
void ATVDemodGUI::lineTimeUpdate() void ATVDemodGUI::lineTimeUpdate()
{ {
float nominalLineTime = getNominalLineTime(ui->nbLines->currentIndex(), ui->fps->currentIndex()); float nominalLineTime = getNominalLineTime(ui->nbLines->currentIndex(), ui->fps->currentIndex());

View File

@ -84,6 +84,7 @@ private slots:
void on_deltaFrequencyMinus_toggled(bool minus); void on_deltaFrequencyMinus_toggled(bool minus);
void on_bfo_valueChanged(int value); void on_bfo_valueChanged(int value);
void on_fmDeviation_valueChanged(int value); void on_fmDeviation_valueChanged(int value);
void on_screenTabWidget_currentChanged(int index);
private: private:
Ui::ATVDemodGUI* ui; Ui::ATVDemodGUI* ui;