Fix for volume rocker bug
[pierogi] / keysets / nad.cpp
1 #include "nad.h"
2 #include "protocols/necprotocol.h"
3 #include "protocols/necxprotocol.h"
4 #include "protocols/sircprotocol.h"
5
6
7 NADAudio1::NADAudio1(
8   unsigned int index)
9   : PIRKeysetMetaData(
10       "Receiver Component 1",
11       NAD_Make,
12       index)
13 {
14 }
15
16
17 void NADAudio1::populateProtocol(
18   QObject *guiObject)
19 {
20   if (threadableProtocol)
21   {
22     // Keyset already populated.
23     return;
24   }
25
26   threadableProtocol = new NECProtocol(guiObject, index, true, true);
27
28   setPreData(0x7C87, 16);
29
30   addKey("CD-Play", Play_Key, 0x01, 8);
31   addKey("CD-Stop", Stop_Key, 0x02, 8);
32   addKey("CD-Previous", Previous_Key, 0x05, 8);
33   addKey("CD-Next", Next_Key, 0x06, 8);
34   addKey("disp-info", Info_Key, 0x08, 8);
35   addKey("rpt", Repeat_Key, 0x0A, 8);
36
37   addKey("CD-Disc", NextDisc_Key, 0x17, 8);
38   addKey("SLEEP", Sleep_Key, 0x20, 8);
39   addKey("Tuner-Bank", Unmapped_Key, 0x24, 8);
40   addKey("Power-On", PowerOn_Key, 0x25, 8);
41   addKey("RCVR_LEVEL", Unmapped_Key, 0x2B, 8);
42   addKey("EXT._5.1", Unmapped_Key, 0x2E, 8);
43   addKey("RCVR_DYN.R", NoiseReduction_Key, 0x2F, 8);
44
45   addKey("VIDEO_4", Unmapped_Key, 0x30, 8);
46   addKey("VIDEO_5", Unmapped_Key, 0x31, 8);
47   addKey("RCVR_TUNE_MODE", Mode_Key, 0x33, 8);
48   addKey("CD-Pause", Pause_Key, 0x4A, 8);
49
50   addKey("TapeA-Stop", Unmapped_Key, 0x52, 8);
51   addKey("TapeA-Play", Unmapped_Key, 0x53, 8);
52   addKey("TapeA-Rev", Unmapped_Key, 0x54, 8);
53   addKey("TapeA-Record", Unmapped_Key, 0x55, 8);
54   addKey("TapeA-FastForward", Unmapped_Key, 0x56, 8);
55   addKey("TapeA-Rewind", Unmapped_Key, 0x57, 8);
56
57   addKey("Standby", Power_Key, 0x80, 8);  // "RCVR_POWER"
58   addKey("Input-TunerFM", Unmapped_Key, 0x81, 8);
59   addKey("Input-TunerAM", Unmapped_Key, 0x82, 8);
60   addKey("Input-CD", CDInput_Key, 0x85, 8);
61   addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
62   addKey("Input-Disc", PhonoInput_Key, 0x89, 8);
63   addKey("RCVR_1", One_Key, 0x8A, 8);
64   addKey("RCVR_5", Five_Key, 0x8B, 8);
65   addKey("VolumeDown", VolumeDown_Key, 0x8C, 8);
66   addKey("Input-Tape1", TapeInput_Key, 0x8D, 8);
67   addKey("RCVR_2", Two_Key, 0x8E, 8);
68   addKey("RCVR_6", Six_Key, 0x8F, 8);
69
70   addKey("Input-Tape2", Unmapped_Key, 0x91, 8);
71   addKey("RCVR_3", Three_Key, 0x92, 8);
72   addKey("RCVR_7", Seven_Key, 0x93, 8);
73   addKey("Mute", Mute_Key, 0x94, 8); // "RCVR_MUTE_ENTER"
74   addKey("RCVR_4", Four_Key, 0x96, 8);
75   addKey("RCVR_8", Eight_Key, 0x97, 8);
76   addKey("RCVR_9", Nine_Key, 0x98, 8);
77   addKey("TapeB-Record", Unmapped_Key, 0x9A, 8);
78   addKey("Input-Aux", AuxInput_Key, 0x9B, 8);
79   addKey("TapeB-Play", Unmapped_Key, 0x9C, 8);
80   addKey("TapeB-FastForward", Unmapped_Key, 0x9D, 8);
81   addKey("TapeB-Rewind", Unmapped_Key, 0x9E, 8);
82   addKey("TapeB-Stop", Unmapped_Key, 0x9F, 8);
83
84   addKey("Input-Video2", SatInput_Key, 0xC0, 8); // "SAT"
85   addKey("Input-Video3", VCRInput_Key, 0xC1, 8); // "VCR"
86   addKey("Input-Video1", DVDInput_Key, 0xC2, 8); // "DVD", "LD"
87   addKey("RCVR_0", Zero_Key, 0xC7, 8);
88   addKey("Power-Off", PowerOff_Key, 0xC8, 8);
89   addKey("RCVR_SURR.", Surround_Key, 0xCC, 8);
90   addKey("RCVR_TEST", Unmapped_Key, 0xCD, 8);
91   addKey("Speakers-A", Unmapped_Key, 0xCE, 8);
92   addKey("Speakers-B", Unmapped_Key, 0xCF, 8);
93
94   addKey("Tuner-PresetLeft", ChannelDown_Key, 0xD1, 8);
95   addKey("Tuner-PresetRight", ChannelUp_Key, 0xD2, 8);
96   addKey("FM/AM", TunerBand_Key, 0xDD, 8); // "tuner"
97   addKey("FM/AM", TunerInput_Key, 0xDD, 8); // "tuner"
98   addKey("TapeB-Rev", Unmapped_Key, 0xDE, 8);
99 }
100
101
102 NADTuner1::NADTuner1(
103   unsigned int index)
104   : PIRKeysetMetaData(
105       "Tuner Component 1",
106       NAD_Make,
107       index)
108 {
109 }
110
111
112 void NADTuner1::populateProtocol(
113   QObject *guiObject)
114 {
115   if (threadableProtocol)
116   {
117     // Keyset already populated.
118     return;
119   }
120
121   threadableProtocol = new NECProtocol(guiObject, index, true, true);
122
123   setPreData(0x7C87, 16);
124
125   addKey("Tuner-Bank", Unmapped_Key, 0x24, 8);
126   addKey("tuner-disp-info", Info_Key, 0x26, 8); // "RCVR_DISPLAY"
127
128   addKey("tuner-1", One_Key, 0x8A, 8);
129   addKey("tuner-2", Two_Key, 0x8E, 8);
130   addKey("tuner-3", Three_Key, 0x92, 8);
131   addKey("tuner-4", Four_Key, 0x96, 8);
132   addKey("tuner-5", Five_Key, 0x8B, 8);
133   addKey("tuner-6", Six_Key, 0x8F, 8);
134   addKey("tuner-7", Seven_Key, 0x93, 8);
135   addKey("tuner-8", Eight_Key, 0x97, 8);
136   addKey("tuner-9", Nine_Key, 0x98, 8);
137   addKey("tuner-0", Zero_Key, 0xC7, 8);
138   addKey("tuner-10", Unmapped_Key, 0xF2, 8);
139   addKey("tuner-+10", DoubleDigit_Key, 0xF3, 8);
140
141   addKey("tuner-enter", Select_Key, 0xC5, 8);
142   addKey("tuner-enter", Enter_Key, 0xC5, 8);
143   addKey("Tuner-PresetRight", ChannelUp_Key, 0xD2, 8);
144   addKey("Tuner-PresetRight", Up_Key, 0xD2, 8);
145   addKey("Tuner-PresetLeft", ChannelDown_Key, 0xD1, 8);
146   addKey("Tuner-PresetLeft", Down_Key, 0xD1, 8);
147   addKey("tuner-tune-left", Left_Key, 0xD3, 8);
148   addKey("tuner-tune-right", Right_Key, 0xD4, 8);
149
150   addKey("tuner-fm-mute", Unmapped_Key, 0x37, 8);
151   addKey("tuner-blend", Unmapped_Key, 0x35, 8);
152   addKey("tuner-am-fm-dab", TunerBand_Key, 0xDD, 8);
153
154   addKey("Standby", Power_Key, 0x80, 8);  // "RCVR_POWER"
155   addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
156   addKey("VolumeDown", VolumeDown_Key, 0x8C, 8);
157   addKey("Mute", Mute_Key, 0x94, 8); // "RCVR_MUTE_ENTER"
158 }
159
160
161 NADDVD1::NADDVD1(
162   unsigned int index)
163   : PIRKeysetMetaData(
164       "DVD Keyset 1",
165       NAD_Make,
166       index)
167 {
168 }
169
170 void NADDVD1::populateProtocol(
171   QObject *guiObject)
172 {
173   if (threadableProtocol)
174   {
175     // Keyset already populated.
176     return;
177   }
178
179   threadableProtocol = new NECXProtocol(guiObject, index, true);
180
181   setPreData(0x2D2D, 16);
182
183   addKey("OPEN/CLOSE", Eject_Key, 0x36, 8);
184   addKey("STOP", Stop_Key, 0x39, 8);
185   addKey("PLAY", Play_Key, 0x31, 8);
186   addKey("PAUSE/STEP", Pause_Key, 0x38, 8);
187   addKey("SKIP-", Previous_Key, 0x35, 8);
188   addKey("SKIP+", Next_Key, 0x34, 8);
189   addKey("SCAN-", Rewind_Key, 0x32, 8);
190   addKey("SCAN+", FastForward_Key, 0x33, 8);
191   addKey("REPEAT", Repeat_Key, 0x53, 8);
192   addKey("PROGRAM", Program_Key, 0x57, 8);
193   addKey("AUDIO", Audio_Key, 0x4F, 8);
194   addKey("SUBTITLE", Captions_Key, 0x50, 8);
195   addKey("CLEAR", Clear_Key, 0x46, 8);
196   addKey("ZOOM", Zoom_Key, 0x64, 8);
197   addKey("DVD_POWER", Power_Key, 0x30, 8);
198   addKey("DVD_1", One_Key, 0x3B, 8);
199   addKey("DVD_2", Two_Key, 0x3C, 8);
200   addKey("DVD_3", Three_Key, 0x3D, 8);
201   addKey("DVD_4", Four_Key, 0x3E, 8);
202   addKey("DVD_5", Five_Key, 0x3F, 8);
203   addKey("DVD_6", Six_Key, 0x40, 8);
204   addKey("DVD_7", Seven_Key, 0x41, 8);
205   addKey("DVD_8", Eight_Key, 0x42, 8);
206   addKey("DVD_9", Nine_Key, 0x43, 8);
207   addKey("DVD_0", Zero_Key, 0x44, 8);
208   addKey("DVD_VOLUME+", VolumeUp_Key, 0x47, 8);
209   addKey("DVD_VOLUME+", Up_Key, 0x47, 8);
210   addKey("DVD_VOLUME-", VolumeDown_Key, 0x48, 8);
211   addKey("DVD_VOLUME-", Down_Key, 0x48, 8);
212   addKey("DVD_TUNE_DOWN", Left_Key, 0x59, 8);
213   addKey("DVD_TUNE_UP", Right_Key, 0x5A, 8);
214   addKey("DVD_MUTE_ENTER", Select_Key, 0x58, 8);
215   addKey("DVD_MUTE_ENTER", Mute_Key, 0x58, 8);
216   addKey("DVD_SET_UP", Menu_Key, 0x56, 8);
217   addKey("DVD_NEXT_DISC", NextDisc_Key, 0x49, 8);
218   addKey("DVD_TITLE", DiscTitle_Key, 0x4A, 8);
219   addKey("DVD_MENU", DiscMenu_Key, 0x4B, 8);
220   addKey("DVD_DISPLAY", Info_Key, 0x3A, 8);
221   addKey("DVD_RETURN", Exit_Key, 0x45, 8);
222 }
223
224
225 NADCD1::NADCD1(
226   unsigned int index)
227   : PIRKeysetMetaData(
228       "CD Component 1",
229       NAD_Make,
230       index)
231 {
232 }
233
234
235 void NADCD1::populateProtocol(
236   QObject *guiObject)
237 {
238   if (threadableProtocol)
239   {
240     // Keyset already populated.
241     return;
242   }
243
244   threadableProtocol = new SIRCProtocol(guiObject, index);
245
246   addSIRC12Key("PLAY", Play_Key, 0x11, 0x32);
247   addSIRC12Key("STOP", Stop_Key, 0x11, 0x38);
248   addSIRC12Key("PAUSE", Pause_Key, 0x11, 0x39);
249   addSIRC12Key("SKIP_LEFT", Previous_Key, 0x11, 0x30);
250   addSIRC12Key("SKIP_RIGHT", Next_Key, 0x11, 0x31);
251   addSIRC12Key("SCAN_LEFT", Rewind_Key, 0x11, 0x3A);
252   addSIRC12Key("SCAN_RIGHT", FastForward_Key, 0x11, 0x3B);
253 }
254
255
256 NADCD2::NADCD2(
257   unsigned int index)
258   : PIRKeysetMetaData(
259       "CD Component 2",
260       NAD_Make,
261       index)
262 {
263 }
264
265
266 void NADCD2::populateProtocol(
267   QObject *guiObject)
268 {
269   if (threadableProtocol)
270   {
271     // Keyset already populated.
272     return;
273   }
274
275   threadableProtocol = new NECProtocol(guiObject, index, true, true);
276
277   setPreData(0x7C87, 16);
278
279   addKey("PlayPause", Play_Key, 0x01, 8);
280 //  addKey("PlayPause", Pause_Key, 0x01, 8);
281   addKey("Stop", Stop_Key, 0x02, 8);
282   addKey("Random", Random_Key, 0x03, 8);
283   addKey("ScanBack", Rewind_Key, 0x04, 8);
284   addKey("SkipBack", Previous_Key, 0x05, 8);
285   addKey("SkipForward", Next_Key, 0x06, 8);
286   addKey("ScanForward", FastForward_Key, 0x07, 8);
287   addKey("cd-disp-info", Info_Key, 0x08, 8); // "Time"
288   addKey("Repeat", Repeat_Key, 0x0A, 8);
289   addKey("Program", Program_Key, 0x0B, 8);
290   addKey("1", One_Key, 0x0C, 8);
291   addKey("2", Two_Key, 0x0D, 8);
292   addKey("3", Three_Key, 0x0E, 8);
293   addKey("4", Four_Key, 0x0F, 8);
294
295   addKey("5", Five_Key, 0x10, 8);
296   addKey("6", Six_Key, 0x11, 8);
297   addKey("7", Seven_Key, 0x12, 8);
298   addKey("8", Eight_Key, 0x13, 8);
299   addKey("9", Nine_Key, 0x15, 8);
300   addKey("0", Zero_Key, 0x16, 8);
301
302   addKey("cd-eject", Eject_Key, 0x48, 8);
303   addKey("cd-pause", Pause_Key, 0x4A, 8);
304   addKey("10", Unmapped_Key, 0x4C, 8);
305   addKey("Add10", DoubleDigit_Key, 0x4D, 8);
306
307   addKey("Standby", Power_Key, 0x80, 8);  // "RCVR_POWER"
308   addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
309   addKey("VolumeDown", VolumeDown_Key, 0x8C, 8);
310   addKey("Mute", Mute_Key, 0x94, 8); // "RCVR_MUTE_ENTER"
311 }
312
313
314 NADTape1::NADTape1(
315   unsigned int index)
316   : PIRKeysetMetaData(
317       "Tape Component 1",
318       NAD_Make,
319       index)
320 {
321 }
322
323
324 void NADTape1::populateProtocol(
325   QObject *guiObject)
326 {
327   if (threadableProtocol)
328   {
329     // Keyset already published.
330     return;
331   }
332
333   threadableProtocol = new NECProtocol(guiObject, index, true, true);
334
335   setPreData(0x7C87, 16);
336
337   addKey("TapeA-Stop", Stop_Key, 0x52, 8);
338   addKey("TapeA-Play", Play_Key, 0x53, 8);
339   addKey("TapeA-Rev", StepBack_Key, 0x54, 8);
340   addKey("TapeA-Record", Record_Key, 0x55, 8);
341   addKey("TapeA-FastForward", FastForward_Key, 0x56, 8);
342   addKey("TapeA-Rewind", Rewind_Key, 0x57, 8);
343
344   addKey("TapeB-Play", Unmapped_Key, 0x9C, 8);
345   addKey("TapeB-Rev", Unmapped_Key, 0xDE, 8);
346   addKey("TapeB-Stop", Unmapped_Key, 0x9F, 8);
347   addKey("TapeB-Record", Unmapped_Key, 0x9A, 8);
348   addKey("TapeB-FastForward", Unmapped_Key, 0x9D, 8);
349   addKey("TapeB-Rewind", Unmapped_Key, 0x9E, 8);
350
351   addKey("Standby", Power_Key, 0x80, 8);  // "RCVR_POWER"
352   addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
353   addKey("VolumeDown", VolumeDown_Key, 0x8C, 8);
354   addKey("Mute", Mute_Key, 0x94, 8); // "RCVR_MUTE_ENTER"
355 }