/[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 111 by schoenebeck, Sat Jun 5 20:55:50 2004 UTC revision 123 by schoenebeck, Mon Jun 14 19:33:16 2004 UTC
# Line 60  Line 60 
60       LF = 262,       LF = 262,
61       CR = 263,       CR = 263,
62       HASH = 264,       HASH = 264,
63       ADD = 265,       EQ = 265,
64       GET = 266,       ADD = 266,
65       LOAD = 267,       GET = 267,
66       REMOVE = 268,       CREATE = 268,
67       SET = 269,       DESTROY = 269,
68       SUBSCRIBE = 270,       LIST = 270,
69       UNSUBSCRIBE = 271,       LOAD = 271,
70       RESET = 272,       REMOVE = 272,
71       QUIT = 273,       SET = 273,
72       CHANNEL = 274,       SUBSCRIBE = 274,
73       NOTIFICATION = 275,       UNSUBSCRIBE = 275,
74       AVAILABLE_ENGINES = 276,       RESET = 276,
75       CHANNELS = 277,       QUIT = 277,
76       INFO = 278,       CHANNEL = 278,
77       BUFFER_FILL = 279,       NOTIFICATION = 279,
78       STREAM_COUNT = 280,       AVAILABLE_ENGINES = 280,
79       VOICE_COUNT = 281,       AVAILABLE_AUDIO_OUTPUT_DRIVERS = 281,
80       INSTRUMENT = 282,       CHANNELS = 282,
81       ENGINE = 283,       INFO = 283,
82       AUDIO_OUTPUT_CHANNEL = 284,       BUFFER_FILL = 284,
83       AUDIO_OUTPUT_TYPE = 285,       STREAM_COUNT = 285,
84       MIDI_INPUT_PORT = 286,       VOICE_COUNT = 286,
85       MIDI_INPUT_CHANNEL = 287,       INSTRUMENT = 287,
86       MIDI_INPUT_TYPE = 288,       ENGINE = 288,
87       VOLUME = 289,       AUDIO_OUTPUT_CHANNEL = 289,
88       BYTES = 290,       AUDIO_OUTPUT_CHANNEL_PARAMETER = 290,
89       PERCENTAGE = 291,       AUDIO_OUTPUT_DEVICE = 291,
90       ALSA = 292,       AUDIO_OUTPUT_DEVICES = 292,
91       JACK = 293       AUDIO_OUTPUT_DEVICE_PARAMETER = 293,
92         AUDIO_OUTPUT_DRIVER = 294,
93         AUDIO_OUTPUT_DRIVER_PARAMETER = 295,
94         MIDI_INPUT_PORT = 296,
95         MIDI_INPUT_CHANNEL = 297,
96         MIDI_INPUT_TYPE = 298,
97         VOLUME = 299,
98         BYTES = 300,
99         PERCENTAGE = 301
100     };     };
101  #endif  #endif
102  #define CHAR 258  #define CHAR 258
# Line 98  Line 106 
106  #define LF 262  #define LF 262
107  #define CR 263  #define CR 263
108  #define HASH 264  #define HASH 264
109  #define ADD 265  #define EQ 265
110  #define GET 266  #define ADD 266
111  #define LOAD 267  #define GET 267
112  #define REMOVE 268  #define CREATE 268
113  #define SET 269  #define DESTROY 269
114  #define SUBSCRIBE 270  #define LIST 270
115  #define UNSUBSCRIBE 271  #define LOAD 271
116  #define RESET 272  #define REMOVE 272
117  #define QUIT 273  #define SET 273
118  #define CHANNEL 274  #define SUBSCRIBE 274
119  #define NOTIFICATION 275  #define UNSUBSCRIBE 275
120  #define AVAILABLE_ENGINES 276  #define RESET 276
121  #define CHANNELS 277  #define QUIT 277
122  #define INFO 278  #define CHANNEL 278
123  #define BUFFER_FILL 279  #define NOTIFICATION 279
124  #define STREAM_COUNT 280  #define AVAILABLE_ENGINES 280
125  #define VOICE_COUNT 281  #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 281
126  #define INSTRUMENT 282  #define CHANNELS 282
127  #define ENGINE 283  #define INFO 283
128  #define AUDIO_OUTPUT_CHANNEL 284  #define BUFFER_FILL 284
129  #define AUDIO_OUTPUT_TYPE 285  #define STREAM_COUNT 285
130  #define MIDI_INPUT_PORT 286  #define VOICE_COUNT 286
131  #define MIDI_INPUT_CHANNEL 287  #define INSTRUMENT 287
132  #define MIDI_INPUT_TYPE 288  #define ENGINE 288
133  #define VOLUME 289  #define AUDIO_OUTPUT_CHANNEL 289
134  #define BYTES 290  #define AUDIO_OUTPUT_CHANNEL_PARAMETER 290
135  #define PERCENTAGE 291  #define AUDIO_OUTPUT_DEVICE 291
136  #define ALSA 292  #define AUDIO_OUTPUT_DEVICES 292
137  #define JACK 293  #define AUDIO_OUTPUT_DEVICE_PARAMETER 293
138    #define AUDIO_OUTPUT_DRIVER 294
139    #define AUDIO_OUTPUT_DRIVER_PARAMETER 295
140    #define MIDI_INPUT_PORT 296
141    #define MIDI_INPUT_CHANNEL 297
142    #define MIDI_INPUT_TYPE 298
143    #define VOLUME 299
144    #define BYTES 300
145    #define PERCENTAGE 301
146    
147    
148    
# Line 185  typedef int YYSTYPE; Line 201  typedef int YYSTYPE;
201    
202    
203  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
204  #line 189 "y.tab.c"  #line 205 "y.tab.c"
205    
206  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
207    
# Line 282  union yyalloc Line 298  union yyalloc
298  #endif  #endif
299    
300  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
301  #define YYFINAL  24  #define YYFINAL  30
302  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
303  #define YYLAST   128  #define YYLAST   222
304    
305  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
306  #define YYNTOKENS  39  #define YYNTOKENS  47
307  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
308  #define YYNNTS  25  #define YYNNTS  29
309  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
310  #define YYNRULES  62  #define YYNRULES  81
311  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
312  #define YYNSTATES  142  #define YYNSTATES  225
313    
314  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
315  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
316  #define YYMAXUTOK   293  #define YYMAXUTOK   301
317    
318  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
319    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 334  static const unsigned char yytranslate[] Line 350  static const unsigned char yytranslate[]
350         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
351        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
352        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
353        35,    36,    37,    38        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
354          45,    46
355  };  };
356    
357  #if YYDEBUG  #if YYDEBUG
358  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
359     YYRHS.  */     YYRHS.  */
360  static const unsigned char yyprhs[] =  static const unsigned short yyprhs[] =
361  {  {
362         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,
363        23,    26,    29,    32,    35,    39,    43,    47,    53,    59,        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,
364        65,    71,    77,    79,    81,    83,    89,    97,   103,   109,        59,    65,    69,    75,    81,    87,    89,    91,    93,    99,
365       115,   119,   123,   129,   135,   141,   147,   153,   159,   161,       107,   117,   119,   125,   133,   143,   145,   151,   159,   165,
366       163,   169,   173,   175,   177,   179,   181,   183,   185,   187,       171,   177,   185,   193,   203,   213,   217,   223,   227,   231,
367       189,   191,   193,   195,   197,   199,   201,   205,   207,   209,       235,   241,   249,   255,   261,   267,   273,   277,   283,   285,
368       212,   215,   217       287,   289,   295,   299,   301,   303,   305,   307,   309,   311,
369         313,   315,   317,   319,   321,   323,   327,   329,   331,   334,
370         337,   339
371  };  };
372    
373  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
374  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
375  {  {
376        40,     0,    -1,    41,    -1,    40,     7,    41,    -1,    40,        48,     0,    -1,    49,    -1,    48,     7,    49,    -1,    48,
377         8,     7,    41,    -1,    -1,    42,    -1,    43,    -1,     1,         8,     7,    49,    -1,    -1,    50,    -1,    51,    -1,     1,
378        -1,     9,    -1,    42,     9,    -1,    42,     6,    -1,    42,        -1,     9,    -1,    50,     9,    -1,    50,     6,    -1,    50,
379         5,    -1,    42,    63,    -1,    10,     6,    19,    -1,    11,         5,    -1,    50,    75,    -1,    11,     6,    23,    -1,    12,
380         6,    44,    -1,    12,     6,    45,    -1,    13,     6,    19,         6,    52,    -1,    13,     6,    54,    -1,    14,     6,    55,
381         6,    53,    -1,    14,     6,    19,     6,    46,    -1,    15,        -1,    15,     6,    60,    -1,    16,     6,    56,    -1,    17,
382         6,    20,     6,    55,    -1,    16,     6,    20,     6,    58,         6,    23,     6,    65,    -1,    18,     6,    53,    -1,    19,
383        -1,    17,     6,    19,     6,    53,    -1,    18,    -1,    21,         6,    24,     6,    67,    -1,    20,     6,    24,     6,    70,
384        -1,    22,    -1,    19,     6,    23,     6,    53,    -1,    19,        -1,    21,     6,    23,     6,    65,    -1,    22,    -1,    25,
385         6,    24,     6,    47,     6,    53,    -1,    19,     6,    25,        -1,    26,    -1,    39,     6,    28,     6,    75,    -1,    40,
386         6,    53,    -1,    19,     6,    26,     6,    53,    -1,    28,         6,    28,     6,    75,     6,    75,    -1,    40,     6,    28,
387         6,    23,     6,    59,    -1,    27,     6,    48,    -1,    28,         6,    75,     6,    75,     6,    58,    -1,    37,    -1,    36,
388         6,    49,    -1,    29,     6,    53,     6,    56,    -1,    30,         6,    28,     6,     5,    -1,    34,     6,    28,     6,     5,
389         6,    53,     6,    50,    -1,    31,     6,    53,     6,    60,         6,     5,    -1,    35,     6,    28,     6,     5,     6,     5,
390        -1,    32,     6,    53,     6,    57,    -1,    33,     6,    53,         6,    75,    -1,    27,    -1,    23,     6,    28,     6,    65,
391         6,    51,    -1,    34,     6,    53,     6,    52,    -1,    35,        -1,    23,     6,    29,     6,    59,     6,    65,    -1,    23,
392        -1,    36,    -1,    61,     6,    54,     6,    53,    -1,    59,         6,    30,     6,    65,    -1,    23,     6,    31,     6,    65,
393         6,    53,    -1,    37,    -1,    38,    -1,    37,    -1,     4,        -1,    33,     6,    28,     6,    71,    -1,    38,     6,     5,
394        -1,     5,    -1,     5,    -1,     5,    -1,     5,    -1,     5,         6,    75,     6,    74,    -1,    38,     6,     5,     6,    75,
395        -1,     5,    -1,    62,    -1,    63,    -1,    62,    -1,    62,        10,    74,    -1,    35,     6,     5,     6,     5,     6,    75,
396        -1,    61,     6,    62,    -1,    63,    -1,     5,    -1,    62,         6,    74,    -1,    35,     6,     5,     6,     5,     6,    75,
397        63,    -1,    62,     5,    -1,     3,    -1,    63,     3,    -1        10,    74,    -1,    23,     6,    57,    -1,    36,     6,    75,
398           6,    58,    -1,    36,     6,     5,    -1,    32,     6,    61,
399          -1,    33,     6,    62,    -1,    36,     6,    65,     6,     5,
400          -1,    34,     6,    65,     6,    68,     6,    68,    -1,    41,
401           6,    65,     6,    72,    -1,    42,     6,    65,     6,    69,
402          -1,    43,     6,    65,     6,    63,    -1,    44,     6,    65,
403           6,    64,    -1,    75,    10,    74,    -1,    58,     6,    75,
404          10,    74,    -1,    45,    -1,    46,    -1,    37,    -1,    73,
405           6,    66,     6,    65,    -1,    71,     6,    65,    -1,    75,
406          -1,     4,    -1,     5,    -1,     5,    -1,     5,    -1,     5,
407          -1,     5,    -1,     5,    -1,    74,    -1,    75,    -1,    74,
408          -1,    74,    -1,    73,     6,    74,    -1,    75,    -1,     5,
409          -1,    74,    75,    -1,    74,     5,    -1,     3,    -1,    75,
410           3,    -1
411  };  };
412    
413  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
414  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
415  {  {
416         0,    77,    77,    78,    79,    82,    83,    84,    85,    88,         0,    75,    75,    76,    77,    80,    81,    82,    83,    86,
417        89,    90,    91,    92,    95,    96,    97,    98,    99,   100,        87,    88,    89,    90,    93,    94,    95,    96,    97,    98,
418       101,   102,   103,   106,   107,   108,   109,   110,   111,   112,        99,   100,   101,   102,   103,   104,   107,   108,   109,   110,
419       115,   116,   119,   120,   121,   122,   123,   124,   127,   128,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
420       131,   134,   137,   138,   141,   144,   145,   148,   151,   154,       121,   124,   125,   126,   127,   128,   131,   134,   137,   138,
421       157,   160,   163,   166,   169,   172,   173,   176,   177,   178,       141,   142,   143,   144,   145,   146,   149,   150,   152,   153,
422       179,   182,   183       156,   159,   162,   165,   168,   169,   172,   175,   178,   181,
423         184,   187,   190,   193,   196,   197,   200,   201,   202,   203,
424         206,   207
425  };  };
426  #endif  #endif
427    
# Line 397  static const unsigned char yyrline[] = Line 431  static const unsigned char yyrline[] =
431  static const char *const yytname[] =  static const char *const yytname[] =
432  {  {
433    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF",    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF",
434    "CR", "HASH", "ADD", "GET", "LOAD", "REMOVE", "SET", "SUBSCRIBE",    "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY", "LIST", "LOAD",
435    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",    "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL",
436    "AVAILABLE_ENGINES", "CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT",    "NOTIFICATION", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
437    "VOICE_COUNT", "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL",    "CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
438    "AUDIO_OUTPUT_TYPE", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL",
439    "MIDI_INPUT_TYPE", "VOLUME", "BYTES", "PERCENTAGE", "ALSA", "JACK",    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_DEVICE",
440    "$accept", "input", "line", "comment", "command", "get_instruction",    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE_PARAMETER",
441    "load_instruction", "set_chan_instruction", "buffer_size_type",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_DRIVER_PARAMETER",
442    "load_instr_args", "load_engine_args", "audio_output_type",    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME",
443    "midi_input_type", "volume", "sampler_channel", "instrument_index",    "BYTES", "PERCENTAGE", "$accept", "input", "line", "comment", "command",
444    "udp_port", "audio_output_channel", "midi_input_channel", "session_id",    "get_instruction", "set_instruction", "create_instruction",
445      "destroy_instruction", "load_instruction", "set_chan_instruction",
446      "key_val_list", "buffer_size_type", "list_instruction",
447      "load_instr_args", "load_engine_args", "midi_input_type", "volume",
448      "sampler_channel", "instrument_index", "udp_port",
449      "audio_output_channel", "midi_input_channel", "session_id",
450    "engine_name", "midi_input_port", "filename", "alpha_num_string",    "engine_name", "midi_input_port", "filename", "alpha_num_string",
451    "string", 0    "string", 0
452  };  };
# Line 421  static const unsigned short yytoknum[] = Line 460  static const unsigned short yytoknum[] =
460         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
461       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
462       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
463       285,   286,   287,   288,   289,   290,   291,   292,   293       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
464         295,   296,   297,   298,   299,   300,   301
465  };  };
466  # endif  # endif
467    
468  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
469  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
470  {  {
471         0,    39,    40,    40,    40,    41,    41,    41,    41,    42,         0,    47,    48,    48,    48,    49,    49,    49,    49,    50,
472        42,    42,    42,    42,    43,    43,    43,    43,    43,    43,        50,    50,    50,    50,    51,    51,    51,    51,    51,    51,
473        43,    43,    43,    44,    44,    44,    44,    44,    44,    44,        51,    51,    51,    51,    51,    51,    52,    52,    52,    52,
474        45,    45,    46,    46,    46,    46,    46,    46,    47,    47,        52,    52,    52,    52,    52,    52,    52,    52,    52,    52,
475        48,    49,    50,    50,    51,    52,    52,    53,    54,    55,        52,    53,    53,    53,    53,    53,    54,    55,    56,    56,
476        56,    57,    58,    59,    60,    61,    61,    62,    62,    62,        57,    57,    57,    57,    57,    57,    58,    58,    59,    59,
477        62,    63,    63        60,    61,    62,    63,    64,    64,    65,    66,    67,    68,
478          69,    70,    71,    72,    73,    73,    74,    74,    74,    74,
479          75,    75
480  };  };
481    
482  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
483  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
484  {  {
485         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,
486         2,     2,     2,     2,     3,     3,     3,     5,     5,     5,         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,
487         5,     5,     1,     1,     1,     5,     7,     5,     5,     5,         5,     3,     5,     5,     5,     1,     1,     1,     5,     7,
488         3,     3,     5,     5,     5,     5,     5,     5,     1,     1,         9,     1,     5,     7,     9,     1,     5,     7,     5,     5,
489         5,     3,     1,     1,     1,     1,     1,     1,     1,     1,         5,     7,     7,     9,     9,     3,     5,     3,     3,     3,
490         1,     1,     1,     1,     1,     1,     3,     1,     1,     2,         5,     7,     5,     5,     5,     5,     3,     5,     1,     1,
491         2,     1,     2         1,     5,     3,     1,     1,     1,     1,     1,     1,     1,
492           1,     1,     1,     1,     1,     3,     1,     1,     2,     2,
493           1,     2
494  };  };
495    
496  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 455  static const unsigned char yyr2[] = Line 499  static const unsigned char yyr2[] =
499  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
500  {  {
501         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,
502         0,    22,     0,     2,     6,     7,     0,     0,     0,     0,         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,
503         0,     0,     0,     0,     1,     0,     0,    61,    12,    11,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
504        10,    13,    14,     0,    23,    24,     0,    15,     0,     0,         1,     0,     0,    80,    12,    11,    10,    13,    14,     0,
505        16,     0,     0,     0,     0,     0,     3,     0,    62,     0,        26,    27,    35,     0,     0,     0,     0,    31,     0,     0,
506         0,     0,     0,     0,     0,     0,     0,     0,     4,     0,        15,     0,    16,     0,    17,    60,    18,     0,     0,    19,
507         0,     0,     0,     0,    58,    30,     0,    55,    57,    31,         0,     0,     0,     0,    21,     0,     0,     0,     3,     0,
508         0,    53,    47,    17,     0,     0,     0,     0,     0,     0,        81,     0,     0,     0,     0,     0,     0,     0,     0,     0,
509        18,    49,    19,    20,    52,    21,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     4,
510         0,     0,    60,    59,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
511         0,    25,    38,    39,     0,    27,    28,    29,    58,     0,         0,    47,    77,    48,     0,    74,    76,    49,     0,    72,
512        56,    41,     0,     0,     0,     0,     0,     0,     0,     0,        66,    20,     0,     0,     0,     0,     0,     0,    45,     0,
513         0,     0,     0,     0,     0,     0,    26,    40,    50,    32,         0,    68,    22,    23,    71,    24,     0,     0,     0,     0,
514        42,    43,    33,    34,    54,    51,    35,    44,    36,    45,         0,     0,     0,     0,     0,     0,     0,     0,    79,    78,
515        46,    37         0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
516          58,    59,     0,    38,    39,    40,     0,     0,    32,    28,
517           0,    46,     0,    77,     0,    75,    62,     0,     0,     0,
518           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
519           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
520           0,    37,    33,     0,    29,     0,    56,    61,    69,     0,
521          50,    52,    73,    70,    53,    54,    63,    64,    65,    55,
522           0,    41,    42,     0,     0,     0,     0,     0,     0,    34,
523          30,    57,    51,    43,    44
524  };  };
525    
526  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
527  static const short yydefgoto[] =  static const short yydefgoto[] =
528  {  {
529        -1,    12,    13,    14,    15,    37,    40,    80,   104,    65,        -1,    15,    16,    17,    18,    50,    64,    52,    54,    59,
530        69,   132,   138,   141,    73,   109,    82,   129,   136,    83,       118,   161,   152,    56,   103,   107,   205,   209,   111,   164,
531        70,   133,    66,    67,    68       122,   199,   204,   123,   108,   201,   104,   105,   106
532  };  };
533    
534  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
535     STATE-NUM.  */     STATE-NUM.  */
536  #define YYPACT_NINF -56  #define YYPACT_NINF -86
537  static const yysigned_char yypact[] =  static const short yypact[] =
538  {  {
539         4,   -56,   -56,    21,    33,    67,    74,    75,    76,    77,         3,   -86,   -86,    21,    25,    43,    67,    86,    91,    96,
540        78,   -56,    47,   -56,    20,   -56,    -9,     9,    35,    14,       105,   106,   108,   109,   -86,    28,   -86,    84,   -86,   -14,
541        50,    32,    59,    66,   -56,     4,    79,   -56,   -56,   -56,         7,    80,    85,    83,     5,    87,    22,    99,   100,   102,
542       -56,    84,   -56,    82,   -56,   -56,    83,   -56,    85,    86,       -86,     3,   115,   -86,   -86,   -86,   -86,   123,   -86,   121,
543       -56,    87,    88,    89,    91,    92,   -56,     4,   -56,   -17,       -86,   -86,   -86,   122,   128,   129,   130,   -86,   131,   132,
544        80,    45,    96,    95,    27,    97,    45,    95,   -56,    98,       -86,   133,   -86,   134,   -86,   -86,   -86,   135,   136,   -86,
545        99,   100,   101,   102,   -56,   -56,   103,    46,    84,   -56,       137,   138,   139,   140,   -86,   141,   143,   144,   -86,     3,
546       104,    84,   -56,   -56,   105,   106,   107,   108,   109,   110,       -86,   -23,   101,   124,   125,   126,   127,   142,   148,   151,
547       -56,   -56,   -56,   -56,    46,   -56,    95,    36,    95,    95,        45,   148,   152,    38,   153,   154,   155,    45,   152,   -86,
548        96,    63,   -56,    84,    95,    95,    95,    95,    95,    95,       157,   158,   159,   160,   161,   162,   166,   167,   168,   169,
549        95,   -56,   -56,   -56,   111,   -56,   -56,   -56,   112,   113,        23,   -86,   -86,   -86,   170,    93,   123,   -86,   171,   123,
550        46,   -56,   115,   116,   117,   118,   119,   120,    95,    95,       -86,   -86,   172,   174,   175,   176,   177,   178,   -86,   180,
551       122,    37,    45,   123,    53,    73,   -56,   -56,   -56,   -56,       181,   -86,   -86,   -86,    93,   -86,   152,    40,   152,   152,
552       -56,   -56,   -56,   -56,    46,   -56,   -56,   -56,   -56,   -56,       148,   183,   184,   185,   148,   148,   148,    98,   -86,   123,
553       -56,   -56       152,   152,   152,   152,   152,   152,   152,   186,   148,   -86,
554         -86,   -86,   187,   -86,   -86,   -86,   192,   193,   -86,   123,
555          72,   194,    73,   195,   196,    93,   -86,   197,   199,   202,
556         203,   204,   205,   206,    52,   152,   208,   209,   148,   148,
557          45,   152,   210,   211,    45,   212,   148,   104,   148,    45,
558          45,   -86,   -86,   213,    88,    74,    93,   -86,   -86,   214,
559         -86,   -86,    93,   -86,   -86,   -86,   123,   -86,   -86,   -86,
560          53,    93,    93,   148,   148,    45,   210,    45,    45,   123,
561         194,    93,   -86,    93,    93
562  };  };
563    
564  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
565  static const yysigned_char yypgoto[] =  static const yysigned_char yypgoto[] =
566  {  {
567       -56,   -56,   -23,   -56,   -56,   -56,   -56,   -56,   -56,   -56,       -86,   -86,   -30,   -86,   -86,   -86,   -86,   -86,   -86,   -86,
568       -56,   -56,   -56,   -56,   -54,   -56,   -56,   -56,   -56,   -56,       -86,   -22,   -86,   -86,   -86,   -86,   -86,   -86,   -75,   -86,
569        11,   -56,   -56,   -55,   -14       -86,     2,   -86,   -86,    92,   -86,   -86,   -85,   -17
570  };  };
571    
572  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
573     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
574     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
575     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
576  #define YYTABLE_NINF -49  #define YYTABLE_NINF -68
577  static const short yytable[] =  static const short yytable[] =
578  {  {
579        31,    84,    46,    85,    -5,     1,    59,    60,    61,    62,        37,    68,   124,    -5,     1,    90,    91,    92,    93,    38,
580        32,    -5,    -5,     2,     3,     4,     5,     6,     7,     8,        -5,    -5,     2,   125,     3,     4,     5,     6,     7,     8,
581         9,    10,    11,    27,    58,    28,    29,    16,    33,    30,         9,    10,    11,    12,    13,    14,    70,    19,    30,   136,
582        34,    35,   101,    41,   105,   106,   110,    36,    71,    17,        39,    20,    40,    41,    42,    31,    32,    57,    58,    89,
583       111,   112,   113,   114,   115,   116,   117,    24,    27,    27,        43,    44,    45,    46,    47,    61,    48,    49,    33,    21,
584        64,    92,    43,    93,    25,    26,    74,    75,    76,    77,       102,   149,   165,   153,   154,    70,    70,    62,   189,   217,
585        78,    79,    38,    39,   126,   127,    27,   134,   108,    42,        63,   100,   190,   218,   109,   166,   167,   168,   169,   170,
586        93,   102,   103,    18,   130,   131,    71,   139,   140,    44,       171,   172,   112,    22,   113,    70,    70,    70,   178,   114,
587        19,    20,    21,    22,    23,    45,    47,    48,    49,    50,       115,   116,   117,   180,   215,   150,   151,    33,   139,    34,
588       137,    51,    52,    53,    54,    55,    93,    56,    57,    27,        35,    70,    23,    36,   214,   196,    33,    24,   138,   202,
589        72,   107,    81,    63,    86,    87,    88,    89,    90,    91,       191,    33,    25,   163,   211,   212,   197,   139,   207,   208,
590        94,    95,    96,    97,    98,    99,   100,   118,   -48,   119,        60,    26,    27,   109,    28,    29,    51,   159,   160,   162,
591        93,   120,   121,   122,   123,   124,   125,   128,   135        55,    53,    69,    65,    66,    67,    70,    71,    72,    94,
592         221,   174,   223,   224,    73,    74,    75,    76,    77,    78,
593          79,    80,    81,    82,    83,    84,    85,    86,   139,    87,
594          88,    33,    95,    96,    97,    98,   101,   110,   119,   120,
595         121,   194,   195,   126,   127,   128,   129,   130,   131,   206,
596          99,   210,   132,   133,   134,   135,   137,   140,   141,   139,
597         142,   143,   144,   145,   146,   139,   147,   148,   156,   157,
598         158,   173,   220,   175,   139,   139,   219,   162,   176,   177,
599         179,   -67,   181,   182,   139,   183,   139,   139,   184,   185,
600         186,   187,   188,   192,   193,   198,   200,   203,   222,   213,
601         216,     0,   155
602  };  };
603    
604  static const unsigned char yycheck[] =  static const short yycheck[] =
605  {  {
606        14,    56,    25,    57,     0,     1,    23,    24,    25,    26,        17,    31,    87,     0,     1,    28,    29,    30,    31,    23,
607        19,     7,     8,     9,    10,    11,    12,    13,    14,    15,         7,     8,     9,    88,    11,    12,    13,    14,    15,    16,
608        16,    17,    18,     3,    47,     5,     6,     6,    19,     9,        17,    18,    19,    20,    21,    22,     3,     6,     0,     6,
609        21,    22,    86,    19,    88,    89,    91,    28,    52,     6,        23,     6,    25,    26,    27,     7,     8,    32,    33,    69,
610        94,    95,    96,    97,    98,    99,   100,     0,     3,     3,        33,    34,    35,    36,    37,    23,    39,    40,     3,     6,
611         5,     5,    20,    67,     7,     8,    29,    30,    31,    32,         5,   126,   137,   128,   129,     3,     3,    35,     6,     6,
612        33,    34,    27,    28,   118,   119,     3,   122,     5,    19,        38,    78,    10,    10,    81,   140,   141,   142,   143,   144,
613        84,    35,    36,     6,    37,    38,    90,     4,     5,    20,       145,   146,    34,     6,    36,     3,     3,     3,     6,    41,
614         6,     6,     6,     6,     6,    19,     7,     3,     6,     6,        42,    43,    44,    10,    10,    45,    46,     3,   105,     5,
615        37,     6,     6,     6,     6,     6,   110,     6,     6,     3,         6,     3,     6,     9,     6,   180,     3,     6,     5,   184,
616         5,    90,     5,    23,     6,     6,     6,     6,     6,     6,       175,     3,     6,     5,   189,   190,   181,   124,     4,     5,
617         6,     6,     6,     6,     6,     6,     6,     6,     6,     6,        23,     6,     6,   130,     6,     6,    36,   134,   135,   136,
618       134,     6,     6,     6,     6,     6,     6,     5,     5        37,    36,     7,    24,    24,    23,     3,     6,     6,    28,
619         215,   148,   217,   218,     6,     6,     6,     6,     6,     6,
620           6,     6,     6,     6,     6,     6,     6,     6,   165,     6,
621           6,     3,    28,    28,    28,    28,     5,     5,     5,     5,
622           5,   178,   179,     6,     6,     6,     6,     6,     6,   186,
623          28,   188,     6,     6,     6,     6,     6,     6,     6,   196,
624           6,     6,     6,     6,     6,   202,     6,     6,     5,     5,
625           5,     5,   214,     6,   211,   212,   213,   214,     6,     6,
626           6,     6,     6,     6,   221,     6,   223,   224,     6,     6,
627           6,     6,     6,     5,     5,     5,     5,     5,   216,     6,
628           6,    -1,   130
629  };  };
630    
631  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
632     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
633  static const unsigned char yystos[] =  static const unsigned char yystos[] =
634  {  {
635         0,     1,     9,    10,    11,    12,    13,    14,    15,    16,         0,     1,     9,    11,    12,    13,    14,    15,    16,    17,
636        17,    18,    40,    41,    42,    43,     6,     6,     6,     6,        18,    19,    20,    21,    22,    48,    49,    50,    51,     6,
637         6,     6,     6,     6,     0,     7,     8,     3,     5,     6,         6,     6,     6,     6,     6,     6,     6,     6,     6,     6,
638         9,    63,    19,    19,    21,    22,    28,    44,    27,    28,         0,     7,     8,     3,     5,     6,     9,    75,    23,    23,
639        45,    19,    19,    20,    20,    19,    41,     7,     3,     6,        25,    26,    27,    33,    34,    35,    36,    37,    39,    40,
640         6,     6,     6,     6,     6,     6,     6,     6,    41,    23,        52,    36,    54,    36,    55,    37,    60,    32,    33,    56,
641        24,    25,    26,    23,     5,    48,    61,    62,    63,    49,        23,    23,    35,    38,    53,    24,    24,    23,    49,     7,
642        59,    63,     5,    53,    29,    30,    31,    32,    33,    34,         3,     6,     6,     6,     6,     6,     6,     6,     6,     6,
643        46,     5,    55,    58,    62,    53,     6,     6,     6,     6,         6,     6,     6,     6,     6,     6,     6,     6,     6,    49,
644         6,     6,     5,    63,     6,     6,     6,     6,     6,     6,        28,    29,    30,    31,    28,    28,    28,    28,    28,    28,
645         6,    53,    35,    36,    47,    53,    53,    59,     5,    54,        75,     5,     5,    61,    73,    74,    75,    62,    71,    75,
646        62,    53,    53,    53,    53,    53,    53,    53,     6,     6,         5,    65,    34,    36,    41,    42,    43,    44,    57,     5,
647         6,     6,     6,     6,     6,     6,    53,    53,     5,    56,         5,     5,    67,    70,    74,    65,     6,     6,     6,     6,
648        37,    38,    50,    60,    62,     5,    57,    37,    51,     4,         6,     6,     6,     6,     6,     6,     6,     6,     5,    75,
649         5,    52         6,     6,     6,     6,     6,     6,     6,     6,     6,    65,
650          45,    46,    59,    65,    65,    71,     5,     5,     5,    75,
651          75,    58,    75,     5,    66,    74,    65,    65,    65,    65,
652          65,    65,    65,     5,    75,     6,     6,     6,     6,     6,
653          10,     6,     6,     6,     6,     6,     6,     6,     6,     6,
654          10,    65,     5,     5,    75,    75,    74,    65,     5,    68,
655           5,    72,    74,     5,    69,    63,    75,     4,     5,    64,
656          75,    74,    74,     6,     6,    10,     6,     6,    10,    75,
657          58,    74,    68,    74,    74
658  };  };
659    
660  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1177  yyreduce: Line 1265  yyreduce:
1265    switch (yyn)    switch (yyn)
1266      {      {
1267          case 7:          case 7:
1268  #line 84 "lscp.y"  #line 82 "lscp.y"
1269      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { LSCPSERVER->AnswerClient(yyvsp[0].String); }
1270      break;      break;
1271    
1272    case 8:    case 8:
1273  #line 85 "lscp.y"  #line 83 "lscp.y"
1274      { 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; }
1275      break;      break;
1276    
1277    case 14:    case 14:
1278  #line 95 "lscp.y"  #line 93 "lscp.y"
1279      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = LSCPSERVER->AddChannel();                  }
1280      break;      break;
1281    
1282    case 15:    case 15:
1283  #line 96 "lscp.y"  #line 94 "lscp.y"
1284      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1285      break;      break;
1286    
1287    case 16:    case 16:
1288  #line 97 "lscp.y"  #line 95 "lscp.y"
1289      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1290      break;      break;
1291    
1292    case 17:    case 17:
1293  #line 98 "lscp.y"  #line 96 "lscp.y"
1294      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                        }
1295      break;      break;
1296    
1297    case 18:    case 18:
1298  #line 99 "lscp.y"  #line 97 "lscp.y"
1299      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1300      break;      break;
1301    
1302    case 19:    case 19:
1303  #line 100 "lscp.y"  #line 98 "lscp.y"
1304      { yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number);     }      { yyval.String = yyvsp[0].String;                                        }
1305      break;      break;
1306    
1307    case 20:    case 20:
1308  #line 101 "lscp.y"  #line 99 "lscp.y"
1309      { yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String);   }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1310      break;      break;
1311    
1312    case 21:    case 21:
1313  #line 102 "lscp.y"  #line 100 "lscp.y"
1314      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = yyvsp[0].String;                                        }
1315      break;      break;
1316    
1317    case 22:    case 22:
1318  #line 103 "lscp.y"  #line 101 "lscp.y"
1319      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number);     }
1320      break;      break;
1321    
1322    case 23:    case 23:
1323  #line 106 "lscp.y"  #line 102 "lscp.y"
1324      { yyval.String = LSCPSERVER->GetAvailableEngines(); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String);   }
1325      break;      break;
1326    
1327    case 24:    case 24:
1328  #line 107 "lscp.y"  #line 103 "lscp.y"
1329      { yyval.String = LSCPSERVER->GetChannels();         }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1330      break;      break;
1331    
1332    case 25:    case 25:
1333  #line 108 "lscp.y"  #line 104 "lscp.y"
1334      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);    }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }
1335      break;      break;
1336    
1337    case 26:    case 26:
1338  #line 109 "lscp.y"  #line 107 "lscp.y"
1339      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
1340      break;      break;
1341    
1342    case 27:    case 27:
1343  #line 110 "lscp.y"  #line 108 "lscp.y"
1344      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);    }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
1345      break;      break;
1346    
1347    case 28:    case 28:
1348  #line 111 "lscp.y"  #line 109 "lscp.y"
1349      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);     }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
1350      break;      break;
1351    
1352    case 29:    case 29:
1353  #line 112 "lscp.y"  #line 110 "lscp.y"
1354      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);     }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
1355      break;      break;
1356    
1357    case 30:    case 30:
1358  #line 115 "lscp.y"  #line 111 "lscp.y"
1359      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
1360      break;      break;
1361    
1362    case 31:    case 31:
1363  #line 116 "lscp.y"  #line 112 "lscp.y"
1364      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
1365      break;      break;
1366    
1367    case 32:    case 32:
1368  #line 119 "lscp.y"  #line 113 "lscp.y"
1369      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[0].Number, yyvsp[-2].Number); }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
1370      break;      break;
1371    
1372    case 33:    case 33:
1373  #line 120 "lscp.y"  #line 114 "lscp.y"
1374      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].AudioOutput, yyvsp[-2].Number);    }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
1375      break;      break;
1376    
1377    case 34:    case 34:
1378  #line 121 "lscp.y"  #line 115 "lscp.y"
1379      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
1380      break;      break;
1381    
1382    case 35:    case 35:
1383  #line 122 "lscp.y"  #line 116 "lscp.y"
1384      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);   }      { yyval.String = LSCPSERVER->GetChannels();                                  }
1385      break;      break;
1386    
1387    case 36:    case 36:
1388  #line 123 "lscp.y"  #line 117 "lscp.y"
1389      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].MidiInput, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
1390      break;      break;
1391    
1392    case 37:    case 37:
1393  #line 124 "lscp.y"  #line 118 "lscp.y"
1394      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);             }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
1395      break;      break;
1396    
1397    case 38:    case 38:
1398  #line 127 "lscp.y"  #line 119 "lscp.y"
1399      { yyval.FillResponse = fill_response_bytes;      }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
1400      break;      break;
1401    
1402    case 39:    case 39:
1403  #line 128 "lscp.y"  #line 120 "lscp.y"
1404      { yyval.FillResponse = fill_response_percentage; }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
1405      break;      break;
1406    
1407    case 40:    case 40:
1408  #line 131 "lscp.y"  #line 121 "lscp.y"
1409      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
1410      break;      break;
1411    
1412    case 41:    case 41:
1413  #line 134 "lscp.y"  #line 124 "lscp.y"
1414      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
1415      break;      break;
1416    
1417    case 42:    case 42:
1418  #line 137 "lscp.y"  #line 125 "lscp.y"
1419      { yyval.AudioOutput = AudioOutputDevice::type_alsa; }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
1420      break;      break;
1421    
1422    case 43:    case 43:
1423  #line 138 "lscp.y"  #line 126 "lscp.y"
1424      { yyval.AudioOutput = AudioOutputDevice::type_jack; }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1425      break;      break;
1426    
1427    case 44:    case 44:
1428  #line 141 "lscp.y"  #line 127 "lscp.y"
1429      { yyval.MidiInput = MidiInputDevice::type_alsa; }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1430        break;
1431    
1432      case 45:
1433    #line 128 "lscp.y"
1434        { yyval.String = yyvsp[0].String;                                                         }
1435      break;      break;
1436    
1437    case 46:    case 46:
1438    #line 131 "lscp.y"
1439        { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1440        break;
1441    
1442      case 47:
1443    #line 134 "lscp.y"
1444        { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
1445        break;
1446    
1447      case 48:
1448    #line 137 "lscp.y"
1449        { yyval.String = yyvsp[0].String; }
1450        break;
1451    
1452      case 49:
1453    #line 138 "lscp.y"
1454        { yyval.String = yyvsp[0].String; }
1455        break;
1456    
1457      case 50:
1458    #line 141 "lscp.y"
1459        { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1460        break;
1461    
1462      case 51:
1463    #line 142 "lscp.y"
1464        { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1465        break;
1466    
1467      case 52:
1468    #line 143 "lscp.y"
1469        { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);          }
1470        break;
1471    
1472      case 53:
1473    #line 144 "lscp.y"
1474        { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1475        break;
1476    
1477      case 54:
1478  #line 145 "lscp.y"  #line 145 "lscp.y"
1479      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1480        break;
1481    
1482      case 55:
1483    #line 146 "lscp.y"
1484        { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1485      break;      break;
1486    
1487    case 56:    case 56:
1488  #line 173 "lscp.y"  #line 149 "lscp.y"
1489      { yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1490      break;      break;
1491    
1492    case 57:    case 57:
1493  #line 176 "lscp.y"  #line 150 "lscp.y"
1494      { yyval.String = yyvsp[0].String;                                             }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1495      break;      break;
1496    
1497    case 58:    case 58:
1498  #line 177 "lscp.y"  #line 152 "lscp.y"
1499      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { yyval.FillResponse = fill_response_bytes;      }
1500      break;      break;
1501    
1502    case 59:    case 59:
1503  #line 178 "lscp.y"  #line 153 "lscp.y"
1504      { yyval.String = yyvsp[-1].String + yyvsp[0].String;                                        }      { yyval.FillResponse = fill_response_percentage; }
1505      break;      break;
1506    
1507    case 60:    case 60:
1508  #line 179 "lscp.y"  #line 156 "lscp.y"
1509      { std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); }      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
1510      break;      break;
1511    
1512    case 61:    case 61:
1513  #line 182 "lscp.y"  #line 159 "lscp.y"
1514      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }
1515      break;      break;
1516    
1517    case 62:    case 62:
1518  #line 183 "lscp.y"  #line 162 "lscp.y"
1519        { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }
1520        break;
1521    
1522      case 65:
1523    #line 169 "lscp.y"
1524        { yyval.Dotnum = yyvsp[0].Number; }
1525        break;
1526    
1527      case 75:
1528    #line 197 "lscp.y"
1529        { yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; }
1530        break;
1531    
1532      case 76:
1533    #line 200 "lscp.y"
1534        { yyval.String = yyvsp[0].String;                                             }
1535        break;
1536    
1537      case 77:
1538    #line 201 "lscp.y"
1539        { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1540        break;
1541    
1542      case 78:
1543    #line 202 "lscp.y"
1544        { yyval.String = yyvsp[-1].String + yyvsp[0].String;                                        }
1545        break;
1546    
1547      case 79:
1548    #line 203 "lscp.y"
1549        { std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); }
1550        break;
1551    
1552      case 80:
1553    #line 206 "lscp.y"
1554        { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1555        break;
1556    
1557      case 81:
1558    #line 207 "lscp.y"
1559      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1560      break;      break;
1561    
# Line 1385  yyreduce: Line 1563  yyreduce:
1563      }      }
1564    
1565  /* Line 999 of yacc.c.  */  /* Line 999 of yacc.c.  */
1566  #line 1389 "y.tab.c"  #line 1567 "y.tab.c"
1567    
1568    yyvsp -= yylen;    yyvsp -= yylen;
1569    yyssp -= yylen;    yyssp -= yylen;
# Line 1579  yyreturn: Line 1757  yyreturn:
1757  }  }
1758    
1759    
1760  #line 186 "lscp.y"  #line 210 "lscp.y"
1761    
1762    
1763  /**  /**

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

  ViewVC Help
Powered by ViewVC