377 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
378 |
static const unsigned char yyrline[] = |
static const unsigned char yyrline[] = |
379 |
{ |
{ |
380 |
0, 76, 76, 77, 78, 81, 82, 83, 86, 87, |
0, 77, 77, 78, 79, 82, 83, 84, 87, 88, |
381 |
88, 89, 90, 91, 92, 93, 94, 97, 98, 99, |
89, 90, 91, 92, 93, 94, 95, 98, 99, 100, |
382 |
100, 101, 102, 103, 106, 107, 110, 111, 112, 113, |
101, 102, 103, 104, 107, 108, 111, 112, 113, 114, |
383 |
114, 115, 118, 119, 122, 125, 128, 129, 132, 135, |
115, 116, 119, 120, 123, 126, 129, 130, 133, 136, |
384 |
136, 139, 142, 145, 148, 151, 154, 157, 160, 163, |
137, 140, 143, 146, 149, 152, 155, 158, 161, 164, |
385 |
164, 167, 168, 169, 170, 173, 174 |
165, 168, 169, 170, 171, 174, 175 |
386 |
}; |
}; |
387 |
#endif |
#endif |
388 |
|
|
1167 |
switch (yyn) |
switch (yyn) |
1168 |
{ |
{ |
1169 |
case 6: |
case 6: |
1170 |
#line 82 "lscp.y" |
#line 83 "lscp.y" |
1171 |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
1172 |
break; |
break; |
1173 |
|
|
1174 |
case 7: |
case 7: |
1175 |
#line 83 "lscp.y" |
#line 84 "lscp.y" |
1176 |
{ 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; } |
1177 |
break; |
break; |
1178 |
|
|
1179 |
case 8: |
case 8: |
1180 |
#line 86 "lscp.y" |
#line 87 "lscp.y" |
1181 |
{ yyval.String = LSCPSERVER->AddChannel(); } |
{ yyval.String = LSCPSERVER->AddChannel(); } |
1182 |
break; |
break; |
1183 |
|
|
1184 |
case 9: |
case 9: |
1185 |
#line 87 "lscp.y" |
#line 88 "lscp.y" |
1186 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1187 |
break; |
break; |
1188 |
|
|
1189 |
case 10: |
case 10: |
1190 |
#line 88 "lscp.y" |
#line 89 "lscp.y" |
1191 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1192 |
break; |
break; |
1193 |
|
|
1194 |
case 11: |
case 11: |
1195 |
#line 89 "lscp.y" |
#line 90 "lscp.y" |
1196 |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
1197 |
break; |
break; |
1198 |
|
|
1199 |
case 12: |
case 12: |
1200 |
#line 90 "lscp.y" |
#line 91 "lscp.y" |
1201 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1202 |
break; |
break; |
1203 |
|
|
1204 |
case 13: |
case 13: |
1205 |
#line 91 "lscp.y" |
#line 92 "lscp.y" |
1206 |
{ yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number); } |
1207 |
break; |
break; |
1208 |
|
|
1209 |
case 14: |
case 14: |
1210 |
#line 92 "lscp.y" |
#line 93 "lscp.y" |
1211 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String); } |
1212 |
break; |
break; |
1213 |
|
|
1214 |
case 15: |
case 15: |
1215 |
#line 93 "lscp.y" |
#line 94 "lscp.y" |
1216 |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
1217 |
break; |
break; |
1218 |
|
|
1219 |
case 16: |
case 16: |
1220 |
#line 94 "lscp.y" |
#line 95 "lscp.y" |
1221 |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
1222 |
break; |
break; |
1223 |
|
|
1224 |
case 17: |
case 17: |
1225 |
#line 97 "lscp.y" |
#line 98 "lscp.y" |
1226 |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
1227 |
break; |
break; |
1228 |
|
|
1229 |
case 18: |
case 18: |
1230 |
#line 98 "lscp.y" |
#line 99 "lscp.y" |
1231 |
{ yyval.String = LSCPSERVER->GetChannels(); } |
{ yyval.String = LSCPSERVER->GetChannels(); } |
1232 |
break; |
break; |
1233 |
|
|
1234 |
case 19: |
case 19: |
1235 |
#line 99 "lscp.y" |
#line 100 "lscp.y" |
1236 |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
1237 |
break; |
break; |
1238 |
|
|
1239 |
case 20: |
case 20: |
1240 |
#line 100 "lscp.y" |
#line 101 "lscp.y" |
1241 |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
1242 |
break; |
break; |
1243 |
|
|
1244 |
case 21: |
case 21: |
1245 |
#line 101 "lscp.y" |
#line 102 "lscp.y" |
1246 |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
1247 |
break; |
break; |
1248 |
|
|
1249 |
case 22: |
case 22: |
1250 |
#line 102 "lscp.y" |
#line 103 "lscp.y" |
1251 |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
1252 |
break; |
break; |
1253 |
|
|
1254 |
case 23: |
case 23: |
1255 |
#line 103 "lscp.y" |
#line 104 "lscp.y" |
1256 |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
1257 |
break; |
break; |
1258 |
|
|
1259 |
case 24: |
case 24: |
1260 |
#line 106 "lscp.y" |
#line 107 "lscp.y" |
1261 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1262 |
break; |
break; |
1263 |
|
|
1264 |
case 25: |
case 25: |
1265 |
#line 107 "lscp.y" |
#line 108 "lscp.y" |
1266 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1267 |
break; |
break; |
1268 |
|
|
1269 |
case 26: |
case 26: |
1270 |
#line 110 "lscp.y" |
#line 111 "lscp.y" |
1271 |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
1272 |
break; |
break; |
1273 |
|
|
1274 |
case 27: |
case 27: |
1275 |
#line 111 "lscp.y" |
#line 112 "lscp.y" |
1276 |
{ yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].AudioOutput, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].AudioOutput, yyvsp[-2].Number); } |
1277 |
break; |
break; |
1278 |
|
|
1279 |
case 28: |
case 28: |
1280 |
#line 112 "lscp.y" |
#line 113 "lscp.y" |
1281 |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
1282 |
break; |
break; |
1283 |
|
|
1284 |
case 29: |
case 29: |
1285 |
#line 113 "lscp.y" |
#line 114 "lscp.y" |
1286 |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
1287 |
break; |
break; |
1288 |
|
|
1289 |
case 30: |
case 30: |
1290 |
#line 114 "lscp.y" |
#line 115 "lscp.y" |
1291 |
{ yyval.String = "Err:0:Not implemented yet\r\n"; } |
{ yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].MidiInput, yyvsp[-2].Number); } |
1292 |
break; |
break; |
1293 |
|
|
1294 |
case 31: |
case 31: |
1295 |
#line 115 "lscp.y" |
#line 116 "lscp.y" |
1296 |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
1297 |
break; |
break; |
1298 |
|
|
1299 |
case 32: |
case 32: |
1300 |
#line 118 "lscp.y" |
#line 119 "lscp.y" |
1301 |
{ yyval.FillResponse = fill_response_bytes; } |
{ yyval.FillResponse = fill_response_bytes; } |
1302 |
break; |
break; |
1303 |
|
|
1304 |
case 33: |
case 33: |
1305 |
#line 119 "lscp.y" |
#line 120 "lscp.y" |
1306 |
{ yyval.FillResponse = fill_response_percentage; } |
{ yyval.FillResponse = fill_response_percentage; } |
1307 |
break; |
break; |
1308 |
|
|
1309 |
case 34: |
case 34: |
1310 |
#line 122 "lscp.y" |
#line 123 "lscp.y" |
1311 |
{ yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } |
1312 |
break; |
break; |
1313 |
|
|
1314 |
case 35: |
case 35: |
1315 |
#line 125 "lscp.y" |
#line 126 "lscp.y" |
1316 |
{ yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } |
1317 |
break; |
break; |
1318 |
|
|
1319 |
case 36: |
case 36: |
1320 |
#line 128 "lscp.y" |
#line 129 "lscp.y" |
1321 |
{ yyval.AudioOutput = audio_output_type_alsa; } |
{ yyval.AudioOutput = audio_output_type_alsa; } |
1322 |
break; |
break; |
1323 |
|
|
1324 |
case 37: |
case 37: |
1325 |
#line 129 "lscp.y" |
#line 130 "lscp.y" |
1326 |
{ yyval.AudioOutput = audio_output_type_jack; } |
{ yyval.AudioOutput = audio_output_type_jack; } |
1327 |
break; |
break; |
1328 |
|
|
1329 |
case 38: |
case 38: |
1330 |
#line 132 "lscp.y" |
#line 133 "lscp.y" |
1331 |
{ yyval.Number = ALSA; } |
{ yyval.MidiInput = midi_input_type_alsa; } |
1332 |
break; |
break; |
1333 |
|
|
1334 |
case 40: |
case 40: |
1335 |
#line 136 "lscp.y" |
#line 137 "lscp.y" |
1336 |
{ yyval.Dotnum = yyvsp[0].Number; } |
{ yyval.Dotnum = yyvsp[0].Number; } |
1337 |
break; |
break; |
1338 |
|
|
1339 |
case 50: |
case 50: |
1340 |
#line 164 "lscp.y" |
#line 165 "lscp.y" |
1341 |
{ yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; } |
{ yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; } |
1342 |
break; |
break; |
1343 |
|
|
1344 |
case 51: |
case 51: |
1345 |
#line 167 "lscp.y" |
#line 168 "lscp.y" |
1346 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1347 |
break; |
break; |
1348 |
|
|
1349 |
case 52: |
case 52: |
1350 |
#line 168 "lscp.y" |
#line 169 "lscp.y" |
1351 |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
1352 |
break; |
break; |
1353 |
|
|
1354 |
case 53: |
case 53: |
1355 |
#line 169 "lscp.y" |
#line 170 "lscp.y" |
1356 |
{ yyval.String = yyvsp[-1].String + yyvsp[0].String; } |
{ yyval.String = yyvsp[-1].String + yyvsp[0].String; } |
1357 |
break; |
break; |
1358 |
|
|
1359 |
case 54: |
case 54: |
1360 |
#line 170 "lscp.y" |
#line 171 "lscp.y" |
1361 |
{ 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(); } |
1362 |
break; |
break; |
1363 |
|
|
1364 |
case 55: |
case 55: |
1365 |
#line 173 "lscp.y" |
#line 174 "lscp.y" |
1366 |
{ std::string s; s = yyvsp[0].Char; yyval.String = s; } |
{ std::string s; s = yyvsp[0].Char; yyval.String = s; } |
1367 |
break; |
break; |
1368 |
|
|
1369 |
case 56: |
case 56: |
1370 |
#line 174 "lscp.y" |
#line 175 "lscp.y" |
1371 |
{ yyval.String = yyvsp[-1].String + yyvsp[0].Char; } |
{ yyval.String = yyvsp[-1].String + yyvsp[0].Char; } |
1372 |
break; |
break; |
1373 |
|
|
1569 |
} |
} |
1570 |
|
|
1571 |
|
|
1572 |
#line 177 "lscp.y" |
#line 178 "lscp.y" |
1573 |
|
|
1574 |
|
|
1575 |
/** |
/** |