001/*
002 *  $URL: svn://svn/open/trunk/projects/WebARTS/ca/bc/webarts/tools/eiscp/IscpCommands.java $
003 *  $Author: $
004 *  $Revision: $
005 *  $Date: $
006 */
007/*
008 *
009 *  Written by Tom Gutwin - WebARTS Design.
010 *  Copyright (C) 2012-2014 WebARTS Design, North Vancouver Canada
011 *  http://www.webarts.bc.ca
012 *
013 *  This program is free software; you can redistribute it and/or modify
014 *  it under the terms of the GNU General Public License as published by
015 *  the Free Software Foundation; either version 2 of the License, or
016 *  (at your option) any later version.
017 *
018 *  This program is distributed in the hope that it will be useful,
019 *  but WITHOUT ANY WARRANTY; without_ even the implied warranty of
020 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
021 *  GNU General Public License for more details.
022 *
023 *  You should have received a copy of the GNU General Public License
024 *  along with this program; if not, write to the Free Software
025 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
026 */
027
028package ca.bc.webarts.tools.eiscp;
029
030import java.util.HashMap;
031import java.util.TreeSet;
032import java.util.Iterator;
033import java.util.Vector;
034
035/**
036 *  A class that wraps the Onkyo/Integra Serial Control Protocol  (eISCP) messages that can be sent in a packet.
037 *  This class uses class constants and commandMaps to help handling of the many iscp Commands.
038 *  <br /><br />
039 *  The Message packet looks like:<br />
040 *  <img src="http://tom.webarts.ca/_/rsrc/1320209141605/Blog/new-blog-items/javaeiscp-integraserialcontrolprotocol/eISCP-Packet.png" border="1"/>
041 *  <br /> See also <a href="http://tom.webarts.ca/Blog/new-blog-items/javaeiscp-integraserialcontrolprotocol" > tom.webarts.ca</a> writeup.
042 *
043 * @author     Tom Gutwin P.Eng
044 */
045public class IscpCommands
046{
047  /**  A holder for this clients System File Separator.  */
048  //public final static String SYSTEM_FILE_SEPERATOR = File.separator;
049
050  /**  A holder for this clients System line termination separator.  */
051  public final static String SYSTEM_LINE_SEPERATOR = System.getProperty("line.separator");
052
053  /**  The VM classpath (used in some methods)..  */
054  public static String CLASSPATH = System.getProperty("class.path");
055
056  /**  The users home ditrectory.  */
057  public static String USERHOME = System.getProperty("user.home");
058
059  /**  The users pwd ditrectory.  */
060  public static String USERDIR = System.getProperty("user.dir");
061
062  /**  A holder This classes name (used when logging).  */
063  private static String CLASSNAME = "ca.bc.webarts.tools.eiscp.IscpCommands";
064
065  /**  Class flag signifying if the initUtil method has been called  */
066  private static boolean classInit_ = false;
067
068  /** Maps the class contant vars to the eiscp command string. **/
069  private static HashMap<Integer, String> commandMap_ = null;
070
071  /** Maps a Readable string to a corresponding class var. **/
072  private static HashMap<String, Integer> commandNameMap_ = null;
073
074  private static IscpCommands instance_ = null;
075
076
077  private IscpCommands()
078  {
079    initCommandMap();
080    instance_ = this;
081  }
082
083  /** Singleton method to ensure all is setup. **/
084  public static IscpCommands getInstance()
085  {
086    if (instance_!=null)
087      return instance_;
088    else
089      return new IscpCommands();
090  }
091
092
093  /**
094   * Gets an iterator of all commandNames.
095   * @return the commandNames iterator as Strings
096   **/
097  public Iterator<String> getIterator()
098  {
099    TreeSet <String> ts = new TreeSet<String>(commandNameMap_.keySet());
100    Iterator<String> it =ts.tailSet("").iterator();
101    return it;
102  }
103
104
105  /** searches for the commandName that is associated with the passed command.
106   * @param commandStr the iscp command to get a commandName key
107   * @return the commandNameMap_ key
108  **/
109  public String getCommandName(String commandStr)
110  {
111    String retVal = "";
112    int command = -1;
113    for (int i=0; i< eCnt; i++)
114    {
115      if (((String)commandMap_.get(i)).equals(commandStr)) command = i;
116    }
117    if (command!=-1)
118    {
119      Iterator it = commandNameMap_.keySet().iterator();
120      int curr = -1;
121      String currStr = "";
122      while (it.hasNext())
123      {
124        currStr = (String)it.next();
125        curr = commandNameMap_.get(currStr);
126        if (curr==command) retVal = currStr;
127      }
128    }
129
130    return retVal;
131  }
132
133
134  /** searches for the command constant that is associated with the passed command String. Pass in "SLI01" and get back Iscp.SOURCE_SATELLITE int
135   * @param commandStr a string representation of command referencing the iscp command
136   * @return the iscp command constant reference or -1 if not found
137   **/
138  public int getCommandKey(String commandStr)
139  {
140    int retVal = -1;
141    if( commandMap_.containsValue(commandStr))
142    {
143      int command = -1;
144      for (int i=0; i< eCnt; i++)
145      {
146        if (((String)commandMap_.get(i)).equals(commandStr)) command = i;
147      }
148      if (command!=-1)
149      {
150        Iterator it = commandMap_.keySet().iterator();
151        Integer curr = new Integer(-1);
152        String currStr = "";
153        while (it.hasNext())
154        {
155          curr = (Integer)it.next();
156          currStr = commandMap_.get(curr);
157          if (currStr.equals(commandStr)) retVal = curr.intValue();
158        }
159      }
160
161    }
162    return retVal;
163  }
164
165
166  /** searches for the command constant that is associated with the passed command <b>name</b> (ie. LISTEN_MODE_THEATER_DIMENSIONAL)
167   * @param commandName a string representation of command referencing the iscp command
168   * @return the iscp command constant reference or -1 if not found
169   **/
170  public int getCommand(String commandName)
171  {
172    int retVal = -1;
173    if(commandNameMap_.containsKey(commandName))
174     retVal = commandNameMap_.get(commandName);
175    return retVal;
176  }
177
178
179  /** searches for the command that is associated with the passed command constant.
180   * @param command the command referencing the iscp command constant
181   * @return the iscp command string (example 'SLI10') or and empty String if not found
182   **/
183  public String getCommandStr(int command)
184  {
185    String retVal = "";
186    if(commandMap_.containsKey(command))
187      retVal = commandMap_.get(command);
188    return retVal;
189  }
190
191
192  /** searches for the command that is associated with the passed commandName.
193   * @param commandName the commandName key referencing the iscp command str
194   * @return the iscp command string (example 'SLI10')
195   **/
196  public String getCommandStr(String commandName)
197  {
198    int command = -1;
199    if (commandNameMap_.containsKey(commandName));
200      command = commandNameMap_.get(commandName);
201    return  commandMap_.get(command);
202  }
203
204
205  /** This method creates the set volume command based on the passed value. **/
206  public static  String getVolumeCmdStr(int volume){return commandMap_.get(VOLUME_SET)+Integer.toHexString(volume);}
207
208
209  /** This method creates the Tune_FREQ command based on the passed frequency string value that MUST be 5 chars long.
210    * It turns the 5 char freqStr  '?????' into the following frequency:  '???.??'.
211    * Pad the 1st char with a '0' if needed... for example  for 99.3   use 09930
212    *
213    * @param freqStr the 5 char long string representing the frequency to tune to; send it '?????' and it converts it into the following frequency:  '???.??'
214    * @return the iscp command string (example 'TUN10110')
215    **/
216  public static  String getTuneFreqCmdStr(String freqStr)
217  {
218    String retVal = "";
219    if(freqStr!=null && freqStr.trim().length()==5)
220      retVal = commandMap_.get(TUNING_FREQ).substring(0,3)+freqStr;
221    return retVal;
222  }
223
224
225  /** Initializes all the class constants (commandNameMap_ & commandMap_ ) that help with processing the commands.
226  **/
227  private void initCommandMap()
228  {
229    commandNameMap_ = new HashMap<String, Integer>(eCnt);
230    commandMap_ = new HashMap<Integer, String>(eCnt);
231
232    classInit_ = true;
233
234
235    // Helper name map
236    commandNameMap_.put("POWER_OFF", POWER_OFF);
237    commandNameMap_.put("POWER_ON", POWER_ON);
238    commandNameMap_.put("POWER_QUERY", POWER_QUERY);
239    commandNameMap_.put("UNMUTE", UNMUTE);
240    commandNameMap_.put("MUTE", MUTE);
241    commandNameMap_.put("MUTE_TOGGLE", MUTE_TOGGLE);
242    commandNameMap_.put("MUTE_QUERY", MUTE_QUERY);
243    commandNameMap_.put("VOLUME_UP", VOLUME_UP);
244    commandNameMap_.put("VOLUME_DOWN", VOLUME_DOWN);
245    commandNameMap_.put("VOLUME_UP1", VOLUME_UP1);
246    commandNameMap_.put("VOLUME_DOWN1", VOLUME_DOWN1);
247    commandNameMap_.put("VOLUME_QUERY", VOLUME_QUERY);
248    commandNameMap_.put("VOLUME_SET", VOLUME_SET);
249    commandNameMap_.put("SET_VOLUME", VOLUME_SET);
250    commandNameMap_.put("VOLUME", VOLUME_SET);
251    commandNameMap_.put("SPEAKER_SWITCH_LAYOUT", SPEAKER_SWITCH_LAYOUT);
252    commandNameMap_.put("SPEAKER_LAYOUT_QUERY", SPEAKER_LAYOUT_QUERY);
253
254    //Front
255    commandNameMap_.put("TONE_FRONT_BASS_UP", TONE_FRONT_BASS_UP);
256    commandNameMap_.put("TONE_FRONT_BASS_DOWN", TONE_FRONT_BASS_DOWN);
257    commandNameMap_.put("TONE_FRONT_TREBLE_UP", TONE_FRONT_TREBLE_UP);
258    commandNameMap_.put("TONE_FRONT_TREBLE_DOWN", TONE_FRONT_TREBLE_DOWN);
259    commandNameMap_.put("TONE_FRONT_QUERY", TONE_FRONT_QUERY);
260    //Front Wide
261    commandNameMap_.put("TONE_FRONT_WIDE_BASS_UP", TONE_FRONT_WIDE_BASS_UP);
262    commandNameMap_.put("TONE_FRONT_WIDE_BASS_DOWN", TONE_FRONT_WIDE_BASS_DOWN);
263    commandNameMap_.put("TONE_FRONT_WIDE_TREBLE_UP", TONE_FRONT_WIDE_TREBLE_UP);
264    commandNameMap_.put("TONE_FRONT_WIDE_TREBLE_DOWN", TONE_FRONT_WIDE_TREBLE_DOWN);
265    commandNameMap_.put("TONE_FRONT_WIDE_QUERY", TONE_FRONT_WIDE_QUERY);
266    //Front High
267    commandNameMap_.put("TONE_FRONT_HIGH_BASS_UP", TONE_FRONT_HIGH_BASS_UP);
268    commandNameMap_.put("TONE_FRONT_HIGH_BASS_DOWN", TONE_FRONT_HIGH_BASS_DOWN);
269    commandNameMap_.put("TONE_FRONT_HIGH_TREBLE_UP", TONE_FRONT_HIGH_TREBLE_UP);
270    commandNameMap_.put("TONE_FRONT_HIGH_TREBLE_DOWN", TONE_FRONT_HIGH_TREBLE_DOWN);
271    commandNameMap_.put("TONE_FRONT_HIGH_QUERY", TONE_FRONT_HIGH_QUERY);
272    // Center
273    commandNameMap_.put("TONE_CENTER_BASS_UP", TONE_CENTER_BASS_UP);
274    commandNameMap_.put("TONE_CENTER_BASS_DOWN", TONE_CENTER_BASS_DOWN);
275    commandNameMap_.put("TONE_CENTER_TREBLE_UP", TONE_CENTER_TREBLE_UP);
276    commandNameMap_.put("TONE_CENTER_TREBLE_DOWN", TONE_CENTER_TREBLE_DOWN);
277    commandNameMap_.put("TONE_CENTER_QUERY", TONE_CENTER_QUERY);
278    //Surround
279    commandNameMap_.put("TONE_SURROUND_BASS_UP", TONE_SURROUND_BASS_UP);
280    commandNameMap_.put("TONE_SURROUND_BASS_DOWN", TONE_SURROUND_BASS_DOWN);
281    commandNameMap_.put("TONE_SURROUND_TREBLE_UP", TONE_SURROUND_TREBLE_UP);
282    commandNameMap_.put("TONE_SURROUND_TREBLE_DOWN", TONE_SURROUND_TREBLE_DOWN);
283    commandNameMap_.put("TONE_SURROUND_QUERY", TONE_SURROUND_QUERY);
284    //Surround Back
285    commandNameMap_.put("TONE_SURROUND_BACK_BASS_UP", TONE_SURROUND_BACK_BASS_UP);
286    commandNameMap_.put("TONE_SURROUND_BACK_BASS_DOWN", TONE_SURROUND_BACK_BASS_DOWN);
287    commandNameMap_.put("TONE_SURROUND_BACK_TREBLE_UP", TONE_SURROUND_BACK_TREBLE_UP);
288    commandNameMap_.put("TONE_SURROUND_BACK_TREBLE_DOWN", TONE_SURROUND_BACK_TREBLE_DOWN);
289    commandNameMap_.put("TONE_SURROUND_BACK_QUERY", TONE_SURROUND_BACK_QUERY);
290    //Subwoofer
291    commandNameMap_.put("TONE_SUBWOOFER_BASS_UP", TONE_SUBWOOFER_BASS_UP);
292    commandNameMap_.put("TONE_SUBWOOFER_BASS_DOWN", TONE_SUBWOOFER_BASS_DOWN);
293    commandNameMap_.put("TONE_SUBWOOFER_QUERY", TONE_SUBWOOFER_QUERY);
294
295    commandNameMap_.put("SOURCE_DVR", SOURCE_DVR);
296    commandNameMap_.put("SOURCE_SATELLITE", SOURCE_SATELLITE);
297    commandNameMap_.put("SOURCE_GAME", SOURCE_GAME);
298    commandNameMap_.put("SOURCE_AUXILIARY", SOURCE_AUX);
299    commandNameMap_.put("SOURCE_AUX", SOURCE_AUX);
300    commandNameMap_.put("SOURCE_VIDEO5", SOURCE_VIDEO5);
301    commandNameMap_.put("SOURCE_COMPUTER", SOURCE_COMPUTER);
302    commandNameMap_.put("SOURCE_PC", SOURCE_COMPUTER);
303    commandNameMap_.put("SOURCE_BLURAY", SOURCE_BLURAY);
304    commandNameMap_.put("SOURCE_TAPE1", SOURCE_TAPE1);
305    commandNameMap_.put("SOURCE_TAPE2", SOURCE_TAPE2);
306    commandNameMap_.put("SOURCE_PHONO", SOURCE_PHONO);
307    commandNameMap_.put("SOURCE_CD", SOURCE_CD);
308    commandNameMap_.put("SOURCE_FM", SOURCE_FM);
309    commandNameMap_.put("SOURCE_AM", SOURCE_AM);
310    commandNameMap_.put("SOURCE_TUNER", SOURCE_TUNER);
311    commandNameMap_.put("SOURCE_MUSICSERVER", SOURCE_MUSICSERVER);
312    commandNameMap_.put("SOURCE_INTERETRADIO", SOURCE_INTERETRADIO);
313    commandNameMap_.put("SOURCE_USB", SOURCE_USB);
314    commandNameMap_.put("SOURCE_USB_BACK", SOURCE_USB_BACK);
315    commandNameMap_.put("SOURCE_NETWORK", SOURCE_NETWORK);
316    commandNameMap_.put("SOURCE_MULTICH", SOURCE_MULTICH);
317    commandNameMap_.put("SOURCE_SIRIUS", SOURCE_SIRIUS);
318    commandNameMap_.put("SOURCE_UP", SOURCE_UP);
319    commandNameMap_.put("SOURCE_DOWN", SOURCE_DOWN);
320    commandNameMap_.put("SOURCE_QUERY", SOURCE_QUERY);
321
322    commandNameMap_.put("VIDEO_WIDE_AUTO", VIDEO_WIDE_AUTO);
323    commandNameMap_.put("VIDEO_WIDE_43", VIDEO_WIDE_43);
324    commandNameMap_.put("VIDEO_WIDE_FULL", VIDEO_WIDE_FULL);
325    commandNameMap_.put("VIDEO_WIDE_ZOOM", VIDEO_WIDE_ZOOM);
326    commandNameMap_.put("VIDEO_WIDE_WIDEZOOM", VIDEO_WIDE_WIDEZOOM);
327    commandNameMap_.put("VIDEO_WIDE_SMARTZOOM", VIDEO_WIDE_SMARTZOOM);
328    commandNameMap_.put("VIDEO_WIDE_NEXT", VIDEO_WIDE_NEXT);
329    commandNameMap_.put("VIDEO_WIDE_QUERY", VIDEO_WIDE_QUERY);
330
331    commandNameMap_.put("LISTEN_MODE_STEREO", LISTEN_MODE_STEREO);
332    commandNameMap_.put("LISTEN_MODE_ALLCHANSTEREO", LISTEN_MODE_ALLCHANSTEREO);
333    commandNameMap_.put("LISTEN_MODE_AUDYSSEY_DSX", LISTEN_MODE_AUDYSSEY_DSX);
334    commandNameMap_.put("LISTEN_MODE_THEATER_DIMENSIONAL", LISTEN_MODE_THEATER_DIMENSIONAL);
335    commandNameMap_.put("LISTEN_MODE_PLII_MOVIE_DSX", LISTEN_MODE_PLII_MOVIE_DSX);
336    commandNameMap_.put("LISTEN_MODE_PLII_MUSIC_DSX", LISTEN_MODE_PLII_MUSIC_DSX);
337    commandNameMap_.put("LISTEN_MODE_PLII_GAME_DSX", LISTEN_MODE_PLII_GAME_DSX);
338    commandNameMap_.put("LISTEN_MODE_NEO_CINEMA_DSX", LISTEN_MODE_NEO_CINEMA_DSX);
339    commandNameMap_.put("LISTEN_MODE_NEO_MUSIC_DSX", LISTEN_MODE_NEO_MUSIC_DSX);
340    commandNameMap_.put("LISTEN_MODE_NEURAL_SURROUND_DSX", LISTEN_MODE_NEURAL_SURROUND_DSX);
341    commandNameMap_.put("LISTEN_MODE_NEURAL_DIGITAL_DSX", LISTEN_MODE_NEURAL_DIGITAL_DSX);
342    commandNameMap_.put("LISTEN_MODE_DIRECT", LISTEN_MODE_DIRECT);
343    commandNameMap_.put("LISTEN_MODE_SURROUND", LISTEN_MODE_SURROUND);
344    commandNameMap_.put("LISTEN_MODE_FILM", LISTEN_MODE_FILM);
345    commandNameMap_.put("LISTEN_MODE_THX", LISTEN_MODE_THX);
346    commandNameMap_.put("LISTEN_MODE_ACTION", LISTEN_MODE_ACTION);
347    commandNameMap_.put("LISTEN_MODE_MUSICAL", LISTEN_MODE_MUSICAL);
348    commandNameMap_.put("LISTEN_MODE_ORCHESTRA", LISTEN_MODE_ORCHESTRA);
349    commandNameMap_.put("LISTEN_MODE_UNPLUGGED", LISTEN_MODE_UNPLUGGED);
350    commandNameMap_.put("LISTEN_MODE_STUDIOMIX", LISTEN_MODE_STUDIOMIX);
351    commandNameMap_.put("LISTEN_MODE_TVLOGIC", LISTEN_MODE_TVLOGIC);
352    commandNameMap_.put("LISTEN_MODE_PUREAUDIO", LISTEN_MODE_PUREAUDIO);
353    commandNameMap_.put("LISTEN_MODE_FULLMONO", LISTEN_MODE_FULLMONO);
354    commandNameMap_.put("LISTEN_MODE_WHOLEHOUSE", LISTEN_MODE_WHOLEHOUSE);
355
356    commandNameMap_.put("LISTEN_MODE_UP", LISTEN_MODE_UP);
357    commandNameMap_.put("LISTEN_MODE_DOWN", LISTEN_MODE_DOWN);
358    commandNameMap_.put("LISTEN_MODE_MOVIE", LISTEN_MODE_MOVIE);
359    commandNameMap_.put("LISTEN_MODE_MUSIC", LISTEN_MODE_MUSIC);
360    commandNameMap_.put("LISTEN_MODE_GAME", LISTEN_MODE_GAME);
361
362    commandNameMap_.put("LISTEN_MODE_QUERY", LISTEN_MODE_QUERY);
363
364    commandNameMap_.put("AUDIO_INFO_QUERY", AUDIO_INFO_QUERY);
365    commandNameMap_.put("VIDEO_INFO_QUERY", VIDEO_INFO_QUERY);
366    commandNameMap_.put("ZONE2_POWER_ON",         ZONE2_POWER_ON);
367    commandNameMap_.put("ZONE2_POWER_SBY",        ZONE2_POWER_SBY);
368    commandNameMap_.put("ZONE2_POWER_QUERY",      ZONE2_POWER_QUERY);
369    commandNameMap_.put("ZONE2_SOURCE_DVR",       ZONE2_SOURCE_DVR);
370    commandNameMap_.put("ZONE2_SOURCE_SATELLITE", ZONE2_SOURCE_SATELLITE);
371    commandNameMap_.put("ZONE2_SOURCE_GAME",      ZONE2_SOURCE_GAME);
372    commandNameMap_.put("ZONE2_SOURCE_AUX",       ZONE2_SOURCE_AUX);
373    commandNameMap_.put("ZONE2_SOURCE_VIDEO5",    ZONE2_SOURCE_VIDEO5);
374    commandNameMap_.put("ZONE2_SOURCE_COMPUTER",  ZONE2_SOURCE_COMPUTER);
375    commandNameMap_.put("ZONE2_SOURCE_BLURAY",    ZONE2_SOURCE_BLURAY);
376    commandNameMap_.put("ZONE2_SOURCE_QUERY",     ZONE2_SOURCE_QUERY);
377    //commandNameMap_.put("ZONE2_SOURCE_OFF",       ZONE2_SOURCE_OFF); // not supported
378
379    commandNameMap_.put("NETUSB_OP_PLAY"     , NETUSB_OP_PLAY);
380    commandNameMap_.put("NETUSB_OP_STOP"     , NETUSB_OP_STOP);
381    commandNameMap_.put("NETUSB_OP_PAUSE"    , NETUSB_OP_PAUSE);
382    commandNameMap_.put("NETUSB_OP_TRACKUP"  , NETUSB_OP_TRACKUP);
383    commandNameMap_.put("NETUSB_OP_TRACKDWN" , NETUSB_OP_TRACKDWN);
384    commandNameMap_.put("NETUSB_OP_FF"       , NETUSB_OP_FF);
385    commandNameMap_.put("NETUSB_OP_REW"      , NETUSB_OP_REW);
386    commandNameMap_.put("NETUSB_OP_REPEAT"   , NETUSB_OP_REPEAT);
387    commandNameMap_.put("NETUSB_OP_RANDOM"   , NETUSB_OP_RANDOM);
388    commandNameMap_.put("NETUSB_OP_DISPLAY"  , NETUSB_OP_DISPLAY);
389    commandNameMap_.put("NETUSB_OP_RIGHT"    , NETUSB_OP_RIGHT);
390    commandNameMap_.put("NETUSB_OP_LEFT"     , NETUSB_OP_LEFT);
391    commandNameMap_.put("NETUSB_OP_UP"       , NETUSB_OP_UP);
392    commandNameMap_.put("NETUSB_OP_DOWN"     , NETUSB_OP_DOWN);
393    commandNameMap_.put("NETUSB_OP_SELECT"   , NETUSB_OP_SELECT);
394    commandNameMap_.put("NETUSB_OP_1"        , NETUSB_OP_1);
395    commandNameMap_.put("NETUSB_OP_2"        , NETUSB_OP_2);
396    commandNameMap_.put("NETUSB_OP_3"        , NETUSB_OP_3);
397    commandNameMap_.put("NETUSB_OP_4"        , NETUSB_OP_4);
398    commandNameMap_.put("NETUSB_OP_5"        , NETUSB_OP_5);
399    commandNameMap_.put("NETUSB_OP_6"        , NETUSB_OP_6);
400    commandNameMap_.put("NETUSB_OP_7"        , NETUSB_OP_7);
401    commandNameMap_.put("NETUSB_OP_8"        , NETUSB_OP_8);
402    commandNameMap_.put("NETUSB_OP_9"        , NETUSB_OP_9);
403    commandNameMap_.put("NETUSB_OP_0"        , NETUSB_OP_0);
404    commandNameMap_.put("NETUSB_OP_DELETE"   , NETUSB_OP_DELETE);
405    commandNameMap_.put("NETUSB_OP_CAPS"     , NETUSB_OP_CAPS);
406    commandNameMap_.put("NETUSB_OP_SETUP"    , NETUSB_OP_SETUP);
407    commandNameMap_.put("NETUSB_OP_RETURN"   , NETUSB_OP_RETURN);
408    commandNameMap_.put("NETUSB_OP_CHANUP"   , NETUSB_OP_CHANUP);
409    commandNameMap_.put("NETUSB_OP_CHANDWN"  , NETUSB_OP_CHANDWN);
410    commandNameMap_.put("NETUSB_OP_MENU"     , NETUSB_OP_MENU);
411    commandNameMap_.put("NETUSB_OP_TOPMENU"  , NETUSB_OP_TOPMENU);
412    commandNameMap_.put("NETUSB_SONG_ARTIST_QUERY" ,NETUSB_SONG_ARTIST_QUERY);
413    commandNameMap_.put("NETUSB_SONG_ALBUM_QUERY" , NETUSB_SONG_ALBUM_QUERY);
414    commandNameMap_.put("NETUSB_SONG_TITLE_QUERY" , NETUSB_SONG_TITLE_QUERY);
415    commandNameMap_.put("NETUSB_SONG_ELAPSEDTIME_QUERY", NETUSB_SONG_ELAPSEDTIME_QUERY);
416    commandNameMap_.put("NETUSB_SONG_TRACK_QUERY", NETUSB_SONG_TRACK_QUERY);
417    commandNameMap_.put("NETUSB_PLAY_STATUS_QUERY" , NETUSB_PLAY_STATUS_QUERY);
418
419    commandNameMap_.put("MEMORY_SETUP_STORE" , MEMORY_SETUP_STORE);
420    commandNameMap_.put("MEMORY_SETUP_RECALL" , MEMORY_SETUP_RECALL);
421    commandNameMap_.put("MEMORY_SETUP_LOCK" , MEMORY_SETUP_LOCK);
422    commandNameMap_.put("MEMORY_SETUP_UNLOCK" , MEMORY_SETUP_UNLOCK);
423
424    commandNameMap_.put("OSD_MENU_COMMAND" , OSD_MENU_COMMAND);
425    commandNameMap_.put("OSD_MENU_CONTROL_KEY_HOME" , OSD_MENU_CONTROL_KEY_HOME);
426    commandNameMap_.put("OSD_MENU_CONTROL_KEY_QUICKSETUP" , OSD_MENU_CONTROL_KEY_QUICKSETUP);
427    commandNameMap_.put("OSD_MENU_CONTROL_KEY_UP" , OSD_MENU_CONTROL_KEY_UP);
428    commandNameMap_.put("OSD_MENU_CONTROL_KEY_DOWN" , OSD_MENU_CONTROL_KEY_DOWN);
429    commandNameMap_.put("OSD_MENU_CONTROL_KEY_RIGHT" , OSD_MENU_CONTROL_KEY_RIGHT);
430    commandNameMap_.put("OSD_MENU_CONTROL_KEY_LEFT" , OSD_MENU_CONTROL_KEY_LEFT);
431    commandNameMap_.put("OSD_MENU_CONTROL_KEY_ENTER" , OSD_MENU_CONTROL_KEY_ENTER);
432    commandNameMap_.put("OSD_MENU_CONTROL_KEY_EXIT" , OSD_MENU_CONTROL_KEY_EXIT);
433    commandNameMap_.put("OSD_MENU_AUDIO_ADJUST" , OSD_MENU_AUDIO_ADJUST);
434    commandNameMap_.put("OSD_MENU_VIDEO_ADJUST" , OSD_MENU_VIDEO_ADJUST);
435
436    commandNameMap_.put("TUNING_FREQ",        TUNING_FREQ         );
437    commandNameMap_.put("TUNING_DIRECT_MODE", TUNING_DIRECT_MODE  );
438    commandNameMap_.put("TUNING_DIRECT_0",    TUNING_DIRECT_0     );
439    commandNameMap_.put("TUNING_DIRECT_1",    TUNING_DIRECT_1     );
440    commandNameMap_.put("TUNING_DIRECT_2",    TUNING_DIRECT_2     );
441    commandNameMap_.put("TUNING_DIRECT_3",    TUNING_DIRECT_3     );
442    commandNameMap_.put("TUNING_DIRECT_4",    TUNING_DIRECT_4     );
443    commandNameMap_.put("TUNING_DIRECT_5",    TUNING_DIRECT_5     );
444    commandNameMap_.put("TUNING_DIRECT_6",    TUNING_DIRECT_6     );
445    commandNameMap_.put("TUNING_DIRECT_7",    TUNING_DIRECT_7     );
446    commandNameMap_.put("TUNING_DIRECT_8",    TUNING_DIRECT_8     );
447    commandNameMap_.put("TUNING_DIRECT_9",    TUNING_DIRECT_9     );
448    commandNameMap_.put("TUNING_DIRECT_UP",   TUNING_DIRECT_UP    );
449    commandNameMap_.put("TUNING_DIRECT_DOWN", TUNING_DIRECT_DOWN  );
450    commandNameMap_.put("TUNING_DIRECT_QUERY",TUNING_DIRECT_QUERY );
451    commandNameMap_.put("TUNING_PRESET_01",   TUNING_PRESET_01    );
452    commandNameMap_.put("TUNING_PRESET_02",   TUNING_PRESET_02    );
453    commandNameMap_.put("TUNING_PRESET_03",   TUNING_PRESET_03    );
454    commandNameMap_.put("TUNING_PRESET_04",   TUNING_PRESET_04    );
455    commandNameMap_.put("TUNING_PRESET_05",   TUNING_PRESET_05    );
456    commandNameMap_.put("TUNING_PRESET_06",   TUNING_PRESET_06    );
457    commandNameMap_.put("TUNING_PRESET_07",   TUNING_PRESET_07    );
458    commandNameMap_.put("TUNING_PRESET_08",   TUNING_PRESET_08    );
459    commandNameMap_.put("TUNING_PRESET_09",   TUNING_PRESET_09    );
460    commandNameMap_.put("TUNING_PRESET_0A",   TUNING_PRESET_0A    );
461    commandNameMap_.put("TUNING_PRESET_0B",   TUNING_PRESET_0B    );
462    commandNameMap_.put("TUNING_PRESET_0C",   TUNING_PRESET_0C    );
463    commandNameMap_.put("TUNING_PRESET_0D",   TUNING_PRESET_0D    );
464    commandNameMap_.put("TUNING_PRESET_0E",   TUNING_PRESET_0E    );
465    commandNameMap_.put("TUNING_PRESET_0F",   TUNING_PRESET_0F    );
466    commandNameMap_.put("TUNING_PRESET_10",   TUNING_PRESET_10    );
467    commandNameMap_.put("TUNING_PRESET_11",   TUNING_PRESET_11    );
468    commandNameMap_.put("TUNING_PRESET_12",   TUNING_PRESET_12    );
469    commandNameMap_.put("TUNING_PRESET_13",   TUNING_PRESET_13    );
470    commandNameMap_.put("TUNING_PRESET_14",   TUNING_PRESET_14    );
471    commandNameMap_.put("TUNING_PRESET_15",   TUNING_PRESET_15    );
472    commandNameMap_.put("TUNING_PRESET_16",   TUNING_PRESET_16    );
473    commandNameMap_.put("TUNING_PRESET_17",   TUNING_PRESET_17    );
474    commandNameMap_.put("TUNING_PRESET_18",   TUNING_PRESET_18    );
475    commandNameMap_.put("TUNING_PRESET_19",   TUNING_PRESET_19    );
476    commandNameMap_.put("TUNING_PRESET_1A",   TUNING_PRESET_1A    );
477    commandNameMap_.put("TUNING_PRESET_1B",   TUNING_PRESET_1B    );
478    commandNameMap_.put("TUNING_PRESET_1C",   TUNING_PRESET_1C    );
479    commandNameMap_.put("TUNING_PRESET_1D",   TUNING_PRESET_1D    );
480    commandNameMap_.put("TUNING_PRESET_1E",   TUNING_PRESET_1E    );
481    commandNameMap_.put("TUNING_PRESET_1F",   TUNING_PRESET_1F    );
482    commandNameMap_.put("TUNING_PRESET_20",   TUNING_PRESET_20    );
483    commandNameMap_.put("TUNING_PRESET_21",   TUNING_PRESET_21    );
484    commandNameMap_.put("TUNING_PRESET_22",   TUNING_PRESET_22    );
485    commandNameMap_.put("TUNING_PRESET_23",   TUNING_PRESET_23    );
486    commandNameMap_.put("TUNING_PRESET_24",   TUNING_PRESET_24    );
487    commandNameMap_.put("TUNING_PRESET_25",   TUNING_PRESET_25    );
488    commandNameMap_.put("TUNING_PRESET_26",   TUNING_PRESET_26    );
489    commandNameMap_.put("TUNING_PRESET_27",   TUNING_PRESET_27    );
490    commandNameMap_.put("TUNING_PRESET_28",   TUNING_PRESET_28    );
491    commandNameMap_.put("TUNING_PRESET_UP",   TUNING_PRESET_UP    );
492    commandNameMap_.put("TUNING_PRESET_DOWN", TUNING_PRESET_DOWN  );
493    commandNameMap_.put("TUNING_PRESET_QUERY",TUNING_PRESET_QUERY );
494
495    // Now map them to a eISCP command
496    commandMap_.put(POWER_OFF, "PWR00");
497    commandMap_.put(POWER_ON , "PWR01");
498    commandMap_.put(POWER_QUERY , "PWRQSTN");
499    commandMap_.put(UNMUTE      , "AMT00");
500    commandMap_.put(MUTE        , "AMT01");
501    commandMap_.put(MUTE_TOGGLE  , "AMTTG");
502    commandMap_.put(MUTE_QUERY  , "AMTQSTN");
503    commandMap_.put(VOLUME_UP   , "MVLUP");
504    commandMap_.put(VOLUME_DOWN , "MVLDOWN");
505    commandMap_.put(VOLUME_UP1   , "MVLUP1");
506    commandMap_.put(VOLUME_DOWN1 , "MVLDOWN1");
507    commandMap_.put(VOLUME_QUERY , "MVLQSTN");
508    commandMap_.put(VOLUME_SET , "MVL");
509    commandMap_.put(SPEAKER_SWITCH_LAYOUT , "SPLUP");
510    commandMap_.put(SPEAKER_LAYOUT_QUERY , "SPLQSTN");
511
512    //Front
513    commandMap_.put(TONE_FRONT_TREBLE_UP , "TFRTUP");
514    commandMap_.put(TONE_FRONT_TREBLE_DOWN , "TFRTDOWN");
515    commandMap_.put(TONE_FRONT_BASS_UP , "TFRBUP");
516    commandMap_.put(TONE_FRONT_BASS_DOWN , "TFRBDOWN");
517    commandMap_.put(TONE_FRONT_QUERY , "TFRQSTN");
518    //Front Wide
519    commandMap_.put(TONE_FRONT_WIDE_TREBLE_UP , "TFWTUP");
520    commandMap_.put(TONE_FRONT_WIDE_TREBLE_DOWN , "TFWTDOWN");
521    commandMap_.put(TONE_FRONT_WIDE_BASS_UP , "TFWBUP");
522    commandMap_.put(TONE_FRONT_WIDE_BASS_DOWN , "TFWBDOWN");
523    commandMap_.put(TONE_FRONT_WIDE_QUERY , "TFWQSTN");
524    //Front High
525    commandMap_.put(TONE_FRONT_HIGH_TREBLE_UP , "TFHTUP");
526    commandMap_.put(TONE_FRONT_HIGH_TREBLE_DOWN , "TFHTDOWN");
527    commandMap_.put(TONE_FRONT_HIGH_BASS_UP , "TFHBUP");
528    commandMap_.put(TONE_FRONT_HIGH_BASS_DOWN , "TFHBDOWN");
529    commandMap_.put(TONE_FRONT_HIGH_QUERY , "TFHQSTN");
530    //Center
531    commandMap_.put(TONE_CENTER_TREBLE_UP , "TCTTUP");
532    commandMap_.put(TONE_CENTER_TREBLE_DOWN , "TCTTDOWN");
533    commandMap_.put(TONE_CENTER_BASS_UP , "TCTBUP");
534    commandMap_.put(TONE_CENTER_BASS_DOWN , "TCTBDOWN");
535    commandMap_.put(TONE_CENTER_QUERY , "TCTQSTN");
536    //Surround
537    commandMap_.put(TONE_SURROUND_TREBLE_UP , "TSRTUP");
538    commandMap_.put(TONE_SURROUND_TREBLE_DOWN , "TSRTDOWN");
539    commandMap_.put(TONE_SURROUND_BASS_UP , "TSRBUP");
540    commandMap_.put(TONE_SURROUND_BASS_DOWN , "TSRBDOWN");
541    commandMap_.put(TONE_SURROUND_QUERY , "TSRQSTN");
542    //Surround Back
543    commandMap_.put(TONE_SURROUND_BACK_TREBLE_UP , "TSBTUP");
544    commandMap_.put(TONE_SURROUND_BACK_TREBLE_DOWN , "TSBTDOWN");
545    commandMap_.put(TONE_SURROUND_BACK_BASS_UP , "TSBBUP");
546    commandMap_.put(TONE_SURROUND_BACK_BASS_DOWN , "TSBBDOWN");
547    commandMap_.put(TONE_SURROUND_BACK_QUERY , "TSBQSTN");
548    //Subwoofer
549    commandMap_.put(TONE_SUBWOOFER_BASS_UP , "TSWBUP");
550    commandMap_.put(TONE_SUBWOOFER_BASS_DOWN , "TSWBDOWN");
551    commandMap_.put(TONE_SUBWOOFER_QUERY , "TSWQSTN");
552
553    commandMap_.put(SOURCE_DVR , "SLI00");
554    commandMap_.put(SOURCE_SATELLITE , "SLI01");
555    commandMap_.put(SOURCE_GAME , "SLI02");
556    commandMap_.put(SOURCE_AUX , "SLI03");
557    commandMap_.put(SOURCE_VIDEO5 , "SLI04");
558    commandMap_.put(SOURCE_COMPUTER , "SLI05");
559    commandMap_.put(SOURCE_BLURAY   , "SLI10");
560    commandMap_.put(SOURCE_TAPE1    , "SLI20");
561    commandMap_.put(SOURCE_TAPE2    , "SLI21");
562    commandMap_.put(SOURCE_PHONO    , "SLI22");
563    commandMap_.put(SOURCE_CD       , "SLI23");
564    commandMap_.put(SOURCE_FM    , "SLI24");
565    commandMap_.put(SOURCE_AM    , "SLI25");
566    commandMap_.put(SOURCE_TUNER    , "SLI26");
567    commandMap_.put(SOURCE_MUSICSERVER    , "SLI27");
568    commandMap_.put(SOURCE_INTERETRADIO   , "SLI28");
569    commandMap_.put(SOURCE_USB   , "SLI29");
570    commandMap_.put(SOURCE_USB_BACK   , "SLI2A");
571    commandMap_.put(SOURCE_NETWORK   , "SLI2C");
572    commandMap_.put(SOURCE_MULTICH    , "SLI30");
573    commandMap_.put(SOURCE_SIRIUS    , "SLI32");
574    commandMap_.put(SOURCE_UP    , "SLIUP");
575    commandMap_.put(SOURCE_DOWN    , "SLIDOWN");
576    commandMap_.put(SOURCE_QUERY    , "SLIQSTN");
577    commandMap_.put(VIDEO_WIDE_AUTO    , "VWM00");
578    commandMap_.put(VIDEO_WIDE_43    , "VWM01");
579    commandMap_.put(VIDEO_WIDE_FULL    , "VWM02");
580    commandMap_.put(VIDEO_WIDE_ZOOM    , "VWM03");
581    commandMap_.put(VIDEO_WIDE_WIDEZOOM    , "VWM04");
582    commandMap_.put(VIDEO_WIDE_SMARTZOOM    , "VWM05");
583    commandMap_.put(VIDEO_WIDE_NEXT    , "VWMUP");
584    commandMap_.put(VIDEO_WIDE_QUERY    , "VWMQSTN");
585
586    commandMap_.put(VIDEO_INFO_QUERY   , "IFVQSTN");
587
588    commandMap_.put(LISTEN_MODE_STEREO    , "LMD00");
589    commandMap_.put(LISTEN_MODE_DIRECT    , "LMD01");
590    commandMap_.put(LISTEN_MODE_SURROUND    , "LMD02");
591    commandMap_.put(LISTEN_MODE_FILM    , "LMD03");
592    commandMap_.put(LISTEN_MODE_THX    , "LMD04");
593    commandMap_.put(LISTEN_MODE_ACTION    , "LMD05");
594    commandMap_.put(LISTEN_MODE_MUSICAL    , "LMD06");
595    //commandMap_.put(LISTEN_MODE_MONO_MOVIE    , "LMD07");
596    commandMap_.put(LISTEN_MODE_ORCHESTRA    , "LMD08");
597    commandMap_.put(LISTEN_MODE_UNPLUGGED    , "LMD09");
598    commandMap_.put(LISTEN_MODE_STUDIOMIX    , "LMD0A");
599    commandMap_.put(LISTEN_MODE_TVLOGIC    , "LMD0B");
600    commandMap_.put(LISTEN_MODE_ALLCHANSTEREO    , "LMD0C");
601    commandMap_.put(LISTEN_MODE_THEATER_DIMENSIONAL    , "LMD0D");
602    commandMap_.put(LISTEN_MODE_SPORTS    , "LMD0E");
603    commandMap_.put(LISTEN_MODE_MONO    , "LMD0F");
604    commandMap_.put(LISTEN_MODE_PUREAUDIO    , "LMD11");
605    //commandMap_.put(LISTEN_MODE_MULTIPLEX    , "LMD12");
606    commandMap_.put(LISTEN_MODE_FULLMONO    , "LMD13");
607    commandMap_.put(LISTEN_MODE_AUDYSSEY_DSX    , "LMD16");
608    commandMap_.put(LISTEN_MODE_WHOLEHOUSE    , "LMD1F");
609    commandMap_.put(LISTEN_MODE_PLII_MOVIE_DSX    , "LMDA0");
610    commandMap_.put(LISTEN_MODE_PLII_MUSIC_DSX    , "LMDA1");
611    commandMap_.put(LISTEN_MODE_PLII_GAME_DSX    , "LMDA2");
612    commandMap_.put(LISTEN_MODE_NEO_CINEMA_DSX    , "LMDA3");
613    commandMap_.put(LISTEN_MODE_NEO_MUSIC_DSX    , "LMDA4");
614    commandMap_.put(LISTEN_MODE_NEURAL_SURROUND_DSX    , "LMDA5");
615    commandMap_.put(LISTEN_MODE_NEURAL_DIGITAL_DSX    , "LMDA6");
616
617    commandMap_.put(LISTEN_MODE_UP    , "LMDUP");
618    commandMap_.put(LISTEN_MODE_DOWN    , "LMDDOWN");
619    commandMap_.put(LISTEN_MODE_MOVIE    , "LMDMOVIE");
620    commandMap_.put(LISTEN_MODE_MUSIC    , "LMDMUSIC");
621    commandMap_.put(LISTEN_MODE_GAME    , "LMDGAME");
622    commandMap_.put(LISTEN_MODE_QUERY   , "LMDQSTN");
623
624    commandMap_.put(AUDIO_INFO_QUERY   , "IFAQSTN");
625
626    commandMap_.put(ZONE2_POWER_ON, "ZPW01");
627    commandMap_.put(ZONE2_POWER_SBY, "ZPW00");
628    commandMap_.put(ZONE2_POWER_QUERY, "ZPWQSTN");
629    commandMap_.put(ZONE2_SOURCE_DVR, "SLZ00");
630    commandMap_.put(ZONE2_SOURCE_SATELLITE, "SLZ01");
631    commandMap_.put(ZONE2_SOURCE_GAME, "SLZ02");
632    commandMap_.put(ZONE2_SOURCE_AUX, "SLZ03");
633    commandMap_.put(ZONE2_SOURCE_VIDEO5, "SLZ04");
634    commandMap_.put(ZONE2_SOURCE_COMPUTER, "SLZ05");
635    commandMap_.put(ZONE2_SOURCE_BLURAY, "SLZ10");
636    commandMap_.put(ZONE2_SOURCE_QUERY, "SLZQSTN");
637    //commandMap_.put(ZONE2_SOURCE_OFF, "SLZ7F"); // not supported
638
639    commandMap_.put(NETUSB_OP_PLAY     , "NTCPLAY");
640    commandMap_.put(NETUSB_OP_STOP     , "NTCSTOP");
641    commandMap_.put(NETUSB_OP_PAUSE    , "NTCPAUSE");
642    commandMap_.put(NETUSB_OP_TRACKUP  , "NTCTRUP");
643    commandMap_.put(NETUSB_OP_TRACKDWN , "NTCTRDN");
644    commandMap_.put(NETUSB_OP_FF       , "NTCFF");
645    commandMap_.put(NETUSB_OP_REW      , "NTCREW");
646    commandMap_.put(NETUSB_OP_REPEAT   , "NTCREPEAT");
647    commandMap_.put(NETUSB_OP_RANDOM   , "NTCRANDOM");
648    commandMap_.put(NETUSB_OP_DISPLAY  , "NTCDISPLAY");
649    commandMap_.put(NETUSB_OP_RIGHT    , "NTCRIGHT");
650    commandMap_.put(NETUSB_OP_LEFT     , "NTCLEFT");
651    commandMap_.put(NETUSB_OP_UP       , "NTCUP");
652    commandMap_.put(NETUSB_OP_DOWN     , "NTCDOWN");
653    commandMap_.put(NETUSB_OP_SELECT   , "NTCSELECT");
654    commandMap_.put(NETUSB_OP_1        , "NTC1");
655    commandMap_.put(NETUSB_OP_2        , "NTC2");
656    commandMap_.put(NETUSB_OP_3        , "NTC3");
657    commandMap_.put(NETUSB_OP_4        , "NTC4");
658    commandMap_.put(NETUSB_OP_5        , "NTC5");
659    commandMap_.put(NETUSB_OP_6        , "NTC6");
660    commandMap_.put(NETUSB_OP_7        , "NTC7");
661    commandMap_.put(NETUSB_OP_8        , "NTC8");
662    commandMap_.put(NETUSB_OP_9        , "NTC9");
663    commandMap_.put(NETUSB_OP_0        , "NTC0");
664    commandMap_.put(NETUSB_OP_DELETE   , "NTCDELETE");
665    commandMap_.put(NETUSB_OP_CAPS     , "NTCCAPS");
666    commandMap_.put(NETUSB_OP_SETUP    , "NTCSETUP");
667    commandMap_.put(NETUSB_OP_RETURN   , "NTCRETURN");
668    commandMap_.put(NETUSB_OP_CHANUP   , "NTCCHUP");
669    commandMap_.put(NETUSB_OP_CHANDWN  , "NTCCHDN");
670    commandMap_.put(NETUSB_OP_MENU     , "NTCMENU");
671    commandMap_.put(NETUSB_OP_TOPMENU  , "NTCTOP");
672
673    commandMap_.put(NETUSB_SONG_ARTIST_QUERY , "NATQSTN");
674    commandMap_.put(NETUSB_SONG_ALBUM_QUERY , "NALQSTN");
675    commandMap_.put(NETUSB_SONG_TITLE_QUERY , "NTIQSTN");
676    commandMap_.put(NETUSB_SONG_ELAPSEDTIME_QUERY, "NTMQSTN");
677    commandMap_.put(NETUSB_SONG_TRACK_QUERY, "NTRQSTN");
678    // NSTPRS:
679    //         p -> Play Status: "S": STOP, "P": Play, "p": Pause, "F": FF, "R": FR
680    //         r -> Repeat Status: "-": Off, "R": All, "F": Folder, "1": Repeat 1,
681    //         s -> Shuffle Status: "-": Off, "S": All , "A": Album, "F": Folder
682    //commandMap_.put(NETUSB_PLAY_STATUS , "NST???");
683
684    commandMap_.put(NETUSB_PLAY_STATUS_QUERY , "NSTQSTN");
685
686    commandMap_.put(MEMORY_SETUP_STORE , "MEMSTR");
687    commandMap_.put(MEMORY_SETUP_RECALL , "MEMRCL");
688    commandMap_.put(MEMORY_SETUP_LOCK , "MEMLOCK");
689    commandMap_.put(MEMORY_SETUP_UNLOCK, "MEMUNLK");
690
691    commandMap_.put(OSD_MENU_COMMAND, "OSDMEMU");
692    commandMap_.put(OSD_MENU_CONTROL_KEY_HOME, "OSDHOME");
693    commandMap_.put(OSD_MENU_CONTROL_KEY_QUICKSETUP, "OSDQUICK");
694    commandMap_.put(OSD_MENU_CONTROL_KEY_UP, "OSDUP");
695    commandMap_.put(OSD_MENU_CONTROL_KEY_DOWN, "OSDDOWN");
696    commandMap_.put(OSD_MENU_CONTROL_KEY_LEFT, "OSDLEFT");
697    commandMap_.put(OSD_MENU_CONTROL_KEY_RIGHT, "OSDRIGHT");
698    commandMap_.put(OSD_MENU_CONTROL_KEY_ENTER, "OSDENTER");
699    commandMap_.put(OSD_MENU_CONTROL_KEY_EXIT, "OSDEXIT");
700    commandMap_.put(OSD_MENU_AUDIO_ADJUST, "OSDAUDIO");
701    commandMap_.put(OSD_MENU_VIDEO_ADJUST, "OSDVIDEO");
702
703    commandMap_.put(TUNING_FREQ, "TUN?????");
704    commandMap_.put(TUNING_DIRECT_MODE, "TUNDIRECT");
705    commandMap_.put(TUNING_DIRECT_0, "TUN0");
706    commandMap_.put(TUNING_DIRECT_1, "TUN1");
707    commandMap_.put(TUNING_DIRECT_2, "TUN2");
708    commandMap_.put(TUNING_DIRECT_3, "TUN3");
709    commandMap_.put(TUNING_DIRECT_4, "TUN4");
710    commandMap_.put(TUNING_DIRECT_5, "TUN5");
711    commandMap_.put(TUNING_DIRECT_6, "TUN6");
712    commandMap_.put(TUNING_DIRECT_7, "TUN7");
713    commandMap_.put(TUNING_DIRECT_8, "TUN8");
714    commandMap_.put(TUNING_DIRECT_9, "TUN9");
715    commandMap_.put(TUNING_DIRECT_UP, "TUNup");
716    commandMap_.put(TUNING_DIRECT_DOWN, "TUNDOWN");
717    commandMap_.put(TUNING_DIRECT_QUERY, "TUNQSTN");
718    commandMap_.put(TUNING_PRESET_01, "PRS01");
719    commandMap_.put(TUNING_PRESET_02, "PRS02");
720    commandMap_.put(TUNING_PRESET_03, "PRS03");
721    commandMap_.put(TUNING_PRESET_04, "PRS04");
722    commandMap_.put(TUNING_PRESET_05, "PRS05");
723    commandMap_.put(TUNING_PRESET_06, "PRS06");
724    commandMap_.put(TUNING_PRESET_07, "PRS07");
725    commandMap_.put(TUNING_PRESET_08, "PRS08");
726    commandMap_.put(TUNING_PRESET_09, "PRS09");
727    commandMap_.put(TUNING_PRESET_0A, "PRS0A");
728    commandMap_.put(TUNING_PRESET_0B, "PRS0B");
729    commandMap_.put(TUNING_PRESET_0C, "PRS0C");
730    commandMap_.put(TUNING_PRESET_0D, "PRS0D");
731    commandMap_.put(TUNING_PRESET_0E, "PRS0E");
732    commandMap_.put(TUNING_PRESET_0F, "PRS0F");
733    commandMap_.put(TUNING_PRESET_10, "PRS10");
734    commandMap_.put(TUNING_PRESET_11, "PRS11");
735    commandMap_.put(TUNING_PRESET_12, "PRS12");
736    commandMap_.put(TUNING_PRESET_13, "PRS13");
737    commandMap_.put(TUNING_PRESET_14, "PRS14");
738    commandMap_.put(TUNING_PRESET_15, "PRS15");
739    commandMap_.put(TUNING_PRESET_16, "PRS16");
740    commandMap_.put(TUNING_PRESET_17, "PRS17");
741    commandMap_.put(TUNING_PRESET_18, "PRS18");
742    commandMap_.put(TUNING_PRESET_19, "PRS19");
743    commandMap_.put(TUNING_PRESET_1A, "PRS1A");
744    commandMap_.put(TUNING_PRESET_1B, "PRS1B");
745    commandMap_.put(TUNING_PRESET_1C, "PRS1C");
746    commandMap_.put(TUNING_PRESET_1D, "PRS1D");
747    commandMap_.put(TUNING_PRESET_1E, "PRS1E");
748    commandMap_.put(TUNING_PRESET_1F, "PRS1F");
749    commandMap_.put(TUNING_PRESET_20, "PRS20");
750    commandMap_.put(TUNING_PRESET_21, "PRS21");
751    commandMap_.put(TUNING_PRESET_22, "PRS22");
752    commandMap_.put(TUNING_PRESET_23, "PRS23");
753    commandMap_.put(TUNING_PRESET_24, "PRS24");
754    commandMap_.put(TUNING_PRESET_25, "PRS25");
755    commandMap_.put(TUNING_PRESET_26, "PRS26");
756    commandMap_.put(TUNING_PRESET_27, "PRS27");
757    commandMap_.put(TUNING_PRESET_28, "PRS28");
758    commandMap_.put(TUNING_PRESET_UP, "PRSUP");
759    commandMap_.put(TUNING_PRESET_DOWN, "PRSDOWN");
760    commandMap_.put(TUNING_PRESET_QUERY, "PRSQSTN");
761}
762
763
764  /* If a new command is added - add it here as well.
765     This is a   */
766      private static int eCnt = 0;
767      /** Command Class Constant mapped to its corresponding iscp command. **/
768      public static final int POWER_OFF = eCnt++;
769      /** Command Class Constant mapped to its corresponding iscp command. **/
770      public static final int POWER_ON  = eCnt++;
771      /** Command Class Constant mapped to its corresponding iscp command. **/
772      public static final int POWER_QUERY  = eCnt++;
773
774      /** Command Class Constant mapped to its corresponding iscp command. **/
775      public static final int UNMUTE       = eCnt++;
776      /** Command Class Constant mapped to its corresponding iscp command. **/
777      public static final int MUTE         = eCnt++;
778      /** Command Class Constant mapped to its corresponding iscp command. **/
779      public static final int MUTE_TOGGLE    = eCnt++;
780      /** Command Class Constant mapped to its corresponding iscp command. **/
781      public static final int MUTE_QUERY    = eCnt++;
782      /** Command Class Constant mapped to its corresponding iscp command. **/
783      public static final int VOLUME_UP    = eCnt++;
784      /** Command Class Constant mapped to its corresponding iscp command. **/
785      public static final int VOLUME_DOWN  = eCnt++;
786      /** Command Class Constant mapped to the Volume up 1db command. **/
787      public static final int VOLUME_UP1    = eCnt++;
788      /** Command Class Constant mapped to the Volume down 1db  command. **/
789      public static final int VOLUME_DOWN1  = eCnt++;
790      /** Command Class Constant mapped to its corresponding iscp command. **/
791      public static final int VOLUME_QUERY = eCnt++;
792      /** Command Class Constant mapped to its corresponding iscp command. **/
793      public static final int VOLUME_SET   = eCnt++;
794      /** Command Class Constant mapped to its corresponding iscp command. **/
795      public static final int SPEAKER_SWITCH_LAYOUT   = eCnt++;
796      /** Command Class Constant mapped to its corresponding iscp command. **/
797      public static final int SPEAKER_LAYOUT_QUERY   = eCnt++;
798
799      public static final int TONE_FRONT_TREBLE_UP    = eCnt++;
800      public static final int TONE_FRONT_TREBLE_DOWN    = eCnt++;
801      public static final int TONE_FRONT_BASS_UP    = eCnt++;
802      public static final int TONE_FRONT_BASS_DOWN    = eCnt++;
803      public static final int TONE_FRONT_QUERY     = eCnt++;
804    //Front Wide
805      public static final int TONE_FRONT_WIDE_TREBLE_UP    = eCnt++;
806      public static final int TONE_FRONT_WIDE_TREBLE_DOWN    = eCnt++;
807      public static final int TONE_FRONT_WIDE_BASS_UP    = eCnt++;
808      public static final int TONE_FRONT_WIDE_BASS_DOWN    = eCnt++;
809      public static final int TONE_FRONT_WIDE_QUERY    = eCnt++;
810    //Front High
811      public static final int TONE_FRONT_HIGH_TREBLE_UP    = eCnt++;
812      public static final int TONE_FRONT_HIGH_TREBLE_DOWN    = eCnt++;
813      public static final int TONE_FRONT_HIGH_BASS_UP     = eCnt++;
814      public static final int TONE_FRONT_HIGH_BASS_DOWN    = eCnt++;
815      public static final int TONE_FRONT_HIGH_QUERY    = eCnt++;
816    //Center
817      public static final int TONE_CENTER_TREBLE_UP    = eCnt++;
818      public static final int TONE_CENTER_TREBLE_DOWN    = eCnt++;
819      public static final int TONE_CENTER_BASS_UP    = eCnt++;
820      public static final int TONE_CENTER_BASS_DOWN     = eCnt++;
821      public static final int TONE_CENTER_QUERY    = eCnt++;
822    //Surround
823      public static final int TONE_SURROUND_TREBLE_UP    = eCnt++;
824      public static final int TONE_SURROUND_TREBLE_DOWN    = eCnt++;
825      public static final int TONE_SURROUND_BASS_UP    = eCnt++;
826      public static final int TONE_SURROUND_BASS_DOWN    = eCnt++;
827      public static final int TONE_SURROUND_QUERY    = eCnt++;
828    //Surround Back
829      public static final int TONE_SURROUND_BACK_TREBLE_UP    = eCnt++;
830      public static final int TONE_SURROUND_BACK_TREBLE_DOWN    = eCnt++;
831      public static final int TONE_SURROUND_BACK_BASS_UP    = eCnt++;
832      public static final int TONE_SURROUND_BACK_BASS_DOWN    = eCnt++;
833      public static final int TONE_SURROUND_BACK_QUERY    = eCnt++;
834    //Subwoofer
835      public static final int TONE_SUBWOOFER_BASS_UP    = eCnt++;
836      public static final int TONE_SUBWOOFER_BASS_DOWN    = eCnt++;
837      public static final int TONE_SUBWOOFER_QUERY    = eCnt++;
838
839      /** Command Class Constant mapped to its corresponding iscp command. **/
840      public static final int SOURCE_DVR  = eCnt++;
841      /** Command Class Constant mapped to its corresponding iscp command. **/
842      public static final int SOURCE_SATELLITE  = eCnt++;
843      /** Command Class Constant mapped to its corresponding iscp command. **/
844      public static final int SOURCE_GAME  = eCnt++;
845      /** Command Class Constant mapped to its corresponding iscp command. **/
846      public static final int SOURCE_AUX = eCnt++;
847      /** Command Class Constant mapped to its corresponding iscp command. **/
848      public static final int SOURCE_VIDEO5  = eCnt++;
849      /** Command Class Constant mapped to its corresponding iscp command. **/
850      public static final int SOURCE_COMPUTER  = eCnt++;
851      //public static final int SOURCE_VIDEO6    = eCnt++;
852      //public static final int SOURCE_VIDEO7    = eCnt++;
853      /** Command Class Constant mapped to its corresponding iscp command. **/
854      public static final int SOURCE_BLURAY    = eCnt++;
855      /** Command Class Constant mapped to its corresponding iscp command. **/
856      public static final int SOURCE_TAPE1     = eCnt++;
857      /** Command Class Constant mapped to its corresponding iscp command. **/
858      public static final int SOURCE_TAPE2     = eCnt++;
859      /** Command Class Constant mapped to its corresponding iscp command. **/
860      public static final int SOURCE_PHONO     = eCnt++;
861      /** Command Class Constant mapped to its corresponding iscp command. **/
862      public static final int SOURCE_CD        = eCnt++;
863      /** Command Class Constant mapped to its corresponding iscp command. **/
864      public static final int SOURCE_FM     = eCnt++;
865      /** Command Class Constant mapped to its corresponding iscp command. **/
866      public static final int SOURCE_AM     = eCnt++;
867      /** Command Class Constant mapped to its corresponding iscp command. **/
868      public static final int SOURCE_TUNER     = eCnt++;
869      /** Command Class Constant mapped to its corresponding iscp command. **/
870      public static final int SOURCE_MUSICSERVER     = eCnt++;
871      /** Command Class Constant mapped to its corresponding iscp command. **/
872      public static final int SOURCE_INTERETRADIO    = eCnt++;
873      /** Command Class Constant mapped to its corresponding iscp command. **/
874      public static final int SOURCE_USB    = eCnt++;
875      /** Command Class Constant mapped to its corresponding iscp command. **/
876      public static final int SOURCE_USB_BACK    = eCnt++;
877      /** Command Class Constant mapped to its corresponding iscp command. **/
878      public static final int SOURCE_NETWORK    = eCnt++;
879      /** Command Class Constant mapped to its corresponding iscp command. **/
880      public static final int SOURCE_MULTICH     = eCnt++;
881      //public static final int SOURCE_XM     = eCnt++;
882      /** Command Class Constant mapped to its corresponding iscp command. **/
883      public static final int SOURCE_SIRIUS     = eCnt++;
884      /** Command Class Constant mapped to its corresponding iscp command. **/
885      public static final int SOURCE_UP     = eCnt++;
886      /** Command Class Constant mapped to its corresponding iscp command. **/
887      public static final int SOURCE_DOWN     = eCnt++;
888      /** Command Class Constant mapped to its corresponding iscp command. **/
889      public static final int SOURCE_QUERY     = eCnt++;
890
891      /** Command Class Constant mapped to its corresponding iscp command. **/
892      public static final int VIDEO_WIDE_AUTO     = eCnt++;
893      /** Command Class Constant mapped to its corresponding iscp command. **/
894      public static final int VIDEO_WIDE_43     = eCnt++;
895      /** Command Class Constant mapped to its corresponding iscp command. **/
896      public static final int VIDEO_WIDE_FULL     = eCnt++;
897      /** Command Class Constant mapped to its corresponding iscp command. **/
898      public static final int VIDEO_WIDE_ZOOM     = eCnt++;
899      /** Command Class Constant mapped to its corresponding iscp command. **/
900      public static final int VIDEO_WIDE_WIDEZOOM     = eCnt++;
901      /** Command Class Constant mapped to its corresponding iscp command. **/
902      public static final int VIDEO_WIDE_SMARTZOOM     = eCnt++;
903      /** Command Class Constant mapped to its corresponding iscp command. **/
904      public static final int VIDEO_WIDE_NEXT     = eCnt++;
905      /** Command Class Constant mapped to its corresponding iscp command. **/
906      public static final int VIDEO_WIDE_QUERY     = eCnt++;
907
908      /** Command Class Constant mapped to its corresponding iscp command. **/
909      public static final int LISTEN_MODE_STEREO     = eCnt++;
910      /** Command Class Constant mapped to its corresponding iscp command. **/
911      public static final int LISTEN_MODE_ALLCHANSTEREO     = eCnt++;
912
913      /** Command Class Constant mapped to its corresponding iscp command. **/
914      public static final int LISTEN_MODE_AUDYSSEY_DSX     = eCnt++;
915      /** Command Class Constant mapped to its corresponding iscp command. **/
916      public static final int LISTEN_MODE_THEATER_DIMENSIONAL     = eCnt++;
917      /** Command Class Constant mapped to its corresponding iscp command. **/
918      public static final int LISTEN_MODE_PLII_MOVIE_DSX     = eCnt++;
919      /** Command Class Constant mapped to its corresponding iscp command. **/
920      public static final int LISTEN_MODE_PLII_MUSIC_DSX     = eCnt++;
921      /** Command Class Constant mapped to its corresponding iscp command. **/
922      public static final int LISTEN_MODE_PLII_GAME_DSX     = eCnt++;
923      /** Command Class Constant mapped to its corresponding iscp command. **/
924      public static final int LISTEN_MODE_NEO_CINEMA_DSX     = eCnt++;
925      /** Command Class Constant mapped to its corresponding iscp command. **/
926      public static final int LISTEN_MODE_NEO_MUSIC_DSX     = eCnt++;
927      /** Command Class Constant mapped to its corresponding iscp command. **/
928      public static final int LISTEN_MODE_NEURAL_SURROUND_DSX     = eCnt++;
929      /** Command Class Constant mapped to its corresponding iscp command. **/
930      public static final int LISTEN_MODE_NEURAL_DIGITAL_DSX     = eCnt++;
931      public static final int LISTEN_MODE_DIRECT     = eCnt++;
932      public static final int LISTEN_MODE_SURROUND     = eCnt++;
933      public static final int LISTEN_MODE_FILM     = eCnt++;
934      public static final int LISTEN_MODE_THX     = eCnt++;
935      public static final int LISTEN_MODE_ACTION     = eCnt++;
936      public static final int LISTEN_MODE_MUSICAL     = eCnt++;
937      public static final int LISTEN_MODE_MONO     = eCnt++;
938
939      public static final int LISTEN_MODE_ORCHESTRA     = eCnt++;
940      public static final int LISTEN_MODE_UNPLUGGED     = eCnt++;
941      public static final int LISTEN_MODE_STUDIOMIX     = eCnt++;
942      public static final int LISTEN_MODE_TVLOGIC     = eCnt++;
943      public static final int LISTEN_MODE_PUREAUDIO     = eCnt++;
944      public static final int LISTEN_MODE_FULLMONO     = eCnt++;
945      public static final int LISTEN_MODE_WHOLEHOUSE     = eCnt++;
946
947      public static final int LISTEN_MODE_UP     = eCnt++;
948      public static final int LISTEN_MODE_DOWN     = eCnt++;
949      public static final int LISTEN_MODE_MOVIE     = eCnt++;
950      public static final int LISTEN_MODE_MUSIC     = eCnt++;
951      public static final int LISTEN_MODE_SPORTS             = eCnt++;
952      public static final int LISTEN_MODE_GAME       = eCnt++;
953
954      /** Command Class Constant mapped to its corresponding iscp command. **/
955      public static final int LISTEN_MODE_QUERY    = eCnt++;
956      /** Command Class Constant mapped to its corresponding iscp command. **/
957      public static final int AUDIO_INFO_QUERY    = eCnt++;
958      /** Command Class Constant mapped to its corresponding iscp command. **/
959      public static final int VIDEO_INFO_QUERY   = eCnt++;
960
961      /** Command Class Constant mapped to its corresponding iscp command. **/
962      public static final int ZONE2_POWER_ON     = eCnt++;
963      /** Command Class Constant mapped to its corresponding iscp command. **/
964      public static final int ZONE2_POWER_SBY     = eCnt++;
965      /** Command Class Constant mapped to its corresponding iscp command. **/
966      public static final int ZONE2_POWER_QUERY     = eCnt++;
967      /** Command Class Constant mapped to its corresponding iscp command. **/
968      public static final int ZONE2_SOURCE_DVR     = eCnt++;
969      /** Command Class Constant mapped to its corresponding iscp command. **/
970      public static final int ZONE2_SOURCE_SATELLITE     = eCnt++;
971      /** Command Class Constant mapped to its corresponding iscp command. **/
972      public static final int ZONE2_SOURCE_GAME     = eCnt++;
973      /** Command Class Constant mapped to its corresponding iscp command. **/
974      public static final int ZONE2_SOURCE_AUX     = eCnt++;
975      /** Command Class Constant mapped to its corresponding iscp command. **/
976      public static final int ZONE2_SOURCE_VIDEO5     = eCnt++;
977      /** Command Class Constant mapped to its corresponding iscp command. **/
978      public static final int ZONE2_SOURCE_COMPUTER     = eCnt++;
979      /** Command Class Constant mapped to its corresponding iscp command. **/
980      public static final int ZONE2_SOURCE_BLURAY     = eCnt++;
981      /** Command Class Constant mapped to its corresponding iscp command. **/
982      public static final int ZONE2_SOURCE_QUERY     = eCnt++;
983
984       /** Command Class Constant mapped to its corresponding iscp command. **/
985      public static final int NETUSB_OP_PLAY     = eCnt++;
986      public static final int NETUSB_OP_STOP     = eCnt++;
987      public static final int NETUSB_OP_PAUSE    = eCnt++;
988      public static final int NETUSB_OP_TRACKUP  = eCnt++;
989      public static final int NETUSB_OP_TRACKDWN = eCnt++;
990      public static final int NETUSB_OP_FF       = eCnt++;
991      public static final int NETUSB_OP_REW      = eCnt++;
992      public static final int NETUSB_OP_REPEAT   = eCnt++;
993      public static final int NETUSB_OP_RANDOM   = eCnt++;
994      public static final int NETUSB_OP_DISPLAY  = eCnt++;
995      public static final int NETUSB_OP_RIGHT    = eCnt++;
996      public static final int NETUSB_OP_LEFT     = eCnt++;
997      public static final int NETUSB_OP_UP       = eCnt++;
998      public static final int NETUSB_OP_DOWN     = eCnt++;
999      public static final int NETUSB_OP_SELECT   = eCnt++;
1000      public static final int NETUSB_OP_1        = eCnt++;
1001      public static final int NETUSB_OP_2        = eCnt++;
1002      public static final int NETUSB_OP_3        = eCnt++;
1003      public static final int NETUSB_OP_4        = eCnt++;
1004      public static final int NETUSB_OP_5        = eCnt++;
1005      public static final int NETUSB_OP_6        = eCnt++;
1006      public static final int NETUSB_OP_7        = eCnt++;
1007      public static final int NETUSB_OP_8        = eCnt++;
1008      public static final int NETUSB_OP_9        = eCnt++;
1009      public static final int NETUSB_OP_0        = eCnt++;
1010      public static final int NETUSB_OP_DELETE   = eCnt++;
1011      public static final int NETUSB_OP_CAPS     = eCnt++;
1012      public static final int NETUSB_OP_SETUP    = eCnt++;
1013      public static final int NETUSB_OP_RETURN   = eCnt++;
1014      public static final int NETUSB_OP_CHANUP   = eCnt++;
1015      public static final int NETUSB_OP_CHANDWN  = eCnt++;
1016      public static final int NETUSB_OP_MENU     = eCnt++;
1017      public static final int NETUSB_OP_TOPMENU  = eCnt++;
1018      public static final int NETUSB_SONG_ARTIST_QUERY = eCnt++;
1019      public static final int NETUSB_SONG_ALBUM_QUERY = eCnt++;
1020      public static final int NETUSB_SONG_TITLE_QUERY = eCnt++;
1021      /** NET/USB Time Info (Elapsed time/Track Time Max 99:59). **/
1022      public static final int NETUSB_SONG_ELAPSEDTIME_QUERY = eCnt++;
1023      /** NET/USB Track Info (Current Track/Totals Track Max 9999). **/
1024      public static final int NETUSB_SONG_TRACK_QUERY = eCnt++;
1025      /** NET/USB Play Status QUERY (3 letters - PRS).<UL>
1026       * <LI>p -> Play Status: "S": STOP, "P": Play, "p": Pause, "F": FF, "R": FREW</LI>
1027       * <LI>r -> Repeat Status: "-": Off, "R": All, "F": Folder, "1": Repeat 1</LI>
1028       * <LI>s -> Shuffle Status: "-": Off, "S": All , "A": Album, "F": Folder</LI></UL>
1029       **/
1030      public static final int NETUSB_PLAY_STATUS_QUERY = eCnt++; //NET/USB Track Info (Current Track/Toral Track Max 9999)
1031
1032      public static final int MEMORY_SETUP_STORE = eCnt++;
1033      public static final int MEMORY_SETUP_RECALL = eCnt++;
1034      public static final int MEMORY_SETUP_LOCK = eCnt++;
1035      public static final int MEMORY_SETUP_UNLOCK = eCnt++;
1036      public static final int OSD_MENU_COMMAND = eCnt++;
1037      public static final int OSD_MENU_CONTROL_KEY_UP = eCnt++;
1038      public static final int OSD_MENU_CONTROL_KEY_DOWN = eCnt++;
1039      public static final int OSD_MENU_CONTROL_KEY_RIGHT = eCnt++;
1040      public static final int OSD_MENU_CONTROL_KEY_LEFT = eCnt++;
1041      public static final int OSD_MENU_CONTROL_KEY_ENTER = eCnt++;
1042      public static final int OSD_MENU_CONTROL_KEY_HOME = eCnt++;
1043      public static final int OSD_MENU_CONTROL_KEY_EXIT = eCnt++;
1044      public static final int OSD_MENU_CONTROL_KEY_QUICKSETUP = eCnt++;
1045      public static final int OSD_MENU_AUDIO_ADJUST = eCnt++;
1046      public static final int OSD_MENU_VIDEO_ADJUST = eCnt++;
1047
1048      /** Tuning Commands */
1049      public static final int TUNING_FREQ = eCnt++;
1050      public static final int TUNING_DIRECT_MODE = eCnt++;
1051      public static final int TUNING_DIRECT_0 = eCnt++;
1052      public static final int TUNING_DIRECT_1 = eCnt++;
1053      public static final int TUNING_DIRECT_2 = eCnt++;
1054      public static final int TUNING_DIRECT_3 = eCnt++;
1055      public static final int TUNING_DIRECT_4 = eCnt++;
1056      public static final int TUNING_DIRECT_5 = eCnt++;
1057      public static final int TUNING_DIRECT_6 = eCnt++;
1058      public static final int TUNING_DIRECT_7 = eCnt++;
1059      public static final int TUNING_DIRECT_8 = eCnt++;
1060      public static final int TUNING_DIRECT_9 = eCnt++;
1061      public static final int TUNING_DIRECT_UP = eCnt++;
1062      public static final int TUNING_DIRECT_DOWN =eCnt++;
1063      public static final int TUNING_DIRECT_QUERY = eCnt++;
1064
1065      public static final int TUNING_PRESET_01 = eCnt++;
1066      public static final int TUNING_PRESET_02 = eCnt++;
1067      public static final int TUNING_PRESET_03 = eCnt++;
1068      public static final int TUNING_PRESET_04 = eCnt++;
1069      public static final int TUNING_PRESET_05 = eCnt++;
1070      public static final int TUNING_PRESET_06 = eCnt++;
1071      public static final int TUNING_PRESET_07 = eCnt++;
1072      public static final int TUNING_PRESET_08 = eCnt++;
1073      public static final int TUNING_PRESET_09 = eCnt++;
1074      public static final int TUNING_PRESET_0A = eCnt++;
1075      public static final int TUNING_PRESET_0B = eCnt++;
1076      public static final int TUNING_PRESET_0C = eCnt++;
1077      public static final int TUNING_PRESET_0D = eCnt++;
1078      public static final int TUNING_PRESET_0E = eCnt++;
1079      public static final int TUNING_PRESET_0F = eCnt++;
1080      public static final int TUNING_PRESET_10= eCnt++;
1081      public static final int TUNING_PRESET_11 = eCnt++;
1082      public static final int TUNING_PRESET_12 = eCnt++;
1083      public static final int TUNING_PRESET_13 = eCnt++;
1084      public static final int TUNING_PRESET_14 = eCnt++;
1085      public static final int TUNING_PRESET_15 = eCnt++;
1086      public static final int TUNING_PRESET_16 = eCnt++;
1087      public static final int TUNING_PRESET_17 = eCnt++;
1088      public static final int TUNING_PRESET_18 = eCnt++;
1089      public static final int TUNING_PRESET_19 = eCnt++;
1090      public static final int TUNING_PRESET_1A = eCnt++;
1091      public static final int TUNING_PRESET_1B = eCnt++;
1092      public static final int TUNING_PRESET_1C = eCnt++;
1093      public static final int TUNING_PRESET_1D = eCnt++;
1094      public static final int TUNING_PRESET_1E = eCnt++;
1095      public static final int TUNING_PRESET_1F = eCnt++;
1096      public static final int TUNING_PRESET_20 = eCnt++;
1097      public static final int TUNING_PRESET_21 = eCnt++;
1098      public static final int TUNING_PRESET_22 = eCnt++;
1099      public static final int TUNING_PRESET_23 = eCnt++;
1100      public static final int TUNING_PRESET_24 = eCnt++;
1101      public static final int TUNING_PRESET_25 = eCnt++;
1102      public static final int TUNING_PRESET_26 = eCnt++;
1103      public static final int TUNING_PRESET_27 = eCnt++;
1104      public static final int TUNING_PRESET_28 = eCnt++;
1105
1106      public static final int TUNING_PRESET_UP = eCnt++;
1107      public static final int TUNING_PRESET_DOWN = eCnt++;
1108      public static final int TUNING_PRESET_QUERY = eCnt++;
1109
1110
1111} // class