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 _MISC_SETTINGS_H_
31 #define _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  setValue(true);
115  setLabel(QObject::tr("Unencrypted Only"));
116  setHelpText(
117  QObject::tr(
118  "If set, only non-encrypted channels will be "
119  "added during the scan."));
120  };
121 };
122 
124 {
125  public:
127  {
128  setValue(false);
129  setLabel(QObject::tr("Add full Transport Stream channels"));
130  setHelpText(
131  QObject::tr(
132  "If set, Create MPTS channels, which allow "
133  "recording of the full, unaltered, transport stream."));
134  };
135 };
136 
138 {
139  public:
141  {
142  setLabel(QObject::tr("Test Decryptability"));
143  setHelpText(
144  QObject::tr("Test all channels to see if they can be decrypted "
145  "with installed CAM/smartcard. Sometimes the encrypted "
146  "flag is set spuriously. Attention: Enabling this "
147  "option increases the scan time for each encrypted "
148  "channel by a couple of seconds."));
149  }
150 };
151 
153 {
154  public:
156  {
157  setLabel(QObject::tr("Frequency"));
158  setHelpText(QObject::tr("Frequency (Option has no default)\n"
159  "The frequency for this channel in kHz."));
160  };
161 };
162 
164 {
165  public:
167  {
168  setLabel(QObject::tr("Frequency"));
169  setHelpText(QObject::tr("Frequency (Option has no default)\n"
170  "The frequency for this channel in Hz."));
171  };
172 };
173 
175 {
176  public:
178  {
179  setLabel(QObject::tr("Symbol Rate"));
180  setHelpText(
181  QObject::tr(
182  "Symbol Rate (symbols/second).\n"
183  "Most DVB-S transponders transmit at 27.5 "
184  "million symbols per second."));
185  addSelection("3333000");
186  addSelection("22000000");
187  addSelection("22500000");
188  addSelection("23000000");
189  addSelection("27500000", "27500000", true);
190  addSelection("28000000");
191  addSelection("28500000");
192  addSelection("29500000");
193  addSelection("29900000");
194  }
195 };
196 
198 {
199  public:
201  {
202  setLabel(QObject::tr("Symbol Rate"));
203  setHelpText(
204  QObject::tr(
205  "Symbol Rate (symbols/second).\n"
206  "Most DVB-C transports transmit at 6.9 or 6.875 "
207  "million symbols per second."));
208  addSelection("3450000");
209  addSelection("5000000");
210  addSelection("5900000");
211  addSelection("6875000");
212  addSelection("6900000", "6900000", true);
213  addSelection("6950000");
214  }
215 };
216 
218 {
219  public:
221  {
222  setLabel(QObject::tr("Polarity"));
223  setHelpText(QObject::tr("Polarity (Option has no default)"));
224  addSelection(QObject::tr("Horizontal"), "h",true);
225  addSelection(QObject::tr("Vertical"), "v");
226  addSelection(QObject::tr("Right Circular"), "r");
227  addSelection(QObject::tr("Left Circular"), "l");
228  };
229 };
230 
232 {
233  public:
235  {
236  setLabel(QObject::tr("Inversion"));
237  setHelpText(QObject::tr(
238  "Inversion (Default: Auto):\n"
239  "Most cards can autodetect this now, so "
240  "leave it at Auto unless it won't work."));
241  addSelection(QObject::tr("Auto"), "a",true);
242  addSelection(QObject::tr("On"), "1");
243  addSelection(QObject::tr("Off"), "0");
244  };
245 };
246 
248 {
249  public:
251  {
252  setLabel(QObject::tr("Bandwidth"));
253  setHelpText(QObject::tr("Bandwidth (Default: Auto)\n"));
254  addSelection(QObject::tr("Auto"),"a",true);
255  addSelection(QObject::tr("6 MHz"),"6");
256  addSelection(QObject::tr("7 MHz"),"7");
257  addSelection(QObject::tr("8 MHz"),"8");
258  };
259 };
260 
262 {
263  public:
265  {
266  addSelection(QObject::tr("Auto"),"auto",true);
267  addSelection(QObject::tr("None"),"none");
268  addSelection("1/2");
269  addSelection("2/3");
270  addSelection("3/4");
271  addSelection("4/5");
272  addSelection("5/6");
273  addSelection("6/7");
274  addSelection("7/8");
275  addSelection("8/9");
276  addSelection("3/5");
277  addSelection("9/10");
278  }
279 };
280 
281 class ScanFec: public ScanFecSetting
282 {
283  public:
285  {
286  setLabel(QObject::tr("FEC"));
287  setHelpText(QObject::tr(
288  "Forward Error Correction (Default: Auto)"));
289  }
290 };
291 
293 {
294  public:
296  {
297  setLabel(QObject::tr("LP Coderate"));
298  setHelpText(QObject::tr("Low Priority Code Rate (Default: Auto)"));
299  }
300 };
301 
303 {
304  public:
306  {
307  setLabel(QObject::tr("HP Coderate"));
308  setHelpText(QObject::tr("High Priority Code Rate (Default: Auto)"));
309  };
310 };
311 
313 {
314  public:
316  {
317  setLabel(QObject::tr("Guard Interval"));
318  setHelpText(QObject::tr("Guard Interval (Default: Auto)"));
319  addSelection(QObject::tr("Auto"),"auto");
320  addSelection("1/4");
321  addSelection("1/8");
322  addSelection("1/16");
323  addSelection("1/32");
324  };
325 };
326 
328 {
329  public:
331  {
332  setLabel(QObject::tr("Trans. Mode"));
333  setHelpText(QObject::tr("Transmission Mode (Default: Auto)"));
334  addSelection(QObject::tr("Auto"),"a");
335  addSelection("2K","2");
336  addSelection("8K","8");
337  };
338 };
339 
341 {
342  public:
344  {
345  setLabel(QObject::tr("Hierarchy"));
346  setHelpText(QObject::tr("Hierarchy (Default: Auto)"));
347  addSelection(QObject::tr("Auto"),"a");
348  addSelection(QObject::tr("None"), "n");
349  addSelection("1");
350  addSelection("2");
351  addSelection("4");
352  };
353 };
354 
356 {
357  public:
359  {
360  setLabel(QObject::tr("Mod Sys"));
361  setHelpText(QObject::tr("Modulation system (Default: DVB-S)"));
362  addSelection("DVB-S");
363  addSelection("DVB-S2");
364  };
365 };
366 
368 {
369  public:
371  {
372  setLabel(QObject::tr("Mod Sys"));
373  setHelpText(QObject::tr("Modulation system (Default: DVB-T)"));
374  addSelection("DVB-T");
375  addSelection("DVB-T2");
376  };
377 };
378 
380 {
381  public:
383  {
384  setLabel(QObject::tr("Roll-off"));
385  setHelpText(QObject::tr("Roll-off factor (Default: 0.35)"));
386  addSelection("0.35");
387  addSelection("0.20");
388  addSelection("0.25");
389  addSelection(QObject::tr("Auto"),"auto");
390  };
391 };
392 
393 class PaneError : public GroupSetting
394 {
395  public:
396  explicit PaneError(const QString &error)
397  {
399  label->setValue(error);
400  addChild(label);
401  }
402 };
403 
404 #endif // _MISC_SETTINGS_H_
VERBOSE_PREAMBLE Most true
Definition: verbosedefs.h:91
static void error(const char *str,...)
Definition: vbi.c:41
void addSelection(const QString &label, QString value=QString(), bool select=false)
virtual void setHelpText(const QString &str)
virtual QString getValue(void) const
virtual void setLabel(QString str)
PaneError(const QString &error)
virtual void addChild(StandardSetting *child)
ServiceRequirements
void setValue(const QString &) override
ServiceRequirements GetServiceRequirements(void) const
virtual void setValue(const QString &newValue)