return FALSE;
}
+ if (audio.mixer_pid == 0) /* we are the child process */
+ audio.mixer_pid = getpid();
+
#if 0
- printf("PID: %d [%s]\n", getpid(),
- (IS_CHILD_PROCESS(audio.mixer_pid) ? "child" : "parent"));
+ printf("PID: %d [%s]\n", getpid(),(IS_CHILD_PROCESS() ? "child" : "parent"));
Delay(10000 * 0);
#endif
- if (IS_CHILD_PROCESS(audio.mixer_pid))
+ if (IS_CHILD_PROCESS())
Mixer_Main(); /* this function never returns */
else
close(audio.mixer_pipe[0]); /* no reading from pipe needed */
if (audio.device_fd)
close(audio.device_fd);
- if (IS_PARENT_PROCESS(audio.mixer_pid))
+ if (IS_PARENT_PROCESS())
kill(audio.mixer_pid, SIGTERM);
}
static void SendSoundControlToMixerProcess(SoundControl *snd_ctrl)
{
- if (IS_CHILD_PROCESS(audio.mixer_pid))
+ if (IS_CHILD_PROCESS())
return;
if (write(audio.mixer_pipe[1], snd_ctrl, sizeof(SoundControl)) < 0)
static void ReadSoundControlFromMainProcess(SoundControl *snd_ctrl)
{
- if (IS_PARENT_PROCESS(audio.mixer_pid))
+ if (IS_PARENT_PROCESS())
return;
if (read(audio.mixer_pipe[0], snd_ctrl, sizeof(SoundControl))
setup.override_level_sounds :
setup.override_level_music);
- if (IS_CHILD_PROCESS(audio.mixer_pid))
+ if (IS_CHILD_PROCESS())
return;
if (leveldir_current == NULL) /* should never happen */
int i;
#if defined(AUDIO_UNIX_NATIVE)
- if (IS_PARENT_PROCESS(audio.mixer_pid))
+ if (IS_PARENT_PROCESS())
{
SendSoundControlToMixerProcess(&snd_ctrl);
return;
struct ConfigInfo *config_suffix_list,
char **base_prefixes,
char **ext1_suffixes,
- char **ext2_suffixes)
+ char **ext2_suffixes,
+ char **ext3_suffixes)
{
int i;
for (i=0; ext2_suffixes[i] != NULL; i++)
sound_info->num_ext2_suffixes++;
+ sound_info->num_ext3_suffixes = 0;
+ for (i=0; ext3_suffixes[i] != NULL; i++)
+ sound_info->num_ext3_suffixes++;
+
sound_info->base_prefixes = base_prefixes;
sound_info->ext1_suffixes = ext1_suffixes;
sound_info->ext2_suffixes = ext2_suffixes;
+ sound_info->ext3_suffixes = ext3_suffixes;
sound_info->num_property_mapping_entries = 0;