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();
39  m_addFullTS = new AddFullTS();
41 
42  setLabel(tr("Channel Scan"));
43 
52 
57 
58  connect(m_videoSource, SIGNAL(valueChanged(const QString&)),
59  m_scanConfig, SLOT( SetSourceID( const QString&)));
60 
61  connect(m_videoSource, SIGNAL(valueChanged(const QString&)),
62  m_input, SLOT( SetSourceID( const QString&)));
63 
64  connect(m_input, SIGNAL(valueChanged(const QString&)),
65  m_scanType, SLOT( SetInput( const QString&)));
66 
67  connect(m_input, SIGNAL(valueChanged(const QString&)),
68  this, SLOT( SetInput( const QString&)));
69 
70  connect(m_input, SIGNAL(valueChanged(const QString&)),
71  this, SLOT( SetPaneDefaults(const QString)));
72 
73 }
74 
76 {
77  return m_videoSource->getValue().toUInt();
78 }
79 
81 {
83 }
84 
86 {
87  return m_ftaOnly->boolValue();
88 }
89 
91 {
92  return m_lcnOnly->boolValue();
93 }
94 
96 {
97  return m_completeOnly->boolValue();
98 }
99 
101 {
102  return m_fullSearch->boolValue();
103 }
104 
106 {
107  return m_removeDuplicates->boolValue();
108 }
109 
110 bool ScanWizard::DoAddFullTS(void) const
111 {
112  return m_addFullTS->boolValue();
113 }
114 
116 {
117  return m_trustEncSI->boolValue();
118 }
119 
120 void ScanWizard::SetPaneDefaults(const QString &cardid_inputname)
121 {
122  const int sourceid = m_videoSource->getValue().toInt();
123  uint scanfrequency = 0;
124  QString freqtable;
125 
127  query.prepare(
128  "SELECT scanfrequency, freqtable "
129  "FROM videosource "
130  "WHERE videosource.sourceid = :SOURCEID ;");
131  query.bindValue(":SOURCEID", sourceid);
132  if (!query.exec() || !query.isActive())
133  {
134  MythDB::DBError("ScanOptionalConfig::SetPaneDefaults", query);
135  return;
136  }
137  if (query.next())
138  {
139  scanfrequency = query.value(0).toUInt();
140  freqtable = query.value(1).toString();
141  LOG(VB_CHANSCAN, LOG_DEBUG,
142  QString("SetPaneDefaults cardid_inputname:%1 sourceid:%2 scanfrequency:%3 freqtable:%4")
143  .arg(cardid_inputname).arg(sourceid).arg(scanfrequency).arg(freqtable));
144  }
145 
146  // Channel Frequency Table for ATSC
147  // Use general setting if not defined in the videosource
148  {
149  if (freqtable == "default")
150  {
151  freqtable = gCoreContext->GetSetting("FreqTable");
152  }
153  QString table;
154  table = (freqtable == "us-bcast" ) ? "us" : table;
155  table = (freqtable == "us-cable" ) ? "uscable" : table;
156  table = (freqtable == "us-cable-hrc") ? "ushrc" : table;
157  table = (freqtable == "us-cable-irc") ? "usirc" : table;
158  if (!table.isEmpty())
159  {
160  LOG(VB_CHANSCAN, LOG_DEBUG,
161  QString("SetPaneDefaults ATSC frequency table:'%1'").arg(table));
163  }
164  }
165 
166  // Set "Full Scan (Tuned)" defaults only when a frequency has been entered.
167  if (scanfrequency == 0)
168  return;
169 
170  // If we have only a frequency set that as default; if there is a multiplex
171  // already at that frequency then use the values of that multiplex as
172  // default values for scanning.
173  int mplexid = 0;
174  mplexid = ChannelUtil::GetMplexID(sourceid, scanfrequency);
175  LOG(VB_CHANSCAN, LOG_DEBUG,
176  QString("SetPaneDefaults sourceid:%1 frequency:%2 mplexid:%3")
177  .arg(sourceid).arg(scanfrequency).arg(mplexid));
178 
179  DTVMultiplex mpx;
180  if (mplexid > 0)
181  {
183 
184  mpx.FillFromDB(tuner_type, mplexid);
185 
186  LOG(VB_CHANSCAN, LOG_DEBUG,
187  QString("SetPaneDefaults sourceid:%1 frequency:%2 mplexid:%3 tuner_type:%4 mpx:%5")
188  .arg(sourceid).arg(scanfrequency).arg(mplexid)
189  .arg(tuner_type.toString()).arg(mpx.toString()));
190  }
191 
192  m_scanConfig->SetTuningPaneValues(scanfrequency, mpx);
193 }
194 
197 
198 void ScanTypeSetting::SetInput(const QString &cardids_inputname)
199 {
200  uint cardid = 0;
201  QString inputname;
202  if (!InputSelector::Parse(cardids_inputname, cardid, inputname))
203  return;
204 
205  // Only refresh if we really have to. If we do it too often
206  // Then we end up fighting the scan routine when we want to
207  // check the type of dvb card :/
208  if (cardid == m_hw_cardid)
209  return;
210 
211  m_hw_cardid = cardid;
212  QString subtype = CardUtil::ProbeSubTypeName(m_hw_cardid);
213  int nCardType = CardUtil::toInputType(subtype);
214  clearSelections();
215 
216  switch (nCardType)
217  {
218  case CardUtil::V4L:
219  case CardUtil::MPEG:
220  addSelection(tr("Full Scan"),
221  QString::number(FullScan_Analog), true);
222  addSelection(tr("Import existing scan"),
223  QString::number(ExistingScanImport));
224  return;
225  case CardUtil::DVBT:
226  addSelection(tr("Full Scan"),
227  QString::number(FullScan_DVBT), true);
228  addSelection(tr("Full Scan (Tuned)"),
229  QString::number(NITAddScan_DVBT));
230 // addSelection(tr("Import channels.conf"),
231 // QString::number(DVBUtilsImport));
232  addSelection(tr("Import existing scan"),
233  QString::number(ExistingScanImport));
234  break;
235  case CardUtil::DVBT2:
236  addSelection(tr("Full Scan"),
237  QString::number(FullScan_DVBT2), true);
238  addSelection(tr("Full Scan (Tuned)"),
239  QString::number(NITAddScan_DVBT2));
240 // addSelection(tr("Import channels.conf"),
241 // QString::number(DVBUtilsImport));
242  addSelection(tr("Import existing scan"),
243  QString::number(ExistingScanImport));
244  break;
245  case CardUtil::DVBS:
246  addSelection(tr("Full Scan (Tuned)"),
247  QString::number(NITAddScan_DVBS));
248 // addSelection(tr("Import channels.conf"),
249 // QString::number(DVBUtilsImport));
250  addSelection(tr("Import existing scan"),
251  QString::number(ExistingScanImport));
252  break;
253  case CardUtil::DVBS2:
254  addSelection(tr("Full Scan (Tuned)"),
255  QString::number(NITAddScan_DVBS2));
256 // addSelection(tr("Import channels.conf"),
257 // QString::number(DVBUtilsImport));
258  addSelection(tr("Import existing scan"),
259  QString::number(ExistingScanImport));
260  break;
261  case CardUtil::QAM:
262  addSelection(tr("Full Scan (Tuned)"),
263  QString::number(NITAddScan_DVBC));
264  addSelection(tr("Full Scan"),
265  QString::number(FullScan_DVBC));
266 // addSelection(tr("Import channels.conf"),
267 // QString::number(DVBUtilsImport));
268  addSelection(tr("Import existing scan"),
269  QString::number(ExistingScanImport));
270  break;
271  case CardUtil::ATSC:
272  addSelection(tr("Full Scan"),
273  QString::number(FullScan_ATSC), true);
274 // addSelection(tr("Import channels.conf"),
275 // QString::number(DVBUtilsImport));
276  addSelection(tr("Import existing scan"),
277  QString::number(ExistingScanImport));
278  break;
279  case CardUtil::HDHOMERUN:
281  {
282  addSelection(tr("Full Scan (Tuned)"),
283  QString::number(NITAddScan_DVBC));
284  addSelection(tr("Full Scan"),
285  QString::number(FullScan_DVBC));
286  }
288  {
289  addSelection(tr("Full Scan"),
290  QString::number(FullScan_DVBT), true);
291  addSelection(tr("Full Scan (Tuned)"),
292  QString::number(NITAddScan_DVBT));
293  }
294  else
295  addSelection(tr("Full Scan"),
296  QString::number(FullScan_ATSC), true);
297 // addSelection(tr("Import channels.conf"),
298 // QString::number(DVBUtilsImport));
299  addSelection(tr("Import existing scan"),
300  QString::number(ExistingScanImport));
301  break;
302  case CardUtil::VBOX:
303  addSelection(tr("VBox Channel Import"),
304  QString::number(VBoxImport), true);
305  return;
306  case CardUtil::FREEBOX:
307  addSelection(tr("M3U Import with MPTS"),
308  QString::number(IPTVImportMPTS), true);
309  addSelection(tr("M3U Import"),
310  QString::number(IPTVImport), true);
311  return;
312  case CardUtil::ASI:
313  addSelection(tr("ASI Scan"),
314  QString::number(CurrentTransportScan), true);
315  return;
316  case CardUtil::EXTERNAL:
317  addSelection(tr("MPTS Scan"),
318  QString::number(CurrentTransportScan), true);
319  addSelection(tr("Import from ExternalRecorder"),
320  QString::number(ExternRecImport), true);
321  return;
323  addSelection(tr("Failed to probe the card"),
324  QString::number(Error_Probe), true);
325  return;
326  default:
327  addSelection(tr("Failed to open the card"),
328  QString::number(Error_Open), true);
329  return;
330  }
331 
332  addSelection(tr("Scan of all existing transports"),
333  QString::number(FullTransportScan));
334  addSelection(tr("Scan of single existing transport"),
335  QString::number(TransportScan));
336 }
337 
340 
342  m_scanType(_scan_type),
343  m_dvbTCountry(new ScanCountry()),
344  m_dvbT2Country(new ScanCountry()),
345  m_network(new ScanNetwork()),
346  m_paneDVBT(new PaneDVBT(QString::number(ScanTypeSetting::NITAddScan_DVBT), m_scanType)),
347  m_paneDVBT2(new PaneDVBT2(QString::number(ScanTypeSetting::NITAddScan_DVBT2), m_scanType)),
348  m_paneDVBS(new PaneDVBS(QString::number(ScanTypeSetting::NITAddScan_DVBS), m_scanType)),
349  m_paneDVBS2(new PaneDVBS2(QString::number(ScanTypeSetting::NITAddScan_DVBS2), m_scanType)),
350  m_paneATSC(new PaneATSC(QString::number(ScanTypeSetting::FullScan_ATSC), m_scanType)),
351  m_paneDVBC(new PaneDVBC(QString::number(ScanTypeSetting::NITAddScan_DVBC), m_scanType)),
352  m_paneAnalog(new PaneAnalog(QString::number(ScanTypeSetting::FullScan_Analog), m_scanType)),
353  m_paneSingle(new PaneSingle(QString::number(ScanTypeSetting::TransportScan), m_scanType)),
354  m_paneAll(new PaneAll(QString::number(ScanTypeSetting::FullTransportScan), m_scanType)),
355  m_paneDVBUtilsImport(new PaneDVBUtilsImport()),
356  m_paneExistingScanImport(new PaneExistingScanImport(QString::number(ScanTypeSetting::ExistingScanImport), m_scanType))
357 {
358  setVisible(false);
359 
361  new PaneError(tr("Failed to open the card")));
363  new PaneError(tr("Failed to probe the card")));
365  m_network);
367  m_dvbTCountry);
370 // m_scanType->addTargetedChild(QString::number(ScanTypeSetting::DVBUtilsImport),
371 // paneDVBUtilsImport);
372 }
373 
374 void ScanOptionalConfig::SetSourceID(const QString &sourceid)
375 {
376  m_paneAnalog->SetSourceID(sourceid.toUInt());
377  m_paneSingle->SetSourceID(sourceid.toUInt());
378  m_paneExistingScanImport->SetSourceID(sourceid.toUInt());
379 }
380 
382 {
383  int st = m_scanType->getValue().toInt();
384 
385  switch (st)
386  {
388  return "atsc";
390  return "dvbc";
393  return "dvbt";
395  return "analog";
396  default:
397  return "unknown";
398  }
399 }
400 
402 {
403  int st = m_scanType->getValue().toInt();
404 
405  switch (st)
406  {
408  return m_paneATSC->GetModulation();
410  return "qam";
413  return "ofdm";
415  return "analog";
416  default:
417  return "unknown";
418  }
419 }
420 
422 {
423  int st = m_scanType->getValue().toInt();
424 
425  switch (st)
426  {
428  return m_paneATSC->GetFrequencyTable();
430  return m_network->getValue();
432  return m_dvbTCountry->getValue();
434  return m_dvbT2Country->getValue();
437  default:
438  return "unknown";
439  }
440 }
441 
443  QString &start, QString &end) const
444 {
445  start.clear();
446  end.clear();
447 
448  int st = m_scanType->getValue().toInt();
450  return m_paneATSC->GetFrequencyTableRange(start, end);
451 
452  return false;
453 }
454 
456 {
457  int st = m_scanType->getValue().toInt();
458 
459  switch (st)
460  {
464  return m_paneAll->ignoreSignalTimeout();
467  default:
468  return false;
469  }
470 }
471 
473 {
474  int st = m_scanType->getValue().toInt();
475  switch (st)
476  {
478  return m_paneSingle->GetFollowNIT();
480  return m_paneAll->GetFollowNIT();
481  default:
482  return false;
483  }
484 }
485 
487 {
489 }
490 
492 {
493  int mplexid = m_paneSingle->GetMultiplex();
494  return (mplexid <= 0) ? 0 : mplexid;
495 }
496 
498 {
500 }
501 
502 QMap<QString,QString> ScanOptionalConfig::GetStartChan(void) const
503 {
504  QMap<QString,QString> startChan;
505 
506  int st = m_scanType->getValue().toInt();
508  {
509  const PaneDVBT *pane = m_paneDVBT;
510 
511  startChan["std"] = "dvb";
512  startChan["type"] = "OFDM";
513  startChan["frequency"] = pane->frequency();
514  startChan["inversion"] = pane->inversion();
515  startChan["bandwidth"] = pane->bandwidth();
516  startChan["coderate_hp"] = pane->coderate_hp();
517  startChan["coderate_lp"] = pane->coderate_lp();
518  startChan["constellation"] = pane->constellation();
519  startChan["trans_mode"] = pane->trans_mode();
520  startChan["guard_interval"] = pane->guard_interval();
521  startChan["hierarchy"] = pane->hierarchy();
522  }
523  else if (ScanTypeSetting::NITAddScan_DVBT2 == st)
524  {
525  const PaneDVBT2 *pane = m_paneDVBT2;
526 
527  startChan["std"] = "dvb";
528  startChan["type"] = "DVB_T2";
529  startChan["frequency"] = pane->frequency();
530  startChan["inversion"] = pane->inversion();
531  startChan["bandwidth"] = pane->bandwidth();
532  startChan["coderate_hp"] = pane->coderate_hp();
533  startChan["coderate_lp"] = pane->coderate_lp();
534  startChan["constellation"] = pane->constellation();
535  startChan["trans_mode"] = pane->trans_mode();
536  startChan["guard_interval"] = pane->guard_interval();
537  startChan["hierarchy"] = pane->hierarchy();
538  startChan["mod_sys"] = pane->modsys();
539  }
540  else if (ScanTypeSetting::NITAddScan_DVBS == st)
541  {
542  const PaneDVBS *pane = m_paneDVBS;
543 
544  startChan["std"] = "dvb";
545  startChan["type"] = "QPSK";
546  startChan["modulation"] = "qpsk";
547  startChan["frequency"] = pane->frequency();
548  startChan["inversion"] = pane->inversion();
549  startChan["symbolrate"] = pane->symbolrate();
550  startChan["fec"] = pane->fec();
551  startChan["polarity"] = pane->polarity();
552  }
553  else if (ScanTypeSetting::NITAddScan_DVBC == st)
554  {
555  const PaneDVBC *pane = m_paneDVBC;
556 
557  startChan["std"] = "dvb";
558  startChan["type"] = "QAM";
559  startChan["frequency"] = pane->frequency();
560  startChan["symbolrate"] = pane->symbolrate();
561  startChan["modulation"] = pane->modulation();
562  startChan["mod_sys"] = pane->modsys();
563  startChan["inversion"] = pane->inversion();
564  startChan["fec"] = pane->fec();
565  }
566  else if (ScanTypeSetting::NITAddScan_DVBS2 == st)
567  {
568  const PaneDVBS2 *pane = m_paneDVBS2;
569 
570  startChan["std"] = "dvb";
571  startChan["type"] = "DVB_S2";
572  startChan["frequency"] = pane->frequency();
573  startChan["inversion"] = pane->inversion();
574  startChan["symbolrate"] = pane->symbolrate();
575  startChan["fec"] = pane->fec();
576  startChan["modulation"] = pane->modulation();
577  startChan["polarity"] = pane->polarity();
578  startChan["mod_sys"] = pane->modsys();
579  startChan["rolloff"] = pane->rolloff();
580  }
581 
582  return startChan;
583 }
584 
586 {
587  const int st = m_scanType->getValue().toInt();
588 
589  if (st == ScanTypeSetting::FullScan_DVBT ||
591  {
592  PaneDVBT *pane = m_paneDVBT;
593 
594  pane->setFrequency(frequency);
595  if (frequency == mpx.m_frequency)
596  {
597  pane->setInversion(mpx.m_inversion.toString());
598  pane->setBandwidth(mpx.m_bandwidth.toString());
599  pane->setCodeRateHP(mpx.m_hpCodeRate.toString());
600  pane->setCodeRateLP(mpx.m_lpCodeRate.toString());
602  pane->setTransmode(mpx.m_transMode.toString());
604  pane->setHierarchy(mpx.m_hierarchy.toString());
605  }
606  }
607  else if (st == ScanTypeSetting::FullScan_DVBT2 ||
609  {
610  PaneDVBT2 *pane = m_paneDVBT2;
611 
612  pane->setFrequency(frequency);
613  if (frequency == mpx.m_frequency)
614  {
615  pane->setInversion(mpx.m_inversion.toString());
616  pane->setBandwidth(mpx.m_bandwidth.toString());
617  pane->setCodeRateHP(mpx.m_hpCodeRate.toString());
618  pane->setCodeRateLP(mpx.m_lpCodeRate.toString());
620  pane->setTransmode(mpx.m_transMode.toString());
622  pane->setHierarchy(mpx.m_hierarchy.toString());
623  pane->setModsys(mpx.m_modSys.toString());
624  }
625  }
626  else if (st == ScanTypeSetting::FullScan_DVBC ||
628  {
629  PaneDVBC *pane = m_paneDVBC;
630 
631  pane->setFrequency(frequency);
632  if (frequency == mpx.m_frequency)
633  {
634  pane->setInversion(mpx.m_inversion.toString());
635  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
636  pane->setFec(mpx.m_fec.toString());
637  pane->setModulation(mpx.m_modulation.toString());
638  pane->setModsys(mpx.m_modSys.toString());
639  }
640  }
641  else if (st == ScanTypeSetting::NITAddScan_DVBS)
642  {
643  PaneDVBS *pane = m_paneDVBS;
644 
645  pane->setFrequency(frequency);
646  if (frequency == mpx.m_frequency)
647  {
648  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
649  pane->setInversion(mpx.m_inversion.toString());
650  pane->setFec(mpx.m_fec.toString());
651  pane->setPolarity(mpx.m_polarity.toString());
652  }
653  }
654  else if (st == ScanTypeSetting::NITAddScan_DVBS2)
655  {
656  PaneDVBS2 *pane = m_paneDVBS2;
657 
658  pane->setFrequency(frequency);
659  if (frequency == mpx.m_frequency)
660  {
661  pane->setSymbolrate(QString("%1").arg(mpx.m_symbolRate));
662  pane->setInversion(mpx.m_inversion.toString());
663  pane->setFec(mpx.m_fec.toString());
664  pane->setPolarity(mpx.m_polarity.toString());
665  pane->setModulation(mpx.m_modulation.toString());
666  pane->setModSys(mpx.m_modSys.toString());
667  pane->setRolloff(mpx.m_rolloff.toString());
668  }
669  }
670 }
671 
672 void ScanOptionalConfig::SetTuningPaneValuesATSC(const QString &freqtable)
673 {
674  const int st = m_scanType->getValue().toInt();
675 
677  {
678  PaneATSC *pane = m_paneATSC;
679 
680  pane->SetFrequencyTable(freqtable);
681  }
682 }
AddFullTS * m_addFullTS
Definition: scanwizard.h:111
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:34
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:59
QString modulation(void) const
Definition: panedvbs2.h:32
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:58
QString GetModulation(void) const
Definition: paneatsc.h:68
QString fec(void) const
Definition: panedvbc.h:57
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:43
void setPolarity(const QString &polarity)
Definition: panedvbs2.h:45
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:63
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:929
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:54
QString inversion(void) const
Definition: panedvbc.h:56
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:52
CompleteChannelsOnly * m_completeOnly
Definition: scanwizard.h:108
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
void setModsys(const QString &modsys)
Definition: panedvbc.h:62
static uint GetMplexID(uint sourceid, const QString &channum)
QString modsys(void) const
Definition: panedvbc.h:55
QString toString() const
QString toString() const
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:101
DesiredServices * m_services
Definition: scanwizard.h:105
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:59
QString polarity(void) const
Definition: panedvbs2.h:36
uint GetMultiplex(void) const
QString GetFrequencyStandard(void) const
ScanTypeSetting * m_scanType
Definition: scanwizard.h:103
MSqlQuery query(MSqlQuery::InitCon())
static bool Parse(const QString &cardid_inputname, uint &cardid, QString &inputname)
void setInversion(const QString &inversion)
Definition: panedvbs.h:61
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:112
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
bool DoRemoveDuplicates(void) const
QString modsys(void) const
Definition: panedvbt2.h:66
void setFrequency(uint frequency)
Definition: panedvbs2.h:39
ChannelNumbersOnly * m_lcnOnly
Definition: scanwizard.h:107
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:279
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:64
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:44
bool DoChannelNumbersOnly(void) const
DTVRollOff m_rolloff
Definition: dtvmultiplex.h:107
QString fec(void) const
Definition: panedvbs.h:54
ScanCountry * m_dvbT2Country
QString guard_interval(void) const
Definition: panedvbt2.h:64
ScanCountry * m_dvbTCountry
static DTVTunerType GetTunerTypeFromMultiplex(uint mplexid)
Definition: cardutil.cpp:816
void setModSys(const QString &modsys)
Definition: panedvbs2.h:42
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:106
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:53
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
QString modsys(void) const
Definition: panedvbs2.h:33
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:61
QString GetFrequencyTable(void) const
FullChannelSearch * m_fullSearch
Definition: scanwizard.h:109
void setCodeRateHP(const QString &coderate_hp)
Definition: panedvbt2.h:73
void SetPaneDefaults(const QString &cardid_inputname)
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:201
void setHierarchy(const QString &hierarchy)
Definition: panedvbt2.h:76
QString symbolrate(void) const
Definition: panedvbs.h:53
RemoveDuplicates * m_removeDuplicates
Definition: scanwizard.h:110
ScanOptionalConfig * m_scanConfig
Definition: scanwizard.h:104
QString inversion(void) const
Definition: panedvbs.h:55
void setModulation(const QString &modulation)
Definition: panedvbs2.h:41
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:52
void setSymbolrate(const QString &symbolrate)
Definition: panedvbc.h:60
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:102
void setInversion(const QString &inversion)
Definition: panedvbt.h:67
PaneAnalog * m_paneAnalog
ScanNetwork * m_network
QString fec(void) const
Definition: panedvbs2.h:35
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
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:23