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

Legend:
Removed from v.35  
changed lines
  Added in v.138

  ViewVC Help
Powered by ViewVC