3 #include "soundeffects.h"
13 static Sound_settings sound_settings;
15 Sound_settings *sound_get_settings_ptr(void)
17 return &sound_settings;
20 static void sound_exec(char *prg, char *sound)
24 int argc=0, start=0,i;
31 for(i=0;i<strlen(prg)+1;i++){
32 if(prg[i]==' ' || prg[i]=='\0'){
33 argv[argc]=g_malloc0(i-start);
34 strncpy(argv[argc],prg+start,i-start);
35 //printf("--argv[%d]=%s--\n",argc,argv[argc]);
41 argv[argc]=g_strdup_printf("%s/%s", aquarium_install_path(), sound);
43 g_spawn_async(".", argv, NULL,
44 G_SPAWN_STDOUT_TO_DEV_NULL|G_SPAWN_STDERR_TO_DEV_NULL|G_SPAWN_SEARCH_PATH,
45 NULL,NULL, &pid, NULL);
55 void sound_eatscream(void)
59 ad = aquarium_get_settings_ptr();
61 if(sound_settings.on && !ad->proximity){
62 if(sound_settings.type == TYPE_MP3)
63 sound_exec(sound_settings.prg, "sounds/mp3/deathscream.mp3");
65 sound_exec(sound_settings.prg, "sounds/ogg/deathscream.ogg");
70 void sound_explode(void)
74 ad = aquarium_get_settings_ptr();
76 if(sound_settings.on && !ad->proximity){
77 if(sound_settings.type == TYPE_MP3)
78 sound_exec(sound_settings.prg, "sounds/mp3/explode.mp3");
80 sound_exec(sound_settings.prg, "sounds/ogg/explode.ogg");
84 void sound_bubbles(void)
88 ad = aquarium_get_settings_ptr();
89 if(sound_settings.on && !ad->proximity){
93 if(sound_settings.type == TYPE_MP3)
94 sound_exec(sound_settings.prg, "sounds/mp3/manybubbles.mp3");
96 sound_exec(sound_settings.prg, "sounds/ogg/manybubbles.ogg");
99 if(sound_settings.type == TYPE_MP3)
100 sound_exec(sound_settings.prg, "sounds/mp3/fewbubbles.mp3");
102 sound_exec(sound_settings.prg, "sounds/ogg/fewbubbles.ogg");