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

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

  ViewVC Help
Powered by ViewVC