void ForkedProcess (const char * file, float fade, int fd) { printf ("initing device drivers\n"); if (!FSOUND_Init(44100, 64, FSOUND_INIT_GLOBALFOCUS)) { printf("SOUND Error %d\n", FSOUND_GetError()); exit(1); } Music mus; mus.Load(file); if (mus.m) { mus.Play(fade); printf ("f0rked playing %s\n",file); while (!INET_BytesToRead(fd)) { if (AllDone) { printf ("song done\n"); mus.Free(); return; } } mus.Stop(); mus.Free(); } return; }
Music PlayMusic( const char *file, Music &oldmusic ) { Music music; music.Load( file ); if (music.m == NULL) { changehome( true, false ); music.Load( file ); changehome( false ); if (music.m == NULL) { changehome( true, true ); music.Load( file ); changehome( false ); if (music.m == NULL) return oldmusic; } } sende = false; music.Play( fadeout, fadein, oldmusic ); sende = true; curmus = file; invalid_string = false; return music; }