SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Public Slots | Public Member Functions | Static Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
ATVModGUI Class Reference

#include <atvmodgui.h>

+ Inheritance diagram for ATVModGUI:
+ Collaboration diagram for ATVModGUI:

Public Slots

void channelMarkerChangedByCursor ()
 

Public Member Functions

virtual void destroy ()
 
void setName (const QString &name)
 
QString getName () const
 
virtual qint64 getCenterFrequency () const
 
virtual void setCenterFrequency (qint64 centerFrequency)
 
void resetToDefaults ()
 
QByteArray serialize () const
 
bool deserialize (const QByteArray &data)
 
virtual MessageQueuegetInputMessageQueue ()
 
virtual bool handleMessage (const Message &message)
 
- Public Member Functions inherited from RollupWidget
 RollupWidget (QWidget *parent=NULL)
 
void setTitleColor (const QColor &c)
 
void setHighlighted (bool highlighted)
 
- Public Member Functions inherited from PluginInstanceGUI
 PluginInstanceGUI ()
 
virtual ~PluginInstanceGUI ()
 

Static Public Member Functions

static ATVModGUIcreate (PluginAPI *pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
 

Private Slots

void handleSourceMessages ()
 
void on_deltaFrequency_changed (qint64 value)
 
void on_channelMute_toggled (bool checked)
 
void on_forceDecimator_toggled (bool checked)
 
void on_modulation_currentIndexChanged (int index)
 
void on_rfScaling_valueChanged (int value)
 
void on_fmExcursion_valueChanged (int value)
 
void on_rfBW_valueChanged (int value)
 
void on_rfOppBW_valueChanged (int value)
 
void on_nbLines_currentIndexChanged (int index)
 
void on_fps_currentIndexChanged (int index)
 
void on_standard_currentIndexChanged (int index)
 
void on_invertVideo_clicked (bool checked)
 
void on_uniformLevel_valueChanged (int value)
 
void on_inputSelect_currentIndexChanged (int index)
 
void on_imageFileDialog_clicked (bool checked)
 
void on_videoFileDialog_clicked (bool checked)
 
void on_playVideo_toggled (bool checked)
 
void on_playLoop_toggled (bool checked)
 
void on_navTimeSlider_valueChanged (int value)
 
void on_playCamera_toggled (bool checked)
 
void on_camSelect_currentIndexChanged (int index)
 
void on_cameraManualFPSEnable_toggled (bool checked)
 
void on_cameraManualFPS_valueChanged (int value)
 
void on_overlayTextShow_toggled (bool checked)
 
void on_overlayText_textEdited (const QString &arg1)
 
void onWidgetRolled (QWidget *widget, bool rollDown)
 
void onMenuDialogCalled (const QPoint &p)
 
void configureImageFileName ()
 
void configureVideoFileName ()
 
void tick ()
 

Private Member Functions

 ATVModGUI (PluginAPI *pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget *parent=0)
 
virtual ~ATVModGUI ()
 
void blockApplySettings (bool block)
 
void applySettings (bool force=false)
 
void displaySettings ()
 
void updateWithStreamData ()
 
void updateWithStreamTime ()
 
void setRFFiltersSlidersRange (int sampleRate)
 
void setChannelMarkerBandwidth ()
 
int getNbLines ()
 
int getFPS ()
 
int getNbLinesIndex (int nbLines)
 
int getFPSIndex (int fps)
 
void leaveEvent (QEvent *)
 
void enterEvent (QEvent *)
 

Private Attributes

Ui::ATVModGUI * ui
 
PluginAPIm_pluginAPI
 
DeviceUISetm_deviceUISet
 
ChannelMarker m_channelMarker
 
ATVModSettings m_settings
 
bool m_doApplySettings
 
ATVModm_atvMod
 
MovingAverageUtil< double, double, 20 > m_channelPowerDbAvg
 
QString m_imageFileName
 
QString m_videoFileName
 
quint32 m_videoLength
 video file length in seconds More...
 
float m_videoFrameRate
 video file frame rate More...
 
int m_frameCount
 
std::size_t m_tickCount
 
bool m_enableNavTime
 
QMessageBox * m_camBusyFPSMessageBox
 
int m_rfSliderDivisor
 
MessageQueue m_inputMessageQueue
 

Additional Inherited Members

- Signals inherited from RollupWidget
void widgetRolled (QWidget *widget, bool rollDown)
 
- Protected Types inherited from RollupWidget
enum  { VersionMarker = 0xff }
 
enum  ContextMenuType { ContextMenuNone, ContextMenuChannelSettings, ContextMenuStreamSettings }
 
- Protected Member Functions inherited from RollupWidget
int arrangeRollups ()
 
QByteArray saveState (int version=0) const
 
bool restoreState (const QByteArray &state, int version=0)
 
void paintEvent (QPaintEvent *)
 
int paintRollup (QWidget *rollup, int pos, QPainter *p, bool last, const QColor &frame)
 
void resizeEvent (QResizeEvent *size)
 
void mousePressEvent (QMouseEvent *event)
 
bool event (QEvent *event)
 
bool eventFilter (QObject *object, QEvent *event)
 
void resetContextMenuType ()
 
void setStreamIndicator (const QString &indicator)
 
- Protected Attributes inherited from RollupWidget
QColor m_titleColor
 
QColor m_titleTextColor
 
bool m_highlighted
 
ContextMenuType m_contextMenuType
 
QString m_streamIndicator
 

Detailed Description

Definition at line 39 of file atvmodgui.h.

Constructor & Destructor Documentation

◆ ATVModGUI()

ATVModGUI::ATVModGUI ( PluginAPI pluginAPI,
DeviceUISet deviceUISet,
BasebandSampleSource channelTx,
QWidget *  parent = 0 
)
explicitprivate

Definition at line 647 of file atvmodgui.cpp.

References DeviceUISet::addChannelMarker(), DeviceUISet::addRollupWidget(), applySettings(), arg(), channelMarkerChangedByCursor(), displaySettings(), ATVMod::getCameraNumbers(), ChannelMarker::getColor(), getInputMessageQueue(), MainWindow::getInstance(), ColorMapper::GrayGold, handleSourceMessages(), m_atvMod, ATVMod::m_channelIdURI, m_channelMarker, m_deviceUISet, ATVModSettings::m_rgbColor, m_settings, onMenuDialogCalled(), onWidgetRolled(), DeviceUISet::registerTxChannelInstance(), resetToDefaults(), ChannelMarker::setBandwidth(), ChannelMarker::setCenterFrequency(), ATVModSettings::setChannelMarker(), ChannelMarker::setColor(), BasebandSampleSource::setMessageQueueToGUI(), ChannelMarker::setSourceOrSinkStream(), ChannelMarker::setTitle(), RollupWidget::setTitleColor(), ChannelMarker::setVisible(), tick(), ui, and RollupWidget::widgetRolled().

Referenced by create().

647  :
648  RollupWidget(parent),
649  ui(new Ui::ATVModGUI),
650  m_pluginAPI(pluginAPI),
651  m_deviceUISet(deviceUISet),
652  m_channelMarker(this),
653  m_doApplySettings(true),
654  m_videoLength(0),
655  m_videoFrameRate(48000),
656  m_frameCount(0),
657  m_tickCount(0),
658  m_enableNavTime(false),
660  m_rfSliderDivisor(100000)
661 {
662  ui->setupUi(this);
663  setAttribute(Qt::WA_DeleteOnClose, true);
664  connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
665  connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
666 
667  m_atvMod = (ATVMod*) channelTx; //new ATVMod(m_deviceUISet->m_deviceSinkAPI);
669 
670  connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
671 
672  ui->deltaFrequencyLabel->setText(QString("%1f").arg(QChar(0x94, 0x03)));
673  ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
674  ui->deltaFrequency->setValueRange(false, 7, -9999999, 9999999);
675 
676  m_channelMarker.blockSignals(true);
680  m_channelMarker.setTitle("ATV Modulator");
682  m_channelMarker.blockSignals(false);
683  m_channelMarker.setVisible(true); // activate signal on the last setting only
684 
687 
691 
692  connect(&m_channelMarker, SIGNAL(changedByCursor()), this, SLOT(channelMarkerChangedByCursor()));
693 
694  resetToDefaults();
695 
696  connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
697  connect(m_atvMod, SIGNAL(levelChanged(qreal, qreal, int)), ui->volumeMeter, SLOT(levelChanged(qreal, qreal, int)));
698 
699  std::vector<int> cameraNumbers;
700  m_atvMod->getCameraNumbers(cameraNumbers);
701 
702  for (std::vector<int>::iterator it = cameraNumbers.begin(); it != cameraNumbers.end(); ++it) {
703  ui->camSelect->addItem(tr("%1").arg(*it));
704  }
705 
706  QChar delta = QChar(0x94, 0x03);
707  ui->fmExcursionLabel->setText(delta);
708 
709  displaySettings();
710  applySettings(true);
711 }
static MainWindow * getInstance()
Definition: mainwindow.h:73
static const QString m_channelIdURI
Definition: atvmod.h:406
void registerTxChannelInstance(const QString &channelName, PluginInstanceGUI *pluginGUI)
Definition: deviceuiset.cpp:88
void resetToDefaults()
Definition: atvmodgui.cpp:69
void onMenuDialogCalled(const QPoint &p)
Definition: atvmodgui.cpp:615
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
quint32 m_videoLength
video file length in seconds
Definition: atvmodgui.h:73
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
quint32 m_rgbColor
bool m_doApplySettings
Definition: atvmodgui.h:66
void channelMarkerChangedByCursor()
Definition: atvmodgui.cpp:180
virtual MessageQueue * getInputMessageQueue()
Definition: atvmodgui.h:54
void addChannelMarker(ChannelMarker *channelMarker)
Add channel marker to spectrum.
Definition: deviceuiset.cpp:72
void handleSourceMessages()
Definition: atvmodgui.cpp:359
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
int m_rfSliderDivisor
Definition: atvmodgui.h:79
RollupWidget(QWidget *parent=NULL)
Definition: rollupwidget.cpp:7
float m_videoFrameRate
video file frame rate
Definition: atvmodgui.h:74
PluginAPI * m_pluginAPI
Definition: atvmodgui.h:62
void setSourceOrSinkStream(bool sourceOrSinkStream)
Definition: channelmarker.h:75
void setTitleColor(const QColor &c)
void getCameraNumbers(std::vector< int > &numbers)
Definition: atvmod.cpp:990
void addRollupWidget(QWidget *widget)
Add rollup widget to channel window.
Definition: deviceuiset.cpp:77
virtual void setMessageQueueToGUI(MessageQueue *queue)
QMessageBox * m_camBusyFPSMessageBox
Definition: atvmodgui.h:78
void displaySettings()
Definition: atvmodgui.cpp:738
DeviceUISet * m_deviceUISet
Definition: atvmodgui.h:63
void tick()
Definition: atvmodgui.cpp:807
ATVMod * m_atvMod
Definition: atvmodgui.h:68
bool m_enableNavTime
Definition: atvmodgui.h:77
void setColor(const QColor &color)
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
Definition: atvmod.h:49
void onWidgetRolled(QWidget *widget, bool rollDown)
Definition: atvmodgui.cpp:609
std::size_t m_tickCount
Definition: atvmodgui.h:76
void setVisible(bool visible)
void setBandwidth(int bandwidth)
const QColor & getColor() const
Definition: channelmarker.h:64
void setTitle(const QString &title)
int m_frameCount
Definition: atvmodgui.h:75
void setCenterFrequency(int centerFrequency)
void widgetRolled(QWidget *widget, bool rollDown)
ATVModSettings m_settings
Definition: atvmodgui.h:65
void setChannelMarker(Serializable *channelMarker)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~ATVModGUI()

ATVModGUI::~ATVModGUI ( )
privatevirtual

Definition at line 713 of file atvmodgui.cpp.

References m_atvMod, m_deviceUISet, DeviceUISet::removeTxChannelInstance(), and ui.

714 {
716  delete m_atvMod; // TODO: check this: when the GUI closes it has to delete the modulator
717  delete ui;
718 }
void removeTxChannelInstance(PluginInstanceGUI *pluginGUI)
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
DeviceUISet * m_deviceUISet
Definition: atvmodgui.h:63
ATVMod * m_atvMod
Definition: atvmodgui.h:68
+ Here is the call graph for this function:

Member Function Documentation

◆ applySettings()

void ATVModGUI::applySettings ( bool  force = false)
private

Definition at line 725 of file atvmodgui.cpp.

References ATVMod::MsgConfigureATVMod::create(), ATVMod::MsgConfigureChannelizer::create(), ChannelMarker::getCenterFrequency(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, m_channelMarker, m_doApplySettings, m_settings, and MessageQueue::push().

Referenced by ATVModGUI(), channelMarkerChangedByCursor(), deserialize(), on_channelMute_toggled(), on_deltaFrequency_changed(), on_fmExcursion_valueChanged(), on_forceDecimator_toggled(), on_fps_currentIndexChanged(), on_inputSelect_currentIndexChanged(), on_invertVideo_clicked(), on_modulation_currentIndexChanged(), on_nbLines_currentIndexChanged(), on_overlayText_textEdited(), on_overlayTextShow_toggled(), on_playCamera_toggled(), on_playLoop_toggled(), on_playVideo_toggled(), on_rfBW_valueChanged(), on_rfOppBW_valueChanged(), on_rfScaling_valueChanged(), on_standard_currentIndexChanged(), on_uniformLevel_valueChanged(), onMenuDialogCalled(), and setCenterFrequency().

726 {
727  if (m_doApplySettings)
728  {
731  m_atvMod->getInputMessageQueue()->push(msgChan);
732 
735  }
736 }
int getCenterFrequency() const
Definition: channelmarker.h:42
void push(Message *message, bool emitSignal=true)
Push message onto queue.
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
bool m_doApplySettings
Definition: atvmodgui.h:66
ATVMod * m_atvMod
Definition: atvmodgui.h:68
static MsgConfigureATVMod * create(const ATVModSettings &settings, bool force)
Definition: atvmod.h:60
static MsgConfigureChannelizer * create(int centerFrequency)
Definition: atvmod.h:82
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blockApplySettings()

void ATVModGUI::blockApplySettings ( bool  block)
private

Definition at line 720 of file atvmodgui.cpp.

References m_doApplySettings.

Referenced by displaySettings(), and handleMessage().

721 {
722  m_doApplySettings = !block;
723 }
bool m_doApplySettings
Definition: atvmodgui.h:66
+ Here is the caller graph for this function:

◆ channelMarkerChangedByCursor

void ATVModGUI::channelMarkerChangedByCursor ( )
slot

Definition at line 180 of file atvmodgui.cpp.

References applySettings(), ChannelMarker::getCenterFrequency(), m_channelMarker, ATVModSettings::m_inputFrequencyOffset, m_settings, and ui.

Referenced by ATVModGUI().

181 {
182  ui->deltaFrequency->setValue(m_channelMarker.getCenterFrequency());
184  applySettings();
185 }
int getCenterFrequency() const
Definition: channelmarker.h:42
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
qint64 m_inputFrequencyOffset
offset from baseband center frequency
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ configureImageFileName

void ATVModGUI::configureImageFileName ( )
privateslot

Definition at line 595 of file atvmodgui.cpp.

References ATVMod::MsgConfigureImageFileName::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, m_imageFileName, and MessageQueue::push().

Referenced by on_imageFileDialog_clicked().

596 {
597  qDebug() << "ATVModGUI::configureImageFileName: " << m_imageFileName.toStdString().c_str();
599  m_atvMod->getInputMessageQueue()->push(message);
600 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
static MsgConfigureImageFileName * create(const QString &fileName)
Definition: atvmod.h:103
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
QString m_imageFileName
Definition: atvmodgui.h:71
ATVMod * m_atvMod
Definition: atvmodgui.h:68
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ configureVideoFileName

void ATVModGUI::configureVideoFileName ( )
privateslot

Definition at line 602 of file atvmodgui.cpp.

References ATVMod::MsgConfigureVideoFileName::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, m_videoFileName, and MessageQueue::push().

Referenced by on_videoFileDialog_clicked().

603 {
604  qDebug() << "ATVModGUI::configureVideoFileName: " << m_videoFileName.toStdString().c_str();
606  m_atvMod->getInputMessageQueue()->push(message);
607 }
static MsgConfigureVideoFileName * create(const QString &fileName)
Definition: atvmod.h:124
void push(Message *message, bool emitSignal=true)
Push message onto queue.
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
ATVMod * m_atvMod
Definition: atvmodgui.h:68
QString m_videoFileName
Definition: atvmodgui.h:72
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ATVModGUI * ATVModGUI::create ( PluginAPI pluginAPI,
DeviceUISet deviceUISet,
BasebandSampleSource channelTx 
)
static

Definition at line 38 of file atvmodgui.cpp.

References ATVModGUI().

Referenced by ATVModPlugin::createTxChannelGUI().

39 {
40  ATVModGUI* gui = new ATVModGUI(pluginAPI, deviceUISet, channelTx);
41  return gui;
42 }
ATVModGUI(PluginAPI *pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget *parent=0)
Definition: atvmodgui.cpp:647
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deserialize()

bool ATVModGUI::deserialize ( const QByteArray &  data)
virtual

Implements PluginInstanceGUI.

Definition at line 79 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::deserialize(), displaySettings(), m_settings, and ATVModSettings::resetToDefaults().

80 {
81  if(m_settings.deserialize(data))
82  {
84  applySettings(true); // will have true
85  return true;
86  }
87  else
88  {
91  applySettings(true); // will have true
92  return false;
93  }
94 }
void displaySettings()
Definition: atvmodgui.cpp:738
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
bool deserialize(const QByteArray &data)
+ Here is the call graph for this function:

◆ destroy()

void ATVModGUI::destroy ( )
virtual

Implements PluginInstanceGUI.

Definition at line 44 of file atvmodgui.cpp.

45 {
46  delete this;
47 }

◆ displaySettings()

void ATVModGUI::displaySettings ( )
private

Definition at line 738 of file atvmodgui.cpp.

References arg(), blockApplySettings(), ATVMod::getEffectiveSampleRate(), getFPS(), getFPSIndex(), getNbLines(), getNbLinesIndex(), ChannelMarker::getTitle(), m_atvMod, ATVModSettings::m_atvModInput, ATVModSettings::m_atvModulation, ATVModSettings::m_atvStd, ATVModSettings::m_cameraPlay, m_channelMarker, ATVModSettings::m_channelMute, ATVModSettings::m_fmExcursion, ATVModSettings::m_forceDecimator, ATVModSettings::m_fps, ATVModSettings::m_inputFrequencyOffset, ATVModSettings::m_invertedVideo, ATVModSettings::m_nbLines, ATVModSettings::m_overlayText, ATVModSettings::m_rfBandwidth, ATVModSettings::m_rfOppBandwidth, ATVModSettings::m_rfScalingFactor, m_rfSliderDivisor, ATVModSettings::m_rgbColor, m_settings, ATVModSettings::m_showOverlayText, ATVModSettings::m_title, ATVModSettings::m_uniformLevel, ATVModSettings::m_videoPlay, ATVModSettings::m_videoPlayLoop, ChannelMarker::setCenterFrequency(), setChannelMarkerBandwidth(), ChannelMarker::setColor(), setRFFiltersSlidersRange(), ChannelMarker::setTitle(), RollupWidget::setTitleColor(), and ui.

Referenced by ATVModGUI(), deserialize(), and handleMessage().

739 {
740  m_channelMarker.blockSignals(true);
744  m_channelMarker.blockSignals(false);
745  m_channelMarker.setColor(m_settings.m_rgbColor); // activate signal on the last setting only
746 
748  setWindowTitle(m_channelMarker.getTitle());
749 
750  blockApplySettings(true);
751 
752  ui->deltaFrequency->setValue(m_settings.m_inputFrequencyOffset);
753 
754  ui->modulation->setCurrentIndex((int) m_settings.m_atvModulation);
756 
757  ui->rfBW->setValue(roundf(m_settings.m_rfBandwidth / m_rfSliderDivisor));
758  ui->rfBWText->setText(QString("%1k").arg((ui->rfBW->value()*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
759 
760  ui->rfOppBW->setValue(roundf(m_settings.m_rfOppBandwidth / m_rfSliderDivisor));
761  ui->rfOppBWText->setText(QString("%1k").arg((ui->rfOppBW->value()*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
762 
763  ui->forceDecimator->setChecked(m_settings.m_forceDecimator);
764  ui->channelMute->setChecked(m_settings.m_channelMute);
765 
766  ui->fmExcursion->setValue(roundf(m_settings.m_fmExcursion * 1000.0));
767  ui->fmExcursionText->setText(tr("%1").arg(ui->fmExcursion->value() / 10.0, 0, 'f', 1));
768 
769  ui->rfScaling->setValue(roundf(m_settings.m_rfScalingFactor / 327.68f));
770  ui->rfScalingText->setText(tr("%1").arg(ui->rfScaling->value()));
771 
772  int validNbLinesIndex = getNbLinesIndex(m_settings.m_nbLines);
773  ui->nbLines->setCurrentIndex(validNbLinesIndex);
774  m_settings.m_nbLines = getNbLines(); // normalize
775  int validFPSIndex = getFPSIndex(m_settings.m_fps);
776  ui->fps->setCurrentIndex(validFPSIndex);
777  m_settings.m_fps = getFPS(); // normalize
778 
779  ui->standard->setCurrentIndex((int) m_settings.m_atvStd);
780  ui->inputSelect->setCurrentIndex((int) m_settings.m_atvModInput);
781 
782  ui->invertVideo->setChecked(m_settings.m_invertedVideo);
783 
784  ui->uniformLevel->setValue(roundf(m_settings.m_uniformLevel * 100.0));
785  ui->uniformLevelText->setText(QString("%1").arg(ui->uniformLevel->value()));
786 
787  ui->overlayText->setText(m_settings.m_overlayText);
788  ui->overlayTextShow->setChecked(m_settings.m_showOverlayText);
789 
790  ui->playCamera->setChecked(m_settings.m_cameraPlay);
791  ui->playVideo->setChecked(m_settings.m_videoPlay);
792  ui->playLoop->setChecked(m_settings.m_videoPlayLoop);
793 
794  blockApplySettings(false);
795 }
int getFPS()
Definition: atvmodgui.cpp:294
int getEffectiveSampleRate() const
Definition: atvmod.h:399
float m_rfScalingFactor
Scaling factor from +/-1 to +/-2^15.
ATVModulation m_atvModulation
RF modulation type.
void setChannelMarkerBandwidth()
Definition: atvmodgui.cpp:417
int m_nbLines
Number of lines per full frame.
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
quint32 m_rgbColor
qint64 m_inputFrequencyOffset
offset from baseband center frequency
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
QString m_overlayText
int m_rfSliderDivisor
Definition: atvmodgui.h:79
bool m_channelMute
Mute channel baseband output.
int getFPSIndex(int fps)
Definition: atvmodgui.cpp:332
bool m_forceDecimator
Forces decimator even when channel and source sample rates are equal.
int getNbLinesIndex(int nbLines)
Definition: atvmodgui.cpp:261
void setTitleColor(const QColor &c)
int m_fps
Number of frames per second.
int getNbLines()
Definition: atvmodgui.cpp:214
const QString & getTitle() const
Definition: channelmarker.h:38
float m_fmExcursion
FM excursion factor relative to full bandwidth.
bool m_showOverlayText
Show overlay text on image.
bool m_invertedVideo
True if video signal is inverted before modulation.
ATVMod * m_atvMod
Definition: atvmodgui.h:68
ATVStd m_atvStd
Standard.
ATVModInput m_atvModInput
Input source type.
void blockApplySettings(bool block)
Definition: atvmodgui.cpp:720
bool m_videoPlay
True to play video and false to pause.
void setColor(const QColor &color)
bool m_cameraPlay
True to play camera video and false to pause.
Real m_uniformLevel
Percentage between black and white for uniform screen display.
void setTitle(const QString &title)
Real m_rfBandwidth
Bandwidth of modulated signal or direct sideband for SSB / vestigial SSB.
void setCenterFrequency(int centerFrequency)
void setRFFiltersSlidersRange(int sampleRate)
Definition: atvmodgui.cpp:187
Real m_rfOppBandwidth
Bandwidth of opposite sideband for vestigial SSB.
ATVModSettings m_settings
Definition: atvmodgui.h:65
bool m_videoPlayLoop
Play video in a loop.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ enterEvent()

void ATVModGUI::enterEvent ( QEvent *  )
private

Definition at line 802 of file atvmodgui.cpp.

References m_channelMarker, and ChannelMarker::setHighlighted().

803 {
805 }
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
void setHighlighted(bool highlighted)
+ Here is the call graph for this function:

◆ getCenterFrequency()

qint64 ATVModGUI::getCenterFrequency ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 59 of file atvmodgui.cpp.

References ChannelMarker::getCenterFrequency(), and m_channelMarker.

59  {
61 }
int getCenterFrequency() const
Definition: channelmarker.h:42
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
+ Here is the call graph for this function:

◆ getFPS()

int ATVModGUI::getFPS ( )
private

Definition at line 294 of file atvmodgui.cpp.

References ui.

Referenced by displaySettings(), and on_fps_currentIndexChanged().

295 {
296  switch(ui->fps->currentIndex())
297  {
298  case 0:
299  return 30;
300  break;
301  case 2:
302  return 20;
303  break;
304  case 3:
305  return 16;
306  break;
307  case 4:
308  return 12;
309  break;
310  case 5:
311  return 10;
312  break;
313  case 6:
314  return 8;
315  break;
316  case 7:
317  return 5;
318  break;
319  case 8:
320  return 2;
321  break;
322  case 9:
323  return 1;
324  break;
325  case 1:
326  default:
327  return 25;
328  break;
329  }
330 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
+ Here is the caller graph for this function:

◆ getFPSIndex()

int ATVModGUI::getFPSIndex ( int  fps)
private

Definition at line 332 of file atvmodgui.cpp.

Referenced by displaySettings().

333 {
334  if (fps < 1) {
335  return 1;
336  } else if (fps < 2) {
337  return 9;
338  } else if (fps < 5) {
339  return 8;
340  } else if (fps < 8) {
341  return 7;
342  } else if (fps < 10) {
343  return 6;
344  } else if (fps < 12) {
345  return 5;
346  } else if (fps < 16) {
347  return 4;
348  } else if (fps < 20) {
349  return 3;
350  } else if (fps < 25) {
351  return 2;
352  } else if (fps < 30) {
353  return 1;
354  } else {
355  return 0;
356  }
357 }
+ Here is the caller graph for this function:

◆ getInputMessageQueue()

virtual MessageQueue* ATVModGUI::getInputMessageQueue ( )
inlinevirtual

Implements PluginInstanceGUI.

Definition at line 54 of file atvmodgui.h.

Referenced by ATVModGUI(), and handleSourceMessages().

54 { return &m_inputMessageQueue; }
MessageQueue m_inputMessageQueue
Definition: atvmodgui.h:80
+ Here is the caller graph for this function:

◆ getName()

QString ATVModGUI::getName ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 54 of file atvmodgui.cpp.

55 {
56  return objectName();
57 }

◆ getNbLines()

int ATVModGUI::getNbLines ( )
private

Definition at line 214 of file atvmodgui.cpp.

References ui.

Referenced by displaySettings(), and on_nbLines_currentIndexChanged().

215 {
216  switch(ui->nbLines->currentIndex())
217  {
218  case 0:
219  return 640;
220  break;
221  case 2:
222  return 525;
223  break;
224  case 3:
225  return 480;
226  break;
227  case 4:
228  return 405;
229  break;
230  case 5:
231  return 360;
232  break;
233  case 6:
234  return 343;
235  break;
236  case 7:
237  return 240;
238  break;
239  case 8:
240  return 180;
241  break;
242  case 9:
243  return 120;
244  break;
245  case 10:
246  return 90;
247  break;
248  case 11:
249  return 60;
250  break;
251  case 12:
252  return 32;
253  break;
254  case 1:
255  default:
256  return 625;
257  break;
258  }
259 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
+ Here is the caller graph for this function:

◆ getNbLinesIndex()

int ATVModGUI::getNbLinesIndex ( int  nbLines)
private

Definition at line 261 of file atvmodgui.cpp.

Referenced by displaySettings().

262 {
263  if (nbLines < 32) {
264  return 1;
265  } else if (nbLines < 60) {
266  return 12;
267  } else if (nbLines < 90) {
268  return 11;
269  } else if (nbLines < 120) {
270  return 10;
271  } else if (nbLines < 180) {
272  return 9;
273  } else if (nbLines < 240) {
274  return 8;
275  } else if (nbLines < 343) {
276  return 7;
277  } else if (nbLines < 360) {
278  return 6;
279  } else if (nbLines < 405) {
280  return 5;
281  } else if (nbLines < 480) {
282  return 4;
283  } else if (nbLines < 525) {
284  return 3;
285  } else if (nbLines < 625) {
286  return 2;
287  } else if (nbLines < 640) {
288  return 1;
289  } else {
290  return 0;
291  }
292 }
+ Here is the caller graph for this function:

◆ handleMessage()

bool ATVModGUI::handleMessage ( const Message message)
virtual

Implements PluginInstanceGUI.

Definition at line 96 of file atvmodgui.cpp.

References arg(), blockApplySettings(), displaySettings(), ATVMod::MsgReportCameraData::getdeviceNumber(), ATVMod::MsgConfigureImageFileName::getFileName(), ATVMod::MsgConfigureVideoFileName::getFileName(), ATVMod::MsgReportCameraData::getFPS(), ATVMod::MsgReportCameraData::getFPSManual(), ATVMod::MsgReportCameraData::getFPSManualEnable(), ATVMod::MsgReportCameraData::getHeight(), ATVMod::MsgConfigureATVMod::getSettings(), ATVMod::MsgReportCameraData::getStatus(), ATVMod::MsgReportCameraData::getWidth(), m_camBusyFPSMessageBox, m_frameCount, m_settings, m_videoFrameRate, m_videoLength, Message::match(), setRFFiltersSlidersRange(), ui, updateWithStreamData(), and updateWithStreamTime().

Referenced by handleSourceMessages().

97 {
99  {
101  m_videoLength = ((ATVMod::MsgReportVideoFileSourceStreamData&)message).getVideoLength();
102  m_frameCount = 0;
104  return true;
105  }
107  {
108  m_frameCount = ((ATVMod::MsgReportVideoFileSourceStreamTiming&)message).getFrameCount();
110  return true;
111  }
112  else if (ATVMod::MsgReportCameraData::match(message))
113  {
115  ui->cameraDeviceNumber->setText(tr("#%1").arg(rpt.getdeviceNumber()));
116  ui->camerFPS->setText(tr("%1 FPS").arg(rpt.getFPS(), 0, 'f', 2));
117  ui->cameraImageSize->setText(tr("%1x%2").arg(rpt.getWidth()).arg(rpt.getHeight()));
118  ui->cameraManualFPSText->setText(tr("%1 FPS").arg(rpt.getFPSManual(), 0, 'f', 1));
119  ui->cameraManualFPSEnable->setChecked(rpt.getFPSManualEnable());
120  ui->cameraManualFPS->setValue((int) rpt.getFPSManual()*10.0f);
121 
122  int status = rpt.getStatus();
123 
124  if (status == 1) // camera FPS scan is startng
125  {
126  m_camBusyFPSMessageBox = new QMessageBox();
127  m_camBusyFPSMessageBox->setText("Computing camera FPS. Please wait…");
128  m_camBusyFPSMessageBox->setStandardButtons(0);
129  m_camBusyFPSMessageBox->show();
130  }
131  else if (status == 2) // camera FPS scan is finished
132  {
134  {
135  m_camBusyFPSMessageBox->close();
136  delete m_camBusyFPSMessageBox;
137  }
138 
140  }
141 
142  return true;
143  }
145  {
146  int sampleRate = ((ATVMod::MsgReportEffectiveSampleRate&)message).getSampleRate();
147  uint32_t nbPointsPerLine = ((ATVMod::MsgReportEffectiveSampleRate&)message).gatNbPointsPerLine();
148  ui->channelSampleRateText->setText(tr("%1k").arg(sampleRate/1000.0f, 0, 'f', 2));
149  ui->nbPointsPerLineText->setText(tr("%1p").arg(nbPointsPerLine));
150  setRFFiltersSlidersRange(sampleRate);
151  return true;
152  }
153  else if (ATVMod::MsgConfigureATVMod::match(message))
154  {
156  m_settings = cfg.getSettings();
157  blockApplySettings(true);
158  displaySettings();
159  blockApplySettings(false);
160  return true;
161  }
163  {
165  ui->imageFileText->setText(cfg.getFileName());
166  return true;
167  }
169  {
171  ui->videoFileText->setText(cfg.getFileName());
172  return true;
173  }
174  else
175  {
176  return false;
177  }
178 }
const ATVModSettings & getSettings() const
Definition: atvmod.h:57
quint32 m_videoLength
video file length in seconds
Definition: atvmodgui.h:73
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
void updateWithStreamTime()
Definition: atvmodgui.cpp:829
unsigned int uint32_t
Definition: rtptypes_win.h:46
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
const QString & getFileName() const
Definition: atvmod.h:122
float getFPS() const
Definition: atvmod.h:278
bool getFPSManualEnable() const
Definition: atvmod.h:280
void updateWithStreamData()
Definition: atvmodgui.cpp:820
float m_videoFrameRate
video file frame rate
Definition: atvmodgui.h:74
static bool match(const Message *message)
Definition: message.cpp:45
QMessageBox * m_camBusyFPSMessageBox
Definition: atvmodgui.h:78
void displaySettings()
Definition: atvmodgui.cpp:738
int getdeviceNumber() const
Definition: atvmod.h:277
void blockApplySettings(bool block)
Definition: atvmodgui.cpp:720
float getFPSManual() const
Definition: atvmod.h:279
int m_frameCount
Definition: atvmodgui.h:75
void setRFFiltersSlidersRange(int sampleRate)
Definition: atvmodgui.cpp:187
const QString & getFileName() const
Definition: atvmod.h:101
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleSourceMessages

void ATVModGUI::handleSourceMessages ( )
privateslot

Definition at line 359 of file atvmodgui.cpp.

References getInputMessageQueue(), and handleMessage().

Referenced by ATVModGUI().

360 {
361  Message* message;
362 
363  while ((message = getInputMessageQueue()->pop()) != 0)
364  {
365  if (handleMessage(*message))
366  {
367  delete message;
368  }
369  }
370 }
virtual bool handleMessage(const Message &message)
Definition: atvmodgui.cpp:96
virtual MessageQueue * getInputMessageQueue()
Definition: atvmodgui.h:54
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ leaveEvent()

void ATVModGUI::leaveEvent ( QEvent *  )
private

Definition at line 797 of file atvmodgui.cpp.

References m_channelMarker, and ChannelMarker::setHighlighted().

798 {
800 }
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
void setHighlighted(bool highlighted)
+ Here is the call graph for this function:

◆ on_cameraManualFPS_valueChanged

void ATVModGUI::on_cameraManualFPS_valueChanged ( int  value)
privateslot

Definition at line 572 of file atvmodgui.cpp.

References arg(), ATVMod::MsgConfigureCameraData::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, MessageQueue::push(), and ui.

573 {
574  ui->cameraManualFPSText->setText(tr("%1 FPS").arg(value / 10.0f, 0, 'f', 1));
576  ui->camSelect->currentIndex(),
577  value / 10.0f,
578  ui->cameraManualFPSEnable->isChecked());
579  m_atvMod->getInputMessageQueue()->push(message);
580 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
static MsgConfigureCameraData * create(int index, float manualFPS, bool manualFPSEnable)
Definition: atvmod.h:252
ATVMod * m_atvMod
Definition: atvmodgui.h:68
+ Here is the call graph for this function:

◆ on_cameraManualFPSEnable_toggled

void ATVModGUI::on_cameraManualFPSEnable_toggled ( bool  checked)
privateslot

Definition at line 563 of file atvmodgui.cpp.

References ATVMod::MsgConfigureCameraData::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, MessageQueue::push(), and ui.

564 {
566  ui->camSelect->currentIndex(),
567  ui->cameraManualFPS->value() / 10.0f,
568  checked);
569  m_atvMod->getInputMessageQueue()->push(message);
570 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
static MsgConfigureCameraData * create(int index, float manualFPS, bool manualFPSEnable)
Definition: atvmod.h:252
ATVMod * m_atvMod
Definition: atvmodgui.h:68
+ Here is the call graph for this function:

◆ on_camSelect_currentIndexChanged

void ATVModGUI::on_camSelect_currentIndexChanged ( int  index)
privateslot

Definition at line 557 of file atvmodgui.cpp.

References ATVMod::MsgConfigureCameraIndex::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, and MessageQueue::push().

558 {
560  m_atvMod->getInputMessageQueue()->push(message);
561 }
static MsgConfigureCameraIndex * create(int index)
Definition: atvmod.h:229
void push(Message *message, bool emitSignal=true)
Push message onto queue.
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
ATVMod * m_atvMod
Definition: atvmodgui.h:68
+ Here is the call graph for this function:

◆ on_channelMute_toggled

void ATVModGUI::on_channelMute_toggled ( bool  checked)
privateslot

Definition at line 488 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_channelMute, and m_settings.

489 {
490  m_settings.m_channelMute = checked;
491  applySettings();
492 }
bool m_channelMute
Mute channel baseband output.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_deltaFrequency_changed

void ATVModGUI::on_deltaFrequency_changed ( qint64  value)
privateslot

Definition at line 372 of file atvmodgui.cpp.

References applySettings(), m_channelMarker, ATVModSettings::m_inputFrequencyOffset, m_settings, and ChannelMarker::setCenterFrequency().

373 {
376  applySettings();
377 }
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
qint64 m_inputFrequencyOffset
offset from baseband center frequency
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
void setCenterFrequency(int centerFrequency)
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_fmExcursion_valueChanged

void ATVModGUI::on_fmExcursion_valueChanged ( int  value)
privateslot

Definition at line 394 of file atvmodgui.cpp.

References applySettings(), arg(), ATVModSettings::m_fmExcursion, m_settings, and ui.

395 {
396  ui->fmExcursionText->setText(tr("%1").arg(value / 10.0, 0, 'f', 1));
397  m_settings.m_fmExcursion = value / 1000.0; // pro mill
398  applySettings();
399 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
float m_fmExcursion
FM excursion factor relative to full bandwidth.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_forceDecimator_toggled

void ATVModGUI::on_forceDecimator_toggled ( bool  checked)
privateslot

Definition at line 494 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_forceDecimator, and m_settings.

495 {
496  m_settings.m_forceDecimator = checked;
497  applySettings();
498 }
bool m_forceDecimator
Forces decimator even when channel and source sample rates are equal.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_fps_currentIndexChanged

void ATVModGUI::on_fps_currentIndexChanged ( int  index)
privateslot

Definition at line 455 of file atvmodgui.cpp.

References applySettings(), getFPS(), ATVModSettings::m_fps, and m_settings.

456 {
457  (void) index;
458  m_settings.m_fps = getFPS();
459  applySettings();
460 }
int getFPS()
Definition: atvmodgui.cpp:294
int m_fps
Number of frames per second.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_imageFileDialog_clicked

void ATVModGUI::on_imageFileDialog_clicked ( bool  checked)
privateslot

Definition at line 500 of file atvmodgui.cpp.

References configureImageFileName(), m_imageFileName, and ui.

501 {
502  (void) checked;
503  QString fileName = QFileDialog::getOpenFileName(this,
504  tr("Open image file"), ".", tr("Image Files (*.png *.jpg *.bmp *.gif *.tiff)"), 0, QFileDialog::DontUseNativeDialog);
505 
506  if (fileName != "")
507  {
508  m_imageFileName = fileName;
509  ui->imageFileText->setText(m_imageFileName);
511  }
512 }
void configureImageFileName()
Definition: atvmodgui.cpp:595
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
QString m_imageFileName
Definition: atvmodgui.h:71
+ Here is the call graph for this function:

◆ on_inputSelect_currentIndexChanged

void ATVModGUI::on_inputSelect_currentIndexChanged ( int  index)
privateslot

Definition at line 482 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_atvModInput, and m_settings.

483 {
485  applySettings();
486 }
ATVModInput m_atvModInput
Input source type.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_invertVideo_clicked

void ATVModGUI::on_invertVideo_clicked ( bool  checked)
privateslot

Definition at line 476 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_invertedVideo, and m_settings.

477 {
478  m_settings.m_invertedVideo = checked;
479  applySettings();
480 }
bool m_invertedVideo
True if video signal is inverted before modulation.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_modulation_currentIndexChanged

void ATVModGUI::on_modulation_currentIndexChanged ( int  index)
privateslot

Definition at line 379 of file atvmodgui.cpp.

References applySettings(), ATVMod::getEffectiveSampleRate(), m_atvMod, ATVModSettings::m_atvModulation, m_settings, setChannelMarkerBandwidth(), and setRFFiltersSlidersRange().

380 {
384  applySettings();
385 }
int getEffectiveSampleRate() const
Definition: atvmod.h:399
ATVModulation m_atvModulation
RF modulation type.
void setChannelMarkerBandwidth()
Definition: atvmodgui.cpp:417
ATVMod * m_atvMod
Definition: atvmodgui.h:68
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
void setRFFiltersSlidersRange(int sampleRate)
Definition: atvmodgui.cpp:187
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_navTimeSlider_valueChanged

void ATVModGUI::on_navTimeSlider_valueChanged ( int  value)
privateslot

Definition at line 542 of file atvmodgui.cpp.

References ATVMod::MsgConfigureVideoFileSourceSeek::create(), BasebandSampleSource::getInputMessageQueue(), m_atvMod, m_enableNavTime, and MessageQueue::push().

543 {
544  if (m_enableNavTime && ((value >= 0) && (value <= 100)))
545  {
547  m_atvMod->getInputMessageQueue()->push(message);
548  }
549 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
ATVMod * m_atvMod
Definition: atvmodgui.h:68
bool m_enableNavTime
Definition: atvmodgui.h:77
static MsgConfigureVideoFileSourceSeek * create(int seekPercentage)
Definition: atvmod.h:145
+ Here is the call graph for this function:

◆ on_nbLines_currentIndexChanged

void ATVModGUI::on_nbLines_currentIndexChanged ( int  index)
privateslot

Definition at line 448 of file atvmodgui.cpp.

References applySettings(), getNbLines(), ATVModSettings::m_nbLines, and m_settings.

449 {
450  (void) index;
452  applySettings();
453 }
int m_nbLines
Number of lines per full frame.
int getNbLines()
Definition: atvmodgui.cpp:214
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_overlayText_textEdited

void ATVModGUI::on_overlayText_textEdited ( const QString &  arg1)
privateslot

Definition at line 588 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_overlayText, and m_settings.

589 {
590  (void) arg1;
591  m_settings.m_overlayText = arg1;
592  applySettings();
593 }
QString m_overlayText
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_overlayTextShow_toggled

void ATVModGUI::on_overlayTextShow_toggled ( bool  checked)
privateslot

Definition at line 582 of file atvmodgui.cpp.

References applySettings(), m_settings, and ATVModSettings::m_showOverlayText.

583 {
584  m_settings.m_showOverlayText = checked;
585  applySettings();
586 }
bool m_showOverlayText
Show overlay text on image.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_playCamera_toggled

void ATVModGUI::on_playCamera_toggled ( bool  checked)
privateslot

Definition at line 551 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_cameraPlay, and m_settings.

552 {
553  m_settings.m_cameraPlay = checked;
554  applySettings();
555 }
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
bool m_cameraPlay
True to play camera video and false to pause.
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_playLoop_toggled

void ATVModGUI::on_playLoop_toggled ( bool  checked)
privateslot

Definition at line 528 of file atvmodgui.cpp.

References applySettings(), m_settings, and ATVModSettings::m_videoPlayLoop.

529 {
530  m_settings.m_videoPlayLoop = checked;
531  applySettings();
532 }
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
bool m_videoPlayLoop
Play video in a loop.
+ Here is the call graph for this function:

◆ on_playVideo_toggled

void ATVModGUI::on_playVideo_toggled ( bool  checked)
privateslot

Definition at line 534 of file atvmodgui.cpp.

References applySettings(), m_enableNavTime, m_settings, ATVModSettings::m_videoPlay, and ui.

535 {
536  m_settings.m_videoPlay = checked;
537  ui->navTimeSlider->setEnabled(!checked);
538  m_enableNavTime = !checked;
539  applySettings();
540 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
bool m_enableNavTime
Definition: atvmodgui.h:77
bool m_videoPlay
True to play video and false to pause.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_rfBW_valueChanged

void ATVModGUI::on_rfBW_valueChanged ( int  value)
privateslot

Definition at line 401 of file atvmodgui.cpp.

References applySettings(), arg(), ATVModSettings::m_rfBandwidth, m_rfSliderDivisor, m_settings, setChannelMarkerBandwidth(), and ui.

402 {
403  ui->rfBWText->setText(QString("%1k").arg((value*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
404  m_settings.m_rfBandwidth = value * m_rfSliderDivisor * 1.0f;
406  applySettings();
407 }
void setChannelMarkerBandwidth()
Definition: atvmodgui.cpp:417
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
int m_rfSliderDivisor
Definition: atvmodgui.h:79
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
Real m_rfBandwidth
Bandwidth of modulated signal or direct sideband for SSB / vestigial SSB.
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_rfOppBW_valueChanged

void ATVModGUI::on_rfOppBW_valueChanged ( int  value)
privateslot

Definition at line 409 of file atvmodgui.cpp.

References applySettings(), arg(), ATVModSettings::m_rfOppBandwidth, m_rfSliderDivisor, m_settings, setChannelMarkerBandwidth(), and ui.

410 {
411  ui->rfOppBWText->setText(QString("%1k").arg((value*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
412  m_settings.m_rfOppBandwidth = value * m_rfSliderDivisor * 1.0f;
414  applySettings();
415 }
void setChannelMarkerBandwidth()
Definition: atvmodgui.cpp:417
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
int m_rfSliderDivisor
Definition: atvmodgui.h:79
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
Real m_rfOppBandwidth
Bandwidth of opposite sideband for vestigial SSB.
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_rfScaling_valueChanged

void ATVModGUI::on_rfScaling_valueChanged ( int  value)
privateslot

Definition at line 387 of file atvmodgui.cpp.

References applySettings(), arg(), ATVModSettings::m_rfScalingFactor, m_settings, and ui.

388 {
389  ui->rfScalingText->setText(tr("%1").arg(value));
390  m_settings.m_rfScalingFactor = value * 327.68f;
391  applySettings();
392 }
float m_rfScalingFactor
Scaling factor from +/-1 to +/-2^15.
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_standard_currentIndexChanged

void ATVModGUI::on_standard_currentIndexChanged ( int  index)
privateslot

Definition at line 463 of file atvmodgui.cpp.

References applySettings(), ATVModSettings::m_atvStd, and m_settings.

464 {
466  applySettings();
467 }
ATVStd m_atvStd
Standard.
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_uniformLevel_valueChanged

void ATVModGUI::on_uniformLevel_valueChanged ( int  value)
privateslot

Definition at line 469 of file atvmodgui.cpp.

References applySettings(), arg(), m_settings, ATVModSettings::m_uniformLevel, and ui.

470 {
471  ui->uniformLevelText->setText(QString("%1").arg(value));
472  m_settings.m_uniformLevel = value / 100.0f;
473  applySettings();
474 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
Real m_uniformLevel
Percentage between black and white for uniform screen display.
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ on_videoFileDialog_clicked

void ATVModGUI::on_videoFileDialog_clicked ( bool  checked)
privateslot

Definition at line 514 of file atvmodgui.cpp.

References configureVideoFileName(), m_videoFileName, and ui.

515 {
516  (void) checked;
517  QString fileName = QFileDialog::getOpenFileName(this,
518  tr("Open video file"), ".", tr("Video Files (*.avi *.mpg *.mp4 *.mov *.m4v *.mkv *.vob *.wmv)"), 0, QFileDialog::DontUseNativeDialog);
519 
520  if (fileName != "")
521  {
522  m_videoFileName = fileName;
523  ui->videoFileText->setText(m_videoFileName);
525  }
526 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
QString m_videoFileName
Definition: atvmodgui.h:72
void configureVideoFileName()
Definition: atvmodgui.cpp:602
+ Here is the call graph for this function:

◆ onMenuDialogCalled

void ATVModGUI::onMenuDialogCalled ( const QPoint &  p)
privateslot

Definition at line 615 of file atvmodgui.cpp.

References applySettings(), RollupWidget::ContextMenuChannelSettings, ChannelMarker::getCenterFrequency(), ChannelMarker::getColor(), BasicChannelSettingsDialog::getReverseAPIAddress(), BasicChannelSettingsDialog::getReverseAPIChannelIndex(), BasicChannelSettingsDialog::getReverseAPIDeviceIndex(), BasicChannelSettingsDialog::getReverseAPIPort(), ChannelMarker::getTitle(), m_channelMarker, RollupWidget::m_contextMenuType, ATVModSettings::m_inputFrequencyOffset, ATVModSettings::m_reverseAPIAddress, ATVModSettings::m_reverseAPIChannelIndex, ATVModSettings::m_reverseAPIDeviceIndex, ATVModSettings::m_reverseAPIPort, ATVModSettings::m_rgbColor, m_settings, ATVModSettings::m_title, ATVModSettings::m_useReverseAPI, RollupWidget::resetContextMenuType(), BasicChannelSettingsDialog::setReverseAPIAddress(), BasicChannelSettingsDialog::setReverseAPIChannelIndex(), BasicChannelSettingsDialog::setReverseAPIDeviceIndex(), BasicChannelSettingsDialog::setReverseAPIPort(), RollupWidget::setTitleColor(), BasicChannelSettingsDialog::setUseReverseAPI(), and BasicChannelSettingsDialog::useReverseAPI().

Referenced by ATVModGUI().

616 {
618  {
620  dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
621  dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
622  dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
623  dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
624  dialog.setReverseAPIChannelIndex(m_settings.m_reverseAPIChannelIndex);
625 
626  dialog.move(p);
627  dialog.exec();
628 
632  m_settings.m_useReverseAPI = dialog.useReverseAPI();
633  m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
634  m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
635  m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
636  m_settings.m_reverseAPIChannelIndex = dialog.getReverseAPIChannelIndex();
637 
638  setWindowTitle(m_settings.m_title);
640 
641  applySettings();
642  }
643 
645 }
int getCenterFrequency() const
Definition: channelmarker.h:42
uint16_t m_reverseAPIDeviceIndex
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
quint32 m_rgbColor
void resetContextMenuType()
Definition: rollupwidget.h:50
qint64 m_inputFrequencyOffset
offset from baseband center frequency
ContextMenuType m_contextMenuType
Definition: rollupwidget.h:33
void setTitleColor(const QColor &c)
uint16_t m_reverseAPIChannelIndex
QString m_reverseAPIAddress
const QString & getTitle() const
Definition: channelmarker.h:38
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
const QColor & getColor() const
Definition: channelmarker.h:64
uint16_t m_reverseAPIPort
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onWidgetRolled

void ATVModGUI::onWidgetRolled ( QWidget *  widget,
bool  rollDown 
)
privateslot

Definition at line 609 of file atvmodgui.cpp.

Referenced by ATVModGUI().

610 {
611  (void) widget;
612  (void) rollDown;
613 }
+ Here is the caller graph for this function:

◆ resetToDefaults()

void ATVModGUI::resetToDefaults ( )
virtual

Implements PluginInstanceGUI.

Definition at line 69 of file atvmodgui.cpp.

References m_settings, and ATVModSettings::resetToDefaults().

Referenced by ATVModGUI().

70 {
72 }
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ serialize()

QByteArray ATVModGUI::serialize ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 74 of file atvmodgui.cpp.

References m_settings, and ATVModSettings::serialize().

75 {
76  return m_settings.serialize();
77 }
QByteArray serialize() const
ATVModSettings m_settings
Definition: atvmodgui.h:65
+ Here is the call graph for this function:

◆ setCenterFrequency()

void ATVModGUI::setCenterFrequency ( qint64  centerFrequency)
virtual

Implements PluginInstanceGUI.

Definition at line 63 of file atvmodgui.cpp.

References applySettings(), m_channelMarker, and ChannelMarker::setCenterFrequency().

64 {
65  m_channelMarker.setCenterFrequency(centerFrequency);
66  applySettings();
67 }
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
void applySettings(bool force=false)
Definition: atvmodgui.cpp:725
void setCenterFrequency(int centerFrequency)
+ Here is the call graph for this function:

◆ setChannelMarkerBandwidth()

void ATVModGUI::setChannelMarkerBandwidth ( )
private

Definition at line 417 of file atvmodgui.cpp.

References ATVModSettings::ATVModulationLSB, ATVModSettings::ATVModulationUSB, ATVModSettings::ATVModulationVestigialLSB, ATVModSettings::ATVModulationVestigialUSB, ChannelMarker::dsb, ChannelMarker::lsb, m_channelMarker, m_rfSliderDivisor, ChannelMarker::setBandwidth(), ChannelMarker::setOppositeBandwidth(), ChannelMarker::setSidebands(), ui, ChannelMarker::usb, ChannelMarker::vlsb, and ChannelMarker::vusb.

Referenced by displaySettings(), on_modulation_currentIndexChanged(), on_rfBW_valueChanged(), and on_rfOppBW_valueChanged().

418 {
419  if (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationLSB)
420  {
423  }
424  else if (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationVestigialLSB)
425  {
429  }
430  else if (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationUSB)
431  {
434  }
435  else if (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationVestigialUSB)
436  {
440  }
441  else
442  {
445  }
446 }
ChannelMarker m_channelMarker
Definition: atvmodgui.h:64
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
void setOppositeBandwidth(int bandwidth)
int m_rfSliderDivisor
Definition: atvmodgui.h:79
LSB with vestigial USB.
Definition: channelmarker.h:21
USB with vestigial LSB.
Definition: channelmarker.h:20
void setBandwidth(int bandwidth)
void setSidebands(sidebands_t sidebands)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setName()

void ATVModGUI::setName ( const QString &  name)
virtual

Implements PluginInstanceGUI.

Definition at line 49 of file atvmodgui.cpp.

50 {
51  setObjectName(name);
52 }

◆ setRFFiltersSlidersRange()

void ATVModGUI::setRFFiltersSlidersRange ( int  sampleRate)
private

Definition at line 187 of file atvmodgui.cpp.

References arg(), ATVModSettings::ATVModulationLSB, ATVModSettings::ATVModulationUSB, ATVModSettings::ATVModulationVestigialLSB, ATVModSettings::ATVModulationVestigialUSB, m_rfSliderDivisor, and ui.

Referenced by displaySettings(), handleMessage(), and on_modulation_currentIndexChanged().

188 {
189  int scaleFactor = (int) std::log10(sampleRate/2);
190  m_rfSliderDivisor = std::pow(10.0, scaleFactor-1);
191 
192  if (sampleRate/m_rfSliderDivisor < 50) {
193  m_rfSliderDivisor /= 10;
194  }
195 
196  if ((ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationLSB) ||
197  (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationUSB) ||
198  (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationVestigialLSB) ||
199  (ui->modulation->currentIndex() == (int) ATVModSettings::ATVModulationVestigialUSB))
200  {
201  ui->rfBW->setMaximum((sampleRate) / (2*m_rfSliderDivisor));
202  ui->rfOppBW->setMaximum((sampleRate) / (2*m_rfSliderDivisor));
203  }
204  else
205  {
206  ui->rfBW->setMaximum((sampleRate) / m_rfSliderDivisor);
207  ui->rfOppBW->setMaximum((sampleRate) / m_rfSliderDivisor);
208  }
209 
210  ui->rfBWText->setText(QString("%1k").arg((ui->rfBW->value()*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
211  ui->rfOppBWText->setText(QString("%1k").arg((ui->rfOppBW->value()*m_rfSliderDivisor) / 1000.0, 0, 'f', 1));
212 }
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
int m_rfSliderDivisor
Definition: atvmodgui.h:79
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tick

void ATVModGUI::tick ( )
privateslot

Definition at line 807 of file atvmodgui.cpp.

References arg(), ATVModSettings::ATVModInputVideo, ATVMod::MsgConfigureVideoFileSourceStreamTiming::create(), CalcDb::dbPower(), BasebandSampleSource::getInputMessageQueue(), ATVMod::getMagSq(), m_atvMod, m_channelPowerDbAvg, m_tickCount, MessageQueue::push(), and ui.

Referenced by ATVModGUI().

808 {
809  double powDb = CalcDb::dbPower(m_atvMod->getMagSq());
810  m_channelPowerDbAvg(powDb);
811  ui->channelPower->setText(tr("%1 dB").arg(m_channelPowerDbAvg.asDouble(), 0, 'f', 1));
812 
813  if (((++m_tickCount & 0xf) == 0) && (ui->inputSelect->currentIndex() == (int) ATVModSettings::ATVModInputVideo))
814  {
816  m_atvMod->getInputMessageQueue()->push(message);
817  }
818 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
static double dbPower(double magsq, double floor=1e-12)
Definition: db.cpp:22
static MsgConfigureVideoFileSourceStreamTiming * create()
Definition: atvmod.h:164
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
MessageQueue * getInputMessageQueue()
Get the queue for asynchronous inbound communication.
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
ATVMod * m_atvMod
Definition: atvmodgui.h:68
std::size_t m_tickCount
Definition: atvmodgui.h:76
double getMagSq() const
Definition: atvmod.h:400
MovingAverageUtil< double, double, 20 > m_channelPowerDbAvg
Definition: atvmodgui.h:69
double asDouble() const
Definition: movingaverage.h:57
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateWithStreamData()

void ATVModGUI::updateWithStreamData ( )
private

Definition at line 820 of file atvmodgui.cpp.

References m_videoFrameRate, m_videoLength, ui, and updateWithStreamTime().

Referenced by handleMessage().

821 {
822  QTime recordLength(0, 0, 0, 0);
823  recordLength = recordLength.addSecs(m_videoLength / m_videoFrameRate);
824  QString s_time = recordLength.toString("HH:mm:ss");
825  ui->recordLengthText->setText(s_time);
827 }
quint32 m_videoLength
video file length in seconds
Definition: atvmodgui.h:73
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
void updateWithStreamTime()
Definition: atvmodgui.cpp:829
float m_videoFrameRate
video file frame rate
Definition: atvmodgui.h:74
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateWithStreamTime()

void ATVModGUI::updateWithStreamTime ( )
private

Definition at line 829 of file atvmodgui.cpp.

References m_enableNavTime, m_frameCount, m_videoFrameRate, m_videoLength, and ui.

Referenced by handleMessage(), and updateWithStreamData().

830 {
831  int t_sec = 0;
832  int t_msec = 0;
833 
834  if (m_videoFrameRate > 0.0f)
835  {
836  float secs = m_frameCount / m_videoFrameRate;
837  t_sec = (int) secs;
838  t_msec = (int) ((secs - t_sec) * 1000.0f);
839  }
840 
841  QTime t(0, 0, 0, 0);
842  t = t.addSecs(t_sec);
843  t = t.addMSecs(t_msec);
844  QString s_timems = t.toString("HH:mm:ss.zzz");
845  QString s_time = t.toString("HH:mm:ss");
846  ui->relTimeText->setText(s_timems);
847 
848  if (!m_enableNavTime)
849  {
850  float posRatio = (t_sec * m_videoFrameRate) / m_videoLength;
851  ui->navTimeSlider->setValue((int) (posRatio * 100.0));
852  }
853 }
quint32 m_videoLength
video file length in seconds
Definition: atvmodgui.h:73
Ui::ATVModGUI * ui
Definition: atvmodgui.h:61
float m_videoFrameRate
video file frame rate
Definition: atvmodgui.h:74
bool m_enableNavTime
Definition: atvmodgui.h:77
int m_frameCount
Definition: atvmodgui.h:75
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_atvMod

ATVMod* ATVModGUI::m_atvMod
private

◆ m_camBusyFPSMessageBox

QMessageBox* ATVModGUI::m_camBusyFPSMessageBox
private

Definition at line 78 of file atvmodgui.h.

Referenced by handleMessage().

◆ m_channelMarker

ChannelMarker ATVModGUI::m_channelMarker
private

◆ m_channelPowerDbAvg

MovingAverageUtil<double, double, 20> ATVModGUI::m_channelPowerDbAvg
private

Definition at line 69 of file atvmodgui.h.

Referenced by tick().

◆ m_deviceUISet

DeviceUISet* ATVModGUI::m_deviceUISet
private

Definition at line 63 of file atvmodgui.h.

Referenced by ATVModGUI(), and ~ATVModGUI().

◆ m_doApplySettings

bool ATVModGUI::m_doApplySettings
private

Definition at line 66 of file atvmodgui.h.

Referenced by applySettings(), and blockApplySettings().

◆ m_enableNavTime

bool ATVModGUI::m_enableNavTime
private

◆ m_frameCount

int ATVModGUI::m_frameCount
private

Definition at line 75 of file atvmodgui.h.

Referenced by handleMessage(), and updateWithStreamTime().

◆ m_imageFileName

QString ATVModGUI::m_imageFileName
private

Definition at line 71 of file atvmodgui.h.

Referenced by configureImageFileName(), and on_imageFileDialog_clicked().

◆ m_inputMessageQueue

MessageQueue ATVModGUI::m_inputMessageQueue
private

Definition at line 80 of file atvmodgui.h.

◆ m_pluginAPI

PluginAPI* ATVModGUI::m_pluginAPI
private

Definition at line 62 of file atvmodgui.h.

◆ m_rfSliderDivisor

int ATVModGUI::m_rfSliderDivisor
private

◆ m_settings

ATVModSettings ATVModGUI::m_settings
private

◆ m_tickCount

std::size_t ATVModGUI::m_tickCount
private

Definition at line 76 of file atvmodgui.h.

Referenced by tick().

◆ m_videoFileName

QString ATVModGUI::m_videoFileName
private

Definition at line 72 of file atvmodgui.h.

Referenced by configureVideoFileName(), and on_videoFileDialog_clicked().

◆ m_videoFrameRate

float ATVModGUI::m_videoFrameRate
private

video file frame rate

Definition at line 74 of file atvmodgui.h.

Referenced by handleMessage(), updateWithStreamData(), and updateWithStreamTime().

◆ m_videoLength

quint32 ATVModGUI::m_videoLength
private

video file length in seconds

Definition at line 73 of file atvmodgui.h.

Referenced by handleMessage(), updateWithStreamData(), and updateWithStreamTime().

◆ ui

Ui::ATVModGUI* ATVModGUI::ui
private

The documentation for this class was generated from the following files: