use ChoiceBox for audio selection (audio tracks are now sorted by description)
[enigma2.git] / lib / dvb / frontendparms.h
1 #ifndef __lib_dvb_frontendparms_h
2 #define __lib_dvb_frontendparms_h
3
4 class SatelliteDeliverySystemDescriptor;
5 class CableDeliverySystemDescriptor;
6 class TerrestrialDeliverySystemDescriptor;
7
8 struct eDVBFrontendParametersSatellite
9 {
10 #ifndef SWIG
11         void set(const SatelliteDeliverySystemDescriptor  &);
12 #endif
13         struct Polarisation
14         {
15                 enum {
16                         Horizontal, Vertical, CircularLeft, CircularRight
17                 };
18         };
19         struct Inversion
20         {
21                 enum {
22                         Off, On, Unknown
23                 };
24         };
25         struct FEC
26         {
27                 enum {
28                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15
29                 };
30         };
31         bool no_rotor_command_on_tune;
32         unsigned int frequency, symbol_rate;
33         int polarisation, fec, inversion, orbital_position;
34 };
35
36 struct eDVBFrontendParametersCable
37 {
38 #ifndef SWIG
39         void set(const CableDeliverySystemDescriptor  &);
40 #endif
41         struct Inversion
42         {
43                 enum {
44                         Off, On, Unknown
45                 };
46         };
47         struct FEC
48         {
49                 enum {
50                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15
51                 };
52         };
53         struct Modulation {
54                 enum {
55                         Auto, QAM16, QAM32, QAM64, QAM128, QAM256
56                 };
57         };
58         unsigned int frequency, symbol_rate;
59         int modulation, inversion, fec_inner;
60 };
61
62 struct eDVBFrontendParametersTerrestrial
63 {
64 #ifndef SWIG
65  void set(const TerrestrialDeliverySystemDescriptor  &);
66 #endif
67         struct Bandwidth {
68                 enum {
69                         Bw8MHz, Bw7MHz, Bw6MHz, /*Bw5MHz,*/ BwAuto
70                 }; // Bw5Mhz nyi (compatibilty with enigma1)
71         };
72         struct FEC
73         {
74                 enum {
75                         f1_2, f2_3, f3_4, f5_6, f7_8, fAuto
76                 };
77         };
78         struct TransmissionMode {
79                 enum {
80                         TM2k, TM8k, /*TM4k,*/ TMAuto
81                 }; // TM4k nyi (compatibility with enigma1)
82         };
83         struct GuardInterval {
84                 enum {
85                         GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_Auto
86                 };
87         };
88         struct Hierarchy {
89                 enum {
90                         HNone, H1, H2, H4, HAuto
91                 };
92         };
93         struct Modulation {
94                 enum {
95                         QPSK, QAM16, QAM64, Auto
96                 };
97         };
98         struct Inversion
99         {
100                 enum {
101                         Off, On, Unknown
102                 };
103         };
104         unsigned int frequency;
105         int bandwidth;
106         int code_rate_HP, code_rate_LP;
107         int modulation;
108         int transmission_mode;
109         int guard_interval;
110         int hierarchy;
111         int inversion;
112 };
113
114 #endif