MythTV  master
channelscanmiscsettings.h
Go to the documentation of this file.
1 /* -*- Mode: c++ -*-
2  * vim: set expandtab tabstop=4 shiftwidth=4:
3  *
4  * Original Project
5  * MythTV http://www.mythtv.org
6  *
7  * Copyright (c) 2004, 2005 John Pullan <john@pullan.org>
8  * Copyright (c) 2005 - 2007 Daniel Kristjansson
9  *
10  * Description:
11  * Collection of classes to provide channel scanning functionallity
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
26  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
27  *
28  */
29 
30 #ifndef CHANNEL_SCAN_MISC_SETTINGS_H
31 #define CHANNEL_SCAN_MISC_SETTINGS_H
32 
33 #include "standardsettings.h"
34 #include "channelscantypes.h"
35 
36 class TransLabelSetting;
37 class ScanWizard;
38 class OptionalTypeSetting;
39 class PaneDVBT;
40 class PaneDVBS;
41 class PaneDVBS2;
42 class PaneATSC;
43 class PaneDVBC;
44 class PaneAnalog;
45 class STPane;
46 class DVBUtilsImportPane;
47 
48 // ///////////////////////////////
49 // Settings Below Here
50 // ///////////////////////////////
51 
53 {
54  public:
56  {
57  setLabel(QObject::tr("Ignore Signal Timeout"));
59  QObject::tr("This option allows you to slow down the scan for "
60  "broken drivers, such as the DVB drivers for the "
61  "Leadtek LR6650 DVB card."));
62  }
63 };
64 
66 {
67  public:
69  {
70  setLabel(QObject::tr("Search new Transports"));
72  QObject::tr("Digital transmissions may signal other available "
73  "Transports. If this option is enabled the scanner "
74  "scans all signaled transports for new/updated "
75  "channels."));
76  }
77 };
78 
80 {
81  public:
83  {
84  setLabel(QObject::tr("Desired Services"));
85  setHelpText(QObject::tr(
86  "TV - Adds A/V services only, "
87  "TV+Radio - Adds all services with audio, "
88  "All - Adds all services "
89  "(including data only services)."));
90  addSelection(QObject::tr("TV"), "tv", true);
91  addSelection(QObject::tr("TV+Radio"), "audio");
92  addSelection(QObject::tr("All"), "all");
93  };
94 
96  {
97  QString val = getValue();
98  int ret = kRequireVideo | kRequireAudio;
99  if (val == "tv")
101  else if (val == "audio")
102  ret = kRequireAudio;
103  else if (val == "all")
104  ret = 0;
105  return (ServiceRequirements) ret;
106  }
107 };
108 
110 {
111  public:
113  {
114  setLabel(QObject::tr("Unencrypted Only"));
115  setHelpText(
116  QObject::tr(
117  "If set, only non-encrypted channels will be "
118  "added during the scan."));
119  setValue(true);
120  };
121 };
122 
124 {
125  public:
127  {
128  setLabel(QObject::tr("Logical Channel Numbers required"));
129  setHelpText(
130  QObject::tr(
131  "If set, only services with a Logical Channel Number will "
132  "be added during the scan. This will filter out services "
133  "for set-top-box firmware download and video-on-demand "
134  "that can be present on DVB-C networks."));
135  setValue(false);
136  };
137 };
138 
140 {
141  public:
143  {
144  setLabel(QObject::tr("Complete scan data required"));
145  setHelpText(
146  QObject::tr(
147  "If set, only services that are present in the PAT, the PMT "
148  "and the SDT and that have a name will be added during the scan. "
149  "On satellites there are many incomplete channels, "
150  "such as feeds and offline channels, "
151  "that are not useful in a MythTV system. "
152  "These are filtered out by this option."));
153  setValue(true);
154  };
155 };
156 
158 {
159  public:
161  {
162  setLabel(QObject::tr("Full search for old channels"));
163  setHelpText(
164  QObject::tr(
165  "If set, compare all channels in the database with the channels found in "
166  "the scan; otherwise only the channels in the same transport are compared. "
167  "This option is useful when you want to keep channel data such as "
168  "the xmltvid and the icon path when doing a rescan "
169  "after channels have been rearranged across transports."));
170  setValue(true);
171  };
172 };
173 
175 {
176  public:
178  {
179  setLabel(QObject::tr("Remove duplicates"));
180  setHelpText(
181  QObject::tr(
182  "If set, select the transport stream multiplex with the best signal "
183  "when identical transports are received on different frequencies. "
184  "This option is useful for DVB-T2 and ATSC/OTA when a transport "
185  "can sometimes be received from different transmitters."));
186  setValue(true);
187  };
188 };
189 
191 {
192  public:
194  {
195  setLabel(QObject::tr("Add full Transport Stream channels"));
196  setHelpText(
197  QObject::tr(
198  "If set, create MPTS channels, which allow "
199  "recording of the full, unaltered, transport stream."));
200  setValue(false);
201  };
202 };
203 
205 {
206  public:
208  {
209  setLabel(QObject::tr("Test Decryptability"));
210  setHelpText(
211  QObject::tr("Test all channels to see if they can be decrypted "
212  "with installed CAM/smartcard. Sometimes the encrypted "
213  "flag is set spuriously. Attention: Enabling this "
214  "option increases the scan time for each encrypted "
215  "channel by a couple of seconds."));
216  setValue(false);
217  }
218 };
219 
221 {
222  public:
224  {
225  setLabel(QObject::tr("Frequency"));
226  setHelpText(QObject::tr("Frequency (Option has no default)\n"
227  "The frequency for this transport (multiplex) in kHz."));
228  };
229 };
230 
232 {
233  public:
235  {
236  setLabel(QObject::tr("Frequency"));
237  setHelpText(QObject::tr("Frequency (Option has no default)\n"
238  "The frequency for this transport (multiplex) in Hz."));
239  };
240 };
241 
243 {
244  public:
246  {
247  setLabel(QObject::tr("Symbol Rate"));
248  setHelpText(
249  QObject::tr(
250  "Symbol Rate (symbols/second).\n"
251  "Most DVB-S transponders transmit at 27500000 "
252  "symbols per second."));
253  addSelection("3333000");
254  addSelection("22000000");
255  addSelection("22500000");
256  addSelection("23000000");
257  addSelection("27500000", "27500000", true);
258  addSelection("28000000");
259  addSelection("28500000");
260  addSelection("29500000");
261  addSelection("29700000");
262  addSelection("29900000");
263  }
264 };
265 
267 {
268  public:
270  {
271  setLabel(QObject::tr("Symbol Rate"));
272  setHelpText(
273  QObject::tr(
274  "Symbol Rate (symbols/second).\n"
275  "Most DVB-C transports transmit at 6900000 or 6875000 "
276  "symbols per second."));
277  addSelection("3450000");
278  addSelection("5000000");
279  addSelection("5900000");
280  addSelection("6875000");
281  addSelection("6900000", "6900000", true);
282  addSelection("6950000");
283  }
284 };
285 
287 {
288  public:
290  {
291  setLabel(QObject::tr("Polarity"));
292  setHelpText(QObject::tr("Polarity (Option has no default)"));
293  addSelection(QObject::tr("Horizontal"), "h",true);
294  addSelection(QObject::tr("Vertical"), "v");
295  addSelection(QObject::tr("Right Circular"), "r");
296  addSelection(QObject::tr("Left Circular"), "l");
297  };
298 };
299 
301 {
302  public:
304  {
305  setLabel(QObject::tr("Inversion"));
306  setHelpText(QObject::tr(
307  "Inversion (Default: Auto):\n"
308  "Most cards can autodetect this now, so "
309  "leave it at Auto unless it won't work."));
310  addSelection(QObject::tr("Auto"), "a",true);
311  addSelection(QObject::tr("On"), "1");
312  addSelection(QObject::tr("Off"), "0");
313  };
314 };
315 
317 {
318  public:
320  {
321  setLabel(QObject::tr("Bandwidth"));
322  setHelpText(QObject::tr("Bandwidth (Default: Auto)\n"));
323  addSelection(QObject::tr("Auto"),"a",true);
324  addSelection(QObject::tr("6 MHz"),"6");
325  addSelection(QObject::tr("7 MHz"),"7");
326  addSelection(QObject::tr("8 MHz"),"8");
327  };
328 };
329 
331 {
332  public:
334  {
335  addSelection(QObject::tr("Auto"),"auto",true);
336  addSelection(QObject::tr("None"),"none");
337  addSelection("1/2");
338  addSelection("2/3");
339  addSelection("3/4");
340  addSelection("4/5");
341  addSelection("5/6");
342  addSelection("6/7");
343  addSelection("7/8");
344  addSelection("8/9");
345  addSelection("3/5");
346  addSelection("9/10");
347  }
348 };
349 
350 class ScanFec: public ScanFecSetting
351 {
352  public:
354  {
355  setLabel(QObject::tr("FEC"));
356  setHelpText(QObject::tr(
357  "Forward Error Correction (Default: Auto)"));
358  }
359 };
360 
362 {
363  public:
365  {
366  setLabel(QObject::tr("LP Coderate"));
367  setHelpText(QObject::tr("Low Priority Code Rate (Default: Auto)"));
368  }
369 };
370 
372 {
373  public:
375  {
376  setLabel(QObject::tr("HP Coderate"));
377  setHelpText(QObject::tr("High Priority Code Rate (Default: Auto)"));
378  };
379 };
380 
382 {
383  public:
385  {
386  setLabel(QObject::tr("Guard Interval"));
387  setHelpText(QObject::tr("Guard Interval (Default: Auto)"));
388  addSelection(QObject::tr("Auto"),"auto");
389  addSelection("1/4");
390  addSelection("1/8");
391  addSelection("1/16");
392  addSelection("1/32");
393  };
394 };
395 
397 {
398  public:
400  {
401  setLabel(QObject::tr("Trans. Mode"));
402  setHelpText(QObject::tr("Transmission Mode (Default: Auto)"));
403  addSelection(QObject::tr("Auto"),"a");
404  addSelection("2K","2");
405  addSelection("8K","8");
406  };
407 };
408 
410 {
411  public:
413  {
414  setLabel(QObject::tr("Hierarchy"));
415  setHelpText(QObject::tr("Hierarchy (Default: Auto)"));
416  addSelection(QObject::tr("Auto"),"a");
417  addSelection(QObject::tr("None"), "n");
418  addSelection("1");
419  addSelection("2");
420  addSelection("4");
421  };
422 };
423 
425 {
426  public:
428  {
429  setLabel(QObject::tr("Modulation System"));
430  setHelpText(QObject::tr("Modulation system (Default: DVB-S2)"));
431  addSelection("DVB-S", "DVB-S");
432  addSelection("DVB-S2", "DVB-S2", true);
433  };
434 };
435 
437 {
438  public:
440  {
441  setLabel(QObject::tr("Modulation System"));
442  setHelpText(QObject::tr("Modulation system (Default: DVB-T2)"));
443  addSelection("DVB-T", "DVB-T");
444  addSelection("DVB-T2", "DVB-T2", true);
445  };
446 };
447 
449 {
450  public:
452  {
453  setLabel(QObject::tr("Modulation System"));
454  setHelpText(QObject::tr("Modulation System (Default: DVB-C/A)"));
455  addSelection("DVB-C/A", "DVB-C/A", true);
456  addSelection("DVB-C/B", "DVB-C/B");
457  addSelection("DVB-C/C", "DVB-C/C");
458  }
459 };
460 
462 {
463  public:
465  {
466  setLabel(QObject::tr("Roll-off"));
467  setHelpText(QObject::tr("Roll-off factor (Default: 0.35)"));
468  addSelection("0.35");
469  addSelection("0.20");
470  addSelection("0.25");
471  addSelection(QObject::tr("Auto"),"auto");
472  };
473 };
474 
475 class PaneError : public GroupSetting
476 {
477  public:
478  explicit PaneError(const QString &error)
479  {
480  auto* label = new TransTextEditSetting();
481  label->setValue(error);
482  addChild(label);
483  }
484 };
485 
486 #endif // CHANNEL_SCAN_MISC_SETTINGS_H
ScanRollOff
Definition: channelscanmiscsettings.h:462
RemoveDuplicates
Definition: channelscanmiscsettings.h:175
ChannelNumbersOnly::ChannelNumbersOnly
ChannelNumbersOnly()
Definition: channelscanmiscsettings.h:126
TransMythUICheckBoxSetting
Definition: standardsettings.h:409
ScanDVBCModSys
Definition: channelscanmiscsettings.h:449
ScanGuardInterval::ScanGuardInterval
ScanGuardInterval()
Definition: channelscanmiscsettings.h:384
error
static void error(const char *str,...)
Definition: vbi.cpp:42
PaneAnalog
Definition: paneanalog.h:13
CompleteChannelsOnly
Definition: channelscanmiscsettings.h:140
MythUICheckBoxSetting::setValue
virtual void setValue(const QString &newValue)
Definition: standardsettings.cpp:163
TransMythUIComboBoxSetting
Definition: standardsettings.h:270
TrustEncSISetting
Definition: channelscanmiscsettings.h:205
ScanCodeRateHP::ScanCodeRateHP
ScanCodeRateHP()
Definition: channelscanmiscsettings.h:374
TransTextEditSetting
Definition: standardsettings.h:159
CompleteChannelsOnly::CompleteChannelsOnly
CompleteChannelsOnly()
Definition: channelscanmiscsettings.h:142
PaneError
Definition: channelscanmiscsettings.h:476
PaneDVBT
Definition: panedvbt.h:37
ScanHierarchy
Definition: channelscanmiscsettings.h:410
ScanTransmissionMode
Definition: channelscanmiscsettings.h:397
ScanPolarity::ScanPolarity
ScanPolarity()
Definition: channelscanmiscsettings.h:289
ScanDVBCModSys::ScanDVBCModSys
ScanDVBCModSys()
Definition: channelscanmiscsettings.h:451
ScanFec
Definition: channelscanmiscsettings.h:351
FreeToAirOnly::FreeToAirOnly
FreeToAirOnly()
Definition: channelscanmiscsettings.h:112
ScanDVBCSymbolRate
Definition: channelscanmiscsettings.h:267
ScanWizard
Definition: scanwizard.h:45
true
VERBOSE_PREAMBLE Most true
Definition: verbosedefs.h:91
kRequireAudio
@ kRequireAudio
Definition: channelscantypes.h:8
IgnoreSignalTimeout
Definition: channelscanmiscsettings.h:53
PaneATSC
Definition: paneatsc.h:18
StandardSetting::addChild
virtual void addChild(StandardSetting *child)
Definition: standardsettings.cpp:64
ScanPolarity
Definition: channelscanmiscsettings.h:287
DesiredServices::DesiredServices
DesiredServices()
Definition: channelscanmiscsettings.h:82
channelscantypes.h
PaneDVBS
Definition: panedvbs.h:37
ScanCodeRateLP
Definition: channelscanmiscsettings.h:362
PaneDVBS2
Definition: panedvbs2.h:13
ScanBandwidth
Definition: channelscanmiscsettings.h:317
PaneError::PaneError
PaneError(const QString &error)
Definition: channelscanmiscsettings.h:478
StandardSetting::setHelpText
virtual void setHelpText(const QString &str)
Definition: standardsettings.h:37
ScanFrequency
Definition: channelscanmiscsettings.h:232
ScanFecSetting::ScanFecSetting
ScanFecSetting()
Definition: channelscanmiscsettings.h:333
DesiredServices::GetServiceRequirements
ServiceRequirements GetServiceRequirements(void) const
Definition: channelscanmiscsettings.h:95
ScanDVBTModSys::ScanDVBTModSys
ScanDVBTModSys()
Definition: channelscanmiscsettings.h:439
ScanDVBTModSys
Definition: channelscanmiscsettings.h:437
ScanInversion
Definition: channelscanmiscsettings.h:301
StandardSetting::getValue
virtual QString getValue(void) const
Definition: standardsettings.h:51
kRequireVideo
@ kRequireVideo
Definition: channelscantypes.h:7
FullChannelSearch
Definition: channelscanmiscsettings.h:158
ScanInversion::ScanInversion
ScanInversion()
Definition: channelscanmiscsettings.h:303
ScanDVBSSymbolRate
Definition: channelscanmiscsettings.h:243
ScanDVBSModSys
Definition: channelscanmiscsettings.h:425
ScanCodeRateHP
Definition: channelscanmiscsettings.h:372
StandardSetting::setLabel
virtual void setLabel(QString str)
Definition: standardsettings.h:34
FollowNITSetting
Definition: channelscanmiscsettings.h:66
standardsettings.h
ScanGuardInterval
Definition: channelscanmiscsettings.h:382
TrustEncSISetting::TrustEncSISetting
TrustEncSISetting()
Definition: channelscanmiscsettings.h:207
MythUIComboBoxSetting::addSelection
void addSelection(const QString &label, QString value=QString(), bool select=false)
Definition: standardsettings.cpp:479
ChannelNumbersOnly
Definition: channelscanmiscsettings.h:124
ScanFec::ScanFec
ScanFec()
Definition: channelscanmiscsettings.h:353
DesiredServices
Definition: channelscanmiscsettings.h:80
ScanFecSetting
Definition: channelscanmiscsettings.h:331
ScanHierarchy::ScanHierarchy
ScanHierarchy()
Definition: channelscanmiscsettings.h:412
ScanDVBCSymbolRate::ScanDVBCSymbolRate
ScanDVBCSymbolRate()
Definition: channelscanmiscsettings.h:269
ScanFrequencykHz::ScanFrequencykHz
ScanFrequencykHz()
Definition: channelscanmiscsettings.h:223
ScanFrequencykHz
Definition: channelscanmiscsettings.h:221
ScanDVBSModSys::ScanDVBSModSys
ScanDVBSModSys()
Definition: channelscanmiscsettings.h:427
RemoveDuplicates::RemoveDuplicates
RemoveDuplicates()
Definition: channelscanmiscsettings.h:177
FreeToAirOnly
Definition: channelscanmiscsettings.h:110
ScanDVBSSymbolRate::ScanDVBSSymbolRate
ScanDVBSSymbolRate()
Definition: channelscanmiscsettings.h:245
ScanFrequency::ScanFrequency
ScanFrequency()
Definition: channelscanmiscsettings.h:234
ServiceRequirements
ServiceRequirements
Definition: channelscantypes.h:5
ScanTransmissionMode::ScanTransmissionMode
ScanTransmissionMode()
Definition: channelscanmiscsettings.h:399
AddFullTS::AddFullTS
AddFullTS()
Definition: channelscanmiscsettings.h:193
ScanBandwidth::ScanBandwidth
ScanBandwidth()
Definition: channelscanmiscsettings.h:319
FullChannelSearch::FullChannelSearch
FullChannelSearch()
Definition: channelscanmiscsettings.h:160
FollowNITSetting::FollowNITSetting
FollowNITSetting()
Definition: channelscanmiscsettings.h:68
IgnoreSignalTimeout::IgnoreSignalTimeout
IgnoreSignalTimeout()
Definition: channelscanmiscsettings.h:55
GroupSetting
Definition: standardsettings.h:433
PaneDVBC
Definition: panedvbc.h:37
ScanRollOff::ScanRollOff
ScanRollOff()
Definition: channelscanmiscsettings.h:464
ScanCodeRateLP::ScanCodeRateLP
ScanCodeRateLP()
Definition: channelscanmiscsettings.h:364
AddFullTS
Definition: channelscanmiscsettings.h:191