Memory Management Improved
[pierogi] / keysets / magnavox.cpp
1 #include "magnavox.h"
2 #include "protocols/rc6protocol.h"
3 #include "protocols/rc5protocol.h"
4 #include "protocols/lircprotocol.h"
5
6 MagnavoxDVD1::MagnavoxDVD1(
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "DVD Keyset 1",
10       Magnavox_Make,
11       index)
12 {
13   addControlledDevice(Magnavox_Make, "MDV450", DVD_Device);
14 }
15
16
17 void MagnavoxDVD1::populateProtocol(
18   QObject *guiObject)
19 {
20   if (threadableProtocol)
21   {
22     // If the pointer is not null, the keyset must already be populated.
23     return;
24   }
25
26   threadableProtocol = new RC6Protocol(guiObject, index, 0x04);
27
28   addKey("0", Zero_Key, 0x00, 8);
29   addKey("1", One_Key, 0x01, 8);
30   addKey("2", Two_Key, 0x02, 8);
31   addKey("3", Three_Key, 0x03, 8);
32   addKey("4", Four_Key, 0x04, 8);
33   addKey("5", Five_Key, 0x05, 8);
34   addKey("6", Six_Key, 0x06, 8);
35   addKey("7", Seven_Key, 0x07, 8);
36   addKey("8", Eight_Key, 0x08, 8);
37   addKey("9", Nine_Key, 0x09, 8);
38   addKey("power", Power_Key, 0x0C, 8);
39   addKey("mute", Mute_Key, 0x0D, 8);
40   addKey("display", Info_Key, 0x0F, 8);
41   addKey("repeat", Repeat_Key, 0x1D, 8);
42   addKey(">>", FastForward_Key, 0x20, 8);
43   addKey("<<", Rewind_Key, 0x21, 8);
44   addKey("play", Play_Key, 0x2C, 8);
45   addKey("pause", Pause_Key, 0x30, 8);
46   addKey("stop", Stop_Key, 0x31, 8);
47   addKey("a-b", RepeatAB_Key, 0x3B, 8);
48   addKey("subtitle", Captions_Key, 0x4B, 8);
49   addKey("audio", Audio_Key, 0x4E, 8);
50   addKey("disc_Menu", DiscMenu_Key, 0x54, 8);
51   addKey("^", Up_Key, 0x58, 8);
52   addKey("<", Left_Key, 0x5A, 8);
53   addKey(">", Right_Key, 0x5B, 8);
54   addKey("v", Down_Key, 0x5C, 8);
55   addKey("ok", Select_Key, 0x5D, 8);
56   addKey("system_menu", Menu_Key, 0x82, 8);
57   addKey("title", DiscTitle_Key, 0x83, 8);
58   addKey("angle", Angle_Key, 0x85, 8);
59   addKey("preview", Unmapped_Key, 0xD5, 8);
60   addKey("zoom", Zoom_Key, 0xF7, 8);
61 }
62
63
64 MagnavoxVCR1::MagnavoxVCR1(
65   unsigned int index)
66   : PIRKeysetMetaData(
67       "VCR Keyset 1",
68       Magnavox_Make,
69       index)
70 {
71 }
72
73
74 void MagnavoxVCR1::populateProtocol(
75   QObject *guiObject)
76 {
77   if (threadableProtocol)
78   {
79     // If the pointer is not null, the keyset must already be populated.
80     return;
81   }
82
83   threadableProtocol = new RC5Protocol(guiObject, index);
84
85   addKey("Power", Power_Key, 0x114C, 13);
86   addKey("0", Zero_Key, 0x1140, 13);
87   addKey("1", One_Key, 0x1141, 13);
88   addKey("2", Two_Key, 0x1142, 13);
89   addKey("3", Three_Key, 0x1143, 13);
90   addKey("4", Four_Key, 0x1144, 13);
91   addKey("5", Five_Key, 0x1145, 13);
92   addKey("6", Six_Key, 0x1146, 13);
93   addKey("7", Seven_Key, 0x1147, 13);
94   addKey("8", Eight_Key, 0x1148, 13);
95   addKey("9", Nine_Key, 0x1149, 13);
96   addKey("OneHundred", PlusOneHundred_Key, 0x114A, 13);
97   addKey("CancelAngle", Unmapped_Key, 0x1171, 13);
98   addKey("ChMinus", ChannelDown_Key, 0x1172, 13);
99   addKey("ChPlus", ChannelUp_Key, 0x1174, 13);
100   addKey("IndexTC", Unmapped_Key, 0x0170, 13);
101   addKey("Menu", Menu_Key, 0x0152, 13);
102   addKey("News", Unmapped_Key, 0x041A, 13);
103   addKey("Night", Unmapped_Key, 0x143E, 13);
104   addKey("OK", Select_Key, 0x0157, 13);
105   addKey("Pause", Pause_Key, 0x1169, 13);
106   addKey("Rew", Rewind_Key, 0x1172, 13);
107   addKey("FF", FastForward_Key, 0x1174, 13);
108   addKey("Play", Play_Key, 0x1175, 13);
109   addKey("Stop", Stop_Key, 0x1176, 13);
110   addKey("Record", Record_Key, 0x1177, 13);
111   addKey("UP", Up_Key, 0x0150, 13);
112   addKey("DOWN", Down_Key, 0x0151, 13);
113   addKey("LEFT", Left_Key, 0x0155, 13);
114   addKey("RIGHT", Right_Key, 0x0156, 13);
115   addKey("VOL+", VolumeUp_Key, 0x1410, 13);
116   addKey("VOL-", VolumeDown_Key, 0x1411, 13);
117   addKey("Mute", Mute_Key, 0x100D, 13);
118   addKey("TvPower", Unmapped_Key, 0x100C, 13);
119   addKey("TvVolumeUp", Unmapped_Key, 0x1010, 13);
120   addKey("TvVolumeDn", Unmapped_Key, 0x1011, 13);
121   addKey("TvChUp", Unmapped_Key, 0x1020, 13);
122   addKey("TvChDn", Unmapped_Key, 0x1021, 13);
123   addKey("SkipSrch", Unmapped_Key, 0x016A, 13);
124   addKey("FrameAdvance", StepForward_Key, 0x016B, 13);
125   addKey("VcrChUp", Unmapped_Key, 0x1160, 13);
126   addKey("VcrChDn", Unmapped_Key, 0x1161, 13);
127   addKey("Menu", Menu_Key, 0x115D, 13);
128   addKey("Slow", Slow_Key, 0x1168, 13);
129   addKey("Status", Info_Key, 0x114F, 13);
130   addKey("Clear", Clear_Key, 0x1171, 13);
131   addKey("VarSlowUp", SlowPlus_Key, 0x1166, 13);
132   addKey("VarSlowDn", SlowMinus_Key, 0x1165, 13);
133   addKey("Qtr", Unmapped_Key, 0x1167, 13);
134   addKey("TrackUp", TrackingPlus_Key, 0x014D, 13);
135   addKey("TrackDn", TrackingMinus_Key, 0x014E, 13);
136   addKey("GoTo", Unmapped_Key, 0x1173, 13);
137   addKey("Memo", Unmapped_Key, 0x117B, 13);
138   addKey("Speed", VHSSpeed_Key, 0x117A, 13);
139   addKey("VcrTv", Unmapped_Key, 0x117E, 13);
140   addKey("2xPlay", Unmapped_Key, 0x116A, 13);
141 }
142
143
144 MagnavoxConverterBox1::MagnavoxConverterBox1(
145   unsigned int index)
146   : PIRKeysetMetaData(
147       "Settop Box Keyset 1",
148       Magnavox_Make,
149       index)
150 {
151   addControlledDevice(Magnavox_Make, "TB100MG9", Other_Device);
152 }
153
154
155 void MagnavoxConverterBox1::populateProtocol(
156   QObject *guiObject)
157 {
158   if (threadableProtocol)
159   {
160     // If the pointer is not null, the keyset must already be populated.
161     return;
162   }
163
164   LIRCProtocol *lp = new LIRCProtocol(
165     guiObject,
166     index,
167     894, 795,
168     894, 2537,
169     33751, false);
170
171   threadableProtocol = lp;
172
173   lp->setHeaderPair(3514, 3396);
174   lp->setTrailerPulse(894);
175
176   addKey("KEY_POWER", Power_Key, 0x541ABE, 24);
177   addKey("KEY_1", One_Key, 0x57EA81, 24);
178   addKey("KEY_2", Two_Key, 0x561A9E, 24);
179   addKey("KEY_3", Three_Key, 0x551AAE, 24);
180   addKey("KEY_4", Four_Key, 0x571A8E, 24);
181   addKey("KEY_5", Five_Key, 0x549AB6, 24);
182   addKey("KEY_6", Six_Key, 0x569A96, 24);
183   addKey("KEY_7", Seven_Key, 0x559AA6, 24);
184   addKey("KEY_8", Eight_Key, 0x579A86, 24);
185   addKey("KEY_9", Nine_Key, 0x545ABA, 24);
186   addKey("KEY_0", Zero_Key, 0x565A9A, 24);
187   addKey("KEY_OK", Select_Key, 0x55DAA2, 24);
188   addKey("KEY_UP", Up_Key, 0x547AB8, 24);
189   addKey("KEY_DOWN", Down_Key, 0x567A98, 24);
190   addKey("KEY_LEFT", Left_Key, 0x578A87, 24);
191   addKey("KEY_RIGHT", Right_Key, 0x558AA7, 24);
192   addKey("KEY_CHANNELUP", ChannelUp_Key, 0x542ABD, 24);
193   addKey("KEY_CHANNELDOWN", ChannelDown_Key, 0x544ABB, 24);
194   addKey("KEY_EPG", Guide_Key, 0x54FAB0, 24);
195   addKey("KEY_AUDIO", Unmapped_Key, 0x557AA8, 24);
196   addKey("KEY_DOT", Unmapped_Key, 0x56DA92, 24);
197   addKey("KEY_SETUP", Menu_Key, 0x57DA82, 24);
198   addKey("KEY_PAUSE", Pause_Key, 0x56FA90, 24);
199   addKey("KEY_LAST", Unmapped_Key, 0x55CAA3, 24);
200   addKey("KEY_BACK", PrevChannel_Key, 0x577A88, 24);
201   addKey("KEY_DISPLAY", Info_Key, 0x57CA83, 24);
202 }
203
204
205 MagnavoxTV1::MagnavoxTV1(
206   unsigned int index)
207   : PIRKeysetMetaData(
208       "TV(?) Keyset 1",
209       Magnavox_Make,
210       index)
211 {
212 }
213
214
215 void MagnavoxTV1::populateProtocol(
216   QObject *guiObject)
217 {
218   if (threadableProtocol)
219   {
220     // If the pointer is not null, the keyset must already be populated.
221     return;
222   }
223
224   threadableProtocol = new RC5Protocol(guiObject, index, 0x40);
225
226   addKey("Zero", Zero_Key, 0x00, 6);
227   addKey("One", One_Key, 0x01, 6);
228   addKey("Two", Two_Key, 0x02, 6);
229   addKey("Three", Three_Key, 0x03, 6);
230   addKey("Four", Four_Key, 0x04, 6);
231   addKey("Five", Five_Key, 0x05, 6);
232   addKey("Six", Six_Key, 0x06, 6);
233   addKey("Seven", Seven_Key, 0x07, 6);
234   addKey("Eight", Eight_Key, 0x08, 6);
235   addKey("Nine", Nine_Key, 0x09, 6);
236   addKey("Power", Power_Key, 0x0C, 6);
237   addKey("Mute", Mute_Key, 0x0D, 6);
238   addKey("Reset", Reset_Key, 0x0E, 6);
239   addKey("Status", Unmapped_Key, 0x0F, 6);
240   addKey("VolUp", VolumeUp_Key, 0x10, 6);
241   addKey("VolDown", VolumeDown_Key, 0x11, 6);
242   addKey("Play", Play_Key, 0x1C, 6);
243   addKey("Stop", Stop_Key, 0x1D, 6);
244   addKey("ChUp", ChannelUp_Key, 0x20, 6);
245   addKey("ChDown", ChannelDown_Key, 0x21, 6);
246   addKey("PrevCh", PrevChannel_Key, 0x22, 6);
247   addKey("Sleep", Sleep_Key, 0x26, 6);
248   addKey("Plus", Right_Key, 0x2B, 6);
249   addKey("FF", FastForward_Key, 0x2B, 6);
250   addKey("Minus", Left_Key, 0x2C, 6);
251   addKey("Rev", Rewind_Key, 0x2C, 6);
252   addKey("Display", Info_Key, 0x2E, 6);
253   addKey("Pause", Pause_Key, 0x3B, 6);
254 }