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

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

  ViewVC Help
Powered by ViewVC