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

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

  ViewVC Help
Powered by ViewVC