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. */ |
208 |
|
|
209 |
|
|
210 |
/* Line 214 of yacc.c. */ |
/* Line 214 of yacc.c. */ |
211 |
#line 210 "y.tab.c" |
#line 211 "y.tab.c" |
212 |
|
|
213 |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
214 |
|
|
314 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
315 |
#define YYNNTS 29 |
#define YYNNTS 29 |
316 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
317 |
#define YYNRULES 88 |
#define YYNRULES 89 |
318 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
319 |
#define YYNSTATES 228 |
#define YYNSTATES 228 |
320 |
|
|
372 |
95, 97, 99, 101, 103, 105, 107, 109, 111, 113, |
95, 97, 99, 101, 103, 105, 107, 109, 111, 113, |
373 |
115, 117, 123, 131, 141, 143, 149, 157, 167, 169, |
115, 117, 123, 131, 141, 143, 149, 157, 167, 169, |
374 |
175, 183, 189, 195, 201, 209, 219, 223, 229, 233, |
175, 183, 189, 195, 201, 209, 219, 223, 229, 233, |
375 |
237, 241, 247, 255, 261, 267, 273, 279, 283, 289, |
237, 241, 245, 251, 259, 265, 271, 277, 283, 287, |
376 |
291, 293, 295, 301, 305, 307, 309, 311, 313, 315, |
293, 295, 297, 299, 305, 309, 311, 313, 315, 317, |
377 |
317, 319, 321, 323, 325, 327, 329, 331, 333 |
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. */ |
403 |
-1, 40, 7, 5, 7, 78, 11, 77, -1, 37, |
-1, 40, 7, 5, 7, 78, 11, 77, -1, 37, |
404 |
7, 5, 7, 5, 7, 78, 11, 77, -1, 25, |
7, 5, 7, 5, 7, 78, 11, 77, -1, 25, |
405 |
7, 62, -1, 38, 7, 78, 7, 63, -1, 38, |
7, 62, -1, 38, 7, 78, 7, 63, -1, 38, |
406 |
7, 5, -1, 34, 7, 66, -1, 35, 7, 67, |
7, 78, -1, 38, 7, 5, -1, 34, 7, 66, |
407 |
-1, 38, 7, 70, 7, 5, -1, 36, 7, 70, |
-1, 35, 7, 67, -1, 38, 7, 70, 7, 5, |
408 |
7, 72, 7, 72, -1, 43, 7, 70, 7, 75, |
-1, 36, 7, 70, 7, 72, 7, 72, -1, 43, |
409 |
-1, 44, 7, 70, 7, 73, -1, 45, 7, 70, |
7, 70, 7, 75, -1, 44, 7, 70, 7, 73, |
410 |
7, 68, -1, 46, 7, 70, 7, 69, -1, 78, |
-1, 45, 7, 70, 7, 68, -1, 46, 7, 70, |
411 |
11, 77, -1, 63, 7, 78, 11, 77, -1, 47, |
7, 69, -1, 78, 11, 77, -1, 63, 7, 78, |
412 |
-1, 48, -1, 39, -1, 76, 7, 71, 7, 70, |
11, 77, -1, 47, -1, 48, -1, 39, -1, 76, |
413 |
-1, 74, 7, 70, -1, 78, -1, 4, -1, 5, |
7, 71, 7, 70, -1, 74, 7, 70, -1, 78, |
414 |
-1, 5, -1, 5, -1, 5, -1, 5, -1, 78, |
-1, 4, -1, 5, -1, 5, -1, 5, -1, 5, |
415 |
-1, 6, -1, 6, -1, 6, -1, 5, -1, 4, |
-1, 5, -1, 78, -1, 6, -1, 6, -1, 6, |
416 |
-1, 3, -1, 78, 3, -1 |
-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, 77, 77, 78, 79, 82, 83, 84, 85, 88, |
0, 78, 78, 79, 80, 83, 84, 85, 86, 89, |
423 |
89, 90, 91, 92, 95, 96, 97, 98, 99, 100, |
90, 91, 92, 93, 96, 97, 98, 99, 100, 101, |
424 |
101, 102, 103, 104, 105, 106, 107, 110, 111, 112, |
102, 103, 104, 105, 106, 107, 108, 111, 112, 113, |
425 |
113, 114, 115, 118, 119, 120, 121, 122, 123, 126, |
114, 115, 116, 119, 120, 121, 122, 123, 124, 127, |
426 |
127, 128, 129, 130, 131, 132, 133, 134, 135, 136, |
128, 129, 130, 131, 132, 133, 134, 135, 136, 137, |
427 |
137, 138, 139, 140, 143, 144, 145, 148, 151, 154, |
138, 139, 140, 141, 144, 145, 146, 149, 150, 153, |
428 |
155, 158, 159, 160, 161, 162, 163, 166, 167, 170, |
156, 157, 160, 161, 162, 163, 164, 165, 168, 169, |
429 |
171, 174, 177, 180, 183, 186, 187, 190, 193, 196, |
172, 173, 176, 179, 182, 185, 188, 189, 192, 195, |
430 |
199, 202, 205, 208, 211, 212, 213, 216, 217 |
198, 201, 204, 207, 210, 213, 214, 215, 218, 219 |
431 |
}; |
}; |
432 |
#endif |
#endif |
433 |
|
|
479 |
54, 54, 54, 54, 54, 54, 54, 55, 55, 55, |
54, 54, 54, 54, 54, 54, 54, 55, 55, 55, |
480 |
55, 55, 55, 56, 56, 56, 56, 56, 56, 57, |
55, 55, 55, 56, 56, 56, 56, 56, 56, 57, |
481 |
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, |
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, |
482 |
57, 57, 57, 57, 58, 58, 58, 59, 60, 61, |
57, 57, 57, 57, 58, 58, 58, 59, 59, 60, |
483 |
61, 62, 62, 62, 62, 62, 62, 63, 63, 64, |
61, 61, 62, 62, 62, 62, 62, 62, 63, 63, |
484 |
64, 65, 66, 67, 68, 69, 69, 70, 71, 72, |
64, 64, 65, 66, 67, 68, 69, 69, 70, 71, |
485 |
73, 74, 75, 76, 77, 77, 77, 78, 78 |
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. */ |
494 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
495 |
1, 5, 7, 9, 1, 5, 7, 9, 1, 5, |
1, 5, 7, 9, 1, 5, 7, 9, 1, 5, |
496 |
7, 5, 5, 5, 7, 9, 3, 5, 3, 3, |
7, 5, 5, 5, 7, 9, 3, 5, 3, 3, |
497 |
3, 5, 7, 5, 5, 5, 5, 3, 5, 1, |
3, 3, 5, 7, 5, 5, 5, 5, 3, 5, |
498 |
1, 1, 5, 3, 1, 1, 1, 1, 1, 1, |
1, 1, 1, 5, 3, 1, 1, 1, 1, 1, |
499 |
1, 1, 1, 1, 1, 1, 1, 1, 2 |
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 |
507 |
0, 8, 9, 0, 0, 0, 0, 0, 0, 0, |
0, 8, 9, 0, 0, 0, 0, 0, 0, 0, |
508 |
0, 0, 0, 0, 0, 26, 0, 2, 6, 7, |
0, 0, 0, 0, 0, 26, 0, 2, 6, 7, |
509 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
510 |
0, 0, 1, 0, 0, 87, 12, 11, 10, 13, |
0, 0, 1, 0, 0, 88, 12, 11, 10, 13, |
511 |
14, 0, 39, 40, 48, 0, 0, 0, 0, 44, |
14, 0, 39, 40, 48, 0, 0, 0, 0, 44, |
512 |
0, 0, 15, 0, 16, 0, 17, 71, 18, 0, |
0, 0, 15, 0, 16, 0, 17, 72, 18, 0, |
513 |
0, 19, 20, 0, 0, 0, 0, 22, 27, 31, |
0, 19, 20, 0, 0, 0, 0, 22, 27, 31, |
514 |
30, 29, 28, 32, 23, 33, 37, 36, 35, 34, |
30, 29, 28, 32, 23, 33, 37, 36, 35, 34, |
515 |
38, 24, 0, 3, 0, 88, 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 |
0, 0, 4, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 4, 0, 0, 0, 0, 0, 0, 0, |
518 |
0, 0, 0, 0, 58, 83, 59, 0, 60, 0, |
0, 0, 0, 58, 59, 84, 60, 0, 61, 0, |
519 |
81, 77, 21, 0, 0, 0, 0, 0, 0, 56, |
82, 78, 21, 0, 0, 0, 0, 0, 0, 56, |
520 |
0, 0, 25, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 25, 0, 0, 0, 0, 0, 0, 0, |
521 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
522 |
0, 0, 0, 0, 49, 69, 70, 0, 51, 52, |
0, 0, 0, 0, 49, 70, 71, 0, 51, 52, |
523 |
53, 0, 0, 45, 41, 0, 57, 0, 78, 0, |
53, 0, 0, 45, 41, 0, 57, 0, 79, 0, |
524 |
73, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
74, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
525 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
526 |
0, 0, 0, 0, 50, 46, 0, 42, 0, 86, |
0, 0, 0, 0, 50, 46, 0, 42, 0, 87, |
527 |
85, 84, 67, 72, 79, 0, 61, 82, 63, 80, |
86, 85, 68, 73, 80, 0, 62, 83, 64, 81, |
528 |
64, 65, 74, 75, 76, 66, 0, 54, 0, 0, |
65, 66, 75, 76, 77, 67, 0, 54, 0, 0, |
529 |
0, 0, 0, 47, 43, 68, 62, 55 |
0, 0, 0, 47, 43, 69, 63, 55 |
530 |
}; |
}; |
531 |
|
|
532 |
/* YYDEFGOTO[NTERM-NUM]. */ |
/* YYDEFGOTO[NTERM-NUM]. */ |
1269 |
switch (yyn) |
switch (yyn) |
1270 |
{ |
{ |
1271 |
case 7: |
case 7: |
1272 |
#line 84 "lscp.y" |
#line 85 "lscp.y" |
1273 |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
1274 |
break; |
break; |
1275 |
|
|
1276 |
case 8: |
case 8: |
1277 |
#line 85 "lscp.y" |
#line 86 "lscp.y" |
1278 |
{ LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; } |
{ LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; } |
1279 |
break; |
break; |
1280 |
|
|
1281 |
case 14: |
case 14: |
1282 |
#line 95 "lscp.y" |
#line 96 "lscp.y" |
1283 |
{ yyval.String = LSCPSERVER->AddChannel(); } |
{ yyval.String = LSCPSERVER->AddChannel(); } |
1284 |
break; |
break; |
1285 |
|
|
1286 |
case 15: |
case 15: |
1287 |
#line 96 "lscp.y" |
#line 97 "lscp.y" |
1288 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1289 |
break; |
break; |
1290 |
|
|
1291 |
case 16: |
case 16: |
1292 |
#line 97 "lscp.y" |
#line 98 "lscp.y" |
1293 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1294 |
break; |
break; |
1295 |
|
|
1296 |
case 17: |
case 17: |
1297 |
#line 98 "lscp.y" |
#line 99 "lscp.y" |
1298 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1299 |
break; |
break; |
1300 |
|
|
1301 |
case 18: |
case 18: |
1302 |
#line 99 "lscp.y" |
#line 100 "lscp.y" |
1303 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1304 |
break; |
break; |
1305 |
|
|
1306 |
case 19: |
case 19: |
1307 |
#line 100 "lscp.y" |
#line 101 "lscp.y" |
1308 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; background = false; } |
1309 |
break; |
break; |
1310 |
|
|
1311 |
case 20: |
case 20: |
1312 |
#line 101 "lscp.y" |
#line 102 "lscp.y" |
1313 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; background = true; } |
1314 |
break; |
break; |
1315 |
|
|
1316 |
case 21: |
case 21: |
1317 |
#line 102 "lscp.y" |
#line 103 "lscp.y" |
1318 |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
1319 |
break; |
break; |
1320 |
|
|
1321 |
case 22: |
case 22: |
1322 |
#line 103 "lscp.y" |
#line 104 "lscp.y" |
1323 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1324 |
break; |
break; |
1325 |
|
|
1326 |
case 23: |
case 23: |
1327 |
#line 104 "lscp.y" |
#line 105 "lscp.y" |
1328 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1329 |
break; |
break; |
1330 |
|
|
1331 |
case 24: |
case 24: |
1332 |
#line 105 "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 106 "lscp.y" |
#line 107 "lscp.y" |
1338 |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
1339 |
break; |
break; |
1340 |
|
|
1341 |
case 26: |
case 26: |
1342 |
#line 107 "lscp.y" |
#line 108 "lscp.y" |
1343 |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
1344 |
break; |
break; |
1345 |
|
|
1346 |
case 27: |
case 27: |
1347 |
#line 110 "lscp.y" |
#line 111 "lscp.y" |
1348 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channels); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channels); } |
1349 |
break; |
break; |
1350 |
|
|
1351 |
case 28: |
case 28: |
1352 |
#line 111 "lscp.y" |
#line 112 "lscp.y" |
1353 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); } |
1354 |
break; |
break; |
1355 |
|
|
1356 |
case 29: |
case 29: |
1357 |
#line 112 "lscp.y" |
#line 113 "lscp.y" |
1358 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); } |
1359 |
break; |
break; |
1360 |
|
|
1361 |
case 30: |
case 30: |
1362 |
#line 113 "lscp.y" |
#line 114 "lscp.y" |
1363 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); } |
1364 |
break; |
break; |
1365 |
|
|
1366 |
case 31: |
case 31: |
1367 |
#line 114 "lscp.y" |
#line 115 "lscp.y" |
1368 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); } |
1369 |
break; |
break; |
1370 |
|
|
1371 |
case 32: |
case 32: |
1372 |
#line 115 "lscp.y" |
#line 116 "lscp.y" |
1373 |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_misc); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(event_misc); } |
1374 |
break; |
break; |
1375 |
|
|
1376 |
case 33: |
case 33: |
1377 |
#line 118 "lscp.y" |
#line 119 "lscp.y" |
1378 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); } |
1379 |
break; |
break; |
1380 |
|
|
1381 |
case 34: |
case 34: |
1382 |
#line 119 "lscp.y" |
#line 120 "lscp.y" |
1383 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); } |
1384 |
break; |
break; |
1385 |
|
|
1386 |
case 35: |
case 35: |
1387 |
#line 120 "lscp.y" |
#line 121 "lscp.y" |
1388 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); } |
1389 |
break; |
break; |
1390 |
|
|
1391 |
case 36: |
case 36: |
1392 |
#line 121 "lscp.y" |
#line 122 "lscp.y" |
1393 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); } |
1394 |
break; |
break; |
1395 |
|
|
1396 |
case 37: |
case 37: |
1397 |
#line 122 "lscp.y" |
#line 123 "lscp.y" |
1398 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); } |
1399 |
break; |
break; |
1400 |
|
|
1401 |
case 38: |
case 38: |
1402 |
#line 123 "lscp.y" |
#line 124 "lscp.y" |
1403 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); } |
1404 |
break; |
break; |
1405 |
|
|
1406 |
case 39: |
case 39: |
1407 |
#line 126 "lscp.y" |
#line 127 "lscp.y" |
1408 |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
1409 |
break; |
break; |
1410 |
|
|
1411 |
case 40: |
case 40: |
1412 |
#line 127 "lscp.y" |
#line 128 "lscp.y" |
1413 |
{ yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers(); } |
{ yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers(); } |
1414 |
break; |
break; |
1415 |
|
|
1416 |
case 41: |
case 41: |
1417 |
#line 128 "lscp.y" |
#line 129 "lscp.y" |
1418 |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String); } |
1419 |
break; |
break; |
1420 |
|
|
1421 |
case 42: |
case 42: |
1422 |
#line 129 "lscp.y" |
#line 130 "lscp.y" |
1423 |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } |
1424 |
break; |
break; |
1425 |
|
|
1426 |
case 43: |
case 43: |
1427 |
#line 130 "lscp.y" |
#line 131 "lscp.y" |
1428 |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } |
1429 |
break; |
break; |
1430 |
|
|
1431 |
case 44: |
case 44: |
1432 |
#line 131 "lscp.y" |
#line 132 "lscp.y" |
1433 |
{ yyval.String = LSCPSERVER->GetAudioOutputDeviceCount(); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDeviceCount(); } |
1434 |
break; |
break; |
1435 |
|
|
1436 |
case 45: |
case 45: |
1437 |
#line 132 "lscp.y" |
#line 133 "lscp.y" |
1438 |
{ yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number); } |
1439 |
break; |
break; |
1440 |
|
|
1441 |
case 46: |
case 46: |
1442 |
#line 133 "lscp.y" |
#line 134 "lscp.y" |
1443 |
{ yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number); } |
1444 |
break; |
break; |
1445 |
|
|
1446 |
case 47: |
case 47: |
1447 |
#line 134 "lscp.y" |
#line 135 "lscp.y" |
1448 |
{ yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); } |
1449 |
break; |
break; |
1450 |
|
|
1451 |
case 48: |
case 48: |
1452 |
#line 135 "lscp.y" |
#line 136 "lscp.y" |
1453 |
{ yyval.String = LSCPSERVER->GetChannels(); } |
{ yyval.String = LSCPSERVER->GetChannels(); } |
1454 |
break; |
break; |
1455 |
|
|
1456 |
case 49: |
case 49: |
1457 |
#line 136 "lscp.y" |
#line 137 "lscp.y" |
1458 |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
1459 |
break; |
break; |
1460 |
|
|
1461 |
case 50: |
case 50: |
1462 |
#line 137 "lscp.y" |
#line 138 "lscp.y" |
1463 |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
1464 |
break; |
break; |
1465 |
|
|
1466 |
case 51: |
case 51: |
1467 |
#line 138 "lscp.y" |
#line 139 "lscp.y" |
1468 |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
1469 |
break; |
break; |
1470 |
|
|
1471 |
case 52: |
case 52: |
1472 |
#line 139 "lscp.y" |
#line 140 "lscp.y" |
1473 |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
1474 |
break; |
break; |
1475 |
|
|
1476 |
case 53: |
case 53: |
1477 |
#line 140 "lscp.y" |
#line 141 "lscp.y" |
1478 |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
1479 |
break; |
break; |
1480 |
|
|
1481 |
case 54: |
case 54: |
1482 |
#line 143 "lscp.y" |
#line 144 "lscp.y" |
1483 |
{ yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } |
1484 |
break; |
break; |
1485 |
|
|
1486 |
case 55: |
case 55: |
1487 |
#line 144 "lscp.y" |
#line 145 "lscp.y" |
1488 |
{ yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } |
1489 |
break; |
break; |
1490 |
|
|
1491 |
case 56: |
case 56: |
1492 |
#line 145 "lscp.y" |
#line 146 "lscp.y" |
1493 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1494 |
break; |
break; |
1495 |
|
|
1496 |
case 57: |
case 57: |
1497 |
#line 148 "lscp.y" |
#line 149 "lscp.y" |
1498 |
{ yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } |
{ yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } |
1499 |
break; |
break; |
1500 |
|
|
1501 |
case 58: |
case 58: |
1502 |
#line 151 "lscp.y" |
#line 150 "lscp.y" |
1503 |
{ yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); } |
1504 |
break; |
break; |
1505 |
|
|
1506 |
case 59: |
case 59: |
1507 |
#line 154 "lscp.y" |
#line 153 "lscp.y" |
1508 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); } |
1509 |
break; |
break; |
1510 |
|
|
1511 |
case 60: |
case 60: |
1512 |
#line 155 "lscp.y" |
#line 156 "lscp.y" |
1513 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1514 |
break; |
break; |
1515 |
|
|
1516 |
case 61: |
case 61: |
1517 |
#line 158 "lscp.y" |
#line 157 "lscp.y" |
1518 |
{ yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = yyvsp[0].String; } |
1519 |
break; |
break; |
1520 |
|
|
1521 |
case 62: |
case 62: |
1522 |
#line 159 "lscp.y" |
#line 160 "lscp.y" |
1523 |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number); } |
1524 |
break; |
break; |
1525 |
|
|
1526 |
case 63: |
case 63: |
1527 |
#line 160 "lscp.y" |
#line 161 "lscp.y" |
1528 |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); } |
1529 |
break; |
break; |
1530 |
|
|
1531 |
case 64: |
case 64: |
1532 |
#line 161 "lscp.y" |
#line 162 "lscp.y" |
1533 |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
1534 |
break; |
break; |
1535 |
|
|
1536 |
case 65: |
case 65: |
1537 |
#line 162 "lscp.y" |
#line 163 "lscp.y" |
1538 |
{ yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
1539 |
break; |
break; |
1540 |
|
|
1541 |
case 66: |
case 66: |
1542 |
#line 163 "lscp.y" |
#line 164 "lscp.y" |
1543 |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number); } |
1544 |
break; |
break; |
1545 |
|
|
1546 |
case 67: |
case 67: |
1547 |
#line 166 "lscp.y" |
#line 165 "lscp.y" |
1548 |
{ yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
1549 |
break; |
break; |
1550 |
|
|
1551 |
case 68: |
case 68: |
1552 |
#line 167 "lscp.y" |
#line 168 "lscp.y" |
1553 |
{ yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } |
{ yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } |
1554 |
break; |
break; |
1555 |
|
|
1556 |
case 69: |
case 69: |
1557 |
#line 170 "lscp.y" |
#line 169 "lscp.y" |
1558 |
{ yyval.FillResponse = fill_response_bytes; } |
{ yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } |
1559 |
break; |
break; |
1560 |
|
|
1561 |
case 70: |
case 70: |
1562 |
#line 171 "lscp.y" |
#line 172 "lscp.y" |
1563 |
{ yyval.FillResponse = fill_response_percentage; } |
{ yyval.FillResponse = fill_response_bytes; } |
1564 |
break; |
break; |
1565 |
|
|
1566 |
case 71: |
case 71: |
1567 |
#line 174 "lscp.y" |
#line 173 "lscp.y" |
1568 |
{ yyval.String = LSCPSERVER->GetAudioOutputDevices(); } |
{ yyval.FillResponse = fill_response_percentage; } |
1569 |
break; |
break; |
1570 |
|
|
1571 |
case 72: |
case 72: |
1572 |
#line 177 "lscp.y" |
#line 176 "lscp.y" |
1573 |
{ yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetAudioOutputDevices(); } |
1574 |
break; |
break; |
1575 |
|
|
1576 |
case 73: |
case 73: |
1577 |
#line 180 "lscp.y" |
#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); } |
{ yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } |
1584 |
break; |
break; |
1585 |
|
|
1586 |
case 76: |
case 77: |
1587 |
#line 187 "lscp.y" |
#line 189 "lscp.y" |
1588 |
{ yyval.Dotnum = yyvsp[0].Number; } |
{ yyval.Dotnum = yyvsp[0].Number; } |
1589 |
break; |
break; |
1590 |
|
|
1591 |
case 84: |
case 85: |
1592 |
#line 211 "lscp.y" |
#line 213 "lscp.y" |
1593 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1594 |
break; |
break; |
1595 |
|
|
1596 |
case 85: |
case 86: |
1597 |
#line 212 "lscp.y" |
#line 214 "lscp.y" |
1598 |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
1599 |
break; |
break; |
1600 |
|
|
1601 |
case 86: |
case 87: |
1602 |
#line 213 "lscp.y" |
#line 215 "lscp.y" |
1603 |
{ std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); } |
{ std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); } |
1604 |
break; |
break; |
1605 |
|
|
1606 |
case 87: |
case 88: |
1607 |
#line 216 "lscp.y" |
#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 88: |
case 89: |
1612 |
#line 217 "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 |
|
|
1617 |
} |
} |
1618 |
|
|
1619 |
/* Line 999 of yacc.c. */ |
/* Line 999 of yacc.c. */ |
1620 |
#line 1614 "y.tab.c" |
#line 1620 "y.tab.c" |
1621 |
|
|
1622 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1623 |
yyssp -= yylen; |
yyssp -= yylen; |
1811 |
} |
} |
1812 |
|
|
1813 |
|
|
1814 |
#line 77 "lscp.y" |
#line 78 "lscp.y" |
1815 |
|
|
1816 |
|
|
1817 |
/** |
/** |