MythTV  master
v2capture.h
Go to the documentation of this file.
1 // Program Name: capture.h
3 // Created : Sep. 21, 2011
4 //
5 // Copyright (c) 2011 Robert McNamara <rmcnamara@mythtv.org>
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 2 of the License, or
10 // (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program. If not, see <http://www.gnu.org/licenses/>.
23 //
25 
26 #ifndef V2CAPTURE_H
27 #define V2CAPTURE_H
28 
30 #include "v2captureCardList.h"
31 #include "v2recordingProfile.h"
32 
33 #define CAPTURE_SERVICE QString("/Capture/")
34 #define CAPTURE_HANDLE QString("Capture")
35 
36 class V2Capture : public MythHTTPService
37 {
38  Q_OBJECT
39  Q_CLASSINFO("Version", "1.6")
40  Q_CLASSINFO("RemoveAllCaptureCards", "methods=POST;name=bool")
41  Q_CLASSINFO("RemoveCaptureCard", "methods=POST;name=bool")
42  Q_CLASSINFO("AddCaptureCard", "methods=POST;name=int")
43  Q_CLASSINFO("UpdateCaptureCard", "methods=POST;name=bool")
44  Q_CLASSINFO("RemoveCardInput", "methods=POST;name=bool")
45  Q_CLASSINFO("AddCardInput", "methods=POST;name=int")
46  Q_CLASSINFO("UpdateCardInput", "methods=POST;name=bool")
47  Q_CLASSINFO("AddUserInputGroup", "methods=POST;name=int")
48  Q_CLASSINFO("LinkInputGroup", "methods=POST;name=bool")
49  Q_CLASSINFO("UnlinkInputGroup", "methods=POST;name=bool")
50  Q_CLASSINFO("SetInputMaxRecordings", "methods=POST;name=bool")
51  Q_CLASSINFO("AddDiseqcTree", "methods=POST")
52  Q_CLASSINFO("UpdateDiseqcTree", "methods=POST")
53  Q_CLASSINFO("RemoveDiseqcTree", "methods=POST")
54  Q_CLASSINFO("AddDiseqcConfig", "methods=POST")
55  Q_CLASSINFO("RemoveDiseqcConfig", "methods=POST")
56  Q_CLASSINFO("AddRecProfile", "methods=POST")
57  Q_CLASSINFO("DeleteRecProfile", "methods=POST")
58  Q_CLASSINFO("UpdateRecProfile", "methods=POST")
59  Q_CLASSINFO("UpdateRecProfileParam", "methods=POST")
60 
61  public:
62  V2Capture();
63  ~V2Capture() override = default;
64  static void RegisterCustomTypes();
65 
66  public slots:
67  static V2CaptureCardList* GetCaptureCardList ( const QString &HostName,
68  const QString &CardType );
69 
70  static V2CaptureCard* GetCaptureCard ( int CardId );
71 
72  static bool RemoveAllCaptureCards ( void );
73 
74  static bool RemoveCaptureCard ( int CardId );
75 
76  static int AddCaptureCard ( const QString &VideoDevice,
77  const QString &AudioDevice,
78  const QString &VBIDevice,
79  const QString &CardType,
81  const QString &HostName,
82  uint DVBSWFilter,
83  uint DVBSatType,
84  bool DVBWaitForSeqStart,
85  bool SkipBTAudio,
86  bool DVBOnDemand,
87  uint DVBDiSEqCType,
89  const QString &FirewireModel,
94  uint Contrast,
96  uint Colour,
97  uint Hue,
98  uint DiSEqCId,
99  bool DVBEITScan);
100 
101  static bool UpdateCaptureCard ( int CardId,
102  const QString &Setting,
103  const QString &Value );
104 
105  // Card Inputs
106 
107  static bool RemoveCardInput ( int CardInputId);
108 
109  static int AddCardInput ( uint CardId,
110  uint SourceId,
111  const QString &InputName,
112  const QString &ExternalCommand,
113  const QString &ChangerDevice,
114  const QString &ChangerModel,
115  const QString &HostName,
116  const QString &TuneChan,
117  const QString &StartChan,
118  const QString &DisplayName,
119  bool DishnetEIT,
120  uint RecPriority,
121  uint Quicktune,
122  uint SchedOrder,
123  uint LiveTVOrder);
124 
125  static bool UpdateCardInput ( int CardInputId,
126  const QString &Setting,
127  const QString &Value );
128 
129  static V2InputGroupList* GetUserInputGroupList ( void );
130 
131  static int AddUserInputGroup ( const QString & Name );
132 
133  static bool LinkInputGroup ( uint InputId,
134  uint InputGroupId );
135 
136  static bool UnlinkInputGroup ( uint InputId,
137  uint InputGroupId );
138 
139  static bool SetInputMaxRecordings ( uint InputId,
140  uint Max );
141 
142  static V2CardTypeList* GetCardTypeList ( void );
143 
144  static V2CaptureDeviceList* GetCaptureDeviceList ( const QString &CardType );
145 
146  static V2DiseqcTreeList* GetDiseqcTreeList ( void );
147 
148  static int AddDiseqcTree ( uint ParentId,
149  uint Ordinal,
150  const QString& Type,
151  const QString& SubType,
152  const QString& Description,
153  uint SwitchPorts,
154  float RotorHiSpeed,
155  float RotorLoSpeed,
156  const QString& RotorPositions,
157  int LnbLofSwitch,
158  int LnbLofHi,
159  int LnbLofLo,
160  int CmdRepeat,
161  bool LnbPolInv,
162  int Address,
163  uint ScrUserband,
164  uint ScrFrequency,
165  int ScrPin);
166 
167  static bool UpdateDiseqcTree ( uint DiSEqCId,
168  uint ParentId,
169  uint Ordinal,
170  const QString& Type,
171  const QString& SubType,
172  const QString& Description,
173  uint SwitchPorts,
174  float RotorHiSpeed,
175  float RotorLoSpeed,
176  const QString& RotorPositions,
177  int LnbLofSwitch,
178  int LnbLofHi,
179  int LnbLofLo,
180  int CmdRepeat,
181  bool LnbPolInv,
182  int Address,
183  uint ScrUserband,
184  uint ScrFrequency,
185  int ScrPin);
186 
187  static bool RemoveDiseqcTree ( uint DiSEqCId) ;
188 
189  static V2DiseqcConfigList* GetDiseqcConfigList ( void );
190 
191  static bool AddDiseqcConfig ( uint CardId,
192  uint DiSEqCId,
193  const QString& Value);
194 
195  static bool RemoveDiseqcConfig ( uint CardId);
196 
198  uint ProfileId,
199  bool OnlyInUse );
200 
201  static int AddRecProfile ( uint GroupId,
202  const QString& ProfileName,
203  const QString& VideoCodec,
204  const QString& AudioCodec );
205 
206  static bool DeleteRecProfile (uint ProfileId);
207 
208  static bool UpdateRecProfile ( uint ProfileId,
209  const QString& VideoCodec,
210  const QString& AudioCodec );
211 
212  static bool UpdateRecProfileParam ( uint ProfileId,
213  const QString& Name,
214  const QString& Value);
215 
216  private:
217  Q_DISABLE_COPY(V2Capture)
218 
219 };
220 
221 
222 #endif
InputName
Definition: videosource.cpp:2793
V2CardTypeList
Definition: v2captureCardList.h:58
V2Capture::~V2Capture
~V2Capture() override=default
V2Capture::UpdateCardInput
static bool UpdateCardInput(int CardInputId, const QString &Setting, const QString &Value)
Definition: v2capture.cpp:388
V2Capture::UpdateRecProfileParam
static bool UpdateRecProfileParam(uint ProfileId, const QString &Name, const QString &Value)
Definition: v2capture.cpp:1287
V2Capture::LinkInputGroup
static bool LinkInputGroup(uint InputId, uint InputGroupId)
Definition: v2capture.cpp:516
Brightness
Definition: channelsettings.cpp:483
Hue
Definition: channelsettings.cpp:505
v2recordingProfile.h
V2DiseqcConfigList
Definition: v2captureCardList.h:213
V2Capture::GetRecProfileGroupList
static V2RecProfileGroupList * GetRecProfileGroupList(uint GroupId, uint ProfileId, bool OnlyInUse)
Definition: v2capture.cpp:1071
V2Capture::AddCardInput
static int AddCardInput(uint CardId, uint SourceId, const QString &InputName, const QString &ExternalCommand, const QString &ChangerDevice, const QString &ChangerModel, const QString &HostName, const QString &TuneChan, const QString &StartChan, const QString &DisplayName, bool DishnetEIT, uint RecPriority, uint Quicktune, uint SchedOrder, uint LiveTVOrder)
Definition: v2capture.cpp:355
VideoDevice
Definition: videosource.cpp:794
V2Capture::RemoveAllCaptureCards
static bool RemoveAllCaptureCards(void)
Definition: v2capture.cpp:271
V2Capture::GetDiseqcTreeList
static V2DiseqcTreeList * GetDiseqcTreeList(void)
Definition: v2capture.cpp:707
VBIDevice
Definition: videosource.cpp:909
Colour
Definition: channelsettings.cpp:494
V2Capture::GetCaptureCardList
static V2CaptureCardList * GetCaptureCardList(const QString &HostName, const QString &CardType)
Definition: v2capture.cpp:78
V2CaptureCardList
Definition: v2captureCardList.h:21
V2Capture::UpdateCaptureCard
static bool UpdateCaptureCard(int CardId, const QString &Setting, const QString &Value)
Definition: v2capture.cpp:333
V2CaptureDeviceList
Definition: v2captureCardList.h:97
V2Capture::UpdateRecProfile
static bool UpdateRecProfile(uint ProfileId, const QString &VideoCodec, const QString &AudioCodec)
Definition: v2capture.cpp:1214
AudioRateLimit
Definition: videosource.cpp:1082
DVBEITScan
Definition: videosource.cpp:1242
V2Capture::SetInputMaxRecordings
static bool SetInputMaxRecordings(uint InputId, uint Max)
Definition: v2capture.cpp:535
V2InputGroupList
Definition: v2captureCardList.h:134
V2Capture::AddDiseqcConfig
static bool AddDiseqcConfig(uint CardId, uint DiSEqCId, const QString &Value)
Definition: v2capture.cpp:1027
V2RecProfileGroupList
Definition: v2recordingProfile.h:113
v2captureCardList.h
AudioDevice
Definition: videosource.cpp:1010
FirewireConnection
Definition: videosource.cpp:1356
V2CaptureCard
Definition: v2captureCard.h:20
V2Capture::GetUserInputGroupList
static V2InputGroupList * GetUserInputGroupList(void)
Definition: v2capture.cpp:468
LiveTVOrder
Definition: videosource.cpp:3145
FirewireSpeed
Definition: videosource.cpp:1369
Contrast
Definition: channelsettings.cpp:472
V2Capture::AddDiseqcTree
static int AddDiseqcTree(uint ParentId, uint Ordinal, const QString &Type, const QString &SubType, const QString &Description, uint SwitchPorts, float RotorHiSpeed, float RotorLoSpeed, const QString &RotorPositions, int LnbLofSwitch, int LnbLofHi, int LnbLofLo, int CmdRepeat, bool LnbPolInv, int Address, uint ScrUserband, uint ScrFrequency, int ScrPin)
Definition: v2capture.cpp:777
uint
unsigned int uint
Definition: compat.h:81
MythHTTPService
Definition: mythhttpservice.h:19
DVBTuningDelay
Definition: videosource.cpp:1258
V2Capture::V2Capture
V2Capture()
Definition: v2capture.cpp:69
FirewireModel
Definition: videosource.h:695
V2Capture::RemoveDiseqcTree
static bool RemoveDiseqcTree(uint DiSEqCId)
Definition: v2capture.cpp:956
CardType
Definition: videosource.h:327
mythhttpservice.h
Setting
QMap< QString, bool > Setting
Definition: mythsystemlegacy.h:58
DVBOnDemand
Definition: videosource.cpp:1227
V2Capture::RegisterCustomTypes
static void RegisterCustomTypes()
V2Capture::RemoveDiseqcConfig
static bool RemoveDiseqcConfig(uint CardId)
Definition: v2capture.cpp:1056
V2Capture::DeleteRecProfile
static bool DeleteRecProfile(uint ProfileId)
Definition: v2capture.cpp:1259
V2Capture::GetDiseqcConfigList
static V2DiseqcConfigList * GetDiseqcConfigList(void)
Definition: v2capture.cpp:989
Name
Definition: channelsettings.cpp:47
V2Capture
Definition: v2capture.h:36
V2DiseqcTreeList
Definition: v2captureCardList.h:177
V2Capture::UnlinkInputGroup
static bool UnlinkInputGroup(uint InputId, uint InputGroupId)
Definition: v2capture.cpp:526
V2Capture::GetCardTypeList
static V2CardTypeList * GetCardTypeList(void)
Definition: v2capture.cpp:398
V2Capture::RemoveCaptureCard
static bool RemoveCaptureCard(int CardId)
Definition: v2capture.cpp:276
V2Capture::UpdateDiseqcTree
static bool UpdateDiseqcTree(uint DiSEqCId, uint ParentId, uint Ordinal, const QString &Type, const QString &SubType, const QString &Description, uint SwitchPorts, float RotorHiSpeed, float RotorLoSpeed, const QString &RotorPositions, int LnbLofSwitch, int LnbLofHi, int LnbLofLo, int CmdRepeat, bool LnbPolInv, int Address, uint ScrUserband, uint ScrFrequency, int ScrPin)
Definition: v2capture.cpp:875
V2Capture::AddCaptureCard
static int AddCaptureCard(const QString &VideoDevice, const QString &AudioDevice, const QString &VBIDevice, const QString &CardType, uint AudioRateLimit, const QString &HostName, uint DVBSWFilter, uint DVBSatType, bool DVBWaitForSeqStart, bool SkipBTAudio, bool DVBOnDemand, uint DVBDiSEqCType, uint FirewireSpeed, const QString &FirewireModel, uint FirewireConnection, uint SignalTimeout, uint ChannelTimeout, uint DVBTuningDelay, uint Contrast, uint Brightness, uint Colour, uint Hue, uint DiSEqCId, bool DVBEITScan)
Definition: v2capture.cpp:290
V2Capture::AddUserInputGroup
static int AddUserInputGroup(const QString &Name)
Definition: v2capture.cpp:499
SignalTimeout
Definition: videosource.cpp:1033
V2Capture::GetCaptureDeviceList
static V2CaptureDeviceList * GetCaptureDeviceList(const QString &CardType)
Definition: v2capture.cpp:587
ChannelTimeout
Definition: videosource.cpp:1058
V2Capture::GetCaptureCard
static V2CaptureCard * GetCaptureCard(int CardId)
Definition: v2capture.cpp:183
V2Capture::AddRecProfile
static int AddRecProfile(uint GroupId, const QString &ProfileName, const QString &VideoCodec, const QString &AudioCodec)
Definition: v2capture.cpp:1159
V2Capture::RemoveCardInput
static bool RemoveCardInput(int CardInputId)
Definition: v2capture.cpp:345