MythTV  master
scanwizardconfig.cpp
Go to the documentation of this file.
1 #include "scanwizardconfig.h"
2 
3 #include "videosource.h"
4 #include "cardutil.h"
6 #include "channelutil.h"
7 
9 #include "inputselectorsetting.h"
10 #include "scanwizard.h"
11 
12 #include "panedvbs.h"
13 #include "panedvbs2.h"
14 #include "panedvbc.h"
15 #include "panedvbt.h"
16 #include "panedvbt2.h"
17 #include "paneatsc.h"
18 #include "paneanalog.h"
19 #include "panesingle.h"
20 #include "paneall.h"
21 #include "panedvbutilsimport.h"
22 #include "paneexistingscanimport.h"
23 
25  uint default_sourceid, uint default_cardid,
26  const QString& default_inputname)
27 {
29  default_sourceid, CardUtil::GetScanableInputTypes(), false);
30  m_input = new InputSelector(default_cardid, default_inputname);
34  m_ftaOnly = new FreeToAirOnly();
38  m_addFullTS = new AddFullTS();
40 
41  setLabel(tr("Channel Scan"));
42 
50 
55 
56  connect(m_videoSource, SIGNAL(valueChanged(const QString&)),
57  m_scanConfig, SLOT( SetSourceID( const QString&)));
58 
59  connect(m_videoSource, SIGNAL(valueChanged(const QString&)),
60  m_input, SLOT( SetSourceID( const QString&)));
61 
62  connect(m_input, SIGNAL(valueChanged(const QString&)),
63  m_scanType, SLOT( SetInput( const QString&)));
64 
65  connect(m_input, SIGNAL(valueChanged(const QString&)),
66  this, SLOT( SetInput( const QString&)));
67 
68  connect(m_input, SIGNAL(valueChanged(const QString&)),
69  this, SLOT( SetPaneDefaults(const QString)));
70 
71 }
72 
74 {
75  return m_videoSource->getValue().toUInt();
76 }
77 
79 {
81 }
82 
84 {
85  return m_ftaOnly->boolValue();
86 }
87 
89 {
90  return m_lcnOnly->boolValue();
91 }
92 
94 {
95  return m_completeOnly->boolValue();
96 }
97 
99 {
100  return m_fullSearch->boolValue();
101 }
102 
103 bool ScanWizard::DoAddFullTS(void) const
104 {
105  return m_addFullTS->boolValue();
106 }
107 
109 {
110  return m_trustEncSI->boolValue();
111 }
112 
113 void ScanWizard::SetPaneDefaults(const QString &cardid_inputname)
114 {
115  const int sourceid = m_videoSource->getValue().toInt();
116  uint scanfrequency = 0;
117  QString freqtable;
118 
119  MSqlQuery query(MSqlQuery::InitCon());
120  query.prepare(
121  "SELECT scanfrequency, freqtable "
122  "FROM videosource "
123  "WHERE videosource.sourceid = :SOURCEID ;");
124  query.bindValue(":SOURCEID", sourceid);
125  if (!query.exec() || !query.isActive())
126  {
127  MythDB::DBError("ScanOptionalConfig::SetPaneDefaults", query);
128  return;
129  }
130  else if (query.next())
131  {
132  scanfrequency = query.value(0).toUInt();
133  freqtable = query.value(1).toString();
134  LOG(VB_CHANSCAN, LOG_DEBUG,
135  QString("SetPaneDefaults cardid_inputname:%1 sourceid:%2 scanfrequency:%3 freqtable:%4")
136  .arg(cardid_inputname).arg(sourceid).arg(scanfrequency).arg(freqtable));
137  }
138 
139  // Channel Frequency Table for ATSC
140  // Use general setting if not defined in the videosource
141  {
142  if (freqtable == "default")
143  {
144  freqtable = gCoreContext->GetSetting("FreqTable");
145  }
146  QString table;
147  table = (freqtable == "us-bcast" ) ? "us" : table;
148  table = (freqtable == "us-cable" ) ? "uscable" : table;
149  table = (freqtable == "us-cable-hrc") ? "ushrc" : table;
150  table = (freqtable == "us-cable-irc") ? "usirc" : table;
151  if (!table.isEmpty())
152  {
153  LOG(VB_CHANSCAN, LOG_DEBUG,
154  QString("SetPaneDefaults ATSC frequency table:'%1'").arg(table));
156  }
157  }
158 
159  // Set "Full Scan (Tuned)" defaults only when a frequency has been entered.
160  if (scanfrequency == 0)
161  return;
162 
163  // If we have only a frequency set that as default; if there is a multiplex
164  // already at that frequency then use the values of that multiplex as
165  // default values for scanning.
166  int mplexid = 0;
167  mplexid = ChannelUtil::GetMplexID(sourceid, scanfrequency);
168  LOG(VB_CHANSCAN, LOG_DEBUG,
169  QString("SetPaneDefaults sourceid:%1 frequency:%2 mplexid:%3")
170  .arg(sourceid).arg(scanfrequency).arg(mplexid));
171 
172  DTVMultiplex mpx;
173  if (mplexid > 0)
174  {
176 
177  mpx.FillFromDB(tuner_type, mplexid);
178 
179  LOG(VB_CHANSCAN, LOG_DEBUG,
180  QString("SetPaneDefaults sourceid:%1 frequency:%2 mplexid:%3 tuner_type:%4 mpx:%5")
181  .arg(sourceid).arg(scanfrequency).arg(mplexid)
182  .arg(tuner_type.toString()).arg(mpx.toString()));
183  }
184 
185  m_scanConfig->SetTuningPaneValues(scanfrequency, mpx);
186 }
187 
190 
191 void ScanTypeSetting::SetInput(const QString &cardids_inputname)
192 {
193  uint cardid = 0;
194  QString inputname;
195  if (!InputSelector::Parse(cardids_inputname, cardid, inputname))
196  return;
197 
198  // Only refresh if we really have to. If we do it too often
199  // Then we end up fighting the scan routine when we want to
200  // check the type of dvb card :/
201  if (cardid == m_hw_cardid)
202  return;
203 
204  m_hw_cardid = cardid;
205  QString subtype = CardUtil::ProbeSubTypeName(m_hw_cardid);
206  int nCardType = CardUtil::toInputType(subtype);
207  clearSelections();
208 
209  switch (nCardType)
210  {
211  case CardUtil::V4L:
212  case CardUtil::MPEG:
213  addSelection(tr("Full Scan"),
214  QString::number(FullScan_Analog), true);
215  addSelection(tr("Import existing scan"),
216  QString::number(ExistingScanImport));
217  return;
218  case CardUtil::DVBT:
219  addSelection(tr("Full Scan"),
220  QString::number(FullScan_DVBT), true);
221  addSelection(tr("Full Scan (Tuned)"),
222  QString::number(NITAddScan_DVBT));
223 // addSelection(tr("Import channels.conf"),
224 // QString::number(DVBUtilsImport));
225  addSelection(tr("Import existing scan"),
226  QString::number(ExistingScanImport));
227  break;
228  case CardUtil::DVBT2:
229  addSelection(tr("Full Scan"),
230  QString::number(FullScan_DVBT2), true);
231  addSelection(tr("Full Scan (Tuned)"),
232  QString::number(NITAddScan_DVBT2));
233 // addSelection(tr("Import channels.conf"),
234 // QString::number(DVBUtilsImport));
235  addSelection(tr("Import existing scan"),
236  QString::number(ExistingScanImport));
237  break;
238  case CardUtil::DVBS:
239  addSelection(tr("Full Scan (Tuned)"),
240  QString::number(NITAddScan_DVBS));
241 // addSelection(tr("Import channels.conf"),
242 // QString::number(DVBUtilsImport));
243  addSelection(tr("Import existing scan"),
244  QString::number(ExistingScanImport));
245  break;
246  case CardUtil::DVBS2:
247  addSelection(tr("Full Scan (Tuned)"),
248  QString::number(NITAddScan_DVBS2));
249 // addSelection(tr("Import channels.conf"),
250 // QString::number(DVBUtilsImport));
251  addSelection(tr("Import existing scan"),
252  QString::number(ExistingScanImport));
253  break;
254  case CardUtil::QAM:
255  addSelection(tr("Full Scan (Tuned)"),
256  QString::number(NITAddScan_DVBC));
257  addSelection(tr("Full Scan"),
258  QString::number(FullScan_DVBC));
259 // addSelection(tr("Import channels.conf"),
260 // QString::number(DVBUtilsImport));
261  addSelection(tr("Import existing scan"),
262  QString::number(ExistingScanImport));
263  break;
264  case CardUtil::ATSC:
265  addSelection(tr("Full Scan"),
266  QString::number(FullScan_ATSC), true);
267 // addSelection(tr("Import channels.conf"),
268 // QString::number(DVBUtilsImport));
269  addSelection(tr("Import existing scan"),
270  QString::number(ExistingScanImport));
271  break;
272  case CardUtil::HDHOMERUN:
274  {
275  addSelection(tr("Full Scan (Tuned)"),
276  QString::number(NITAddScan_DVBC));
277  addSelection(tr("Full Scan"),
278  QString::number(FullScan_DVBC));
279  }
281  {
282  addSelection(tr("Full Scan"),
283  QString::number(FullScan_DVBT), true);
284  addSelection(tr("Full Scan (Tuned)"),
285  QString::number(NITAddScan_DVBT));
286  }
287  else
288  addSelection(tr("Full Scan"),
289  QString::number(FullScan_ATSC), true);
290 // addSelection(tr("Import channels.conf"),
291 // QString::number(DVBUtilsImport));
292  addSelection(tr("Import existing scan"),
293  QString::number(ExistingScanImport));
294  break;
295  case CardUtil::VBOX:
296  addSelection(tr("VBox Channel Import"),
297  QString::number(VBoxImport), true);
298  return;
299  case CardUtil::FREEBOX:
300  addSelection(tr("M3U Import with MPTS"),
301  QString::number(IPTVImportMPTS), true);
302  addSelection(tr("M3U Import"),
303  QString::number(IPTVImport), true);
304  return;
305  case CardUtil::ASI:
306  addSelection(tr("ASI Scan"),
307  QString::number(CurrentTransportScan), true);
308  return;
309  case CardUtil::EXTERNAL:
310  addSelection(tr("MPTS Scan"),
311  QString::number(CurrentTransportScan), true);
312  addSelection(tr("Import from ExternalRecorder"),
313  QString::number(ExternRecImport), true);
314  return;
316  addSelection(tr("Failed to probe the card"),
317  QString::number(Error_Probe), true);
318  return;
319  default:
320  addSelection(tr("Failed to open the card"),
321  QString::number(Error_Open), true);
322  return;
323  }
324 
325  addSelection(tr("Scan of all existing transports"),
326  QString::number(FullTransportScan));
327  addSelection(tr("Scan of single existing transport"),
328  QString::number(TransportScan));
329 }
330 
333 
335  m_scanType(_scan_type),
336  m_dvbTCountry(new ScanCountry()),
337  m_dvbT2Country(new ScanCountry()),
338  m_network(new ScanNetwork()),
339  m_paneDVBT(new PaneDVBT(QString::number(ScanTypeSetting::NITAddScan_DVBT), m_scanType)),
340  m_paneDVBT2(new PaneDVBT2(QString::number(ScanTypeSetting::NITAddScan_DVBT2), m_scanType)),
341  m_paneDVBS(new PaneDVBS(QString::number(ScanTypeSetting::NITAddScan_DVBS), m_scanType)),
342  m_paneDVBS2(new PaneDVBS2(QString::number(ScanTypeSetting::NITAddScan_DVBS2), m_scanType)),
343  m_paneATSC(new PaneATSC(QString::number(ScanTypeSetting::FullScan_ATSC), m_scanType)),
344  m_paneDVBC(new PaneDVBC(QString::number(ScanTypeSetting::NITAddScan_DVBC), m_scanType)),
345  m_paneAnalog(new PaneAnalog(QString::number(ScanTypeSetting::FullScan_Analog), m_scanType)),
346  m_paneSingle(new PaneSingle(QString::number(ScanTypeSetting::TransportScan), m_scanType)),
347  m_paneAll(new PaneAll(QString::number(ScanTypeSetting::FullTransportScan), m_scanType)),
348  m_paneDVBUtilsImport(new PaneDVBUtilsImport()),
349  m_paneExistingScanImport(new PaneExistingScanImport(QString::number(ScanTypeSetting::ExistingScanImport), m_scanType))
350 {
351  setVisible(false);
352 
354  new PaneError(tr("Failed to open the card")));
356  new PaneError(tr("Failed to probe the card")));
358  m_network);
360  m_dvbTCountry);
363 // m_scanType->addTargetedChild(QString::number(ScanTypeSetting::DVBUtilsImport),
364 // paneDVBUtilsImport);
365 }
366 
367 void ScanOptionalConfig::SetSourceID(const QString &sourceid)
368 {
369  m_paneAnalog->SetSourceID(sourceid.toUInt());
370  m_paneSingle->SetSourceID(sourceid.toUInt());
371  m_paneExistingScanImport->SetSourceID(sourceid.toUInt());
372 }
373 
375 {
376  int st = m_scanType->getValue().toInt();
377 
378  switch (st)
379  {
381  return "atsc";
383  return "dvbc";
386  return "dvbt";
388  return "analog";
389  default:
390  return "unknown";
391  }
392 }
393 
395 {
396  int st = m_scanType->getValue().toInt();
397 
398  switch (st)
399  {
401  return m_paneATSC->GetModulation();
403  return "qam";
406  return "ofdm";
408  return "analog";
409  default:
410  return "unknown";
411  }
412 }
413 
415 {
416  int st = m_scanType->getValue().toInt();
417 
418  switch (st)
419  {
421  return m_paneATSC->GetFrequencyTable();
423  return m_network->getValue();
425  return m_dvbTCountry->getValue();
427  return m_dvbT2Country->getValue();
430  default:
431  return "unknown";
432  }
433 }
434 
436  QString &start, QString &end) const
437 {
438  start.clear();
439  end.clear();
440 
441  int st = m_scanType->getValue().toInt();
443  return m_paneATSC->GetFrequencyTableRange(start, end);
444 
445  return false;
446 }
447 
449 {
450  int st = m_scanType->getValue().toInt();
451 
452  switch (st)
453  {
457  return m_paneAll->ignoreSignalTimeout();
460  default:
461  return false;
462  }
463 }
464 
466 {
467  int st = m_scanType->getValue().toInt();
468  switch (st)
469  {
471  return m_paneSingle->GetFollowNIT();
473  return m_paneAll->GetFollowNIT();
474  default:
475  return false;
476  }
477 }
478 
480 {
482 }
483 
485 {
486  int mplexid = m_paneSingle->GetMultiplex();
487  return (mplexid <= 0) ? 0 : mplexid;
488 }
489 
491 {
493 }
494 
495 QMap<QString,QString> ScanOptionalConfig::GetStartChan(void) const
496 {
497  QMap<QString,QString> startChan;
498 
499  int st = m_scanType->getValue().toInt();
501  {
502  const PaneDVBT *pane = m_paneDVBT;
503 
504  startChan["std"] = "dvb";
505  startChan["type"] = "OFDM";
506  startChan["frequency"] = pane->frequency();
507  startChan["inversion"] = pane->inversion();
508  startChan["bandwidth"] = pane->bandwidth();
509  startChan["coderate_hp"] = pane->coderate_hp();
510  startChan["coderate_lp"] = pane->coderate_lp();
511  startChan["constellation"] = pane->constellation();
512  startChan["trans_mode"] = pane->trans_mode();
513  startChan["guard_interval"] = pane->guard_interval();
514  startChan["hierarchy"] = pane->hierarchy();
515  }
516  else if (ScanTypeSetting::NITAddScan_DVBT2 == st)
517  {
518  const PaneDVBT2 *pane = m_paneDVBT2;
519 
520  startChan["std"] = "dvb";
521  startChan["type"] = "DVB_T2";
522  startChan["frequency"] = pane->frequency();
523  startChan["inversion"] = pane->inversion();
524  startChan["bandwidth"] = pane->bandwidth();
525  startChan["coderate_hp"] = pane->coderate_hp();
526  startChan["coderate_lp"] = pane->coderate_lp();
527  startChan["constellation"] = pane->constellation();
528  startChan["trans_mode"] = pane->trans_mode();
529  startChan["guard_interval"] = pane->guard_interval();
530  startChan["hierarchy"] = pane->hierarchy();
531  startChan["mod_sys"] = pane->mod_sys();
532  }
533  else if (ScanTypeSetting::NITAddScan_DVBS == st)
534  {
535  const PaneDVBS *pane = m_paneDVBS;
536 
537  startChan["std"] = "dvb";
538  startChan["type"] = "QPSK";
539  startChan["modulation"] = "qpsk";
540  startChan["frequency"] = pane->frequency();
541  startChan["inversion"] = pane->inversion();
542  startChan["symbolrate"] = pane->symbolrate();
543  startChan["fec"] = pane->fec();
544  startChan["polarity"] = pane->polarity();
545  }
546  else if (ScanTypeSetting::NITAddScan_DVBC == st)
547  {
548  const PaneDVBC *pane = m_paneDVBC;
549 
550  startChan["std"] = "dvb";
551  startChan["type"] = "QAM";
552  startChan["frequency"] = pane->frequency();
553  startChan["inversion"] = pane->inversion();
554  startChan["symbolrate"] = pane->symbolrate();
555  startChan["fec"] = pane->fec();
556  startChan["modulation"] = pane->modulation();
557  }
558  else if (ScanTypeSetting::NITAddScan_DVBS2 == st)
559  {
560  const PaneDVBS2 *pane = m_paneDVBS2;
561 
562  startChan["std"] = "dvb";
563  startChan["type"] = "DVB_S2";
564  startChan["frequency"] = pane->frequency();
565  startChan["inversion"] = pane->inversion();
566  startChan["symbolrate"] = pane->symbolrate();
567  startChan["fec"] = pane->fec();
568  startChan["modulation"] = pane->modulation();
569  startChan["polarity"] = pane->polarity();
570  startChan["mod_sys"] = pane->mod_sys();
571  startChan["rolloff"] = pane->rolloff();
572  }
573 
574  return startChan;
575 }
576 
578 {
579  const int st = m_scanType->getValue().toInt();
580 
581  if (st == ScanTypeSetting::FullScan_DVBT ||
583  {
584  PaneDVBT *pane = m_paneDVBT;
585 
586  pane->setFrequency(frequency);
587  if (frequency == mpx.m_frequency)
588  {
589  pane->setInversion(mpx.m_inversion.toString());
590  pane->setBandwidth(mpx.m_bandwidth.toString());
591  pane->setCodeRateHP(mpx.m_hpCodeRate.toString());
592  pane->setCodeRateLP(mpx.m_lpCodeRate.toString());
594  pane->setTransmode(mpx.m_transMode.toString());
596  pane->setHierarchy(mpx.m_hierarchy.toString());
597  }
598  }
599  else if (st == ScanTypeSetting::FullScan_DVBT2 ||
601  {
602  PaneDVBT2 *pane = m_paneDVBT2;
603 
604  pane->setFrequency(frequency);
605  if (frequency == mpx.m_frequency)
606  {
607  pane->setInversion(mpx.m_inversion.toString());
608  pane->setBandwidth(mpx.m_bandwidth.toString());
609  pane->setCodeRateHP(mpx.m_hpCodeRate.toString());
610  pane->setCodeRateLP(mpx.m_lpCodeRate.toString());
612  pane->setTransmode(mpx.m_transMode.toString());
614  pane->setHierarchy(mpx.m_hierarchy.toString());
615  pane->setModsys(mpx.m_modSys.toString());
616  }
617  }
618  else if (st == ScanTypeSetting::FullScan_DVBC ||
620  {
621  PaneDVBC *pane = m_paneDVBC;
622 
623  pane->setFrequency(frequency);
624  if (frequency == mpx.m_frequency)
625  {
626  pane->setInversion(mpx.m_inversion.toString());
627  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
628  pane->setFec(mpx.m_fec.toString());
629  pane->setModulation(mpx.m_modulation.toString());
630  }
631  }
632  else if (st == ScanTypeSetting::NITAddScan_DVBS)
633  {
634  PaneDVBS *pane = m_paneDVBS;
635 
636  pane->setFrequency(frequency);
637  if (frequency == mpx.m_frequency)
638  {
639  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
640  pane->setInversion(mpx.m_inversion.toString());
641  pane->setFec(mpx.m_fec.toString());
642  pane->setPolarity(mpx.m_polarity.toString());
643  }
644  }
645  else if (st == ScanTypeSetting::NITAddScan_DVBS2)
646  {
647  PaneDVBS2 *pane = m_paneDVBS2;
648 
649  pane->setFrequency(frequency);
650  if (frequency == mpx.m_frequency)
651  {
652  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
653  pane->setInversion(mpx.m_inversion.toString());
654  pane->setFec(mpx.m_fec.toString());
655  pane->setPolarity(mpx.m_polarity.toString());
656  pane->setModulation(mpx.m_modulation.toString());
657  pane->setModsys(mpx.m_modSys.toString());
658  pane->setRolloff(mpx.m_rolloff.toString());
659  }
660  }
661 }
662 
663 void ScanOptionalConfig::SetTuningPaneValuesATSC(const QString &freqtable)
664 {
665  const int st = m_scanType->getValue().toInt();
666 
668  {
669  PaneATSC *pane = m_paneATSC;
670 
671  pane->SetFrequencyTable(freqtable);
672  }
673 }
AddFullTS * m_addFullTS
Definition: scanwizard.h:109
bool next(void)
Wrap QSqlQuery::next() so we can display the query results.
Definition: mythdbcon.cpp:783
QString GetFilename(void) const
PaneSingle * m_paneSingle
QString inversion(void) const
Definition: panedvbs2.h:32
QString trans_mode(void) const
Definition: panedvbt.h:61
bool DoFullChannelSearch(void) const
static bool HDHRdoesDVBC(const QString &device)
void SetFrequencyTable(const QString &atsc_table)
Definition: paneatsc.h:63
void setFrequency(uint frequency)
Definition: panedvbc.h:57
QString modulation(void) const
Definition: panedvbs2.h:35
DTVGuardInterval m_guardInterval
Definition: dtvmultiplex.h:102
void setBandwidth(const QString &bandwidth)
Definition: panedvbt.h:66
void bindValue(const QString &placeholder, const QVariant &val)
Add a single binding.
Definition: mythdbcon.cpp:864
void setPolarity(const QString &polarity)
Definition: panedvbs.h:61
QString GetModulation(void) const
Definition: paneatsc.h:68
QString fec(void) const
Definition: panedvbc.h:54
uint64_t m_symbolRate
Definition: dtvmultiplex.h:95
void setGuardInterval(const QString &guard_interval)
Definition: panedvbt2.h:75
QString coderate_lp(void) const
Definition: panedvbt2.h:61
void SetTuningPaneValuesATSC(const QString &freqtable)
void setInversion(const QString &inversion)
Definition: panedvbs2.h:41
void setPolarity(const QString &polarity)
Definition: panedvbs2.h:43
DTVBandwidth m_bandwidth
Definition: dtvmultiplex.h:97
void setConstellation(const QString &constellation)
Definition: panedvbt.h:68
void SetupConfig(uint default_sourceid, uint default_cardid, const QString &default_inputname)
void setInversion(const QString &inversion)
Definition: panedvbc.h:59
DTVHierarchy m_hierarchy
Definition: dtvmultiplex.h:103
bool DoFreeToAirOnly(void) const
int GetMultiplex(void) const
Definition: panesingle.h:53
DTVPolarity m_polarity
Definition: dtvmultiplex.h:104
static QString ProbeSubTypeName(uint inputid)
Definition: cardutil.cpp:927
static enum INPUT_TYPES toInputType(const QString &name)
Definition: cardutil.h:72
QSqlQuery wrapper that fetches a DB connection from the connection pool.
Definition: mythdbcon.h:125
PaneDVBUtilsImport * m_paneDVBUtilsImport
void addSelection(const QString &label, QString value=QString(), bool select=false)
QString modulation(void) const
Definition: panedvbc.h:55
QString inversion(void) const
Definition: panedvbc.h:53
bool DoCompleteChannelsOnly(void) const
QString toString() const
void setCodeRateHP(const QString &coderate_hp)
Definition: panedvbt.h:70
uint GetSourceID(void) const
QString frequency(void) const
Definition: panedvbc.h:51
CompleteChannelsOnly * m_completeOnly
Definition: scanwizard.h:107
QString GetFrequencyTable(void) const
Definition: paneanalog.cpp:21
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
void setHierarchy(const QString &hierarchy)
Definition: panedvbt.h:73
DTVInversion m_inversion
Definition: dtvmultiplex.h:96
static uint GetMplexID(uint sourceid, const QString &channum)
QString toString() const
QString toString() const
void setModsys(const QString &mod_sys)
Definition: panedvbs2.h:45
DTVCodeRate m_fec
Inner Forward Error Correction rate.
Definition: dtvmultiplex.h:105
uint GetScanID(void) const
virtual QString getValue(void) const
QString hierarchy(void) const
Definition: panedvbt.h:63
QString inversion(void) const
Definition: panedvbt.h:57
VideoSourceSelector * m_videoSource
Definition: scanwizard.h:100
DesiredServices * m_services
Definition: scanwizard.h:104
QVariant value(int i) const
Definition: mythdbcon.h:198
QString toString() const
void setFrequency(uint frequency)
Definition: panedvbt2.h:68
QString constellation(void) const
Definition: panedvbt.h:58
QString GetFilename(void) const
bool DoIgnoreSignalTimeout(void) const
DTVModulation m_modulation
Definition: dtvmultiplex.h:100
void setTransmode(const QString &trans_mode)
Definition: panedvbt.h:71
QString toString() const
void SetSourceID(const QString &sourceid)
QString frequency(void) const
Definition: panedvbt.h:55
void setSymbolrate(const QString &symbolrate)
Definition: panedvbs.h:58
QString polarity(void) const
Definition: panedvbs2.h:34
uint GetMultiplex(void) const
QString GetFrequencyStandard(void) const
ScanTypeSetting * m_scanType
Definition: scanwizard.h:102
static bool Parse(const QString &cardid_inputname, uint &cardid, QString &inputname)
void setInversion(const QString &inversion)
Definition: panedvbs.h:59
static bool HDHRdoesDVB(const QString &device)
virtual void setLabel(QString str)
QString frequency(void) const
Definition: panedvbs2.h:30
QString GetSetting(const QString &key, const QString &defaultval="")
void setConstellation(const QString &constellation)
Definition: panedvbt2.h:71
QString rolloff(void) const
Definition: panedvbs2.h:37
bool GetFrequencyTableRange(QString &start, QString &end) const
Definition: paneatsc.h:70
void valueChanged(const QString &newValue)
TrustEncSISetting * m_trustEncSI
Definition: scanwizard.h:110
QString toString() const
bool GetFollowNIT(void) const
Definition: paneall.h:52
bool isActive(void) const
Definition: mythdbcon.h:204
QString trans_mode(void) const
Definition: panedvbt2.h:63
void setFec(const QString &fec)
Definition: panedvbs.h:60
void setCodeRateLP(const QString &coderate_lp)
Definition: panedvbt.h:69
void setTransmode(const QString &trans_mode)
Definition: panedvbt2.h:74
QString toString() const
void setModsys(const QString &mod_sys)
Definition: panedvbt2.h:77
void SetInput(const QString &cardids_inputname)
QString inversion(void) const
Definition: panedvbt2.h:59
unsigned int uint
Definition: compat.h:140
QString bandwidth(void) const
Definition: panedvbt2.h:58
static MSqlQueryInfo InitCon(ConnectionReuse _reuse=kNormalConnection)
Only use this in combination with MSqlQuery constructor.
Definition: mythdbcon.cpp:535
bool DoTestDecryption(void) const
void setRolloff(const QString &rolloff)
Definition: panedvbs2.h:46
void SetTuningPaneValues(uint frequency, const DTVMultiplex &mpx)
bool DoIgnoreSignalTimeout(void) const
void setCodeRateLP(const QString &coderate_lp)
Definition: panedvbt2.h:72
void setFrequency(uint frequency)
Definition: panedvbs2.h:39
ChannelNumbersOnly * m_lcnOnly
Definition: scanwizard.h:106
ScanOptionalConfig(ScanTypeSetting *_scan_type)
DTVTransmitMode m_transMode
Definition: dtvmultiplex.h:101
virtual void addChild(StandardSetting *child)
QMap< QString, QString > GetStartChan(void) const
static QString GetVideoDevice(uint inputid)
Definition: cardutil.h:273
QString toString() const
QString bandwidth(void) const
Definition: panedvbt.h:56
QString hierarchy(void) const
Definition: panedvbt2.h:65
QString GetFrequencyTable(void) const
Definition: paneatsc.h:66
void setGuardInterval(const QString &guard_interval)
Definition: panedvbt.h:72
void setFec(const QString &fec)
Definition: panedvbc.h:61
void setBandwidth(const QString &bandwidth)
Definition: panedvbt2.h:69
QString coderate_hp(void) const
Definition: panedvbt2.h:62
void setVisible(bool visible)
bool prepare(const QString &query)
QSqlQuery::prepare() is not thread safe in Qt <= 3.3.2.
Definition: mythdbcon.cpp:808
void setFec(const QString &fec)
Definition: panedvbs2.h:42
bool DoChannelNumbersOnly(void) const
DTVRollOff m_rolloff
Definition: dtvmultiplex.h:107
QString fec(void) const
Definition: panedvbs.h:54
ScanCountry * m_dvbT2Country
#define LOG(_MASK_, _LEVEL_, _STRING_)
Definition: mythlogging.h:41
QString guard_interval(void) const
Definition: panedvbt2.h:64
ScanCountry * m_dvbTCountry
static DTVTunerType GetTunerTypeFromMultiplex(uint mplexid)
Definition: cardutil.cpp:814
QString toString() const
QString frequency(void) const
Definition: panedvbs.h:51
QString toString() const
void setSymbolrate(const QString &symbolrate)
Definition: panedvbs2.h:40
ScanTypeSetting * m_scanType
bool ignoreSignalTimeout(void) const
Definition: panesingle.h:55
FreeToAirOnly * m_ftaOnly
Definition: scanwizard.h:105
QString frequency(void) const
Definition: panedvbt2.h:57
PaneExistingScanImport * m_paneExistingScanImport
bool ignoreSignalTimeout(void) const
Definition: paneall.h:50
QString symbolrate(void) const
Definition: panedvbc.h:52
ServiceRequirements
QString GetModulation(void) const
bool DoFollowNIT(void) const
DTVCodeRate m_hpCodeRate
High Priority FEC rate.
Definition: dtvmultiplex.h:98
void setFrequency(uint frequency)
Definition: panedvbt.h:65
void setInversion(const QString &inversion)
Definition: panedvbt2.h:70
void setFrequency(uint frequency)
Definition: panedvbs.h:57
bool exec(void)
Wrap QSqlQuery::exec() so we can display SQL.
Definition: mythdbcon.cpp:603
void SetSourceID(uint sourceid)
Definition: paneanalog.cpp:16
void setModulation(const QString &modulation)
Definition: panedvbc.h:60
QString GetFrequencyTable(void) const
FullChannelSearch * m_fullSearch
Definition: scanwizard.h:108
void setCodeRateHP(const QString &coderate_hp)
Definition: panedvbt2.h:73
void SetPaneDefaults(const QString &cardid_inputname)
QString mod_sys(void) const
Definition: panedvbs2.h:36
static void DBError(const QString &where, const MSqlQuery &query)
Definition: mythdb.cpp:179
bool DoAddFullTS(void) const
ServiceRequirements GetServiceRequirements(void) const
Scans the transport when there is no tuner (for ASI)
void SetInput(const QString &cardid_inputname)
Definition: scanwizard.cpp:199
void setHierarchy(const QString &hierarchy)
Definition: panedvbt2.h:76
QString symbolrate(void) const
Definition: panedvbs.h:52
QString mod_sys(void) const
Definition: panedvbt2.h:66
ScanOptionalConfig * m_scanConfig
Definition: scanwizard.h:103
QString inversion(void) const
Definition: panedvbs.h:53
void setModulation(const QString &modulation)
Definition: panedvbs2.h:44
QString guard_interval(void) const
Definition: panedvbt.h:62
void addTargetedChild(const QString &value, StandardSetting *setting)
bool GetFollowNIT(void) const
Definition: panesingle.h:57
QString coderate_lp(void) const
Definition: panedvbt.h:59
QString symbolrate(void) const
Definition: panedvbs2.h:31
ServiceRequirements GetServiceRequirements(void) const
QString coderate_hp(void) const
Definition: panedvbt.h:60
QString polarity(void) const
Definition: panedvbs.h:55
void setSymbolrate(const QString &symbolrate)
Definition: panedvbc.h:58
void SetSourceID(uint sourceid)
QString constellation(void) const
Definition: panedvbt2.h:60
DTVCodeRate m_lpCodeRate
Low Priority FEC rate.
Definition: dtvmultiplex.h:99
InputSelector * m_input
Definition: scanwizard.h:101
void setInversion(const QString &inversion)
Definition: panedvbt.h:67
PaneAnalog * m_paneAnalog
ScanNetwork * m_network
QString fec(void) const
Definition: panedvbs2.h:33
static QString GetScanableInputTypes(void)
Definition: cardutil.cpp:58
bool GetFrequencyTableRange(QString &start, QString &end) const
QString toString() const
virtual bool FillFromDB(DTVTunerType type, uint mplexid)
void SetSourceID(uint sourceid)
Definition: panesingle.h:60
DTVModulationSystem m_modSys
Modulation system.
Definition: dtvmultiplex.h:106
uint64_t m_frequency
Definition: dtvmultiplex.h:94