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

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

  ViewVC Help
Powered by ViewVC