/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 138 by senkov, Sun Jun 20 23:18:24 2004 UTC revision 143 by capela, Wed Jun 23 18:54:08 2004 UTC
# Line 68  Line 68 
68       DESTROY = 270,       DESTROY = 270,
69       LIST = 271,       LIST = 271,
70       LOAD = 272,       LOAD = 272,
71       LOAD_BACKGROUND = 273,       NON_MODAL = 273,
72       REMOVE = 274,       REMOVE = 274,
73       SET = 275,       SET = 275,
74       SUBSCRIBE = 276,       SUBSCRIBE = 276,
# Line 93  Line 93 
93       AUDIO_OUTPUT_DEVICE_PARAMETER = 295,       AUDIO_OUTPUT_DEVICE_PARAMETER = 295,
94       AUDIO_OUTPUT_DRIVER = 296,       AUDIO_OUTPUT_DRIVER = 296,
95       AUDIO_OUTPUT_DRIVER_PARAMETER = 297,       AUDIO_OUTPUT_DRIVER_PARAMETER = 297,
96       MIDI_INPUT_PORT = 298,       AUDIO_OUTPUT_TYPE = 298,
97       MIDI_INPUT_CHANNEL = 299,       MIDI_INPUT_PORT = 299,
98       MIDI_INPUT_TYPE = 300,       MIDI_INPUT_CHANNEL = 300,
99       VOLUME = 301,       MIDI_INPUT_TYPE = 301,
100       BYTES = 302,       VOLUME = 302,
101       PERCENTAGE = 303,       BYTES = 303,
102       MISCELLANEOUS = 304       PERCENTAGE = 304,
103         MISCELLANEOUS = 305
104     };     };
105  #endif  #endif
106  #define CHAR 258  #define CHAR 258
# Line 117  Line 118 
118  #define DESTROY 270  #define DESTROY 270
119  #define LIST 271  #define LIST 271
120  #define LOAD 272  #define LOAD 272
121  #define LOAD_BACKGROUND 273  #define NON_MODAL 273
122  #define REMOVE 274  #define REMOVE 274
123  #define SET 275  #define SET 275
124  #define SUBSCRIBE 276  #define SUBSCRIBE 276
# Line 142  Line 143 
143  #define AUDIO_OUTPUT_DEVICE_PARAMETER 295  #define AUDIO_OUTPUT_DEVICE_PARAMETER 295
144  #define AUDIO_OUTPUT_DRIVER 296  #define AUDIO_OUTPUT_DRIVER 296
145  #define AUDIO_OUTPUT_DRIVER_PARAMETER 297  #define AUDIO_OUTPUT_DRIVER_PARAMETER 297
146  #define MIDI_INPUT_PORT 298  #define AUDIO_OUTPUT_TYPE 298
147  #define MIDI_INPUT_CHANNEL 299  #define MIDI_INPUT_PORT 299
148  #define MIDI_INPUT_TYPE 300  #define MIDI_INPUT_CHANNEL 300
149  #define VOLUME 301  #define MIDI_INPUT_TYPE 301
150  #define BYTES 302  #define VOLUME 302
151  #define PERCENTAGE 303  #define BYTES 303
152  #define MISCELLANEOUS 304  #define PERCENTAGE 304
153    #define MISCELLANEOUS 305
154    
155    
156    
# Line 179  extern void yyrestart(FILE* input_file, Line 181  extern void yyrestart(FILE* input_file,
181  // we provide our own version of yyerror() so we don't have to link against the yacc library  // we provide our own version of yyerror() so we don't have to link against the yacc library
182  void yyerror(const char* s);  void yyerror(const char* s);
183    
 bool background;  
184    
185    
186  /* Enabling traces.  */  /* Enabling traces.  */
# Line 208  typedef int YYSTYPE; Line 209  typedef int YYSTYPE;
209    
210    
211  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
212  #line 211 "y.tab.c"  #line 212 "y.tab.c"
213    
214  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
215    
# Line 305  union yyalloc Line 306  union yyalloc
306  #endif  #endif
307    
308  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
309  #define YYFINAL  32  #define YYFINAL  30
310  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
311  #define YYLAST   219  #define YYLAST   225
312    
313  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
314  #define YYNTOKENS  50  #define YYNTOKENS  51
315  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
316  #define YYNNTS  29  #define YYNNTS  30
317  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
318  #define YYNRULES  89  #define YYNRULES  92
319  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
320  #define YYNSTATES  228  #define YYNSTATES  239
321    
322  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
323  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
324  #define YYMAXUTOK   304  #define YYMAXUTOK   305
325    
326  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
327    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 358  static const unsigned char yytranslate[] Line 359  static const unsigned char yytranslate[]
359        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
360        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
361        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
362        45,    46,    47,    48,    49        45,    46,    47,    48,    49,    50
363  };  };
364    
365  #if YYDEBUG  #if YYDEBUG
# Line 368  static const unsigned short yyprhs[] = Line 369  static const unsigned short yyprhs[] =
369  {  {
370         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,
371        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,
372        59,    63,    69,    73,    77,    81,    87,    89,    91,    93,        59,    65,    69,    73,    77,    83,    85,    87,    89,    91,
373        95,    97,    99,   101,   103,   105,   107,   109,   111,   113,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
374       115,   117,   123,   131,   141,   143,   149,   157,   167,   169,       113,   119,   127,   137,   139,   145,   153,   163,   165,   171,
375       175,   183,   189,   195,   201,   209,   219,   223,   229,   233,       179,   185,   191,   197,   205,   215,   219,   225,   229,   233,
376       237,   241,   245,   251,   259,   265,   271,   277,   283,   287,       237,   241,   247,   255,   261,   267,   273,   279,   285,   289,
377       293,   295,   297,   299,   305,   309,   311,   313,   315,   317,       295,   297,   299,   301,   307,   315,   319,   321,   323,   325,
378       319,   321,   323,   325,   327,   329,   331,   333,   335,   337       327,   329,   331,   333,   335,   337,   339,   341,   343,   345,
379         347,   349,   351
380  };  };
381    
382  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
383  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
384  {  {
385        51,     0,    -1,    52,    -1,    51,     8,    52,    -1,    51,        52,     0,    -1,    53,    -1,    52,     8,    53,    -1,    52,
386         9,     8,    52,    -1,    -1,    53,    -1,    54,    -1,     1,         9,     8,    53,    -1,    -1,    54,    -1,    55,    -1,     1,
387        -1,    10,    -1,    53,    10,    -1,    53,     7,    -1,    53,        -1,    10,    -1,    54,    10,    -1,    54,     7,    -1,    54,
388         5,    -1,    53,    78,    -1,    12,     7,    25,    -1,    13,         5,    -1,    54,    80,    -1,    12,     7,    25,    -1,    13,
389         7,    57,    -1,    14,     7,    59,    -1,    15,     7,    60,         7,    58,    -1,    14,     7,    60,    -1,    15,     7,    61,
390        -1,    16,     7,    65,    -1,    17,     7,    61,    -1,    18,        -1,    16,     7,    66,    -1,    17,     7,    62,    -1,    19,
391         7,    61,    -1,    19,     7,    25,     7,    70,    -1,    20,         7,    25,     7,    72,    -1,    20,     7,    59,    -1,    21,
392         7,    58,    -1,    21,     7,    55,    -1,    22,     7,    56,         7,    56,    -1,    22,     7,    57,    -1,    23,     7,    25,
393        -1,    23,     7,    25,     7,    70,    -1,    24,    -1,    29,         7,    72,    -1,    24,    -1,    29,    -1,    33,    -1,    32,
394        -1,    33,    -1,    32,    -1,    31,    -1,    30,    -1,    49,        -1,    31,    -1,    30,    -1,    50,    -1,    29,    -1,    33,
395        -1,    29,    -1,    33,    -1,    32,    -1,    31,    -1,    30,        -1,    32,    -1,    31,    -1,    30,    -1,    50,    -1,    27,
396        -1,    49,    -1,    27,    -1,    28,    -1,    41,     7,    30,        -1,    28,    -1,    41,     7,    30,     7,    80,    -1,    42,
397         7,    78,    -1,    42,     7,    30,     7,    78,     7,    78,         7,    30,     7,    80,     7,    80,    -1,    42,     7,    30,
398        -1,    42,     7,    30,     7,    78,     7,    78,     7,    63,         7,    80,     7,    80,     7,    64,    -1,    39,    -1,    38,
399        -1,    39,    -1,    38,     7,    30,     7,     5,    -1,    36,         7,    30,     7,     5,    -1,    36,     7,    30,     7,     5,
400         7,    30,     7,     5,     7,     5,    -1,    37,     7,    30,         7,     5,    -1,    37,     7,    30,     7,     5,     7,     5,
401         7,     5,     7,     5,     7,    78,    -1,    29,    -1,    25,         7,    80,    -1,    29,    -1,    25,     7,    30,     7,    72,
402         7,    30,     7,    70,    -1,    25,     7,    31,     7,    64,        -1,    25,     7,    31,     7,    65,     7,    72,    -1,    25,
403         7,    70,    -1,    25,     7,    32,     7,    70,    -1,    25,         7,    32,     7,    72,    -1,    25,     7,    33,     7,    72,
404         7,    33,     7,    70,    -1,    35,     7,    30,     7,    74,        -1,    35,     7,    30,     7,    76,    -1,    40,     7,     5,
405        -1,    40,     7,     5,     7,    78,    11,    77,    -1,    37,         7,    80,    11,    79,    -1,    37,     7,     5,     7,     5,
406         7,     5,     7,     5,     7,    78,    11,    77,    -1,    25,         7,    80,    11,    79,    -1,    25,     7,    63,    -1,    38,
407         7,    62,    -1,    38,     7,    78,     7,    63,    -1,    38,         7,    80,     7,    64,    -1,    38,     7,    80,    -1,    38,
408         7,    78,    -1,    38,     7,     5,    -1,    34,     7,    66,         7,     5,    -1,    34,     7,    67,    -1,    35,     7,    68,
409        -1,    35,     7,    67,    -1,    38,     7,    70,     7,     5,        -1,    38,     7,    72,     7,     5,    -1,    36,     7,    72,
410        -1,    36,     7,    70,     7,    72,     7,    72,    -1,    43,         7,    74,     7,    74,    -1,    43,     7,    72,     7,    69,
411         7,    70,     7,    75,    -1,    44,     7,    70,     7,    73,        -1,    44,     7,    72,     7,    77,    -1,    45,     7,    72,
412        -1,    45,     7,    70,     7,    68,    -1,    46,     7,    70,         7,    75,    -1,    46,     7,    72,     7,    70,    -1,    47,
413         7,    69,    -1,    78,    11,    77,    -1,    63,     7,    78,         7,    72,     7,    71,    -1,    80,    11,    79,    -1,    64,
414        11,    77,    -1,    47,    -1,    48,    -1,    39,    -1,    76,         7,    80,    11,    79,    -1,    48,    -1,    49,    -1,    39,
415         7,    71,     7,    70,    -1,    74,     7,    70,    -1,    78,        -1,    78,     7,    73,     7,    72,    -1,    18,     7,    78,
416        -1,     4,    -1,     5,    -1,     5,    -1,     5,    -1,     5,         7,    73,     7,    72,    -1,    76,     7,    72,    -1,    80,
417        -1,     5,    -1,    78,    -1,     6,    -1,     6,    -1,     6,        -1,    80,    -1,     4,    -1,     5,    -1,     5,    -1,     5,
418        -1,     5,    -1,     4,    -1,     3,    -1,    78,     3,    -1        -1,     5,    -1,     5,    -1,    80,    -1,     6,    -1,     6,
419          -1,    80,    -1,     6,    -1,     5,    -1,     4,    -1,     3,
420          -1,    80,     3,    -1
421  };  };
422    
423  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
424  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
425  {  {
426         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    77,    77,    78,    79,    82,    83,    84,    85,    88,
427        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,        89,    90,    91,    92,    95,    96,    97,    98,    99,   100,
428       102,   103,   104,   105,   106,   107,   108,   111,   112,   113,       101,   102,   103,   104,   105,   106,   109,   110,   111,   112,
429       114,   115,   116,   119,   120,   121,   122,   123,   124,   127,       113,   114,   117,   118,   119,   120,   121,   122,   125,   126,
430       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
431       138,   139,   140,   141,   144,   145,   146,   149,   150,   153,       137,   138,   139,   142,   143,   144,   147,   148,   151,   154,
432       156,   157,   160,   161,   162,   163,   164,   165,   168,   169,       155,   158,   159,   160,   161,   162,   163,   164,   167,   168,
433       172,   173,   176,   179,   182,   185,   188,   189,   192,   195,       171,   172,   175,   178,   179,   182,   185,   188,   191,   192,
434       198,   201,   204,   207,   210,   213,   214,   215,   218,   219       195,   198,   201,   204,   207,   210,   213,   214,   217,   218,
435         219,   222,   223
436  };  };
437  #endif  #endif
438    
# Line 438  static const char *const yytname[] = Line 443  static const char *const yytname[] =
443  {  {
444    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",
445    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",
446    "LIST", "LOAD", "LOAD_BACKGROUND", "REMOVE", "SET", "SUBSCRIBE",    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
447    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",
448    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",
449    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",
450    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
451    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DEVICES",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DEVICES",
452    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DRIVER",
453    "AUDIO_OUTPUT_DRIVER_PARAMETER", "MIDI_INPUT_PORT",    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_TYPE", "MIDI_INPUT_PORT",
454    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME", "BYTES",    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME", "BYTES",
455    "PERCENTAGE", "MISCELLANEOUS", "$accept", "input", "line", "comment",    "PERCENTAGE", "MISCELLANEOUS", "$accept", "input", "line", "comment",
456    "command", "subscribe_event", "unsubscribe_event", "get_instruction",    "command", "subscribe_event", "unsubscribe_event", "get_instruction",
457    "set_instruction", "create_instruction", "destroy_instruction",    "set_instruction", "create_instruction", "destroy_instruction",
458    "load_instruction", "set_chan_instruction", "key_val_list",    "load_instruction", "set_chan_instruction", "key_val_list",
459    "buffer_size_type", "list_instruction", "load_instr_args",    "buffer_size_type", "list_instruction", "load_instr_args",
460    "load_engine_args", "midi_input_type", "volume", "sampler_channel",    "load_engine_args", "audio_output_type", "midi_input_type", "volume",
461    "instrument_index", "audio_output_channel", "midi_input_channel",    "sampler_channel", "instrument_index", "audio_output_channel",
462    "engine_name", "midi_input_port", "filename", "param_val", "string", 0    "midi_input_channel", "engine_name", "midi_input_port", "filename",
463      "param_val", "string", 0
464  };  };
465  #endif  #endif
466    
# Line 467  static const unsigned short yytoknum[] = Line 473  static const unsigned short yytoknum[] =
473       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
474       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
475       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
476       295,   296,   297,   298,   299,   300,   301,   302,   303,   304       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
477         305
478  };  };
479  # endif  # endif
480    
481  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
482  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
483  {  {
484         0,    50,    51,    51,    51,    52,    52,    52,    52,    53,         0,    51,    52,    52,    52,    53,    53,    53,    53,    54,
485        53,    53,    53,    53,    54,    54,    54,    54,    54,    54,        54,    54,    54,    54,    55,    55,    55,    55,    55,    55,
486        54,    54,    54,    54,    54,    54,    54,    55,    55,    55,        55,    55,    55,    55,    55,    55,    56,    56,    56,    56,
487        55,    55,    55,    56,    56,    56,    56,    56,    56,    57,        56,    56,    57,    57,    57,    57,    57,    57,    58,    58,
488        57,    57,    57,    57,    57,    57,    57,    57,    57,    57,        58,    58,    58,    58,    58,    58,    58,    58,    58,    58,
489        57,    57,    57,    57,    58,    58,    58,    59,    59,    60,        58,    58,    58,    59,    59,    59,    60,    60,    61,    62,
490        61,    61,    62,    62,    62,    62,    62,    62,    63,    63,        62,    63,    63,    63,    63,    63,    63,    63,    64,    64,
491        64,    64,    65,    66,    67,    68,    69,    69,    70,    71,        65,    65,    66,    67,    67,    68,    69,    70,    71,    71,
492        72,    73,    74,    75,    76,    77,    77,    77,    78,    78        72,    73,    74,    75,    76,    77,    78,    78,    79,    79,
493          79,    80,    80
494  };  };
495    
496  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 490  static const unsigned char yyr2[] = Line 498  static const unsigned char yyr2[] =
498  {  {
499         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,
500         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,
501         3,     5,     3,     3,     3,     5,     1,     1,     1,     1,         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,
502         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
503         1,     5,     7,     9,     1,     5,     7,     9,     1,     5,         5,     7,     9,     1,     5,     7,     9,     1,     5,     7,
504         7,     5,     5,     5,     7,     9,     3,     5,     3,     3,         5,     5,     5,     7,     9,     3,     5,     3,     3,     3,
505         3,     3,     5,     7,     5,     5,     5,     5,     3,     5,         3,     5,     7,     5,     5,     5,     5,     5,     3,     5,
506         1,     1,     1,     5,     3,     1,     1,     1,     1,     1,         1,     1,     1,     5,     7,     3,     1,     1,     1,     1,
507         1,     1,     1,     1,     1,     1,     1,     1,     1,     2         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
508           1,     1,     2
509  };  };
510    
511  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 505  static const unsigned char yyr2[] = Line 514  static const unsigned char yyr2[] =
514  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
515  {  {
516         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,
517         0,     0,     0,     0,     0,    26,     0,     2,     6,     7,         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,
518           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
519           1,     0,     0,    91,    12,    11,    10,    13,    14,     0,
520          38,    39,    47,     0,     0,     0,     0,    43,     0,     0,
521          15,     0,    16,     0,    17,    72,    18,     0,     0,    19,
522           0,     0,     0,     0,    21,    26,    30,    29,    28,    27,
523          31,    22,    32,    36,    35,    34,    33,    37,    23,     0,
524           3,     0,    92,     0,     0,     0,     0,     0,     0,     0,
525           0,     0,     0,     0,     0,     0,     0,     0,     0,     4,
526         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
527         0,     0,     1,     0,     0,    88,    12,    11,    10,    13,        57,    58,    86,     0,    59,     0,    87,    60,     0,    84,
528        14,     0,    39,    40,    48,     0,     0,     0,     0,    44,        80,    20,     0,     0,     0,     0,     0,     0,     0,    55,
529         0,     0,    15,     0,    16,     0,    17,    72,    18,     0,         0,     0,    24,     0,     0,     0,     0,     0,     0,     0,
        0,    19,    20,     0,     0,     0,     0,    22,    27,    31,  
       30,    29,    28,    32,    23,    33,    37,    36,    35,    34,  
       38,    24,     0,     3,     0,    89,     0,     0,     0,     0,  
530         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
531         0,     0,     4,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,    48,    70,    71,     0,
532         0,     0,     0,    58,    59,    84,    60,     0,    61,     0,        50,    51,    52,     0,     0,    44,    40,     0,    56,     0,
533        82,    78,    21,     0,     0,     0,     0,     0,     0,    56,         0,    81,     0,    75,     0,     0,     0,     0,     0,     0,
        0,     0,    25,     0,     0,     0,     0,     0,     0,     0,  
534         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    49,    70,    71,     0,    51,    52,  
       53,     0,     0,    45,    41,     0,    57,     0,    79,     0,  
       74,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
535         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
536         0,     0,     0,     0,    50,    46,     0,    42,     0,    87,        49,    45,     0,    41,     0,    90,    89,    88,    68,     0,
537        86,    85,    68,    73,    80,     0,    62,    83,    64,    81,        73,    82,     0,    61,    63,    76,    85,    64,    83,    65,
538        65,    66,    75,    76,    77,    67,     0,    54,     0,     0,        66,    77,    78,    79,    67,     0,    53,     0,     0,     0,
539         0,     0,     0,    47,    43,    69,    63,    55         0,     0,     0,    46,    42,    69,    74,    62,    54
540  };  };
541    
542  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
543  static const short yydefgoto[] =  static const short yydefgoto[] =
544  {  {
545        -1,    16,    17,    18,    19,    74,    81,    52,    67,    54,        -1,    15,    16,    17,    18,    71,    78,    50,    64,    52,
546        56,    61,   129,   166,   157,    58,   116,   118,   211,   215,        54,    59,   129,   168,   159,    56,   114,   117,   214,   220,
547       122,   169,   205,   210,   119,   208,   117,   202,   120       224,   121,   172,   212,   219,   118,   217,   115,   208,   116
548  };  };
549    
550  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
551     STATE-NUM.  */     STATE-NUM.  */
552  #define YYPACT_NINF -191  #define YYPACT_NINF -198
553  static const short yypact[] =  static const short yypact[] =
554  {  {
555         4,  -191,  -191,     2,    22,    24,    37,    85,    87,    96,         3,  -198,  -198,    -1,     1,    30,    53,    81,    83,   115,
556        99,   107,   109,   110,   111,  -191,    34,  -191,    97,  -191,       116,   120,   121,   122,  -198,    21,  -198,    98,  -198,    22,
557       -14,    45,   -23,    77,    80,   -27,   -27,    95,    27,     8,        43,   -10,    20,    82,    40,   105,     8,    11,    33,   106,
558        29,   101,  -191,     4,   113,  -191,  -191,  -191,  -191,   119,      -198,     3,   124,  -198,  -198,  -198,  -198,   131,  -198,   128,
559      -191,   120,  -191,  -191,  -191,   121,   122,   123,   124,  -191,      -198,  -198,  -198,   129,   130,   132,   133,  -198,   134,   135,
560       125,   126,  -191,   127,  -191,   129,  -191,  -191,  -191,   130,      -198,   136,  -198,   137,  -198,  -198,  -198,   138,   139,  -198,
561       131,  -191,  -191,   132,   133,   134,   135,  -191,  -191,  -191,       140,   141,   142,   143,  -198,  -198,  -198,  -198,  -198,  -198,
562      -191,  -191,  -191,  -191,  -191,  -191,  -191,  -191,  -191,  -191,      -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,   144,
563      -191,  -191,   136,  -191,     4,  -191,    78,   114,   115,   116,      -198,     3,  -198,    79,   123,   125,   126,   127,   145,   147,
564       117,   118,   128,   146,   145,   147,   146,   149,    52,   150,       149,   153,    28,   149,   154,    51,   155,   156,   154,  -198,
565       151,   149,  -191,   144,   152,   153,   154,   155,   156,   159,       157,   158,   159,   160,   161,   164,   165,   166,   167,   171,
566       160,   161,   162,     3,  -191,  -191,  -191,   163,  -191,   164,         2,  -198,  -198,   173,  -198,   175,   131,  -198,   176,   131,
567       119,  -191,  -191,   166,   168,   169,   170,   171,   172,  -191,      -198,  -198,   177,   178,   179,   180,   181,   182,   183,  -198,
568       173,   174,  -191,   149,    18,   149,   149,   146,   177,   178,       184,   185,  -198,   154,    68,   154,   154,   149,   188,   189,
569       179,   146,   146,   146,   180,   149,   149,   149,   149,   149,       190,   149,   149,   149,   101,   191,   154,   154,   154,   154,
570       149,   149,   181,   146,  -191,  -191,  -191,   182,  -191,  -191,       154,   154,   154,   154,   192,   149,  -198,  -198,  -198,   193,
571      -191,   183,   184,  -191,   119,    86,   185,    60,  -191,   186,      -198,  -198,  -198,   194,   195,  -198,   131,     7,   196,    56,
572      -191,   187,   188,   189,   190,   191,   192,   195,    65,   149,       197,  -198,   198,  -198,   199,   200,   201,   202,   205,   206,
573       198,   199,   146,   146,    50,   149,   200,   201,   202,   204,       207,   208,    66,   154,   211,   212,   149,   149,   109,   191,
574       146,   108,   146,    50,  -191,  -191,   203,    98,    66,  -191,       154,   213,   214,   149,   148,   215,   149,   114,   149,   109,
575      -191,  -191,  -191,  -191,  -191,   205,  -191,  -191,  -191,  -191,      -198,  -198,   216,    99,    88,  -198,  -198,  -198,  -198,   217,
576      -191,  -191,   119,  -191,  -191,  -191,    88,  -191,   146,   146,      -198,  -198,   218,  -198,  -198,   131,  -198,  -198,  -198,  -198,
577        50,   200,    50,   119,   185,  -191,  -191,  -191      -198,   131,  -198,  -198,  -198,    89,  -198,   149,   149,   109,
578         154,   213,   109,   131,   196,  -198,  -198,  -198,  -198
579  };  };
580    
581  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
582  static const short yypgoto[] =  static const short yypgoto[] =
583  {  {
584      -191,  -191,   -31,  -191,  -191,  -191,  -191,  -191,  -191,  -191,      -198,  -198,   -24,  -198,  -198,  -198,  -198,  -198,  -198,  -198,
585      -191,   193,  -191,   -67,  -191,  -191,  -191,  -191,  -191,  -191,      -198,  -198,  -198,   -66,  -198,  -198,  -198,  -198,  -198,  -198,
586      -100,  -191,   -64,  -191,    51,  -191,  -191,  -190,   -18      -198,   -97,   -26,   -33,  -198,    62,  -198,    77,  -197,   -17
587  };  };
588    
589  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
# Line 582  static const short yypgoto[] = Line 593  static const short yypgoto[] =
593  #define YYTABLE_NINF -6  #define YYTABLE_NINF -6
594  static const short yytable[] =  static const short yytable[] =
595  {  {
596        39,   132,    83,   217,    -5,     1,    85,    59,    60,    20,        37,   132,   226,    -5,     1,    82,    19,    80,    20,   143,
597       143,    40,    -5,    -5,     2,    53,     3,     4,     5,     6,        82,    -5,    -5,     2,   186,     3,     4,     5,     6,     7,
598         7,     8,     9,    10,    11,    12,    13,    14,    15,    21,         8,    30,     9,    10,    11,    12,    13,    14,    51,    31,
599       225,    22,   227,   154,    32,   158,   159,    68,    69,    70,        32,    33,   235,    61,   112,   238,   156,    21,   160,   161,
600        71,    72,    33,    34,    23,   170,   171,   172,   173,   174,        65,    66,    67,    68,    69,    62,   113,    38,    63,   173,
601       175,   176,    64,   102,   199,   200,   201,    73,    75,    76,       174,   175,   176,   177,   178,   179,   180,    99,    53,    82,
602        77,    78,    79,    85,    65,   155,   156,    66,    85,    85,        22,    70,    72,    73,    74,    75,    76,   188,    39,    82,
603        41,   184,    42,    43,    44,   113,   193,   220,    80,   194,        40,    41,    42,   110,    57,    58,   119,   199,    43,    44,
604        45,    46,    47,    48,    49,   203,    50,    51,   123,    85,        45,    46,    47,    77,    48,    49,   200,   122,    23,   123,
605       124,    85,    24,   182,    25,   125,   126,   127,   128,   222,        24,    82,    82,   210,   124,   125,   126,   127,   128,   229,
606        35,    85,    36,    26,    37,   219,    27,    38,   103,   104,       232,    33,    82,    34,    33,    35,   228,   112,    36,   100,
607       105,   106,   213,   214,    28,    55,    29,    30,    31,    57,       101,   102,   103,   205,   206,   207,   157,   158,   222,   223,
608        63,    84,    85,   164,   165,   167,    82,    86,    87,    88,       119,    55,    25,    26,   166,   167,   169,    27,    28,    29,
609        89,    90,    91,    92,    93,   178,    94,    95,    96,    97,        60,    79,    81,   236,    82,    83,    84,    85,   182,    86,
610        98,    99,   100,   101,   107,   108,   109,   110,   111,    35,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
611       114,   133,   224,   115,   121,   130,   131,   226,   112,   134,        97,    98,    33,   104,   216,   105,   106,   107,   111,   120,
612       135,   136,   137,   138,   197,   198,   139,   140,   141,   142,       130,   131,   234,   209,   133,   134,   135,   136,   137,   203,
613       144,   145,   212,   146,   216,   147,   148,   149,   150,   151,       204,   138,   139,   140,   141,   108,   215,   109,   142,   221,
614       152,   153,   161,   162,   163,   168,   177,     0,   160,   179,       144,   225,   145,   146,   147,   148,   149,   150,   151,   152,
615       180,   181,   183,   185,   186,   187,   188,   189,   190,   191,       153,   154,   155,   163,   164,   165,   171,   181,   237,   162,
616       223,   167,   192,   195,   196,   204,   206,     0,   207,   209,       183,   184,   185,   187,   189,   190,   191,   192,   193,   194,
617       218,     0,   221,     0,     0,     0,     0,     0,     0,    62       233,   169,   195,   196,   197,   198,   201,   202,   211,   213,
618         218,   170,     0,   227,   230,   231
619  };  };
620    
621  static const short yycheck[] =  static const short yycheck[] =
622  {  {
623        18,   101,    33,   193,     0,     1,     3,    34,    35,     7,        17,    98,   199,     0,     1,     3,     7,    31,     7,     7,
624         7,    25,     8,     9,    10,    38,    12,    13,    14,    15,         3,     8,     9,    10,     7,    12,    13,    14,    15,    16,
625        16,    17,    18,    19,    20,    21,    22,    23,    24,     7,        17,     0,    19,    20,    21,    22,    23,    24,    38,     8,
626       220,     7,   222,   133,     0,   135,   136,    29,    30,    31,         9,     3,   229,    25,     6,   232,   133,     7,   135,   136,
627        32,    33,     8,     9,     7,   145,   146,   147,   148,   149,        29,    30,    31,    32,    33,    37,    18,    25,    40,   146,
628       150,   151,    25,    84,     4,     5,     6,    49,    29,    30,       147,   148,   149,   150,   151,   152,   153,    81,    38,     3,
629        31,    32,    33,     3,    37,    47,    48,    40,     3,     3,         7,    50,    29,    30,    31,    32,    33,    11,    25,     3,
630        25,    11,    27,    28,    29,    93,    11,    11,    49,   179,        27,    28,    29,    90,    34,    35,    93,    11,    35,    36,
631        35,    36,    37,    38,    39,   185,    41,    42,    36,     3,        37,    38,    39,    50,    41,    42,   183,    36,     7,    38,
632        38,     3,     7,     7,     7,    43,    44,    45,    46,    11,         7,     3,     3,   190,    43,    44,    45,    46,    47,    11,
633         3,     3,     5,     7,     7,     7,     7,    10,    30,    31,        11,     3,     3,     5,     3,     7,     7,     6,    10,    30,
634        32,    33,     4,     5,     7,    38,     7,     7,     7,    39,        31,    32,    33,     4,     5,     6,    48,    49,     4,     5,
635        25,     8,     3,   141,   142,   143,    25,     7,     7,     7,       137,    39,     7,     7,   141,   142,   143,     7,     7,     7,
636         7,     7,     7,     7,     7,   153,     7,     7,     7,     7,        25,    25,     8,   230,     3,     7,     7,     7,   155,     7,
637         7,     7,     7,     7,    30,    30,    30,    30,    30,     3,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
638         5,     7,   219,     6,     5,     5,     5,   221,    30,     7,         7,     7,     3,    30,     6,    30,    30,    30,     5,     5,
639         7,     7,     7,     7,   182,   183,     7,     7,     7,     7,         5,     5,   228,   189,     7,     7,     7,     7,     7,   186,
640         7,     7,   190,     7,   192,     7,     7,     7,     7,     7,       187,     7,     7,     7,     7,    30,   193,    30,     7,   196,
641         7,     7,     5,     5,     5,     5,     5,    -1,   137,     7,         7,   198,     7,     7,     7,     7,     7,     7,     7,     7,
642           7,     7,     7,     5,     5,     5,     5,     5,   231,   137,
643         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
644       218,   219,     7,     5,     5,     5,     5,    -1,     6,     5,       227,   228,     7,     7,     7,     7,     5,     5,     5,     5,
645         7,    -1,     7,    -1,    -1,    -1,    -1,    -1,    -1,    26         5,   144,    -1,     7,     7,     7
646  };  };
647    
648  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
649     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
650  static const unsigned char yystos[] =  static const unsigned char yystos[] =
651  {  {
652         0,     1,    10,    12,    13,    14,    15,    16,    17,    18,         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,
653        19,    20,    21,    22,    23,    24,    51,    52,    53,    54,        20,    21,    22,    23,    24,    52,    53,    54,    55,     7,
654         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
655         7,     7,     0,     8,     9,     3,     5,     7,    10,    78,         0,     8,     9,     3,     5,     7,    10,    80,    25,    25,
656        25,    25,    27,    28,    29,    35,    36,    37,    38,    39,        27,    28,    29,    35,    36,    37,    38,    39,    41,    42,
657        41,    42,    57,    38,    59,    38,    60,    39,    65,    34,        58,    38,    60,    38,    61,    39,    66,    34,    35,    62,
658        35,    61,    61,    25,    25,    37,    40,    58,    29,    30,        25,    25,    37,    40,    59,    29,    30,    31,    32,    33,
659        31,    32,    33,    49,    55,    29,    30,    31,    32,    33,        50,    56,    29,    30,    31,    32,    33,    50,    57,    25,
660        49,    56,    25,    52,     8,     3,     7,     7,     7,     7,        53,     8,     3,     7,     7,     7,     7,     7,     7,     7,
661           7,     7,     7,     7,     7,     7,     7,     7,     7,    53,
662          30,    31,    32,    33,    30,    30,    30,    30,    30,    30,
663          80,     5,     6,    18,    67,    78,    80,    68,    76,    80,
664           5,    72,    36,    38,    43,    44,    45,    46,    47,    63,
665           5,     5,    72,     7,     7,     7,     7,     7,     7,     7,
666         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
667         7,     7,    52,    30,    31,    32,    33,    30,    30,    30,         7,     7,     7,     7,     7,     7,    72,    48,    49,    65,
668        30,    30,    30,    78,     5,     6,    66,    76,    67,    74,        72,    72,    76,     5,     5,     5,    80,    80,    64,    80,
669        78,     5,    70,    36,    38,    43,    44,    45,    46,    62,        78,     5,    73,    72,    72,    72,    72,    72,    72,    72,
670         5,     5,    70,     7,     7,     7,     7,     7,     7,     7,        72,     5,    80,     7,     7,     7,     7,     7,    11,     7,
671         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,    11,
672         7,     7,     7,     7,    70,    47,    48,    64,    70,    70,        72,     5,     5,    80,    80,     4,     5,     6,    79,    73,
673        74,     5,     5,     5,    78,    78,    63,    78,     5,    71,        72,     5,    74,     5,    69,    80,     6,    77,     5,    75,
674        70,    70,    70,    70,    70,    70,    70,     5,    78,     7,        70,    80,     4,     5,    71,    80,    79,     7,     7,    11,
675         7,     7,     7,     7,    11,     7,     7,     7,     7,     7,         7,     7,    11,    80,    64,    79,    72,    74,    79
        7,     7,     7,    11,    70,     5,     5,    78,    78,     4,  
        5,     6,    77,    70,     5,    72,     5,     6,    75,     5,  
       73,    68,    78,     4,     5,    69,    78,    77,     7,     7,  
       11,     7,    11,    78,    63,    77,    72,    77  
676  };  };
677    
678  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1269  yyreduce: Line 1283  yyreduce:
1283    switch (yyn)    switch (yyn)
1284      {      {
1285          case 7:          case 7:
1286  #line 85 "lscp.y"  #line 84 "lscp.y"
1287      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { LSCPSERVER->AnswerClient(yyvsp[0].String); }
1288      break;      break;
1289    
1290    case 8:    case 8:
1291  #line 86 "lscp.y"  #line 85 "lscp.y"
1292      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
1293      break;      break;
1294    
1295    case 14:    case 14:
1296  #line 96 "lscp.y"  #line 95 "lscp.y"
1297      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = LSCPSERVER->AddChannel();                  }
1298      break;      break;
1299    
1300    case 15:    case 15:
1301  #line 97 "lscp.y"  #line 96 "lscp.y"
1302      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1303      break;      break;
1304    
1305    case 16:    case 16:
1306  #line 98 "lscp.y"  #line 97 "lscp.y"
1307      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1308      break;      break;
1309    
1310    case 17:    case 17:
1311  #line 99 "lscp.y"  #line 98 "lscp.y"
1312      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1313      break;      break;
1314    
1315    case 18:    case 18:
1316  #line 100 "lscp.y"  #line 99 "lscp.y"
1317      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1318      break;      break;
1319    
1320    case 19:    case 19:
1321  #line 101 "lscp.y"  #line 100 "lscp.y"
1322      { yyval.String = yyvsp[0].String; background = false;                    }      { yyval.String = yyvsp[0].String;                                        }
1323      break;      break;
1324    
1325    case 20:    case 20:
1326  #line 102 "lscp.y"  #line 101 "lscp.y"
1327      { yyval.String = yyvsp[0].String; background = true;                     }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1328      break;      break;
1329    
1330    case 21:    case 21:
1331  #line 103 "lscp.y"  #line 102 "lscp.y"
1332      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                        }
1333      break;      break;
1334    
1335    case 22:    case 22:
1336  #line 104 "lscp.y"  #line 103 "lscp.y"
1337      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1338      break;      break;
1339    
1340    case 23:    case 23:
1341  #line 105 "lscp.y"  #line 104 "lscp.y"
1342      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1343      break;      break;
1344    
1345    case 24:    case 24:
1346  #line 106 "lscp.y"  #line 105 "lscp.y"
1347      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1348      break;      break;
1349    
1350    case 25:    case 25:
1351  #line 107 "lscp.y"  #line 106 "lscp.y"
1352      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }
1353      break;      break;
1354    
1355    case 26:    case 26:
1356  #line 108 "lscp.y"  #line 109 "lscp.y"
1357      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }
1358      break;      break;
1359    
1360    case 27:    case 27:
1361  #line 111 "lscp.y"  #line 110 "lscp.y"
1362      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }
1363      break;      break;
1364    
1365    case 28:    case 28:
1366  #line 112 "lscp.y"  #line 111 "lscp.y"
1367      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }
1368      break;      break;
1369    
1370    case 29:    case 29:
1371  #line 113 "lscp.y"  #line 112 "lscp.y"
1372      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }
1373      break;      break;
1374    
1375    case 30:    case 30:
1376  #line 114 "lscp.y"  #line 113 "lscp.y"
1377      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }
1378      break;      break;
1379    
1380    case 31:    case 31:
1381  #line 115 "lscp.y"  #line 114 "lscp.y"
1382      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }
1383      break;      break;
1384    
1385    case 32:    case 32:
1386  #line 116 "lscp.y"  #line 117 "lscp.y"
1387      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }
1388      break;      break;
1389    
1390    case 33:    case 33:
1391  #line 119 "lscp.y"  #line 118 "lscp.y"
1392      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }
1393      break;      break;
1394    
1395    case 34:    case 34:
1396  #line 120 "lscp.y"  #line 119 "lscp.y"
1397      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }
1398      break;      break;
1399    
1400    case 35:    case 35:
1401  #line 121 "lscp.y"  #line 120 "lscp.y"
1402      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }
1403      break;      break;
1404    
1405    case 36:    case 36:
1406  #line 122 "lscp.y"  #line 121 "lscp.y"
1407      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }
1408      break;      break;
1409    
1410    case 37:    case 37:
1411  #line 123 "lscp.y"  #line 122 "lscp.y"
1412      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }
1413      break;      break;
1414    
1415    case 38:    case 38:
1416  #line 124 "lscp.y"  #line 125 "lscp.y"
1417      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
1418      break;      break;
1419    
1420    case 39:    case 39:
1421  #line 127 "lscp.y"  #line 126 "lscp.y"
1422      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
1423      break;      break;
1424    
1425    case 40:    case 40:
1426  #line 128 "lscp.y"  #line 127 "lscp.y"
1427      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
1428      break;      break;
1429    
1430    case 41:    case 41:
1431  #line 129 "lscp.y"  #line 128 "lscp.y"
1432      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
1433      break;      break;
1434    
1435    case 42:    case 42:
1436  #line 130 "lscp.y"  #line 129 "lscp.y"
1437      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
1438      break;      break;
1439    
1440    case 43:    case 43:
1441  #line 131 "lscp.y"  #line 130 "lscp.y"
1442      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
1443      break;      break;
1444    
1445    case 44:    case 44:
1446  #line 132 "lscp.y"  #line 131 "lscp.y"
1447      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
1448      break;      break;
1449    
1450    case 45:    case 45:
1451  #line 133 "lscp.y"  #line 132 "lscp.y"
1452      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
1453      break;      break;
1454    
1455    case 46:    case 46:
1456  #line 134 "lscp.y"  #line 133 "lscp.y"
1457      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
1458      break;      break;
1459    
1460    case 47:    case 47:
1461  #line 135 "lscp.y"  #line 134 "lscp.y"
1462      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetChannels();                                  }
1463      break;      break;
1464    
1465    case 48:    case 48:
1466  #line 136 "lscp.y"  #line 135 "lscp.y"
1467      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
1468      break;      break;
1469    
1470    case 49:    case 49:
1471  #line 137 "lscp.y"  #line 136 "lscp.y"
1472      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
1473      break;      break;
1474    
1475    case 50:    case 50:
1476  #line 138 "lscp.y"  #line 137 "lscp.y"
1477      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
1478      break;      break;
1479    
1480    case 51:    case 51:
1481  #line 139 "lscp.y"  #line 138 "lscp.y"
1482      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
1483      break;      break;
1484    
1485    case 52:    case 52:
1486  #line 140 "lscp.y"  #line 139 "lscp.y"
1487      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
1488      break;      break;
1489    
1490    case 53:    case 53:
1491  #line 141 "lscp.y"  #line 142 "lscp.y"
1492      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
1493      break;      break;
1494    
1495    case 54:    case 54:
1496  #line 144 "lscp.y"  #line 143 "lscp.y"
1497      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1498      break;      break;
1499    
1500    case 55:    case 55:
1501  #line 145 "lscp.y"  #line 144 "lscp.y"
1502      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = yyvsp[0].String;                                                         }
1503      break;      break;
1504    
1505    case 56:    case 56:
1506  #line 146 "lscp.y"  #line 147 "lscp.y"
1507      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1508      break;      break;
1509    
1510    case 57:    case 57:
1511  #line 149 "lscp.y"  #line 148 "lscp.y"
1512      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); }
1513      break;      break;
1514    
1515    case 58:    case 58:
1516  #line 150 "lscp.y"  #line 151 "lscp.y"
1517      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
1518      break;      break;
1519    
1520    case 59:    case 59:
1521  #line 153 "lscp.y"  #line 154 "lscp.y"
1522      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = yyvsp[0].String; }
1523      break;      break;
1524    
1525    case 60:    case 60:
1526  #line 156 "lscp.y"  #line 155 "lscp.y"
1527      { yyval.String = yyvsp[0].String; }      { yyval.String = yyvsp[0].String; }
1528      break;      break;
1529    
1530    case 61:    case 61:
1531  #line 157 "lscp.y"  #line 158 "lscp.y"
1532      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1533      break;      break;
1534    
1535    case 62:    case 62:
1536  #line 160 "lscp.y"  #line 159 "lscp.y"
1537      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1538      break;      break;
1539    
1540    case 63:    case 63:
1541  #line 161 "lscp.y"  #line 160 "lscp.y"
1542      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1543      break;      break;
1544    
1545    case 64:    case 64:
1546  #line 162 "lscp.y"  #line 161 "lscp.y"
1547      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);          }
1548      break;      break;
1549    
1550    case 65:    case 65:
1551  #line 163 "lscp.y"  #line 162 "lscp.y"
1552      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1553      break;      break;
1554    
1555    case 66:    case 66:
1556  #line 164 "lscp.y"  #line 163 "lscp.y"
1557      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1558      break;      break;
1559    
1560    case 67:    case 67:
1561  #line 165 "lscp.y"  #line 164 "lscp.y"
1562      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1563      break;      break;
1564    
1565    case 68:    case 68:
1566  #line 168 "lscp.y"  #line 167 "lscp.y"
1567      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1568      break;      break;
1569    
1570    case 69:    case 69:
1571  #line 169 "lscp.y"  #line 168 "lscp.y"
1572      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1573      break;      break;
1574    
1575    case 70:    case 70:
1576  #line 172 "lscp.y"  #line 171 "lscp.y"
1577      { yyval.FillResponse = fill_response_bytes;      }      { yyval.FillResponse = fill_response_bytes;      }
1578      break;      break;
1579    
1580    case 71:    case 71:
1581  #line 173 "lscp.y"  #line 172 "lscp.y"
1582      { yyval.FillResponse = fill_response_percentage; }      { yyval.FillResponse = fill_response_percentage; }
1583      break;      break;
1584    
1585    case 72:    case 72:
1586  #line 176 "lscp.y"  #line 175 "lscp.y"
1587      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
1588      break;      break;
1589    
1590    case 73:    case 73:
1591  #line 179 "lscp.y"  #line 178 "lscp.y"
1592      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, background); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }
1593      break;      break;
1594    
1595    case 74:    case 74:
1596    #line 179 "lscp.y"
1597        { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
1598        break;
1599    
1600      case 75:
1601  #line 182 "lscp.y"  #line 182 "lscp.y"
1602      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }
1603      break;      break;
1604    
1605    case 77:    case 79:
1606  #line 189 "lscp.y"  #line 192 "lscp.y"
1607      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
1608      break;      break;
1609    
1610    case 85:    case 88:
1611  #line 213 "lscp.y"  #line 217 "lscp.y"
1612      { yyval.String = yyvsp[0].String;                                             }      { yyval.String = yyvsp[0].String;                                             }
1613      break;      break;
1614    
1615    case 86:    case 89:
1616  #line 214 "lscp.y"  #line 218 "lscp.y"
1617      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1618      break;      break;
1619    
1620    case 87:    case 90:
1621  #line 215 "lscp.y"  #line 219 "lscp.y"
1622      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1623      break;      break;
1624    
1625    case 88:    case 91:
1626  #line 218 "lscp.y"  #line 222 "lscp.y"
1627      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1628      break;      break;
1629    
1630    case 89:    case 92:
1631  #line 219 "lscp.y"  #line 223 "lscp.y"
1632      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1633      break;      break;
1634    
# Line 1617  yyreduce: Line 1636  yyreduce:
1636      }      }
1637    
1638  /* Line 999 of yacc.c.  */  /* Line 999 of yacc.c.  */
1639  #line 1620 "y.tab.c"  #line 1639 "y.tab.c"
1640    
1641    yyvsp -= yylen;    yyvsp -= yylen;
1642    yyssp -= yylen;    yyssp -= yylen;
# Line 1811  yyreturn: Line 1830  yyreturn:
1830  }  }
1831    
1832    
1833  #line 78 "lscp.y"  #line 77 "lscp.y"
1834    
1835    
1836  /**  /**

Legend:
Removed from v.138  
changed lines
  Added in v.143

  ViewVC Help
Powered by ViewVC