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

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

  ViewVC Help
Powered by ViewVC