Memory Management Improved
[pierogi] / keysets / cambridge.cpp
1 #include "cambridge.h"
2 #include "protocols/necprotocol.h"
3 #include "protocols/necxprotocol.h"
4 #include "protocols/rc5protocol.h"
5
6
7 CambridgeCD1::CambridgeCD1(
8   unsigned int index)
9   : PIRKeysetMetaData(
10       "CD Keyset 1",
11       Cambridge_Make,
12       index)
13 {
14 }
15
16
17 void CambridgeCD1::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 NECProtocol(guiObject, index, true, true);
27
28   setPreData(0x4D84, 16);
29
30   addKey("RANDOM", Random_Key, 0x00, 8);
31   addKey("REPEAT", Repeat_Key, 0x01, 8);
32   addKey("REMAIN", Unmapped_Key, 0x02, 8);
33   addKey("PROG", Program_Key, 0x03, 8);
34   addKey("INTRO", Unmapped_Key, 0x04, 8);
35   addKey("SPACE", Unmapped_Key, 0x05, 8);
36   addKey("A<>B", RepeatAB_Key, 0x06, 8);
37   addKey("1", One_Key, 0x09, 8);
38   addKey("<<", Rewind_Key, 0x0A, 8);
39   addKey("PAUSE", Pause_Key, 0x0B, 8);
40   addKey("4", Four_Key, 0x0D, 8);
41   addKey("|<<", Previous_Key, 0x0E, 8);
42   addKey("STOP", Stop_Key, 0x0F, 8);
43
44   addKey("OPEN/CLOSE", Eject_Key, 0x10, 8);
45   addKey("7", Seven_Key, 0x11, 8);
46   addKey("10", Zero_Key, 0x12, 8);
47   addKey("PLAY", Play_Key, 0x13, 8);
48   addKey("8", Eight_Key, 0x15, 8);
49   addKey("+10", DoubleDigit_Key, 0x16, 8);
50   addKey("9", Nine_Key, 0x17, 8);
51   addKey("5", Five_Key, 0x19, 8);
52   addKey(">>|", Next_Key, 0x1A, 8);
53   addKey("6", Six_Key, 0x1B, 8);
54   addKey("2", Two_Key, 0x1D, 8);
55   addKey(">>", FastForward_Key, 0x1E, 8);
56   addKey("3", Three_Key, 0x1F, 8);
57 }
58
59
60 CambridgeAudio1::CambridgeAudio1(
61   unsigned int index)
62   : PIRKeysetMetaData(
63       "Audio Keyset 1",
64       Cambridge_Make,
65       index)
66 {
67 }
68
69
70 void CambridgeAudio1::populateProtocol(
71   QObject *guiObject)
72 {
73   if (threadableProtocol)
74   {
75     // If the pointer is not null, the keyset must already be populated.
76     return;
77   }
78
79   threadableProtocol = new NECXProtocol(guiObject, index, true);
80
81   setPreData(0xA0A0, 16);
82
83   addKey("1", One_Key, 0x01, 8);
84   addKey("5", Five_Key, 0x02, 8);
85   addKey("9", Nine_Key, 0x03, 8);
86   addKey("rew", Rewind_Key, 0x04, 8);
87   addKey("prev", Previous_Key, 0x05, 8);
88   addKey("intro", Unmapped_Key, 0x06, 8);
89   addKey("eject", Eject_Key, 0x07, 8);
90   addKey("2", Two_Key, 0x09, 8);
91   addKey("6", Six_Key, 0x0A, 8);
92   addKey("0", Zero_Key, 0x0B, 8);
93   addKey("fwd", FastForward_Key, 0x0C, 8);
94   addKey("next", Next_Key, 0x0D, 8);
95   addKey("rnd", Random_Key, 0x0E, 8);
96   addKey("remain", Unmapped_Key, 0x0F, 8);
97
98   addKey("3", Three_Key, 0x11, 8);
99   addKey("7", Seven_Key, 0x12, 8);
100   addKey("onetwodash", DoubleDigit_Key, 0x13, 8);
101   addKey("play", Play_Key, 0x15, 8);
102   addKey("repeat", Repeat_Key, 0x16, 8);
103   addKey("ab", RepeatAB_Key, 0x17, 8);
104   addKey("4", Four_Key, 0x19, 8);
105   addKey("8", Eight_Key, 0x1A, 8);
106   addKey("prog", Program_Key, 0x1B, 8);
107   addKey("stop", Stop_Key, 0x1C, 8);
108   addKey("pause", Pause_Key, 0x1D, 8);
109   addKey("skip", NextDisc_Key, 0x1E, 8);
110
111   addKey("light", Info_Key, 0x47, 8);
112 }
113
114
115 CambridgeAudio2::CambridgeAudio2(
116   unsigned int index)
117   : PIRKeysetMetaData(
118       "Audio Keyset 2",
119       Cambridge_Make,
120       index)
121 {
122 }
123
124
125 void CambridgeAudio2::populateProtocol(
126   QObject *guiObject)
127 {
128   if (threadableProtocol)
129   {
130     // If the pointer is not null, the keyset must already be populated.
131     return;
132   }
133
134   threadableProtocol = new NECXProtocol(guiObject, index, true);
135
136   setPreData(0xC0C0, 16);
137
138   addKey("SPK_SETUP", Unmapped_Key, 0x01, 8);
139   addKey("PLII_NEO6", Unmapped_Key, 0x02, 8);
140   addKey("VOLUME_UP", VolumeUp_Key, 0x03, 8);
141   addKey("VOLUME_UP", Up_Key, 0x03, 8);
142   addKey("DISPLAY", Info_Key, 0x04, 8);
143   addKey("LEFT", Left_Key, 0x06, 8);
144   addKey("TEST_TONE", Unmapped_Key, 0x07, 8);
145   addKey("DSP_MODE", Unmapped_Key, 0x09, 8);
146   addKey("BASS_TRIBLE", Unmapped_Key, 0x0A, 8);
147   addKey("POWER", Power_Key, 0x0C, 8);
148   addKey("CH_SELECT", Unmapped_Key, 0x0D, 8);
149   addKey("STEREO_MONO", Audio_Key, 0x0E, 8);
150   addKey("6.1_DIRECT", Unmapped_Key, 0x0F, 8);
151
152   addKey("I-O", Unmapped_Key, 0x11, 8);
153   addKey("SUB_ON_OFF", Unmapped_Key, 0x12, 8);
154   addKey("DYNAMIC", Unmapped_Key, 0x13, 8);
155   addKey("MUTE", Mute_Key, 0x14, 8);
156   addKey("RIGHT", Right_Key, 0x15, 8);
157   addKey("PTY", Unmapped_Key, 0x16, 8);
158   addKey("DDEX_DTSES", Unmapped_Key, 0x17, 8);
159   addKey("STEREO", Unmapped_Key, 0x1A, 8);
160   addKey("APS", Unmapped_Key, 0x1B, 8);
161   addKey("TUNER_AM_FM", TunerBand_Key, 0x1C, 8);
162   addKey("STORE", Memory_Key, 0x1D, 8);
163   addKey("MODE", Mode_Key, 0x1E, 8);
164   addKey("VOLUME_DOWN", VolumeDown_Key, 0x1F, 8);
165   addKey("VOLUME_DOWN", Down_Key, 0x1F, 8);
166   addKey("LFE_TRIM", Unmapped_Key, 0x20, 8);
167   addKey("ENTER", Select_Key, 0x21, 8);
168
169   addKey("DVD", DVDInput_Key, 0x22, 8);
170   addKey("VIDEO1", Unmapped_Key, 0x23, 8);
171   addKey("VIDEO2", Unmapped_Key, 0x24, 8);
172   addKey("VIDEO3", Unmapped_Key, 0x25, 8);
173   addKey("TAPE_MD_CDR", TapeInput_Key, 0x26, 8);
174   addKey("CD_AUX", AuxInput_Key, 0x27, 8);
175
176   addKey("INPUT_MODE", Unmapped_Key, 0x60, 8);
177   addKey("DELAY", Unmapped_Key, 0xA0, 8);
178 }
179
180
181 CambridgeAudio3::CambridgeAudio3(
182   unsigned int index)
183   : PIRKeysetMetaData(
184       "Audio Keyset 3",
185       Cambridge_Make,
186       index)
187 {
188 }
189
190
191 void CambridgeAudio3::populateProtocol(
192   QObject *guiObject)
193 {
194   if (threadableProtocol)
195   {
196     // If the pointer is not null, the keyset must already be populated.
197     return;
198   }
199
200   threadableProtocol = new RC5Protocol(guiObject, index);
201
202   addKey("Tape_Mon", TapeInput_Key, 0x1400, 13);
203   addKey("DVD", DVDInput_Key, 0x1401, 13);
204   addKey("AV_MD", MDInput_Key, 0x1402, 13);
205   addKey("Tuner_DAB", TunerInput_Key, 0x1403, 13);
206   addKey("Aux_Phono", AuxInput_Key, 0x1404, 13);
207   addKey("CD", CDInput_Key, 0x1405, 13);
208   addKey("Standby", Power_Key, 0x140C, 13);
209   addKey("Mute", Mute_Key, 0x140D, 13);
210   addKey("Power_On", PowerOn_Key, 0x140E, 13);
211   addKey("Power_Off", PowerOff_Key, 0x140F, 13);
212   addKey("Vol_Up", VolumeUp_Key, 0x1410, 13);
213   addKey("Vol_Down", VolumeDown_Key, 0x1411, 13);
214   addKey("Brightness", Unmapped_Key, 0x1412, 13); // dimmer?
215   addKey("Source_Up", Unmapped_Key, 0x1413, 13);
216   addKey("Source_Down", Unmapped_Key, 0x1414, 13);
217   addKey("Clip_Off", Unmapped_Key, 0x1415, 13);
218   addKey("Clip_On", Unmapped_Key, 0x1416, 13);
219   addKey("Mute_On", Unmapped_Key, 0x1432, 13);
220   addKey("Mute_Off", Unmapped_Key, 0x1433, 13);
221 }
222
223
224 CambridgeDVD1::CambridgeDVD1(
225   unsigned int index)
226   : PIRKeysetMetaData(
227       "DVD Keyset 1",
228       Cambridge_Make,
229       index)
230 {
231   addControlledDevice(Cambridge_Make, "DVD53", DVD_Device);
232   addControlledDevice(Cambridge_Make, "DVD55", DVD_Device);
233   addControlledDevice(Cambridge_Make, "DVD57", DVD_Device);
234   addControlledDevice(Cambridge_Make, "DVD59B", DVD_Device);
235 }
236
237
238 void CambridgeDVD1::populateProtocol(
239   QObject *guiObject)
240 {
241   if (threadableProtocol)
242   {
243     // If the pointer is not null, the keyset must already be populated.
244     return;
245   }
246
247   threadableProtocol = new NECProtocol(guiObject, index, false, true);
248
249   setPreData(0x07, 8);
250
251   addKey("STANDBY", Power_Key, 0x01, 8);
252   addKey("SF", Unmapped_Key, 0x04, 8);
253   addKey("0", Zero_Key, 0x05, 8);
254   addKey("EQ", Unmapped_Key, 0x06, 8);
255   addKey("PAL/NTSC", Unmapped_Key, 0x07, 8);
256   addKey("<<", Rewind_Key, 0x08, 8);
257   addKey("1", One_Key, 0x09, 8);
258   addKey(">>", FastForward_Key, 0x0A, 8);
259   addKey("|<<", Previous_Key, 0x0B, 8);
260   addKey("PSM", Unmapped_Key, 0x0C, 8);
261   addKey("5", Five_Key, 0x0D, 8);
262   addKey("REPEAT", Repeat_Key, 0x0E, 8);
263   addKey("A-B", RepeatAB_Key, 0x0F, 8);
264
265   addKey("SLOW", Slow_Key, 0x10, 8);
266   addKey("9", Nine_Key, 0x11, 8);
267   addKey("MODE", Mode_Key, 0x12, 8);
268   addKey("MUTE", Mute_Key, 0x13, 8);
269   addKey("PLAY", Play_Key, 0x14, 8);
270   addKey("AUDIO", Audio_Key, 0x15, 8);
271   addKey("PAUSE", Pause_Key, 0x16, 8);
272   addKey("STOP", Stop_Key, 0x17, 8);
273   addKey("TITLE", DiscTitle_Key, 0x19, 8);
274   addKey("SETUP", Menu_Key, 0x1D, 8);
275
276   addKey("EJECT", Eject_Key, 0x43, 8);
277   addKey("OSD", Info_Key, 0x46, 8);
278   addKey("2", Two_Key, 0x48, 8);
279   addKey("3", Three_Key, 0x49, 8);
280   addKey(">>|", Next_Key, 0x4A, 8);
281   addKey("4", Four_Key, 0x4B, 8);
282   addKey("6", Six_Key, 0x4C, 8);
283   addKey("7", Seven_Key, 0x4D, 8);
284   addKey("CLEAR", Clear_Key, 0x4E, 8);
285   addKey("8", Eight_Key, 0x4F, 8);
286
287   addKey("10+", DoubleDigit_Key, 0x51, 8);
288   addKey("VOL-", VolumeDown_Key, 0x52, 8);
289   addKey("GOTO", Unmapped_Key, 0x53, 8);
290   addKey("SUBTITLE", Captions_Key, 0x54, 8);
291   addKey("ANGLE", Angle_Key, 0x55, 8);
292   addKey("VOL+", VolumeUp_Key, 0x56, 8);
293   addKey("ZOOM", Zoom_Key, 0x57, 8);
294   addKey("left", Left_Key, 0x58, 8);
295   addKey("up", Up_Key, 0x59, 8);
296   addKey("MENU", DiscMenu_Key,0x5B, 8);
297   addKey("down", Down_Key, 0x5C, 8);
298   addKey("SELECT", Select_Key, 0x5D, 8);
299   addKey("right", Right_Key, 0x5E, 8);
300   addKey("RETURN", Exit_Key, 0x5F, 8);
301 }