comparison src/sound.c @ 2580:86eaeb064e82

[gaim-migrate @ 2593] run-time committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 23 Oct 2001 04:05:52 +0000
parents ad4a0b3f0032
children 61952dde7677
comparison
equal deleted inserted replaced
2579:d3b7c7b39963 2580:86eaeb064e82
402 if (strstr(sound_cmd, "\"%s\"")) 402 if (strstr(sound_cmd, "\"%s\""))
403 g_snprintf(command, sizeof(command), sound_cmd, filename); 403 g_snprintf(command, sizeof(command), sound_cmd, filename);
404 else if ((ms = strstr(sound_cmd, "%s")) != NULL) { 404 else if ((ms = strstr(sound_cmd, "%s")) != NULL) {
405 *ms = 0; 405 *ms = 0;
406 g_snprintf(command, sizeof(command), "%s\"%s\"%s", sound_cmd, 406 g_snprintf(command, sizeof(command), "%s\"%s\"%s", sound_cmd,
407 filename, ms + 2); 407 filename, ms + 2);
408 } else 408 } else
409 g_snprintf(command, sizeof(command), sound_cmd); 409 g_snprintf(command, sizeof(command), sound_cmd);
410 args[0] = "sh"; 410 args[0] = "sh";
411 args[1] = "-c"; 411 args[1] = "-c";
412 args[2] = command; 412 args[2] = command;
413 args[3] = NULL; 413 args[3] = NULL;
414 execvp(args[0], args); 414 execvp(args[0], args);
415 _exit(0); 415 _exit(0);
416 } 416 }
417 #ifdef ESD_SOUND 417 #ifdef ESD_SOUND
418 if (esd_play_file(NULL, filename, 1)) 418 else if (sound_options & OPT_SOUND_ESD) {
419 _exit(0); 419 if (esd_play_file(NULL, filename, 1))
420 _exit(0);
421 }
420 #endif 422 #endif
421 423
422 #ifdef ARTSC_SOUND 424 #ifdef ARTSC_SOUND
423 if (artsc_play_file(filename)) 425 else if (sound_options & OPT_SOUND_ARTSC) {
424 _exit(0); 426 if (artsc_play_file(filename))
427 _exit(0);
428 }
425 #endif 429 #endif
426 430
427 #ifdef NAS_SOUND 431 #ifdef NAS_SOUND
428 if (play_nas_file(filename)) 432 else if (sound_options & OPT_SOUND_NAS) {
429 _exit(0); 433 if (play_nas_file(filename))
430 #endif 434 _exit(0);
431 435 }
432 if (can_play_audio()) { 436 #endif
437 else if ((sound_options & OPT_SOUND_NORMAL) &&
438 can_play_audio()) {
433 play_audio_file(filename); 439 play_audio_file(filename);
434 _exit(0); 440 _exit(0);
435 } 441 }
436 442
437 _exit(0); 443 _exit(0);
458 _exit(0); 464 _exit(0);
459 } 465 }
460 #ifdef ESD_SOUND 466 #ifdef ESD_SOUND
461 /* ESD is our player of choice. Are we OK to 467 /* ESD is our player of choice. Are we OK to
462 * go there? */ 468 * go there? */
463 if (can_play_esd()) { 469 else if (sound_options & OPT_SOUND_ESD) {
464 if (play_esd(data, size)) 470 if (can_play_esd()) {
465 _exit(0); 471 if (play_esd(data, size))
472 _exit(0);
473 }
466 } 474 }
467 #endif 475 #endif
468 476
469 #ifdef ARTSC_SOUND 477 #ifdef ARTSC_SOUND
470 /* ArtsC is the new second choice. */ 478 /* ArtsC is the new second choice. */
471 if (can_play_artsc()) { 479 else if (sound_options & OPT_SOUND_ARTSC) {
472 if (play_artsc(data, size)) 480 if (can_play_artsc()) {
473 _exit(0); 481 if (play_artsc(data, size))
482 _exit(0);
483 }
474 } 484 }
475 #endif 485 #endif
476 486
477 #ifdef NAS_SOUND 487 #ifdef NAS_SOUND
478 /* NAS is our second choice setup. */ 488 /* NAS is our second choice setup. */
479 if (can_play_nas()) { 489 else if (sound_options & OPT_SOUND_NAS) {
480 if (play_nas(data, size)) 490 if (can_play_nas()) {
491 if (play_nas(data, size))
492 _exit(0);
493 }
494 }
495 #endif
496
497 /* Lastly, we can try just plain old /dev/audio */
498 else if (sound_options & OPT_SOUND_NORMAL) {
499 if (can_play_audio()) {
500 play_audio(data, size);
481 _exit(0); 501 _exit(0);
482 } 502 }
483 #endif
484
485 /* Lastly, we can try just plain old /dev/audio */
486 if (can_play_audio()) {
487 play_audio(data, size);
488 _exit(0);
489 } 503 }
490 504
491 _exit(0); 505 _exit(0);
492 } else { 506 } else {
493 g_timeout_add(100, clean_pid, NULL); 507 g_timeout_add(100, clean_pid, NULL);