Changeset 5025:35982a4396fb in roaraudio
- Timestamp:
- 05/28/11 11:28:11 (13 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/vs.h
r4850 r5025 284 284 ROAR_VS_CMD_GET_LATC_MINLAG, 285 285 #define ROAR_VS_CMD_GET_LATC_MINLAG ROAR_VS_CMD_GET_LATC_MINLAG 286 287 // Volume: 286 288 ROAR_VS_CMD_SET_FREE_VOLUME, 287 289 #define ROAR_VS_CMD_SET_FREE_VOLUME ROAR_VS_CMD_SET_FREE_VOLUME 288 290 ROAR_VS_CMD_GET_FREE_VOLUME, 289 291 #define ROAR_VS_CMD_GET_FREE_VOLUME ROAR_VS_CMD_GET_FREE_VOLUME 292 293 // auto pause flag, needed for sync streams: 294 ROAR_VS_CMD_SET_DEFAULT_PAUSED, 295 #define ROAR_VS_CMD_SET_DEFAULT_PAUSED ROAR_VS_CMD_SET_DEFAULT_PAUSED 296 ROAR_VS_CMD_GET_DEFAULT_PAUSED, 297 #define ROAR_VS_CMD_GET_DEFAULT_PAUSED ROAR_VS_CMD_GET_DEFAULT_PAUSED 290 298 }; 291 299 -
libroar/vs.c
r4873 r5025 46 46 #define FLAG_CLOSEFILE 0x0008 47 47 #define FLAG_FREE_VOL 0x0010 48 #define FLAG_DEF_PAUSE 0x0020 48 49 #define FLAG_DIR_IN 0x1000 49 50 #define FLAG_DIR_OUT 0x2000 … … 157 158 } 158 159 160 if ( dir == ROAR_DIR_FILTER ) 161 vss->flags |= FLAG_DEF_PAUSE; 162 159 163 _initerr(); 160 164 … … 1366 1370 #endif 1367 1371 case ROAR_VS_CMD_SET_FREE_VOLUME: 1368 vss->flags |= FLAG_FREE_VOL; 1369 if ( !*(int*)argp ) { 1370 vss->flags -= FLAG_FREE_VOL; 1372 switch (*(int*)argp) { 1373 case ROAR_VS_TRUE: 1374 vss->flags |= FLAG_FREE_VOL; 1375 break; 1376 case ROAR_VS_FALSE: 1377 vss->flags |= FLAG_FREE_VOL; 1378 vss->flags -= FLAG_FREE_VOL; 1379 break; 1380 case ROAR_VS_TOGGLE: 1381 if ( vss->flags & FLAG_FREE_VOL ) { 1382 vss->flags -= FLAG_FREE_VOL; 1383 } else { 1384 vss->flags |= FLAG_FREE_VOL; 1385 } 1386 break; 1387 default: 1388 _seterr(ROAR_ERROR_INVAL); 1389 return -1; 1390 break; 1371 1391 } 1372 1392 break; 1373 1393 case ROAR_VS_CMD_GET_FREE_VOLUME: 1374 *(int*)argp = vss->flags & FLAG_FREE_VOL ? 1 : 0; 1394 *(int*)argp = vss->flags & FLAG_FREE_VOL ? ROAR_VS_TRUE : ROAR_VS_FALSE; 1395 break; 1396 case ROAR_VS_CMD_SET_DEFAULT_PAUSED: 1397 switch (*(int*)argp) { 1398 case ROAR_VS_TRUE: 1399 vss->flags |= FLAG_DEF_PAUSE; 1400 break; 1401 case ROAR_VS_FALSE: 1402 vss->flags |= FLAG_DEF_PAUSE; 1403 vss->flags -= FLAG_DEF_PAUSE; 1404 break; 1405 case ROAR_VS_TOGGLE: 1406 if ( vss->flags & FLAG_DEF_PAUSE ) { 1407 vss->flags -= FLAG_DEF_PAUSE; 1408 } else { 1409 vss->flags |= FLAG_DEF_PAUSE; 1410 } 1411 break; 1412 default: 1413 _seterr(ROAR_ERROR_INVAL); 1414 return -1; 1415 break; 1416 } 1417 break; 1418 case ROAR_VS_CMD_GET_DEFAULT_PAUSED: 1419 *(int*)argp = vss->flags & FLAG_DEF_PAUSE ? ROAR_VS_TRUE : ROAR_VS_FALSE; 1375 1420 break; 1376 1421 // use ifndef here so warnings of unhandled enum values will be shown in DEBUG mode. 1377 1422 #ifndef DEBUG 1378 1423 default: 1424 _seterr(ROAR_ERROR_INVAL); 1379 1425 return -1; 1380 1426 break;
Note: See TracChangeset
for help on using the changeset viewer.