/[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 155 by senkov, Mon Jun 28 04:30:11 2004 UTC revision 170 by senkov, Sat Jul 3 20:08:07 2004 UTC
# Line 177  Line 177 
177    
178  #include "lscpparser.h"  #include "lscpparser.h"
179  #include "lscpserver.h"  #include "lscpserver.h"
180    #include "lscpevent.h"
181    
182  // as we need an reentrant scanner, we have to pass the pointer to the scanner with each yylex() call  // as we need an reentrant scanner, we have to pass the pointer to the scanner with each yylex() call
183  #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner  #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner
# Line 225  typedef int YYSTYPE; Line 226  typedef int YYSTYPE;
226    
227    
228  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
229  #line 228 "y.tab.c"  #line 229 "y.tab.c"
230    
231  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
232    
# Line 324  union yyalloc Line 325  union yyalloc
325  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
326  #define YYFINAL  30  #define YYFINAL  30
327  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
328  #define YYLAST   285  #define YYLAST   287
329    
330  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
331  #define YYNTOKENS  59  #define YYNTOKENS  59
332  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
333  #define YYNNTS  31  #define YYNNTS  32
334  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
335  #define YYNRULES  104  #define YYNRULES  106
336  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
337  #define YYNSTATES  290  #define YYNSTATES  303
338    
339  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
340  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 384  static const unsigned char yytranslate[] Line 385  static const unsigned char yytranslate[]
385     YYRHS.  */     YYRHS.  */
386  static const unsigned short yyprhs[] =  static const unsigned short yyprhs[] =
387  {  {
388         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     6,     7,     9,    11,    13,    15,    18,
389        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        21,    24,    27,    31,    35,    39,    43,    47,    51,    57,
390        59,    65,    69,    73,    77,    83,    85,    87,    89,    91,        61,    65,    69,    75,    77,    79,    81,    83,    85,    87,
391        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        89,    91,    93,    95,    97,    99,   101,   103,   105,   111,
392       113,   119,   127,   137,   139,   145,   153,   163,   165,   167,       119,   129,   131,   137,   145,   155,   157,   159,   165,   171,
393       173,   179,   187,   195,   205,   207,   213,   221,   227,   233,       179,   187,   197,   199,   205,   213,   219,   225,   231,   239,
394       239,   247,   257,   265,   275,   279,   285,   289,   293,   297,       249,   257,   267,   271,   277,   281,   287,   291,   295,   299,
395       301,   305,   309,   315,   323,   329,   339,   345,   351,   355,       303,   307,   313,   321,   327,   337,   343,   349,   355,   361,
396       361,   363,   365,   367,   369,   375,   383,   387,   389,   391,       367,   371,   377,   379,   381,   383,   385,   391,   399,   403,
397       393,   395,   397,   399,   401,   403,   405,   407,   409,   411,       405,   407,   409,   411,   413,   415,   417,   419,   421,   423,
398       413,   415,   417,   419,   421       425,   427,   429,   431,   433,   435,   437
399  };  };
400    
401  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
402  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
403  {  {
404        60,     0,    -1,    61,    -1,    60,     8,    61,    -1,    60,        60,     0,    -1,    61,     8,    -1,    -1,    62,    -1,    63,
405         9,     8,    61,    -1,    -1,    62,    -1,    63,    -1,     1,        -1,     1,    -1,    10,    -1,    62,    10,    -1,    62,     7,
406        -1,    10,    -1,    62,    10,    -1,    62,     7,    -1,    62,        -1,    62,     5,    -1,    62,    90,    -1,    12,     7,    25,
407         5,    -1,    62,    89,    -1,    12,     7,    25,    -1,    13,        -1,    13,     7,    66,    -1,    14,     7,    68,    -1,    15,
408         7,    66,    -1,    14,     7,    68,    -1,    15,     7,    69,         7,    69,    -1,    16,     7,    74,    -1,    17,     7,    70,
409        -1,    16,     7,    74,    -1,    17,     7,    70,    -1,    19,        -1,    19,     7,    25,     7,    85,    -1,    20,     7,    67,
410         7,    25,     7,    83,    -1,    20,     7,    67,    -1,    21,        -1,    21,     7,    64,    -1,    22,     7,    65,    -1,    23,
411         7,    64,    -1,    22,     7,    65,    -1,    23,     7,    25,         7,    25,     7,    85,    -1,    24,    -1,    29,    -1,    33,
412         7,    83,    -1,    24,    -1,    29,    -1,    33,    -1,    32,        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    29,
413        -1,    31,    -1,    30,    -1,    58,    -1,    29,    -1,    33,        -1,    33,    -1,    32,    -1,    31,    -1,    30,    -1,    58,
414        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    27,        -1,    27,    -1,    51,    -1,    49,     7,    30,     7,    90,
415        -1,    51,    -1,    49,     7,    30,     7,    89,    -1,    50,        -1,    50,     7,    30,     7,    90,     7,    90,    -1,    50,
416         7,    30,     7,    89,     7,    89,    -1,    50,     7,    30,         7,    30,     7,    90,     7,    90,     7,    72,    -1,    28,
417         7,    89,     7,    89,     7,    72,    -1,    28,    -1,    41,        -1,    41,     7,    30,     7,    90,    -1,    42,     7,    30,
418         7,    30,     7,    89,    -1,    42,     7,    30,     7,    89,         7,    90,     7,    90,    -1,    42,     7,    30,     7,    90,
419         7,    89,    -1,    42,     7,    30,     7,    89,     7,    89,         7,    90,     7,    72,    -1,    39,    -1,    53,    -1,    38,
420         7,    72,    -1,    39,    -1,    53,    -1,    38,     7,    30,         7,    30,     7,     5,    -1,    52,     7,    30,     7,     5,
421         7,     5,    -1,    52,     7,    30,     7,     5,    -1,    46,        -1,    46,     7,    30,     7,     5,     7,     5,    -1,    36,
422         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,         7,    30,     7,     5,     7,     5,    -1,    37,     7,    30,
423         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,         7,     5,     7,     5,     7,    90,    -1,    29,    -1,    25,
424         7,     5,     7,    89,    -1,    29,    -1,    25,     7,    30,         7,    30,     7,    85,    -1,    25,     7,    31,     7,    73,
425         7,    83,    -1,    25,     7,    31,     7,    73,     7,    83,         7,    85,    -1,    25,     7,    32,     7,    85,    -1,    25,
426        -1,    25,     7,    32,     7,    83,    -1,    25,     7,    33,         7,    33,     7,    85,    -1,    35,     7,    30,     7,    87,
427         7,    83,    -1,    35,     7,    30,     7,    86,    -1,    40,        -1,    40,     7,     5,     7,    90,    11,    89,    -1,    37,
428         7,     5,     7,    89,    11,    88,    -1,    37,     7,     5,         7,     5,     7,     5,     7,    90,    11,    89,    -1,    54,
429         7,     5,     7,    89,    11,    88,    -1,    54,     7,     5,         7,     5,     7,    90,    11,    89,    -1,    55,     7,     5,
430         7,    89,    11,    88,    -1,    55,     7,     5,     7,     5,         7,     5,     7,    90,    11,    89,    -1,    25,     7,    71,
431         7,    89,    11,    88,    -1,    25,     7,    71,    -1,    38,        -1,    38,     7,    90,     7,    72,    -1,    38,     7,    90,
432         7,    89,     7,    72,    -1,    38,     7,    89,    -1,    52,        -1,    52,     7,    90,     7,    72,    -1,    52,     7,    90,
433         7,    89,    -1,    38,     7,     5,    -1,    52,     7,     5,        -1,    38,     7,     5,    -1,    52,     7,     5,    -1,    34,
434        -1,    34,     7,    75,    -1,    35,     7,    76,    -1,    38,         7,    75,    -1,    35,     7,    76,    -1,    38,     7,    85,
435         7,    83,     7,     5,    -1,    36,     7,    83,     7,    85,         7,    77,    -1,    36,     7,    85,     7,    78,     7,    78,
436         7,    85,    -1,    43,     7,    83,     7,    77,    -1,    44,        -1,    43,     7,    85,     7,    79,    -1,    44,     7,    85,
437         7,    83,     7,    78,     7,    79,     7,    80,    -1,    45,         7,    80,     7,    81,     7,    82,    -1,    52,     7,    85,
438         7,    83,     7,    81,    -1,    48,     7,    83,     7,    82,         7,    80,    -1,    46,     7,    85,     7,    81,    -1,    47,
439        -1,    89,    11,    88,    -1,    72,     7,    89,    11,    88,         7,    85,     7,    82,    -1,    45,     7,    85,     7,    83,
440        -1,    56,    -1,    57,    -1,    39,    -1,    53,    -1,    87,        -1,    48,     7,    85,     7,    84,    -1,    90,    11,    89,
441         7,    84,     7,    83,    -1,    18,     7,    87,     7,    84,        -1,    72,     7,    90,    11,    89,    -1,    56,    -1,    57,
442         7,    83,    -1,    86,     7,    83,    -1,    89,    -1,     5,        -1,    39,    -1,    53,    -1,    88,     7,    86,     7,    85,
443        -1,     5,    -1,     5,    -1,    89,    -1,     4,    -1,     5,        -1,    18,     7,    88,     7,    86,     7,    85,    -1,    87,
444        -1,     5,    -1,     5,    -1,     5,    -1,    89,    -1,     6,         7,    85,    -1,     5,    -1,     5,    -1,    90,    -1,     5,
445        -1,    89,    -1,     6,    -1,     5,    -1,     4,    -1,     3,        -1,     5,    -1,     5,    -1,    90,    -1,     4,    -1,     5,
446        -1,    89,     3,    -1        -1,     5,    -1,     5,    -1,    90,    -1,     6,    -1,     6,
447          -1,     5,    -1,     4,    -1,     3,    -1,    90,     3,    -1
448  };  };
449    
450  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
451  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
452  {  {
453         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    79,    79,    81,    82,    83,    84,    87,    88,    89,
454        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,        90,    91,    94,    95,    96,    97,    98,    99,   100,   101,
455       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,       102,   103,   104,   105,   108,   109,   110,   111,   112,   113,
456       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,       116,   117,   118,   119,   120,   121,   124,   125,   126,   127,
457       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
458       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       138,   139,   140,   141,   142,   143,   144,   145,   148,   149,
459       150,   151,   152,   153,   154,   157,   158,   159,   162,   163,       150,   151,   152,   155,   156,   157,   158,   161,   162,   165,
460       166,   167,   170,   171,   172,   173,   174,   175,   178,   179,       166,   169,   170,   171,   172,   173,   174,   175,   176,   177,
461       182,   183,   186,   187,   190,   191,   194,   197,   200,   203,       180,   181,   184,   185,   188,   189,   192,   193,   196,   199,
462       206,   209,   212,   213,   216,   219,   222,   225,   228,   229,       202,   205,   208,   211,   214,   217,   220,   221,   224,   227,
463       232,   233,   234,   237,   238       230,   233,   236,   237,   238,   241,   242
464  };  };
465  #endif  #endif
466    
# Line 487  static const char *const yytname[] = Line 489  static const char *const yytname[] =
489    "create_instruction", "destroy_instruction", "load_instruction",    "create_instruction", "destroy_instruction", "load_instruction",
490    "set_chan_instruction", "key_val_list", "buffer_size_type",    "set_chan_instruction", "key_val_list", "buffer_size_type",
491    "list_instruction", "load_instr_args", "load_engine_args",    "list_instruction", "load_instr_args", "load_engine_args",
492    "audio_output_type", "midi_input_device", "midi_input_port",    "audio_output_device", "audio_output_channel", "audio_output_type",
493    "midi_input_channel", "midi_input_type", "volume", "sampler_channel",    "midi_input_device", "midi_input_port", "midi_input_channel",
494    "instrument_index", "audio_output_channel", "engine_name", "filename",    "midi_input_type", "volume", "sampler_channel", "instrument_index",
495    "param_val", "string", 0    "engine_name", "filename", "param_val", "string", 0
496  };  };
497  #endif  #endif
498    
# Line 511  static const unsigned short yytoknum[] = Line 513  static const unsigned short yytoknum[] =
513  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
514  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
515  {  {
516         0,    59,    60,    60,    60,    61,    61,    61,    61,    62,         0,    59,    60,    61,    61,    61,    61,    62,    62,    62,
517        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,        62,    62,    63,    63,    63,    63,    63,    63,    63,    63,
518        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,        63,    63,    63,    63,    64,    64,    64,    64,    64,    64,
519        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,        65,    65,    65,    65,    65,    65,    66,    66,    66,    66,
520        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
521        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    67,    67,
522        67,    67,    67,    67,    67,    68,    68,    68,    69,    69,        67,    67,    67,    68,    68,    68,    68,    69,    69,    70,
523        70,    70,    71,    71,    71,    71,    71,    71,    72,    72,        70,    71,    71,    71,    71,    71,    71,    71,    71,    71,
524        73,    73,    74,    74,    75,    75,    76,    77,    78,    79,        72,    72,    73,    73,    74,    74,    75,    75,    76,    77,
525        80,    81,    82,    82,    83,    84,    85,    86,    87,    87,        78,    79,    80,    81,    82,    83,    84,    84,    85,    86,
526        88,    88,    88,    89,    89        87,    88,    89,    89,    89,    90,    90
527  };  };
528    
529  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
530  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
531  {  {
532         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     2,     0,     1,     1,     1,     1,     2,     2,
533         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     3,     3,     3,     3,     3,     3,     5,     3,
534         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     5,     1,     1,     1,     1,     1,     1,     1,
535         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     5,     7,
536         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         9,     1,     5,     7,     9,     1,     1,     5,     5,     7,
537         5,     7,     7,     9,     1,     5,     7,     5,     5,     5,         7,     9,     1,     5,     7,     5,     5,     5,     7,     9,
538         7,     9,     7,     9,     3,     5,     3,     3,     3,     3,         7,     9,     3,     5,     3,     5,     3,     3,     3,     3,
539         3,     3,     5,     7,     5,     9,     5,     5,     3,     5,         3,     5,     7,     5,     9,     5,     5,     5,     5,     5,
540         1,     1,     1,     1,     5,     7,     3,     1,     1,     1,         3,     5,     1,     1,     1,     1,     5,     7,     3,     1,
541         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
542         1,     1,     1,     1,     2         1,     1,     1,     1,     1,     1,     2
543  };  };
544    
545  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 545  static const unsigned char yyr2[] = Line 547  static const unsigned char yyr2[] =
547     means the default is an error.  */     means the default is an error.  */
548  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
549  {  {
550         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
551         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,    23,     0,     0,     4,     5,     0,
552         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
553         1,     0,     0,   103,    12,    11,    10,    13,    14,     0,         1,     2,   105,    10,     9,     8,    11,    12,     0,    36,
554        38,    43,    54,     0,     0,     0,     0,    47,     0,     0,        41,    52,     0,     0,     0,     0,    45,     0,     0,     0,
555         0,     0,     0,    39,     0,    48,    15,     0,     0,    16,         0,     0,    37,     0,    46,    13,     0,     0,    14,     0,
556         0,     0,    17,    82,    83,    18,     0,     0,    19,     0,         0,    15,    84,    85,    16,     0,     0,    17,     0,     0,
557         0,     0,     0,     0,     0,    21,    26,    30,    29,    28,         0,     0,     0,     0,    19,    24,    28,    27,    26,    25,
558        27,    31,    22,    32,    36,    35,    34,    33,    37,    23,        29,    20,    30,    34,    33,    32,    31,    35,    21,     0,
559         0,     3,     0,   104,     0,     0,     0,     0,     0,     0,       106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
560         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     4,     0,  
561         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
562         0,     0,     0,    66,    67,    68,    69,    98,     0,    70,         0,     0,     0,     0,     0,     0,     0,     0,     0,    64,
563         0,    99,    71,     0,    97,    94,    20,     0,     0,     0,        66,    67,    68,   101,     0,    69,     0,    70,     0,   100,
564         0,     0,     0,    64,     0,     0,     0,     0,    24,     0,        98,    18,     0,     0,     0,     0,     0,     0,     0,     0,
565           0,    62,     0,     0,     0,     0,    22,     0,     0,     0,
566         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
567         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
568         0,     0,     0,     0,     0,     0,     0,    55,    80,    81,         0,     0,     0,     0,     0,     0,     0,     0,     0,    53,
569         0,    57,    58,    59,     0,     0,    49,    44,     0,     0,        82,    83,     0,    55,    56,    57,     0,     0,    47,    42,
570        40,     0,    50,    65,     0,     0,    95,     0,    86,     0,         0,     0,    38,     0,    48,    63,     0,    65,     0,    99,
571           0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
572         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
573         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574         0,     0,     0,     0,     0,     0,     0,     0,     0,    56,         0,     0,     0,     0,     0,     0,     0,     0,    54,    50,
575        52,     0,    45,    51,    41,     0,   102,   101,   100,    78,         0,    43,    49,    39,     0,   104,   103,   102,    80,     0,
576         0,    84,    96,     0,    72,    74,    87,    88,     0,    76,        86,    90,     0,    89,    71,    73,    91,    92,     0,    78,
577        91,    92,    93,    77,     0,    60,    62,     0,     0,     0,        95,    93,    76,    94,    77,    96,    97,    79,    75,     0,
578         0,     0,     0,     0,     0,     0,     0,    53,    46,    42,        58,    60,     0,     0,     0,     0,     0,     0,     0,     0,
579        79,    85,    73,    89,     0,    61,    63,     0,    90,    75         0,     0,    51,    44,    40,    81,    87,    72,     0,    59,
580          61,     0,    74
581  };  };
582    
583  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
584  static const short yydefgoto[] =  static const short yydefgoto[] =
585  {  {
586        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,        -1,    15,    16,    17,    18,    81,    88,    55,    74,    58,
587        62,    68,   153,   203,   190,    65,   139,   142,   255,   258,        61,    67,   151,   205,   192,    64,   135,   137,   264,   262,
588       284,   289,   259,   263,   146,   207,   253,   143,   140,   249,       265,   268,   272,   274,   269,   277,   141,   210,   138,   136,
589       204       258,   206
590  };  };
591    
592  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
593     STATE-NUM.  */     STATE-NUM.  */
594  #define YYPACT_NINF -235  #define YYPACT_NINF -242
595  static const short yypact[] =  static const short yypact[] =
596  {  {
597       101,  -235,  -235,    10,    40,    62,    78,    83,    92,   112,       163,  -242,  -242,     6,    20,    71,    82,    86,    90,   100,
598       133,   138,   140,   141,  -235,    44,  -235,   134,  -235,   127,       120,   122,   123,   124,  -242,   128,   125,    51,  -242,   107,
599        45,   -24,   -20,   -14,    71,   130,   -21,   -22,    -9,   135,        67,   -27,   -26,   -25,    41,   109,   -22,   -23,   -10,   110,
600      -235,   101,   150,  -235,  -235,  -235,  -235,   146,  -235,   152,      -242,  -242,  -242,  -242,  -242,  -242,   133,  -242,   130,  -242,
601      -235,  -235,  -235,   154,   155,   156,   157,  -235,   158,   159,      -242,  -242,   131,   132,   134,   135,  -242,   136,   138,   139,
602       162,   163,   164,  -235,   165,  -235,  -235,   166,   167,  -235,       140,   143,  -242,   146,  -242,  -242,   147,   148,  -242,   149,
603       168,   169,  -235,  -235,  -235,  -235,   170,   171,  -235,   172,       150,  -242,  -242,  -242,  -242,   151,   152,  -242,   153,   154,
604       173,   174,   175,   176,   177,  -235,  -235,  -235,  -235,  -235,       155,   156,   158,   159,  -242,  -242,  -242,  -242,  -242,  -242,
605      -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,      -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,   160,
606       178,  -235,   101,  -235,    24,   160,   161,   179,   180,   181,      -242,    68,   142,   161,   162,   164,   165,   166,   167,   168,
607       182,   183,   185,   187,   189,   184,   184,   188,   190,     9,       169,   170,   137,   137,   176,   183,    11,   137,   184,    36,
608       184,   191,    90,   192,   193,   194,   195,   191,  -235,   196,       185,   188,   196,   197,   184,   198,   199,   200,   201,   202,
609       197,   199,   213,   215,   216,   217,   218,   219,   220,   221,       203,   205,   208,   209,   210,   211,   212,   214,   216,    33,
610       222,   223,   224,    28,   146,  -235,  -235,  -235,   225,  -235,        34,  -242,  -242,  -242,   217,  -242,   218,  -242,   219,   133,
611       226,   146,  -235,   227,   146,  -235,  -235,   228,   229,   230,      -242,  -242,   221,   222,   224,   225,   226,   227,   228,   229,
612       231,   232,   233,  -235,   234,   235,   236,   237,  -235,   191,       230,  -242,   231,   232,   233,   234,  -242,   184,    54,   184,
613        51,   191,   191,   184,   240,   241,   242,   184,   184,   243,       184,   137,   237,   238,   239,   137,   137,   240,   137,   137,
614       184,   184,   244,   184,    23,   245,   191,   191,   191,   191,       241,   137,   137,   242,   244,   184,   184,   184,   184,   184,
615       191,   191,   191,   247,   184,   184,   248,  -235,  -235,  -235,       184,   184,   184,   184,   184,   245,   137,   137,   246,  -242,
616       249,  -235,  -235,  -235,   250,   251,  -235,   146,    68,   252,      -242,  -242,   247,  -242,  -242,  -242,   248,   249,  -242,   133,
617       146,    97,  -235,   253,     2,   254,  -235,   255,  -235,   256,        50,   250,   133,    52,  -242,   251,    13,   251,   252,  -242,
618       257,   258,   259,   260,   261,   262,    27,    37,   263,   191,       253,  -242,   254,   255,   256,   257,   258,   260,   261,   262,
619       266,   267,   184,   268,   184,   184,    73,   245,   191,   269,       263,   264,    27,    28,   265,   184,   268,   269,   137,   270,
620       270,   184,   271,   184,   125,   184,    73,    73,   184,  -235,       137,   137,   118,   244,   184,   271,   272,   137,   273,   137,
621      -235,   272,   124,  -235,   129,    47,  -235,  -235,  -235,  -235,       274,   275,   121,   273,   137,   118,   118,   137,  -242,  -242,
622       273,  -235,  -235,   274,  -235,  -235,   146,  -235,   275,  -235,       276,    70,  -242,    84,    31,  -242,  -242,  -242,  -242,   277,
623       146,  -235,  -235,  -235,    48,  -235,  -235,    65,   184,   184,      -242,  -242,   278,  -242,  -242,  -242,   133,  -242,   279,  -242,
624       184,    73,   191,   269,   278,    73,    73,   146,   253,   253,       133,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,    40,
625      -235,  -235,  -235,  -235,   277,  -235,  -235,   280,  -235,  -235      -242,  -242,    49,   137,   137,   137,   118,   184,   271,   274,
626         118,   118,   133,   251,   251,  -242,  -242,  -242,   280,  -242,
627        -242,   275,  -242
628  };  };
629    
630  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
631  static const short yypgoto[] =  static const short yypgoto[] =
632  {  {
633      -235,  -235,   -25,  -235,  -235,  -235,  -235,  -235,  -235,  -235,      -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,
634      -235,  -235,  -235,  -127,  -235,  -235,  -235,  -235,  -235,  -235,      -242,  -242,  -242,  -170,  -242,  -242,  -242,  -242,  -242,  -120,
635      -235,  -235,  -235,  -235,  -116,   -41,   -85,    26,    18,  -234,      -242,   -40,   -85,   -54,  -242,  -242,  -113,    19,    92,   108,
636       -17      -241,   -17
637  };  };
638    
639  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
640     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
641     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
642     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
643  #define YYTABLE_NINF -6  #define YYTABLE_NINF -4
644  static const short yytable[] =  static const short yytable[] =
645  {  {
646        37,   158,   265,   266,    70,    93,    91,    76,    77,    78,        36,   156,   207,    69,   280,   281,    75,    76,    77,    78,
647        79,    80,    33,   226,    57,   137,    71,    19,    60,    72,        79,    56,    59,    19,    62,    70,    90,   133,    71,    82,
648        83,    84,    85,    86,    87,    63,    33,   138,    58,   137,        83,    84,    85,    86,   232,    57,    60,    20,    63,   134,
649        93,    93,    61,    73,    74,   173,    81,   280,   236,    64,        90,    90,    72,    73,    90,    80,    90,    90,   245,   246,
650        93,   285,   286,   187,    30,   191,   192,    20,   237,    88,       171,   172,   286,    90,   189,   295,   193,   194,    87,   299,
651        93,    93,    31,    32,   119,   120,   121,   122,   271,   275,       300,   290,    90,    90,    32,    90,    33,   228,    34,   230,
652       208,   209,   210,   211,   212,   213,   214,   118,    93,    21,       291,    35,   211,   212,   213,   214,   215,   216,   217,   218,
653        39,    93,    40,    41,    42,   222,   276,   246,   247,   248,       219,   220,   142,    90,   143,    65,    66,   284,    21,   144,
654        43,    44,    45,    46,    47,    22,    48,    49,   133,   134,       145,   146,   147,   148,   149,   129,   130,    90,   150,    22,
655        23,    50,   141,   144,    51,    52,    53,    54,    55,    24,       139,   285,    38,    23,    39,    40,    41,    24,   115,   116,
656        93,    -5,     1,   239,   224,    66,    67,   188,   189,    -5,       117,   118,    42,    43,    44,    45,    46,    25,    47,    48,
657        -5,     2,   251,     3,     4,     5,     6,     7,     8,    25,       190,   191,   248,    49,   293,   294,    50,    51,    52,    53,
658         9,    10,    11,    12,    13,    14,   147,    93,   148,   261,        54,   260,   255,   256,   257,   275,   276,    26,    30,    27,
659       262,   269,    93,   149,   150,   151,   270,    33,   152,    34,        28,    29,    37,    31,    68,    89,    90,    91,    92,    93,
660        26,    35,   278,   279,    36,    27,   144,    28,    29,    93,        32,    94,    95,    96,   139,    97,    98,    99,   199,   200,
661       197,   198,    38,   200,   201,    69,   281,   141,    92,    94,       100,   202,   203,   101,   102,   103,   104,   105,   106,   107,
662        90,    95,    96,    97,    98,    99,   100,   216,   217,   101,       108,   109,   110,   111,     1,   112,   113,   114,   297,   222,
663       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       223,    -3,   119,     2,   296,     3,     4,     5,     6,     7,
664       112,   113,   114,   115,   116,   117,   250,    33,   282,   193,         8,   131,     9,    10,    11,    12,    13,    14,   132,   140,
665       123,   124,   205,   135,     0,   136,   145,   154,   155,   156,       152,   120,   121,   153,   122,   123,   124,   125,   126,   127,
666       157,     0,     0,   159,   160,   242,   161,   244,   245,   125,       128,   154,   155,   278,   298,   157,   158,   159,   160,   161,
667       126,   127,   128,   129,   256,   130,   260,   131,   264,   132,       162,   251,   163,   253,   254,   164,   165,   166,   167,   168,
668       162,   267,   163,   164,   165,   166,   167,   168,   169,   170,       266,   169,   270,   170,   173,   174,   175,   279,   176,   177,
669       171,   172,   174,   175,   176,   177,   178,   179,   180,   181,       282,   178,   179,   180,   181,   182,   183,   184,   185,   186,
670       182,   183,   184,   185,   186,   194,   195,   196,   199,   202,       187,   188,   196,   197,   198,   201,   204,   302,   133,   209,
671       206,   277,   215,   218,     0,     0,   219,   220,   221,   223,       221,   224,   259,   195,   225,   226,   227,   229,   231,   233,
672       225,   227,   228,   229,   230,   231,   232,   233,   234,   235,       234,   235,   236,   237,   238,   239,   292,   240,   241,   242,
673       238,   240,   241,   243,   252,   254,   257,     0,     0,   268,       243,   244,   247,   249,   250,   252,   261,   263,   267,   271,
674       272,   273,   274,   283,   287,   288       273,   208,     0,   283,   287,   288,   289,   301
675  };  };
676    
677  static const short yycheck[] =  static const short yycheck[] =
678  {  {
679        17,   117,   236,   237,    25,     3,    31,    29,    30,    31,        17,   114,   172,    25,   245,   246,    29,    30,    31,    32,
680        32,    33,     3,    11,    38,     6,    37,     7,    38,    40,        33,    38,    38,     7,    39,    37,     3,     6,    40,    29,
681        29,    30,    31,    32,    33,    39,     3,    18,    52,     6,        30,    31,    32,    33,    11,    52,    52,     7,    53,    18,
682         3,     3,    52,    54,    55,     7,    58,   271,    11,    53,         3,     3,    54,    55,     3,    58,     3,     3,    11,    11,
683         3,   275,   276,   159,     0,   161,   162,     7,    11,    58,         7,     7,    11,     3,   157,   286,   159,   160,    58,   290,
684         3,     3,     8,     9,    30,    31,    32,    33,    11,    11,       291,    11,     3,     3,     3,     3,     5,     7,     7,     7,
685       176,   177,   178,   179,   180,   181,   182,    92,     3,     7,        11,    10,   175,   176,   177,   178,   179,   180,   181,   182,
686        25,     3,    27,    28,    29,     7,    11,     4,     5,     6,       183,   184,    36,     3,    38,    34,    35,     7,     7,    43,
687        35,    36,    37,    38,    39,     7,    41,    42,   105,   106,        44,    45,    46,    47,    48,   102,   103,     3,    52,     7,
688         7,    46,   109,   110,    49,    50,    51,    52,    53,     7,       107,     7,    25,     7,    27,    28,    29,     7,    30,    31,
689         3,     0,     1,   219,     7,    34,    35,    56,    57,     8,        32,    33,    35,    36,    37,    38,    39,     7,    41,    42,
690         9,    10,   228,    12,    13,    14,    15,    16,    17,     7,        56,    57,   225,    46,   284,   285,    49,    50,    51,    52,
691        19,    20,    21,    22,    23,    24,    36,     3,    38,     4,        53,   234,     4,     5,     6,     4,     5,     7,     0,     7,
692         5,     7,     3,    43,    44,    45,     7,     3,    48,     5,         7,     7,    25,     8,    25,    25,     3,     7,     7,     7,
693         7,     7,   269,   270,    10,     7,   163,     7,     7,     3,         3,     7,     7,     7,   161,     7,     7,     7,   165,   166,
694       167,   168,    25,   170,   171,    25,   272,   174,     8,     7,         7,   168,   169,     7,     7,     7,     7,     7,     7,     7,
695        25,     7,     7,     7,     7,     7,     7,   184,   185,     7,         7,     7,     7,     7,     1,     7,     7,     7,   288,   186,
696         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       187,     8,    30,    10,   287,    12,    13,    14,    15,    16,
697         7,     7,     7,     7,     7,     7,   227,     3,   273,   163,        17,     5,    19,    20,    21,    22,    23,    24,     5,     5,
698        30,    30,   174,     5,    -1,     5,     5,     5,     5,     5,         5,    30,    30,     5,    30,    30,    30,    30,    30,    30,
699         5,    -1,    -1,     7,     7,   222,     7,   224,   225,    30,        30,     5,     5,   243,   289,     7,     7,     7,     7,     7,
700        30,    30,    30,    30,   231,    30,   233,    30,   235,    30,         7,   228,     7,   230,   231,     7,     7,     7,     7,     7,
701         7,   238,     7,     7,     7,     7,     7,     7,     7,     7,       237,     7,   239,     7,     7,     7,     7,   244,     7,     7,
702         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       247,     7,     7,     7,     7,     7,     7,     7,     7,     7,
703         7,     7,     7,     7,     7,     5,     5,     5,     5,     5,         7,     7,     5,     5,     5,     5,     5,   301,     6,     5,
704         5,   268,     5,     5,    -1,    -1,     7,     7,     7,     7,         5,     5,   233,   161,     7,     7,     7,     7,     7,     7,
705         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,   283,     7,     7,     7,
706         7,     5,     5,     5,     5,     5,     5,    -1,    -1,     7,         7,     7,     7,     5,     5,     5,     5,     5,     5,     5,
707         7,     7,     7,     5,     7,     5         5,   173,    -1,     7,     7,     7,     7,     7
708  };  };
709    
710  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 708  static const unsigned char yystos[] = Line 714  static const unsigned char yystos[] =
714         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,
715        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,
716         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
717         0,     8,     9,     3,     5,     7,    10,    89,    25,    25,         0,     8,     3,     5,     7,    10,    90,    25,    25,    27,
718        27,    28,    29,    35,    36,    37,    38,    39,    41,    42,        28,    29,    35,    36,    37,    38,    39,    41,    42,    46,
719        46,    49,    50,    51,    52,    53,    66,    38,    52,    68,        49,    50,    51,    52,    53,    66,    38,    52,    68,    38,
720        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,        52,    69,    39,    53,    74,    34,    35,    70,    25,    25,
721        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,        37,    40,    54,    55,    67,    29,    30,    31,    32,    33,
722        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,        58,    64,    29,    30,    31,    32,    33,    58,    65,    25,
723        25,    61,     8,     3,     7,     7,     7,     7,     7,     7,         3,     7,     7,     7,     7,     7,     7,     7,     7,     7,
724         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
725         7,     7,     7,     7,     7,     7,     7,     7,    61,    30,         7,     7,     7,     7,     7,    30,    31,    32,    33,    30,
726        31,    32,    33,    30,    30,    30,    30,    30,    30,    30,        30,    30,    30,    30,    30,    30,    30,    30,    30,    90,
727        30,    30,    30,    89,    89,     5,     5,     6,    18,    75,        90,     5,     5,     6,    18,    75,    88,    76,    87,    90,
728        87,    89,    76,    86,    89,     5,    83,    36,    38,    43,         5,    85,    36,    38,    43,    44,    45,    46,    47,    48,
729        44,    45,    48,    71,     5,     5,     5,     5,    83,     7,        52,    71,     5,     5,     5,     5,    85,     7,     7,     7,
730         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
731         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
732         7,     7,     7,     7,     7,     7,     7,    83,    56,    57,         7,     7,     7,     7,     7,     7,     7,     7,     7,    85,
733        73,    83,    83,    86,     5,     5,     5,    89,    89,     5,        56,    57,    73,    85,    85,    87,     5,     5,     5,    90,
734        89,    89,     5,    72,    89,    87,     5,    84,    83,    83,        90,     5,    90,    90,     5,    72,    90,    72,    88,     5,
735        83,    83,    83,    83,    83,     5,    89,    89,     5,     7,        86,    85,    85,    85,    85,    85,    85,    85,    85,    85,
736         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,        85,     5,    90,    90,     5,     7,     7,     7,     7,     7,
737         7,     7,     7,     7,     7,     7,    11,    11,     7,    83,         7,     7,    11,     7,     7,     7,     7,     7,     7,     7,
738         5,     5,    89,     5,    89,    89,     4,     5,     6,    88,         7,     7,     7,     7,     7,    11,    11,     7,    85,     5,
739        84,    83,     5,    85,     5,    77,    89,     5,    78,    81,         5,    90,     5,    90,    90,     4,     5,     6,    89,    86,
740        89,     4,     5,    82,    89,    88,    88,    89,     7,     7,        85,     5,    78,     5,    77,    79,    90,     5,    80,    83,
741         7,    11,     7,     7,     7,    11,    11,    89,    72,    72,        90,     5,    81,     5,    82,     4,     5,    84,    80,    90,
742        88,    83,    85,     5,    79,    88,    88,     7,     5,    80        89,    89,    90,     7,     7,     7,    11,     7,     7,     7,
743          11,    11,    90,    72,    72,    89,    85,    78,    81,    89,
744          89,     7,    82
745  };  };
746    
747  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1343  yyreduce: Line 1351  yyreduce:
1351    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
1352    switch (yyn)    switch (yyn)
1353      {      {
1354          case 7:          case 3:
1355  #line 85 "lscp.y"  #line 81 "lscp.y"
1356      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
1357        break;
1358    
1359      case 4:
1360    #line 82 "lscp.y"
1361        { return LSCP_DONE; }
1362        break;
1363    
1364      case 5:
1365    #line 83 "lscp.y"
1366        { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }
1367      break;      break;
1368    
1369    case 8:    case 6:
1370  #line 86 "lscp.y"  #line 84 "lscp.y"
1371      { 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; }
1372      break;      break;
1373    
1374      case 12:
1375    #line 94 "lscp.y"
1376        { yyval.String = LSCPSERVER->AddChannel();                  }
1377        break;
1378    
1379      case 13:
1380    #line 95 "lscp.y"
1381        { yyval.String = yyvsp[0].String;                                        }
1382        break;
1383    
1384    case 14:    case 14:
1385  #line 96 "lscp.y"  #line 96 "lscp.y"
1386      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = yyvsp[0].String;                                        }
1387      break;      break;
1388    
1389    case 15:    case 15:
# Line 1375  yyreduce: Line 1403  yyreduce:
1403    
1404    case 18:    case 18:
1405  #line 100 "lscp.y"  #line 100 "lscp.y"
1406      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1407      break;      break;
1408    
1409    case 19:    case 19:
# Line 1385  yyreduce: Line 1413  yyreduce:
1413    
1414    case 20:    case 20:
1415  #line 102 "lscp.y"  #line 102 "lscp.y"
1416      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                        }
1417      break;      break;
1418    
1419    case 21:    case 21:
# Line 1395  yyreduce: Line 1423  yyreduce:
1423    
1424    case 22:    case 22:
1425  #line 104 "lscp.y"  #line 104 "lscp.y"
1426      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1427      break;      break;
1428    
1429    case 23:    case 23:
1430  #line 105 "lscp.y"  #line 105 "lscp.y"
1431      { yyval.String = yyvsp[0].String;                                        }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
1432      break;      break;
1433    
1434    case 24:    case 24:
1435  #line 106 "lscp.y"  #line 108 "lscp.y"
1436      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); }
1437      break;      break;
1438    
1439    case 25:    case 25:
1440  #line 107 "lscp.y"  #line 109 "lscp.y"
1441      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
1442      break;      break;
1443    
1444    case 26:    case 26:
1445  #line 110 "lscp.y"  #line 110 "lscp.y"
1446      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
1447      break;      break;
1448    
1449    case 27:    case 27:
1450  #line 111 "lscp.y"  #line 111 "lscp.y"
1451      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
1452      break;      break;
1453    
1454    case 28:    case 28:
1455  #line 112 "lscp.y"  #line 112 "lscp.y"
1456      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info); }
1457      break;      break;
1458    
1459    case 29:    case 29:
1460  #line 113 "lscp.y"  #line 113 "lscp.y"
1461      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
1462      break;      break;
1463    
1464    case 30:    case 30:
1465  #line 114 "lscp.y"  #line 116 "lscp.y"
1466      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels); }
1467      break;      break;
1468    
1469    case 31:    case 31:
1470  #line 115 "lscp.y"  #line 117 "lscp.y"
1471      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
1472      break;      break;
1473    
1474    case 32:    case 32:
1475  #line 118 "lscp.y"  #line 118 "lscp.y"
1476      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
1477      break;      break;
1478    
1479    case 33:    case 33:
1480  #line 119 "lscp.y"  #line 119 "lscp.y"
1481      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
1482      break;      break;
1483    
1484    case 34:    case 34:
1485  #line 120 "lscp.y"  #line 120 "lscp.y"
1486      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info); }
1487      break;      break;
1488    
1489    case 35:    case 35:
1490  #line 121 "lscp.y"  #line 121 "lscp.y"
1491      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
1492      break;      break;
1493    
1494    case 36:    case 36:
1495  #line 122 "lscp.y"  #line 124 "lscp.y"
1496      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->GetAvailableEngines();       }
1497      break;      break;
1498    
1499    case 37:    case 37:
1500  #line 123 "lscp.y"  #line 125 "lscp.y"
1501      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();       }
1502      break;      break;
1503    
1504    case 38:    case 38:
1505  #line 126 "lscp.y"  #line 126 "lscp.y"
1506      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);       }
1507      break;      break;
1508    
1509    case 39:    case 39:
1510  #line 127 "lscp.y"  #line 127 "lscp.y"
1511      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1512      break;      break;
1513    
1514    case 40:    case 40:
1515  #line 128 "lscp.y"  #line 128 "lscp.y"
1516      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1517      break;      break;
1518    
1519    case 41:    case 41:
1520  #line 129 "lscp.y"  #line 129 "lscp.y"
1521      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();       }
1522      break;      break;
1523    
1524    case 42:    case 42:
1525  #line 130 "lscp.y"  #line 130 "lscp.y"
1526      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);       }
1527      break;      break;
1528    
1529    case 43:    case 43:
1530  #line 131 "lscp.y"  #line 131 "lscp.y"
1531      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1532      break;      break;
1533    
1534    case 44:    case 44:
1535  #line 132 "lscp.y"  #line 132 "lscp.y"
1536      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1537      break;      break;
1538    
1539    case 45:    case 45:
1540  #line 133 "lscp.y"  #line 133 "lscp.y"
1541      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();       }
1542      break;      break;
1543    
1544    case 46:    case 46:
1545  #line 134 "lscp.y"  #line 134 "lscp.y"
1546      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();       }
1547      break;      break;
1548    
1549    case 47:    case 47:
1550  #line 135 "lscp.y"  #line 135 "lscp.y"
1551      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);       }
1552      break;      break;
1553    
1554    case 48:    case 48:
1555  #line 136 "lscp.y"  #line 136 "lscp.y"
1556      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);       }
1557      break;      break;
1558    
1559    case 49:    case 49:
1560  #line 137 "lscp.y"  #line 137 "lscp.y"
1561      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1562      break;      break;
1563    
1564    case 50:    case 50:
1565  #line 138 "lscp.y"  #line 138 "lscp.y"
1566      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1567      break;      break;
1568    
1569    case 51:    case 51:
1570  #line 139 "lscp.y"  #line 139 "lscp.y"
1571      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }
1572      break;      break;
1573    
1574    case 52:    case 52:
1575  #line 140 "lscp.y"  #line 140 "lscp.y"
1576      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetChannels();       }
1577      break;      break;
1578    
1579    case 53:    case 53:
1580  #line 141 "lscp.y"  #line 141 "lscp.y"
1581      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);       }
1582      break;      break;
1583    
1584    case 54:    case 54:
1585  #line 142 "lscp.y"  #line 142 "lscp.y"
1586      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);       }
1587      break;      break;
1588    
1589    case 55:    case 55:
1590  #line 143 "lscp.y"  #line 143 "lscp.y"
1591      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);       }
1592      break;      break;
1593    
1594    case 56:    case 56:
1595  #line 144 "lscp.y"  #line 144 "lscp.y"
1596      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);       }
1597      break;      break;
1598    
1599    case 57:    case 57:
1600  #line 145 "lscp.y"  #line 145 "lscp.y"
1601      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);       }
1602      break;      break;
1603    
1604    case 58:    case 58:
1605  #line 146 "lscp.y"  #line 148 "lscp.y"
1606      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1607      break;      break;
1608    
1609    case 59:    case 59:
1610  #line 147 "lscp.y"  #line 149 "lscp.y"
1611      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1612      break;      break;
1613    
1614    case 60:    case 60:
1615  #line 150 "lscp.y"  #line 150 "lscp.y"
1616      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1617      break;      break;
1618    
1619    case 61:    case 61:
1620  #line 151 "lscp.y"  #line 151 "lscp.y"
1621      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1622      break;      break;
1623    
1624    case 62:    case 62:
1625  #line 152 "lscp.y"  #line 152 "lscp.y"
1626      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = yyvsp[0].String;                                                         }
1627      break;      break;
1628    
1629    case 63:    case 63:
1630  #line 153 "lscp.y"  #line 155 "lscp.y"
1631      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1632      break;      break;
1633    
1634    case 64:    case 64:
1635  #line 154 "lscp.y"  #line 156 "lscp.y"
1636      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
1637      break;      break;
1638    
1639    case 65:    case 65:
1640  #line 157 "lscp.y"  #line 157 "lscp.y"
1641      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
1642      break;      break;
1643    
1644    case 66:    case 66:
1645  #line 158 "lscp.y"  #line 158 "lscp.y"
1646      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
1647      break;      break;
1648    
1649    case 67:    case 67:
1650  #line 159 "lscp.y"  #line 161 "lscp.y"
1651      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String); }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number);       }
1652      break;      break;
1653    
1654    case 68:    case 68:
1655  #line 162 "lscp.y"  #line 162 "lscp.y"
1656      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);         }
1657      break;      break;
1658    
1659    case 69:    case 69:
1660  #line 163 "lscp.y"  #line 165 "lscp.y"
1661      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }      { yyval.String = yyvsp[0].String; }
1662      break;      break;
1663    
1664    case 70:    case 70:
# Line 1639  yyreduce: Line 1667  yyreduce:
1667      break;      break;
1668    
1669    case 71:    case 71:
1670  #line 167 "lscp.y"  #line 169 "lscp.y"
1671      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1672      break;      break;
1673    
1674    case 72:    case 72:
1675  #line 170 "lscp.y"  #line 170 "lscp.y"
1676      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1677      break;      break;
1678    
1679    case 73:    case 73:
1680  #line 171 "lscp.y"  #line 171 "lscp.y"
1681      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1682      break;      break;
1683    
1684    case 74:    case 74:
1685  #line 172 "lscp.y"  #line 172 "lscp.y"
1686      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }
1687      break;      break;
1688    
1689    case 75:    case 75:
1690  #line 173 "lscp.y"  #line 173 "lscp.y"
1691      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
1692      break;      break;
1693    
1694    case 76:    case 76:
1695  #line 174 "lscp.y"  #line 174 "lscp.y"
1696      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
1697      break;      break;
1698    
1699    case 77:    case 77:
1700  #line 175 "lscp.y"  #line 175 "lscp.y"
1701      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1702      break;      break;
1703    
1704    case 78:    case 78:
1705  #line 178 "lscp.y"  #line 176 "lscp.y"
1706      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1707      break;      break;
1708    
1709    case 79:    case 79:
1710  #line 179 "lscp.y"  #line 177 "lscp.y"
1711      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1712      break;      break;
1713    
1714    case 80:    case 80:
1715  #line 182 "lscp.y"  #line 180 "lscp.y"
1716      { yyval.FillResponse = fill_response_bytes;      }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1717      break;      break;
1718    
1719    case 81:    case 81:
1720  #line 183 "lscp.y"  #line 181 "lscp.y"
1721      { yyval.FillResponse = fill_response_percentage; }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1722      break;      break;
1723    
1724    case 82:    case 82:
1725  #line 186 "lscp.y"  #line 184 "lscp.y"
1726      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.FillResponse = fill_response_bytes;      }
1727      break;      break;
1728    
1729    case 83:    case 83:
1730  #line 187 "lscp.y"  #line 185 "lscp.y"
1731      { yyval.String = LSCPSERVER->GetMidiInputDevices(); }      { yyval.FillResponse = fill_response_percentage; }
1732      break;      break;
1733    
1734    case 84:    case 84:
1735  #line 190 "lscp.y"  #line 188 "lscp.y"
1736      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->GetAudioOutputDevices();       }
1737      break;      break;
1738    
1739    case 85:    case 85:
1740  #line 191 "lscp.y"  #line 189 "lscp.y"
1741      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->GetMidiInputDevices();       }
1742      break;      break;
1743    
1744    case 86:    case 86:
1745  #line 194 "lscp.y"  #line 192 "lscp.y"
1746      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
1747      break;      break;
1748    
1749    case 93:    case 87:
1750  #line 213 "lscp.y"  #line 193 "lscp.y"
1751      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true);       }
1752      break;      break;
1753    
1754    case 100:    case 88:
1755  #line 232 "lscp.y"  #line 196 "lscp.y"
1756      { yyval.String = yyvsp[0].String;                                             }      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number);       }
1757      break;      break;
1758    
1759    case 101:    case 97:
1760  #line 233 "lscp.y"  #line 221 "lscp.y"
1761      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { yyval.Dotnum = yyvsp[0].Number; }
1762      break;      break;
1763    
1764    case 102:    case 102:
1765  #line 234 "lscp.y"  #line 236 "lscp.y"
1766      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { yyval.String = yyvsp[0].String;                                             }
1767      break;      break;
1768    
1769    case 103:    case 103:
1770  #line 237 "lscp.y"  #line 237 "lscp.y"
1771      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1772      break;      break;
1773    
1774    case 104:    case 104:
1775  #line 238 "lscp.y"  #line 238 "lscp.y"
1776        { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1777        break;
1778    
1779      case 105:
1780    #line 241 "lscp.y"
1781        { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1782        break;
1783    
1784      case 106:
1785    #line 242 "lscp.y"
1786      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1787      break;      break;
1788    
# Line 1752  yyreduce: Line 1790  yyreduce:
1790      }      }
1791    
1792  /* Line 999 of yacc.c.  */  /* Line 999 of yacc.c.  */
1793  #line 1755 "y.tab.c"  #line 1793 "y.tab.c"
1794    
1795    yyvsp -= yylen;    yyvsp -= yylen;
1796    yyssp -= yylen;    yyssp -= yylen;
# Line 1946  yyreturn: Line 1984  yyreturn:
1984  }  }
1985    
1986    
1987  #line 78 "lscp.y"  #line 79 "lscp.y"
1988    
1989    
1990  /**  /**
# Line 1962  void yyerror(const char* s) { Line 2000  void yyerror(const char* s) {
2000  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
2001      // restart scanner      // restart scanner
2002      yyrestart(stdin, pparam->pScanner);      yyrestart(stdin, pparam->pScanner);
     // flush input buffer  
     static char buf[1024];  
     while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0);  
2003      // reset lookahead symbol      // reset lookahead symbol
2004      yyclearin;      yyclearin;
2005  }  }

Legend:
Removed from v.155  
changed lines
  Added in v.170

  ViewVC Help
Powered by ViewVC