MythTV  master
videosource.h
Go to the documentation of this file.
1 #ifndef VIDEOSOURCE_H
2 #define VIDEOSOURCE_H
3 
4 #include <utility>
5 #include <vector>
6 using namespace std;
7 
8 // MythTV headers
9 #include "mthread.h"
10 #include "standardsettings.h"
11 #include "mythcontext.h"
12 #include "mythtvexp.h"
13 
14 class SignalTimeout;
15 class ChannelTimeout;
16 class UseEIT;
17 class VideoSource;
18 class CaptureCard;
19 class VBIDevice;
20 class CardInput;
21 class CardID;
22 class InputName;
23 class SourceID;
24 class DeviceTree;
25 class DiSEqCDevTree;
26 class DiSEqCDevSettings;
27 class InputGroup;
28 
29 static inline bool is_grabber_external(const QString &grabber)
30 {
31  return !(grabber == "eitonly" ||
32  grabber == "/bin/true");
33 }
34 
35 static inline bool is_grabber_labs(const QString &grabber)
36 {
37  Q_UNUSED(grabber);
38  return false;
39 }
40 
42 {
43  public:
45  const VideoSource &_parent,
46  const QString &name) :
47  SimpleDBStorage(_user, "videosource", name), m_parent(_parent)
48  {
49  }
50 
51  protected:
52  QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
53  QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
54 
56 };
57 
59 {
60  Q_OBJECT
61 
62  public:
63  VideoSourceSelector(uint _initial_sourceid,
64  QString _card_types,
65  bool _must_have_mplexid);
66 
67  void Load(void) override; // StandardSetting
68 
69  uint GetSourceID(void) const { return getValue().toUInt(); }
70 
71  private:
73  QString m_cardTypes;
75 };
76 
78 {
79  Q_OBJECT
80 
81  public:
82  explicit VideoSourceShow(uint _initial_sourceid);
83 
84  void Load(void) override; // StandardSetting
85 
86  uint GetSourceID(void) const { return getValue().toUInt(); }
87 
88  private:
90 };
91 
94 {
95  Q_OBJECT
96 public:
97  explicit FreqTableSelector(const VideoSource& parent);
98 protected:
99  QString m_freq;
100 };
101 
103 {
104  public:
105  explicit TransFreqTableSelector(uint _sourceid);
106 
107  void Load(void) override; // StandardSetting
108 
109  void Save(void) override; // StandardSetting
110  virtual void Save(const QString& /*destination*/) { Save(); }
111 
112  void SetSourceID(uint _sourceid);
113 
114  private:
117 };
118 
120 {
121  Q_OBJECT
122 
123  public:
124  XMLTV_generic_config(const VideoSource& _parent, const QString& _grabber,
125  StandardSetting *_setting);
126 
127  void Save(void) override; // StandardSetting
128  virtual void Save(const QString& /*destination*/) { Save(); }
129 
130  public slots:
131  void RunConfig(void);
132 
133  protected:
135  QString m_grabber;
136  QStringList m_grabberArgs;
137 };
138 
140 {
141 public:
142  EITOnly_config(const VideoSource& _parent, StandardSetting *_setting);
143 
144  void Save(void) override; // StandardSetting
145  virtual void Save(const QString& /*destination*/) { Save(); }
146 
147 protected:
148  UseEIT *m_useEit {nullptr};
149 };
150 
152 {
153 public:
154  explicit NoGrabber_config(const VideoSource& _parent);
155 
156  void Save(void) override; // StandardSetting
157  virtual void Save(const QString& /*destination*/) { Save(); }
158 
159 protected:
160  UseEIT *m_useEit {nullptr};
161 };
162 
164 public:
165  IdSetting(const QString &table, const QString &setting):
166  AutoIncrementSetting(table, setting)
167  {
168  setVisible(false);
169  }
170 
171  int intValue() { return getValue().toInt(); }
172  void setValue(int value) override // StandardSetting
173  { setValue(QString::number(value)); }
175 };
176 
177 class VideoSource : public GroupSetting {
178  Q_OBJECT
179 
180  public:
181  VideoSource();
182 
183  int getSourceID(void) const { return m_id->intValue(); };
184 
185  void loadByID(int id);
186 
187  static void fillSelections(GroupSetting* setting);
188  static void fillSelections(MythUIComboBoxSetting* setting);
189  static QString idToName(int id);
190 
191  QString getSourceName(void) const { return m_name->getValue(); };
192 
193  void Load(void) override // StandardSetting
194  {
196  }
197 
198  void Save(void) override // StandardSetting
199  {
200  if (m_name)
202  }
203  bool canDelete(void) override; // GroupSetting
204  void deleteEntry(void) override; // GroupSetting
205 
206  private:
207  class ID: public IdSetting
208  {
209  public:
210  ID() : IdSetting("videosource", "sourceid")
211  {
212  };
213  };
214 
216  {
217  public:
218  explicit Name(const VideoSource &parent) :
219  MythUITextEditSetting(new VideoSourceDBStorage(this, parent, "name"))
220  {
221  setLabel(QObject::tr("Video source name"));
222  }
223  };
224 
225 private:
226  ID *m_id {nullptr};
227  Name *m_name {nullptr};
228 };
229 
231 {
232  public:
234  const CaptureCard &_parent,
235  const QString &_name) :
236  SimpleDBStorage(_user, "capturecard", _name), m_parent(_parent)
237  {
238  }
239 
240 
241 protected:
242  int getCardID(void) const;
243  QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
244  QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
245 private:
247 };
248 
250 {
251  public:
253  bool rw,
254  const QString &setting) :
255  MythUIComboBoxSetting(new CaptureCardDBStorage(this, parent, setting),
256  rw)
257  {
258  }
259 };
260 
262 {
263  Q_OBJECT
264  public:
265  explicit TunerCardAudioInput(const CaptureCard &parent,
266  QString dev = QString(),
267  QString type = QString());
268 
269  public slots:
270  int fillSelections(const QString &device);
271 
272  private:
273  QString m_lastDevice;
274  QString m_lastCardType;
275 };
276 
278 {
279  Q_OBJECT
280  public:
281  explicit EmptyAudioDevice(const CaptureCard &parent) :
283  "audiodevice"))
284  {
285  setVisible(false);
286  }
287 
288  void Save(void) override // StandardSetting
289  {
290  GetStorage()->SetSaveRequired();
291  setValue("");
292  GetStorage()->Save();
293  }
294  void Save(const QString& destination)
295  {
296  GetStorage()->SetSaveRequired();
297  setValue("");
298  GetStorage()->Save(destination);
299  }
300 };
301 
303 {
304  Q_OBJECT
305 
306  public:
307  explicit EmptyVBIDevice(const CaptureCard &parent) :
308  MythUITextEditSetting(new CaptureCardDBStorage(this, parent, "vbidevice"))
309  {
310  setVisible(false);
311  };
312 
313  void Save(void) override // StandardSetting
314  {
315  GetStorage()->SetSaveRequired();
316  setValue("");
317  GetStorage()->Save();
318  }
319  void Save(const QString& destination)
320  {
321  GetStorage()->SetSaveRequired();
322  setValue("");
323  GetStorage()->Save(destination);
324  }
325 };
326 
328 {
329 public:
330  explicit CardType(const CaptureCard& parent);
331  static void fillSelections(MythUIComboBoxSetting* setting);
332 };
333 
334 #ifdef USING_HDHOMERUN
335 
336 class UseHDHomeRunDevice;
338 {
339  public:
340  QString m_deviceId;
341  QString m_model;
342  QString m_cardIp;
343  UseHDHomeRunDevice *m_checkbox {nullptr};
344 };
345 
346 using HDHomeRunDeviceList = QMap<QString, HDHomeRunDevice>;
347 
348 class HDHomeRunDeviceID;
350 {
351  Q_OBJECT
352 
353  friend class HDHomeRunExtra;
354 
355  public:
357  void SetDeviceCheckBoxes(const QString& devices);
358  QString GetDeviceCheckBoxes(void);
359 
360  private:
361  void FillDeviceList(void);
362 
363  private:
365  HDHomeRunDeviceID *m_deviceId {nullptr};
367 };
368 
370 {
371  Q_OBJECT
372 
373  public:
374  HDHomeRunDeviceID(const CaptureCard &parent,
376  void Load(void) override; // StandardSetting
377  void Save(void) override; // StandardSetting
378 
379  private:
381 };
382 #endif // USING_HDHOMERUN
383 
384 #ifdef USING_SATIP
385 
386 class SatIPDevice
387 {
388  public:
389  QString m_mythDeviceId;
390  QString m_deviceId;
391  QString m_friendlyName;
392  QString m_cardIP;
393  QString m_tunerNo;
394  QString m_tunerType;
395  bool m_inUse {false};
396  bool m_discovered {false};
397 };
398 
399 using SatIPDeviceList = QMap<QString, SatIPDevice>;
400 
401 class SatIPDeviceIDList;
402 class SatIPDeviceID;
403 class SatIPDeviceAttribute;
404 class SatIPConfigurationGroup : public GroupSetting
405 {
406  Q_OBJECT
407 
408  public:
409  SatIPConfigurationGroup(CaptureCard &parent, CardType &cardtype);
410 
411  private:
412  void FillDeviceList(void);
413 
414  private:
415  CaptureCard &m_parent;
416  SatIPDeviceIDList *m_deviceIdList {nullptr};
417  SatIPDeviceID *m_deviceId {nullptr};
418  SatIPDeviceAttribute *m_friendlyName {nullptr};
419  SatIPDeviceAttribute *m_tunerType {nullptr};
420  SatIPDeviceAttribute *m_tunerIndex {nullptr};
421  SatIPDeviceList m_deviceList;
422 };
423 
424 class SatIPDeviceIDList : public TransMythUIComboBoxSetting
425 {
426  Q_OBJECT
427 
428  public:
429  SatIPDeviceIDList(SatIPDeviceID *deviceId,
430  SatIPDeviceAttribute *friendlyName,
431  SatIPDeviceAttribute *tunerType,
432  SatIPDeviceAttribute *tunerIndex,
433  SatIPDeviceList *deviceList,
434  const CaptureCard &parent);
435 
436  void fillSelections(const QString &current);
437 
438  void Load(void) override; // StandardSetting
439 
440  public slots:
441  void UpdateDevices(const QString& /*v*/);
442 
443  signals:
444  void NewTuner(const QString&);
445 
446  private:
447  SatIPDeviceID *m_deviceId;
448  SatIPDeviceAttribute *m_friendlyName;
449  SatIPDeviceAttribute *m_tunerType;
450  SatIPDeviceAttribute *m_tunerIndex;
451  SatIPDeviceList *m_deviceList;
452  const CaptureCard &m_parent;
453 };
454 
455 class SatIPDeviceID : public MythUITextEditSetting
456 {
457  Q_OBJECT
458 
459  public:
460  explicit SatIPDeviceID(const CaptureCard &parent);
461 
462  void Load(void) override; // StandardSetting
463 
464  public slots:
465  void SetTuner(const QString& /*tuner*/);
466 
467  private:
468  const CaptureCard &m_parent;
469 };
470 
471 class SatIPDeviceAttribute : public GroupSetting
472 {
473  Q_OBJECT
474 
475  public:
476  SatIPDeviceAttribute(const QString& label,
477  const QString& helpText);
478 };
479 #endif // USING_SATIP
480 
482 {
483  public:
484  QString m_mythDeviceId;
485  QString m_deviceId;
486  QString m_desc;
487  QString m_cardIp;
488  QString m_tunerNo;
489  QString m_tunerType;
490  bool m_inUse {false};
491  bool m_discovered {false};
492 };
493 
494 using VBoxDeviceList = QMap<QString, VBoxDevice>;
495 
496 class VBoxDeviceIDList;
497 class VBoxDeviceID;
498 class VBoxIP;
499 class VBoxTunerIndex;
501 {
502  Q_OBJECT
503 
504  public:
505  VBoxConfigurationGroup(CaptureCard &parent, CardType &cardtype);
506 
507  private:
508  void FillDeviceList(void);
509 
510  private:
512  StandardSetting *m_desc {nullptr};
513  VBoxDeviceIDList *m_deviceIdList {nullptr};
514  VBoxDeviceID *m_deviceId {nullptr};
515  VBoxIP *m_cardIp {nullptr};
516  VBoxTunerIndex *m_cardTuner {nullptr};
518 };
519 
521 {
522  Q_OBJECT
523 
524  public:
525  V4LConfigurationGroup(CaptureCard &parent, CardType &cardtype);
526 
527  public slots:
528  void probeCard(const QString &device);
529 
530  private:
532  TransTextEditSetting *m_cardInfo {nullptr};
533  VBIDevice *m_vbiDev {nullptr};
534 };
535 
536 class VideoDevice;
537 class VBIDevice;
538 
540 {
541  Q_OBJECT
542 
543  public:
544  MPEGConfigurationGroup(CaptureCard &parent, CardType &cardtype);
545 
546  public slots:
547  void probeCard(const QString &device);
548 
549  private:
551  VideoDevice *m_device {nullptr};
552  VBIDevice *m_vbiDevice {nullptr};
553  TransTextEditSetting *m_cardInfo {nullptr};
554 };
555 
557 {
558  Q_OBJECT
559 
560  public:
561  HDPVRConfigurationGroup(CaptureCard &parent, CardType &cardtype);
562 
563  public slots:
564  void probeCard(const QString &device);
565 
566  private:
568  GroupSetting *m_cardInfo {nullptr};
569  TunerCardAudioInput *m_audioInput {nullptr};
570  VBIDevice *m_vbiDevice {nullptr};
571 };
572 
573 class ASIDevice;
574 
576 {
577  Q_OBJECT
578 
579  public:
580  V4L2encGroup(CaptureCard& parent, CardType& cardType);
581 
582  private:
584  TransTextEditSetting *m_cardInfo {nullptr};
585  VideoDevice *m_device {nullptr};
586 
587  QString m_driverName;
588 
589  protected slots:
590  void probeCard(const QString &device);
591 };
592 
594 {
595  Q_OBJECT
596 
597  public:
598  ASIConfigurationGroup(CaptureCard &parent, CardType &cardType);
599 
600  public slots:
601  void probeCard(const QString &device);
602 
603  private:
605  ASIDevice *m_device {nullptr};
606  TransTextEditSetting *m_cardInfo {nullptr};
607 };
608 
610 {
611  Q_OBJECT
612 
613  public:
614  ImportConfigurationGroup(CaptureCard &parent, CardType &cardtype);
615 
616  public slots:
617  void probeCard(const QString &device);
618 
619  private:
621  GroupSetting *m_info {nullptr};
622  GroupSetting *m_size {nullptr};
623 };
624 
626 {
627  Q_OBJECT
628 
629  public:
630  DemoConfigurationGroup(CaptureCard &parent, CardType &cardtype);
631 
632  public slots:
633  void probeCard(const QString &device);
634 
635  private:
637  GroupSetting *m_info {nullptr};
638  GroupSetting *m_size {nullptr};
639 };
640 
641 #if !defined( USING_MINGW ) && !defined( _MSC_VER )
642 class ExternalConfigurationGroup: public GroupSetting
643 {
644  Q_OBJECT
645 
646  public:
647  ExternalConfigurationGroup(CaptureCard &parent, CardType &cardtype);
648 
649  public slots:
650  void probeApp(const QString & path);
651 
652  private:
653  CaptureCard &m_parent;
654  GroupSetting *m_info {nullptr};
655 };
656 #endif
657 
658 class DVBCardNum;
659 class DVBCardName;
660 class DVBCardType;
661 class DVBTuningDelay;
662 
664 {
665  Q_OBJECT
666 
667  friend class DVBExtra;
668 
669  public:
670  DVBConfigurationGroup(CaptureCard& a_parent, CardType& cardType);
671  ~DVBConfigurationGroup() override;
672 
673  void Load(void) override; // StandardSetting
674 
675  void Save(void) override; // StandardSetting
676 
677  public slots:
678  void probeCard(const QString& videodevice);
679  void reloadDiseqcTree(const QString &device);
680 
681  private:
683 
684  DVBCardNum *m_cardNum {nullptr};
685  DVBCardName *m_cardName {nullptr};
686  DVBCardType *m_cardType {nullptr};
687  SignalTimeout *m_signalTimeout {nullptr};
688  ChannelTimeout *m_channelTimeout {nullptr};
689 #if 0
690  TransButtonSetting *m_buttonAnalog {nullptr};
691 #endif
692  DVBTuningDelay *m_tuningDelay {nullptr};
693  DiSEqCDevTree *m_diseqcTree {nullptr};
694  DeviceTree *m_diseqcBtn {nullptr};
695 };
696 
697 class FirewireGUID;
699 {
700  Q_OBJECT
701 
702  public:
703  FirewireModel(const CaptureCard &parent, const FirewireGUID *_guid);
704 
705  public slots:
706  void SetGUID(const QString &_guid);
707 
708  private:
709  const FirewireGUID *m_guid {nullptr};
710 };
711 
713 {
714  Q_OBJECT
715 
716  public:
717  explicit FirewireDesc(const FirewireGUID *_guid) :
718  m_guid(_guid) { }
719 
720  public slots:
721  void SetGUID(const QString &_guid);
722 
723  private:
724  const FirewireGUID *m_guid {nullptr};
725 };
726 
728 {
729  Q_OBJECT
730 public:
731  explicit CaptureCardGroup(CaptureCard& parent);
732 };
733 
734 class CaptureCard : public GroupSetting
735 {
736  Q_OBJECT
737 public:
738  explicit CaptureCard(bool use_card_group = true);
739 
740  int getCardID(void) const { return m_id->intValue(); }
741  QString GetRawCardType(void) const;
742 
743  void loadByID(int id);
744 
745  static void fillSelections(GroupSetting* setting);
746 
747  void reload(void);
748 
749  void Save(void) override; // StandardSetting
750 
751  bool canDelete(void) override; // GroupSetting
752  void deleteEntry(void) override; // GroupSetting
753 
754 private:
755 
756  class ID: public IdSetting {
757  public:
758  ID():
759  IdSetting("capturecard", "cardid")
760  {
761  }
762  };
763 
764  class Hostname : public StandardSetting
765  {
766  public:
767  explicit Hostname(const CaptureCard &parent) :
768  StandardSetting(new CaptureCardDBStorage(this, parent, "hostname"))
769  {
770  setVisible(false);
771  setValue(gCoreContext->GetHostName());
772  }
773  void edit(MythScreenType */*screen*/) override {} // StandardSetting
774  void resultEdit(DialogCompletionEvent */*dce*/) override {} // StandardSetting
775  };
776 
777 private:
778  ID *m_id {nullptr};
779 };
780 
782 {
783  public:
785  const CardInput &_parent,
786  const QString& _name) :
787  SimpleDBStorage(_user, "capturecard", _name), m_parent(_parent)
788  {
789  }
790 
791  int getInputID(void) const;
792 
793  protected:
795 
796  QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
797  QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
798 
799  private:
801 };
802 
804 {
805  Q_OBJECT
806 
807  public:
808  CaptureCardButton(const QString &label, QString value)
809  : ButtonStandardSetting(label),
810  m_value(std::move(value))
811  {
812  }
813 
814  void edit(MythScreenType *screen) override; // ButtonStandardSetting
815 
816  signals:
817  void Clicked(const QString &choice);
818 
819  private:
820  QString m_value;
821 };
822 
824 {
825  Q_OBJECT
826 
827  public:
829 
830  void Load(void) override; // StandardSetting
831 
832  void AddSelection(const QString &label, const char *slot);
833 
834  public slots:
835  void ShowDeleteAllCaptureCardsDialog(void);
836  void ShowDeleteAllCaptureCardsDialogOnHost(void);
837  void DeleteAllCaptureCards(bool doDelete);
838  void DeleteAllCaptureCardsOnHost(bool doDelete);
839  void AddNewCard(void);
840 };
841 
843 {
844  Q_OBJECT
845 
846  public:
848 
849  static bool cardTypesInclude(const int& SourceID,
850  const QString& thecardtype);
851 
852  void Load(void) override; // StandardSetting
853  void AddSelection(const QString &label, const char *slot);
854 
855  public slots:
856  void NewSource(void);
857  void ShowDeleteAllSourcesDialog(void);
858  void DeleteAllSources(bool doDelete);
859 };
860 
862 {
863  Q_OBJECT
864 
865  public:
866  CardInputEditor();
867 
868  void Load(void) override; // StandardSetting
869 
870  private:
871  vector<CardInput*> m_cardInputs;
872 };
873 
875 {
876  Q_OBJECT
877  public:
878  explicit StartingChannel(const CardInput &parent) :
879  MythUIComboBoxSetting(new CardInputDBStorage(this, parent, "startchan"),
880  false)
881  {
882  setLabel(QObject::tr("Starting channel"));
883  setHelpText(QObject::tr("Starting Live TV channel.") + " " +
884  QObject::tr("This is updated on every successful "
885  "channel change."));
886  }
887  static void fillSelections(void) {;}
888  public slots:
889  void SetSourceID(const QString &sourceid);
890 };
891 
892 class CardInput : public GroupSetting
893 {
894  Q_OBJECT
895  public:
896  CardInput(const QString & cardtype, const QString & device,
897  int cardid);
898  ~CardInput() override;
899 
900  int getInputID(void) const { return m_id->intValue(); };
901 
902  void loadByID(int id);
903  void loadByInput(int cardid, const QString& inputname);
904  QString getSourceName(void) const;
905 
906  void Save(void) override; // StandardSetting
907 
908  public slots:
909  void CreateNewInputGroup();
910  void channelScanner();
911  void sourceFetch();
912  void SetSourceID(const QString &sourceid);
913  void CreateNewInputGroupSlot(const QString &name);
914 
915  private:
916  class ID: public IdSetting
917  {
918  public:
919  ID() : IdSetting("capturecard", "cardid")
920  {
921  }
922  };
923 
924  ID *m_id {nullptr};
925  InputName *m_inputName {nullptr};
926  SourceID *m_sourceId {nullptr};
927  StartingChannel *m_startChan {nullptr};
928  ButtonStandardSetting *m_scan {nullptr};
929  ButtonStandardSetting *m_srcFetch {nullptr};
930  DiSEqCDevSettings *m_externalInputSettings {nullptr};
931  InputGroup *m_inputGrp0 {nullptr};
932  InputGroup *m_inputGrp1 {nullptr};
933  MythUISpinBoxSetting *m_instanceCount {nullptr};
934  MythUICheckBoxSetting *m_schedGroup {nullptr};
935 };
936 
938 class VBoxDeviceID;
939 class VBoxTunerIndex;
940 
942 {
943  Q_OBJECT
944 
945  public:
946  VBoxIP();
947 
948  void setEnabled(bool e) override; // StandardSetting
949  void SetOldValue(const QString &s)
950  { m_oldValue = s; };
951 
952  signals:
953  void NewIP(const QString&);
954 
955  public slots:
956  void UpdateDevices(const QString &v);
957 
958  private:
959  QString m_oldValue;
960 };
961 
963 {
964  Q_OBJECT
965 
966  public:
967  VBoxTunerIndex();
968 
969  void setEnabled(bool e) override; // StandardSetting
970  void SetOldValue(const QString &s)
971  { m_oldValue = s; };
972 
973  signals:
974  void NewTuner(const QString&);
975 
976  public slots:
977  void UpdateDevices(const QString &v);
978 
979  private:
980  QString m_oldValue;
981 };
982 
984 {
985  Q_OBJECT
986 
987  public:
988  VBoxDeviceIDList(VBoxDeviceID *deviceid,
989  StandardSetting *desc,
990  VBoxIP *cardip,
991  VBoxTunerIndex *cardtuner,
992  VBoxDeviceList *devicelist,
993  const CaptureCard &parent);
994 
995  void fillSelections(const QString &current);
996 
997  void Load(void) override; // StandardSetting
998 
999  public slots:
1000  void UpdateDevices(const QString &v);
1001 
1002  private:
1009 
1010  QString m_oldValue;
1011 };
1012 
1014 {
1015  Q_OBJECT
1016 
1017  public:
1018  explicit VBoxDeviceID(const CaptureCard &parent);
1019 
1020  void Load(void) override; // StandardSetting
1021 
1022  public slots:
1023  void SetIP(const QString &ip);
1024  void SetTuner(const QString &tuner);
1025  void SetOverrideDeviceID(const QString &deviceid);
1026 
1027  private:
1028  QString m_ip;
1029  QString m_tuner;
1031 };
1032 
1034 {
1035  Q_OBJECT
1036 
1037  public:
1038  CetonSetting(const char* label, const char* helptext);
1039 
1040  signals:
1041  void NewValue(const QString&);
1042 
1043  public slots:
1044  void UpdateDevices(const QString &v);
1045  void LoadValue(const QString &value);
1046 };
1047 
1049 {
1050  Q_OBJECT
1051 
1052  public:
1053  explicit CetonDeviceID(const CaptureCard &parent);
1054 
1055  void Load(void) override; // StandardSetting
1056  void UpdateValues();
1057 
1058  signals:
1059  void LoadedIP(const QString&);
1060  void LoadedCard(const QString&);
1061  void LoadedTuner(const QString&);
1062 
1063  public slots:
1064  void SetIP(const QString &ip);
1065  void SetTuner(const QString &tuner);
1066 
1067  private:
1068  QString m_ip;
1069  QString m_card;
1070  QString m_tuner;
1072 };
1073 
1074 #endif
EITOnly_config::Save
virtual void Save(const QString &)
Definition: videosource.h:145
HDPVRConfigurationGroup
Definition: videosource.h:557
CardInputDBStorage::CardInputDBStorage
CardInputDBStorage(StorageUser *_user, const CardInput &_parent, const QString &_name)
Definition: videosource.h:784
DeviceTree
Definition: diseqcsettings.h:131
VBoxTunerIndex
Definition: videosource.h:963
MSqlBindings
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
Definition: mythdbcon.h:98
StartingChannel::StartingChannel
StartingChannel(const CardInput &parent)
Definition: videosource.h:878
ASIConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:604
InputName
Definition: videosource.cpp:2716
V4L2encGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:583
e
QDomElement e
Definition: mythplugins/mytharchive/mytharchivehelper/main.cpp:1423
doDelete
bool doDelete
Definition: mythplugins/mytharchive/mytharchivehelper/main.cpp:641
V4L2encGroup::m_driverName
QString m_driverName
Definition: videosource.h:587
CetonDeviceID::m_tuner
QString m_tuner
Definition: videosource.h:1070
slots
std::array< unsigned int, 4 > slots
Definition: element.cpp:38
StandardSetting::setValue
virtual void setValue(const QString &newValue)
Definition: standardsettings.cpp:163
VideoSource::ID::ID
ID()
Definition: videosource.h:210
VBoxDeviceID::m_tuner
QString m_tuner
Definition: videosource.h:1029
VBoxDevice::m_deviceId
QString m_deviceId
Definition: videosource.h:485
V4LConfigurationGroup
Definition: videosource.h:521
VideoSourceEditor
Definition: videosource.h:843
MPEGConfigurationGroup
Definition: videosource.h:540
CaptureCard::getCardID
int getCardID(void) const
Definition: videosource.h:740
false
VERBOSE_PREAMBLE false
Definition: verbosedefs.h:85
VBoxDeviceIDList::m_deviceList
VBoxDeviceList * m_deviceList
Definition: videosource.h:1007
VideoSource
Definition: videosource.h:177
HDHomeRunConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:364
CaptureCardComboBoxSetting::CaptureCardComboBoxSetting
CaptureCardComboBoxSetting(const CaptureCard &parent, bool rw, const QString &setting)
Definition: videosource.h:252
TransMythUIComboBoxSetting
Definition: standardsettings.h:270
UseEIT
Definition: videosource.cpp:558
TransTextEditSetting
Definition: standardsettings.h:159
XMLTV_generic_config::m_grabber
QString m_grabber
Definition: videosource.h:135
ButtonStandardSetting
Definition: standardsettings.h:448
EmptyVBIDevice::EmptyVBIDevice
EmptyVBIDevice(const CaptureCard &parent)
Definition: videosource.h:307
FirewireDesc
Definition: videosource.h:713
VBoxDeviceIDList::m_parent
const CaptureCard & m_parent
Definition: videosource.h:1008
VideoSource::Name::Name
Name(const VideoSource &parent)
Definition: videosource.h:218
EITOnly_config
Definition: videosource.h:140
CaptureCardButton::CaptureCardButton
CaptureCardButton(const QString &label, QString value)
Definition: videosource.h:808
VideoSourceDBStorage
Definition: videosource.h:42
CaptureCardDBStorage::CaptureCardDBStorage
CaptureCardDBStorage(StorageUser *_user, const CaptureCard &_parent, const QString &_name)
Definition: videosource.h:233
mythtvexp.h
HDHomeRunConfigurationGroup::m_deviceList
HDHomeRunDeviceList m_deviceList
Definition: videosource.h:366
VBoxDeviceID
Definition: videosource.h:1014
VideoDevice
Definition: videosource.cpp:752
VBoxDeviceIDList
Definition: videosource.h:984
VBIDevice
Definition: videosource.cpp:869
VBoxDevice::m_tunerType
QString m_tunerType
Definition: videosource.h:489
TransFreqTableSelector::m_loadedFreqTable
QString m_loadedFreqTable
Definition: videosource.h:116
VBoxDevice::m_cardIp
QString m_cardIp
Definition: videosource.h:487
XMLTV_generic_config::m_grabberArgs
QStringList m_grabberArgs
Definition: videosource.h:136
is_grabber_labs
static bool is_grabber_labs(const QString &grabber)
Definition: videosource.h:35
SourceID
Definition: videosource.cpp:2793
MythScreenType
Screen in which all other widgets are contained and rendered.
Definition: mythscreentype.h:45
EmptyAudioDevice
Definition: videosource.h:278
CaptureCardButton::Clicked
void Clicked(const QString &choice)
TunerCardAudioInput
Definition: videosource.h:262
EmptyAudioDevice::Save
void Save(void) override
Definition: videosource.h:288
VideoSource::Load
void Load(void) override
Definition: videosource.h:193
SimpleDBStorage
Definition: mythstorage.h:56
VBoxDevice
Definition: videosource.h:482
XMLTV_generic_config::Save
virtual void Save(const QString &)
Definition: videosource.h:128
VideoSourceDBStorage::VideoSourceDBStorage
VideoSourceDBStorage(StorageUser *_user, const VideoSource &_parent, const QString &name)
Definition: videosource.h:44
HDHomeRunDevice::m_deviceId
QString m_deviceId
Definition: videosource.h:340
NoGrabber_config::Save
virtual void Save(const QString &)
Definition: videosource.h:157
CaptureCardEditor
Definition: videosource.h:824
CaptureCard::Hostname::Hostname
Hostname(const CaptureCard &parent)
Definition: videosource.h:767
ASIConfigurationGroup
Definition: videosource.h:594
CaptureCardDBStorage::m_parent
const CaptureCard & m_parent
Definition: videosource.h:246
CaptureCard::Hostname::resultEdit
void resultEdit(DialogCompletionEvent *) override
Definition: videosource.h:774
CardInputDBStorage::fillSelections
void fillSelections()
VBoxIP
Definition: videosource.h:942
HDHomeRunDeviceID
Definition: videosource.h:370
NoGrabber_config
Definition: videosource.h:152
VBoxDeviceList
QMap< QString, VBoxDevice > VBoxDeviceList
Definition: videosource.h:494
MythDate::current
QDateTime current(bool stripped)
Returns current Date and Time in UTC.
Definition: mythdate.cpp:10
DemoConfigurationGroup
Definition: videosource.h:626
VideoSourceSelector
Definition: videosource.h:59
VideoSourceDBStorage::m_parent
const VideoSource & m_parent
Definition: videosource.h:55
VBoxConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:511
V4LConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:531
MPEGConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:550
FirewireDesc::FirewireDesc
FirewireDesc(const FirewireGUID *_guid)
Definition: videosource.h:717
DiSEqCDevSettings
DVB-S device settings class.
Definition: diseqc.h:38
VBoxDeviceIDList::m_cardIp
VBoxIP * m_cardIp
Definition: videosource.h:1005
HDHomeRunDevice
Definition: videosource.h:338
V4L2encGroup
Definition: videosource.h:576
XMLTV_generic_config
Definition: videosource.h:120
DVBCardName
Definition: videosource.cpp:1142
MythUIComboBoxSetting
Definition: standardsettings.h:216
FreqTableSelector
Definition: videosource.h:94
DemoConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:636
CaptureCard::ID::ID
ID()
Definition: videosource.h:758
TransFreqTableSelector
Definition: videosource.h:103
IdSetting
Definition: videosource.h:163
StandardSetting::Load
virtual void Load(void)
Definition: standardsettings.cpp:208
VideoSourceSelector::GetSourceID
uint GetSourceID(void) const
Definition: videosource.h:69
VideoSourceSelector::m_mustHaveMplexId
bool m_mustHaveMplexId
Definition: videosource.h:74
VBoxConfigurationGroup
Definition: videosource.h:501
IdSetting::intValue
int intValue()
Definition: videosource.h:171
is_grabber_external
static bool is_grabber_external(const QString &grabber)
Definition: videosource.h:29
CaptureCard
Definition: videosource.h:735
EmptyVBIDevice
Definition: videosource.h:303
CaptureCard::ID
Definition: videosource.h:756
HDHomeRunDevice::m_model
QString m_model
Definition: videosource.h:341
CaptureCardGroup
Definition: videosource.h:728
StandardSetting::Save
virtual void Save(void)
Definition: standardsettings.cpp:227
VBoxDevice::m_mythDeviceId
QString m_mythDeviceId
Definition: videosource.h:484
HDPVRConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:567
CaptureCardButton::m_value
QString m_value
Definition: videosource.h:820
CardInput::ID
Definition: videosource.h:917
EmptyAudioDevice::EmptyAudioDevice
EmptyAudioDevice(const CaptureCard &parent)
Definition: videosource.h:281
CaptureCard::Hostname::edit
void edit(MythScreenType *) override
Definition: videosource.h:773
uint
unsigned int uint
Definition: compat.h:140
gCoreContext
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
Definition: mythcorecontext.cpp:57
InputGroup
Definition: videosource.cpp:2816
EmptyAudioDevice::Save
void Save(const QString &destination)
Definition: videosource.h:294
CardInputDBStorage::m_parent
const CardInput & m_parent
Definition: videosource.h:800
AutoIncrementSetting
Definition: standardsettings.h:125
FirewireGUID
Definition: videosource.cpp:1218
VideoSourceSelector::m_cardTypes
QString m_cardTypes
Definition: videosource.h:73
VBoxIP::SetOldValue
void SetOldValue(const QString &s)
Definition: videosource.h:949
CetonDeviceID::LoadedCard
void LoadedCard(const QString &)
VideoSourceShow
Definition: videosource.h:78
DVBTuningDelay
Definition: videosource.cpp:1201
StartingChannel
Definition: videosource.h:875
FirewireModel
Definition: videosource.h:699
CardInput
Definition: videosource.h:893
VBoxDevice::m_desc
QString m_desc
Definition: videosource.h:486
CardType
Definition: videosource.h:328
standardsettings.h
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
VBoxDeviceIDList::m_cardTuner
VBoxTunerIndex * m_cardTuner
Definition: videosource.h:1006
ASIDevice
Definition: videosource.cpp:1755
CardInput::ID::ID
ID()
Definition: videosource.h:919
ImportConfigurationGroup
Definition: videosource.h:610
MythUITextEditSetting
Definition: standardsettings.h:144
VideoSource::getSourceID
int getSourceID(void) const
Definition: videosource.h:183
VBoxIP::m_oldValue
QString m_oldValue
Definition: videosource.h:959
VideoSource::idToName
static QString idToName(int id)
VideoSource::ID
Definition: videosource.h:208
CetonDeviceID::m_parent
const CaptureCard & m_parent
Definition: videosource.h:1071
CetonDeviceID::m_ip
QString m_ip
Definition: videosource.h:1068
TransFreqTableSelector::Save
virtual void Save(const QString &)
Definition: videosource.h:110
VBoxConfigurationGroup::m_deviceList
VBoxDeviceList m_deviceList
Definition: videosource.h:517
EmptyVBIDevice::Save
void Save(void) override
Definition: videosource.h:313
DialogCompletionEvent
Event dispatched from MythUI modal dialogs to a listening class containing a result of some form.
Definition: mythdialogbox.h:42
StartingChannel::fillSelections
static void fillSelections(void)
Definition: videosource.h:887
VideoSource::Save
void Save(void) override
Definition: videosource.h:198
DVBConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:682
HDHomeRunConfigurationGroup
Definition: videosource.h:350
mythcontext.h
HDHomeRunDeviceID::m_group
HDHomeRunConfigurationGroup & m_group
Definition: videosource.h:380
mthread.h
VBoxTunerIndex::NewTuner
void NewTuner(const QString &)
IdSetting::setValue
void setValue(int value) override
Definition: videosource.h:172
MythUISpinBoxSetting
Definition: standardsettings.h:326
VideoSourceShow::GetSourceID
uint GetSourceID(void) const
Definition: videosource.h:86
DVBCardNum
Definition: videosource.cpp:1057
DVBConfigurationGroup
Definition: videosource.h:664
VBoxIP::NewIP
void NewIP(const QString &)
CetonDeviceID::LoadedTuner
void LoadedTuner(const QString &)
DiSEqCDevTree
DVB-S device tree class.
Definition: diseqc.h:76
VBoxDeviceID::m_ip
QString m_ip
Definition: videosource.h:1028
VBoxTunerIndex::m_oldValue
QString m_oldValue
Definition: videosource.h:980
TransFreqTableSelector::m_sourceId
uint m_sourceId
Definition: videosource.h:115
CaptureCardComboBoxSetting
Definition: videosource.h:250
VBoxDevice::m_tunerNo
QString m_tunerNo
Definition: videosource.h:488
CaptureCardDBStorage
Definition: videosource.h:231
StandardSetting
Definition: standardsettings.h:30
MythCoreContext::GetHostName
QString GetHostName(void)
Definition: mythcorecontext.cpp:856
TunerCardAudioInput::m_lastCardType
QString m_lastCardType
Definition: videosource.h:274
HDHomeRunDevice::m_cardIp
QString m_cardIp
Definition: videosource.h:342
SignalTimeout
Definition: videosource.cpp:993
CardInput::getInputID
int getInputID(void) const
Definition: videosource.h:900
CetonSetting::NewValue
void NewValue(const QString &)
MythUICheckBoxSetting
Definition: standardsettings.h:388
VBoxDeviceIDList::m_deviceId
VBoxDeviceID * m_deviceId
Definition: videosource.h:1003
CaptureCardButton
Definition: videosource.h:804
HDHomeRunDeviceList
QMap< QString, HDHomeRunDevice > HDHomeRunDeviceList
Definition: videosource.h:346
VideoSource::Name
Definition: videosource.h:216
VBoxTunerIndex::SetOldValue
void SetOldValue(const QString &s)
Definition: videosource.h:970
EmptyVBIDevice::Save
void Save(const QString &destination)
Definition: videosource.h:319
VideoSource::getSourceName
QString getSourceName(void) const
Definition: videosource.h:191
VBoxDeviceID::m_overrideDeviceId
QString m_overrideDeviceId
Definition: videosource.h:1030
IdSetting::IdSetting
IdSetting(const QString &table, const QString &setting)
Definition: videosource.h:165
CetonDeviceID::m_card
QString m_card
Definition: videosource.h:1069
XMLTV_generic_config::m_parent
const VideoSource & m_parent
Definition: videosource.h:134
ChannelTimeout
Definition: videosource.cpp:1007
UseHDHomeRunDevice
Definition: videosource.cpp:1401
VideoSourceSelector::m_initialSourceId
uint m_initialSourceId
Definition: videosource.h:72
CetonDeviceID::LoadedIP
void LoadedIP(const QString &)
CardInputEditor::m_cardInputs
vector< CardInput * > m_cardInputs
Definition: videosource.h:871
ImportConfigurationGroup::m_parent
CaptureCard & m_parent
Definition: videosource.h:620
VBoxDeviceIDList::m_desc
StandardSetting * m_desc
Definition: videosource.h:1004
VideoSourceShow::m_initialSourceId
uint m_initialSourceId
Definition: videosource.h:89
FreqTableSelector::m_freq
QString m_freq
Definition: videosource.h:99
DVBCardType
Definition: videosource.cpp:1129
CardInputDBStorage
Definition: videosource.h:782
VBoxDeviceIDList::m_oldValue
QString m_oldValue
Definition: videosource.h:1010
TunerCardAudioInput::m_lastDevice
QString m_lastDevice
Definition: videosource.h:273
CetonSetting
Definition: videosource.h:1034
GroupSetting
Definition: standardsettings.h:433
CetonDeviceID
Definition: videosource.h:1049
CaptureCard::Hostname
Definition: videosource.h:765
CardInputEditor
Definition: videosource.h:862
StorageUser
Definition: mythstorage.h:16