/[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 160 by capela, Tue Jun 29 21:44:12 2004 UTC revision 210 by schoenebeck, Sat Jul 24 12:33:49 2004 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875.  */  /* A Bison parser, made by GNU Bison 1.875a.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton parser for Yacc-like parsing with Bison,
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
5    
6     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 74  Line 74 
74       SUBSCRIBE = 276,       SUBSCRIBE = 276,
75       UNSUBSCRIBE = 277,       UNSUBSCRIBE = 277,
76       RESET = 278,       RESET = 278,
77       QUIT = 279,       ECHO = 279,
78       CHANNEL = 280,       QUIT = 280,
79       NOTIFICATION = 281,       CHANNEL = 281,
80       AVAILABLE_ENGINES = 282,       NOTIFICATION = 282,
81       AVAILABLE_AUDIO_OUTPUT_DRIVERS = 283,       AVAILABLE_ENGINES = 283,
82       CHANNELS = 284,       AVAILABLE_AUDIO_OUTPUT_DRIVERS = 284,
83       INFO = 285,       CHANNELS = 285,
84       BUFFER_FILL = 286,       INFO = 286,
85       STREAM_COUNT = 287,       BUFFER_FILL = 287,
86       VOICE_COUNT = 288,       STREAM_COUNT = 288,
87       INSTRUMENT = 289,       VOICE_COUNT = 289,
88       ENGINE = 290,       INSTRUMENT = 290,
89       AUDIO_OUTPUT_CHANNEL = 291,       ENGINE = 291,
90       AUDIO_OUTPUT_CHANNEL_PARAMETER = 292,       AUDIO_OUTPUT_CHANNEL = 292,
91       AUDIO_OUTPUT_DEVICE = 293,       AUDIO_OUTPUT_CHANNEL_PARAMETER = 293,
92       AUDIO_OUTPUT_DEVICES = 294,       AUDIO_OUTPUT_DEVICE = 294,
93       AUDIO_OUTPUT_DEVICE_PARAMETER = 295,       AUDIO_OUTPUT_DEVICES = 295,
94       AUDIO_OUTPUT_DRIVER = 296,       AUDIO_OUTPUT_DEVICE_PARAMETER = 296,
95       AUDIO_OUTPUT_DRIVER_PARAMETER = 297,       AUDIO_OUTPUT_DRIVER = 297,
96       AUDIO_OUTPUT_TYPE = 298,       AUDIO_OUTPUT_DRIVER_PARAMETER = 298,
97       MIDI_INPUT = 299,       AUDIO_OUTPUT_TYPE = 299,
98       MIDI_INPUT_TYPE = 300,       MIDI_INPUT = 300,
99       MIDI_INPUT_PORT = 301,       MIDI_INPUT_TYPE = 301,
100       MIDI_INPUT_CHANNEL = 302,       MIDI_INPUT_PORT = 302,
101       VOLUME = 303,       MIDI_INPUT_CHANNEL = 303,
102       MIDI_INPUT_DRIVER = 304,       VOLUME = 304,
103       MIDI_INPUT_DRIVER_PARAMETER = 305,       MIDI_INPUT_DRIVER = 305,
104       AVAILABLE_MIDI_INPUT_DRIVERS = 306,       MIDI_INPUT_DRIVER_PARAMETER = 306,
105       MIDI_INPUT_DEVICE = 307,       AVAILABLE_MIDI_INPUT_DRIVERS = 307,
106       MIDI_INPUT_DEVICES = 308,       MIDI_INPUT_DEVICE = 308,
107       MIDI_INPUT_DEVICE_PARAMETER = 309,       MIDI_INPUT_DEVICES = 309,
108       MIDI_INPUT_PORT_PARAMETER = 310,       MIDI_INPUT_DEVICE_PARAMETER = 310,
109       BYTES = 311,       MIDI_INPUT_PORT_PARAMETER = 311,
110       PERCENTAGE = 312,       BYTES = 312,
111       MISCELLANEOUS = 313       PERCENTAGE = 313,
112         MISCELLANEOUS = 314
113     };     };
114  #endif  #endif
115  #define CHAR 258  #define CHAR 258
# Line 132  Line 133 
133  #define SUBSCRIBE 276  #define SUBSCRIBE 276
134  #define UNSUBSCRIBE 277  #define UNSUBSCRIBE 277
135  #define RESET 278  #define RESET 278
136  #define QUIT 279  #define ECHO 279
137  #define CHANNEL 280  #define QUIT 280
138  #define NOTIFICATION 281  #define CHANNEL 281
139  #define AVAILABLE_ENGINES 282  #define NOTIFICATION 282
140  #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 283  #define AVAILABLE_ENGINES 283
141  #define CHANNELS 284  #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 284
142  #define INFO 285  #define CHANNELS 285
143  #define BUFFER_FILL 286  #define INFO 286
144  #define STREAM_COUNT 287  #define BUFFER_FILL 287
145  #define VOICE_COUNT 288  #define STREAM_COUNT 288
146  #define INSTRUMENT 289  #define VOICE_COUNT 289
147  #define ENGINE 290  #define INSTRUMENT 290
148  #define AUDIO_OUTPUT_CHANNEL 291  #define ENGINE 291
149  #define AUDIO_OUTPUT_CHANNEL_PARAMETER 292  #define AUDIO_OUTPUT_CHANNEL 292
150  #define AUDIO_OUTPUT_DEVICE 293  #define AUDIO_OUTPUT_CHANNEL_PARAMETER 293
151  #define AUDIO_OUTPUT_DEVICES 294  #define AUDIO_OUTPUT_DEVICE 294
152  #define AUDIO_OUTPUT_DEVICE_PARAMETER 295  #define AUDIO_OUTPUT_DEVICES 295
153  #define AUDIO_OUTPUT_DRIVER 296  #define AUDIO_OUTPUT_DEVICE_PARAMETER 296
154  #define AUDIO_OUTPUT_DRIVER_PARAMETER 297  #define AUDIO_OUTPUT_DRIVER 297
155  #define AUDIO_OUTPUT_TYPE 298  #define AUDIO_OUTPUT_DRIVER_PARAMETER 298
156  #define MIDI_INPUT 299  #define AUDIO_OUTPUT_TYPE 299
157  #define MIDI_INPUT_TYPE 300  #define MIDI_INPUT 300
158  #define MIDI_INPUT_PORT 301  #define MIDI_INPUT_TYPE 301
159  #define MIDI_INPUT_CHANNEL 302  #define MIDI_INPUT_PORT 302
160  #define VOLUME 303  #define MIDI_INPUT_CHANNEL 303
161  #define MIDI_INPUT_DRIVER 304  #define VOLUME 304
162  #define MIDI_INPUT_DRIVER_PARAMETER 305  #define MIDI_INPUT_DRIVER 305
163  #define AVAILABLE_MIDI_INPUT_DRIVERS 306  #define MIDI_INPUT_DRIVER_PARAMETER 306
164  #define MIDI_INPUT_DEVICE 307  #define AVAILABLE_MIDI_INPUT_DRIVERS 307
165  #define MIDI_INPUT_DEVICES 308  #define MIDI_INPUT_DEVICE 308
166  #define MIDI_INPUT_DEVICE_PARAMETER 309  #define MIDI_INPUT_DEVICES 309
167  #define MIDI_INPUT_PORT_PARAMETER 310  #define MIDI_INPUT_DEVICE_PARAMETER 310
168  #define BYTES 311  #define MIDI_INPUT_PORT_PARAMETER 311
169  #define PERCENTAGE 312  #define BYTES 312
170  #define MISCELLANEOUS 313  #define PERCENTAGE 313
171    #define MISCELLANEOUS 314
172    
173    
174    
175    
176  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
177  #line 23 "lscp.y"  #line 26 "lscp.y"
178    
179    
180  #include "lscpparser.h"  #include "lscpparser.h"
181  #include "lscpserver.h"  #include "lscpserver.h"
182    #include "lscpevent.h"
183    
184  // 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
185  #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner  #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner
# Line 225  typedef int YYSTYPE; Line 228  typedef int YYSTYPE;
228    
229    
230  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
231  #line 228 "y.tab.c"  #line 232 "y.tab.c"
232    
233  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
234    
# Line 324  union yyalloc Line 327  union yyalloc
327  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
328  #define YYFINAL  30  #define YYFINAL  30
329  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
330  #define YYLAST   293  #define YYLAST   306
331    
332  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
333  #define YYNTOKENS  59  #define YYNTOKENS  60
334  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
335  #define YYNNTS  32  #define YYNNTS  33
336  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
337  #define YYNRULES  108  #define YYNRULES  111
338  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
339  #define YYNSTATES  307  #define YYNSTATES  318
340    
341  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
342  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
343  #define YYMAXUTOK   313  #define YYMAXUTOK   314
344    
345  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
346    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 376  static const unsigned char yytranslate[] Line 379  static const unsigned char yytranslate[]
379        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
380        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
381        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
382        55,    56,    57,    58        55,    56,    57,    58,    59
383  };  };
384    
385  #if YYDEBUG  #if YYDEBUG
# Line 384  static const unsigned char yytranslate[] Line 387  static const unsigned char yytranslate[]
387     YYRHS.  */     YYRHS.  */
388  static const unsigned short yyprhs[] =  static const unsigned short yyprhs[] =
389  {  {
390         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     6,     7,     9,    11,    13,    15,    18,
391        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        21,    24,    27,    31,    35,    39,    43,    47,    51,    57,
392        59,    65,    69,    73,    77,    83,    85,    87,    89,    91,        61,    65,    69,    75,    77,    79,    81,    83,    85,    87,
393        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        89,    91,    93,    95,    97,    99,   101,   103,   105,   111,
394       113,   119,   127,   137,   139,   145,   153,   163,   165,   167,       119,   129,   131,   137,   145,   155,   157,   159,   165,   171,
395       173,   179,   187,   195,   205,   207,   213,   221,   227,   233,       179,   189,   197,   207,   209,   215,   223,   229,   235,   241,
396       239,   247,   257,   265,   275,   279,   285,   289,   295,   299,       249,   259,   267,   277,   281,   285,   291,   295,   301,   305,
397       303,   307,   311,   315,   321,   329,   335,   345,   351,   357,       309,   313,   317,   321,   327,   335,   341,   351,   357,   363,
398       363,   369,   375,   379,   385,   387,   389,   391,   393,   399,       369,   375,   381,   385,   391,   393,   395,   397,   399,   401,
399       407,   411,   413,   415,   417,   419,   421,   423,   425,   427,       407,   415,   419,   421,   423,   425,   427,   429,   431,   433,
400       429,   431,   433,   435,   437,   439,   441,   443,   445       435,   437,   439,   441,   443,   445,   447,   449,   451,   453,
401         455,   457
402  };  };
403    
404  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
405  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
406  {  {
407        60,     0,    -1,    61,    -1,    60,     8,    61,    -1,    60,        61,     0,    -1,    62,     8,    -1,    -1,    63,    -1,    64,
408         9,     8,    61,    -1,    -1,    62,    -1,    63,    -1,     1,        -1,     1,    -1,    10,    -1,    63,    10,    -1,    63,     7,
409        -1,    10,    -1,    62,    10,    -1,    62,     7,    -1,    62,        -1,    63,     5,    -1,    63,    92,    -1,    12,     7,    26,
410         5,    -1,    62,    90,    -1,    12,     7,    25,    -1,    13,        -1,    13,     7,    67,    -1,    14,     7,    69,    -1,    15,
411         7,    66,    -1,    14,     7,    68,    -1,    15,     7,    69,         7,    70,    -1,    16,     7,    75,    -1,    17,     7,    71,
412        -1,    16,     7,    74,    -1,    17,     7,    70,    -1,    19,        -1,    19,     7,    26,     7,    86,    -1,    20,     7,    68,
413         7,    25,     7,    85,    -1,    20,     7,    67,    -1,    21,        -1,    21,     7,    65,    -1,    22,     7,    66,    -1,    23,
414         7,    64,    -1,    22,     7,    65,    -1,    23,     7,    25,         7,    26,     7,    86,    -1,    25,    -1,    30,    -1,    34,
415         7,    85,    -1,    24,    -1,    29,    -1,    33,    -1,    32,        -1,    33,    -1,    32,    -1,    31,    -1,    59,    -1,    30,
416        -1,    31,    -1,    30,    -1,    58,    -1,    29,    -1,    33,        -1,    34,    -1,    33,    -1,    32,    -1,    31,    -1,    59,
417        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    27,        -1,    28,    -1,    52,    -1,    50,     7,    31,     7,    92,
418        -1,    51,    -1,    49,     7,    30,     7,    90,    -1,    50,        -1,    51,     7,    31,     7,    92,     7,    92,    -1,    51,
419         7,    30,     7,    90,     7,    90,    -1,    50,     7,    30,         7,    31,     7,    92,     7,    92,     7,    73,    -1,    29,
420         7,    90,     7,    90,     7,    72,    -1,    28,    -1,    41,        -1,    42,     7,    31,     7,    92,    -1,    43,     7,    31,
421         7,    30,     7,    90,    -1,    42,     7,    30,     7,    90,         7,    92,     7,    92,    -1,    43,     7,    31,     7,    92,
422         7,    90,    -1,    42,     7,    30,     7,    90,     7,    90,         7,    92,     7,    73,    -1,    40,    -1,    54,    -1,    39,
423         7,    72,    -1,    39,    -1,    53,    -1,    38,     7,    30,         7,    31,     7,     5,    -1,    53,     7,    31,     7,     5,
424         7,     5,    -1,    52,     7,    30,     7,     5,    -1,    46,        -1,    47,     7,    31,     7,     5,     7,     5,    -1,    56,
425         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,         7,    31,     7,     5,     7,     5,     7,    92,    -1,    37,
426         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,         7,    31,     7,     5,     7,     5,    -1,    38,     7,    31,
427         7,     5,     7,    90,    -1,    29,    -1,    25,     7,    30,         7,     5,     7,     5,     7,    92,    -1,    30,    -1,    26,
428         7,    85,    -1,    25,     7,    31,     7,    73,     7,    85,         7,    31,     7,    86,    -1,    26,     7,    32,     7,    74,
429        -1,    25,     7,    32,     7,    85,    -1,    25,     7,    33,         7,    86,    -1,    26,     7,    33,     7,    86,    -1,    26,
430         7,    85,    -1,    35,     7,    30,     7,    87,    -1,    40,         7,    34,     7,    86,    -1,    36,     7,    31,     7,    88,
431         7,     5,     7,    90,    11,    89,    -1,    37,     7,     5,        -1,    41,     7,     5,     7,    92,    11,    90,    -1,    38,
432         7,     5,     7,    90,    11,    89,    -1,    54,     7,     5,         7,     5,     7,     5,     7,    92,    11,    90,    -1,    55,
433         7,    90,    11,    89,    -1,    55,     7,     5,     7,     5,         7,     5,     7,    92,    11,    90,    -1,    56,     7,     5,
434         7,    90,    11,    89,    -1,    25,     7,    71,    -1,    38,         7,     5,     7,    92,    11,    90,    -1,    26,     7,    72,
435         7,    90,     7,    72,    -1,    38,     7,    90,    -1,    52,        -1,    24,     7,    91,    -1,    39,     7,    92,     7,    73,
436         7,    90,     7,    72,    -1,    52,     7,    90,    -1,    38,        -1,    39,     7,    92,    -1,    53,     7,    92,     7,    73,
437         7,     5,    -1,    52,     7,     5,    -1,    34,     7,    75,        -1,    53,     7,    92,    -1,    39,     7,     5,    -1,    53,
438        -1,    35,     7,    76,    -1,    38,     7,    85,     7,    77,         7,     5,    -1,    35,     7,    76,    -1,    36,     7,    77,
439        -1,    36,     7,    85,     7,    78,     7,    78,    -1,    43,        -1,    39,     7,    86,     7,    78,    -1,    37,     7,    86,
440         7,    85,     7,    79,    -1,    44,     7,    85,     7,    80,         7,    79,     7,    79,    -1,    44,     7,    86,     7,    80,
441         7,    81,     7,    82,    -1,    52,     7,    85,     7,    80,        -1,    45,     7,    86,     7,    81,     7,    82,     7,    83,
442        -1,    46,     7,    85,     7,    81,    -1,    47,     7,    85,        -1,    53,     7,    86,     7,    81,    -1,    47,     7,    86,
443         7,    82,    -1,    45,     7,    85,     7,    83,    -1,    48,         7,    82,    -1,    48,     7,    86,     7,    83,    -1,    46,
444         7,    85,     7,    84,    -1,    90,    11,    89,    -1,    72,         7,    86,     7,    84,    -1,    49,     7,    86,     7,    85,
445         7,    90,    11,    89,    -1,    56,    -1,    57,    -1,    39,        -1,    92,    11,    90,    -1,    73,     7,    92,    11,    90,
446        -1,    53,    -1,    88,     7,    86,     7,    85,    -1,    18,        -1,    57,    -1,    58,    -1,    40,    -1,    54,    -1,    30,
447         7,    88,     7,    86,     7,    85,    -1,    87,     7,    85,        -1,    89,     7,    87,     7,    86,    -1,    18,     7,    89,
448        -1,     5,    -1,     5,    -1,    90,    -1,     5,    -1,     5,         7,    87,     7,    86,    -1,    88,     7,    86,    -1,     5,
449        -1,     5,    -1,    90,    -1,     4,    -1,     5,    -1,     5,        -1,     5,    -1,    92,    -1,     5,    -1,     5,    -1,     5,
450        -1,     5,    -1,    90,    -1,     6,    -1,     6,    -1,     5,        -1,    92,    -1,     4,    -1,     5,    -1,     5,    -1,     5,
451        -1,     4,    -1,     3,    -1,    90,     3,    -1        -1,    92,    -1,     6,    -1,     6,    -1,     5,    -1,     4,
452          -1,     5,    -1,    92,    -1,     3,    -1,    92,     3,    -1
453  };  };
454    
455  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
456  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
457  {  {
458         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    82,    82,    84,    85,    86,    87,    90,    91,    92,
459        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,        93,    94,    97,    98,    99,   100,   101,   102,   103,   104,
460       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,       105,   106,   107,   108,   111,   112,   113,   114,   115,   116,
461       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,       119,   120,   121,   122,   123,   124,   127,   128,   129,   130,
462       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
463       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       141,   142,   143,   144,   145,   146,   147,   148,   149,   152,
464       150,   151,   152,   153,   154,   157,   158,   159,   160,   163,       153,   154,   155,   156,   157,   160,   161,   162,   163,   166,
465       164,   167,   168,   171,   172,   173,   174,   175,   176,   177,       167,   170,   171,   174,   175,   176,   177,   178,   179,   180,
466       178,   179,   182,   183,   186,   187,   190,   191,   194,   195,       181,   182,   185,   186,   189,   190,   193,   194,   195,   198,
467       198,   201,   204,   207,   210,   213,   216,   219,   222,   223,       199,   202,   205,   208,   211,   214,   217,   220,   223,   226,
468       226,   229,   232,   235,   238,   239,   240,   243,   244       227,   230,   233,   236,   239,   242,   243,   244,   247,   248,
469         251,   252
470  };  };
471  #endif  #endif
472    
# Line 472  static const char *const yytname[] = Line 478  static const char *const yytname[] =
478    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",
479    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",
480    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
481    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",    "UNSUBSCRIBE", "RESET", "ECHO", "QUIT", "CHANNEL", "NOTIFICATION",
482    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",
483    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",
484    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
# Line 492  static const char *const yytname[] = Line 498  static const char *const yytname[] =
498    "audio_output_device", "audio_output_channel", "audio_output_type",    "audio_output_device", "audio_output_channel", "audio_output_type",
499    "midi_input_device", "midi_input_port", "midi_input_channel",    "midi_input_device", "midi_input_port", "midi_input_channel",
500    "midi_input_type", "volume", "sampler_channel", "instrument_index",    "midi_input_type", "volume", "sampler_channel", "instrument_index",
501    "engine_name", "filename", "param_val", "string", 0    "engine_name", "filename", "param_val", "boolean", "string", 0
502  };  };
503  #endif  #endif
504    
# Line 506  static const unsigned short yytoknum[] = Line 512  static const unsigned short yytoknum[] =
512       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
513       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
514       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
515       305,   306,   307,   308,   309,   310,   311,   312,   313       305,   306,   307,   308,   309,   310,   311,   312,   313,   314
516  };  };
517  # endif  # endif
518    
519  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
520  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
521  {  {
522         0,    59,    60,    60,    60,    61,    61,    61,    61,    62,         0,    60,    61,    62,    62,    62,    62,    63,    63,    63,
523        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,        63,    63,    64,    64,    64,    64,    64,    64,    64,    64,
524        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,        64,    64,    64,    64,    65,    65,    65,    65,    65,    65,
525        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,        66,    66,    66,    66,    66,    66,    67,    67,    67,    67,
526        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        67,    67,    67,    67,    67,    67,    67,    67,    67,    67,
527        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        67,    67,    67,    67,    67,    67,    67,    67,    67,    68,
528        67,    67,    67,    67,    67,    68,    68,    68,    68,    69,        68,    68,    68,    68,    68,    69,    69,    69,    69,    70,
529        69,    70,    70,    71,    71,    71,    71,    71,    71,    71,        70,    71,    71,    72,    72,    72,    72,    72,    72,    72,
530        71,    71,    72,    72,    73,    73,    74,    74,    75,    75,        72,    72,    73,    73,    74,    74,    75,    75,    75,    76,
531        76,    77,    78,    79,    80,    81,    82,    83,    84,    84,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
532        85,    86,    87,    88,    89,    89,    89,    90,    90        85,    86,    87,    88,    89,    90,    90,    90,    91,    91,
533          92,    92
534  };  };
535    
536  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
537  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
538  {  {
539         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     2,     0,     1,     1,     1,     1,     2,     2,
540         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     3,     3,     3,     3,     3,     3,     5,     3,
541         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     5,     1,     1,     1,     1,     1,     1,     1,
542         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     5,     7,
543         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         9,     1,     5,     7,     9,     1,     1,     5,     5,     7,
544         5,     7,     7,     9,     1,     5,     7,     5,     5,     5,         9,     7,     9,     1,     5,     7,     5,     5,     5,     7,
545         7,     9,     7,     9,     3,     5,     3,     5,     3,     3,         9,     7,     9,     3,     3,     5,     3,     5,     3,     3,
546         3,     3,     3,     5,     7,     5,     9,     5,     5,     5,         3,     3,     3,     5,     7,     5,     9,     5,     5,     5,
547         5,     5,     3,     5,     1,     1,     1,     1,     5,     7,         5,     5,     3,     5,     1,     1,     1,     1,     1,     5,
548         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,         7,     3,     1,     1,     1,     1,     1,     1,     1,     1,
549         1,     1,     1,     1,     1,     1,     1,     1,     2         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
550           1,     2
551  };  };
552    
553  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 547  static const unsigned char yyr2[] = Line 555  static const unsigned char yyr2[] =
555     means the default is an error.  */     means the default is an error.  */
556  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
557  {  {
558         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
559         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,    23,     0,     0,     4,     5,     0,
560           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
561           1,     2,   110,    10,     9,     8,    11,    12,     0,    36,
562          41,    53,     0,     0,     0,     0,    45,     0,     0,     0,
563           0,     0,    37,     0,    46,     0,    13,     0,     0,    14,
564           0,     0,    15,    88,    86,    87,    16,     0,     0,    17,
565           0,     0,     0,     0,     0,     0,     0,    19,    24,    28,
566          27,    26,    25,    29,    20,    30,    34,    33,    32,    31,
567          35,    21,     0,   111,     0,     0,     0,     0,     0,     0,
568         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,     0,     0,   107,    12,    11,    10,    13,    14,     0,  
       38,    43,    54,     0,     0,     0,     0,    47,     0,     0,  
        0,     0,     0,    39,     0,    48,    15,     0,     0,    16,  
        0,     0,    17,    86,    87,    18,     0,     0,    19,     0,  
        0,     0,     0,     0,     0,    21,    26,    30,    29,    28,  
       27,    31,    22,    32,    36,    35,    34,    33,    37,    23,  
        0,     3,     0,   108,     0,     0,     0,     0,     0,     0,  
569         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,  
570         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
571         0,     0,     0,    66,    68,    69,    70,   103,     0,    71,         0,     0,     0,     0,     0,    66,    68,    69,    70,   104,
572         0,    72,     0,   102,   100,    20,     0,     0,     0,     0,         0,    71,     0,    72,     0,   103,   101,    18,   108,    64,
573         0,     0,     0,     0,     0,    64,     0,     0,     0,     0,       109,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574        24,     0,     0,     0,     0,     0,     0,     0,     0,     0,        63,     0,     0,     0,     0,    22,     0,     0,     0,     0,
575         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
576         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
577         0,     0,     0,    55,    84,    85,     0,    57,    58,    59,         0,     0,     0,     0,     0,     0,     0,     0,     0,    54,
578         0,     0,    49,    44,     0,     0,    40,     0,    50,    65,        84,    85,     0,    56,    57,    58,     0,     0,    47,    42,
579         0,    67,     0,   101,     0,    90,     0,     0,     0,     0,         0,     0,    38,     0,    48,     0,    65,     0,    67,     0,
580         102,     0,    91,     0,     0,     0,     0,     0,     0,     0,
581         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
582         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
583         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
584         0,     0,    56,    52,     0,    45,    51,    41,     0,   106,        55,    51,     0,    43,    49,    39,     0,     0,   107,   106,
585       105,   104,    82,     0,    88,    92,     0,    91,    73,    75,       105,    82,     0,    89,    93,     0,    92,    73,    75,    94,
586        93,    94,     0,    80,    97,    95,    78,    96,    79,    98,        95,     0,    80,    98,    96,    78,    97,    79,    99,   100,
587        99,    81,    77,     0,    60,    62,     0,     0,     0,     0,        81,    77,     0,    59,    61,     0,     0,     0,     0,     0,
588         0,     0,     0,     0,     0,     0,    53,    46,    42,    83,         0,     0,     0,     0,     0,     0,    52,    44,    40,    50,
589        89,    74,     0,    61,    63,     0,    76        83,    90,    74,     0,    60,    62,     0,    76
590  };  };
591    
592  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
593  static const short yydefgoto[] =  static const short yydefgoto[] =
594  {  {
595        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,        -1,    15,    16,    17,    18,    84,    91,    56,    77,    59,
596        62,    68,   155,   209,   196,    65,   139,   141,   268,   266,        62,    69,   160,   216,   202,    66,   141,   143,   277,   275,
597       269,   272,   276,   278,   273,   281,   145,   214,   142,   140,       278,   281,   285,   287,   282,   290,   147,   221,   144,   142,
598       262,   210       271,   149,   217
599  };  };
600    
601  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
602     STATE-NUM.  */     STATE-NUM.  */
603  #define YYPACT_NINF -245  #define YYPACT_NINF -252
604  static const short yypact[] =  static const short yypact[] =
605  {  {
606       168,  -245,  -245,    30,    51,    68,   101,   105,   109,   129,        85,  -252,  -252,    24,    39,    54,    73,    81,   105,   108,
607       130,   131,   132,   133,  -245,    34,  -245,    52,  -245,    16,       128,   144,   147,   148,  -252,    92,   109,   124,  -252,   126,
608        82,   -21,    -8,    -1,   -27,    55,   -22,    -9,    -4,    70,       -14,   -26,    -9,   -22,   110,   133,   -21,    25,    32,   136,
609      -245,   168,    90,  -245,  -245,  -245,  -245,    93,  -245,   134,      -252,  -252,  -252,  -252,  -252,  -252,   153,  -252,   156,  -252,
610      -245,  -245,  -245,   135,   136,   137,   138,  -245,   139,   140,      -252,  -252,   157,   158,   159,   160,  -252,   161,   162,   163,
611       142,   143,   144,  -245,   147,  -245,  -245,   150,   151,  -245,       164,   165,  -252,   166,  -252,   167,  -252,   168,   169,  -252,
612       152,   153,  -245,  -245,  -245,  -245,   154,   155,  -245,   156,       170,   171,  -252,  -252,  -252,  -252,  -252,   174,   175,  -252,
613       157,   158,   159,   160,   163,  -245,  -245,  -245,  -245,  -245,       177,   178,   179,   180,   181,   182,   183,  -252,  -252,  -252,
614      -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,
615       164,  -245,   168,  -245,    73,   149,   165,   166,   167,   169,      -252,  -252,   184,  -252,   107,   172,   173,   176,   185,   186,
616       170,   171,   172,   173,   174,   183,   183,   188,   189,    -2,       187,   188,   189,   190,   192,   194,   191,   191,   193,   195,
617       183,   193,    38,   200,   201,   202,   203,   193,  -245,   204,         3,   191,   196,    78,    77,   197,   200,   201,   203,   196,
618       205,   206,   207,   209,   212,   213,   214,   215,   216,   218,       202,   204,   205,   206,   207,   208,   220,   221,   222,   223,
619       220,   221,   222,     6,     7,  -245,  -245,  -245,   223,  -245,       224,   226,   228,   229,   230,    38,    40,  -252,  -252,  -252,
620       225,  -245,   226,    93,  -245,  -245,   228,   229,   230,   231,       231,  -252,   233,  -252,   234,   153,  -252,  -252,  -252,  -252,
621       232,   233,   234,   235,   236,  -245,   237,   238,   239,   240,       153,   236,   237,   238,   239,   240,   241,   242,   243,   244,
622      -245,   193,    21,   193,   193,   183,   243,   244,   245,   183,      -252,   245,   246,   247,   248,  -252,   196,    90,   196,   196,
623       183,   246,   183,   183,   247,   183,   183,   248,   250,   193,       191,   251,   252,   253,   191,   191,   254,   191,   191,   255,
624       193,   193,   193,   193,   193,   193,   193,   193,   193,   251,       256,   191,   191,   257,   259,   196,   196,   196,   196,   196,
625       183,   183,   252,  -245,  -245,  -245,   253,  -245,  -245,  -245,       196,   196,   196,   196,   196,   260,   191,   191,   261,  -252,
626       254,   255,  -245,    93,    32,   256,    93,    33,  -245,   257,      -252,  -252,   262,  -252,  -252,  -252,   263,   264,  -252,   153,
627         8,   257,   258,  -245,   259,  -245,   260,   261,   262,   264,        75,   265,   153,   106,  -252,   266,   267,    -1,   267,   268,
628       265,   266,   267,   268,   269,   270,    50,    76,   271,   193,      -252,   269,  -252,   270,   271,   273,   274,   276,   277,   278,
629       274,   275,   183,   276,   183,   183,   121,   250,   193,   277,       279,   280,   281,     8,    49,   282,   196,   285,   286,   191,
630       278,   183,   279,   183,   280,   281,   125,   279,   183,   121,       287,   191,   288,   191,   138,   259,   196,   289,   290,   191,
631       121,   183,  -245,  -245,   282,    53,  -245,    94,    88,  -245,       291,   191,   292,   293,   145,   291,   191,   138,   138,   191,
632      -245,  -245,  -245,   283,  -245,  -245,   284,  -245,  -245,  -245,      -252,  -252,   294,   129,  -252,   130,   295,    74,  -252,  -252,
633        93,  -245,   285,  -245,    93,  -245,  -245,  -245,  -245,  -245,      -252,  -252,   296,  -252,  -252,   297,  -252,  -252,  -252,   153,
634      -245,  -245,  -245,    89,  -245,  -245,    91,   183,   183,   183,      -252,   298,  -252,   153,  -252,  -252,  -252,  -252,  -252,  -252,
635       121,   193,   277,   280,   121,   121,    93,   257,   257,  -245,      -252,  -252,    76,  -252,  -252,   100,   191,   191,   191,   191,
636      -245,  -245,   286,  -245,  -245,   281,  -245       138,   196,   289,   292,   138,   138,   153,   267,   267,   153,
637        -252,  -252,  -252,   299,  -252,  -252,   293,  -252
638  };  };
639    
640  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
641  static const short yypgoto[] =  static const short yypgoto[] =
642  {  {
643      -245,  -245,   -19,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,
644      -245,  -245,  -245,  -174,  -245,  -245,  -245,  -245,  -245,  -120,      -252,  -252,  -252,  -178,  -252,  -252,  -252,  -252,  -252,  -110,
645      -245,   -38,   -83,   -52,  -245,  -245,  -116,    22,   122,    81,      -252,   -62,  -108,  -120,  -252,  -252,  -118,   -48,    29,    27,
646      -244,   -17      -251,  -252,   -17
647  };  };
648    
649  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
650     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
651     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
652     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
653  #define YYTABLE_NINF -6  #define YYTABLE_NINF -4
654  static const short yytable[] =  static const short yytable[] =
655  {  {
656        37,   160,   211,    70,   137,   284,   285,    66,    67,    93,        36,   165,    93,    71,   218,    72,   293,   294,    63,   139,
657        93,    93,    91,   175,   176,    71,   138,    57,    72,   236,       244,    93,    38,    57,    39,    40,    41,    73,    64,   257,
658        76,    77,    78,    79,    80,    83,    84,    85,    86,    87,        74,   140,    42,    43,    44,    45,    46,    58,    47,    48,
659        60,    58,    73,    74,    30,    93,    93,    19,    63,   232,        60,    19,    65,    49,    75,    76,    50,    51,    52,    53,
660       234,    38,    31,    32,    61,   193,   299,   197,   198,    81,        54,    93,    55,    93,    61,   181,    20,   182,   199,   310,
661       303,   304,    64,    93,    88,    33,    93,    34,    20,    35,       203,   204,    93,   314,   315,    78,    79,    80,    81,    82,
662       288,   249,    36,   215,   216,   217,   218,   219,   220,   221,       258,    21,    85,    86,    87,    88,    89,   222,   223,   224,
663       222,   223,   224,   118,   146,    21,   147,   194,   195,    93,       225,   226,   227,   228,   229,   230,   231,    93,    93,    93,
664        69,   148,   149,   150,   151,   152,   153,   250,   133,   134,        22,    32,   239,   148,    83,   300,     1,   304,    23,   135,
665       154,    93,    93,   143,    93,    90,    93,    93,    92,   290,       136,    90,    30,    -3,   145,     2,   150,     3,     4,     5,
666       294,   289,   295,   119,   120,   121,   122,    39,    22,    40,         6,     7,     8,    93,     9,    10,    11,    12,    13,    93,
667        41,    42,    23,   252,   297,   298,    24,    43,    44,    45,        14,   305,    24,   241,   151,    25,   152,    31,   260,   307,
668        46,    47,   264,    48,    49,   259,   260,   261,    50,   279,       308,   153,   154,   155,   156,   157,   158,    32,   273,    33,
669       280,    51,    52,    53,    54,    55,    25,    26,    27,    28,       159,    34,    93,    93,    35,    26,   297,   298,   120,   121,
670        29,    94,    95,    96,    97,    98,    99,   100,   143,   101,       122,   123,   268,   269,   270,    67,    68,   200,   201,   288,
671       102,   103,   203,   204,   104,   206,   207,   105,   106,   107,       289,    27,    37,   145,    28,    29,    93,   209,   210,    70,
672       108,   109,   110,   111,   112,   113,   114,   115,    -5,     1,       212,   213,    92,    94,    95,    96,    97,    98,    99,   100,
673       116,   117,   301,   226,   227,   300,    -5,    -5,     2,   123,       101,   102,   103,   104,   105,   106,   107,   108,   109,   233,
674         3,     4,     5,     6,     7,     8,    33,     9,    10,    11,       234,   110,   111,   311,   112,   113,   114,   115,   116,   117,
675        12,    13,    14,   135,   136,   124,   125,   126,   144,   127,       118,   119,   312,   291,    32,   313,   317,   272,   137,   205,
676       128,   129,   130,   131,   132,   156,   157,   158,   159,   282,       138,   146,   161,   124,   125,   162,   163,   126,   164,   166,
677       302,   161,   162,   163,   164,   255,   165,   257,   258,   166,       219,   167,   168,   169,   170,   171,   127,   128,   129,   130,
678       167,   168,   169,   170,   270,   171,   274,   172,   173,   174,       131,   132,   263,   133,   265,   134,   267,   172,   173,   174,
679       177,   283,   178,   179,   286,   180,   181,   182,   183,   184,       175,   176,   279,   177,   283,   178,   179,   180,   183,   292,
680       185,   186,   187,   188,   189,   190,   191,   192,   200,   201,       184,   185,   295,   186,   187,   188,   189,   190,   191,   192,
681       202,   205,   208,   306,   137,   213,   225,   228,   212,   263,       193,   194,   195,   196,   197,   198,   206,   207,   208,   211,
682       229,   230,   231,   233,   235,   237,   238,   239,   240,   241,       214,   215,     0,   139,   220,   232,   235,     0,     0,   236,
683       296,   242,   243,   244,   245,   246,   247,   248,   251,   253,       237,   238,   240,   242,   243,   245,   246,   247,   248,   306,
684       254,   256,   265,   267,   271,   275,   277,   199,     0,   287,       249,   250,   309,   251,   252,   253,   254,   255,   256,   259,
685       291,   292,   293,   305       261,   262,   264,   266,   274,   276,   280,   284,   286,     0,
686           0,   296,   299,   301,   302,   303,   316
687  };  };
688    
689  static const short yycheck[] =  static const short yycheck[] =
690  {  {
691        17,   117,   176,    25,     6,   249,   250,    34,    35,     3,        17,   119,     3,    24,   182,    26,   257,   258,    30,     6,
692         3,     3,    31,     7,     7,    37,    18,    38,    40,    11,        11,     3,    26,    39,    28,    29,    30,    38,    40,    11,
693        29,    30,    31,    32,    33,    29,    30,    31,    32,    33,        41,    18,    36,    37,    38,    39,    40,    53,    42,    43,
694        38,    52,    54,    55,     0,     3,     3,     7,    39,     7,        39,     7,    54,    47,    55,    56,    50,    51,    52,    53,
695         7,    25,     8,     9,    52,   161,   290,   163,   164,    58,        54,     3,    56,     3,    53,     7,     7,     7,   166,   300,
696       294,   295,    53,     3,    58,     3,     3,     5,     7,     7,       168,   169,     3,   304,   305,    30,    31,    32,    33,    34,
697         7,    11,    10,   179,   180,   181,   182,   183,   184,   185,        11,     7,    30,    31,    32,    33,    34,   185,   186,   187,
698       186,   187,   188,    92,    36,     7,    38,    56,    57,     3,       188,   189,   190,   191,   192,   193,   194,     3,     3,     3,
699        25,    43,    44,    45,    46,    47,    48,    11,   105,   106,         7,     3,     7,     5,    59,    11,     1,    11,     7,   106,
700        52,     3,     3,   110,     3,    25,     3,     3,     8,    11,       107,    59,     0,     8,   111,    10,   113,    12,    13,    14,
701        11,     7,    11,    30,    31,    32,    33,    25,     7,    27,        15,    16,    17,     3,    19,    20,    21,    22,    23,     3,
702        28,    29,     7,   229,   288,   289,     7,    35,    36,    37,        25,    11,     7,     7,    37,     7,    39,     8,   236,   297,
703        38,    39,   238,    41,    42,     4,     5,     6,    46,     4,       298,    44,    45,    46,    47,    48,    49,     3,   246,     5,
704         5,    49,    50,    51,    52,    53,     7,     7,     7,     7,        53,     7,     3,     3,    10,     7,     7,     7,    31,    32,
705         7,     7,     7,     7,     7,     7,     7,     7,   165,     7,        33,    34,     4,     5,     6,    35,    36,    57,    58,     4,
706         7,     7,   169,   170,     7,   172,   173,     7,     7,     7,         5,     7,    26,   170,     7,     7,     3,   174,   175,    26,
707         7,     7,     7,     7,     7,     7,     7,     7,     0,     1,       177,   178,    26,     7,     7,     7,     7,     7,     7,     7,
708         7,     7,   292,   190,   191,   291,     8,     9,    10,    30,         7,     7,     7,     7,     7,     7,     7,     7,     7,   196,
709        12,    13,    14,    15,    16,    17,     3,    19,    20,    21,       197,     7,     7,   301,     7,     7,     7,     7,     7,     7,
710        22,    23,    24,     5,     5,    30,    30,    30,     5,    30,         7,     7,   302,   255,     3,   303,   316,   245,     5,   170,
711        30,    30,    30,    30,    30,     5,     5,     5,     5,   247,         5,     5,     5,    31,    31,     5,     5,    31,     5,     7,
712       293,     7,     7,     7,     7,   232,     7,   234,   235,     7,       183,     7,     7,     7,     7,     7,    31,    31,    31,    31,
713         7,     7,     7,     7,   241,     7,   243,     7,     7,     7,        31,    31,   239,    31,   241,    31,   243,     7,     7,     7,
714         7,   248,     7,     7,   251,     7,     7,     7,     7,     7,         7,     7,   249,     7,   251,     7,     7,     7,     7,   256,
715         7,     7,     7,     7,     7,     7,     7,     7,     5,     5,         7,     7,   259,     7,     7,     7,     7,     7,     7,     7,
716         5,     5,     5,   305,     6,     5,     5,     5,   177,   237,         7,     7,     7,     7,     7,     7,     5,     5,     5,     5,
717         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         5,     5,    -1,     6,     5,     5,     5,    -1,    -1,     7,
718       287,     7,     7,     7,     7,     7,     7,     7,     7,     5,         7,     7,     7,     7,     7,     7,     7,     7,     7,   296,
719         5,     5,     5,     5,     5,     5,     5,   165,    -1,     7,         7,     7,   299,     7,     7,     7,     7,     7,     7,     7,
720         7,     7,     7,     7         5,     5,     5,     5,     5,     5,     5,     5,     5,    -1,
721          -1,     7,     7,     7,     7,     7,     7
722  };  };
723    
724  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 714  static const short yycheck[] = Line 726  static const short yycheck[] =
726  static const unsigned char yystos[] =  static const unsigned char yystos[] =
727  {  {
728         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,
729        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,        20,    21,    22,    23,    25,    61,    62,    63,    64,     7,
730           7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
731           0,     8,     3,     5,     7,    10,    92,    26,    26,    28,
732          29,    30,    36,    37,    38,    39,    40,    42,    43,    47,
733          50,    51,    52,    53,    54,    56,    67,    39,    53,    69,
734          39,    53,    70,    30,    40,    54,    75,    35,    36,    71,
735          26,    24,    26,    38,    41,    55,    56,    68,    30,    31,
736          32,    33,    34,    59,    65,    30,    31,    32,    33,    34,
737          59,    66,    26,     3,     7,     7,     7,     7,     7,     7,
738         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
        0,     8,     9,     3,     5,     7,    10,    90,    25,    25,  
       27,    28,    29,    35,    36,    37,    38,    39,    41,    42,  
       46,    49,    50,    51,    52,    53,    66,    38,    52,    68,  
       38,    52,    69,    39,    53,    74,    34,    35,    70,    25,  
       25,    37,    40,    54,    55,    67,    29,    30,    31,    32,  
       33,    58,    64,    29,    30,    31,    32,    33,    58,    65,  
       25,    61,     8,     3,     7,     7,     7,     7,     7,     7,  
739         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
740         7,     7,     7,     7,     7,     7,     7,     7,    61,    30,        31,    32,    33,    34,    31,    31,    31,    31,    31,    31,
741        31,    32,    33,    30,    30,    30,    30,    30,    30,    30,        31,    31,    31,    31,    31,    92,    92,     5,     5,     6,
742        30,    30,    30,    90,    90,     5,     5,     6,    18,    75,        18,    76,    89,    77,    88,    92,     5,    86,     5,    91,
743        88,    76,    87,    90,     5,    85,    36,    38,    43,    44,        92,    37,    39,    44,    45,    46,    47,    48,    49,    53,
744        45,    46,    47,    48,    52,    71,     5,     5,     5,     5,        72,     5,     5,     5,     5,    86,     7,     7,     7,     7,
       85,     7,     7,     7,     7,     7,     7,     7,     7,     7,  
745         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
746         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
747         7,     7,     7,    85,    56,    57,    73,    85,    85,    87,         7,     7,     7,     7,     7,     7,     7,     7,     7,    86,
748         5,     5,     5,    90,    90,     5,    90,    90,     5,    72,        57,    58,    74,    86,    86,    88,     5,     5,     5,    92,
749        90,    72,    88,     5,    86,    85,    85,    85,    85,    85,        92,     5,    92,    92,     5,     5,    73,    92,    73,    89,
750        85,    85,    85,    85,    85,     5,    90,    90,     5,     7,         5,    87,    86,    86,    86,    86,    86,    86,    86,    86,
751         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,        86,    86,     5,    92,    92,     5,     7,     7,     7,     7,
752         7,     7,     7,     7,     7,     7,     7,     7,     7,    11,         7,     7,     7,     7,    11,     7,     7,     7,     7,     7,
753        11,     7,    85,     5,     5,    90,     5,    90,    90,     4,         7,     7,     7,     7,     7,     7,     7,    11,    11,     7,
754         5,     6,    89,    86,    85,     5,    78,     5,    77,    79,        86,     5,     5,    92,     5,    92,     5,    92,     4,     5,
755        90,     5,    80,    83,    90,     5,    81,     5,    82,     4,         6,    90,    87,    86,     5,    79,     5,    78,    80,    92,
756         5,    84,    80,    90,    89,    89,    90,     7,     7,     7,         5,    81,    84,    92,     5,    82,     5,    83,     4,     5,
757        11,     7,     7,     7,    11,    11,    90,    72,    72,    89,        85,    81,    92,    90,    90,    92,     7,     7,     7,     7,
758        85,    78,    81,    89,    89,     7,    82        11,     7,     7,     7,    11,    11,    92,    73,    73,    92,
759          90,    86,    79,    82,    90,    90,     7,    83
760  };  };
761    
762  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 771  static const unsigned char yystos[] = Line 784  static const unsigned char yystos[] =
784  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
785  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrlab1
786    
787    
788  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
789     to ease the transition to the new meaning of YYERROR, for GCC.     to ease the transition to the new meaning of YYERROR, for GCC.
790     Once GCC version 2 has supplanted version 1, this can go.  */     Once GCC version 2 has supplanted version 1, this can go.  */
# Line 1352  yyreduce: Line 1366  yyreduce:
1366    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
1367    switch (yyn)    switch (yyn)
1368      {      {
1369          case 7:          case 3:
1370    #line 84 "lscp.y"
1371        { return LSCP_DONE; }
1372        break;
1373    
1374      case 4:
1375  #line 85 "lscp.y"  #line 85 "lscp.y"
1376      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
1377      break;      break;
1378    
1379    case 8:    case 5:
1380  #line 86 "lscp.y"  #line 86 "lscp.y"
1381      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }
1382      break;      break;
1383    
1384    case 14:    case 6:
1385  #line 96 "lscp.y"  #line 87 "lscp.y"
1386      { yyval.String = LSCPSERVER->AddChannel();                  }      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
1387      break;      break;
1388    
1389    case 15:    case 12:
1390  #line 97 "lscp.y"  #line 97 "lscp.y"
1391      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->AddChannel();                  }
1392      break;      break;
1393    
1394    case 16:    case 13:
1395  #line 98 "lscp.y"  #line 98 "lscp.y"
1396      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1397      break;      break;
1398    
1399    case 17:    case 14:
1400  #line 99 "lscp.y"  #line 99 "lscp.y"
1401      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1402      break;      break;
1403    
1404    case 18:    case 15:
1405  #line 100 "lscp.y"  #line 100 "lscp.y"
1406      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1407      break;      break;
1408    
1409    case 19:    case 16:
1410  #line 101 "lscp.y"  #line 101 "lscp.y"
1411      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1412      break;      break;
1413    
1414    case 20:    case 17:
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 18:
1420  #line 103 "lscp.y"  #line 103 "lscp.y"
1421      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1422      break;      break;
1423    
1424    case 22:    case 19:
1425  #line 104 "lscp.y"  #line 104 "lscp.y"
1426      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1427      break;      break;
1428    
1429    case 23:    case 20:
1430  #line 105 "lscp.y"  #line 105 "lscp.y"
1431      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1432      break;      break;
1433    
1434    case 24:    case 21:
1435  #line 106 "lscp.y"  #line 106 "lscp.y"
1436        { yyval.String = yyvsp[0].String;                                        }
1437        break;
1438    
1439      case 22:
1440    #line 107 "lscp.y"
1441      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1442      break;      break;
1443    
1444      case 23:
1445    #line 108 "lscp.y"
1446        { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
1447        break;
1448    
1449      case 24:
1450    #line 111 "lscp.y"
1451        { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); }
1452        break;
1453    
1454    case 25:    case 25:
1455  #line 107 "lscp.y"  #line 112 "lscp.y"
1456      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
1457      break;      break;
1458    
1459    case 26:    case 26:
1460  #line 110 "lscp.y"  #line 113 "lscp.y"
1461      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
1462      break;      break;
1463    
1464    case 27:    case 27:
1465  #line 111 "lscp.y"  #line 114 "lscp.y"
1466      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
1467      break;      break;
1468    
1469    case 28:    case 28:
1470  #line 112 "lscp.y"  #line 115 "lscp.y"
1471      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info); }
1472      break;      break;
1473    
1474    case 29:    case 29:
1475  #line 113 "lscp.y"  #line 116 "lscp.y"
1476      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
1477      break;      break;
1478    
1479    case 30:    case 30:
1480  #line 114 "lscp.y"  #line 119 "lscp.y"
1481      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels); }
1482      break;      break;
1483    
1484    case 31:    case 31:
1485  #line 115 "lscp.y"  #line 120 "lscp.y"
1486      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
1487      break;      break;
1488    
1489    case 32:    case 32:
1490  #line 118 "lscp.y"  #line 121 "lscp.y"
1491      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
1492      break;      break;
1493    
1494    case 33:    case 33:
1495  #line 119 "lscp.y"  #line 122 "lscp.y"
1496      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
1497      break;      break;
1498    
1499    case 34:    case 34:
1500  #line 120 "lscp.y"  #line 123 "lscp.y"
1501      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info); }
1502      break;      break;
1503    
1504    case 35:    case 35:
1505  #line 121 "lscp.y"  #line 124 "lscp.y"
1506      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
1507      break;      break;
1508    
1509    case 36:    case 36:
1510  #line 122 "lscp.y"  #line 127 "lscp.y"
1511      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->GetAvailableEngines();       }
1512      break;      break;
1513    
1514    case 37:    case 37:
1515  #line 123 "lscp.y"  #line 128 "lscp.y"
1516      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();       }
1517      break;      break;
1518    
1519    case 38:    case 38:
1520  #line 126 "lscp.y"  #line 129 "lscp.y"
1521      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);       }
1522      break;      break;
1523    
1524    case 39:    case 39:
1525  #line 127 "lscp.y"  #line 130 "lscp.y"
1526      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1527      break;      break;
1528    
1529    case 40:    case 40:
1530  #line 128 "lscp.y"  #line 131 "lscp.y"
1531      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1532      break;      break;
1533    
1534    case 41:    case 41:
1535  #line 129 "lscp.y"  #line 132 "lscp.y"
1536      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();       }
1537      break;      break;
1538    
1539    case 42:    case 42:
1540  #line 130 "lscp.y"  #line 133 "lscp.y"
1541      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);       }
1542      break;      break;
1543    
1544    case 43:    case 43:
1545  #line 131 "lscp.y"  #line 134 "lscp.y"
1546      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1547      break;      break;
1548    
1549    case 44:    case 44:
1550  #line 132 "lscp.y"  #line 135 "lscp.y"
1551      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1552      break;      break;
1553    
1554    case 45:    case 45:
1555  #line 133 "lscp.y"  #line 136 "lscp.y"
1556      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();       }
1557      break;      break;
1558    
1559    case 46:    case 46:
1560  #line 134 "lscp.y"  #line 137 "lscp.y"
1561      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();       }
1562      break;      break;
1563    
1564    case 47:    case 47:
1565  #line 135 "lscp.y"  #line 138 "lscp.y"
1566      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);       }
1567      break;      break;
1568    
1569    case 48:    case 48:
1570  #line 136 "lscp.y"  #line 139 "lscp.y"
1571      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);       }
1572      break;      break;
1573    
1574    case 49:    case 49:
1575  #line 137 "lscp.y"  #line 140 "lscp.y"
1576      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1577      break;      break;
1578    
1579    case 50:    case 50:
1580  #line 138 "lscp.y"  #line 141 "lscp.y"
1581      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }
1582      break;      break;
1583    
1584    case 51:    case 51:
1585  #line 139 "lscp.y"  #line 142 "lscp.y"
1586      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1587      break;      break;
1588    
1589    case 52:    case 52:
1590  #line 140 "lscp.y"  #line 143 "lscp.y"
1591      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }
1592      break;      break;
1593    
1594    case 53:    case 53:
1595  #line 141 "lscp.y"  #line 144 "lscp.y"
1596      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetChannels();       }
1597      break;      break;
1598    
1599    case 54:    case 54:
1600  #line 142 "lscp.y"  #line 145 "lscp.y"
1601      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);       }
1602      break;      break;
1603    
1604    case 55:    case 55:
1605  #line 143 "lscp.y"  #line 146 "lscp.y"
1606      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);       }
1607      break;      break;
1608    
1609    case 56:    case 56:
1610  #line 144 "lscp.y"  #line 147 "lscp.y"
1611      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);       }
1612      break;      break;
1613    
1614    case 57:    case 57:
1615  #line 145 "lscp.y"  #line 148 "lscp.y"
1616      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);       }
1617      break;      break;
1618    
1619    case 58:    case 58:
1620  #line 146 "lscp.y"  #line 149 "lscp.y"
1621      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);       }
1622      break;      break;
1623    
1624    case 59:    case 59:
1625  #line 147 "lscp.y"  #line 152 "lscp.y"
1626      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1627      break;      break;
1628    
1629    case 60:    case 60:
1630  #line 150 "lscp.y"  #line 153 "lscp.y"
1631      { 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);       }
1632      break;      break;
1633    
1634    case 61:    case 61:
1635  #line 151 "lscp.y"  #line 154 "lscp.y"
1636      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1637      break;      break;
1638    
1639    case 62:    case 62:
1640  #line 152 "lscp.y"  #line 155 "lscp.y"
1641      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(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);       }
1642      break;      break;
1643    
1644    case 63:    case 63:
1645  #line 153 "lscp.y"  #line 156 "lscp.y"
1646      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = yyvsp[0].String;                                                         }
1647      break;      break;
1648    
1649    case 64:    case 64:
1650  #line 154 "lscp.y"  #line 157 "lscp.y"
1651      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }
1652      break;      break;
1653    
1654    case 65:    case 65:
1655  #line 157 "lscp.y"  #line 160 "lscp.y"
1656      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1657      break;      break;
1658    
1659    case 66:    case 66:
1660  #line 158 "lscp.y"  #line 161 "lscp.y"
1661      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
1662      break;      break;
1663    
1664    case 67:    case 67:
1665  #line 159 "lscp.y"  #line 162 "lscp.y"
1666      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
1667      break;      break;
1668    
1669    case 68:    case 68:
1670  #line 160 "lscp.y"  #line 163 "lscp.y"
1671      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
1672      break;      break;
1673    
1674    case 69:    case 69:
1675  #line 163 "lscp.y"  #line 166 "lscp.y"
1676      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number);       }
1677      break;      break;
1678    
1679    case 70:    case 70:
1680  #line 164 "lscp.y"  #line 167 "lscp.y"
1681      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);         }
1682      break;      break;
1683    
1684    case 71:    case 71:
1685  #line 167 "lscp.y"  #line 170 "lscp.y"
1686      { yyval.String = yyvsp[0].String; }      { yyval.String = yyvsp[0].String; }
1687      break;      break;
1688    
1689    case 72:    case 72:
1690  #line 168 "lscp.y"  #line 171 "lscp.y"
1691      { yyval.String = yyvsp[0].String; }      { yyval.String = yyvsp[0].String; }
1692      break;      break;
1693    
1694    case 73:    case 73:
1695  #line 171 "lscp.y"  #line 174 "lscp.y"
1696      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1697      break;      break;
1698    
1699    case 74:    case 74:
1700  #line 172 "lscp.y"  #line 175 "lscp.y"
1701      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1702      break;      break;
1703    
1704    case 75:    case 75:
1705  #line 173 "lscp.y"  #line 176 "lscp.y"
1706      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1707      break;      break;
1708    
1709    case 76:    case 76:
1710  #line 174 "lscp.y"  #line 177 "lscp.y"
1711      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }
1712      break;      break;
1713    
1714    case 77:    case 77:
1715  #line 175 "lscp.y"  #line 178 "lscp.y"
1716      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
1717      break;      break;
1718    
1719    case 78:    case 78:
1720  #line 176 "lscp.y"  #line 179 "lscp.y"
1721      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
1722      break;      break;
1723    
1724    case 79:    case 79:
1725  #line 177 "lscp.y"  #line 180 "lscp.y"
1726      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1727      break;      break;
1728    
1729    case 80:    case 80:
1730  #line 178 "lscp.y"  #line 181 "lscp.y"
1731      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1732      break;      break;
1733    
1734    case 81:    case 81:
1735  #line 179 "lscp.y"  #line 182 "lscp.y"
1736      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1737      break;      break;
1738    
1739    case 82:    case 82:
1740  #line 182 "lscp.y"  #line 185 "lscp.y"
1741      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1742      break;      break;
1743    
1744    case 83:    case 83:
1745  #line 183 "lscp.y"  #line 186 "lscp.y"
1746      { 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; }
1747      break;      break;
1748    
1749    case 84:    case 84:
1750  #line 186 "lscp.y"  #line 189 "lscp.y"
1751      { yyval.FillResponse = fill_response_bytes;      }      { yyval.FillResponse = fill_response_bytes;      }
1752      break;      break;
1753    
1754    case 85:    case 85:
1755  #line 187 "lscp.y"  #line 190 "lscp.y"
1756      { yyval.FillResponse = fill_response_percentage; }      { yyval.FillResponse = fill_response_percentage; }
1757      break;      break;
1758    
1759    case 86:    case 86:
1760  #line 190 "lscp.y"  #line 193 "lscp.y"
1761      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
1762      break;      break;
1763    
1764    case 87:    case 87:
1765  #line 191 "lscp.y"  #line 194 "lscp.y"
1766      { yyval.String = LSCPSERVER->GetMidiInputDevices(); }      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }
1767      break;      break;
1768    
1769    case 88:    case 88:
1770  #line 194 "lscp.y"  #line 195 "lscp.y"
1771      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->ListChannels();          }
1772      break;      break;
1773    
1774    case 89:    case 89:
1775  #line 195 "lscp.y"  #line 198 "lscp.y"
1776      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
1777      break;      break;
1778    
1779    case 90:    case 90:
1780  #line 198 "lscp.y"  #line 199 "lscp.y"
1781      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true);       }
1782      break;      break;
1783    
1784    case 99:    case 91:
1785  #line 223 "lscp.y"  #line 202 "lscp.y"
1786        { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number);       }
1787        break;
1788    
1789      case 100:
1790    #line 227 "lscp.y"
1791      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
1792      break;      break;
1793    
1794    case 104:    case 105:
1795  #line 238 "lscp.y"  #line 242 "lscp.y"
1796      { yyval.String = yyvsp[0].String;                                             }      { yyval.String = yyvsp[0].String;                                             }
1797      break;      break;
1798    
1799    case 105:    case 106:
1800  #line 239 "lscp.y"  #line 243 "lscp.y"
1801      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1802      break;      break;
1803    
1804    case 106:    case 107:
1805  #line 240 "lscp.y"  #line 244 "lscp.y"
1806      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1807      break;      break;
1808    
1809    case 107:    case 108:
1810  #line 243 "lscp.y"  #line 247 "lscp.y"
1811        { yyval.Dotnum = yyvsp[0].Number; }
1812        break;
1813    
1814      case 109:
1815    #line 248 "lscp.y"
1816        { yyval.Dotnum = -1; }
1817        break;
1818    
1819      case 110:
1820    #line 251 "lscp.y"
1821      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1822      break;      break;
1823    
1824    case 108:    case 111:
1825  #line 244 "lscp.y"  #line 252 "lscp.y"
1826      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1827      break;      break;
1828    
1829    
1830      }      }
1831    
1832  /* Line 991 of yacc.c.  */  /* Line 999 of yacc.c.  */
1833  #line 1784 "y.tab.c"  #line 1834 "y.tab.c"
1834    
1835    yyvsp -= yylen;    yyvsp -= yylen;
1836    yyssp -= yylen;    yyssp -= yylen;
# Line 1895  yyerrlab: Line 1944  yyerrlab:
1944    
1945    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse lookahead token after shifting the error
1946       token.  */       token.  */
1947    goto yyerrlab2;    goto yyerrlab1;
1948    
1949    
1950  /*----------------------------------------------------.  /*----------------------------------------------------.
1951  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrlab1 -- error raised explicitly by an action.  |
1952  `----------------------------------------------------*/  `----------------------------------------------------*/
1953  yyerrlab1:  yyerrlab1:
   
   /* Suppress GCC warning that yyerrlab1 is unused when no action  
      invokes YYERROR.  */  
 #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \  
     && !defined __cplusplus  
   __attribute__ ((__unused__))  
 #endif  
   
   
   goto yyerrlab2;  
   
   
 /*---------------------------------------------------------------.  
 | yyerrlab2 -- pop states until the error token can be shifted.  |  
 `---------------------------------------------------------------*/  
 yyerrlab2:  
1954    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
1955    
1956    for (;;)    for (;;)
# Line 1991  yyreturn: Line 2024  yyreturn:
2024  }  }
2025    
2026    
2027  #line 247 "lscp.y"  #line 255 "lscp.y"
2028    
2029    
2030  /**  /**
# Line 2007  void yyerror(const char* s) { Line 2040  void yyerror(const char* s) {
2040  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
2041      // restart scanner      // restart scanner
2042      yyrestart(stdin, pparam->pScanner);      yyrestart(stdin, pparam->pScanner);
     // flush input buffer  
     static char buf[1024];  
     while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0);  
2043      // reset lookahead symbol      // reset lookahead symbol
2044      yyclearin;      yyclearin;
2045  }  }

Legend:
Removed from v.160  
changed lines
  Added in v.210

  ViewVC Help
Powered by ViewVC