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

Legend:
Removed from v.64  
changed lines
  Added in v.141

  ViewVC Help
Powered by ViewVC