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
7// MythTV headers
8#include "libmythbase/mythconfig.h"
10#include "libmythbase/mthread.h"
11
12#include "mythtvexp.h"
13
14class SignalTimeout;
15class ChannelTimeout;
16class UseEIT;
17class VideoSource;
18class CaptureCard;
19class VBIDevice;
20class CardInput;
21class CardID;
22class InputName;
23class SourceID;
24class DeviceTree;
25class DiSEqCDevTree;
27class InputGroup;
28
29static inline bool is_grabber_external(const QString &grabber)
30{
31 return !(grabber == "eitonly" ||
32 grabber == "/bin/true");
33}
34
35static inline bool is_grabber_labs([[maybe_unused]] const QString &grabber)
36{
37 return false;
38}
39
41{
42 public:
44 const VideoSource &_parent,
45 const QString &name) :
46 SimpleDBStorage(_user, "videosource", name), m_parent(_parent)
47 {
48 }
49
50 protected:
51 QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
52 QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
53
55};
56
58{
59 Q_OBJECT
60
61 public:
62 VideoSourceSelector(uint _initial_sourceid,
63 QString _card_types,
64 bool _must_have_mplexid);
65
66 void Load(void) override; // StandardSetting
67
68 uint GetSourceID(void) const { return getValue().toUInt(); }
69
70 private:
72 QString m_cardTypes;
74};
75
77{
78 Q_OBJECT
79
80 public:
81 explicit VideoSourceShow(uint _initial_sourceid);
82
83 void Load(void) override; // StandardSetting
84
85 uint GetSourceID(void) const { return getValue().toUInt(); }
86
87 private:
89};
90
93{
94 Q_OBJECT
95public:
96 explicit FreqTableSelector(const VideoSource& parent);
97 ~FreqTableSelector() override;
98protected:
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{
141public:
142 EITOnly_config(const VideoSource& _parent, StandardSetting *_setting);
143
144 void Save(void) override; // StandardSetting
145 virtual void Save(const QString& /*destination*/) { Save(); }
146
147protected:
148 UseEIT *m_useEit {nullptr};
149};
150
152{
153public:
154 explicit NoGrabber_config(const VideoSource& _parent);
155
156 void Save(void) override; // StandardSetting
157 virtual void Save(const QString& /*destination*/) { Save(); }
158
159protected:
160 UseEIT *m_useEit {nullptr};
161};
162
164public:
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
177class 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 ~Name() override
225 {
226 delete GetStorage();
227 }
228 };
229
230private:
231 ID *m_id {nullptr};
232 Name *m_name {nullptr};
233};
234
236{
237 public:
239 const CaptureCard &_parent,
240 const QString &_name) :
241 SimpleDBStorage(_user, "capturecard", _name), m_parent(_parent)
242 {
243 }
244
245
246protected:
247 int getCardID(void) const;
248 QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
249 QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
250private:
252};
253
255{
256 public:
258 bool rw,
259 const QString &setting) :
260 MythUIComboBoxSetting(new CaptureCardDBStorage(this, parent, setting),
261 rw)
262 {
263 }
264
266 {
267 delete GetStorage();
268 }
269};
270
272{
273 Q_OBJECT
274 public:
275 explicit TunerCardAudioInput(const CaptureCard &parent,
276 QString dev = QString(),
277 QString type = QString());
278
279 public slots:
280 int fillSelections(const QString &device);
281
282 private:
285};
286
288{
289 Q_OBJECT
290 public:
291 explicit EmptyAudioDevice(const CaptureCard &parent) :
293 "audiodevice"))
294 {
295 setVisible(false);
296 }
297
299 {
300 delete GetStorage();
301 }
302
303 void Save(void) override // StandardSetting
304 {
306 setValue("");
307 GetStorage()->Save();
308 }
309 void Save(const QString& destination)
310 {
312 setValue("");
313 GetStorage()->Save(destination);
314 }
315};
316
318{
319 Q_OBJECT
320
321 public:
322 explicit EmptyVBIDevice(const CaptureCard &parent) :
323 MythUITextEditSetting(new CaptureCardDBStorage(this, parent, "vbidevice"))
324 {
325 setVisible(false);
326 };
327
329 {
330 delete GetStorage();
331 }
332
333 void Save(void) override // StandardSetting
334 {
336 setValue("");
337 GetStorage()->Save();
338 }
339 void Save(const QString& destination)
340 {
342 setValue("");
343 GetStorage()->Save(destination);
344 }
345};
346
348{
349public:
350 explicit CardType(const CaptureCard& parent);
351 static void fillSelections(MythUIComboBoxSetting* setting);
352};
353
354#if CONFIG_HDHOMERUN
355
356class UseHDHomeRunDevice;
357class HDHomeRunDevice
358{
359 public:
360 QString m_deviceId;
361 QString m_model;
362 QString m_cardIp;
363 UseHDHomeRunDevice *m_checkbox {nullptr};
364};
365
366using HDHomeRunDeviceList = QMap<QString, HDHomeRunDevice>;
367
368class HDHomeRunDeviceID;
369class HDHomeRunConfigurationGroup : public GroupSetting
370{
371 Q_OBJECT
372
373 friend class HDHomeRunExtra;
374
375 public:
376 HDHomeRunConfigurationGroup(CaptureCard &parent, CardType &cardtype);
377 void SetDeviceCheckBoxes(const QString& devices);
378 QString GetDeviceCheckBoxes(void);
379
380 private:
381 void FillDeviceList(void);
382
383 private:
385 HDHomeRunDeviceID *m_deviceId {nullptr};
386 HDHomeRunDeviceList m_deviceList;
387};
388
389class HDHomeRunDeviceID : public MythUITextEditSetting
390{
391 Q_OBJECT
392
393 public:
394 HDHomeRunDeviceID(const CaptureCard &parent,
395 HDHomeRunConfigurationGroup &_group);
396 ~HDHomeRunDeviceID() override;
397 void Load(void) override; // StandardSetting
398 void Save(void) override; // StandardSetting
399
400 private:
401 HDHomeRunConfigurationGroup &m_group;
402};
403#endif // CONFIG_HDHOMERUN
404
405#if CONFIG_SATIP
406
407class SatIPDevice
408{
409 public:
410 QString m_mythDeviceId;
411 QString m_deviceId;
412 QString m_friendlyName;
413 QString m_cardIP;
414 QString m_tunerNo;
415 QString m_tunerType;
416 bool m_inUse {false};
417 bool m_discovered {false};
418};
419
420using SatIPDeviceList = QMap<QString, SatIPDevice>;
421
422class SatIPDeviceIDList;
423class SatIPDeviceID;
424class SatIPDeviceAttribute;
425class SatIPConfigurationGroup : public GroupSetting
426{
427 Q_OBJECT
428
429 public:
430 SatIPConfigurationGroup(CaptureCard &parent, CardType &cardtype);
431
432 private:
433 void FillDeviceList(void);
434
435 private:
437 SatIPDeviceIDList *m_deviceIdList {nullptr};
438 SatIPDeviceID *m_deviceId {nullptr};
439 SatIPDeviceAttribute *m_friendlyName {nullptr};
440 SatIPDeviceAttribute *m_tunerType {nullptr};
441 SatIPDeviceAttribute *m_tunerIndex {nullptr};
442 SatIPDeviceList m_deviceList;
443};
444
445class SatIPDeviceIDList : public TransMythUIComboBoxSetting
446{
447 Q_OBJECT
448
449 public:
450 SatIPDeviceIDList(SatIPDeviceID *deviceId,
451 SatIPDeviceAttribute *friendlyName,
452 SatIPDeviceAttribute *tunerType,
453 SatIPDeviceAttribute *tunerIndex,
454 SatIPDeviceList *deviceList,
455 const CaptureCard &parent);
456
457 void fillSelections(const QString &current);
458
459 void Load(void) override; // StandardSetting
460
461 public slots:
462 void UpdateDevices(const QString& /*v*/);
463
464 signals:
465 void NewTuner(const QString&);
466
467 private:
468 SatIPDeviceID *m_deviceId;
469 SatIPDeviceAttribute *m_friendlyName;
470 SatIPDeviceAttribute *m_tunerType;
471 SatIPDeviceAttribute *m_tunerIndex;
472 SatIPDeviceList *m_deviceList;
473 const CaptureCard &m_parent;
474};
475
476class SatIPDeviceID : public MythUITextEditSetting
477{
478 Q_OBJECT
479
480 public:
481 explicit SatIPDeviceID(const CaptureCard &parent);
482 ~SatIPDeviceID() override;
483
484 void Load(void) override; // StandardSetting
485
486 public slots:
487 void SetTuner(const QString& /*tuner*/);
488
489 private:
490 const CaptureCard &m_parent;
491};
492
493class SatIPDeviceAttribute : public GroupSetting
494{
495 Q_OBJECT
496
497 public:
498 SatIPDeviceAttribute(const QString& label,
499 const QString& helpText);
500};
501#endif // CONFIG_SATIP
502
504{
505 public:
507 QString m_deviceId;
508 QString m_desc;
509 QString m_cardIp;
510 QString m_tunerNo;
511 QString m_tunerType;
512 bool m_inUse {false};
513 bool m_discovered {false};
514};
515
516using VBoxDeviceList = QMap<QString, VBoxDevice>;
517
518class VBoxDeviceIDList;
519class VBoxDeviceID;
520class VBoxIP;
521class VBoxTunerIndex;
523{
524 Q_OBJECT
525
526 public:
527 VBoxConfigurationGroup(CaptureCard &parent, CardType &cardtype);
528
529 private:
530 void FillDeviceList(void);
531
532 private:
537 VBoxIP *m_cardIp {nullptr};
540};
541
543{
544 Q_OBJECT
545
546 public:
547 V4LConfigurationGroup(CaptureCard &parent, CardType &cardtype, const QString &inputtype);
548
549 public slots:
550 void probeCard(const QString &device);
551
552 private:
555 VBIDevice *m_vbiDev {nullptr};
556};
557
558class VideoDevice;
559class VBIDevice;
560
562{
563 Q_OBJECT
564
565 public:
566 MPEGConfigurationGroup(CaptureCard &parent, CardType &cardtype);
567
568 public slots:
569 void probeCard(const QString &device);
570
571 private:
576};
577
579{
580 Q_OBJECT
581
582 public:
583 HDPVRConfigurationGroup(CaptureCard &parent, CardType &cardtype);
584
585 public slots:
586 void probeCard(const QString &device);
587
588 private:
593};
594
595class ASIDevice;
596
598{
599 Q_OBJECT
600
601 public:
602 V4L2encGroup(CaptureCard& parent, CardType& cardType);
603
604 private:
608
610
611 protected slots:
612 void probeCard(const QString &device);
613};
614
616{
617 Q_OBJECT
618
619 public:
620 ASIConfigurationGroup(CaptureCard &parent, CardType &cardType);
621
622 public slots:
623 void probeCard(const QString &device);
624
625 private:
627 ASIDevice *m_device {nullptr};
629};
630
632{
633 Q_OBJECT
634
635 public:
637
638 public slots:
639 void probeCard(const QString &device);
640
641 private:
645};
646
648{
649 Q_OBJECT
650
651 public:
652 DemoConfigurationGroup(CaptureCard &parent, CardType &cardtype);
653
654 public slots:
655 void probeCard(const QString &device);
656
657 private:
661};
662
663#if !defined( _WIN32 )
664class ExternalConfigurationGroup: public GroupSetting
665{
666 Q_OBJECT
667
668 public:
669 ExternalConfigurationGroup(CaptureCard &parent, CardType &cardtype);
670
671 public slots:
672 void probeApp(const QString & path);
673
674 private:
676 GroupSetting *m_info {nullptr};
677};
678#endif
679
680class DVBCardNum;
681class DVBCardName;
682class DVBCardType;
683class DVBTuningDelay;
684
686{
687 Q_OBJECT
688
689 friend class DVBExtra;
690
691 public:
692 DVBConfigurationGroup(CaptureCard& a_parent, CardType& cardType);
693 ~DVBConfigurationGroup() override;
694
695 void Load(void) override; // StandardSetting
696
697 void Save(void) override; // StandardSetting
698
699 public slots:
700 void probeCard(const QString& videodevice);
701 void reloadDiseqcTree(const QString &device);
702
703 private:
705
714};
715
716class FirewireGUID;
718{
719 Q_OBJECT
720
721 public:
722 FirewireModel(const CaptureCard &parent, const FirewireGUID *_guid);
723
724 public slots:
725 void SetGUID(const QString &_guid);
726
727 private:
728 const FirewireGUID *m_guid {nullptr};
729};
730
732{
733 Q_OBJECT
734
735 public:
736 explicit FirewireDesc(const FirewireGUID *_guid) :
737 m_guid(_guid) { }
738
739 public slots:
740 void SetGUID(const QString &_guid);
741
742 private:
743 const FirewireGUID *m_guid {nullptr};
744};
745
747{
748 Q_OBJECT
749public:
750 explicit CaptureCardGroup(CaptureCard& parent);
751};
752
754{
755 Q_OBJECT
756public:
757 explicit CaptureCard(bool use_card_group = true);
758
759 int getCardID(void) const { return m_id->intValue(); }
760 QString GetRawCardType(void) const;
761
762 void loadByID(int id);
763
764 static void fillSelections(GroupSetting* setting);
765
766 void reload(void);
767
768 void Save(void) override; // StandardSetting
769
770 bool canDelete(void) override; // GroupSetting
771 void deleteEntry(void) override; // GroupSetting
772
773private:
774
775 class ID: public IdSetting {
776 public:
777 ID():
778 IdSetting("capturecard", "cardid")
779 {
780 }
781 };
782
784 {
785 public:
786 explicit Hostname(const CaptureCard &parent);
787 ~Hostname() override;
788 void edit(MythScreenType */*screen*/) override {} // StandardSetting
789 void resultEdit(DialogCompletionEvent */*dce*/) override {} // StandardSetting
790 };
791
792private:
793 ID *m_id {nullptr};
794};
795
797{
798 public:
800 const CardInput &_parent,
801 const QString& _name) :
802 SimpleDBStorage(_user, "capturecard", _name), m_parent(_parent)
803 {
804 }
805
806 int getInputID(void) const;
807
808 protected:
810
811 QString GetSetClause(MSqlBindings &bindings) const override; // SimpleDBStorage
812 QString GetWhereClause(MSqlBindings &bindings) const override; // SimpleDBStorage
813
814 private:
816};
817
819{
820 Q_OBJECT
821
822 public:
823 CaptureCardButton(const QString &label, QString value)
824 : ButtonStandardSetting(label),
825 m_value(std::move(value))
826 {
827 }
828
829 void edit(MythScreenType *screen) override; // ButtonStandardSetting
830
831 signals:
832 void Clicked(const QString &choice);
833
834 private:
835 QString m_value;
836};
837
838
840{
841 Q_OBJECT
842
843 public:
845
846 void Load(void) override; // StandardSetting
847
848 using CCESlot = void (CaptureCardEditor::*)(void);
849 using CCESlotConst = void (CaptureCardEditor::*)(void) const;
850 void AddSelection(const QString &label, CCESlot slot);
851 void AddSelection(const QString &label, CCESlotConst slot);
852
853 public slots:
854 void ShowDeleteAllCaptureCardsDialog(void) const;
855 void ShowDeleteAllCaptureCardsDialogOnHost(void) const;
856 void DeleteAllCaptureCards(bool doDelete);
857 void DeleteAllCaptureCardsOnHost(bool doDelete);
858 void AddNewCard(void);
859};
860
862{
863 Q_OBJECT
864
865 public:
867
868 static bool cardTypesInclude(int SourceID,
869 const QString& thecardtype);
870
871 void Load(void) override; // StandardSetting
872 using VSESlot = void (VideoSourceEditor::*)(void);
873 using VSESlotConst = void (VideoSourceEditor::*)(void) const;
874 void AddSelection(const QString &label, VSESlot slot);
875 void AddSelection(const QString &label, VSESlotConst slot);
876
877 public slots:
878 void NewSource(void);
879 void ShowDeleteAllSourcesDialog(void) const;
880 void DeleteAllSources(bool doDelete);
881};
882
884{
885 Q_OBJECT
886
887 public:
889
890 void Load(void) override; // StandardSetting
891
892 private:
893 std::vector<CardInput*> m_cardInputs;
894};
895
897{
898 Q_OBJECT
899 public:
900 explicit StartingChannel(const CardInput &parent) :
901 MythUIComboBoxSetting(new CardInputDBStorage(this, parent, "startchan"),
902 false)
903 {
904 setLabel(QObject::tr("Starting channel"));
905 setHelpText(QObject::tr("This channel is shown when 'Watch TV' is selected on the main menu. "
906 "It is updated on every Live TV channel change. "
907 "When the value is not valid a suitable default will be chosen."));
908 }
909
911 {
912 delete GetStorage();
913 }
914 static void fillSelections(void) {;}
915 public slots:
916 void SetSourceID(const QString &sourceid);
917};
918
920{
921 Q_OBJECT
922 public:
923 CardInput(const QString & cardtype, const QString & device,
924 int cardid);
925 ~CardInput() override;
926
927 int getInputID(void) const { return m_id->intValue(); };
928
929 void loadByID(int id);
930 void loadByInput(int cardid, const QString& inputname);
931 QString getSourceName(void) const;
932
933 void Save(void) override; // StandardSetting
934
935 public slots:
936 void CreateNewInputGroup();
937 void channelScanner();
938 void sourceFetch();
939 void SetSourceID(const QString &sourceid);
940 void CreateNewInputGroupSlot(const QString &name);
941
942 private:
943 class ID: public IdSetting
944 {
945 public:
946 ID() : IdSetting("capturecard", "cardid")
947 {
948 }
949 };
950
951 ID *m_id {nullptr};
962};
963
965class VBoxDeviceID;
966class VBoxTunerIndex;
967
969{
970 Q_OBJECT
971
972 public:
973 VBoxIP();
974
975 void setEnabled(bool e) override; // StandardSetting
976 void SetOldValue(const QString &s)
977 { m_oldValue = s; };
978
979 signals:
980 void NewIP(const QString&);
981
982 public slots:
983 void UpdateDevices(const QString &v);
984
985 private:
986 QString m_oldValue;
987};
988
990{
991 Q_OBJECT
992
993 public:
995
996 void setEnabled(bool e) override; // StandardSetting
997 void SetOldValue(const QString &s)
998 { m_oldValue = s; };
999
1000 signals:
1001 void NewTuner(const QString&);
1002
1003 public slots:
1004 void UpdateDevices(const QString &v);
1005
1006 private:
1007 QString m_oldValue;
1008};
1009
1011{
1012 Q_OBJECT
1013
1014 public:
1016 StandardSetting *desc,
1017 VBoxIP *cardip,
1018 VBoxTunerIndex *cardtuner,
1019 VBoxDeviceList *devicelist,
1020 const CaptureCard &parent);
1021
1022 void fillSelections(const QString &current);
1023
1024 void Load(void) override; // StandardSetting
1025
1026 public slots:
1027 void UpdateDevices(const QString &v);
1028
1029 private:
1036
1037 QString m_oldValue;
1038};
1039
1041{
1042 Q_OBJECT
1043
1044 public:
1045 explicit VBoxDeviceID(const CaptureCard &parent);
1046 ~VBoxDeviceID() override;
1047
1048 void Load(void) override; // StandardSetting
1049
1050 public slots:
1051 void SetIP(const QString &ip);
1052 void SetTuner(const QString &tuner);
1053 void SetOverrideDeviceID(const QString &deviceid);
1054
1055 private:
1056 QString m_ip;
1057 QString m_tuner;
1059};
1060
1061#if CONFIG_CETON
1062class CetonSetting : public TransTextEditSetting
1063{
1064 Q_OBJECT
1065
1066 public:
1067 CetonSetting(QString label, const QString& helptext);
1068 static void CetonConfigurationGroup(CaptureCard& parent, CardType& cardtype);
1069
1070 signals:
1071 void NewValue(const QString&);
1072
1073 public slots:
1074 void UpdateDevices(const QString &v);
1075 void LoadValue(const QString &value);
1076};
1077
1078class CetonDeviceID : public MythUITextEditSetting
1079{
1080 Q_OBJECT
1081
1082 public:
1083 explicit CetonDeviceID(const CaptureCard &parent);
1084 ~CetonDeviceID() override;
1085
1086 void Load(void) override; // StandardSetting
1087 void UpdateValues();
1088
1089 signals:
1090 void LoadedIP(const QString&);
1091 void LoadedCard(const QString&);
1092 void LoadedTuner(const QString&);
1093
1094 public slots:
1095 void SetIP(const QString &ip);
1096 void SetTuner(const QString &tuner);
1097
1098 private:
1099 QString m_ip;
1100 QString m_card;
1101 QString m_tuner;
1102 const CaptureCard &m_parent;
1103};
1104#endif // CONFIG_CETON
1105
1106#endif
TransTextEditSetting * m_cardInfo
Definition: videosource.h:628
void probeCard(const QString &device)
ASIDevice * m_device
Definition: videosource.h:627
ASIConfigurationGroup(CaptureCard &parent, CardType &cardType)
CaptureCard & m_parent
Definition: videosource.h:626
CaptureCardButton(const QString &label, QString value)
Definition: videosource.h:823
void Clicked(const QString &choice)
void edit(MythScreenType *screen) override
~CaptureCardComboBoxSetting() override
Definition: videosource.h:265
CaptureCardComboBoxSetting(const CaptureCard &parent, bool rw, const QString &setting)
Definition: videosource.h:257
CaptureCardDBStorage(StorageUser *_user, const CaptureCard &_parent, const QString &_name)
Definition: videosource.h:238
QString GetSetClause(MSqlBindings &bindings) const override
const CaptureCard & m_parent
Definition: videosource.h:251
QString GetWhereClause(MSqlBindings &bindings) const override
int getCardID(void) const
void(CaptureCardEditor::*)(void) const CCESlotConst
Definition: videosource.h:849
void(CaptureCardEditor::*)(void) CCESlot
Definition: videosource.h:848
CaptureCardGroup(CaptureCard &parent)
void resultEdit(DialogCompletionEvent *) override
Definition: videosource.h:789
void edit(MythScreenType *) override
Definition: videosource.h:788
Hostname(const CaptureCard &parent)
void Save(void) override
void deleteEntry(void) override
QString GetRawCardType(void) const
bool canDelete(void) override
int getCardID(void) const
Definition: videosource.h:759
void loadByID(int id)
CaptureCard(bool use_card_group=true)
void reload(void)
static void fillSelections(GroupSetting *setting)
const CardInput & m_parent
Definition: videosource.h:815
int getInputID(void) const
QString GetWhereClause(MSqlBindings &bindings) const override
CardInputDBStorage(StorageUser *_user, const CardInput &_parent, const QString &_name)
Definition: videosource.h:799
QString GetSetClause(MSqlBindings &bindings) const override
std::vector< CardInput * > m_cardInputs
Definition: videosource.h:893
void SetSourceID(const QString &sourceid)
SourceID * m_sourceId
Definition: videosource.h:953
void CreateNewInputGroup()
void sourceFetch()
void Save(void) override
InputName * m_inputName
Definition: videosource.h:952
CardInput(const QString &cardtype, const QString &device, int cardid)
int getInputID(void) const
Definition: videosource.h:927
MythUISpinBoxSetting * m_instanceCount
Definition: videosource.h:960
QString getSourceName(void) const
void loadByID(int id)
MythUICheckBoxSetting * m_schedGroup
Definition: videosource.h:961
void loadByInput(int cardid, const QString &inputname)
~CardInput() override
StartingChannel * m_startChan
Definition: videosource.h:954
DiSEqCDevSettings * m_externalInputSettings
Definition: videosource.h:957
ButtonStandardSetting * m_srcFetch
Definition: videosource.h:956
ButtonStandardSetting * m_scan
Definition: videosource.h:955
InputGroup * m_inputGrp0
Definition: videosource.h:958
void channelScanner()
void CreateNewInputGroupSlot(const QString &name)
InputGroup * m_inputGrp1
Definition: videosource.h:959
static void fillSelections(MythUIComboBoxSetting *setting)
CardType(const CaptureCard &parent)
void reloadDiseqcTree(const QString &device)
friend class DVBExtra
Definition: videosource.h:689
DiSEqCDevTree * m_diseqcTree
Definition: videosource.h:712
DVBCardType * m_cardType
Definition: videosource.h:708
DVBCardName * m_cardName
Definition: videosource.h:707
CaptureCard & m_parent
Definition: videosource.h:704
DVBConfigurationGroup(CaptureCard &a_parent, CardType &cardType)
~DVBConfigurationGroup() override
SignalTimeout * m_signalTimeout
Definition: videosource.h:709
ChannelTimeout * m_channelTimeout
Definition: videosource.h:710
DeviceTree * m_diseqcBtn
Definition: videosource.h:713
void Load(void) override
void Save(void) override
void probeCard(const QString &videodevice)
DVBCardNum * m_cardNum
Definition: videosource.h:706
DVBTuningDelay * m_tuningDelay
Definition: videosource.h:711
GroupSetting * m_info
Definition: videosource.h:659
GroupSetting * m_size
Definition: videosource.h:660
DemoConfigurationGroup(CaptureCard &parent, CardType &cardtype)
void probeCard(const QString &device)
CaptureCard & m_parent
Definition: videosource.h:658
DVB-S device settings class.
Definition: diseqc.h:37
DVB-S device tree class.
Definition: diseqc.h:75
Event dispatched from MythUI modal dialogs to a listening class containing a result of some form.
Definition: mythdialogbox.h:41
UseEIT * m_useEit
Definition: videosource.h:148
virtual void Save(const QString &)
Definition: videosource.h:145
void Save(void) override
EITOnly_config(const VideoSource &_parent, StandardSetting *_setting)
void Save(void) override
Definition: videosource.h:303
void Save(const QString &destination)
Definition: videosource.h:309
EmptyAudioDevice(const CaptureCard &parent)
Definition: videosource.h:291
~EmptyAudioDevice() override
Definition: videosource.h:298
void Save(const QString &destination)
Definition: videosource.h:339
~EmptyVBIDevice() override
Definition: videosource.h:328
EmptyVBIDevice(const CaptureCard &parent)
Definition: videosource.h:322
void Save(void) override
Definition: videosource.h:333
FirewireDesc(const FirewireGUID *_guid)
Definition: videosource.h:736
const FirewireGUID * m_guid
Definition: videosource.h:743
void SetGUID(const QString &_guid)
const FirewireGUID * m_guid
Definition: videosource.h:728
FirewireModel(const CaptureCard &parent, const FirewireGUID *_guid)
void SetGUID(const QString &_guid)
FreqTableSelector(const VideoSource &parent)
~FreqTableSelector() override
void probeCard(const QString &device)
CaptureCard & m_parent
Definition: videosource.h:589
GroupSetting * m_cardInfo
Definition: videosource.h:590
TunerCardAudioInput * m_audioInput
Definition: videosource.h:591
HDPVRConfigurationGroup(CaptureCard &parent, CardType &cardtype)
IdSetting(const QString &table, const QString &setting)
Definition: videosource.h:165
int intValue()
Definition: videosource.h:171
void setValue(int value) override
Definition: videosource.h:172
GroupSetting * m_info
Definition: videosource.h:643
CaptureCard & m_parent
Definition: videosource.h:642
ImportConfigurationGroup(CaptureCard &parent, CardType &cardtype)
void probeCard(const QString &device)
GroupSetting * m_size
Definition: videosource.h:644
VBIDevice * m_vbiDevice
Definition: videosource.h:574
void probeCard(const QString &device)
MPEGConfigurationGroup(CaptureCard &parent, CardType &cardtype)
GroupSetting * m_cardInfo
Definition: videosource.h:575
CaptureCard & m_parent
Definition: videosource.h:572
VideoDevice * m_device
Definition: videosource.h:573
Screen in which all other widgets are contained and rendered.
UseEIT * m_useEit
Definition: videosource.h:160
void Save(void) override
virtual void Save(const QString &)
Definition: videosource.h:157
NoGrabber_config(const VideoSource &_parent)
virtual void Save(void)
StandardSetting * m_parent
virtual void Load(void)
virtual void setHelpText(const QString &str)
void setVisible(bool visible)
virtual void setValue(const QString &newValue)
Storage * GetStorage(void) const
virtual QString getValue(void) const
virtual void setLabel(QString str)
void SetSourceID(const QString &sourceid)
StartingChannel(const CardInput &parent)
Definition: videosource.h:900
~StartingChannel() override
Definition: videosource.h:910
static void fillSelections(void)
Definition: videosource.h:914
virtual void SetSaveRequired(void)
Definition: mythstorage.h:33
virtual void Save(void)=0
virtual void Save(const QString &)
Definition: videosource.h:110
void SetSourceID(uint sourceid)
void Save(void) override
void Load(void) override
TransFreqTableSelector(uint sourceid)
int fillSelections(const QString &device)
TunerCardAudioInput(const CaptureCard &parent, QString dev=QString(), QString type=QString())
VideoDevice * m_device
Definition: videosource.h:607
CaptureCard & m_parent
Definition: videosource.h:605
GroupSetting * m_cardInfo
Definition: videosource.h:606
void probeCard(const QString &device)
QString m_driverName
Definition: videosource.h:609
V4L2encGroup(CaptureCard &parent, CardType &cardType)
V4LConfigurationGroup(CaptureCard &parent, CardType &cardtype, const QString &inputtype)
void probeCard(const QString &device)
VBIDevice * m_vbiDev
Definition: videosource.h:555
GroupSetting * m_cardInfo
Definition: videosource.h:554
CaptureCard & m_parent
Definition: videosource.h:553
VBoxDeviceList m_deviceList
Definition: videosource.h:539
StandardSetting * m_desc
Definition: videosource.h:534
VBoxDeviceID * m_deviceId
Definition: videosource.h:536
VBoxDeviceIDList * m_deviceIdList
Definition: videosource.h:535
VBoxTunerIndex * m_cardTuner
Definition: videosource.h:538
VBoxConfigurationGroup(CaptureCard &parent, CardType &cardtype)
CaptureCard & m_parent
Definition: videosource.h:533
void fillSelections(const QString &current)
Adds all available device-tuner combinations to list.
VBoxDeviceID * m_deviceId
Definition: videosource.h:1030
const CaptureCard & m_parent
Definition: videosource.h:1035
VBoxDeviceList * m_deviceList
Definition: videosource.h:1034
StandardSetting * m_desc
Definition: videosource.h:1031
VBoxTunerIndex * m_cardTuner
Definition: videosource.h:1033
void Load(void) override
void UpdateDevices(const QString &v)
VBoxDeviceIDList(VBoxDeviceID *deviceid, StandardSetting *desc, VBoxIP *cardip, VBoxTunerIndex *cardtuner, VBoxDeviceList *devicelist, const CaptureCard &parent)
void SetTuner(const QString &tuner)
void Load(void) override
void SetOverrideDeviceID(const QString &deviceid)
~VBoxDeviceID() override
VBoxDeviceID(const CaptureCard &parent)
void SetIP(const QString &ip)
QString m_tuner
Definition: videosource.h:1057
QString m_ip
Definition: videosource.h:1056
QString m_overrideDeviceId
Definition: videosource.h:1058
bool m_inUse
Definition: videosource.h:512
QString m_cardIp
Definition: videosource.h:509
QString m_deviceId
Definition: videosource.h:507
QString m_mythDeviceId
Definition: videosource.h:506
QString m_tunerNo
Definition: videosource.h:510
QString m_tunerType
Definition: videosource.h:511
QString m_desc
Definition: videosource.h:508
bool m_discovered
Definition: videosource.h:513
void NewIP(const QString &)
void SetOldValue(const QString &s)
Definition: videosource.h:976
void setEnabled(bool e) override
void UpdateDevices(const QString &v)
QString m_oldValue
Definition: videosource.h:986
QString m_oldValue
Definition: videosource.h:1007
void UpdateDevices(const QString &v)
void setEnabled(bool e) override
void NewTuner(const QString &)
void SetOldValue(const QString &s)
Definition: videosource.h:997
VideoSourceDBStorage(StorageUser *_user, const VideoSource &_parent, const QString &name)
Definition: videosource.h:43
QString GetWhereClause(MSqlBindings &bindings) const override
const VideoSource & m_parent
Definition: videosource.h:54
QString GetSetClause(MSqlBindings &bindings) const override
void(VideoSourceEditor::*)(void) VSESlot
Definition: videosource.h:872
void(VideoSourceEditor::*)(void) const VSESlotConst
Definition: videosource.h:873
uint GetSourceID(void) const
Definition: videosource.h:68
VideoSourceSelector(uint _initial_sourceid, QString _card_types, bool _must_have_mplexid)
Definition: videosource.cpp:64
void Load(void) override
Definition: videosource.cpp:80
void Load(void) override
VideoSourceShow(uint _initial_sourceid)
uint GetSourceID(void) const
Definition: videosource.h:85
uint m_initialSourceId
Definition: videosource.h:88
Name(const VideoSource &parent)
Definition: videosource.h:218
~Name() override
Definition: videosource.h:224
static void fillSelections(GroupSetting *setting)
int getSourceID(void) const
Definition: videosource.h:183
Name * m_name
Definition: videosource.h:232
QString getSourceName(void) const
Definition: videosource.h:191
void Save(void) override
Definition: videosource.h:198
void Load(void) override
Definition: videosource.h:193
bool canDelete(void) override
static QString idToName(int id)
void deleteEntry(void) override
void loadByID(int id)
QStringList m_grabberArgs
Definition: videosource.h:136
const VideoSource & m_parent
Definition: videosource.h:134
void Save(void) override
XMLTV_generic_config(const VideoSource &_parent, const QString &_grabber, StandardSetting *_setting)
virtual void Save(const QString &)
Definition: videosource.h:128
unsigned int uint
Definition: freesurround.h:24
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
Definition: mythdbcon.h:100
#define MTV_PUBLIC
Definition: mythtvexp.h:15
QDateTime current(bool stripped)
Returns current Date and Time in UTC.
Definition: mythdate.cpp:15
STL namespace.
VERBOSE_PREAMBLE false
Definition: verbosedefs.h:89
QMap< QString, VBoxDevice > VBoxDeviceList
Definition: videosource.h:516
static bool is_grabber_labs(const QString &grabber)
Definition: videosource.h:35
static bool is_grabber_external(const QString &grabber)
Definition: videosource.h:29